/home/techb158/balavpn.abdallabala.com/.next/cache/webpack/client-production
NameSizeModeActions
0.pack151902800666editdlrm
1.pack10575480666editdlrm
2.pack101655780666editdlrm
3.pack27605650666editdlrm
4.pack39280666editdlrm
5.pack534490666editdlrm
6.pack39280666editdlrm
7.pack39280666editdlrm
8.pack39280666editdlrm
9.pack222120666editdlrm
10.pack2434950666editdlrm
11.pack39280666editdlrm
12.pack39280666editdlrm
13.pack39280666editdlrm
14.pack27941130666editdlrm
15.pack404710666editdlrm
16.pack405510666editdlrm
17.pack4487160666editdlrm
index.pack38735700666editdlrm
index.pack.old38730950666editdlrm
Edit: /home/techb158/balavpn.abdallabala.com/.next/cache/webpack/client-production/2.pack (10165578B)
wpc>›§webpack/lib/cache/PackFileCacheStrategyPackContentItems €`2ÃCompilation/modules|javascript/auto|C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[16].oneOf[6].use[1]!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\src\components\ErrorBoundary.jsx|app-pages-browserËFlagDependencyExportsPlugin|javascript/auto|C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[16].oneOf[6].use[1]!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\src\components\ErrorBoundary.jsx|app-pages-browsertCompilation/codeGeneration|javascript/auto|C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5Cabd_b%5C%5COneDrive%5C%5CDesktop%5C%5CCOSMIC%20AI-Risk%20Dashboard%5C%5CStep%2012%20is%20complete%20Final%20QA%2C%20Demo%20Readiness%2C%20and%20Submission%20Freeze%5C%5Capplication%5C%5Csaas-app%5C%5Csrc%5C%5Capp%5C%5Cdashboard%5C%5Cpage.jsx%22%2C%22ids%22%3A%5B%5D%7D&server=false!|app-pages-browser|webpackCompilation/codeGeneration|javascript/auto|C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[16].oneOf[6].use[1]!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\client\components\http-access-fallback\error-boundary.js|app-pages-browser|webpackëCompilation/codeGeneration|javascript/auto|C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[16].oneOf[6].use[1]!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\client\components\layout-router.js|app-pages-browser|webpackõCompilation/codeGeneration|javascript/auto|C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[16].oneOf[6].use[1]!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\client\components\metadata\async-metadata.js|app-pages-browser|webpackúCompilation/codeGeneration|javascript/auto|C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[16].oneOf[6].use[1]!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\client\components\render-from-template-context.js|app-pages-browser|webpackÜCompilation/codeGeneration|javascript/auto|C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[16].oneOf[6].use[1]!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\client\app-index.js|app-pages-browser|webpackèCompilation/codeGeneration|javascript/auto|C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[16].oneOf[6].use[1]!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\client\components\app-router.js|app-pages-browser|webpackÍCompilation/codeGeneration|javascript/auto|C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[16].oneOf[6].use[1]!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\src\components\AppShell.jsx|app-pages-browser|webpackCompilation/codeGeneration|javascript/auto|C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\react\index.js|app-pages-browser|webpackòCompilation/codeGeneration|javascript/auto|C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[16].oneOf[6].use[1]!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\client\components\navigation-untracked.js|app-pages-browser|webpackøCompilation/codeGeneration|javascript/auto|C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[16].oneOf[6].use[1]!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\shared\lib\app-router-context.shared-runtime.js|app-pages-browser|webpackìCompilation/codeGeneration|javascript/auto|C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[16].oneOf[6].use[1]!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\client\components\error-boundary.js|app-pages-browser|webpackïCompilation/codeGeneration|javascript/auto|C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[16].oneOf[6].use[1]!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\client\components\redirect-boundary.js|app-pages-browser|webpackîCompilation/codeGeneration|javascript/auto|C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[16].oneOf[6].use[1]!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\client\components\use-action-queue.js|app-pages-browser|webpackåCompilation/codeGeneration|javascript/auto|C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[16].oneOf[6].use[1]!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\client\components\bfcache.js|app-pages-browser|webpackÉCompilation/codeGeneration|javascript/auto|C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[16].oneOf[6].use[1]!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\src\app\signup\page.jsx|app-pages-browser|webpackÈCompilation/codeGeneration|javascript/auto|C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[16].oneOf[6].use[1]!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\src\app\login\page.jsx|app-pages-browser|webpackúCompilation/codeGeneration|javascript/auto|C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[16].oneOf[6].use[1]!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\shared\lib\head-manager-context.shared-runtime.js|app-pages-browser|webpackâCompilation/codeGeneration|javascript/auto|C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[16].oneOf[6].use[1]!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\client\app-call-server.js|app-pages-browser|webpackñCompilation/codeGeneration|javascript/auto|C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[16].oneOf[6].use[1]!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\client\components\app-router-instance.js|app-pages-browser|webpackúCompilation/codeGeneration|javascript/auto|C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[16].oneOf[6].use[1]!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\shared\lib\hooks-client-context.shared-runtime.js|app-pages-browser|webpackòCompilation/codeGeneration|javascript/auto|C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[16].oneOf[6].use[1]!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\client\components\app-router-announcer.js|app-pages-browser|webpackñCompilation/codeGeneration|javascript/auto|C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[16].oneOf[6].use[1]!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\client\components\nav-failure-handler.js|app-pages-browser|webpackãCompilation/codeGeneration|javascript/auto|C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[16].oneOf[6].use[1]!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\client\components\links.js|app-pages-browser|webpackøCompilation/codeGeneration|javascript/auto|C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[16].oneOf[6].use[1]!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\client\components\errors\root-error-boundary.js|app-pages-browser|webpackCompilation/codeGeneration|javascript/auto|C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\react-dom\cjs\react-dom.production.js|app-pages-browser|webpackèCompilation/codeGeneration|javascript/auto|C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[16].oneOf[6].use[1]!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\client\components\navigation.js|app-pages-browser|webpack#Compilation/codeGeneration|javascript/auto|C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\react-dom\cjs\react-dom-client.production.js|app-pages-browser|webpackþCompilation/codeGeneration|javascript/auto|C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[16].oneOf[6].use[1]!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\client\components\errors\graceful-degrade-boundary.js|app-pages-browser|webpackúCompilation/codeGeneration|javascript/auto|C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[16].oneOf[6].use[1]!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\shared\lib\server-inserted-html.shared-runtime.js|app-pages-browser|webpack›Compilation/assets|chunk879œCompilation/assets|chunk4520œCompilation/assets|chunk1954œCompilation/assets|chunk8441œCompilation/assets|chunk1255ÇMinifierWebpackPlugin|static/chunks/app/signup/page-f0bca46caa2bad21.jsÆMinifierWebpackPlugin|static/chunks/app/login/page-6a72e3db97bb2dae.jsÌMinifierWebpackPlugin|static/chunks/app/dashboard/layout-af5a325692f12970.jsÀMinifierWebpackPlugin|static/chunks/4bd1b696-5cfc16bc6093d74c.js¼MinifierWebpackPlugin|static/chunks/1255-2d2abd935b8402c5.js¹MinifierWebpackPlugin|server/middleware-build-manifest.jsÏRealContentHashPlugin|analyse|static/chunks/app/signup/page-f0bca46caa2bad21.jsÎRealContentHashPlugin|analyse|static/chunks/app/login/page-6a72e3db97bb2dae.jsÔRealContentHashPlugin|analyse|static/chunks/app/dashboard/layout-af5a325692f12970.jsÈRealContentHashPlugin|analyse|static/chunks/4bd1b696-5cfc16bc6093d74c.jsÄRealContentHashPlugin|analyse|static/chunks/1255-2d2abd935b8402c5.jsÁRealContentHashPlugin|analyse|server/middleware-build-manifest.jsÂRealContentHashPlugin|generate|server/middleware-build-manifest.js˜webpack/lib/NormalModule«webpack/lib/util/registerExternalSerializer™webpack-sources/RawSource /* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; import { Component } from 'react'; class ErrorBoundary extends Component { static getDerivedStateFromError(error) { return { error }; } render() { if (this.state.error) { const { fallback } = this.props; if (fallback) return typeof fallback === 'function' ? fallback(this.state.error) : fallback; return /*#__PURE__*/ _jsxs("div", { className: "empty-state", children: [ /*#__PURE__*/ _jsx("div", { className: "empty-icon", children: "!" }), /*#__PURE__*/ _jsxs("p", { children: [ "Something went wrong in ", this.props.name || 'this section', "." ] }), /*#__PURE__*/ _jsx("p", { className: "muted", style: { fontSize: 12, marginTop: 4 }, children: this.state.error.message }), /*#__PURE__*/ _jsx("button", { className: "button secondary small", style: { marginTop: 12 }, onClick: ()=>{ var _this_props_onRetry, _this_props; this.setState({ error: null }); (_this_props_onRetry = (_this_props = this.props).onRetry) === null || _this_props_onRetry === void 0 ? void 0 : _this_props_onRetry.call(_this_props); }, children: "Retry" }) ] }); } return this.props.children; } constructor(props){ super(props); this.state = { error: null }; } } export { ErrorBoundary as default }; €‹exportsType‰namespace javascript/auto‘app-pages-browser C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\src\components€…aliasŽfullySpecifiedŠmainFieldsˆfallback`$Œserver-only$Œclient-only$Ÿnext/dist/compiled/client-only$žnext/dist/compiled/server-only«C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\head.js¬C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\image.js°C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\constants.js­C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\router.js®C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dynamic.js­C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\script.js«C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\link.js«C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\form.js±C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\navigation.js®C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\headers.js©C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\og.js­C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\server.js¯C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\document.jsªC:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\app.js†react$—react/compiler-runtime$–react/jsx-dev-runtime$’react/jsx-runtime$Šreact-dom$‘react-dom/client$‘react-dom/server$™react-dom/server.browser$–react-dom/server.edge$‘react-dom/static$™react-dom/static.browser$–react-dom/static.edge$ react-server-dom-webpack/client$ react-server-dom-webpack/server$¥react-server-dom-webpack/server.node$ react-server-dom-webpack/static$É@vercel/turbopack-ecmascript-runtime/browser/dev/hmr-client/hmr-client.ts„next¤next/dist/compiled/server-only/index¤next/dist/compiled/client-only/indexÿþ¥next/dist/client/components/noop-head“next/dist/api/image—next/dist/api/constants”next/dist/api/router™next/dist/api/app-dynamic”next/dist/api/scriptnext/dist/client/app-dir/linknext/dist/client/app-dir/form˜next/dist/api/navigation•next/dist/api/headersnext/dist/api/og”next/dist/api/server–next/dist/api/document‘next/dist/api/app˜next/dist/compiled/react©next/dist/compiled/react/compiler-runtime¨next/dist/compiled/react/jsx-dev-runtime¤next/dist/compiled/react/jsx-runtimeœnext/dist/compiled/react-dom£next/dist/compiled/react-dom/client«next/dist/compiled/react-dom/server.browserÿ±next/dist/build/webpack/alias/react-dom-server.js«next/dist/compiled/react-dom/static.browserÿ¨next/dist/compiled/react-dom/static.edgeºnext/dist/compiled/react-server-dom-webpack/client.browserºnext/dist/compiled/react-server-dom-webpack/server.browser·next/dist/compiled/react-server-dom-webpack/server.nodeºnext/dist/compiled/react-server-dom-webpack/static.browser§next/dist/client/dev/noop-turbopack-hmr£C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next ‡browser†module„main`†assert†buffer‰constants†crypto†domain„http…https‚os„pathˆpunycode‡process‹querystring†streamŽstring_decoderƒsys†timersƒtty„util‚vm„zlib†eventsŒsetImmediateÂC:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\assert\assert.jsÁC:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\buffer\index.jsÕC:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\constants-browserify\constants.jsonÌC:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\crypto-browserify\index.jsÉC:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\domain-browser\index.jsÆC:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\stream-http\index.jsËC:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\https-browserify\index.jsÊC:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\os-browserify\browser.jsÊC:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\path-browserify\index.jsÆC:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\punycode\punycode.jsÃC:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\polyfills\process.jsÊC:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\querystring-es3\index.jsÌC:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\stream-browserify\index.jsÒC:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\string_decoder\string_decoder.js¾C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\util\util.jsËC:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\timers-browserify\main.jsÉC:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\tty-browserify\index.jsýÈC:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\vm-browserify\index.jsÊC:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\browserify-zlib\index.jsÂC:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\events\events.jsÎC:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\setimmediate\setImmediate.js~ÿÿÿ`‰cacheable†parsedfileDependencies“contextDependencies“missingDependencies‘buildDependencies‘valueDependencies„hash†assetsŠassetsInfoƒrsc†strictexportsArgument”topLevelDeclarationsˆsnapshot ˜webpack/lib/util/LazySetâC:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.jsÑC:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js™webpack/DefinePlugin_hashˆff9a23f213029b9a52da45c5„type‰actionIds‹isClientRef†client  “__webpack_exports__€ErrorBoundaryšwebpack/lib/FileSystemInfoˆSnapshot 0Am‡óyB²C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\src\components\ErrorBoundary.jsxˆsafeTime‰timestampä!°ý_‡óyB ý_‡óyB4452e052ea27cad6·webpack/lib/dependencies/HarmonyCompatibilityDependency dÿÿý¨webpack/lib/dependencies/ConstDependency€a=| b=|€`}@Ÿ `"¶webpack/lib/dependencies/HarmonyExportHeaderDependencyAè  c==$ ºwebpack/lib/dependencies/HarmonyImportSideEffectDependency‘react/jsx-runtimeÿ b=|…reactÿ `"¹webpack/lib/dependencies/HarmonyImportSpecifierDependency ‰Componentþ A¼Å túúþ b% „jsxs…_jsxs A  òòþ c ! & ƒjsx„_jsx A†Š  ììþ c"& ôõ A%*  èèþ c"' ö÷ AAE  ääþ c"& òó A}  ààþ c#"#&¹webpack/lib/dependencies/HarmonyExportSpecifierDependency`̇default c==$ —webpack/lib/ModuleGraph“RestoreProvidedData   „nameˆprovidedcanMangleProvideterminalBinding‹exportsInfoõ   ‡sources“runtimeRequirements„dataŠjavascript«webpack/lib/util/registerExternalSerializerœwebpack-sources/CachedSource ã«webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSource«webpack/lib/util/registerExternalSerializer™webpack-sources/RawSourceßimport(/* webpackMode: "eager" */ "C:\\Users\\abd_b\\OneDrive\\Desktop\\COSMIC AI-Risk Dashboard\\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\\application\\saas-app\\src\\app\\dashboard\\page.jsx"); @ÜßPromise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 3399))  nÿÿÿ†source„size„mapsŸaPromise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 3399)); ”{"finalSource":true}  ƒmap‹bufferedMap  ReplaceSourceRawSourceßimport(/* webpackMode: "eager" */ "C:\\Users\\abd_b\\OneDrive\\Desktop\\COSMIC AI-Risk Dashboard\\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\\application\\saas-app\\src\\app\\dashboard\\page.jsx"); l0220Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 3399))undefined “__webpack_require__ èé «webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSource«webpack/lib/util/registerExternalSerializer™webpack-sources/RawSourceS/* __next_internal_client_entry_do_not_use__ cjs */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "HTTPAccessFallbackBoundary", { enumerable: true, get: function() { return HTTPAccessFallbackBoundary; } }); const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard"); const _jsxruntime = require("react/jsx-runtime"); const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react")); const _navigationuntracked = require("../navigation-untracked"); const _httpaccessfallback = require("./http-access-fallback"); const _warnonce = require("../../../shared/lib/utils/warn-once"); const _approutercontextsharedruntime = require("../../../shared/lib/app-router-context.shared-runtime"); class HTTPAccessFallbackErrorBoundary extends _react.default.Component { componentDidCatch() { if ("production" === 'development' && this.props.missingSlots && this.props.missingSlots.size > 0 && // A missing children slot is the typical not-found case, so no need to warn !this.props.missingSlots.has('children')) { let warningMessage = 'No default component was found for a parallel route rendered on this page. Falling back to nearest NotFound boundary.\n' + 'Learn more: https://nextjs.org/docs/app/building-your-application/routing/parallel-routes#defaultjs\n\n'; const formattedSlots = Array.from(this.props.missingSlots).sort((a, b)=>a.localeCompare(b)).map((slot)=>"@" + slot).join(', '); warningMessage += 'Missing slots: ' + formattedSlots; (0, _warnonce.warnOnce)(warningMessage); } } static getDerivedStateFromError(error) { if ((0, _httpaccessfallback.isHTTPAccessFallbackError)(error)) { const httpStatus = (0, _httpaccessfallback.getAccessFallbackHTTPStatus)(error); return { triggeredStatus: httpStatus }; } // Re-throw if error is not for 404 throw error; } static getDerivedStateFromProps(props, state) { /** * Handles reset of the error boundary when a navigation happens. * Ensures the error boundary does not stay enabled when navigating to a new page. * Approach of setState in render is safe as it checks the previous pathname and then overrides * it as outlined in https://react.dev/reference/react/useState#storing-information-from-previous-renders */ if (props.pathname !== state.previousPathname && state.triggeredStatus) { return { triggeredStatus: undefined, previousPathname: props.pathname }; } return { triggeredStatus: state.triggeredStatus, previousPathname: props.pathname }; } render() { const { notFound, forbidden, unauthorized, children } = this.props; const { triggeredStatus } = this.state; const errorComponents = { [_httpaccessfallback.HTTPAccessErrorStatus.NOT_FOUND]: notFound, [_httpaccessfallback.HTTPAccessErrorStatus.FORBIDDEN]: forbidden, [_httpaccessfallback.HTTPAccessErrorStatus.UNAUTHORIZED]: unauthorized }; if (triggeredStatus) { const isNotFound = triggeredStatus === _httpaccessfallback.HTTPAccessErrorStatus.NOT_FOUND && notFound; const isForbidden = triggeredStatus === _httpaccessfallback.HTTPAccessErrorStatus.FORBIDDEN && forbidden; const isUnauthorized = triggeredStatus === _httpaccessfallback.HTTPAccessErrorStatus.UNAUTHORIZED && unauthorized; // If there's no matched boundary in this layer, keep throwing the error by rendering the children if (!(isNotFound || isForbidden || isUnauthorized)) { return children; } return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, { children: [ /*#__PURE__*/ (0, _jsxruntime.jsx)("meta", { name: "robots", content: "noindex" }), "production" === 'development' && /*#__PURE__*/ (0, _jsxruntime.jsx)("meta", { name: "boundary-next-error", content: (0, _httpaccessfallback.getAccessFallbackErrorTypeByStatus)(triggeredStatus) }), errorComponents[triggeredStatus] ] }); } return children; } constructor(props){ super(props); this.state = { triggeredStatus: undefined, previousPathname: props.pathname }; } } function HTTPAccessFallbackBoundary(param) { let { notFound, forbidden, unauthorized, children } = param; // When we're rendering the missing params shell, this will return null. This // is because we won't be rendering any not found boundaries or error // boundaries for the missing params shell. When this runs on the client // (where these error can occur), we will get the correct pathname. const pathname = (0, _navigationuntracked.useUntrackedPathname)(); const missingSlots = (0, _react.useContext)(_approutercontextsharedruntime.MissingSlotContext); const hasErrorFallback = !!(notFound || forbidden || unauthorized); if (hasErrorFallback) { return /*#__PURE__*/ (0, _jsxruntime.jsx)(HTTPAccessFallbackErrorBoundary, { pathname: pathname, notFound: notFound, forbidden: forbidden, unauthorized: unauthorized, missingSlots: missingSlots, children: children }); } return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, { children: children }); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=error-boundary.js.map d5ACo_ƒƒ†Â##HNPy‘—™«èîðö 8X^`w“•¹äêIì"•ruŠMj}T€®Object.defineProperty(exports, "__esModule", (‚))¾Object.defineProperty(exports, "HTTPAccessFallbackBoundary", (þ“__webpack_require__„9417þ„5155ý„2115ü„1486û„7099ú„4781ù„6752…false‚{}† false0 í /* __next_internal_client_entry_do_not_use__ cjs */ Object.defineProperty(exports, "__esModule", ({ value: true })); Object.defineProperty(exports, "HTTPAccessFallbackBoundary", ({ enumerable: true, get: function() { return HTTPAccessFallbackBoundary; } })); const _interop_require_wildcard = __webpack_require__(9417); const _jsxruntime = __webpack_require__(5155); const _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(2115)); const _navigationuntracked = __webpack_require__(1486); const _httpaccessfallback = __webpack_require__(7099); const _warnonce = __webpack_require__(4781); const _approutercontextsharedruntime = __webpack_require__(6752); class HTTPAccessFallbackErrorBoundary extends _react.default.Component { componentDidCatch() { if (false) {} } static getDerivedStateFromError(error) { if ((0, _httpaccessfallback.isHTTPAccessFallbackError)(error)) { const httpStatus = (0, _httpaccessfallback.getAccessFallbackHTTPStatus)(error); return { triggeredStatus: httpStatus }; } // Re-throw if error is not for 404 throw error; } static getDerivedStateFromProps(props, state) { /** * Handles reset of the error boundary when a navigation happens. * Ensures the error boundary does not stay enabled when navigating to a new page. * Approach of setState in render is safe as it checks the previous pathname and then overrides * it as outlined in https://react.dev/reference/react/useState#storing-information-from-previous-renders */ if (props.pathname !== state.previousPathname && state.triggeredStatus) { return { triggeredStatus: undefined, previousPathname: props.pathname }; } return { triggeredStatus: state.triggeredStatus, previousPathname: props.pathname }; } render() { const { notFound, forbidden, unauthorized, children } = this.props; const { triggeredStatus } = this.state; const errorComponents = { [_httpaccessfallback.HTTPAccessErrorStatus.NOT_FOUND]: notFound, [_httpaccessfallback.HTTPAccessErrorStatus.FORBIDDEN]: forbidden, [_httpaccessfallback.HTTPAccessErrorStatus.UNAUTHORIZED]: unauthorized }; if (triggeredStatus) { const isNotFound = triggeredStatus === _httpaccessfallback.HTTPAccessErrorStatus.NOT_FOUND && notFound; const isForbidden = triggeredStatus === _httpaccessfallback.HTTPAccessErrorStatus.FORBIDDEN && forbidden; const isUnauthorized = triggeredStatus === _httpaccessfallback.HTTPAccessErrorStatus.UNAUTHORIZED && unauthorized; // If there's no matched boundary in this layer, keep throwing the error by rendering the children if (!(isNotFound || isForbidden || isUnauthorized)) { return children; } return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, { children: [ /*#__PURE__*/ (0, _jsxruntime.jsx)("meta", { name: "robots", content: "noindex" }), false && /*#__PURE__*/ 0, errorComponents[triggeredStatus] ] }); } return children; } constructor(props){ super(props); this.state = { triggeredStatus: undefined, previousPathname: props.pathname }; } } function HTTPAccessFallbackBoundary(param) { let { notFound, forbidden, unauthorized, children } = param; // When we're rendering the missing params shell, this will return null. This // is because we won't be rendering any not found boundaries or error // boundaries for the missing params shell. When this runs on the client // (where these error can occur), we will get the correct pathname. const pathname = (0, _navigationuntracked.useUntrackedPathname)(); const missingSlots = (0, _react.useContext)(_approutercontextsharedruntime.MissingSlotContext); const hasErrorFallback = !!(notFound || forbidden || unauthorized); if (hasErrorFallback) { return /*#__PURE__*/ (0, _jsxruntime.jsx)(HTTPAccessFallbackErrorBoundary, { pathname: pathname, notFound: notFound, forbidden: forbidden, unauthorized: unauthorized, missingSlots: missingSlots, children: children }); } return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, { children: children }); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=error-boundary.js.map î ñ  òS/* __next_internal_client_entry_do_not_use__ cjs */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "HTTPAccessFallbackBoundary", { enumerable: true, get: function() { return HTTPAccessFallbackBoundary; } }); const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard"); const _jsxruntime = require("react/jsx-runtime"); const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react")); const _navigationuntracked = require("../navigation-untracked"); const _httpaccessfallback = require("./http-access-fallback"); const _warnonce = require("../../../shared/lib/utils/warn-once"); const _approutercontextsharedruntime = require("../../../shared/lib/app-router-context.shared-runtime"); class HTTPAccessFallbackErrorBoundary extends _react.default.Component { componentDidCatch() { if ("production" === 'development' && this.props.missingSlots && this.props.missingSlots.size > 0 && // A missing children slot is the typical not-found case, so no need to warn !this.props.missingSlots.has('children')) { let warningMessage = 'No default component was found for a parallel route rendered on this page. Falling back to nearest NotFound boundary.\n' + 'Learn more: https://nextjs.org/docs/app/building-your-application/routing/parallel-routes#defaultjs\n\n'; const formattedSlots = Array.from(this.props.missingSlots).sort((a, b)=>a.localeCompare(b)).map((slot)=>"@" + slot).join(', '); warningMessage += 'Missing slots: ' + formattedSlots; (0, _warnonce.warnOnce)(warningMessage); } } static getDerivedStateFromError(error) { if ((0, _httpaccessfallback.isHTTPAccessFallbackError)(error)) { const httpStatus = (0, _httpaccessfallback.getAccessFallbackHTTPStatus)(error); return { triggeredStatus: httpStatus }; } // Re-throw if error is not for 404 throw error; } static getDerivedStateFromProps(props, state) { /** * Handles reset of the error boundary when a navigation happens. * Ensures the error boundary does not stay enabled when navigating to a new page. * Approach of setState in render is safe as it checks the previous pathname and then overrides * it as outlined in https://react.dev/reference/react/useState#storing-information-from-previous-renders */ if (props.pathname !== state.previousPathname && state.triggeredStatus) { return { triggeredStatus: undefined, previousPathname: props.pathname }; } return { triggeredStatus: state.triggeredStatus, previousPathname: props.pathname }; } render() { const { notFound, forbidden, unauthorized, children } = this.props; const { triggeredStatus } = this.state; const errorComponents = { [_httpaccessfallback.HTTPAccessErrorStatus.NOT_FOUND]: notFound, [_httpaccessfallback.HTTPAccessErrorStatus.FORBIDDEN]: forbidden, [_httpaccessfallback.HTTPAccessErrorStatus.UNAUTHORIZED]: unauthorized }; if (triggeredStatus) { const isNotFound = triggeredStatus === _httpaccessfallback.HTTPAccessErrorStatus.NOT_FOUND && notFound; const isForbidden = triggeredStatus === _httpaccessfallback.HTTPAccessErrorStatus.FORBIDDEN && forbidden; const isUnauthorized = triggeredStatus === _httpaccessfallback.HTTPAccessErrorStatus.UNAUTHORIZED && unauthorized; // If there's no matched boundary in this layer, keep throwing the error by rendering the children if (!(isNotFound || isForbidden || isUnauthorized)) { return children; } return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, { children: [ /*#__PURE__*/ (0, _jsxruntime.jsx)("meta", { name: "robots", content: "noindex" }), "production" === 'development' && /*#__PURE__*/ (0, _jsxruntime.jsx)("meta", { name: "boundary-next-error", content: (0, _httpaccessfallback.getAccessFallbackErrorTypeByStatus)(triggeredStatus) }), errorComponents[triggeredStatus] ] }); } return children; } constructor(props){ super(props); this.state = { triggeredStatus: undefined, previousPathname: props.pathname }; } } function HTTPAccessFallbackBoundary(param) { let { notFound, forbidden, unauthorized, children } = param; // When we're rendering the missing params shell, this will return null. This // is because we won't be rendering any not found boundaries or error // boundaries for the missing params shell. When this runs on the client // (where these error can occur), we will get the correct pathname. const pathname = (0, _navigationuntracked.useUntrackedPathname)(); const missingSlots = (0, _react.useContext)(_approutercontextsharedruntime.MissingSlotContext); const hasErrorFallback = !!(notFound || forbidden || unauthorized); if (hasErrorFallback) { return /*#__PURE__*/ (0, _jsxruntime.jsx)(HTTPAccessFallbackErrorBoundary, { pathname: pathname, notFound: notFound, forbidden: forbidden, unauthorized: unauthorized, missingSlots: missingSlots, children: children }); } return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, { children: children }); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=error-boundary.js.map |5365undefined67111Object.defineProperty(exports, "__esModule", (undefined131131))undefined134194Object.defineProperty(exports, "HTTPAccessFallbackBoundary", (undefined291291))undefined328334__webpack_require__undefined3363779417undefined401407__webpack_require__undefined4094275155undefined488494__webpack_require__undefined4965022115undefined536542__webpack_require__undefined5445681486undefined600606__webpack_require__undefined6086317099undefined653659__webpack_require__undefined6616974781undefined740746__webpack_require__undefined7488026752undefined9171138falseundefined11411674{}undefined41734202 falseundefined422144360undefined ™Kÿÿÿó ÜÝ p«webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSource«webpack/lib/util/registerExternalSerializer™webpack-sources/RawSource=l/* __next_internal_client_entry_do_not_use__ cjs */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, /** * OuterLayoutRouter handles the current segment as well as rendering of other segments. * It can be rendered next to each other with a different `parallelRouterKey`, allowing for Parallel routes. */ "default", { enumerable: true, get: function() { return OuterLayoutRouter; } }); const _interop_require_default = require("@swc/helpers/_/_interop_require_default"); const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard"); const _jsxruntime = require("react/jsx-runtime"); const _routerreducertypes = require("./router-reducer/router-reducer-types"); const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react")); const _reactdom = /*#__PURE__*/ _interop_require_default._(require("react-dom")); const _approutercontextsharedruntime = require("../../shared/lib/app-router-context.shared-runtime"); const _fetchserverresponse = require("./router-reducer/fetch-server-response"); const _unresolvedthenable = require("./unresolved-thenable"); const _errorboundary = require("./error-boundary"); const _matchsegments = require("./match-segments"); const _disablesmoothscroll = require("../../shared/lib/router/utils/disable-smooth-scroll"); const _redirectboundary = require("./redirect-boundary"); const _errorboundary1 = require("./http-access-fallback/error-boundary"); const _createroutercachekey = require("./router-reducer/create-router-cache-key"); const _hasinterceptionrouteincurrenttree = require("./router-reducer/reducers/has-interception-route-in-current-tree"); const _useactionqueue = require("./use-action-queue"); const _bfcache = require("./bfcache"); const _apppaths = require("../../shared/lib/router/utils/app-paths"); const Activity = process.env.__NEXT_ROUTER_BF_CACHE ? require('react').unstable_Activity : null; /** * Add refetch marker to router state at the point of the current layout segment. * This ensures the response returned is not further down than the current layout segment. */ function walkAddRefetch(segmentPathToWalk, treeToRecreate) { if (segmentPathToWalk) { const [segment, parallelRouteKey] = segmentPathToWalk; const isLast = segmentPathToWalk.length === 2; if ((0, _matchsegments.matchSegment)(treeToRecreate[0], segment)) { if (treeToRecreate[1].hasOwnProperty(parallelRouteKey)) { if (isLast) { const subTree = walkAddRefetch(undefined, treeToRecreate[1][parallelRouteKey]); return [ treeToRecreate[0], { ...treeToRecreate[1], [parallelRouteKey]: [ subTree[0], subTree[1], subTree[2], 'refetch' ] } ]; } return [ treeToRecreate[0], { ...treeToRecreate[1], [parallelRouteKey]: walkAddRefetch(segmentPathToWalk.slice(2), treeToRecreate[1][parallelRouteKey]) } ]; } } } return treeToRecreate; } const __DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = _reactdom.default.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE; // TODO-APP: Replace with new React API for finding dom nodes without a `ref` when available /** * Wraps ReactDOM.findDOMNode with additional logic to hide React Strict Mode warning */ function findDOMNode(instance) { // Tree-shake for server bundle if ("object" === 'undefined') return null; // __DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE.findDOMNode is null during module init. // We need to lazily reference it. const internal_reactDOMfindDOMNode = __DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE.findDOMNode; return internal_reactDOMfindDOMNode(instance); } const rectProperties = [ 'bottom', 'height', 'left', 'right', 'top', 'width', 'x', 'y' ]; /** * Check if a HTMLElement is hidden or fixed/sticky position */ function shouldSkipElement(element) { // we ignore fixed or sticky positioned elements since they'll likely pass the "in-viewport" check // and will result in a situation we bail on scroll because of something like a fixed nav, // even though the actual page content is offscreen if ([ 'sticky', 'fixed' ].includes(getComputedStyle(element).position)) { if ("production" === 'development') { console.warn('Skipping auto-scroll behavior due to `position: sticky` or `position: fixed` on element:', element); } return true; } // Uses `getBoundingClientRect` to check if the element is hidden instead of `offsetParent` // because `offsetParent` doesn't consider document/body const rect = element.getBoundingClientRect(); return rectProperties.every((item)=>rect[item] === 0); } /** * Check if the top corner of the HTMLElement is in the viewport. */ function topOfElementInViewport(element, viewportHeight) { const rect = element.getBoundingClientRect(); return rect.top >= 0 && rect.top <= viewportHeight; } /** * Find the DOM node for a hash fragment. * If `top` the page has to scroll to the top of the page. This mirrors the browser's behavior. * If the hash fragment is an id, the page has to scroll to the element with that id. * If the hash fragment is a name, the page has to scroll to the first element with that name. */ function getHashFragmentDomNode(hashFragment) { // If the hash fragment is `top` the page has to scroll to the top of the page. if (hashFragment === 'top') { return document.body; } var _document_getElementById; // If the hash fragment is an id, the page has to scroll to the element with that id. return (_document_getElementById = document.getElementById(hashFragment)) != null ? _document_getElementById : document.getElementsByName(hashFragment)[0]; } class InnerScrollAndFocusHandler extends _react.default.Component { componentDidMount() { this.handlePotentialScroll(); } componentDidUpdate() { // Because this property is overwritten in handlePotentialScroll it's fine to always run it when true as it'll be set to false for subsequent renders. if (this.props.focusAndScrollRef.apply) { this.handlePotentialScroll(); } } render() { return this.props.children; } constructor(...args){ super(...args), this.handlePotentialScroll = ()=>{ // Handle scroll and focus, it's only applied once in the first useEffect that triggers that changed. const { focusAndScrollRef, segmentPath } = this.props; if (focusAndScrollRef.apply) { // segmentPaths is an array of segment paths that should be scrolled to // if the current segment path is not in the array, the scroll is not applied // unless the array is empty, in which case the scroll is always applied if (focusAndScrollRef.segmentPaths.length !== 0 && !focusAndScrollRef.segmentPaths.some((scrollRefSegmentPath)=>segmentPath.every((segment, index)=>(0, _matchsegments.matchSegment)(segment, scrollRefSegmentPath[index])))) { return; } let domNode = null; const hashFragment = focusAndScrollRef.hashFragment; if (hashFragment) { domNode = getHashFragmentDomNode(hashFragment); } // `findDOMNode` is tricky because it returns just the first child if the component is a fragment. // This already caused a bug where the first child was a in head. if (!domNode) { domNode = findDOMNode(this); } // If there is no DOM node this layout-router level is skipped. It'll be handled higher-up in the tree. if (!(domNode instanceof Element)) { return; } // Verify if the element is a HTMLElement and if we want to consider it for scroll behavior. // If the element is skipped, try to select the next sibling and try again. while(!(domNode instanceof HTMLElement) || shouldSkipElement(domNode)){ if ("production" !== 'production') { var _domNode_parentElement; if (((_domNode_parentElement = domNode.parentElement) == null ? void 0 : _domNode_parentElement.localName) === 'head') { // TODO: We enter this state when metadata was rendered as part of the page or via Next.js. // This is always a bug in Next.js and caused by React hoisting metadata. // We need to replace `findDOMNode` in favor of Fragment Refs (when available) so that we can skip over metadata. } } // No siblings found that match the criteria are found, so handle scroll higher up in the tree instead. if (domNode.nextElementSibling === null) { return; } domNode = domNode.nextElementSibling; } // State is mutated to ensure that the focus and scroll is applied only once. focusAndScrollRef.apply = false; focusAndScrollRef.hashFragment = null; focusAndScrollRef.segmentPaths = []; (0, _disablesmoothscroll.disableSmoothScrollDuringRouteTransition)(()=>{ // In case of hash scroll, we only need to scroll the element into view if (hashFragment) { ; domNode.scrollIntoView(); return; } // Store the current viewport height because reading `clientHeight` causes a reflow, // and it won't change during this function. const htmlElement = document.documentElement; const viewportHeight = htmlElement.clientHeight; // If the element's top edge is already in the viewport, exit early. if (topOfElementInViewport(domNode, viewportHeight)) { return; } // Otherwise, try scrolling go the top of the document to be backward compatible with pages // scrollIntoView() called on `` element scrolls horizontally on chrome and firefox (that shouldn't happen) // We could use it to scroll horizontally following RTL but that also seems to be broken - it will always scroll left // scrollLeft = 0 also seems to ignore RTL and manually checking for RTL is too much hassle so we will scroll just vertically htmlElement.scrollTop = 0; // Scroll to domNode if domNode is not in viewport when scrolled to top of document if (!topOfElementInViewport(domNode, viewportHeight)) { // Scroll into view doesn't scroll horizontally by default when not needed ; domNode.scrollIntoView(); } }, { // We will force layout by querying domNode position dontForceLayout: true, onlyHashChange: focusAndScrollRef.onlyHashChange }); // Mutate after scrolling so that it can be read by `disableSmoothScrollDuringRouteTransition` focusAndScrollRef.onlyHashChange = false; // Set focus on the element domNode.focus(); } }; } } function ScrollAndFocusHandler(param) { let { segmentPath, children } = param; const context = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext); if (!context) { throw Object.defineProperty(new Error('invariant global layout router not mounted'), "__NEXT_ERROR_CODE", { value: "E473", enumerable: false, configurable: true }); } return /*#__PURE__*/ (0, _jsxruntime.jsx)(InnerScrollAndFocusHandler, { segmentPath: segmentPath, focusAndScrollRef: context.focusAndScrollRef, children: children }); } /** * InnerLayoutRouter handles rendering the provided segment based on the cache. */ function InnerLayoutRouter(param) { let { tree, segmentPath, cacheNode, url } = param; const context = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext); if (!context) { throw Object.defineProperty(new Error('invariant global layout router not mounted'), "__NEXT_ERROR_CODE", { value: "E473", enumerable: false, configurable: true }); } const { tree: fullTree } = context; // `rsc` represents the renderable node for this segment. // If this segment has a `prefetchRsc`, it's the statically prefetched data. // We should use that on initial render instead of `rsc`. Then we'll switch // to `rsc` when the dynamic response streams in. // // If no prefetch data is available, then we go straight to rendering `rsc`. const resolvedPrefetchRsc = cacheNode.prefetchRsc !== null ? cacheNode.prefetchRsc : cacheNode.rsc; // We use `useDeferredValue` to handle switching between the prefetched and // final values. The second argument is returned on initial render, then it // re-renders with the first argument. const rsc = (0, _react.useDeferredValue)(cacheNode.rsc, resolvedPrefetchRsc); // `rsc` is either a React node or a promise for a React node, except we // special case `null` to represent that this segment's data is missing. If // it's a promise, we need to unwrap it so we can determine whether or not the // data is missing. const resolvedRsc = typeof rsc === 'object' && rsc !== null && typeof rsc.then === 'function' ? (0, _react.use)(rsc) : rsc; if (!resolvedRsc) { // The data for this segment is not available, and there's no pending // navigation that will be able to fulfill it. We need to fetch more from // the server and patch the cache. // Check if there's already a pending request. let lazyData = cacheNode.lazyData; if (lazyData === null) { /** * Router state with refetch marker added */ // TODO-APP: remove '' const refetchTree = walkAddRefetch([ '', ...segmentPath ], fullTree); const includeNextUrl = (0, _hasinterceptionrouteincurrenttree.hasInterceptionRouteInCurrentTree)(fullTree); const navigatedAt = Date.now(); cacheNode.lazyData = lazyData = (0, _fetchserverresponse.fetchServerResponse)(new URL(url, location.origin), { flightRouterState: refetchTree, nextUrl: includeNextUrl ? context.nextUrl : null }).then((serverResponse)=>{ (0, _react.startTransition)(()=>{ (0, _useactionqueue.dispatchAppRouterAction)({ type: _routerreducertypes.ACTION_SERVER_PATCH, previousTree: fullTree, serverResponse, navigatedAt }); }); return serverResponse; }); // Suspend while waiting for lazyData to resolve (0, _react.use)(lazyData); } // Suspend infinitely as `changeByServerResponse` will cause a different part of the tree to be rendered. // A falsey `resolvedRsc` indicates missing data -- we should not commit that branch, and we need to wait for the data to arrive. (0, _react.use)(_unresolvedthenable.unresolvedThenable); } // If we get to this point, then we know we have something we can render. const subtree = /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.LayoutRouterContext.Provider, { value: { parentTree: tree, parentCacheNode: cacheNode, parentSegmentPath: segmentPath, // TODO-APP: overriding of url for parallel routes url: url }, children: resolvedRsc }); // Ensure root layout is not wrapped in a div as the root layout renders `` return subtree; } /** * Renders suspense boundary with the provided "loading" property as the fallback. * If no loading property is provided it renders the children without a suspense boundary. */ function LoadingBoundary(param) { let { loading, children } = param; // If loading is a promise, unwrap it. This happens in cases where we haven't // yet received the loading data from the server — which includes whether or // not this layout has a loading component at all. // // It's OK to suspend here instead of inside the fallback because this // promise will resolve simultaneously with the data for the segment itself. // So it will never suspend for longer than it would have if we didn't use // a Suspense fallback at all. let loadingModuleData; if (typeof loading === 'object' && loading !== null && typeof loading.then === 'function') { const promiseForLoading = loading; loadingModuleData = (0, _react.use)(promiseForLoading); } else { loadingModuleData = loading; } if (loadingModuleData) { const loadingRsc = loadingModuleData[0]; const loadingStyles = loadingModuleData[1]; const loadingScripts = loadingModuleData[2]; return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.Suspense, { fallback: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, { children: [ loadingStyles, loadingScripts, loadingRsc ] }), children: children }); } return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, { children: children }); } function OuterLayoutRouter(param) { let { parallelRouterKey, error, errorStyles, errorScripts, templateStyles, templateScripts, template, notFound, forbidden, unauthorized, segmentViewBoundaries } = param; const context = (0, _react.useContext)(_approutercontextsharedruntime.LayoutRouterContext); if (!context) { throw Object.defineProperty(new Error('invariant expected layout router to be mounted'), "__NEXT_ERROR_CODE", { value: "E56", enumerable: false, configurable: true }); } const { parentTree, parentCacheNode, parentSegmentPath, url } = context; // Get the CacheNode for this segment by reading it from the parent segment's // child map. const parentParallelRoutes = parentCacheNode.parallelRoutes; let segmentMap = parentParallelRoutes.get(parallelRouterKey); // If the parallel router cache node does not exist yet, create it. // This writes to the cache when there is no item in the cache yet. It never *overwrites* existing cache items which is why it's safe in concurrent mode. if (!segmentMap) { segmentMap = new Map(); parentParallelRoutes.set(parallelRouterKey, segmentMap); } const parentTreeSegment = parentTree[0]; const segmentPath = parentSegmentPath === null ? // the code. We should clean this up. [ parallelRouterKey ] : parentSegmentPath.concat([ parentTreeSegment, parallelRouterKey ]); // The "state" key of a segment is the one passed to React — it represents the // identity of the UI tree. Whenever the state key changes, the tree is // recreated and the state is reset. In the App Router model, search params do // not cause state to be lost, so two segments with the same segment path but // different search params should have the same state key. // // The "cache" key of a segment, however, *does* include the search params, if // it's possible that the segment accessed the search params on the server. // (This only applies to page segments; layout segments cannot access search // params on the server.) const activeTree = parentTree[1][parallelRouterKey]; const activeSegment = activeTree[0]; const activeStateKey = (0, _createroutercachekey.createRouterCacheKey)(activeSegment, true) // no search params ; // At each level of the route tree, not only do we render the currently // active segment — we also render the last N segments that were active at // this level inside a hidden boundary, to preserve their state // if or when the user navigates to them again. // // bfcacheEntry is a linked list of FlightRouterStates. let bfcacheEntry = (0, _bfcache.useRouterBFCache)(activeTree, activeStateKey); let children = []; do { const tree = bfcacheEntry.tree; const stateKey = bfcacheEntry.stateKey; const segment = tree[0]; const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segment); // Read segment path from the parallel router cache node. let cacheNode = segmentMap.get(cacheKey); if (cacheNode === undefined) { // When data is not available during rendering client-side we need to fetch // it from the server. const newLazyCacheNode = { lazyData: null, rsc: null, prefetchRsc: null, head: null, prefetchHead: null, parallelRoutes: new Map(), loading: null, navigatedAt: -1 }; // Flight data fetch kicked off during render and put into the cache. cacheNode = newLazyCacheNode; segmentMap.set(cacheKey, newLazyCacheNode); } /* - Error boundary - Only renders error boundary if error component is provided. - Rendered for each segment to ensure they have their own error state. - When gracefully degrade for bots, skip rendering error boundary. - Loading boundary - Only renders suspense boundary if loading components is provided. - Rendered for each segment to ensure they have their own loading state. - Passed to the router during rendering to ensure it can be immediately rendered when suspending on a Flight fetch. */ let segmentBoundaryTriggerNode = null; let segmentViewStateNode = null; if ("production" !== 'production' && process.env.__NEXT_DEVTOOL_SEGMENT_EXPLORER) { const { SegmentBoundaryTriggerNode, SegmentViewStateNode } = require('../../next-devtools/userspace/app/segment-explorer-node'); const pagePrefix = (0, _apppaths.normalizeAppPath)(url); segmentViewStateNode = /*#__PURE__*/ (0, _jsxruntime.jsx)(SegmentViewStateNode, { page: pagePrefix }, pagePrefix); segmentBoundaryTriggerNode = /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, { children: /*#__PURE__*/ (0, _jsxruntime.jsx)(SegmentBoundaryTriggerNode, {}) }); } // TODO: The loading module data for a segment is stored on the parent, then // applied to each of that parent segment's parallel route slots. In the // simple case where there's only one parallel route (the `children` slot), // this is no different from if the loading module data where stored on the // child directly. But I'm not sure this actually makes sense when there are // multiple parallel routes. It's not a huge issue because you always have // the option to define a narrower loading boundary for a particular slot. But // this sort of smells like an implementation accident to me. const loadingModuleData = parentCacheNode.loading; let child = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_approutercontextsharedruntime.TemplateContext.Provider, { value: /*#__PURE__*/ (0, _jsxruntime.jsxs)(ScrollAndFocusHandler, { segmentPath: segmentPath, children: [ /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary.ErrorBoundary, { errorComponent: error, errorStyles: errorStyles, errorScripts: errorScripts, children: /*#__PURE__*/ (0, _jsxruntime.jsx)(LoadingBoundary, { loading: loadingModuleData, children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary1.HTTPAccessFallbackBoundary, { notFound: notFound, forbidden: forbidden, unauthorized: unauthorized, children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_redirectboundary.RedirectBoundary, { children: [ /*#__PURE__*/ (0, _jsxruntime.jsx)(InnerLayoutRouter, { url: url, tree: tree, cacheNode: cacheNode, segmentPath: segmentPath }), segmentBoundaryTriggerNode ] }) }) }) }), segmentViewStateNode ] }), children: [ templateStyles, templateScripts, template ] }, stateKey); if ("production" !== 'production') { const { SegmentStateProvider } = require('../../next-devtools/userspace/app/segment-explorer-node'); child = /*#__PURE__*/ (0, _jsxruntime.jsxs)(SegmentStateProvider, { children: [ child, segmentViewBoundaries ] }, stateKey); } if (process.env.__NEXT_ROUTER_BF_CACHE) { child = /*#__PURE__*/ (0, _jsxruntime.jsx)(Activity, { mode: stateKey === activeStateKey ? 'visible' : 'hidden', children: child }, stateKey); } children.push(child); bfcacheEntry = bfcacheEntry.next; }while (bfcacheEntry !== null); return children; } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=layout-router.js.map d95ACo_ƒƒ†‰áá  5[acŒ¤ª¬¾Þäæ IOQW—Ÿ©ÕÛ_Ý179`€†ˆž¹¿ÁÒíóõ'-/c‡‰¹¿Áç _:ioq²ÎÔÖéþ&,.VkŒ±*ADOÝúý†A"]"M`"µ$ÃZ[[Y]»g×gÚg2i@iaidi5j€®Object.defineProperty(exports, "__esModule", (‚))«Object.defineProperty(exports, "default", (þ“__webpack_require__„8140þ„9417ý„5155ü„6871û„2115ú„7650ù„6752ø„2753÷„8359ö„8785õ„7460ô„4170óƒ531ò„3886ñ„9190ð„8915ï„6248î„9684í„4061† false0…false‚{}þÿþŸ{ var _domNode_parentElement; }ýþýþýþ áúa/* __next_internal_client_entry_do_not_use__ cjs */ Object.defineProperty(exports, "__esModule", ({ value: true })); Object.defineProperty(exports, "default", ({ enumerable: true, get: function() { return OuterLayoutRouter; } })); const _interop_require_default = __webpack_require__(8140); const _interop_require_wildcard = __webpack_require__(9417); const _jsxruntime = __webpack_require__(5155); const _routerreducertypes = __webpack_require__(6871); const _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(2115)); const _reactdom = /*#__PURE__*/ _interop_require_default._(__webpack_require__(7650)); const _approutercontextsharedruntime = __webpack_require__(6752); const _fetchserverresponse = __webpack_require__(2753); const _unresolvedthenable = __webpack_require__(8359); const _errorboundary = __webpack_require__(8785); const _matchsegments = __webpack_require__(7460); const _disablesmoothscroll = __webpack_require__(4170); const _redirectboundary = __webpack_require__(531); const _errorboundary1 = __webpack_require__(3886); const _createroutercachekey = __webpack_require__(9190); const _hasinterceptionrouteincurrenttree = __webpack_require__(8915); const _useactionqueue = __webpack_require__(6248); const _bfcache = __webpack_require__(9684); const _apppaths = __webpack_require__(4061); const Activity = false ? 0 : null; /** * Add refetch marker to router state at the point of the current layout segment. * This ensures the response returned is not further down than the current layout segment. */ function walkAddRefetch(segmentPathToWalk, treeToRecreate) { if (segmentPathToWalk) { const [segment, parallelRouteKey] = segmentPathToWalk; const isLast = segmentPathToWalk.length === 2; if ((0, _matchsegments.matchSegment)(treeToRecreate[0], segment)) { if (treeToRecreate[1].hasOwnProperty(parallelRouteKey)) { if (isLast) { const subTree = walkAddRefetch(undefined, treeToRecreate[1][parallelRouteKey]); return [ treeToRecreate[0], { ...treeToRecreate[1], [parallelRouteKey]: [ subTree[0], subTree[1], subTree[2], 'refetch' ] } ]; } return [ treeToRecreate[0], { ...treeToRecreate[1], [parallelRouteKey]: walkAddRefetch(segmentPathToWalk.slice(2), treeToRecreate[1][parallelRouteKey]) } ]; } } } return treeToRecreate; } const __DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = _reactdom.default.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE; // TODO-APP: Replace with new React API for finding dom nodes without a `ref` when available /** * Wraps ReactDOM.findDOMNode with additional logic to hide React Strict Mode warning */ function findDOMNode(instance) { // Tree-shake for server bundle if (false) {} // __DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE.findDOMNode is null during module init. // We need to lazily reference it. const internal_reactDOMfindDOMNode = __DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE.findDOMNode; return internal_reactDOMfindDOMNode(instance); } const rectProperties = [ 'bottom', 'height', 'left', 'right', 'top', 'width', 'x', 'y' ]; /** * Check if a HTMLElement is hidden or fixed/sticky position */ function shouldSkipElement(element) { // we ignore fixed or sticky positioned elements since they'll likely pass the "in-viewport" check // and will result in a situation we bail on scroll because of something like a fixed nav, // even though the actual page content is offscreen if ([ 'sticky', 'fixed' ].includes(getComputedStyle(element).position)) { if (false) {} return true; } // Uses `getBoundingClientRect` to check if the element is hidden instead of `offsetParent` // because `offsetParent` doesn't consider document/body const rect = element.getBoundingClientRect(); return rectProperties.every((item)=>rect[item] === 0); } /** * Check if the top corner of the HTMLElement is in the viewport. */ function topOfElementInViewport(element, viewportHeight) { const rect = element.getBoundingClientRect(); return rect.top >= 0 && rect.top <= viewportHeight; } /** * Find the DOM node for a hash fragment. * If `top` the page has to scroll to the top of the page. This mirrors the browser's behavior. * If the hash fragment is an id, the page has to scroll to the element with that id. * If the hash fragment is a name, the page has to scroll to the first element with that name. */ function getHashFragmentDomNode(hashFragment) { // If the hash fragment is `top` the page has to scroll to the top of the page. if (hashFragment === 'top') { return document.body; } var _document_getElementById; // If the hash fragment is an id, the page has to scroll to the element with that id. return (_document_getElementById = document.getElementById(hashFragment)) != null ? _document_getElementById : document.getElementsByName(hashFragment)[0]; } class InnerScrollAndFocusHandler extends _react.default.Component { componentDidMount() { this.handlePotentialScroll(); } componentDidUpdate() { // Because this property is overwritten in handlePotentialScroll it's fine to always run it when true as it'll be set to false for subsequent renders. if (this.props.focusAndScrollRef.apply) { this.handlePotentialScroll(); } } render() { return this.props.children; } constructor(...args){ super(...args), this.handlePotentialScroll = ()=>{ // Handle scroll and focus, it's only applied once in the first useEffect that triggers that changed. const { focusAndScrollRef, segmentPath } = this.props; if (focusAndScrollRef.apply) { // segmentPaths is an array of segment paths that should be scrolled to // if the current segment path is not in the array, the scroll is not applied // unless the array is empty, in which case the scroll is always applied if (focusAndScrollRef.segmentPaths.length !== 0 && !focusAndScrollRef.segmentPaths.some((scrollRefSegmentPath)=>segmentPath.every((segment, index)=>(0, _matchsegments.matchSegment)(segment, scrollRefSegmentPath[index])))) { return; } let domNode = null; const hashFragment = focusAndScrollRef.hashFragment; if (hashFragment) { domNode = getHashFragmentDomNode(hashFragment); } // `findDOMNode` is tricky because it returns just the first child if the component is a fragment. // This already caused a bug where the first child was a in head. if (!domNode) { domNode = findDOMNode(this); } // If there is no DOM node this layout-router level is skipped. It'll be handled higher-up in the tree. if (!(domNode instanceof Element)) { return; } // Verify if the element is a HTMLElement and if we want to consider it for scroll behavior. // If the element is skipped, try to select the next sibling and try again. while(!(domNode instanceof HTMLElement) || shouldSkipElement(domNode)){ if (false) { var _domNode_parentElement; } // No siblings found that match the criteria are found, so handle scroll higher up in the tree instead. if (domNode.nextElementSibling === null) { return; } domNode = domNode.nextElementSibling; } // State is mutated to ensure that the focus and scroll is applied only once. focusAndScrollRef.apply = false; focusAndScrollRef.hashFragment = null; focusAndScrollRef.segmentPaths = []; (0, _disablesmoothscroll.disableSmoothScrollDuringRouteTransition)(()=>{ // In case of hash scroll, we only need to scroll the element into view if (hashFragment) { ; domNode.scrollIntoView(); return; } // Store the current viewport height because reading `clientHeight` causes a reflow, // and it won't change during this function. const htmlElement = document.documentElement; const viewportHeight = htmlElement.clientHeight; // If the element's top edge is already in the viewport, exit early. if (topOfElementInViewport(domNode, viewportHeight)) { return; } // Otherwise, try scrolling go the top of the document to be backward compatible with pages // scrollIntoView() called on `` element scrolls horizontally on chrome and firefox (that shouldn't happen) // We could use it to scroll horizontally following RTL but that also seems to be broken - it will always scroll left // scrollLeft = 0 also seems to ignore RTL and manually checking for RTL is too much hassle so we will scroll just vertically htmlElement.scrollTop = 0; // Scroll to domNode if domNode is not in viewport when scrolled to top of document if (!topOfElementInViewport(domNode, viewportHeight)) { // Scroll into view doesn't scroll horizontally by default when not needed ; domNode.scrollIntoView(); } }, { // We will force layout by querying domNode position dontForceLayout: true, onlyHashChange: focusAndScrollRef.onlyHashChange }); // Mutate after scrolling so that it can be read by `disableSmoothScrollDuringRouteTransition` focusAndScrollRef.onlyHashChange = false; // Set focus on the element domNode.focus(); } }; } } function ScrollAndFocusHandler(param) { let { segmentPath, children } = param; const context = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext); if (!context) { throw Object.defineProperty(new Error('invariant global layout router not mounted'), "__NEXT_ERROR_CODE", { value: "E473", enumerable: false, configurable: true }); } return /*#__PURE__*/ (0, _jsxruntime.jsx)(InnerScrollAndFocusHandler, { segmentPath: segmentPath, focusAndScrollRef: context.focusAndScrollRef, children: children }); } /** * InnerLayoutRouter handles rendering the provided segment based on the cache. */ function InnerLayoutRouter(param) { let { tree, segmentPath, cacheNode, url } = param; const context = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext); if (!context) { throw Object.defineProperty(new Error('invariant global layout router not mounted'), "__NEXT_ERROR_CODE", { value: "E473", enumerable: false, configurable: true }); } const { tree: fullTree } = context; // `rsc` represents the renderable node for this segment. // If this segment has a `prefetchRsc`, it's the statically prefetched data. // We should use that on initial render instead of `rsc`. Then we'll switch // to `rsc` when the dynamic response streams in. // // If no prefetch data is available, then we go straight to rendering `rsc`. const resolvedPrefetchRsc = cacheNode.prefetchRsc !== null ? cacheNode.prefetchRsc : cacheNode.rsc; // We use `useDeferredValue` to handle switching between the prefetched and // final values. The second argument is returned on initial render, then it // re-renders with the first argument. const rsc = (0, _react.useDeferredValue)(cacheNode.rsc, resolvedPrefetchRsc); // `rsc` is either a React node or a promise for a React node, except we // special case `null` to represent that this segment's data is missing. If // it's a promise, we need to unwrap it so we can determine whether or not the // data is missing. const resolvedRsc = typeof rsc === 'object' && rsc !== null && typeof rsc.then === 'function' ? (0, _react.use)(rsc) : rsc; if (!resolvedRsc) { // The data for this segment is not available, and there's no pending // navigation that will be able to fulfill it. We need to fetch more from // the server and patch the cache. // Check if there's already a pending request. let lazyData = cacheNode.lazyData; if (lazyData === null) { /** * Router state with refetch marker added */ // TODO-APP: remove '' const refetchTree = walkAddRefetch([ '', ...segmentPath ], fullTree); const includeNextUrl = (0, _hasinterceptionrouteincurrenttree.hasInterceptionRouteInCurrentTree)(fullTree); const navigatedAt = Date.now(); cacheNode.lazyData = lazyData = (0, _fetchserverresponse.fetchServerResponse)(new URL(url, location.origin), { flightRouterState: refetchTree, nextUrl: includeNextUrl ? context.nextUrl : null }).then((serverResponse)=>{ (0, _react.startTransition)(()=>{ (0, _useactionqueue.dispatchAppRouterAction)({ type: _routerreducertypes.ACTION_SERVER_PATCH, previousTree: fullTree, serverResponse, navigatedAt }); }); return serverResponse; }); // Suspend while waiting for lazyData to resolve (0, _react.use)(lazyData); } // Suspend infinitely as `changeByServerResponse` will cause a different part of the tree to be rendered. // A falsey `resolvedRsc` indicates missing data -- we should not commit that branch, and we need to wait for the data to arrive. (0, _react.use)(_unresolvedthenable.unresolvedThenable); } // If we get to this point, then we know we have something we can render. const subtree = /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.LayoutRouterContext.Provider, { value: { parentTree: tree, parentCacheNode: cacheNode, parentSegmentPath: segmentPath, // TODO-APP: overriding of url for parallel routes url: url }, children: resolvedRsc }); // Ensure root layout is not wrapped in a div as the root layout renders `` return subtree; } /** * Renders suspense boundary with the provided "loading" property as the fallback. * If no loading property is provided it renders the children without a suspense boundary. */ function LoadingBoundary(param) { let { loading, children } = param; // If loading is a promise, unwrap it. This happens in cases where we haven't // yet received the loading data from the server — which includes whether or // not this layout has a loading component at all. // // It's OK to suspend here instead of inside the fallback because this // promise will resolve simultaneously with the data for the segment itself. // So it will never suspend for longer than it would have if we didn't use // a Suspense fallback at all. let loadingModuleData; if (typeof loading === 'object' && loading !== null && typeof loading.then === 'function') { const promiseForLoading = loading; loadingModuleData = (0, _react.use)(promiseForLoading); } else { loadingModuleData = loading; } if (loadingModuleData) { const loadingRsc = loadingModuleData[0]; const loadingStyles = loadingModuleData[1]; const loadingScripts = loadingModuleData[2]; return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.Suspense, { fallback: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, { children: [ loadingStyles, loadingScripts, loadingRsc ] }), children: children }); } return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, { children: children }); } function OuterLayoutRouter(param) { let { parallelRouterKey, error, errorStyles, errorScripts, templateStyles, templateScripts, template, notFound, forbidden, unauthorized, segmentViewBoundaries } = param; const context = (0, _react.useContext)(_approutercontextsharedruntime.LayoutRouterContext); if (!context) { throw Object.defineProperty(new Error('invariant expected layout router to be mounted'), "__NEXT_ERROR_CODE", { value: "E56", enumerable: false, configurable: true }); } const { parentTree, parentCacheNode, parentSegmentPath, url } = context; // Get the CacheNode for this segment by reading it from the parent segment's // child map. const parentParallelRoutes = parentCacheNode.parallelRoutes; let segmentMap = parentParallelRoutes.get(parallelRouterKey); // If the parallel router cache node does not exist yet, create it. // This writes to the cache when there is no item in the cache yet. It never *overwrites* existing cache items which is why it's safe in concurrent mode. if (!segmentMap) { segmentMap = new Map(); parentParallelRoutes.set(parallelRouterKey, segmentMap); } const parentTreeSegment = parentTree[0]; const segmentPath = parentSegmentPath === null ? // the code. We should clean this up. [ parallelRouterKey ] : parentSegmentPath.concat([ parentTreeSegment, parallelRouterKey ]); // The "state" key of a segment is the one passed to React — it represents the // identity of the UI tree. Whenever the state key changes, the tree is // recreated and the state is reset. In the App Router model, search params do // not cause state to be lost, so two segments with the same segment path but // different search params should have the same state key. // // The "cache" key of a segment, however, *does* include the search params, if // it's possible that the segment accessed the search params on the server. // (This only applies to page segments; layout segments cannot access search // params on the server.) const activeTree = parentTree[1][parallelRouterKey]; const activeSegment = activeTree[0]; const activeStateKey = (0, _createroutercachekey.createRouterCacheKey)(activeSegment, true) // no search params ; // At each level of the route tree, not only do we render the currently // active segment — we also render the last N segments that were active at // this level inside a hidden boundary, to preserve their state // if or when the user navigates to them again. // // bfcacheEntry is a linked list of FlightRouterStates. let bfcacheEntry = (0, _bfcache.useRouterBFCache)(activeTree, activeStateKey); let children = []; do { const tree = bfcacheEntry.tree; const stateKey = bfcacheEntry.stateKey; const segment = tree[0]; const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segment); // Read segment path from the parallel router cache node. let cacheNode = segmentMap.get(cacheKey); if (cacheNode === undefined) { // When data is not available during rendering client-side we need to fetch // it from the server. const newLazyCacheNode = { lazyData: null, rsc: null, prefetchRsc: null, head: null, prefetchHead: null, parallelRoutes: new Map(), loading: null, navigatedAt: -1 }; // Flight data fetch kicked off during render and put into the cache. cacheNode = newLazyCacheNode; segmentMap.set(cacheKey, newLazyCacheNode); } /* - Error boundary - Only renders error boundary if error component is provided. - Rendered for each segment to ensure they have their own error state. - When gracefully degrade for bots, skip rendering error boundary. - Loading boundary - Only renders suspense boundary if loading components is provided. - Rendered for each segment to ensure they have their own loading state. - Passed to the router during rendering to ensure it can be immediately rendered when suspending on a Flight fetch. */ let segmentBoundaryTriggerNode = null; let segmentViewStateNode = null; if (false) {} // TODO: The loading module data for a segment is stored on the parent, then // applied to each of that parent segment's parallel route slots. In the // simple case where there's only one parallel route (the `children` slot), // this is no different from if the loading module data where stored on the // child directly. But I'm not sure this actually makes sense when there are // multiple parallel routes. It's not a huge issue because you always have // the option to define a narrower loading boundary for a particular slot. But // this sort of smells like an implementation accident to me. const loadingModuleData = parentCacheNode.loading; let child = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_approutercontextsharedruntime.TemplateContext.Provider, { value: /*#__PURE__*/ (0, _jsxruntime.jsxs)(ScrollAndFocusHandler, { segmentPath: segmentPath, children: [ /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary.ErrorBoundary, { errorComponent: error, errorStyles: errorStyles, errorScripts: errorScripts, children: /*#__PURE__*/ (0, _jsxruntime.jsx)(LoadingBoundary, { loading: loadingModuleData, children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary1.HTTPAccessFallbackBoundary, { notFound: notFound, forbidden: forbidden, unauthorized: unauthorized, children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_redirectboundary.RedirectBoundary, { children: [ /*#__PURE__*/ (0, _jsxruntime.jsx)(InnerLayoutRouter, { url: url, tree: tree, cacheNode: cacheNode, segmentPath: segmentPath }), segmentBoundaryTriggerNode ] }) }) }) }), segmentViewStateNode ] }), children: [ templateStyles, templateScripts, template ] }, stateKey); if (false) {} if (false) {} children.push(child); bfcacheEntry = bfcacheEntry.next; }while (bfcacheEntry !== null); return children; } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=layout-router.js.map â å  æ=l/* __next_internal_client_entry_do_not_use__ cjs */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, /** * OuterLayoutRouter handles the current segment as well as rendering of other segments. * It can be rendered next to each other with a different `parallelRouterKey`, allowing for Parallel routes. */ "default", { enumerable: true, get: function() { return OuterLayoutRouter; } }); const _interop_require_default = require("@swc/helpers/_/_interop_require_default"); const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard"); const _jsxruntime = require("react/jsx-runtime"); const _routerreducertypes = require("./router-reducer/router-reducer-types"); const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react")); const _reactdom = /*#__PURE__*/ _interop_require_default._(require("react-dom")); const _approutercontextsharedruntime = require("../../shared/lib/app-router-context.shared-runtime"); const _fetchserverresponse = require("./router-reducer/fetch-server-response"); const _unresolvedthenable = require("./unresolved-thenable"); const _errorboundary = require("./error-boundary"); const _matchsegments = require("./match-segments"); const _disablesmoothscroll = require("../../shared/lib/router/utils/disable-smooth-scroll"); const _redirectboundary = require("./redirect-boundary"); const _errorboundary1 = require("./http-access-fallback/error-boundary"); const _createroutercachekey = require("./router-reducer/create-router-cache-key"); const _hasinterceptionrouteincurrenttree = require("./router-reducer/reducers/has-interception-route-in-current-tree"); const _useactionqueue = require("./use-action-queue"); const _bfcache = require("./bfcache"); const _apppaths = require("../../shared/lib/router/utils/app-paths"); const Activity = process.env.__NEXT_ROUTER_BF_CACHE ? require('react').unstable_Activity : null; /** * Add refetch marker to router state at the point of the current layout segment. * This ensures the response returned is not further down than the current layout segment. */ function walkAddRefetch(segmentPathToWalk, treeToRecreate) { if (segmentPathToWalk) { const [segment, parallelRouteKey] = segmentPathToWalk; const isLast = segmentPathToWalk.length === 2; if ((0, _matchsegments.matchSegment)(treeToRecreate[0], segment)) { if (treeToRecreate[1].hasOwnProperty(parallelRouteKey)) { if (isLast) { const subTree = walkAddRefetch(undefined, treeToRecreate[1][parallelRouteKey]); return [ treeToRecreate[0], { ...treeToRecreate[1], [parallelRouteKey]: [ subTree[0], subTree[1], subTree[2], 'refetch' ] } ]; } return [ treeToRecreate[0], { ...treeToRecreate[1], [parallelRouteKey]: walkAddRefetch(segmentPathToWalk.slice(2), treeToRecreate[1][parallelRouteKey]) } ]; } } } return treeToRecreate; } const __DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = _reactdom.default.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE; // TODO-APP: Replace with new React API for finding dom nodes without a `ref` when available /** * Wraps ReactDOM.findDOMNode with additional logic to hide React Strict Mode warning */ function findDOMNode(instance) { // Tree-shake for server bundle if ("object" === 'undefined') return null; // __DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE.findDOMNode is null during module init. // We need to lazily reference it. const internal_reactDOMfindDOMNode = __DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE.findDOMNode; return internal_reactDOMfindDOMNode(instance); } const rectProperties = [ 'bottom', 'height', 'left', 'right', 'top', 'width', 'x', 'y' ]; /** * Check if a HTMLElement is hidden or fixed/sticky position */ function shouldSkipElement(element) { // we ignore fixed or sticky positioned elements since they'll likely pass the "in-viewport" check // and will result in a situation we bail on scroll because of something like a fixed nav, // even though the actual page content is offscreen if ([ 'sticky', 'fixed' ].includes(getComputedStyle(element).position)) { if ("production" === 'development') { console.warn('Skipping auto-scroll behavior due to `position: sticky` or `position: fixed` on element:', element); } return true; } // Uses `getBoundingClientRect` to check if the element is hidden instead of `offsetParent` // because `offsetParent` doesn't consider document/body const rect = element.getBoundingClientRect(); return rectProperties.every((item)=>rect[item] === 0); } /** * Check if the top corner of the HTMLElement is in the viewport. */ function topOfElementInViewport(element, viewportHeight) { const rect = element.getBoundingClientRect(); return rect.top >= 0 && rect.top <= viewportHeight; } /** * Find the DOM node for a hash fragment. * If `top` the page has to scroll to the top of the page. This mirrors the browser's behavior. * If the hash fragment is an id, the page has to scroll to the element with that id. * If the hash fragment is a name, the page has to scroll to the first element with that name. */ function getHashFragmentDomNode(hashFragment) { // If the hash fragment is `top` the page has to scroll to the top of the page. if (hashFragment === 'top') { return document.body; } var _document_getElementById; // If the hash fragment is an id, the page has to scroll to the element with that id. return (_document_getElementById = document.getElementById(hashFragment)) != null ? _document_getElementById : document.getElementsByName(hashFragment)[0]; } class InnerScrollAndFocusHandler extends _react.default.Component { componentDidMount() { this.handlePotentialScroll(); } componentDidUpdate() { // Because this property is overwritten in handlePotentialScroll it's fine to always run it when true as it'll be set to false for subsequent renders. if (this.props.focusAndScrollRef.apply) { this.handlePotentialScroll(); } } render() { return this.props.children; } constructor(...args){ super(...args), this.handlePotentialScroll = ()=>{ // Handle scroll and focus, it's only applied once in the first useEffect that triggers that changed. const { focusAndScrollRef, segmentPath } = this.props; if (focusAndScrollRef.apply) { // segmentPaths is an array of segment paths that should be scrolled to // if the current segment path is not in the array, the scroll is not applied // unless the array is empty, in which case the scroll is always applied if (focusAndScrollRef.segmentPaths.length !== 0 && !focusAndScrollRef.segmentPaths.some((scrollRefSegmentPath)=>segmentPath.every((segment, index)=>(0, _matchsegments.matchSegment)(segment, scrollRefSegmentPath[index])))) { return; } let domNode = null; const hashFragment = focusAndScrollRef.hashFragment; if (hashFragment) { domNode = getHashFragmentDomNode(hashFragment); } // `findDOMNode` is tricky because it returns just the first child if the component is a fragment. // This already caused a bug where the first child was a in head. if (!domNode) { domNode = findDOMNode(this); } // If there is no DOM node this layout-router level is skipped. It'll be handled higher-up in the tree. if (!(domNode instanceof Element)) { return; } // Verify if the element is a HTMLElement and if we want to consider it for scroll behavior. // If the element is skipped, try to select the next sibling and try again. while(!(domNode instanceof HTMLElement) || shouldSkipElement(domNode)){ if ("production" !== 'production') { var _domNode_parentElement; if (((_domNode_parentElement = domNode.parentElement) == null ? void 0 : _domNode_parentElement.localName) === 'head') { // TODO: We enter this state when metadata was rendered as part of the page or via Next.js. // This is always a bug in Next.js and caused by React hoisting metadata. // We need to replace `findDOMNode` in favor of Fragment Refs (when available) so that we can skip over metadata. } } // No siblings found that match the criteria are found, so handle scroll higher up in the tree instead. if (domNode.nextElementSibling === null) { return; } domNode = domNode.nextElementSibling; } // State is mutated to ensure that the focus and scroll is applied only once. focusAndScrollRef.apply = false; focusAndScrollRef.hashFragment = null; focusAndScrollRef.segmentPaths = []; (0, _disablesmoothscroll.disableSmoothScrollDuringRouteTransition)(()=>{ // In case of hash scroll, we only need to scroll the element into view if (hashFragment) { ; domNode.scrollIntoView(); return; } // Store the current viewport height because reading `clientHeight` causes a reflow, // and it won't change during this function. const htmlElement = document.documentElement; const viewportHeight = htmlElement.clientHeight; // If the element's top edge is already in the viewport, exit early. if (topOfElementInViewport(domNode, viewportHeight)) { return; } // Otherwise, try scrolling go the top of the document to be backward compatible with pages // scrollIntoView() called on `` element scrolls horizontally on chrome and firefox (that shouldn't happen) // We could use it to scroll horizontally following RTL but that also seems to be broken - it will always scroll left // scrollLeft = 0 also seems to ignore RTL and manually checking for RTL is too much hassle so we will scroll just vertically htmlElement.scrollTop = 0; // Scroll to domNode if domNode is not in viewport when scrolled to top of document if (!topOfElementInViewport(domNode, viewportHeight)) { // Scroll into view doesn't scroll horizontally by default when not needed ; domNode.scrollIntoView(); } }, { // We will force layout by querying domNode position dontForceLayout: true, onlyHashChange: focusAndScrollRef.onlyHashChange }); // Mutate after scrolling so that it can be read by `disableSmoothScrollDuringRouteTransition` focusAndScrollRef.onlyHashChange = false; // Set focus on the element domNode.focus(); } }; } } function ScrollAndFocusHandler(param) { let { segmentPath, children } = param; const context = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext); if (!context) { throw Object.defineProperty(new Error('invariant global layout router not mounted'), "__NEXT_ERROR_CODE", { value: "E473", enumerable: false, configurable: true }); } return /*#__PURE__*/ (0, _jsxruntime.jsx)(InnerScrollAndFocusHandler, { segmentPath: segmentPath, focusAndScrollRef: context.focusAndScrollRef, children: children }); } /** * InnerLayoutRouter handles rendering the provided segment based on the cache. */ function InnerLayoutRouter(param) { let { tree, segmentPath, cacheNode, url } = param; const context = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext); if (!context) { throw Object.defineProperty(new Error('invariant global layout router not mounted'), "__NEXT_ERROR_CODE", { value: "E473", enumerable: false, configurable: true }); } const { tree: fullTree } = context; // `rsc` represents the renderable node for this segment. // If this segment has a `prefetchRsc`, it's the statically prefetched data. // We should use that on initial render instead of `rsc`. Then we'll switch // to `rsc` when the dynamic response streams in. // // If no prefetch data is available, then we go straight to rendering `rsc`. const resolvedPrefetchRsc = cacheNode.prefetchRsc !== null ? cacheNode.prefetchRsc : cacheNode.rsc; // We use `useDeferredValue` to handle switching between the prefetched and // final values. The second argument is returned on initial render, then it // re-renders with the first argument. const rsc = (0, _react.useDeferredValue)(cacheNode.rsc, resolvedPrefetchRsc); // `rsc` is either a React node or a promise for a React node, except we // special case `null` to represent that this segment's data is missing. If // it's a promise, we need to unwrap it so we can determine whether or not the // data is missing. const resolvedRsc = typeof rsc === 'object' && rsc !== null && typeof rsc.then === 'function' ? (0, _react.use)(rsc) : rsc; if (!resolvedRsc) { // The data for this segment is not available, and there's no pending // navigation that will be able to fulfill it. We need to fetch more from // the server and patch the cache. // Check if there's already a pending request. let lazyData = cacheNode.lazyData; if (lazyData === null) { /** * Router state with refetch marker added */ // TODO-APP: remove '' const refetchTree = walkAddRefetch([ '', ...segmentPath ], fullTree); const includeNextUrl = (0, _hasinterceptionrouteincurrenttree.hasInterceptionRouteInCurrentTree)(fullTree); const navigatedAt = Date.now(); cacheNode.lazyData = lazyData = (0, _fetchserverresponse.fetchServerResponse)(new URL(url, location.origin), { flightRouterState: refetchTree, nextUrl: includeNextUrl ? context.nextUrl : null }).then((serverResponse)=>{ (0, _react.startTransition)(()=>{ (0, _useactionqueue.dispatchAppRouterAction)({ type: _routerreducertypes.ACTION_SERVER_PATCH, previousTree: fullTree, serverResponse, navigatedAt }); }); return serverResponse; }); // Suspend while waiting for lazyData to resolve (0, _react.use)(lazyData); } // Suspend infinitely as `changeByServerResponse` will cause a different part of the tree to be rendered. // A falsey `resolvedRsc` indicates missing data -- we should not commit that branch, and we need to wait for the data to arrive. (0, _react.use)(_unresolvedthenable.unresolvedThenable); } // If we get to this point, then we know we have something we can render. const subtree = /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.LayoutRouterContext.Provider, { value: { parentTree: tree, parentCacheNode: cacheNode, parentSegmentPath: segmentPath, // TODO-APP: overriding of url for parallel routes url: url }, children: resolvedRsc }); // Ensure root layout is not wrapped in a div as the root layout renders `` return subtree; } /** * Renders suspense boundary with the provided "loading" property as the fallback. * If no loading property is provided it renders the children without a suspense boundary. */ function LoadingBoundary(param) { let { loading, children } = param; // If loading is a promise, unwrap it. This happens in cases where we haven't // yet received the loading data from the server — which includes whether or // not this layout has a loading component at all. // // It's OK to suspend here instead of inside the fallback because this // promise will resolve simultaneously with the data for the segment itself. // So it will never suspend for longer than it would have if we didn't use // a Suspense fallback at all. let loadingModuleData; if (typeof loading === 'object' && loading !== null && typeof loading.then === 'function') { const promiseForLoading = loading; loadingModuleData = (0, _react.use)(promiseForLoading); } else { loadingModuleData = loading; } if (loadingModuleData) { const loadingRsc = loadingModuleData[0]; const loadingStyles = loadingModuleData[1]; const loadingScripts = loadingModuleData[2]; return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.Suspense, { fallback: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, { children: [ loadingStyles, loadingScripts, loadingRsc ] }), children: children }); } return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, { children: children }); } function OuterLayoutRouter(param) { let { parallelRouterKey, error, errorStyles, errorScripts, templateStyles, templateScripts, template, notFound, forbidden, unauthorized, segmentViewBoundaries } = param; const context = (0, _react.useContext)(_approutercontextsharedruntime.LayoutRouterContext); if (!context) { throw Object.defineProperty(new Error('invariant expected layout router to be mounted'), "__NEXT_ERROR_CODE", { value: "E56", enumerable: false, configurable: true }); } const { parentTree, parentCacheNode, parentSegmentPath, url } = context; // Get the CacheNode for this segment by reading it from the parent segment's // child map. const parentParallelRoutes = parentCacheNode.parallelRoutes; let segmentMap = parentParallelRoutes.get(parallelRouterKey); // If the parallel router cache node does not exist yet, create it. // This writes to the cache when there is no item in the cache yet. It never *overwrites* existing cache items which is why it's safe in concurrent mode. if (!segmentMap) { segmentMap = new Map(); parentParallelRoutes.set(parallelRouterKey, segmentMap); } const parentTreeSegment = parentTree[0]; const segmentPath = parentSegmentPath === null ? // the code. We should clean this up. [ parallelRouterKey ] : parentSegmentPath.concat([ parentTreeSegment, parallelRouterKey ]); // The "state" key of a segment is the one passed to React — it represents the // identity of the UI tree. Whenever the state key changes, the tree is // recreated and the state is reset. In the App Router model, search params do // not cause state to be lost, so two segments with the same segment path but // different search params should have the same state key. // // The "cache" key of a segment, however, *does* include the search params, if // it's possible that the segment accessed the search params on the server. // (This only applies to page segments; layout segments cannot access search // params on the server.) const activeTree = parentTree[1][parallelRouterKey]; const activeSegment = activeTree[0]; const activeStateKey = (0, _createroutercachekey.createRouterCacheKey)(activeSegment, true) // no search params ; // At each level of the route tree, not only do we render the currently // active segment — we also render the last N segments that were active at // this level inside a hidden boundary, to preserve their state // if or when the user navigates to them again. // // bfcacheEntry is a linked list of FlightRouterStates. let bfcacheEntry = (0, _bfcache.useRouterBFCache)(activeTree, activeStateKey); let children = []; do { const tree = bfcacheEntry.tree; const stateKey = bfcacheEntry.stateKey; const segment = tree[0]; const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segment); // Read segment path from the parallel router cache node. let cacheNode = segmentMap.get(cacheKey); if (cacheNode === undefined) { // When data is not available during rendering client-side we need to fetch // it from the server. const newLazyCacheNode = { lazyData: null, rsc: null, prefetchRsc: null, head: null, prefetchHead: null, parallelRoutes: new Map(), loading: null, navigatedAt: -1 }; // Flight data fetch kicked off during render and put into the cache. cacheNode = newLazyCacheNode; segmentMap.set(cacheKey, newLazyCacheNode); } /* - Error boundary - Only renders error boundary if error component is provided. - Rendered for each segment to ensure they have their own error state. - When gracefully degrade for bots, skip rendering error boundary. - Loading boundary - Only renders suspense boundary if loading components is provided. - Rendered for each segment to ensure they have their own loading state. - Passed to the router during rendering to ensure it can be immediately rendered when suspending on a Flight fetch. */ let segmentBoundaryTriggerNode = null; let segmentViewStateNode = null; if ("production" !== 'production' && process.env.__NEXT_DEVTOOL_SEGMENT_EXPLORER) { const { SegmentBoundaryTriggerNode, SegmentViewStateNode } = require('../../next-devtools/userspace/app/segment-explorer-node'); const pagePrefix = (0, _apppaths.normalizeAppPath)(url); segmentViewStateNode = /*#__PURE__*/ (0, _jsxruntime.jsx)(SegmentViewStateNode, { page: pagePrefix }, pagePrefix); segmentBoundaryTriggerNode = /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, { children: /*#__PURE__*/ (0, _jsxruntime.jsx)(SegmentBoundaryTriggerNode, {}) }); } // TODO: The loading module data for a segment is stored on the parent, then // applied to each of that parent segment's parallel route slots. In the // simple case where there's only one parallel route (the `children` slot), // this is no different from if the loading module data where stored on the // child directly. But I'm not sure this actually makes sense when there are // multiple parallel routes. It's not a huge issue because you always have // the option to define a narrower loading boundary for a particular slot. But // this sort of smells like an implementation accident to me. const loadingModuleData = parentCacheNode.loading; let child = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_approutercontextsharedruntime.TemplateContext.Provider, { value: /*#__PURE__*/ (0, _jsxruntime.jsxs)(ScrollAndFocusHandler, { segmentPath: segmentPath, children: [ /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary.ErrorBoundary, { errorComponent: error, errorStyles: errorStyles, errorScripts: errorScripts, children: /*#__PURE__*/ (0, _jsxruntime.jsx)(LoadingBoundary, { loading: loadingModuleData, children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary1.HTTPAccessFallbackBoundary, { notFound: notFound, forbidden: forbidden, unauthorized: unauthorized, children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_redirectboundary.RedirectBoundary, { children: [ /*#__PURE__*/ (0, _jsxruntime.jsx)(InnerLayoutRouter, { url: url, tree: tree, cacheNode: cacheNode, segmentPath: segmentPath }), segmentBoundaryTriggerNode ] }) }) }) }), segmentViewStateNode ] }), children: [ templateStyles, templateScripts, template ] }, stateKey); if ("production" !== 'production') { const { SegmentStateProvider } = require('../../next-devtools/userspace/app/segment-explorer-node'); child = /*#__PURE__*/ (0, _jsxruntime.jsxs)(SegmentStateProvider, { children: [ child, segmentViewBoundaries ] }, stateKey); } if (process.env.__NEXT_ROUTER_BF_CACHE) { child = /*#__PURE__*/ (0, _jsxruntime.jsx)(Activity, { mode: stateKey === activeStateKey ? 'visible' : 'hidden', children: child }, stateKey); } children.push(child); bfcacheEntry = bfcacheEntry.next; }while (bfcacheEntry !== null); return children; } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=layout-router.js.map  5365undefined67111Object.defineProperty(exports, "__esModule", (undefined131131))undefined134393Object.defineProperty(exports, "default", (undefined481481))undefined517523__webpack_require__undefined5255658140undefined603609__webpack_require__undefined6116529417undefined676682__webpack_require__undefined6847025155undefined734740__webpack_require__undefined7427806871undefined841847__webpack_require__undefined8498552115undefined919925__webpack_require__undefined9279377650undefined981987__webpack_require__undefined98910406752undefined10731079__webpack_require__undefined108111202753undefined11521158__webpack_require__undefined116011828359undefined12091215__webpack_require__undefined121712348785undefined12611267__webpack_require__undefined126912867460undefined13191325__webpack_require__undefined132713794170undefined14091415__webpack_require__undefined14171437531undefined14651471__webpack_require__undefined147315113886undefined15451551__webpack_require__undefined155315949190undefined16411647__webpack_require__undefined164917148915undefined17421748__webpack_require__undefined175017696248undefined17901796__webpack_require__undefined179818089684undefined18301836__webpack_require__undefined183818784061undefined18991932 falseundefined193619690undefined38823905falseundefined39083919{}undefined48294858falseundefined48614998{}undefined87698797falseundefined88009397{ var _domNode_parentElement; }undefined2323523310falseundefined2331323897{}undefined2655526583falseundefined2658626930{}undefined2694426977falseundefined2698027189{}undefined ?ÿÿÿç ÐÑ O«webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSource«webpack/lib/util/registerExternalSerializer™webpack-sources/RawSourceÞ/* __next_internal_client_entry_do_not_use__ cjs */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "AsyncMetadataOutlet", { enumerable: true, get: function() { return AsyncMetadataOutlet; } }); const _jsxruntime = require("react/jsx-runtime"); const _react = require("react"); function MetadataOutlet(param) { let { promise } = param; const { error, digest } = (0, _react.use)(promise); if (error) { if (digest) { // The error will lose its original digest after passing from server layer to client layerï¼› // We recover the digest property here to override the React created one if original digest exists. ; error.digest = digest; } throw error; } return null; } function AsyncMetadataOutlet(param) { let { promise } = param; return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.Suspense, { fallback: null, children: /*#__PURE__*/ (0, _jsxruntime.jsx)(MetadataOutlet, { promise: promise }) }); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=async-metadata.js.map  c5ACoMƒƒ†»,24FY_ag€®Object.defineProperty(exports, "__esModule", (‚))·Object.defineProperty(exports, "AsyncMetadataOutlet", (þ“__webpack_require__„5155þ„2115 ÕÛ/* __next_internal_client_entry_do_not_use__ cjs */ Object.defineProperty(exports, "__esModule", ({ value: true })); Object.defineProperty(exports, "AsyncMetadataOutlet", ({ enumerable: true, get: function() { return AsyncMetadataOutlet; } })); const _jsxruntime = __webpack_require__(5155); const _react = __webpack_require__(2115); function MetadataOutlet(param) { let { promise } = param; const { error, digest } = (0, _react.use)(promise); if (error) { if (digest) { // The error will lose its original digest after passing from server layer to client layerï¼› // We recover the digest property here to override the React created one if original digest exists. ; error.digest = digest; } throw error; } return null; } function AsyncMetadataOutlet(param) { let { promise } = param; return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.Suspense, { fallback: null, children: /*#__PURE__*/ (0, _jsxruntime.jsx)(MetadataOutlet, { promise: promise }) }); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=async-metadata.js.map Ö Ù  ÚÞ/* __next_internal_client_entry_do_not_use__ cjs */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "AsyncMetadataOutlet", { enumerable: true, get: function() { return AsyncMetadataOutlet; } }); const _jsxruntime = require("react/jsx-runtime"); const _react = require("react"); function MetadataOutlet(param) { let { promise } = param; const { error, digest } = (0, _react.use)(promise); if (error) { if (digest) { // The error will lose its original digest after passing from server layer to client layerï¼› // We recover the digest property here to override the React created one if original digest exists. ; error.digest = digest; } throw error; } return null; } function AsyncMetadataOutlet(param) { let { promise } = param; return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.Suspense, { fallback: null, children: /*#__PURE__*/ (0, _jsxruntime.jsx)(MetadataOutlet, { promise: promise }) }); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=async-metadata.js.map 5365undefined67111Object.defineProperty(exports, "__esModule", (undefined131131))undefined134187Object.defineProperty(exports, "AsyncMetadataOutlet", (undefined277277))undefined300306__webpack_require__undefined3083265155undefined345351__webpack_require__undefined3533592115undefined 3ÿÿÿÛ ÄÅ _«webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSource«webpack/lib/util/registerExternalSerializer™webpack-sources/RawSourceÈ/* __next_internal_client_entry_do_not_use__ cjs */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function() { return RenderFromTemplateContext; } }); const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard"); const _jsxruntime = require("react/jsx-runtime"); const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react")); const _approutercontextsharedruntime = require("../../shared/lib/app-router-context.shared-runtime"); function RenderFromTemplateContext() { const children = (0, _react.useContext)(_approutercontextsharedruntime.TemplateContext); return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, { children: children }); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=render-from-template-context.js.map d 5ACoUƒƒ†¯4:<e}ƒ…—ÔÚÜâI€®Object.defineProperty(exports, "__esModule", (‚))«Object.defineProperty(exports, "default", (þ“__webpack_require__„9417þ„5155ý„2115ü„6752 ɇ/* __next_internal_client_entry_do_not_use__ cjs */ Object.defineProperty(exports, "__esModule", ({ value: true })); Object.defineProperty(exports, "default", ({ enumerable: true, get: function() { return RenderFromTemplateContext; } })); const _interop_require_wildcard = __webpack_require__(9417); const _jsxruntime = __webpack_require__(5155); const _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(2115)); const _approutercontextsharedruntime = __webpack_require__(6752); function RenderFromTemplateContext() { const children = (0, _react.useContext)(_approutercontextsharedruntime.TemplateContext); return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, { children: children }); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=render-from-template-context.js.map Ê Í  ÎÈ/* __next_internal_client_entry_do_not_use__ cjs */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function() { return RenderFromTemplateContext; } }); const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard"); const _jsxruntime = require("react/jsx-runtime"); const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react")); const _approutercontextsharedruntime = require("../../shared/lib/app-router-context.shared-runtime"); function RenderFromTemplateContext() { const children = (0, _react.useContext)(_approutercontextsharedruntime.TemplateContext); return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, { children: children }); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=render-from-template-context.js.map y5365undefined67111Object.defineProperty(exports, "__esModule", (undefined131131))undefined134175Object.defineProperty(exports, "default", (undefined271271))undefined308314__webpack_require__undefined3163579417undefined381387__webpack_require__undefined3894075155undefined468474__webpack_require__undefined4764822115undefined526532__webpack_require__undefined5345856752undefined uÿÿÿ'ÿÿÿÏ ¸¹ å/«webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSource«webpack/lib/util/registerExternalSerializer™webpack-sources/RawSourceœ,"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "hydrate", { enumerable: true, get: function() { return hydrate; } }); const _interop_require_default = require("@swc/helpers/_/_interop_require_default"); const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard"); const _jsxruntime = require("react/jsx-runtime"); require("./app-globals"); const _client = /*#__PURE__*/ _interop_require_default._(require("react-dom/client")); const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react")); const _client1 = require("react-server-dom-webpack/client"); const _headmanagercontextsharedruntime = require("../shared/lib/head-manager-context.shared-runtime"); const _onrecoverableerror = require("./react-client-callbacks/on-recoverable-error"); const _errorboundarycallbacks = require("./react-client-callbacks/error-boundary-callbacks"); const _appcallserver = require("./app-call-server"); const _appfindsourcemapurl = require("./app-find-source-map-url"); const _approuterinstance = require("./components/app-router-instance"); const _approuter = /*#__PURE__*/ _interop_require_default._(require("./components/app-router")); const _createinitialrouterstate = require("./components/router-reducer/create-initial-router-state"); const _approutercontextsharedruntime = require("../shared/lib/app-router-context.shared-runtime"); const _appbuildid = require("./app-build-id"); /// const createFromReadableStream = _client1.createFromReadableStream; const appElement = document; const encoder = new TextEncoder(); let initialServerDataBuffer = undefined; let initialServerDataWriter = undefined; let initialServerDataLoaded = false; let initialServerDataFlushed = false; let initialFormStateData = null; function nextServerDataCallback(seg) { if (seg[0] === 0) { initialServerDataBuffer = []; } else if (seg[0] === 1) { if (!initialServerDataBuffer) throw Object.defineProperty(new Error('Unexpected server data: missing bootstrap script.'), "__NEXT_ERROR_CODE", { value: "E18", enumerable: false, configurable: true }); if (initialServerDataWriter) { initialServerDataWriter.enqueue(encoder.encode(seg[1])); } else { initialServerDataBuffer.push(seg[1]); } } else if (seg[0] === 2) { initialFormStateData = seg[1]; } else if (seg[0] === 3) { if (!initialServerDataBuffer) throw Object.defineProperty(new Error('Unexpected server data: missing bootstrap script.'), "__NEXT_ERROR_CODE", { value: "E18", enumerable: false, configurable: true }); // Decode the base64 string back to binary data. const binaryString = atob(seg[1]); const decodedChunk = new Uint8Array(binaryString.length); for(var i = 0; i < binaryString.length; i++){ decodedChunk[i] = binaryString.charCodeAt(i); } if (initialServerDataWriter) { initialServerDataWriter.enqueue(decodedChunk); } else { initialServerDataBuffer.push(decodedChunk); } } } function isStreamErrorOrUnfinished(ctr) { // If `desiredSize` is null, it means the stream is closed or errored. If it is lower than 0, the stream is still unfinished. return ctr.desiredSize === null || ctr.desiredSize < 0; } // There might be race conditions between `nextServerDataRegisterWriter` and // `DOMContentLoaded`. The former will be called when React starts to hydrate // the root, the latter will be called when the DOM is fully loaded. // For streaming, the former is called first due to partial hydration. // For non-streaming, the latter can be called first. // Hence, we use two variables `initialServerDataLoaded` and // `initialServerDataFlushed` to make sure the writer will be closed and // `initialServerDataBuffer` will be cleared in the right time. function nextServerDataRegisterWriter(ctr) { if (initialServerDataBuffer) { initialServerDataBuffer.forEach((val)=>{ ctr.enqueue(typeof val === 'string' ? encoder.encode(val) : val); }); if (initialServerDataLoaded && !initialServerDataFlushed) { if (isStreamErrorOrUnfinished(ctr)) { ctr.error(Object.defineProperty(new Error('The connection to the page was unexpectedly closed, possibly due to the stop button being clicked, loss of Wi-Fi, or an unstable internet connection.'), "__NEXT_ERROR_CODE", { value: "E117", enumerable: false, configurable: true })); } else { ctr.close(); } initialServerDataFlushed = true; initialServerDataBuffer = undefined; } } initialServerDataWriter = ctr; } // When `DOMContentLoaded`, we can close all pending writers to finish hydration. const DOMContentLoaded = function() { if (initialServerDataWriter && !initialServerDataFlushed) { initialServerDataWriter.close(); initialServerDataFlushed = true; initialServerDataBuffer = undefined; } initialServerDataLoaded = true; }; // It's possible that the DOM is already loaded. if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', DOMContentLoaded, false); } else { // Delayed in marco task to ensure it's executed later than hydration setTimeout(DOMContentLoaded); } const nextServerDataLoadingGlobal = self.__next_f = self.__next_f || []; nextServerDataLoadingGlobal.forEach(nextServerDataCallback); nextServerDataLoadingGlobal.push = nextServerDataCallback; const readable = new ReadableStream({ start (controller) { nextServerDataRegisterWriter(controller); } }); const initialServerResponse = createFromReadableStream(readable, { callServer: _appcallserver.callServer, findSourceMapURL: _appfindsourcemapurl.findSourceMapURL }); function ServerRoot(param) { let { pendingActionQueue } = param; const initialRSCPayload = (0, _react.use)(initialServerResponse); const actionQueue = (0, _react.use)(pendingActionQueue); const router = /*#__PURE__*/ (0, _jsxruntime.jsx)(_approuter.default, { actionQueue: actionQueue, globalErrorState: initialRSCPayload.G, assetPrefix: initialRSCPayload.p }); if ("production" === 'development' && initialRSCPayload.m) { // We provide missing slot information in a context provider only during development // as we log some additional information about the missing slots in the console. return /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.MissingSlotContext, { value: initialRSCPayload.m, children: router }); } return router; } const StrictModeIfEnabled = process.env.__NEXT_STRICT_MODE_APP ? _react.default.StrictMode : _react.default.Fragment; function Root(param) { let { children } = param; if (process.env.__NEXT_TEST_MODE) { // eslint-disable-next-line react-hooks/rules-of-hooks _react.default.useEffect(()=>{ window.__NEXT_HYDRATED = true; window.__NEXT_HYDRATED_AT = performance.now(); window.__NEXT_HYDRATED_CB == null ? void 0 : window.__NEXT_HYDRATED_CB.call(window); }, []); } return children; } function onDefaultTransitionIndicator() { // TODO: Compose default with user-configureable (e.g. nprogress) // TODO: Use React's default once we figure out hanging indicators: https://codesandbox.io/p/sandbox/charming-moon-hktkp6?file=%2Fsrc%2Findex.js%3A106%2C30 return ()=>{}; } const reactRootOptions = { onDefaultTransitionIndicator: onDefaultTransitionIndicator, onRecoverableError: _onrecoverableerror.onRecoverableError, onCaughtError: _errorboundarycallbacks.onCaughtError, onUncaughtError: _errorboundarycallbacks.onUncaughtError }; function hydrate(instrumentationHooks) { // React overrides `.then` and doesn't return a new promise chain, // so we wrap the action queue in a promise to ensure that its value // is defined when the promise resolves. // https://github.com/facebook/react/blob/163365a07872337e04826c4f501565d43dbd2fd4/packages/react-client/src/ReactFlightClient.js#L189-L190 const pendingActionQueue = new Promise((resolve, reject)=>{ initialServerResponse.then((initialRSCPayload)=>{ // setAppBuildId should be called only once, during JS initialization // and before any components have hydrated. (0, _appbuildid.setAppBuildId)(initialRSCPayload.b); const initialTimestamp = Date.now(); resolve((0, _approuterinstance.createMutableActionQueue)((0, _createinitialrouterstate.createInitialRouterState)({ navigatedAt: initialTimestamp, initialFlightData: initialRSCPayload.f, initialCanonicalUrlParts: initialRSCPayload.c, initialParallelRoutes: new Map(), location: window.location, couldBeIntercepted: initialRSCPayload.i, postponed: initialRSCPayload.s, prerendered: initialRSCPayload.S }), instrumentationHooks)); }, (err)=>reject(err)); }); const reactEl = /*#__PURE__*/ (0, _jsxruntime.jsx)(StrictModeIfEnabled, { children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_headmanagercontextsharedruntime.HeadManagerContext.Provider, { value: { appDir: true }, children: /*#__PURE__*/ (0, _jsxruntime.jsx)(Root, { children: /*#__PURE__*/ (0, _jsxruntime.jsx)(ServerRoot, { pendingActionQueue: pendingActionQueue }) }) }) }); if (document.documentElement.id === '__next_error__') { let element = reactEl; // Server rendering failed, fall back to client-side rendering if ("production" !== 'production') { const { RootLevelDevOverlayElement } = require('../next-devtools/userspace/app/client-entry'); // Note this won't cause hydration mismatch because we are doing CSR w/o hydration element = /*#__PURE__*/ (0, _jsxruntime.jsx)(RootLevelDevOverlayElement, { children: element }); } _client.default.createRoot(appElement, reactRootOptions).render(element); } else { _react.default.startTransition(()=>{ _client.default.hydrateRoot(appElement, reactEl, { ...reactRootOptions, formState: initialFormStateData }); }); } // TODO-APP: Remove this logic when Float has GC built-in in development. if ("production" !== 'production') { const { linkGc } = require('./app-link-gc'); linkGc(); } } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=app-index.js.map h1 :NNQz_ÈÈìòôBHJs‹‘“¥©¯±¿üSY[aw}ŸÌÒ_Ô&,.\€†ˆºÕÛÝï2QWYzºÀÂÚ AlrYt¤¼ÂÄÓn¢¥Lm£ãþD'¹'¼')³*Ï*Ò*+€®Object.defineProperty(exports, "__esModule", (‚))«Object.defineProperty(exports, "hydrate", (þ“__webpack_require__„8140þ„9417ý„5155ü„6001û„2669ú„2115ù„7197ø„2073÷„3789ö„5444õ„1209ô„5153ó„1807ò„7297ñ„2592ð„6752ï„3201…false‚{}… true0ýþýþýþ ½u& Object.defineProperty(exports, "__esModule", ({ value: true })); Object.defineProperty(exports, "hydrate", ({ enumerable: true, get: function() { return hydrate; } })); const _interop_require_default = __webpack_require__(8140); const _interop_require_wildcard = __webpack_require__(9417); const _jsxruntime = __webpack_require__(5155); __webpack_require__(6001); const _client = /*#__PURE__*/ _interop_require_default._(__webpack_require__(2669)); const _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(2115)); const _client1 = __webpack_require__(7197); const _headmanagercontextsharedruntime = __webpack_require__(2073); const _onrecoverableerror = __webpack_require__(3789); const _errorboundarycallbacks = __webpack_require__(5444); const _appcallserver = __webpack_require__(1209); const _appfindsourcemapurl = __webpack_require__(5153); const _approuterinstance = __webpack_require__(1807); const _approuter = /*#__PURE__*/ _interop_require_default._(__webpack_require__(7297)); const _createinitialrouterstate = __webpack_require__(2592); const _approutercontextsharedruntime = __webpack_require__(6752); const _appbuildid = __webpack_require__(3201); /// const createFromReadableStream = _client1.createFromReadableStream; const appElement = document; const encoder = new TextEncoder(); let initialServerDataBuffer = undefined; let initialServerDataWriter = undefined; let initialServerDataLoaded = false; let initialServerDataFlushed = false; let initialFormStateData = null; function nextServerDataCallback(seg) { if (seg[0] === 0) { initialServerDataBuffer = []; } else if (seg[0] === 1) { if (!initialServerDataBuffer) throw Object.defineProperty(new Error('Unexpected server data: missing bootstrap script.'), "__NEXT_ERROR_CODE", { value: "E18", enumerable: false, configurable: true }); if (initialServerDataWriter) { initialServerDataWriter.enqueue(encoder.encode(seg[1])); } else { initialServerDataBuffer.push(seg[1]); } } else if (seg[0] === 2) { initialFormStateData = seg[1]; } else if (seg[0] === 3) { if (!initialServerDataBuffer) throw Object.defineProperty(new Error('Unexpected server data: missing bootstrap script.'), "__NEXT_ERROR_CODE", { value: "E18", enumerable: false, configurable: true }); // Decode the base64 string back to binary data. const binaryString = atob(seg[1]); const decodedChunk = new Uint8Array(binaryString.length); for(var i = 0; i < binaryString.length; i++){ decodedChunk[i] = binaryString.charCodeAt(i); } if (initialServerDataWriter) { initialServerDataWriter.enqueue(decodedChunk); } else { initialServerDataBuffer.push(decodedChunk); } } } function isStreamErrorOrUnfinished(ctr) { // If `desiredSize` is null, it means the stream is closed or errored. If it is lower than 0, the stream is still unfinished. return ctr.desiredSize === null || ctr.desiredSize < 0; } // There might be race conditions between `nextServerDataRegisterWriter` and // `DOMContentLoaded`. The former will be called when React starts to hydrate // the root, the latter will be called when the DOM is fully loaded. // For streaming, the former is called first due to partial hydration. // For non-streaming, the latter can be called first. // Hence, we use two variables `initialServerDataLoaded` and // `initialServerDataFlushed` to make sure the writer will be closed and // `initialServerDataBuffer` will be cleared in the right time. function nextServerDataRegisterWriter(ctr) { if (initialServerDataBuffer) { initialServerDataBuffer.forEach((val)=>{ ctr.enqueue(typeof val === 'string' ? encoder.encode(val) : val); }); if (initialServerDataLoaded && !initialServerDataFlushed) { if (isStreamErrorOrUnfinished(ctr)) { ctr.error(Object.defineProperty(new Error('The connection to the page was unexpectedly closed, possibly due to the stop button being clicked, loss of Wi-Fi, or an unstable internet connection.'), "__NEXT_ERROR_CODE", { value: "E117", enumerable: false, configurable: true })); } else { ctr.close(); } initialServerDataFlushed = true; initialServerDataBuffer = undefined; } } initialServerDataWriter = ctr; } // When `DOMContentLoaded`, we can close all pending writers to finish hydration. const DOMContentLoaded = function() { if (initialServerDataWriter && !initialServerDataFlushed) { initialServerDataWriter.close(); initialServerDataFlushed = true; initialServerDataBuffer = undefined; } initialServerDataLoaded = true; }; // It's possible that the DOM is already loaded. if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', DOMContentLoaded, false); } else { // Delayed in marco task to ensure it's executed later than hydration setTimeout(DOMContentLoaded); } const nextServerDataLoadingGlobal = self.__next_f = self.__next_f || []; nextServerDataLoadingGlobal.forEach(nextServerDataCallback); nextServerDataLoadingGlobal.push = nextServerDataCallback; const readable = new ReadableStream({ start (controller) { nextServerDataRegisterWriter(controller); } }); const initialServerResponse = createFromReadableStream(readable, { callServer: _appcallserver.callServer, findSourceMapURL: _appfindsourcemapurl.findSourceMapURL }); function ServerRoot(param) { let { pendingActionQueue } = param; const initialRSCPayload = (0, _react.use)(initialServerResponse); const actionQueue = (0, _react.use)(pendingActionQueue); const router = /*#__PURE__*/ (0, _jsxruntime.jsx)(_approuter.default, { actionQueue: actionQueue, globalErrorState: initialRSCPayload.G, assetPrefix: initialRSCPayload.p }); if (false) {} return router; } const StrictModeIfEnabled = true ? _react.default.StrictMode : 0; function Root(param) { let { children } = param; if (false) {} return children; } function onDefaultTransitionIndicator() { // TODO: Compose default with user-configureable (e.g. nprogress) // TODO: Use React's default once we figure out hanging indicators: https://codesandbox.io/p/sandbox/charming-moon-hktkp6?file=%2Fsrc%2Findex.js%3A106%2C30 return ()=>{}; } const reactRootOptions = { onDefaultTransitionIndicator: onDefaultTransitionIndicator, onRecoverableError: _onrecoverableerror.onRecoverableError, onCaughtError: _errorboundarycallbacks.onCaughtError, onUncaughtError: _errorboundarycallbacks.onUncaughtError }; function hydrate(instrumentationHooks) { // React overrides `.then` and doesn't return a new promise chain, // so we wrap the action queue in a promise to ensure that its value // is defined when the promise resolves. // https://github.com/facebook/react/blob/163365a07872337e04826c4f501565d43dbd2fd4/packages/react-client/src/ReactFlightClient.js#L189-L190 const pendingActionQueue = new Promise((resolve, reject)=>{ initialServerResponse.then((initialRSCPayload)=>{ // setAppBuildId should be called only once, during JS initialization // and before any components have hydrated. (0, _appbuildid.setAppBuildId)(initialRSCPayload.b); const initialTimestamp = Date.now(); resolve((0, _approuterinstance.createMutableActionQueue)((0, _createinitialrouterstate.createInitialRouterState)({ navigatedAt: initialTimestamp, initialFlightData: initialRSCPayload.f, initialCanonicalUrlParts: initialRSCPayload.c, initialParallelRoutes: new Map(), location: window.location, couldBeIntercepted: initialRSCPayload.i, postponed: initialRSCPayload.s, prerendered: initialRSCPayload.S }), instrumentationHooks)); }, (err)=>reject(err)); }); const reactEl = /*#__PURE__*/ (0, _jsxruntime.jsx)(StrictModeIfEnabled, { children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_headmanagercontextsharedruntime.HeadManagerContext.Provider, { value: { appDir: true }, children: /*#__PURE__*/ (0, _jsxruntime.jsx)(Root, { children: /*#__PURE__*/ (0, _jsxruntime.jsx)(ServerRoot, { pendingActionQueue: pendingActionQueue }) }) }) }); if (document.documentElement.id === '__next_error__') { let element = reactEl; // Server rendering failed, fall back to client-side rendering if (false) {} _client.default.createRoot(appElement, reactRootOptions).render(element); } else { _react.default.startTransition(()=>{ _client.default.hydrateRoot(appElement, reactEl, { ...reactRootOptions, formState: initialFormStateData }); }); } // TODO-APP: Remove this logic when Float has GC built-in in development. if (false) {} } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=app-index.js.map ¾ Á  œ,"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "hydrate", { enumerable: true, get: function() { return hydrate; } }); const _interop_require_default = require("@swc/helpers/_/_interop_require_default"); const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard"); const _jsxruntime = require("react/jsx-runtime"); require("./app-globals"); const _client = /*#__PURE__*/ _interop_require_default._(require("react-dom/client")); const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react")); const _client1 = require("react-server-dom-webpack/client"); const _headmanagercontextsharedruntime = require("../shared/lib/head-manager-context.shared-runtime"); const _onrecoverableerror = require("./react-client-callbacks/on-recoverable-error"); const _errorboundarycallbacks = require("./react-client-callbacks/error-boundary-callbacks"); const _appcallserver = require("./app-call-server"); const _appfindsourcemapurl = require("./app-find-source-map-url"); const _approuterinstance = require("./components/app-router-instance"); const _approuter = /*#__PURE__*/ _interop_require_default._(require("./components/app-router")); const _createinitialrouterstate = require("./components/router-reducer/create-initial-router-state"); const _approutercontextsharedruntime = require("../shared/lib/app-router-context.shared-runtime"); const _appbuildid = require("./app-build-id"); /// const createFromReadableStream = _client1.createFromReadableStream; const appElement = document; const encoder = new TextEncoder(); let initialServerDataBuffer = undefined; let initialServerDataWriter = undefined; let initialServerDataLoaded = false; let initialServerDataFlushed = false; let initialFormStateData = null; function nextServerDataCallback(seg) { if (seg[0] === 0) { initialServerDataBuffer = []; } else if (seg[0] === 1) { if (!initialServerDataBuffer) throw Object.defineProperty(new Error('Unexpected server data: missing bootstrap script.'), "__NEXT_ERROR_CODE", { value: "E18", enumerable: false, configurable: true }); if (initialServerDataWriter) { initialServerDataWriter.enqueue(encoder.encode(seg[1])); } else { initialServerDataBuffer.push(seg[1]); } } else if (seg[0] === 2) { initialFormStateData = seg[1]; } else if (seg[0] === 3) { if (!initialServerDataBuffer) throw Object.defineProperty(new Error('Unexpected server data: missing bootstrap script.'), "__NEXT_ERROR_CODE", { value: "E18", enumerable: false, configurable: true }); // Decode the base64 string back to binary data. const binaryString = atob(seg[1]); const decodedChunk = new Uint8Array(binaryString.length); for(var i = 0; i < binaryString.length; i++){ decodedChunk[i] = binaryString.charCodeAt(i); } if (initialServerDataWriter) { initialServerDataWriter.enqueue(decodedChunk); } else { initialServerDataBuffer.push(decodedChunk); } } } function isStreamErrorOrUnfinished(ctr) { // If `desiredSize` is null, it means the stream is closed or errored. If it is lower than 0, the stream is still unfinished. return ctr.desiredSize === null || ctr.desiredSize < 0; } // There might be race conditions between `nextServerDataRegisterWriter` and // `DOMContentLoaded`. The former will be called when React starts to hydrate // the root, the latter will be called when the DOM is fully loaded. // For streaming, the former is called first due to partial hydration. // For non-streaming, the latter can be called first. // Hence, we use two variables `initialServerDataLoaded` and // `initialServerDataFlushed` to make sure the writer will be closed and // `initialServerDataBuffer` will be cleared in the right time. function nextServerDataRegisterWriter(ctr) { if (initialServerDataBuffer) { initialServerDataBuffer.forEach((val)=>{ ctr.enqueue(typeof val === 'string' ? encoder.encode(val) : val); }); if (initialServerDataLoaded && !initialServerDataFlushed) { if (isStreamErrorOrUnfinished(ctr)) { ctr.error(Object.defineProperty(new Error('The connection to the page was unexpectedly closed, possibly due to the stop button being clicked, loss of Wi-Fi, or an unstable internet connection.'), "__NEXT_ERROR_CODE", { value: "E117", enumerable: false, configurable: true })); } else { ctr.close(); } initialServerDataFlushed = true; initialServerDataBuffer = undefined; } } initialServerDataWriter = ctr; } // When `DOMContentLoaded`, we can close all pending writers to finish hydration. const DOMContentLoaded = function() { if (initialServerDataWriter && !initialServerDataFlushed) { initialServerDataWriter.close(); initialServerDataFlushed = true; initialServerDataBuffer = undefined; } initialServerDataLoaded = true; }; // It's possible that the DOM is already loaded. if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', DOMContentLoaded, false); } else { // Delayed in marco task to ensure it's executed later than hydration setTimeout(DOMContentLoaded); } const nextServerDataLoadingGlobal = self.__next_f = self.__next_f || []; nextServerDataLoadingGlobal.forEach(nextServerDataCallback); nextServerDataLoadingGlobal.push = nextServerDataCallback; const readable = new ReadableStream({ start (controller) { nextServerDataRegisterWriter(controller); } }); const initialServerResponse = createFromReadableStream(readable, { callServer: _appcallserver.callServer, findSourceMapURL: _appfindsourcemapurl.findSourceMapURL }); function ServerRoot(param) { let { pendingActionQueue } = param; const initialRSCPayload = (0, _react.use)(initialServerResponse); const actionQueue = (0, _react.use)(pendingActionQueue); const router = /*#__PURE__*/ (0, _jsxruntime.jsx)(_approuter.default, { actionQueue: actionQueue, globalErrorState: initialRSCPayload.G, assetPrefix: initialRSCPayload.p }); if ("production" === 'development' && initialRSCPayload.m) { // We provide missing slot information in a context provider only during development // as we log some additional information about the missing slots in the console. return /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.MissingSlotContext, { value: initialRSCPayload.m, children: router }); } return router; } const StrictModeIfEnabled = process.env.__NEXT_STRICT_MODE_APP ? _react.default.StrictMode : _react.default.Fragment; function Root(param) { let { children } = param; if (process.env.__NEXT_TEST_MODE) { // eslint-disable-next-line react-hooks/rules-of-hooks _react.default.useEffect(()=>{ window.__NEXT_HYDRATED = true; window.__NEXT_HYDRATED_AT = performance.now(); window.__NEXT_HYDRATED_CB == null ? void 0 : window.__NEXT_HYDRATED_CB.call(window); }, []); } return children; } function onDefaultTransitionIndicator() { // TODO: Compose default with user-configureable (e.g. nprogress) // TODO: Use React's default once we figure out hanging indicators: https://codesandbox.io/p/sandbox/charming-moon-hktkp6?file=%2Fsrc%2Findex.js%3A106%2C30 return ()=>{}; } const reactRootOptions = { onDefaultTransitionIndicator: onDefaultTransitionIndicator, onRecoverableError: _onrecoverableerror.onRecoverableError, onCaughtError: _errorboundarycallbacks.onCaughtError, onUncaughtError: _errorboundarycallbacks.onUncaughtError }; function hydrate(instrumentationHooks) { // React overrides `.then` and doesn't return a new promise chain, // so we wrap the action queue in a promise to ensure that its value // is defined when the promise resolves. // https://github.com/facebook/react/blob/163365a07872337e04826c4f501565d43dbd2fd4/packages/react-client/src/ReactFlightClient.js#L189-L190 const pendingActionQueue = new Promise((resolve, reject)=>{ initialServerResponse.then((initialRSCPayload)=>{ // setAppBuildId should be called only once, during JS initialization // and before any components have hydrated. (0, _appbuildid.setAppBuildId)(initialRSCPayload.b); const initialTimestamp = Date.now(); resolve((0, _approuterinstance.createMutableActionQueue)((0, _createinitialrouterstate.createInitialRouterState)({ navigatedAt: initialTimestamp, initialFlightData: initialRSCPayload.f, initialCanonicalUrlParts: initialRSCPayload.c, initialParallelRoutes: new Map(), location: window.location, couldBeIntercepted: initialRSCPayload.i, postponed: initialRSCPayload.s, prerendered: initialRSCPayload.S }), instrumentationHooks)); }, (err)=>reject(err)); }); const reactEl = /*#__PURE__*/ (0, _jsxruntime.jsx)(StrictModeIfEnabled, { children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_headmanagercontextsharedruntime.HeadManagerContext.Provider, { value: { appDir: true }, children: /*#__PURE__*/ (0, _jsxruntime.jsx)(Root, { children: /*#__PURE__*/ (0, _jsxruntime.jsx)(ServerRoot, { pendingActionQueue: pendingActionQueue }) }) }) }); if (document.documentElement.id === '__next_error__') { let element = reactEl; // Server rendering failed, fall back to client-side rendering if ("production" !== 'production') { const { RootLevelDevOverlayElement } = require('../next-devtools/userspace/app/client-entry'); // Note this won't cause hydration mismatch because we are doing CSR w/o hydration element = /*#__PURE__*/ (0, _jsxruntime.jsx)(RootLevelDevOverlayElement, { children: element }); } _client.default.createRoot(appElement, reactRootOptions).render(element); } else { _react.default.startTransition(()=>{ _client.default.hydrateRoot(appElement, reactEl, { ...reactRootOptions, formState: initialFormStateData }); }); } // TODO-APP: Remove this logic when Float has GC built-in in development. if ("production" !== 'production') { const { linkGc } = require('./app-link-gc'); linkGc(); } } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=app-index.js.map 012undefined1458Object.defineProperty(exports, "__esModule", (undefined7878))undefined81122Object.defineProperty(exports, "hydrate", (undefined200200))undefined236242__webpack_require__undefined2442848140undefined322328__webpack_require__undefined3303719417undefined395401__webpack_require__undefined4034215155undefined425431__webpack_require__undefined4334476001undefined508514__webpack_require__undefined5165332669undefined595601__webpack_require__undefined6036092115undefined631637__webpack_require__undefined6396717197undefined716722__webpack_require__undefined7247742073undefined806812__webpack_require__undefined8148603789undefined896902__webpack_require__undefined9049545444undefined981987__webpack_require__undefined98910071209undefined10401046__webpack_require__undefined104810745153undefined11051111__webpack_require__undefined111311461807undefined12101216__webpack_require__undefined121812427297undefined12811287__webpack_require__undefined128913452592undefined13881394__webpack_require__undefined139614446752undefined14681474__webpack_require__undefined147614913201undefined65106562falseundefined65656937{}undefined69887021 trueundefined705370750undefined71397166falseundefined71697492{}undefined1014110169falseundefined1017210521{}undefined1093110959falseundefined1096211039{}undefined iÿÿÿÿÿÿà ¬­ –e«webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSource«webpack/lib/util/registerExternalSerializer™webpack-sources/RawSourceRa/* __next_internal_client_entry_do_not_use__ cjs */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { createEmptyCacheNode: null, createPrefetchURL: null, default: null, isExternalURL: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { createEmptyCacheNode: function() { return createEmptyCacheNode; }, createPrefetchURL: function() { return createPrefetchURL; }, default: function() { return AppRouter; }, isExternalURL: function() { return isExternalURL; } }); const _interop_require_default = require("@swc/helpers/_/_interop_require_default"); const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard"); const _jsxruntime = require("react/jsx-runtime"); const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react")); const _approutercontextsharedruntime = require("../../shared/lib/app-router-context.shared-runtime"); const _routerreducertypes = require("./router-reducer/router-reducer-types"); const _createhreffromurl = require("./router-reducer/create-href-from-url"); const _hooksclientcontextsharedruntime = require("../../shared/lib/hooks-client-context.shared-runtime"); const _useactionqueue = require("./use-action-queue"); const _isbot = require("../../shared/lib/router/utils/is-bot"); const _addbasepath = require("../add-base-path"); const _approuterannouncer = require("./app-router-announcer"); const _redirectboundary = require("./redirect-boundary"); const _findheadincache = require("./router-reducer/reducers/find-head-in-cache"); const _unresolvedthenable = require("./unresolved-thenable"); const _removebasepath = require("../remove-base-path"); const _hasbasepath = require("../has-base-path"); const _computechangedpath = require("./router-reducer/compute-changed-path"); const _navfailurehandler = require("./nav-failure-handler"); const _approuterinstance = require("./app-router-instance"); const _redirect = require("./redirect"); const _redirecterror = require("./redirect-error"); const _links = require("./links"); const _rooterrorboundary = /*#__PURE__*/ _interop_require_default._(require("./errors/root-error-boundary")); const _globalerror = /*#__PURE__*/ _interop_require_default._(require("./builtin/global-error")); const _boundarycomponents = require("../../lib/framework/boundary-components"); const globalMutable = {}; function isExternalURL(url) { return url.origin !== window.location.origin; } function createPrefetchURL(href) { // Don't prefetch for bots as they don't navigate. if ((0, _isbot.isBot)(window.navigator.userAgent)) { return null; } let url; try { url = new URL((0, _addbasepath.addBasePath)(href), window.location.href); } catch (_) { // TODO: Does this need to throw or can we just console.error instead? Does // anyone rely on this throwing? (Seems unlikely.) throw Object.defineProperty(new Error("Cannot prefetch '" + href + "' because it cannot be converted to a URL."), "__NEXT_ERROR_CODE", { value: "E234", enumerable: false, configurable: true }); } // Don't prefetch during development (improves compilation performance) if ("production" === 'development') { return null; } // External urls can't be prefetched in the same way. if (isExternalURL(url)) { return null; } return url; } function HistoryUpdater(param) { let { appRouterState } = param; (0, _react.useInsertionEffect)(()=>{ if (process.env.__NEXT_APP_NAV_FAIL_HANDLING) { // clear pending URL as navigation is no longer // in flight window.next.__pendingUrl = undefined; } const { tree, pushRef, canonicalUrl } = appRouterState; const historyState = { ...pushRef.preserveCustomHistoryState ? window.history.state : {}, // Identifier is shortened intentionally. // __NA is used to identify if the history entry can be handled by the app-router. // __N is used to identify if the history entry can be handled by the old router. __NA: true, __PRIVATE_NEXTJS_INTERNALS_TREE: tree }; if (pushRef.pendingPush && // Skip pushing an additional history entry if the canonicalUrl is the same as the current url. // This mirrors the browser behavior for normal navigation. (0, _createhreffromurl.createHrefFromUrl)(new URL(window.location.href)) !== canonicalUrl) { // This intentionally mutates React state, pushRef is overwritten to ensure additional push/replace calls do not trigger an additional history entry. pushRef.pendingPush = false; window.history.pushState(historyState, '', canonicalUrl); } else { window.history.replaceState(historyState, '', canonicalUrl); } }, [ appRouterState ]); (0, _react.useEffect)(()=>{ // The Next-Url and the base tree may affect the result of a prefetch // task. Re-prefetch all visible links with the updated values. In most // cases, this will not result in any new network requests, only if // the prefetch result actually varies on one of these inputs. if (process.env.__NEXT_CLIENT_SEGMENT_CACHE) { (0, _links.pingVisibleLinks)(appRouterState.nextUrl, appRouterState.tree); } }, [ appRouterState.nextUrl, appRouterState.tree ]); return null; } function createEmptyCacheNode() { return { lazyData: null, rsc: null, prefetchRsc: null, head: null, prefetchHead: null, parallelRoutes: new Map(), loading: null, navigatedAt: -1 }; } function copyNextJsInternalHistoryState(data) { if (data == null) data = {}; const currentState = window.history.state; const __NA = currentState == null ? void 0 : currentState.__NA; if (__NA) { data.__NA = __NA; } const __PRIVATE_NEXTJS_INTERNALS_TREE = currentState == null ? void 0 : currentState.__PRIVATE_NEXTJS_INTERNALS_TREE; if (__PRIVATE_NEXTJS_INTERNALS_TREE) { data.__PRIVATE_NEXTJS_INTERNALS_TREE = __PRIVATE_NEXTJS_INTERNALS_TREE; } return data; } function Head(param) { let { headCacheNode } = param; // If this segment has a `prefetchHead`, it's the statically prefetched data. // We should use that on initial render instead of `head`. Then we'll switch // to `head` when the dynamic response streams in. const head = headCacheNode !== null ? headCacheNode.head : null; const prefetchHead = headCacheNode !== null ? headCacheNode.prefetchHead : null; // If no prefetch data is available, then we go straight to rendering `head`. const resolvedPrefetchRsc = prefetchHead !== null ? prefetchHead : head; // We use `useDeferredValue` to handle switching between the prefetched and // final values. The second argument is returned on initial render, then it // re-renders with the first argument. return (0, _react.useDeferredValue)(head, resolvedPrefetchRsc); } /** * The global router that wraps the application components. */ function Router(param) { let { actionQueue, assetPrefix, globalError } = param; const state = (0, _useactionqueue.useActionQueue)(actionQueue); const { canonicalUrl } = state; // Add memoized pathname/query for useSearchParams and usePathname. const { searchParams, pathname } = (0, _react.useMemo)(()=>{ const url = new URL(canonicalUrl, "object" === 'undefined' ? 'http://n' : window.location.href); return { // This is turned into a readonly class in `useSearchParams` searchParams: url.searchParams, pathname: (0, _hasbasepath.hasBasePath)(url.pathname) ? (0, _removebasepath.removeBasePath)(url.pathname) : url.pathname }; }, [ canonicalUrl ]); if ("production" !== 'production') { // eslint-disable-next-line react-hooks/rules-of-hooks const { cache, prefetchCache, tree } = state; // This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes // eslint-disable-next-line react-hooks/rules-of-hooks (0, _react.useEffect)(()=>{ // Add `window.nd` for debugging purposes. // This is not meant for use in applications as concurrent rendering will affect the cache/tree/router. // @ts-ignore this is for debugging window.nd = { router: _approuterinstance.publicAppRouterInstance, cache, prefetchCache, tree }; }, [ cache, prefetchCache, tree ]); } (0, _react.useEffect)(()=>{ // If the app is restored from bfcache, it's possible that // pushRef.mpaNavigation is true, which would mean that any re-render of this component // would trigger the mpa navigation logic again from the lines below. // This will restore the router to the initial state in the event that the app is restored from bfcache. function handlePageShow(event) { var _window_history_state; if (!event.persisted || !((_window_history_state = window.history.state) == null ? void 0 : _window_history_state.__PRIVATE_NEXTJS_INTERNALS_TREE)) { return; } // Clear the pendingMpaPath value so that a subsequent MPA navigation to the same URL can be triggered. // This is necessary because if the browser restored from bfcache, the pendingMpaPath would still be set to the value // of the last MPA navigation. globalMutable.pendingMpaPath = undefined; (0, _useactionqueue.dispatchAppRouterAction)({ type: _routerreducertypes.ACTION_RESTORE, url: new URL(window.location.href), tree: window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE }); } window.addEventListener('pageshow', handlePageShow); return ()=>{ window.removeEventListener('pageshow', handlePageShow); }; }, []); (0, _react.useEffect)(()=>{ // Ensure that any redirect errors that bubble up outside of the RedirectBoundary // are caught and handled by the router. function handleUnhandledRedirect(event) { const error = 'reason' in event ? event.reason : event.error; if ((0, _redirecterror.isRedirectError)(error)) { event.preventDefault(); const url = (0, _redirect.getURLFromRedirectError)(error); const redirectType = (0, _redirect.getRedirectTypeFromError)(error); // TODO: This should access the router methods directly, rather than // go through the public interface. if (redirectType === _redirecterror.RedirectType.push) { _approuterinstance.publicAppRouterInstance.push(url, {}); } else { _approuterinstance.publicAppRouterInstance.replace(url, {}); } } } window.addEventListener('error', handleUnhandledRedirect); window.addEventListener('unhandledrejection', handleUnhandledRedirect); return ()=>{ window.removeEventListener('error', handleUnhandledRedirect); window.removeEventListener('unhandledrejection', handleUnhandledRedirect); }; }, []); // When mpaNavigation flag is set do a hard navigation to the new url. // Infinitely suspend because we don't actually want to rerender any child // components with the new URL and any entangled state updates shouldn't // commit either (eg: useTransition isPending should stay true until the page // unloads). // // This is a side effect in render. Don't try this at home, kids. It's // probably safe because we know this is a singleton component and it's never // in . At least I hope so. (It will run twice in dev strict mode, // but that's... fine?) const { pushRef } = state; if (pushRef.mpaNavigation) { // if there's a re-render, we don't want to trigger another redirect if one is already in flight to the same URL if (globalMutable.pendingMpaPath !== canonicalUrl) { const location = window.location; if (pushRef.pendingPush) { location.assign(canonicalUrl); } else { location.replace(canonicalUrl); } globalMutable.pendingMpaPath = canonicalUrl; } // TODO-APP: Should we listen to navigateerror here to catch failed // navigations somehow? And should we call window.stop() if a SPA navigation // should interrupt an MPA one? // NOTE: This is intentionally using `throw` instead of `use` because we're // inside an externally mutable condition (pushRef.mpaNavigation), which // violates the rules of hooks. throw _unresolvedthenable.unresolvedThenable; } (0, _react.useEffect)(()=>{ const originalPushState = window.history.pushState.bind(window.history); const originalReplaceState = window.history.replaceState.bind(window.history); // Ensure the canonical URL in the Next.js Router is updated when the URL is changed so that `usePathname` and `useSearchParams` hold the pushed values. const applyUrlFromHistoryPushReplace = (url)=>{ var _window_history_state; const href = window.location.href; const tree = (_window_history_state = window.history.state) == null ? void 0 : _window_history_state.__PRIVATE_NEXTJS_INTERNALS_TREE; (0, _react.startTransition)(()=>{ (0, _useactionqueue.dispatchAppRouterAction)({ type: _routerreducertypes.ACTION_RESTORE, url: new URL(url != null ? url : href, href), tree }); }); }; /** * Patch pushState to ensure external changes to the history are reflected in the Next.js Router. * Ensures Next.js internal history state is copied to the new history entry. * Ensures usePathname and useSearchParams hold the newly provided url. */ window.history.pushState = function pushState(data, _unused, url) { // Avoid a loop when Next.js internals trigger pushState/replaceState if ((data == null ? void 0 : data.__NA) || (data == null ? void 0 : data._N)) { return originalPushState(data, _unused, url); } data = copyNextJsInternalHistoryState(data); if (url) { applyUrlFromHistoryPushReplace(url); } return originalPushState(data, _unused, url); }; /** * Patch replaceState to ensure external changes to the history are reflected in the Next.js Router. * Ensures Next.js internal history state is copied to the new history entry. * Ensures usePathname and useSearchParams hold the newly provided url. */ window.history.replaceState = function replaceState(data, _unused, url) { // Avoid a loop when Next.js internals trigger pushState/replaceState if ((data == null ? void 0 : data.__NA) || (data == null ? void 0 : data._N)) { return originalReplaceState(data, _unused, url); } data = copyNextJsInternalHistoryState(data); if (url) { applyUrlFromHistoryPushReplace(url); } return originalReplaceState(data, _unused, url); }; /** * Handle popstate event, this is used to handle back/forward in the browser. * By default dispatches ACTION_RESTORE, however if the history entry was not pushed/replaced by app-router it will reload the page. * That case can happen when the old router injected the history entry. */ const onPopState = (event)=>{ if (!event.state) { // TODO-APP: this case only happens when pushState/replaceState was called outside of Next.js. It should probably reload the page in this case. return; } // This case happens when the history entry was pushed by the `pages` router. if (!event.state.__NA) { window.location.reload(); return; } // TODO-APP: Ideally the back button should not use startTransition as it should apply the updates synchronously // Without startTransition works if the cache is there for this path (0, _react.startTransition)(()=>{ (0, _approuterinstance.dispatchTraverseAction)(window.location.href, event.state.__PRIVATE_NEXTJS_INTERNALS_TREE); }); }; // Register popstate event to call onPopstate. window.addEventListener('popstate', onPopState); return ()=>{ window.history.pushState = originalPushState; window.history.replaceState = originalReplaceState; window.removeEventListener('popstate', onPopState); }; }, []); const { cache, tree, nextUrl, focusAndScrollRef } = state; const matchingHead = (0, _react.useMemo)(()=>{ return (0, _findheadincache.findHeadInCache)(cache, tree[1]); }, [ cache, tree ]); // Add memoized pathParams for useParams. const pathParams = (0, _react.useMemo)(()=>{ return (0, _computechangedpath.getSelectedParams)(tree); }, [ tree ]); const layoutRouterContext = (0, _react.useMemo)(()=>{ return { parentTree: tree, parentCacheNode: cache, parentSegmentPath: null, // Root node always has `url` // Provided in AppTreeContext to ensure it can be overwritten in layout-router url: canonicalUrl }; }, [ tree, cache, canonicalUrl ]); const globalLayoutRouterContext = (0, _react.useMemo)(()=>{ return { tree, focusAndScrollRef, nextUrl }; }, [ tree, focusAndScrollRef, nextUrl ]); let head; if (matchingHead !== null) { // The head is wrapped in an extra component so we can use // `useDeferredValue` to swap between the prefetched and final versions of // the head. (This is what LayoutRouter does for segment data, too.) // // The `key` is used to remount the component whenever the head moves to // a different segment. const [headCacheNode, headKey, headKeyWithoutSearchParams] = matchingHead; head = /*#__PURE__*/ (0, _jsxruntime.jsx)(Head, { headCacheNode: headCacheNode }, "object" === 'undefined' ? headKeyWithoutSearchParams : headKey); } else { head = null; } let content = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_redirectboundary.RedirectBoundary, { children: [ head, /*#__PURE__*/ (0, _jsxruntime.jsx)(_boundarycomponents.RootLayoutBoundary, { children: cache.rsc }), /*#__PURE__*/ (0, _jsxruntime.jsx)(_approuterannouncer.AppRouterAnnouncer, { tree: tree }) ] }); if ("production" !== 'production') { // In development, we apply few error boundaries and hot-reloader: // - DevRootHTTPAccessFallbackBoundary: avoid using navigation API like notFound() in root layout // - HotReloader: // - hot-reload the app when the code changes // - render dev overlay // - catch runtime errors and display global-error when necessary if ("object" !== 'undefined') { const { DevRootHTTPAccessFallbackBoundary } = require('./dev-root-http-access-fallback-boundary'); content = /*#__PURE__*/ (0, _jsxruntime.jsx)(DevRootHTTPAccessFallbackBoundary, { children: content }); } const HotReloader = require('../dev/hot-reloader/app/hot-reloader-app').default; content = /*#__PURE__*/ (0, _jsxruntime.jsx)(HotReloader, { assetPrefix: assetPrefix, globalError: globalError, children: content }); } else { content = /*#__PURE__*/ (0, _jsxruntime.jsx)(_rooterrorboundary.default, { errorComponent: globalError[0], errorStyles: globalError[1], children: content }); } return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, { children: [ /*#__PURE__*/ (0, _jsxruntime.jsx)(HistoryUpdater, { appRouterState: state }), /*#__PURE__*/ (0, _jsxruntime.jsx)(RuntimeStyles, {}), /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.PathParamsContext.Provider, { value: pathParams, children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.PathnameContext.Provider, { value: pathname, children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.SearchParamsContext.Provider, { value: searchParams, children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.GlobalLayoutRouterContext.Provider, { value: globalLayoutRouterContext, children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.AppRouterContext.Provider, { value: _approuterinstance.publicAppRouterInstance, children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.LayoutRouterContext.Provider, { value: layoutRouterContext, children: content }) }) }) }) }) }) ] }); } function AppRouter(param) { let { actionQueue, globalErrorState, assetPrefix } = param; (0, _navfailurehandler.useNavFailureHandler)(); const router = /*#__PURE__*/ (0, _jsxruntime.jsx)(Router, { actionQueue: actionQueue, assetPrefix: assetPrefix, globalError: globalErrorState }); // At the very top level, use the default GlobalError component as the final fallback. // When the app router itself fails, which means the framework itself fails, we show the default error. return /*#__PURE__*/ (0, _jsxruntime.jsx)(_rooterrorboundary.default, { errorComponent: _globalerror.default, children: router }); } const runtimeStyles = new Set(); let runtimeStyleChanged = new Set(); globalThis._N_E_STYLE_LOAD = function(href) { let len = runtimeStyles.size; runtimeStyles.add(href); if (runtimeStyles.size !== len) { runtimeStyleChanged.forEach((cb)=>cb()); } // TODO figure out how to get a promise here // But maybe it's not necessary as react would block rendering until it's loaded return Promise.resolve(); }; function RuntimeStyles() { const [, forceUpdate] = _react.default.useState(0); const renderedStylesSize = runtimeStyles.size; (0, _react.useEffect)(()=>{ const changed = ()=>forceUpdate((c)=>c + 1); runtimeStyleChanged.add(changed); if (renderedStylesSize !== runtimeStyles.size) { changed(); } return ()=>{ runtimeStyleChanged.delete(changed); }; }, [ renderedStylesSize, forceUpdate ]); const dplId = process.env.NEXT_DEPLOYMENT_ID ? "?dpl=" + process.env.NEXT_DEPLOYMENT_ID : ''; return [ ...runtimeStyles ].map((href, i)=>/*#__PURE__*/ (0, _jsxruntime.jsx)("link", { rel: "stylesheet", href: "" + href + dplId, // @ts-ignore precedence: "next" }, i)); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=app-router.js.map dH5ACo_ƒƒŒû+QWY‚š ¢´ñ÷ùÿ+13f†ŒŽ´ÓÙÛ_.46k‡¢µ»½âû4:<Sqwyª°²ßÿ_9?AUntv‡§­¯Õôúü179Oekmx“™›¬¿ÅÇÏ_   <  … ‡ ž ¿ Å Ç ï g „ ‡ ¢ £ÊÍ^|¢¥{’–Ÿþ  K#KK6K:KSK5MQMTMQ‘^®^²^Ù^€®Object.defineProperty(exports, "__esModule", (‚))0“__webpack_require__„8140þ„9417ý„5155ü„2115û„6752ú„6871ù„9658ø„3865÷„6248ö„3913õ„6058ô„3443óƒ531òƒ836ñ„8359ð„1755ï„2929î„6343í„1489ì„1807ë„6542ê„6437é„3499è„8890ç„7150æ„4431…false‚{}þÿþÿ† false0ýþÿ0ýþÿ0 ±€V/* __next_internal_client_entry_do_not_use__ cjs */ Object.defineProperty(exports, "__esModule", ({ value: true })); 0 && (0); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { createEmptyCacheNode: function() { return createEmptyCacheNode; }, createPrefetchURL: function() { return createPrefetchURL; }, default: function() { return AppRouter; }, isExternalURL: function() { return isExternalURL; } }); const _interop_require_default = __webpack_require__(8140); const _interop_require_wildcard = __webpack_require__(9417); const _jsxruntime = __webpack_require__(5155); const _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(2115)); const _approutercontextsharedruntime = __webpack_require__(6752); const _routerreducertypes = __webpack_require__(6871); const _createhreffromurl = __webpack_require__(9658); const _hooksclientcontextsharedruntime = __webpack_require__(3865); const _useactionqueue = __webpack_require__(6248); const _isbot = __webpack_require__(3913); const _addbasepath = __webpack_require__(6058); const _approuterannouncer = __webpack_require__(3443); const _redirectboundary = __webpack_require__(531); const _findheadincache = __webpack_require__(836); const _unresolvedthenable = __webpack_require__(8359); const _removebasepath = __webpack_require__(1755); const _hasbasepath = __webpack_require__(2929); const _computechangedpath = __webpack_require__(6343); const _navfailurehandler = __webpack_require__(1489); const _approuterinstance = __webpack_require__(1807); const _redirect = __webpack_require__(6542); const _redirecterror = __webpack_require__(6437); const _links = __webpack_require__(3499); const _rooterrorboundary = /*#__PURE__*/ _interop_require_default._(__webpack_require__(8890)); const _globalerror = /*#__PURE__*/ _interop_require_default._(__webpack_require__(7150)); const _boundarycomponents = __webpack_require__(4431); const globalMutable = {}; function isExternalURL(url) { return url.origin !== window.location.origin; } function createPrefetchURL(href) { // Don't prefetch for bots as they don't navigate. if ((0, _isbot.isBot)(window.navigator.userAgent)) { return null; } let url; try { url = new URL((0, _addbasepath.addBasePath)(href), window.location.href); } catch (_) { // TODO: Does this need to throw or can we just console.error instead? Does // anyone rely on this throwing? (Seems unlikely.) throw Object.defineProperty(new Error("Cannot prefetch '" + href + "' because it cannot be converted to a URL."), "__NEXT_ERROR_CODE", { value: "E234", enumerable: false, configurable: true }); } // Don't prefetch during development (improves compilation performance) if (false) {} // External urls can't be prefetched in the same way. if (isExternalURL(url)) { return null; } return url; } function HistoryUpdater(param) { let { appRouterState } = param; (0, _react.useInsertionEffect)(()=>{ if (false) {} const { tree, pushRef, canonicalUrl } = appRouterState; const historyState = { ...pushRef.preserveCustomHistoryState ? window.history.state : {}, // Identifier is shortened intentionally. // __NA is used to identify if the history entry can be handled by the app-router. // __N is used to identify if the history entry can be handled by the old router. __NA: true, __PRIVATE_NEXTJS_INTERNALS_TREE: tree }; if (pushRef.pendingPush && // Skip pushing an additional history entry if the canonicalUrl is the same as the current url. // This mirrors the browser behavior for normal navigation. (0, _createhreffromurl.createHrefFromUrl)(new URL(window.location.href)) !== canonicalUrl) { // This intentionally mutates React state, pushRef is overwritten to ensure additional push/replace calls do not trigger an additional history entry. pushRef.pendingPush = false; window.history.pushState(historyState, '', canonicalUrl); } else { window.history.replaceState(historyState, '', canonicalUrl); } }, [ appRouterState ]); (0, _react.useEffect)(()=>{ // The Next-Url and the base tree may affect the result of a prefetch // task. Re-prefetch all visible links with the updated values. In most // cases, this will not result in any new network requests, only if // the prefetch result actually varies on one of these inputs. if (false) {} }, [ appRouterState.nextUrl, appRouterState.tree ]); return null; } function createEmptyCacheNode() { return { lazyData: null, rsc: null, prefetchRsc: null, head: null, prefetchHead: null, parallelRoutes: new Map(), loading: null, navigatedAt: -1 }; } function copyNextJsInternalHistoryState(data) { if (data == null) data = {}; const currentState = window.history.state; const __NA = currentState == null ? void 0 : currentState.__NA; if (__NA) { data.__NA = __NA; } const __PRIVATE_NEXTJS_INTERNALS_TREE = currentState == null ? void 0 : currentState.__PRIVATE_NEXTJS_INTERNALS_TREE; if (__PRIVATE_NEXTJS_INTERNALS_TREE) { data.__PRIVATE_NEXTJS_INTERNALS_TREE = __PRIVATE_NEXTJS_INTERNALS_TREE; } return data; } function Head(param) { let { headCacheNode } = param; // If this segment has a `prefetchHead`, it's the statically prefetched data. // We should use that on initial render instead of `head`. Then we'll switch // to `head` when the dynamic response streams in. const head = headCacheNode !== null ? headCacheNode.head : null; const prefetchHead = headCacheNode !== null ? headCacheNode.prefetchHead : null; // If no prefetch data is available, then we go straight to rendering `head`. const resolvedPrefetchRsc = prefetchHead !== null ? prefetchHead : head; // We use `useDeferredValue` to handle switching between the prefetched and // final values. The second argument is returned on initial render, then it // re-renders with the first argument. return (0, _react.useDeferredValue)(head, resolvedPrefetchRsc); } /** * The global router that wraps the application components. */ function Router(param) { let { actionQueue, assetPrefix, globalError } = param; const state = (0, _useactionqueue.useActionQueue)(actionQueue); const { canonicalUrl } = state; // Add memoized pathname/query for useSearchParams and usePathname. const { searchParams, pathname } = (0, _react.useMemo)(()=>{ const url = new URL(canonicalUrl, false ? 0 : window.location.href); return { // This is turned into a readonly class in `useSearchParams` searchParams: url.searchParams, pathname: (0, _hasbasepath.hasBasePath)(url.pathname) ? (0, _removebasepath.removeBasePath)(url.pathname) : url.pathname }; }, [ canonicalUrl ]); if (false) {} (0, _react.useEffect)(()=>{ // If the app is restored from bfcache, it's possible that // pushRef.mpaNavigation is true, which would mean that any re-render of this component // would trigger the mpa navigation logic again from the lines below. // This will restore the router to the initial state in the event that the app is restored from bfcache. function handlePageShow(event) { var _window_history_state; if (!event.persisted || !((_window_history_state = window.history.state) == null ? void 0 : _window_history_state.__PRIVATE_NEXTJS_INTERNALS_TREE)) { return; } // Clear the pendingMpaPath value so that a subsequent MPA navigation to the same URL can be triggered. // This is necessary because if the browser restored from bfcache, the pendingMpaPath would still be set to the value // of the last MPA navigation. globalMutable.pendingMpaPath = undefined; (0, _useactionqueue.dispatchAppRouterAction)({ type: _routerreducertypes.ACTION_RESTORE, url: new URL(window.location.href), tree: window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE }); } window.addEventListener('pageshow', handlePageShow); return ()=>{ window.removeEventListener('pageshow', handlePageShow); }; }, []); (0, _react.useEffect)(()=>{ // Ensure that any redirect errors that bubble up outside of the RedirectBoundary // are caught and handled by the router. function handleUnhandledRedirect(event) { const error = 'reason' in event ? event.reason : event.error; if ((0, _redirecterror.isRedirectError)(error)) { event.preventDefault(); const url = (0, _redirect.getURLFromRedirectError)(error); const redirectType = (0, _redirect.getRedirectTypeFromError)(error); // TODO: This should access the router methods directly, rather than // go through the public interface. if (redirectType === _redirecterror.RedirectType.push) { _approuterinstance.publicAppRouterInstance.push(url, {}); } else { _approuterinstance.publicAppRouterInstance.replace(url, {}); } } } window.addEventListener('error', handleUnhandledRedirect); window.addEventListener('unhandledrejection', handleUnhandledRedirect); return ()=>{ window.removeEventListener('error', handleUnhandledRedirect); window.removeEventListener('unhandledrejection', handleUnhandledRedirect); }; }, []); // When mpaNavigation flag is set do a hard navigation to the new url. // Infinitely suspend because we don't actually want to rerender any child // components with the new URL and any entangled state updates shouldn't // commit either (eg: useTransition isPending should stay true until the page // unloads). // // This is a side effect in render. Don't try this at home, kids. It's // probably safe because we know this is a singleton component and it's never // in . At least I hope so. (It will run twice in dev strict mode, // but that's... fine?) const { pushRef } = state; if (pushRef.mpaNavigation) { // if there's a re-render, we don't want to trigger another redirect if one is already in flight to the same URL if (globalMutable.pendingMpaPath !== canonicalUrl) { const location = window.location; if (pushRef.pendingPush) { location.assign(canonicalUrl); } else { location.replace(canonicalUrl); } globalMutable.pendingMpaPath = canonicalUrl; } // TODO-APP: Should we listen to navigateerror here to catch failed // navigations somehow? And should we call window.stop() if a SPA navigation // should interrupt an MPA one? // NOTE: This is intentionally using `throw` instead of `use` because we're // inside an externally mutable condition (pushRef.mpaNavigation), which // violates the rules of hooks. throw _unresolvedthenable.unresolvedThenable; } (0, _react.useEffect)(()=>{ const originalPushState = window.history.pushState.bind(window.history); const originalReplaceState = window.history.replaceState.bind(window.history); // Ensure the canonical URL in the Next.js Router is updated when the URL is changed so that `usePathname` and `useSearchParams` hold the pushed values. const applyUrlFromHistoryPushReplace = (url)=>{ var _window_history_state; const href = window.location.href; const tree = (_window_history_state = window.history.state) == null ? void 0 : _window_history_state.__PRIVATE_NEXTJS_INTERNALS_TREE; (0, _react.startTransition)(()=>{ (0, _useactionqueue.dispatchAppRouterAction)({ type: _routerreducertypes.ACTION_RESTORE, url: new URL(url != null ? url : href, href), tree }); }); }; /** * Patch pushState to ensure external changes to the history are reflected in the Next.js Router. * Ensures Next.js internal history state is copied to the new history entry. * Ensures usePathname and useSearchParams hold the newly provided url. */ window.history.pushState = function pushState(data, _unused, url) { // Avoid a loop when Next.js internals trigger pushState/replaceState if ((data == null ? void 0 : data.__NA) || (data == null ? void 0 : data._N)) { return originalPushState(data, _unused, url); } data = copyNextJsInternalHistoryState(data); if (url) { applyUrlFromHistoryPushReplace(url); } return originalPushState(data, _unused, url); }; /** * Patch replaceState to ensure external changes to the history are reflected in the Next.js Router. * Ensures Next.js internal history state is copied to the new history entry. * Ensures usePathname and useSearchParams hold the newly provided url. */ window.history.replaceState = function replaceState(data, _unused, url) { // Avoid a loop when Next.js internals trigger pushState/replaceState if ((data == null ? void 0 : data.__NA) || (data == null ? void 0 : data._N)) { return originalReplaceState(data, _unused, url); } data = copyNextJsInternalHistoryState(data); if (url) { applyUrlFromHistoryPushReplace(url); } return originalReplaceState(data, _unused, url); }; /** * Handle popstate event, this is used to handle back/forward in the browser. * By default dispatches ACTION_RESTORE, however if the history entry was not pushed/replaced by app-router it will reload the page. * That case can happen when the old router injected the history entry. */ const onPopState = (event)=>{ if (!event.state) { // TODO-APP: this case only happens when pushState/replaceState was called outside of Next.js. It should probably reload the page in this case. return; } // This case happens when the history entry was pushed by the `pages` router. if (!event.state.__NA) { window.location.reload(); return; } // TODO-APP: Ideally the back button should not use startTransition as it should apply the updates synchronously // Without startTransition works if the cache is there for this path (0, _react.startTransition)(()=>{ (0, _approuterinstance.dispatchTraverseAction)(window.location.href, event.state.__PRIVATE_NEXTJS_INTERNALS_TREE); }); }; // Register popstate event to call onPopstate. window.addEventListener('popstate', onPopState); return ()=>{ window.history.pushState = originalPushState; window.history.replaceState = originalReplaceState; window.removeEventListener('popstate', onPopState); }; }, []); const { cache, tree, nextUrl, focusAndScrollRef } = state; const matchingHead = (0, _react.useMemo)(()=>{ return (0, _findheadincache.findHeadInCache)(cache, tree[1]); }, [ cache, tree ]); // Add memoized pathParams for useParams. const pathParams = (0, _react.useMemo)(()=>{ return (0, _computechangedpath.getSelectedParams)(tree); }, [ tree ]); const layoutRouterContext = (0, _react.useMemo)(()=>{ return { parentTree: tree, parentCacheNode: cache, parentSegmentPath: null, // Root node always has `url` // Provided in AppTreeContext to ensure it can be overwritten in layout-router url: canonicalUrl }; }, [ tree, cache, canonicalUrl ]); const globalLayoutRouterContext = (0, _react.useMemo)(()=>{ return { tree, focusAndScrollRef, nextUrl }; }, [ tree, focusAndScrollRef, nextUrl ]); let head; if (matchingHead !== null) { // The head is wrapped in an extra component so we can use // `useDeferredValue` to swap between the prefetched and final versions of // the head. (This is what LayoutRouter does for segment data, too.) // // The `key` is used to remount the component whenever the head moves to // a different segment. const [headCacheNode, headKey, headKeyWithoutSearchParams] = matchingHead; head = /*#__PURE__*/ (0, _jsxruntime.jsx)(Head, { headCacheNode: headCacheNode }, false ? 0 : headKey); } else { head = null; } let content = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_redirectboundary.RedirectBoundary, { children: [ head, /*#__PURE__*/ (0, _jsxruntime.jsx)(_boundarycomponents.RootLayoutBoundary, { children: cache.rsc }), /*#__PURE__*/ (0, _jsxruntime.jsx)(_approuterannouncer.AppRouterAnnouncer, { tree: tree }) ] }); if (false) {} else { content = /*#__PURE__*/ (0, _jsxruntime.jsx)(_rooterrorboundary.default, { errorComponent: globalError[0], errorStyles: globalError[1], children: content }); } return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, { children: [ /*#__PURE__*/ (0, _jsxruntime.jsx)(HistoryUpdater, { appRouterState: state }), /*#__PURE__*/ (0, _jsxruntime.jsx)(RuntimeStyles, {}), /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.PathParamsContext.Provider, { value: pathParams, children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.PathnameContext.Provider, { value: pathname, children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.SearchParamsContext.Provider, { value: searchParams, children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.GlobalLayoutRouterContext.Provider, { value: globalLayoutRouterContext, children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.AppRouterContext.Provider, { value: _approuterinstance.publicAppRouterInstance, children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.LayoutRouterContext.Provider, { value: layoutRouterContext, children: content }) }) }) }) }) }) ] }); } function AppRouter(param) { let { actionQueue, globalErrorState, assetPrefix } = param; (0, _navfailurehandler.useNavFailureHandler)(); const router = /*#__PURE__*/ (0, _jsxruntime.jsx)(Router, { actionQueue: actionQueue, assetPrefix: assetPrefix, globalError: globalErrorState }); // At the very top level, use the default GlobalError component as the final fallback. // When the app router itself fails, which means the framework itself fails, we show the default error. return /*#__PURE__*/ (0, _jsxruntime.jsx)(_rooterrorboundary.default, { errorComponent: _globalerror.default, children: router }); } const runtimeStyles = new Set(); let runtimeStyleChanged = new Set(); globalThis._N_E_STYLE_LOAD = function(href) { let len = runtimeStyles.size; runtimeStyles.add(href); if (runtimeStyles.size !== len) { runtimeStyleChanged.forEach((cb)=>cb()); } // TODO figure out how to get a promise here // But maybe it's not necessary as react would block rendering until it's loaded return Promise.resolve(); }; function RuntimeStyles() { const [, forceUpdate] = _react.default.useState(0); const renderedStylesSize = runtimeStyles.size; (0, _react.useEffect)(()=>{ const changed = ()=>forceUpdate((c)=>c + 1); runtimeStyleChanged.add(changed); if (renderedStylesSize !== runtimeStyles.size) { changed(); } return ()=>{ runtimeStyleChanged.delete(changed); }; }, [ renderedStylesSize, forceUpdate ]); const dplId = false ? 0 : ''; return [ ...runtimeStyles ].map((href, i)=>/*#__PURE__*/ (0, _jsxruntime.jsx)("link", { rel: "stylesheet", href: "" + href + dplId, // @ts-ignore precedence: "next" }, i)); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=app-router.js.map ² µ  ¶Ra/* __next_internal_client_entry_do_not_use__ cjs */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { createEmptyCacheNode: null, createPrefetchURL: null, default: null, isExternalURL: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { createEmptyCacheNode: function() { return createEmptyCacheNode; }, createPrefetchURL: function() { return createPrefetchURL; }, default: function() { return AppRouter; }, isExternalURL: function() { return isExternalURL; } }); const _interop_require_default = require("@swc/helpers/_/_interop_require_default"); const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard"); const _jsxruntime = require("react/jsx-runtime"); const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react")); const _approutercontextsharedruntime = require("../../shared/lib/app-router-context.shared-runtime"); const _routerreducertypes = require("./router-reducer/router-reducer-types"); const _createhreffromurl = require("./router-reducer/create-href-from-url"); const _hooksclientcontextsharedruntime = require("../../shared/lib/hooks-client-context.shared-runtime"); const _useactionqueue = require("./use-action-queue"); const _isbot = require("../../shared/lib/router/utils/is-bot"); const _addbasepath = require("../add-base-path"); const _approuterannouncer = require("./app-router-announcer"); const _redirectboundary = require("./redirect-boundary"); const _findheadincache = require("./router-reducer/reducers/find-head-in-cache"); const _unresolvedthenable = require("./unresolved-thenable"); const _removebasepath = require("../remove-base-path"); const _hasbasepath = require("../has-base-path"); const _computechangedpath = require("./router-reducer/compute-changed-path"); const _navfailurehandler = require("./nav-failure-handler"); const _approuterinstance = require("./app-router-instance"); const _redirect = require("./redirect"); const _redirecterror = require("./redirect-error"); const _links = require("./links"); const _rooterrorboundary = /*#__PURE__*/ _interop_require_default._(require("./errors/root-error-boundary")); const _globalerror = /*#__PURE__*/ _interop_require_default._(require("./builtin/global-error")); const _boundarycomponents = require("../../lib/framework/boundary-components"); const globalMutable = {}; function isExternalURL(url) { return url.origin !== window.location.origin; } function createPrefetchURL(href) { // Don't prefetch for bots as they don't navigate. if ((0, _isbot.isBot)(window.navigator.userAgent)) { return null; } let url; try { url = new URL((0, _addbasepath.addBasePath)(href), window.location.href); } catch (_) { // TODO: Does this need to throw or can we just console.error instead? Does // anyone rely on this throwing? (Seems unlikely.) throw Object.defineProperty(new Error("Cannot prefetch '" + href + "' because it cannot be converted to a URL."), "__NEXT_ERROR_CODE", { value: "E234", enumerable: false, configurable: true }); } // Don't prefetch during development (improves compilation performance) if ("production" === 'development') { return null; } // External urls can't be prefetched in the same way. if (isExternalURL(url)) { return null; } return url; } function HistoryUpdater(param) { let { appRouterState } = param; (0, _react.useInsertionEffect)(()=>{ if (process.env.__NEXT_APP_NAV_FAIL_HANDLING) { // clear pending URL as navigation is no longer // in flight window.next.__pendingUrl = undefined; } const { tree, pushRef, canonicalUrl } = appRouterState; const historyState = { ...pushRef.preserveCustomHistoryState ? window.history.state : {}, // Identifier is shortened intentionally. // __NA is used to identify if the history entry can be handled by the app-router. // __N is used to identify if the history entry can be handled by the old router. __NA: true, __PRIVATE_NEXTJS_INTERNALS_TREE: tree }; if (pushRef.pendingPush && // Skip pushing an additional history entry if the canonicalUrl is the same as the current url. // This mirrors the browser behavior for normal navigation. (0, _createhreffromurl.createHrefFromUrl)(new URL(window.location.href)) !== canonicalUrl) { // This intentionally mutates React state, pushRef is overwritten to ensure additional push/replace calls do not trigger an additional history entry. pushRef.pendingPush = false; window.history.pushState(historyState, '', canonicalUrl); } else { window.history.replaceState(historyState, '', canonicalUrl); } }, [ appRouterState ]); (0, _react.useEffect)(()=>{ // The Next-Url and the base tree may affect the result of a prefetch // task. Re-prefetch all visible links with the updated values. In most // cases, this will not result in any new network requests, only if // the prefetch result actually varies on one of these inputs. if (process.env.__NEXT_CLIENT_SEGMENT_CACHE) { (0, _links.pingVisibleLinks)(appRouterState.nextUrl, appRouterState.tree); } }, [ appRouterState.nextUrl, appRouterState.tree ]); return null; } function createEmptyCacheNode() { return { lazyData: null, rsc: null, prefetchRsc: null, head: null, prefetchHead: null, parallelRoutes: new Map(), loading: null, navigatedAt: -1 }; } function copyNextJsInternalHistoryState(data) { if (data == null) data = {}; const currentState = window.history.state; const __NA = currentState == null ? void 0 : currentState.__NA; if (__NA) { data.__NA = __NA; } const __PRIVATE_NEXTJS_INTERNALS_TREE = currentState == null ? void 0 : currentState.__PRIVATE_NEXTJS_INTERNALS_TREE; if (__PRIVATE_NEXTJS_INTERNALS_TREE) { data.__PRIVATE_NEXTJS_INTERNALS_TREE = __PRIVATE_NEXTJS_INTERNALS_TREE; } return data; } function Head(param) { let { headCacheNode } = param; // If this segment has a `prefetchHead`, it's the statically prefetched data. // We should use that on initial render instead of `head`. Then we'll switch // to `head` when the dynamic response streams in. const head = headCacheNode !== null ? headCacheNode.head : null; const prefetchHead = headCacheNode !== null ? headCacheNode.prefetchHead : null; // If no prefetch data is available, then we go straight to rendering `head`. const resolvedPrefetchRsc = prefetchHead !== null ? prefetchHead : head; // We use `useDeferredValue` to handle switching between the prefetched and // final values. The second argument is returned on initial render, then it // re-renders with the first argument. return (0, _react.useDeferredValue)(head, resolvedPrefetchRsc); } /** * The global router that wraps the application components. */ function Router(param) { let { actionQueue, assetPrefix, globalError } = param; const state = (0, _useactionqueue.useActionQueue)(actionQueue); const { canonicalUrl } = state; // Add memoized pathname/query for useSearchParams and usePathname. const { searchParams, pathname } = (0, _react.useMemo)(()=>{ const url = new URL(canonicalUrl, "object" === 'undefined' ? 'http://n' : window.location.href); return { // This is turned into a readonly class in `useSearchParams` searchParams: url.searchParams, pathname: (0, _hasbasepath.hasBasePath)(url.pathname) ? (0, _removebasepath.removeBasePath)(url.pathname) : url.pathname }; }, [ canonicalUrl ]); if ("production" !== 'production') { // eslint-disable-next-line react-hooks/rules-of-hooks const { cache, prefetchCache, tree } = state; // This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes // eslint-disable-next-line react-hooks/rules-of-hooks (0, _react.useEffect)(()=>{ // Add `window.nd` for debugging purposes. // This is not meant for use in applications as concurrent rendering will affect the cache/tree/router. // @ts-ignore this is for debugging window.nd = { router: _approuterinstance.publicAppRouterInstance, cache, prefetchCache, tree }; }, [ cache, prefetchCache, tree ]); } (0, _react.useEffect)(()=>{ // If the app is restored from bfcache, it's possible that // pushRef.mpaNavigation is true, which would mean that any re-render of this component // would trigger the mpa navigation logic again from the lines below. // This will restore the router to the initial state in the event that the app is restored from bfcache. function handlePageShow(event) { var _window_history_state; if (!event.persisted || !((_window_history_state = window.history.state) == null ? void 0 : _window_history_state.__PRIVATE_NEXTJS_INTERNALS_TREE)) { return; } // Clear the pendingMpaPath value so that a subsequent MPA navigation to the same URL can be triggered. // This is necessary because if the browser restored from bfcache, the pendingMpaPath would still be set to the value // of the last MPA navigation. globalMutable.pendingMpaPath = undefined; (0, _useactionqueue.dispatchAppRouterAction)({ type: _routerreducertypes.ACTION_RESTORE, url: new URL(window.location.href), tree: window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE }); } window.addEventListener('pageshow', handlePageShow); return ()=>{ window.removeEventListener('pageshow', handlePageShow); }; }, []); (0, _react.useEffect)(()=>{ // Ensure that any redirect errors that bubble up outside of the RedirectBoundary // are caught and handled by the router. function handleUnhandledRedirect(event) { const error = 'reason' in event ? event.reason : event.error; if ((0, _redirecterror.isRedirectError)(error)) { event.preventDefault(); const url = (0, _redirect.getURLFromRedirectError)(error); const redirectType = (0, _redirect.getRedirectTypeFromError)(error); // TODO: This should access the router methods directly, rather than // go through the public interface. if (redirectType === _redirecterror.RedirectType.push) { _approuterinstance.publicAppRouterInstance.push(url, {}); } else { _approuterinstance.publicAppRouterInstance.replace(url, {}); } } } window.addEventListener('error', handleUnhandledRedirect); window.addEventListener('unhandledrejection', handleUnhandledRedirect); return ()=>{ window.removeEventListener('error', handleUnhandledRedirect); window.removeEventListener('unhandledrejection', handleUnhandledRedirect); }; }, []); // When mpaNavigation flag is set do a hard navigation to the new url. // Infinitely suspend because we don't actually want to rerender any child // components with the new URL and any entangled state updates shouldn't // commit either (eg: useTransition isPending should stay true until the page // unloads). // // This is a side effect in render. Don't try this at home, kids. It's // probably safe because we know this is a singleton component and it's never // in . At least I hope so. (It will run twice in dev strict mode, // but that's... fine?) const { pushRef } = state; if (pushRef.mpaNavigation) { // if there's a re-render, we don't want to trigger another redirect if one is already in flight to the same URL if (globalMutable.pendingMpaPath !== canonicalUrl) { const location = window.location; if (pushRef.pendingPush) { location.assign(canonicalUrl); } else { location.replace(canonicalUrl); } globalMutable.pendingMpaPath = canonicalUrl; } // TODO-APP: Should we listen to navigateerror here to catch failed // navigations somehow? And should we call window.stop() if a SPA navigation // should interrupt an MPA one? // NOTE: This is intentionally using `throw` instead of `use` because we're // inside an externally mutable condition (pushRef.mpaNavigation), which // violates the rules of hooks. throw _unresolvedthenable.unresolvedThenable; } (0, _react.useEffect)(()=>{ const originalPushState = window.history.pushState.bind(window.history); const originalReplaceState = window.history.replaceState.bind(window.history); // Ensure the canonical URL in the Next.js Router is updated when the URL is changed so that `usePathname` and `useSearchParams` hold the pushed values. const applyUrlFromHistoryPushReplace = (url)=>{ var _window_history_state; const href = window.location.href; const tree = (_window_history_state = window.history.state) == null ? void 0 : _window_history_state.__PRIVATE_NEXTJS_INTERNALS_TREE; (0, _react.startTransition)(()=>{ (0, _useactionqueue.dispatchAppRouterAction)({ type: _routerreducertypes.ACTION_RESTORE, url: new URL(url != null ? url : href, href), tree }); }); }; /** * Patch pushState to ensure external changes to the history are reflected in the Next.js Router. * Ensures Next.js internal history state is copied to the new history entry. * Ensures usePathname and useSearchParams hold the newly provided url. */ window.history.pushState = function pushState(data, _unused, url) { // Avoid a loop when Next.js internals trigger pushState/replaceState if ((data == null ? void 0 : data.__NA) || (data == null ? void 0 : data._N)) { return originalPushState(data, _unused, url); } data = copyNextJsInternalHistoryState(data); if (url) { applyUrlFromHistoryPushReplace(url); } return originalPushState(data, _unused, url); }; /** * Patch replaceState to ensure external changes to the history are reflected in the Next.js Router. * Ensures Next.js internal history state is copied to the new history entry. * Ensures usePathname and useSearchParams hold the newly provided url. */ window.history.replaceState = function replaceState(data, _unused, url) { // Avoid a loop when Next.js internals trigger pushState/replaceState if ((data == null ? void 0 : data.__NA) || (data == null ? void 0 : data._N)) { return originalReplaceState(data, _unused, url); } data = copyNextJsInternalHistoryState(data); if (url) { applyUrlFromHistoryPushReplace(url); } return originalReplaceState(data, _unused, url); }; /** * Handle popstate event, this is used to handle back/forward in the browser. * By default dispatches ACTION_RESTORE, however if the history entry was not pushed/replaced by app-router it will reload the page. * That case can happen when the old router injected the history entry. */ const onPopState = (event)=>{ if (!event.state) { // TODO-APP: this case only happens when pushState/replaceState was called outside of Next.js. It should probably reload the page in this case. return; } // This case happens when the history entry was pushed by the `pages` router. if (!event.state.__NA) { window.location.reload(); return; } // TODO-APP: Ideally the back button should not use startTransition as it should apply the updates synchronously // Without startTransition works if the cache is there for this path (0, _react.startTransition)(()=>{ (0, _approuterinstance.dispatchTraverseAction)(window.location.href, event.state.__PRIVATE_NEXTJS_INTERNALS_TREE); }); }; // Register popstate event to call onPopstate. window.addEventListener('popstate', onPopState); return ()=>{ window.history.pushState = originalPushState; window.history.replaceState = originalReplaceState; window.removeEventListener('popstate', onPopState); }; }, []); const { cache, tree, nextUrl, focusAndScrollRef } = state; const matchingHead = (0, _react.useMemo)(()=>{ return (0, _findheadincache.findHeadInCache)(cache, tree[1]); }, [ cache, tree ]); // Add memoized pathParams for useParams. const pathParams = (0, _react.useMemo)(()=>{ return (0, _computechangedpath.getSelectedParams)(tree); }, [ tree ]); const layoutRouterContext = (0, _react.useMemo)(()=>{ return { parentTree: tree, parentCacheNode: cache, parentSegmentPath: null, // Root node always has `url` // Provided in AppTreeContext to ensure it can be overwritten in layout-router url: canonicalUrl }; }, [ tree, cache, canonicalUrl ]); const globalLayoutRouterContext = (0, _react.useMemo)(()=>{ return { tree, focusAndScrollRef, nextUrl }; }, [ tree, focusAndScrollRef, nextUrl ]); let head; if (matchingHead !== null) { // The head is wrapped in an extra component so we can use // `useDeferredValue` to swap between the prefetched and final versions of // the head. (This is what LayoutRouter does for segment data, too.) // // The `key` is used to remount the component whenever the head moves to // a different segment. const [headCacheNode, headKey, headKeyWithoutSearchParams] = matchingHead; head = /*#__PURE__*/ (0, _jsxruntime.jsx)(Head, { headCacheNode: headCacheNode }, "object" === 'undefined' ? headKeyWithoutSearchParams : headKey); } else { head = null; } let content = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_redirectboundary.RedirectBoundary, { children: [ head, /*#__PURE__*/ (0, _jsxruntime.jsx)(_boundarycomponents.RootLayoutBoundary, { children: cache.rsc }), /*#__PURE__*/ (0, _jsxruntime.jsx)(_approuterannouncer.AppRouterAnnouncer, { tree: tree }) ] }); if ("production" !== 'production') { // In development, we apply few error boundaries and hot-reloader: // - DevRootHTTPAccessFallbackBoundary: avoid using navigation API like notFound() in root layout // - HotReloader: // - hot-reload the app when the code changes // - render dev overlay // - catch runtime errors and display global-error when necessary if ("object" !== 'undefined') { const { DevRootHTTPAccessFallbackBoundary } = require('./dev-root-http-access-fallback-boundary'); content = /*#__PURE__*/ (0, _jsxruntime.jsx)(DevRootHTTPAccessFallbackBoundary, { children: content }); } const HotReloader = require('../dev/hot-reloader/app/hot-reloader-app').default; content = /*#__PURE__*/ (0, _jsxruntime.jsx)(HotReloader, { assetPrefix: assetPrefix, globalError: globalError, children: content }); } else { content = /*#__PURE__*/ (0, _jsxruntime.jsx)(_rooterrorboundary.default, { errorComponent: globalError[0], errorStyles: globalError[1], children: content }); } return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, { children: [ /*#__PURE__*/ (0, _jsxruntime.jsx)(HistoryUpdater, { appRouterState: state }), /*#__PURE__*/ (0, _jsxruntime.jsx)(RuntimeStyles, {}), /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.PathParamsContext.Provider, { value: pathParams, children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.PathnameContext.Provider, { value: pathname, children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.SearchParamsContext.Provider, { value: searchParams, children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.GlobalLayoutRouterContext.Provider, { value: globalLayoutRouterContext, children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.AppRouterContext.Provider, { value: _approuterinstance.publicAppRouterInstance, children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.LayoutRouterContext.Provider, { value: layoutRouterContext, children: content }) }) }) }) }) }) ] }); } function AppRouter(param) { let { actionQueue, globalErrorState, assetPrefix } = param; (0, _navfailurehandler.useNavFailureHandler)(); const router = /*#__PURE__*/ (0, _jsxruntime.jsx)(Router, { actionQueue: actionQueue, assetPrefix: assetPrefix, globalError: globalErrorState }); // At the very top level, use the default GlobalError component as the final fallback. // When the app router itself fails, which means the framework itself fails, we show the default error. return /*#__PURE__*/ (0, _jsxruntime.jsx)(_rooterrorboundary.default, { errorComponent: _globalerror.default, children: router }); } const runtimeStyles = new Set(); let runtimeStyleChanged = new Set(); globalThis._N_E_STYLE_LOAD = function(href) { let len = runtimeStyles.size; runtimeStyles.add(href); if (runtimeStyles.size !== len) { runtimeStyleChanged.forEach((cb)=>cb()); } // TODO figure out how to get a promise here // But maybe it's not necessary as react would block rendering until it's loaded return Promise.resolve(); }; function RuntimeStyles() { const [, forceUpdate] = _react.default.useState(0); const renderedStylesSize = runtimeStyles.size; (0, _react.useEffect)(()=>{ const changed = ()=>forceUpdate((c)=>c + 1); runtimeStyleChanged.add(changed); if (renderedStylesSize !== runtimeStyles.size) { changed(); } return ()=>{ runtimeStyleChanged.delete(changed); }; }, [ renderedStylesSize, forceUpdate ]); const dplId = process.env.NEXT_DEPLOYMENT_ID ? "?dpl=" + process.env.NEXT_DEPLOYMENT_ID : ''; return [ ...runtimeStyles ].map((href, i)=>/*#__PURE__*/ (0, _jsxruntime.jsx)("link", { rel: "stylesheet", href: "" + href + dplId, // @ts-ignore precedence: "next" }, i)); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=app-router.js.map z5365undefined67111Object.defineProperty(exports, "__esModule", (undefined131131))undefined1402630undefined763769__webpack_require__undefined7718118140undefined849855__webpack_require__undefined8578989417undefined922928__webpack_require__undefined9309485155undefined10091015__webpack_require__undefined101710232115undefined10671073__webpack_require__undefined107511266752undefined11581164__webpack_require__undefined116612046871undefined12351241__webpack_require__undefined124312819658undefined13261332__webpack_require__undefined133413873865undefined14151421__webpack_require__undefined142314426248undefined14611467__webpack_require__undefined146915063913undefined15311537__webpack_require__undefined153915566058undefined15881594__webpack_require__undefined159616193443undefined16491655__webpack_require__undefined16571677531undefined17061712__webpack_require__undefined17141759836undefined17911797__webpack_require__undefined179918218359undefined18491855__webpack_require__undefined185718771755undefined19021908__webpack_require__undefined191019272929undefined19591965__webpack_require__undefined196720056343undefined20362042__webpack_require__undefined204420661489undefined20972103__webpack_require__undefined210521271807undefined21492155__webpack_require__undefined215721686542undefined21952201__webpack_require__undefined220322206437undefined22392245__webpack_require__undefined224722553499undefined23272333__webpack_require__undefined233523648890undefined24312437__webpack_require__undefined243924627150undefined24952501__webpack_require__undefined250325434431undefined34313460falseundefined34633490{}undefined37473786falseundefined37893934{}undefined55005538falseundefined55415638{}undefined78037826 falseundefined783078390undefined81908218falseundefined82219035{}undefined1923119254 falseundefined19258192830undefined1976519793falseundefined1979620752{}undefined2420924238 falseundefined24242242810undefined ]ÿÿÿÿÿÿ·  ¡ c«webpack/lib/util/registerExternalSerializerœwebpack-sources/ConcatSource€«webpack/lib/util/registerExternalSerializer™webpack-sources/RawSource/* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ AppShell) /* harmony export */ }); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5155); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2115); /* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(63); /* harmony import */ var _lib_api_client__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6282); «webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSource[/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; import { useEffect, useState } from 'react'; import { useRouter, useSearchParams } from 'next/navigation'; import { getSession, logout } from '../lib/api-client'; const NAV_ITEMS = [ { label: 'Overview', tab: 'Overview', icon: 'â—‡' }, { label: 'Risks', tab: 'Risks', icon: 'âš ' }, { label: 'Mitigations', tab: 'Mitigations', icon: 'â—' }, { label: 'Gate', tab: 'Gate', icon: '⊞' }, { label: 'Integrations', tab: 'Integrations', icon: '⇆' } ]; export default function AppShell(param) { let { children } = param; const [user, setUser] = useState(null); const [sidebarOpen, setSidebarOpen] = useState(false); const [loading, setLoading] = useState(true); const router = useRouter(); const searchParams = useSearchParams(); const currentTab = searchParams.get('tab') || 'Overview'; useEffect(()=>{ getSession().then((u)=>{ if (!u) { router.replace('/login'); return; } setUser(u); setLoading(false); }); }, [ router ]); if (loading) { return /*#__PURE__*/ _jsx("div", { className: "shell-loading", children: /*#__PURE__*/ _jsx("div", { className: "spinner" }) }); } return /*#__PURE__*/ _jsxs("div", { className: "app-shell", children: [ /*#__PURE__*/ _jsx("button", { className: "sidebar-toggle", onClick: ()=>setSidebarOpen(!sidebarOpen), children: sidebarOpen ? '✕' : '☰' }), /*#__PURE__*/ _jsxs("aside", { className: "sidebar ".concat(sidebarOpen ? 'open' : ''), children: [ /*#__PURE__*/ _jsx("div", { className: "sidebar-brand", children: "COSMIC" }), /*#__PURE__*/ _jsxs("div", { className: "sidebar-user", children: [ /*#__PURE__*/ _jsx("div", { className: "sidebar-user-name", children: user.displayName }), /*#__PURE__*/ _jsx("div", { className: "sidebar-user-email", children: user.email }) ] }), /*#__PURE__*/ _jsx("nav", { className: "sidebar-nav", children: NAV_ITEMS.map((item)=>{ const active = currentTab === item.tab; return /*#__PURE__*/ _jsxs("a", { href: "/dashboard?tab=".concat(item.tab), className: "sidebar-link ".concat(active ? 'active' : ''), onClick: (e)=>{ e.preventDefault(); setSidebarOpen(false); router.push("/dashboard?tab=".concat(item.tab)); }, children: [ /*#__PURE__*/ _jsx("span", { className: "sidebar-icon", children: item.icon }), item.label ] }, item.tab); }) }), /*#__PURE__*/ _jsx("div", { className: "sidebar-footer", children: /*#__PURE__*/ _jsx("button", { className: "sidebar-logout", onClick: logout, children: "Sign out" }) }) ] }), sidebarOpen && /*#__PURE__*/ _jsx("div", { className: "sidebar-overlay", onClick: ()=>setSidebarOpen(false) }), /*#__PURE__*/ _jsx("main", { className: "app-main", children: children }) ] }); } c={}_¨ªæèÕã9@sz¦­ÉÑïýDL\enqÈË59’•gkÿV¦ª6 9  ï ó  £‚‡8;ÑÔ€€€€€¯(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)ÿÿº(0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.useRouter)À(0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.useSearchParams)°(0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)Å(0,_lib_api_client__WEBPACK_IMPORTED_MODULE_3__/* .getSession */ .Ht)¶(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)ÿ·(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)þÿþÿþþþÿþþþ½_lib_api_client__WEBPACK_IMPORTED_MODULE_3__/* .logout */ .riýý ¥/* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ AppShell) /* harmony export */ }); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5155); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2115); /* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(63); /* harmony import */ var _lib_api_client__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6282); /* __next_internal_client_entry_do_not_use__ default auto */ const NAV_ITEMS = [ { label: 'Overview', tab: 'Overview', icon: 'â—‡' }, { label: 'Risks', tab: 'Risks', icon: 'âš ' }, { label: 'Mitigations', tab: 'Mitigations', icon: 'â—' }, { label: 'Gate', tab: 'Gate', icon: '⊞' }, { label: 'Integrations', tab: 'Integrations', icon: '⇆' } ]; function AppShell(param) { let { children } = param; const [user, setUser] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null); const [sidebarOpen, setSidebarOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false); const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true); const router = (0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.useRouter)(); const searchParams = (0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.useSearchParams)(); const currentTab = searchParams.get('tab') || 'Overview'; (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{ (0,_lib_api_client__WEBPACK_IMPORTED_MODULE_3__/* .getSession */ .Ht)().then((u)=>{ if (!u) { router.replace('/login'); return; } setUser(u); setLoading(false); }); }, [ router ]); if (loading) { return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "shell-loading", children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "spinner" }) }); } return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "app-shell", children: [ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", { className: "sidebar-toggle", onClick: ()=>setSidebarOpen(!sidebarOpen), children: sidebarOpen ? '✕' : '☰' }), /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("aside", { className: "sidebar ".concat(sidebarOpen ? 'open' : ''), children: [ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "sidebar-brand", children: "COSMIC" }), /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "sidebar-user", children: [ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "sidebar-user-name", children: user.displayName }), /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "sidebar-user-email", children: user.email }) ] }), /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("nav", { className: "sidebar-nav", children: NAV_ITEMS.map((item)=>{ const active = currentTab === item.tab; return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("a", { href: "/dashboard?tab=".concat(item.tab), className: "sidebar-link ".concat(active ? 'active' : ''), onClick: (e)=>{ e.preventDefault(); setSidebarOpen(false); router.push("/dashboard?tab=".concat(item.tab)); }, children: [ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", { className: "sidebar-icon", children: item.icon }), item.label ] }, item.tab); }) }), /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "sidebar-footer", children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", { className: "sidebar-logout", onClick: _lib_api_client__WEBPACK_IMPORTED_MODULE_3__/* .logout */ .ri, children: "Sign out" }) }) ] }), sidebarOpen && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "sidebar-overlay", onClick: ()=>setSidebarOpen(false) }), /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("main", { className: "app-main", children: children }) ] }); } ¦ ©  ConcatSourceRawSource/* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ AppShell) /* harmony export */ }); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5155); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2115); /* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(63); /* harmony import */ var _lib_api_client__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6282); ¨[/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; import { useEffect, useState } from 'react'; import { useRouter, useSearchParams } from 'next/navigation'; import { getSession, logout } from '../lib/api-client'; const NAV_ITEMS = [ { label: 'Overview', tab: 'Overview', icon: 'â—‡' }, { label: 'Risks', tab: 'Risks', icon: 'âš ' }, { label: 'Mitigations', tab: 'Mitigations', icon: 'â—' }, { label: 'Gate', tab: 'Gate', icon: '⊞' }, { label: 'Integrations', tab: 'Integrations', icon: '⇆' } ]; export default function AppShell(param) { let { children } = param; const [user, setUser] = useState(null); const [sidebarOpen, setSidebarOpen] = useState(false); const [loading, setLoading] = useState(true); const router = useRouter(); const searchParams = useSearchParams(); const currentTab = searchParams.get('tab') || 'Overview'; useEffect(()=>{ getSession().then((u)=>{ if (!u) { router.replace('/login'); return; } setUser(u); setLoading(false); }); }, [ router ]); if (loading) { return /*#__PURE__*/ _jsx("div", { className: "shell-loading", children: /*#__PURE__*/ _jsx("div", { className: "spinner" }) }); } return /*#__PURE__*/ _jsxs("div", { className: "app-shell", children: [ /*#__PURE__*/ _jsx("button", { className: "sidebar-toggle", onClick: ()=>setSidebarOpen(!sidebarOpen), children: sidebarOpen ? '✕' : '☰' }), /*#__PURE__*/ _jsxs("aside", { className: "sidebar ".concat(sidebarOpen ? 'open' : ''), children: [ /*#__PURE__*/ _jsx("div", { className: "sidebar-brand", children: "COSMIC" }), /*#__PURE__*/ _jsxs("div", { className: "sidebar-user", children: [ /*#__PURE__*/ _jsx("div", { className: "sidebar-user-name", children: user.displayName }), /*#__PURE__*/ _jsx("div", { className: "sidebar-user-email", children: user.email }) ] }), /*#__PURE__*/ _jsx("nav", { className: "sidebar-nav", children: NAV_ITEMS.map((item)=>{ const active = currentTab === item.tab; return /*#__PURE__*/ _jsxs("a", { href: "/dashboard?tab=".concat(item.tab), className: "sidebar-link ".concat(active ? 'active' : ''), onClick: (e)=>{ e.preventDefault(); setSidebarOpen(false); router.push("/dashboard?tab=".concat(item.tab)); }, children: [ /*#__PURE__*/ _jsx("span", { className: "sidebar-icon", children: item.icon }), item.label ] }, item.tab); }) }), /*#__PURE__*/ _jsx("div", { className: "sidebar-footer", children: /*#__PURE__*/ _jsx("button", { className: "sidebar-logout", onClick: logout, children: "Sign out" }) }) ] }), sidebarOpen && /*#__PURE__*/ _jsx("div", { className: "sidebar-overlay", onClick: ()=>setSidebarOpen(false) }), /*#__PURE__*/ _jsx("main", { className: "app-main", children: children }) ] }); } ÷61123undefined125168undefined170230undefined232286undefined725739undefined825832(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)undefined883890(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)undefined934941(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)undefined969977(0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.useRouter)undefined10071021(0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.useSearchParams)undefined10921100(0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)undefined11161125(0,_lib_api_client__WEBPACK_IMPORTED_MODULE_3__/* .getSession */ .Ht)undefined13901393(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined14801483(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined15891593(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined16821685(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined18951899(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined20472050(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined22142218(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined23582361(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined25692572(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined28162819(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined30553059(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined36103613(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined40004003(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined41154118(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined42264231_lib_api_client__WEBPACK_IMPORTED_MODULE_3__/* .logout */ .riundefined44084411(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined45614564(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined ©Oÿÿÿ•__webpack_require__.d ‘’ œ«webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSource«webpack/lib/util/registerExternalSerializer™webpack-sources/RawSourceº'use strict'; if (process.env.NODE_ENV === 'production') { module.exports = require('./cjs/react.production.js'); } else { module.exports = require('./cjs/react.development.js'); } e 7>r|@¸€„trueªmodule.exports = __webpack_require__(1426)‚{} –F if (true) { module.exports = __webpack_require__(1426); } else {} — š  ›º'use strict'; if (process.env.NODE_ENV === 'production') { module.exports = require('./cjs/react.production.js'); } else { module.exports = require('./cjs/react.development.js'); } f012undefined1955trueundefined62114module.exports = __webpack_require__(1426)undefined124184{}undefined ôþÿÿœ …† ½ «webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSource«webpack/lib/util/registerExternalSerializer™webpack-sources/RawSource9 "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "useUntrackedPathname", { enumerable: true, get: function() { return useUntrackedPathname; } }); const _react = require("react"); const _hooksclientcontextsharedruntime = require("../../shared/lib/hooks-client-context.shared-runtime"); /** * This checks to see if the current render has any unknown route parameters. * It's used to trigger a different render path in the error boundary. * * @returns true if there are any unknown route parameters, false otherwise */ function hasFallbackRouteParams() { if ("object" === 'undefined') { // AsyncLocalStorage should not be included in the client bundle. const { workUnitAsyncStorage } = require('../../server/app-render/work-unit-async-storage.external'); const workUnitStore = workUnitAsyncStorage.getStore(); if (!workUnitStore) return false; switch(workUnitStore.type){ case 'prerender': case 'prerender-client': case 'prerender-ppr': const fallbackParams = workUnitStore.fallbackRouteParams; return fallbackParams ? fallbackParams.size > 0 : false; case 'prerender-legacy': case 'request': case 'prerender-runtime': case 'cache': case 'private-cache': case 'unstable-cache': break; default: workUnitStore; } return false; } return false; } function useUntrackedPathname() { // If there are any unknown route parameters we would typically throw // an error, but this internal method allows us to return a null value instead // for components that do not propagate the pathname to the static shell (like // the error boundary). if (hasFallbackRouteParams()) { return null; } // This shouldn't cause any issues related to conditional rendering because // the environment will be consistent for the render. // eslint-disable-next-line react-hooks/rules-of-hooks return (0, _react.useContext)(_hooksclientcontextsharedruntime.PathnameContext); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=navigation-untracked.js.map g :NNQN‡ââôúü/57lˆŸ¢€®Object.defineProperty(exports, "__esModule", (‚))¸Object.defineProperty(exports, "useUntrackedPathname", (þ“__webpack_require__„2115þ„3865…false‚{} Š Object.defineProperty(exports, "__esModule", ({ value: true })); Object.defineProperty(exports, "useUntrackedPathname", ({ enumerable: true, get: function() { return useUntrackedPathname; } })); const _react = __webpack_require__(2115); const _hooksclientcontextsharedruntime = __webpack_require__(3865); /** * This checks to see if the current render has any unknown route parameters. * It's used to trigger a different render path in the error boundary. * * @returns true if there are any unknown route parameters, false otherwise */ function hasFallbackRouteParams() { if (false) {} return false; } function useUntrackedPathname() { // If there are any unknown route parameters we would typically throw // an error, but this internal method allows us to return a null value instead // for components that do not propagate the pathname to the static shell (like // the error boundary). if (hasFallbackRouteParams()) { return null; } // This shouldn't cause any issues related to conditional rendering because // the environment will be consistent for the render. // eslint-disable-next-line react-hooks/rules-of-hooks return (0, _react.useContext)(_hooksclientcontextsharedruntime.PathnameContext); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=navigation-untracked.js.map ‹ Ž  9 "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "useUntrackedPathname", { enumerable: true, get: function() { return useUntrackedPathname; } }); const _react = require("react"); const _hooksclientcontextsharedruntime = require("../../shared/lib/hooks-client-context.shared-runtime"); /** * This checks to see if the current render has any unknown route parameters. * It's used to trigger a different render path in the error boundary. * * @returns true if there are any unknown route parameters, false otherwise */ function hasFallbackRouteParams() { if ("object" === 'undefined') { // AsyncLocalStorage should not be included in the client bundle. const { workUnitAsyncStorage } = require('../../server/app-render/work-unit-async-storage.external'); const workUnitStore = workUnitAsyncStorage.getStore(); if (!workUnitStore) return false; switch(workUnitStore.type){ case 'prerender': case 'prerender-client': case 'prerender-ppr': const fallbackParams = workUnitStore.fallbackRouteParams; return fallbackParams ? fallbackParams.size > 0 : false; case 'prerender-legacy': case 'request': case 'prerender-runtime': case 'cache': case 'private-cache': case 'unstable-cache': break; default: workUnitStore; } return false; } return false; } function useUntrackedPathname() { // If there are any unknown route parameters we would typically throw // an error, but this internal method allows us to return a null value instead // for components that do not propagate the pathname to the static shell (like // the error boundary). if (hasFallbackRouteParams()) { return null; } // This shouldn't cause any issues related to conditional rendering because // the environment will be consistent for the render. // eslint-disable-next-line react-hooks/rules-of-hooks return (0, _react.useContext)(_hooksclientcontextsharedruntime.PathnameContext); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=navigation-untracked.js.map =012undefined1458Object.defineProperty(exports, "__esModule", (undefined7878))undefined81135Object.defineProperty(exports, "useUntrackedPathname", (undefined226226))undefined244250__webpack_require__undefined2522582115undefined303309__webpack_require__undefined3113643865undefined648671falseundefined6741558{}undefined 6ÿÿÿèþÿÿ yÿÿÿzÿÿÿ «webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSource«webpack/lib/util/registerExternalSerializer™webpack-sources/RawSourceµ/* __next_internal_client_entry_do_not_use__ cjs */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { AppRouterContext: null, GlobalLayoutRouterContext: null, LayoutRouterContext: null, MissingSlotContext: null, TemplateContext: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { AppRouterContext: function() { return AppRouterContext; }, GlobalLayoutRouterContext: function() { return GlobalLayoutRouterContext; }, LayoutRouterContext: function() { return LayoutRouterContext; }, MissingSlotContext: function() { return MissingSlotContext; }, TemplateContext: function() { return TemplateContext; } }); const _interop_require_default = require("@swc/helpers/_/_interop_require_default"); const _react = /*#__PURE__*/ _interop_require_default._(require("react")); const AppRouterContext = _react.default.createContext(null); const LayoutRouterContext = _react.default.createContext(null); const GlobalLayoutRouterContext = _react.default.createContext(null); const TemplateContext = _react.default.createContext(null); if ("production" !== 'production') { AppRouterContext.displayName = 'AppRouterContext'; LayoutRouterContext.displayName = 'LayoutRouterContext'; GlobalLayoutRouterContext.displayName = 'GlobalLayoutRouterContext'; TemplateContext.displayName = 'TemplateContext'; } const MissingSlotContext = _react.default.createContext(new Set()); //# sourceMappingURL=app-router-context.shared-runtime.js.map  c5ACoOƒƒŒ7œ¢¤Ì:=1€®Object.defineProperty(exports, "__esModule", (‚))0“__webpack_require__„8140þ„2115…false‚{} ~ÿÿÿä/* __next_internal_client_entry_do_not_use__ cjs */ Object.defineProperty(exports, "__esModule", ({ value: true })); 0 && (0); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { AppRouterContext: function() { return AppRouterContext; }, GlobalLayoutRouterContext: function() { return GlobalLayoutRouterContext; }, LayoutRouterContext: function() { return LayoutRouterContext; }, MissingSlotContext: function() { return MissingSlotContext; }, TemplateContext: function() { return TemplateContext; } }); const _interop_require_default = __webpack_require__(8140); const _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(2115)); const AppRouterContext = _react.default.createContext(null); const LayoutRouterContext = _react.default.createContext(null); const GlobalLayoutRouterContext = _react.default.createContext(null); const TemplateContext = _react.default.createContext(null); if (false) {} const MissingSlotContext = _react.default.createContext(new Set()); //# sourceMappingURL=app-router-context.shared-runtime.js.map ÿÿÿ ‚  ƒµ/* __next_internal_client_entry_do_not_use__ cjs */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { AppRouterContext: null, GlobalLayoutRouterContext: null, LayoutRouterContext: null, MissingSlotContext: null, TemplateContext: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { AppRouterContext: function() { return AppRouterContext; }, GlobalLayoutRouterContext: function() { return GlobalLayoutRouterContext; }, LayoutRouterContext: function() { return LayoutRouterContext; }, MissingSlotContext: function() { return MissingSlotContext; }, TemplateContext: function() { return TemplateContext; } }); const _interop_require_default = require("@swc/helpers/_/_interop_require_default"); const _react = /*#__PURE__*/ _interop_require_default._(require("react")); const AppRouterContext = _react.default.createContext(null); const LayoutRouterContext = _react.default.createContext(null); const GlobalLayoutRouterContext = _react.default.createContext(null); const TemplateContext = _react.default.createContext(null); if ("production" !== 'production') { AppRouterContext.displayName = 'AppRouterContext'; LayoutRouterContext.displayName = 'LayoutRouterContext'; GlobalLayoutRouterContext.displayName = 'GlobalLayoutRouterContext'; TemplateContext.displayName = 'TemplateContext'; } const MissingSlotContext = _react.default.createContext(new Set()); //# sourceMappingURL=app-router-context.shared-runtime.js.map 5365undefined67111Object.defineProperty(exports, "__esModule", (undefined131131))undefined1403110undefined924930__webpack_require__undefined9329728140undefined10321038__webpack_require__undefined104010462115undefined13101338falseundefined13411585{}undefined *ÿÿÿ„ mÿÿÿnÿÿÿ «webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSource«webpack/lib/util/registerExternalSerializer™webpack-sources/RawSource¬/* __next_internal_client_entry_do_not_use__ cjs */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { ErrorBoundary: null, ErrorBoundaryHandler: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { ErrorBoundary: function() { return ErrorBoundary; }, ErrorBoundaryHandler: function() { return ErrorBoundaryHandler; } }); const _interop_require_default = require("@swc/helpers/_/_interop_require_default"); const _jsxruntime = require("react/jsx-runtime"); const _react = /*#__PURE__*/ _interop_require_default._(require("react")); const _navigationuntracked = require("./navigation-untracked"); const _isnextroutererror = require("./is-next-router-error"); const _navfailurehandler = require("./nav-failure-handler"); const _handleisrerror = require("./handle-isr-error"); const _isbot = require("../../shared/lib/router/utils/is-bot"); const isBotUserAgent = "object" !== 'undefined' && (0, _isbot.isBot)(window.navigator.userAgent); class ErrorBoundaryHandler extends _react.default.Component { static getDerivedStateFromError(error) { if ((0, _isnextroutererror.isNextRouterError)(error)) { // Re-throw if an expected internal Next.js router error occurs // this means it should be handled by a different boundary (such as a NotFound boundary in a parent segment) throw error; } return { error }; } static getDerivedStateFromProps(props, state) { const { error } = state; // if we encounter an error while // a navigation is pending we shouldn't render // the error boundary and instead should fallback // to a hard navigation to attempt recovering if (process.env.__NEXT_APP_NAV_FAIL_HANDLING) { if (error && (0, _navfailurehandler.handleHardNavError)(error)) { // clear error so we don't render anything return { error: null, previousPathname: props.pathname }; } } /** * Handles reset of the error boundary when a navigation happens. * Ensures the error boundary does not stay enabled when navigating to a new page. * Approach of setState in render is safe as it checks the previous pathname and then overrides * it as outlined in https://react.dev/reference/react/useState#storing-information-from-previous-renders */ if (props.pathname !== state.previousPathname && state.error) { return { error: null, previousPathname: props.pathname }; } return { error: state.error, previousPathname: props.pathname }; } // Explicit type is needed to avoid the generated `.d.ts` having a wide return type that could be specific to the `@types/react` version. render() { //When it's bot request, segment level error boundary will keep rendering the children, // the final error will be caught by the root error boundary and determine wether need to apply graceful degrade. if (this.state.error && !isBotUserAgent) { return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, { children: [ /*#__PURE__*/ (0, _jsxruntime.jsx)(_handleisrerror.HandleISRError, { error: this.state.error }), this.props.errorStyles, this.props.errorScripts, /*#__PURE__*/ (0, _jsxruntime.jsx)(this.props.errorComponent, { error: this.state.error, reset: this.reset }) ] }); } return this.props.children; } constructor(props){ super(props), this.reset = ()=>{ this.setState({ error: null }); }; this.state = { error: null, previousPathname: this.props.pathname }; } } function ErrorBoundary(param) { let { errorComponent, errorStyles, errorScripts, children } = param; // When we're rendering the missing params shell, this will return null. This // is because we won't be rendering any not found boundaries or error // boundaries for the missing params shell. When this runs on the client // (where these errors can occur), we will get the correct pathname. const pathname = (0, _navigationuntracked.useUntrackedPathname)(); if (errorComponent) { return /*#__PURE__*/ (0, _jsxruntime.jsx)(ErrorBoundaryHandler, { pathname: pathname, errorComponent: errorComponent, errorStyles: errorStyles, errorScripts: errorScripts, children: children }); } return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, { children: children }); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=error-boundary.js.map d5ACo_ƒƒŒ×CIKs‹‘“¥áçéï0OUWn“•«ÇÍÏâIõûý"=T¨«Î€®Object.defineProperty(exports, "__esModule", (‚))0“__webpack_require__„8140þ„5155ý„2115ü„1486û„5829ú„1489ù„5860ø„3913… true…false‚{} rÿÿÿº/* __next_internal_client_entry_do_not_use__ cjs */ Object.defineProperty(exports, "__esModule", ({ value: true })); 0 && (0); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { ErrorBoundary: function() { return ErrorBoundary; }, ErrorBoundaryHandler: function() { return ErrorBoundaryHandler; } }); const _interop_require_default = __webpack_require__(8140); const _jsxruntime = __webpack_require__(5155); const _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(2115)); const _navigationuntracked = __webpack_require__(1486); const _isnextroutererror = __webpack_require__(5829); const _navfailurehandler = __webpack_require__(1489); const _handleisrerror = __webpack_require__(5860); const _isbot = __webpack_require__(3913); const isBotUserAgent = true && (0, _isbot.isBot)(window.navigator.userAgent); class ErrorBoundaryHandler extends _react.default.Component { static getDerivedStateFromError(error) { if ((0, _isnextroutererror.isNextRouterError)(error)) { // Re-throw if an expected internal Next.js router error occurs // this means it should be handled by a different boundary (such as a NotFound boundary in a parent segment) throw error; } return { error }; } static getDerivedStateFromProps(props, state) { const { error } = state; // if we encounter an error while // a navigation is pending we shouldn't render // the error boundary and instead should fallback // to a hard navigation to attempt recovering if (false) {} /** * Handles reset of the error boundary when a navigation happens. * Ensures the error boundary does not stay enabled when navigating to a new page. * Approach of setState in render is safe as it checks the previous pathname and then overrides * it as outlined in https://react.dev/reference/react/useState#storing-information-from-previous-renders */ if (props.pathname !== state.previousPathname && state.error) { return { error: null, previousPathname: props.pathname }; } return { error: state.error, previousPathname: props.pathname }; } // Explicit type is needed to avoid the generated `.d.ts` having a wide return type that could be specific to the `@types/react` version. render() { //When it's bot request, segment level error boundary will keep rendering the children, // the final error will be caught by the root error boundary and determine wether need to apply graceful degrade. if (this.state.error && !isBotUserAgent) { return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, { children: [ /*#__PURE__*/ (0, _jsxruntime.jsx)(_handleisrerror.HandleISRError, { error: this.state.error }), this.props.errorStyles, this.props.errorScripts, /*#__PURE__*/ (0, _jsxruntime.jsx)(this.props.errorComponent, { error: this.state.error, reset: this.reset }) ] }); } return this.props.children; } constructor(props){ super(props), this.reset = ()=>{ this.setState({ error: null }); }; this.state = { error: null, previousPathname: this.props.pathname }; } } function ErrorBoundary(param) { let { errorComponent, errorStyles, errorScripts, children } = param; // When we're rendering the missing params shell, this will return null. This // is because we won't be rendering any not found boundaries or error // boundaries for the missing params shell. When this runs on the client // (where these errors can occur), we will get the correct pathname. const pathname = (0, _navigationuntracked.useUntrackedPathname)(); if (errorComponent) { return /*#__PURE__*/ (0, _jsxruntime.jsx)(ErrorBoundaryHandler, { pathname: pathname, errorComponent: errorComponent, errorStyles: errorStyles, errorScripts: errorScripts, children: children }); } return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, { children: children }); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=error-boundary.js.map sÿÿÿ vÿÿÿ  wÿÿÿ¬/* __next_internal_client_entry_do_not_use__ cjs */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { ErrorBoundary: null, ErrorBoundaryHandler: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { ErrorBoundary: function() { return ErrorBoundary; }, ErrorBoundaryHandler: function() { return ErrorBoundaryHandler; } }); const _interop_require_default = require("@swc/helpers/_/_interop_require_default"); const _jsxruntime = require("react/jsx-runtime"); const _react = /*#__PURE__*/ _interop_require_default._(require("react")); const _navigationuntracked = require("./navigation-untracked"); const _isnextroutererror = require("./is-next-router-error"); const _navfailurehandler = require("./nav-failure-handler"); const _handleisrerror = require("./handle-isr-error"); const _isbot = require("../../shared/lib/router/utils/is-bot"); const isBotUserAgent = "object" !== 'undefined' && (0, _isbot.isBot)(window.navigator.userAgent); class ErrorBoundaryHandler extends _react.default.Component { static getDerivedStateFromError(error) { if ((0, _isnextroutererror.isNextRouterError)(error)) { // Re-throw if an expected internal Next.js router error occurs // this means it should be handled by a different boundary (such as a NotFound boundary in a parent segment) throw error; } return { error }; } static getDerivedStateFromProps(props, state) { const { error } = state; // if we encounter an error while // a navigation is pending we shouldn't render // the error boundary and instead should fallback // to a hard navigation to attempt recovering if (process.env.__NEXT_APP_NAV_FAIL_HANDLING) { if (error && (0, _navfailurehandler.handleHardNavError)(error)) { // clear error so we don't render anything return { error: null, previousPathname: props.pathname }; } } /** * Handles reset of the error boundary when a navigation happens. * Ensures the error boundary does not stay enabled when navigating to a new page. * Approach of setState in render is safe as it checks the previous pathname and then overrides * it as outlined in https://react.dev/reference/react/useState#storing-information-from-previous-renders */ if (props.pathname !== state.previousPathname && state.error) { return { error: null, previousPathname: props.pathname }; } return { error: state.error, previousPathname: props.pathname }; } // Explicit type is needed to avoid the generated `.d.ts` having a wide return type that could be specific to the `@types/react` version. render() { //When it's bot request, segment level error boundary will keep rendering the children, // the final error will be caught by the root error boundary and determine wether need to apply graceful degrade. if (this.state.error && !isBotUserAgent) { return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, { children: [ /*#__PURE__*/ (0, _jsxruntime.jsx)(_handleisrerror.HandleISRError, { error: this.state.error }), this.props.errorStyles, this.props.errorScripts, /*#__PURE__*/ (0, _jsxruntime.jsx)(this.props.errorComponent, { error: this.state.error, reset: this.reset }) ] }); } return this.props.children; } constructor(props){ super(props), this.reset = ()=>{ this.setState({ error: null }); }; this.state = { error: null, previousPathname: this.props.pathname }; } } function ErrorBoundary(param) { let { errorComponent, errorStyles, errorScripts, children } = param; // When we're rendering the missing params shell, this will return null. This // is because we won't be rendering any not found boundaries or error // boundaries for the missing params shell. When this runs on the client // (where these errors can occur), we will get the correct pathname. const pathname = (0, _navigationuntracked.useUntrackedPathname)(); if (errorComponent) { return /*#__PURE__*/ (0, _jsxruntime.jsx)(ErrorBoundaryHandler, { pathname: pathname, errorComponent: errorComponent, errorStyles: errorStyles, errorScripts: errorScripts, children: children }); } return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, { children: children }); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=error-boundary.js.map U5365undefined67111Object.defineProperty(exports, "__esModule", (undefined131131))undefined1402150undefined579585__webpack_require__undefined5876278140undefined651657__webpack_require__undefined6596775155undefined737743__webpack_require__undefined7457512115undefined785791__webpack_require__undefined7938161486undefined847853__webpack_require__undefined8558785829undefined909915__webpack_require__undefined9179391489undefined967973__webpack_require__undefined9759945860undefined10131019__webpack_require__undefined102110583913undefined10851108 trueundefined19211960falseundefined19632254{}undefined ÿÿÿÐþÿÿxÿÿÿ aÿÿÿbÿÿÿ «webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSource«webpack/lib/util/registerExternalSerializer™webpack-sources/RawSourceü /* __next_internal_client_entry_do_not_use__ cjs */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { RedirectBoundary: null, RedirectErrorBoundary: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { RedirectBoundary: function() { return RedirectBoundary; }, RedirectErrorBoundary: function() { return RedirectErrorBoundary; } }); const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard"); const _jsxruntime = require("react/jsx-runtime"); const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react")); const _navigation = require("./navigation"); const _redirect = require("./redirect"); const _redirecterror = require("./redirect-error"); function HandleRedirect(param) { let { redirect, reset, redirectType } = param; const router = (0, _navigation.useRouter)(); (0, _react.useEffect)(()=>{ _react.default.startTransition(()=>{ if (redirectType === _redirecterror.RedirectType.push) { router.push(redirect, {}); } else { router.replace(redirect, {}); } reset(); }); }, [ redirect, redirectType, reset, router ]); return null; } class RedirectErrorBoundary extends _react.default.Component { static getDerivedStateFromError(error) { if ((0, _redirecterror.isRedirectError)(error)) { const url = (0, _redirect.getURLFromRedirectError)(error); const redirectType = (0, _redirect.getRedirectTypeFromError)(error); return { redirect: url, redirectType }; } // Re-throw if error is not for redirect throw error; } // Explicit type is needed to avoid the generated `.d.ts` having a wide return type that could be specific to the `@types/react` version. render() { const { redirect, redirectType } = this.state; if (redirect !== null && redirectType !== null) { return /*#__PURE__*/ (0, _jsxruntime.jsx)(HandleRedirect, { redirect: redirect, redirectType: redirectType, reset: ()=>this.setState({ redirect: null }) }); } return this.props.children; } constructor(props){ super(props); this.state = { redirect: null, redirectType: null }; } } function RedirectBoundary(param) { let { children } = param; const router = (0, _navigation.useRouter)(); return /*#__PURE__*/ (0, _jsxruntime.jsx)(RedirectErrorBoundary, { router: router, children: children }); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=redirect-boundary.js.map d5ACo[ƒƒŒÛPVX™Ÿ¡³ðöøþ,BHJUpvx‰€®Object.defineProperty(exports, "__esModule", (‚))0“__webpack_require__„9417þ„5155ý„2115ü„7260û„6542ú„6437 fÿÿÿ’ /* __next_internal_client_entry_do_not_use__ cjs */ Object.defineProperty(exports, "__esModule", ({ value: true })); 0 && (0); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { RedirectBoundary: function() { return RedirectBoundary; }, RedirectErrorBoundary: function() { return RedirectErrorBoundary; } }); const _interop_require_wildcard = __webpack_require__(9417); const _jsxruntime = __webpack_require__(5155); const _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(2115)); const _navigation = __webpack_require__(7260); const _redirect = __webpack_require__(6542); const _redirecterror = __webpack_require__(6437); function HandleRedirect(param) { let { redirect, reset, redirectType } = param; const router = (0, _navigation.useRouter)(); (0, _react.useEffect)(()=>{ _react.default.startTransition(()=>{ if (redirectType === _redirecterror.RedirectType.push) { router.push(redirect, {}); } else { router.replace(redirect, {}); } reset(); }); }, [ redirect, redirectType, reset, router ]); return null; } class RedirectErrorBoundary extends _react.default.Component { static getDerivedStateFromError(error) { if ((0, _redirecterror.isRedirectError)(error)) { const url = (0, _redirect.getURLFromRedirectError)(error); const redirectType = (0, _redirect.getRedirectTypeFromError)(error); return { redirect: url, redirectType }; } // Re-throw if error is not for redirect throw error; } // Explicit type is needed to avoid the generated `.d.ts` having a wide return type that could be specific to the `@types/react` version. render() { const { redirect, redirectType } = this.state; if (redirect !== null && redirectType !== null) { return /*#__PURE__*/ (0, _jsxruntime.jsx)(HandleRedirect, { redirect: redirect, redirectType: redirectType, reset: ()=>this.setState({ redirect: null }) }); } return this.props.children; } constructor(props){ super(props); this.state = { redirect: null, redirectType: null }; } } function RedirectBoundary(param) { let { children } = param; const router = (0, _navigation.useRouter)(); return /*#__PURE__*/ (0, _jsxruntime.jsx)(RedirectErrorBoundary, { router: router, children: children }); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=redirect-boundary.js.map gÿÿÿ jÿÿÿ  kÿÿÿü /* __next_internal_client_entry_do_not_use__ cjs */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { RedirectBoundary: null, RedirectErrorBoundary: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { RedirectBoundary: function() { return RedirectBoundary; }, RedirectErrorBoundary: function() { return RedirectErrorBoundary; } }); const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard"); const _jsxruntime = require("react/jsx-runtime"); const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react")); const _navigation = require("./navigation"); const _redirect = require("./redirect"); const _redirecterror = require("./redirect-error"); function HandleRedirect(param) { let { redirect, reset, redirectType } = param; const router = (0, _navigation.useRouter)(); (0, _react.useEffect)(()=>{ _react.default.startTransition(()=>{ if (redirectType === _redirecterror.RedirectType.push) { router.push(redirect, {}); } else { router.replace(redirect, {}); } reset(); }); }, [ redirect, redirectType, reset, router ]); return null; } class RedirectErrorBoundary extends _react.default.Component { static getDerivedStateFromError(error) { if ((0, _redirecterror.isRedirectError)(error)) { const url = (0, _redirect.getURLFromRedirectError)(error); const redirectType = (0, _redirect.getRedirectTypeFromError)(error); return { redirect: url, redirectType }; } // Re-throw if error is not for redirect throw error; } // Explicit type is needed to avoid the generated `.d.ts` having a wide return type that could be specific to the `@types/react` version. render() { const { redirect, redirectType } = this.state; if (redirect !== null && redirectType !== null) { return /*#__PURE__*/ (0, _jsxruntime.jsx)(HandleRedirect, { redirect: redirect, redirectType: redirectType, reset: ()=>this.setState({ redirect: null }) }); } return this.props.children; } constructor(props){ super(props); this.state = { redirect: null, redirectType: null }; } } function RedirectBoundary(param) { let { children } = param; const router = (0, _navigation.useRouter)(); return /*#__PURE__*/ (0, _jsxruntime.jsx)(RedirectErrorBoundary, { router: router, children: children }); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=redirect-boundary.js.map ¨5365undefined67111Object.defineProperty(exports, "__esModule", (undefined131131))undefined1402190undefined592598__webpack_require__undefined6006419417undefined665671__webpack_require__undefined6736915155undefined752758__webpack_require__undefined7607662115undefined791797__webpack_require__undefined7998127260undefined834840__webpack_require__undefined8428536542undefined880886__webpack_require__undefined8889056437undefined ÿÿÿÄþÿÿlÿÿÿ UÿÿÿVÿÿÿ ¹ «webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSource«webpack/lib/util/registerExternalSerializer™webpack-sources/RawSource^ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { dispatchAppRouterAction: null, useActionQueue: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { dispatchAppRouterAction: function() { return dispatchAppRouterAction; }, useActionQueue: function() { return useActionQueue; } }); const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard"); const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react")); const _isthenable = require("../../shared/lib/is-thenable"); // The app router state lives outside of React, so we can import the dispatch // method directly wherever we need it, rather than passing it around via props // or context. let dispatch = null; function dispatchAppRouterAction(action) { if (dispatch === null) { throw Object.defineProperty(new Error('Internal Next.js error: Router action dispatched before initialization.'), "__NEXT_ERROR_CODE", { value: "E668", enumerable: false, configurable: true }); } dispatch(action); } function useActionQueue(actionQueue) { const [state, setState] = _react.default.useState(actionQueue.state); // Because of a known issue that requires to decode Flight streams inside the // render phase, we have to be a bit clever and assign the dispatch method to // a module-level variable upon initialization. The useState hook in this // module only exists to synchronize state that lives outside of React. // Ideally, what we'd do instead is pass the state as a prop to root.render; // this is conceptually how we're modeling the app router state, despite the // weird implementation details. if ("production" !== 'production') { const { useAppDevRenderingIndicator } = require('../../next-devtools/userspace/use-app-dev-rendering-indicator'); // eslint-disable-next-line react-hooks/rules-of-hooks const appDevRenderingIndicator = useAppDevRenderingIndicator(); dispatch = (action)=>{ appDevRenderingIndicator(()=>{ actionQueue.dispatch(action, setState); }); }; } else { dispatch = (action)=>actionQueue.dispatch(action, setState); } return (0, _isthenable.isThenable)(state) ? (0, _react.use)(state) : state; } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=use-action-queue.js.map g :NNWP¦!#L‰‘—°¶¸Õu‘”8 €®Object.defineProperty(exports, "__esModule", (‚))0“__webpack_require__„9417þ„2115ý„4089…false‚{} Zÿÿÿ* Object.defineProperty(exports, "__esModule", ({ value: true })); 0 && (0); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { dispatchAppRouterAction: function() { return dispatchAppRouterAction; }, useActionQueue: function() { return useActionQueue; } }); const _interop_require_wildcard = __webpack_require__(9417); const _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(2115)); const _isthenable = __webpack_require__(4089); // The app router state lives outside of React, so we can import the dispatch // method directly wherever we need it, rather than passing it around via props // or context. let dispatch = null; function dispatchAppRouterAction(action) { if (dispatch === null) { throw Object.defineProperty(new Error('Internal Next.js error: Router action dispatched before initialization.'), "__NEXT_ERROR_CODE", { value: "E668", enumerable: false, configurable: true }); } dispatch(action); } function useActionQueue(actionQueue) { const [state, setState] = _react.default.useState(actionQueue.state); // Because of a known issue that requires to decode Flight streams inside the // render phase, we have to be a bit clever and assign the dispatch method to // a module-level variable upon initialization. The useState hook in this // module only exists to synchronize state that lives outside of React. // Ideally, what we'd do instead is pass the state as a prop to root.render; // this is conceptually how we're modeling the app router state, despite the // weird implementation details. if (false) {} else { dispatch = (action)=>actionQueue.dispatch(action, setState); } return (0, _isthenable.isThenable)(state) ? (0, _react.use)(state) : state; } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=use-action-queue.js.map [ÿÿÿ ^ÿÿÿ  _ÿÿÿ^ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { dispatchAppRouterAction: null, useActionQueue: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { dispatchAppRouterAction: function() { return dispatchAppRouterAction; }, useActionQueue: function() { return useActionQueue; } }); const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard"); const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react")); const _isthenable = require("../../shared/lib/is-thenable"); // The app router state lives outside of React, so we can import the dispatch // method directly wherever we need it, rather than passing it around via props // or context. let dispatch = null; function dispatchAppRouterAction(action) { if (dispatch === null) { throw Object.defineProperty(new Error('Internal Next.js error: Router action dispatched before initialization.'), "__NEXT_ERROR_CODE", { value: "E668", enumerable: false, configurable: true }); } dispatch(action); } function useActionQueue(actionQueue) { const [state, setState] = _react.default.useState(actionQueue.state); // Because of a known issue that requires to decode Flight streams inside the // render phase, we have to be a bit clever and assign the dispatch method to // a module-level variable upon initialization. The useState hook in this // module only exists to synchronize state that lives outside of React. // Ideally, what we'd do instead is pass the state as a prop to root.render; // this is conceptually how we're modeling the app router state, despite the // weird implementation details. if ("production" !== 'production') { const { useAppDevRenderingIndicator } = require('../../next-devtools/userspace/use-app-dev-rendering-indicator'); // eslint-disable-next-line react-hooks/rules-of-hooks const appDevRenderingIndicator = useAppDevRenderingIndicator(); dispatch = (action)=>{ appDevRenderingIndicator(()=>{ actionQueue.dispatch(action, setState); }); }; } else { dispatch = (action)=>actionQueue.dispatch(action, setState); } return (0, _isthenable.isThenable)(state) ? (0, _react.use)(state) : state; } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=use-action-queue.js.map -012undefined1458Object.defineProperty(exports, "__esModule", (undefined7878))undefined871660undefined539545__webpack_require__undefined5475889417undefined649655__webpack_require__undefined6576632115undefined688694__webpack_require__undefined6967254089undefined19091937falseundefined19402360{}undefined ÿÿÿ¸þÿÿ`ÿÿÿ IÿÿÿJÿÿÿ 9«webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSource«webpack/lib/util/registerExternalSerializer™webpack-sources/RawSourceÒ"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "useRouterBFCache", { enumerable: true, get: function() { return useRouterBFCache; } }); const _react = require("react"); // When the flag is disabled, only track the currently active tree const MAX_BF_CACHE_ENTRIES = process.env.__NEXT_ROUTER_BF_CACHE ? 3 : 1; function useRouterBFCache(activeTree, activeStateKey) { // The currently active entry. The entries form a linked list, sorted in // order of most recently active. This allows us to reuse parts of the list // without cloning, unless there's a reordering or removal. // TODO: Once we start tracking back/forward history at each route level, // we should use the history order instead. In other words, when traversing // to an existing entry as a result of a popstate event, we should maintain // the existing order instead of moving it to the front of the list. I think // an initial implementation of this could be to pass an incrementing id // to history.pushState/replaceState, then use that here for ordering. const [prevActiveEntry, setPrevActiveEntry] = (0, _react.useState)(()=>{ const initialEntry = { tree: activeTree, stateKey: activeStateKey, next: null }; return initialEntry; }); if (prevActiveEntry.tree === activeTree) { // Fast path. The active tree hasn't changed, so we can reuse the // existing state. return prevActiveEntry; } // The route tree changed. Note that this doesn't mean that the tree changed // *at this level* — the change may be due to a child route. Either way, we // need to either add or update the router tree in the bfcache. // // The rest of the code looks more complicated than it actually is because we // can't mutate the state in place; we have to copy-on-write. // Create a new entry for the active cache key. This is the head of the new // linked list. const newActiveEntry = { tree: activeTree, stateKey: activeStateKey, next: null }; // We need to append the old list onto the new list. If the head of the new // list was already present in the cache, then we'll need to clone everything // that came before it. Then we can reuse the rest. let n = 1; let oldEntry = prevActiveEntry; let clonedEntry = newActiveEntry; while(oldEntry !== null && n < MAX_BF_CACHE_ENTRIES){ if (oldEntry.stateKey === activeStateKey) { // Fast path. This entry in the old list that corresponds to the key that // is now active. We've already placed a clone of this entry at the front // of the new list. We can reuse the rest of the old list without cloning. // NOTE: We don't need to worry about eviction in this case because we // haven't increased the size of the cache, and we assume the max size // is constant across renders. If we were to change it to a dynamic limit, // then the implementation would need to account for that. clonedEntry.next = oldEntry.next; break; } else { // Clone the entry and append it to the list. n++; const entry = { tree: oldEntry.tree, stateKey: oldEntry.stateKey, next: null }; clonedEntry.next = entry; clonedEntry = entry; } oldEntry = oldEntry.next; } setPrevActiveEntry(newActiveEntry); return newActiveEntry; } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=bfcache.js.map  e :NNQJƒÚÚìòôú^ƒƒ€®Object.defineProperty(exports, "__esModule", (‚))´Object.defineProperty(exports, "useRouterBFCache", (þ“__webpack_require__„2115† false0 Nÿÿÿ¶ Object.defineProperty(exports, "__esModule", ({ value: true })); Object.defineProperty(exports, "useRouterBFCache", ({ enumerable: true, get: function() { return useRouterBFCache; } })); const _react = __webpack_require__(2115); // When the flag is disabled, only track the currently active tree const MAX_BF_CACHE_ENTRIES = false ? 0 : 1; function useRouterBFCache(activeTree, activeStateKey) { // The currently active entry. The entries form a linked list, sorted in // order of most recently active. This allows us to reuse parts of the list // without cloning, unless there's a reordering or removal. // TODO: Once we start tracking back/forward history at each route level, // we should use the history order instead. In other words, when traversing // to an existing entry as a result of a popstate event, we should maintain // the existing order instead of moving it to the front of the list. I think // an initial implementation of this could be to pass an incrementing id // to history.pushState/replaceState, then use that here for ordering. const [prevActiveEntry, setPrevActiveEntry] = (0, _react.useState)(()=>{ const initialEntry = { tree: activeTree, stateKey: activeStateKey, next: null }; return initialEntry; }); if (prevActiveEntry.tree === activeTree) { // Fast path. The active tree hasn't changed, so we can reuse the // existing state. return prevActiveEntry; } // The route tree changed. Note that this doesn't mean that the tree changed // *at this level* — the change may be due to a child route. Either way, we // need to either add or update the router tree in the bfcache. // // The rest of the code looks more complicated than it actually is because we // can't mutate the state in place; we have to copy-on-write. // Create a new entry for the active cache key. This is the head of the new // linked list. const newActiveEntry = { tree: activeTree, stateKey: activeStateKey, next: null }; // We need to append the old list onto the new list. If the head of the new // list was already present in the cache, then we'll need to clone everything // that came before it. Then we can reuse the rest. let n = 1; let oldEntry = prevActiveEntry; let clonedEntry = newActiveEntry; while(oldEntry !== null && n < MAX_BF_CACHE_ENTRIES){ if (oldEntry.stateKey === activeStateKey) { // Fast path. This entry in the old list that corresponds to the key that // is now active. We've already placed a clone of this entry at the front // of the new list. We can reuse the rest of the old list without cloning. // NOTE: We don't need to worry about eviction in this case because we // haven't increased the size of the cache, and we assume the max size // is constant across renders. If we were to change it to a dynamic limit, // then the implementation would need to account for that. clonedEntry.next = oldEntry.next; break; } else { // Clone the entry and append it to the list. n++; const entry = { tree: oldEntry.tree, stateKey: oldEntry.stateKey, next: null }; clonedEntry.next = entry; clonedEntry = entry; } oldEntry = oldEntry.next; } setPrevActiveEntry(newActiveEntry); return newActiveEntry; } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=bfcache.js.map Oÿÿÿ Rÿÿÿ  SÿÿÿÒ"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "useRouterBFCache", { enumerable: true, get: function() { return useRouterBFCache; } }); const _react = require("react"); // When the flag is disabled, only track the currently active tree const MAX_BF_CACHE_ENTRIES = process.env.__NEXT_ROUTER_BF_CACHE ? 3 : 1; function useRouterBFCache(activeTree, activeStateKey) { // The currently active entry. The entries form a linked list, sorted in // order of most recently active. This allows us to reuse parts of the list // without cloning, unless there's a reordering or removal. // TODO: Once we start tracking back/forward history at each route level, // we should use the history order instead. In other words, when traversing // to an existing entry as a result of a popstate event, we should maintain // the existing order instead of moving it to the front of the list. I think // an initial implementation of this could be to pass an incrementing id // to history.pushState/replaceState, then use that here for ordering. const [prevActiveEntry, setPrevActiveEntry] = (0, _react.useState)(()=>{ const initialEntry = { tree: activeTree, stateKey: activeStateKey, next: null }; return initialEntry; }); if (prevActiveEntry.tree === activeTree) { // Fast path. The active tree hasn't changed, so we can reuse the // existing state. return prevActiveEntry; } // The route tree changed. Note that this doesn't mean that the tree changed // *at this level* — the change may be due to a child route. Either way, we // need to either add or update the router tree in the bfcache. // // The rest of the code looks more complicated than it actually is because we // can't mutate the state in place; we have to copy-on-write. // Create a new entry for the active cache key. This is the head of the new // linked list. const newActiveEntry = { tree: activeTree, stateKey: activeStateKey, next: null }; // We need to append the old list onto the new list. If the head of the new // list was already present in the cache, then we'll need to clone everything // that came before it. Then we can reuse the rest. let n = 1; let oldEntry = prevActiveEntry; let clonedEntry = newActiveEntry; while(oldEntry !== null && n < MAX_BF_CACHE_ENTRIES){ if (oldEntry.stateKey === activeStateKey) { // Fast path. This entry in the old list that corresponds to the key that // is now active. We've already placed a clone of this entry at the front // of the new list. We can reuse the rest of the old list without cloning. // NOTE: We don't need to worry about eviction in this case because we // haven't increased the size of the cache, and we assume the max size // is constant across renders. If we were to change it to a dynamic limit, // then the implementation would need to account for that. clonedEntry.next = oldEntry.next; break; } else { // Clone the entry and append it to the list. n++; const entry = { tree: oldEntry.tree, stateKey: oldEntry.stateKey, next: null }; clonedEntry.next = entry; clonedEntry = entry; } oldEntry = oldEntry.next; } setPrevActiveEntry(newActiveEntry); return newActiveEntry; } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=bfcache.js.map 012undefined1458Object.defineProperty(exports, "__esModule", (undefined7878))undefined81131Object.defineProperty(exports, "useRouterBFCache", (undefined218218))undefined236242__webpack_require__undefined2442502115undefined350383 falseundefined3873870undefined úþÿÿ¬þÿÿTÿÿÿ =ÿÿÿ>ÿÿÿ 4'«webpack/lib/util/registerExternalSerializerœwebpack-sources/ConcatSource€«webpack/lib/util/registerExternalSerializer™webpack-sources/RawSourceé__webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ SignupPage) /* harmony export */ }); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5155); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2115); /* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(63); «webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSourceN"/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; import { useState } from "react"; import { useRouter } from "next/navigation"; export default function SignupPage() { const router = useRouter(); const [email, setEmail] = useState(""); const [displayName, setDisplayName] = useState(""); const [password, setPassword] = useState(""); const [error, setError] = useState(""); const [loading, setLoading] = useState(false); async function handleSubmit(event) { event.preventDefault(); setError(""); setLoading(true); try { const res = await fetch("/api/auth/signup", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ email, displayName, password }) }); if (!res.ok) { const data = await res.json(); throw new Error(data.error || "Signup failed"); } router.push("/dashboard"); } catch (err) { setError(err.message); setLoading(false); } } return /*#__PURE__*/ _jsx("main", { className: "shell", style: { display: "flex", alignItems: "center", justifyContent: "center", minHeight: "100vh" }, children: /*#__PURE__*/ _jsxs("div", { className: "panel", style: { maxWidth: 420, width: "100%", padding: 32 }, children: [ /*#__PURE__*/ _jsx("div", { className: "brand", style: { fontSize: 24, marginBottom: 24, textAlign: "center" }, children: "COSMIC AI-Risk SaaS" }), /*#__PURE__*/ _jsx("h2", { style: { marginBottom: 8 }, children: "Create account" }), /*#__PURE__*/ _jsx("p", { className: "muted", style: { marginBottom: 24 }, children: "Sign up for a new workspace" }), error && /*#__PURE__*/ _jsx("div", { style: { background: "var(--blocked-soft)", color: "var(--blocked)", padding: "8px 12px", borderRadius: 8, marginBottom: 16, fontSize: 14 }, children: error }), /*#__PURE__*/ _jsxs("form", { onSubmit: handleSubmit, children: [ /*#__PURE__*/ _jsxs("div", { style: { marginBottom: 16 }, children: [ /*#__PURE__*/ _jsx("label", { style: { display: "block", marginBottom: 4, fontSize: 14, fontWeight: 600 }, children: "Email" }), /*#__PURE__*/ _jsx("input", { type: "email", value: email, onChange: (e)=>setEmail(e.target.value), required: true, style: { width: "100%", padding: "10px 12px", borderRadius: 8, border: "1px solid var(--line)", fontSize: 16, boxSizing: "border-box" } }) ] }), /*#__PURE__*/ _jsxs("div", { style: { marginBottom: 16 }, children: [ /*#__PURE__*/ _jsx("label", { style: { display: "block", marginBottom: 4, fontSize: 14, fontWeight: 600 }, children: "Display name" }), /*#__PURE__*/ _jsx("input", { type: "text", value: displayName, onChange: (e)=>setDisplayName(e.target.value), style: { width: "100%", padding: "10px 12px", borderRadius: 8, border: "1px solid var(--line)", fontSize: 16, boxSizing: "border-box" } }) ] }), /*#__PURE__*/ _jsxs("div", { style: { marginBottom: 24 }, children: [ /*#__PURE__*/ _jsx("label", { style: { display: "block", marginBottom: 4, fontSize: 14, fontWeight: 600 }, children: "Password" }), /*#__PURE__*/ _jsx("input", { type: "password", value: password, onChange: (e)=>setPassword(e.target.value), required: true, minLength: 8, style: { width: "100%", padding: "10px 12px", borderRadius: 8, border: "1px solid var(--line)", fontSize: 16, boxSizing: "border-box" } }) ] }), /*#__PURE__*/ _jsx("button", { type: "submit", className: "button primary", style: { width: "100%", padding: "12px 24px", fontSize: 16 }, disabled: loading, children: loading ? "Creating account..." : "Create account" }) ] }), /*#__PURE__*/ _jsx("p", { style: { marginTop: 16, textAlign: "center", fontSize: 14 }, children: /*#__PURE__*/ _jsx("a", { href: "/login", style: { color: "var(--green)" }, children: "Already have an account?" }) }) ] }) }); } c={}_ŸÊÌÚ18ip›¢ÇÎ÷þ36"MP   " È Ì J VN $ ' ñô*.ØÛèìÂÅ’• = @ "!%!€€€€º(0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.useRouter)¯(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)ÿÿÿÿ¶(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)·(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)þþþþÿÿþþÿþþÿþþþþþ BÿÿÿF(__webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ SignupPage) /* harmony export */ }); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5155); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2115); /* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(63); /* __next_internal_client_entry_do_not_use__ default auto */ function SignupPage() { const router = (0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.useRouter)(); const [email, setEmail] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(""); const [displayName, setDisplayName] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(""); const [password, setPassword] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(""); const [error, setError] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(""); const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false); async function handleSubmit(event) { event.preventDefault(); setError(""); setLoading(true); try { const res = await fetch("/api/auth/signup", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ email, displayName, password }) }); if (!res.ok) { const data = await res.json(); throw new Error(data.error || "Signup failed"); } router.push("/dashboard"); } catch (err) { setError(err.message); setLoading(false); } } return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("main", { className: "shell", style: { display: "flex", alignItems: "center", justifyContent: "center", minHeight: "100vh" }, children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "panel", style: { maxWidth: 420, width: "100%", padding: 32 }, children: [ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "brand", style: { fontSize: 24, marginBottom: 24, textAlign: "center" }, children: "COSMIC AI-Risk SaaS" }), /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h2", { style: { marginBottom: 8 }, children: "Create account" }), /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", { className: "muted", style: { marginBottom: 24 }, children: "Sign up for a new workspace" }), error && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { style: { background: "var(--blocked-soft)", color: "var(--blocked)", padding: "8px 12px", borderRadius: 8, marginBottom: 16, fontSize: 14 }, children: error }), /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("form", { onSubmit: handleSubmit, children: [ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { style: { marginBottom: 16 }, children: [ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("label", { style: { display: "block", marginBottom: 4, fontSize: 14, fontWeight: 600 }, children: "Email" }), /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("input", { type: "email", value: email, onChange: (e)=>setEmail(e.target.value), required: true, style: { width: "100%", padding: "10px 12px", borderRadius: 8, border: "1px solid var(--line)", fontSize: 16, boxSizing: "border-box" } }) ] }), /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { style: { marginBottom: 16 }, children: [ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("label", { style: { display: "block", marginBottom: 4, fontSize: 14, fontWeight: 600 }, children: "Display name" }), /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("input", { type: "text", value: displayName, onChange: (e)=>setDisplayName(e.target.value), style: { width: "100%", padding: "10px 12px", borderRadius: 8, border: "1px solid var(--line)", fontSize: 16, boxSizing: "border-box" } }) ] }), /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { style: { marginBottom: 24 }, children: [ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("label", { style: { display: "block", marginBottom: 4, fontSize: 14, fontWeight: 600 }, children: "Password" }), /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("input", { type: "password", value: password, onChange: (e)=>setPassword(e.target.value), required: true, minLength: 8, style: { width: "100%", padding: "10px 12px", borderRadius: 8, border: "1px solid var(--line)", fontSize: 16, boxSizing: "border-box" } }) ] }), /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", { type: "submit", className: "button primary", style: { width: "100%", padding: "12px 24px", fontSize: 16 }, disabled: loading, children: loading ? "Creating account..." : "Create account" }) ] }), /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", { style: { marginTop: 16, textAlign: "center", fontSize: 14 }, children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("a", { href: "/login", style: { color: "var(--green)" }, children: "Already have an account?" }) }) ] }) }); } Cÿÿÿ Fÿÿÿ  é__webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ SignupPage) /* harmony export */ }); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5155); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2115); /* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(63); FÿÿÿN"/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; import { useState } from "react"; import { useRouter } from "next/navigation"; export default function SignupPage() { const router = useRouter(); const [email, setEmail] = useState(""); const [displayName, setDisplayName] = useState(""); const [password, setPassword] = useState(""); const [error, setError] = useState(""); const [loading, setLoading] = useState(false); async function handleSubmit(event) { event.preventDefault(); setError(""); setLoading(true); try { const res = await fetch("/api/auth/signup", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ email, displayName, password }) }); if (!res.ok) { const data = await res.json(); throw new Error(data.error || "Signup failed"); } router.push("/dashboard"); } catch (err) { setError(err.message); setLoading(false); } } return /*#__PURE__*/ _jsx("main", { className: "shell", style: { display: "flex", alignItems: "center", justifyContent: "center", minHeight: "100vh" }, children: /*#__PURE__*/ _jsxs("div", { className: "panel", style: { maxWidth: 420, width: "100%", padding: 32 }, children: [ /*#__PURE__*/ _jsx("div", { className: "brand", style: { fontSize: 24, marginBottom: 24, textAlign: "center" }, children: "COSMIC AI-Risk SaaS" }), /*#__PURE__*/ _jsx("h2", { style: { marginBottom: 8 }, children: "Create account" }), /*#__PURE__*/ _jsx("p", { className: "muted", style: { marginBottom: 24 }, children: "Sign up for a new workspace" }), error && /*#__PURE__*/ _jsx("div", { style: { background: "var(--blocked-soft)", color: "var(--blocked)", padding: "8px 12px", borderRadius: 8, marginBottom: 16, fontSize: 14 }, children: error }), /*#__PURE__*/ _jsxs("form", { onSubmit: handleSubmit, children: [ /*#__PURE__*/ _jsxs("div", { style: { marginBottom: 16 }, children: [ /*#__PURE__*/ _jsx("label", { style: { display: "block", marginBottom: 4, fontSize: 14, fontWeight: 600 }, children: "Email" }), /*#__PURE__*/ _jsx("input", { type: "email", value: email, onChange: (e)=>setEmail(e.target.value), required: true, style: { width: "100%", padding: "10px 12px", borderRadius: 8, border: "1px solid var(--line)", fontSize: 16, boxSizing: "border-box" } }) ] }), /*#__PURE__*/ _jsxs("div", { style: { marginBottom: 16 }, children: [ /*#__PURE__*/ _jsx("label", { style: { display: "block", marginBottom: 4, fontSize: 14, fontWeight: 600 }, children: "Display name" }), /*#__PURE__*/ _jsx("input", { type: "text", value: displayName, onChange: (e)=>setDisplayName(e.target.value), style: { width: "100%", padding: "10px 12px", borderRadius: 8, border: "1px solid var(--line)", fontSize: 16, boxSizing: "border-box" } }) ] }), /*#__PURE__*/ _jsxs("div", { style: { marginBottom: 24 }, children: [ /*#__PURE__*/ _jsx("label", { style: { display: "block", marginBottom: 4, fontSize: 14, fontWeight: 600 }, children: "Password" }), /*#__PURE__*/ _jsx("input", { type: "password", value: password, onChange: (e)=>setPassword(e.target.value), required: true, minLength: 8, style: { width: "100%", padding: "10px 12px", borderRadius: 8, border: "1px solid var(--line)", fontSize: 16, boxSizing: "border-box" } }) ] }), /*#__PURE__*/ _jsx("button", { type: "submit", className: "button primary", style: { width: "100%", padding: "12px 24px", fontSize: 16 }, disabled: loading, children: loading ? "Creating account..." : "Create account" }) ] }), /*#__PURE__*/ _jsx("p", { style: { marginTop: 16, textAlign: "center", fontSize: 14 }, children: /*#__PURE__*/ _jsx("a", { href: "/login", style: { color: "var(--green)" }, children: "Already have an account?" }) }) ] }) }); } 61123undefined125157undefined159202undefined204218undefined262270(0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.useRouter)undefined305312(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)undefined361368(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)undefined411418(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)undefined455462(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)undefined503510(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)undefined13311334(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined15661570(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined17931796(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined21252128(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined23272330(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined25912594(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined30163020(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined31463150(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined33643367(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined38253828(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined46504654(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined48684871(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined53365339(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined61206124(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined63386341(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined68026805(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined76867689(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined82538256(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined84828485(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined Gÿÿÿ•__webpack_require__.rìþÿÿ /ÿÿÿ0ÿÿÿ ª;«webpack/lib/util/registerExternalSerializerœwebpack-sources/ConcatSource€«webpack/lib/util/registerExternalSerializer™webpack-sources/RawSourceè__webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ LoginPage) /* harmony export */ }); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5155); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2115); /* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(63); «webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSourceÊ5/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime"; import { useState, useEffect } from "react"; import { useRouter } from "next/navigation"; const DEMO_CREDENTIALS = [ { role: "Platform Owner", email: "owner@cosmic.local", password: "cosmic123" }, { role: "Admin", email: "admin@cosmic.local", password: "admin123" }, { role: "Project Manager", email: "pm@cosmic.local", password: "pm123" }, { role: "Risk Owner", email: "risk-owner@cosmic.local", password: "risk123" }, { role: "Viewer", email: "viewer@cosmic.local", password: "view123" } ]; export default function LoginPage() { const router = useRouter(); const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); const [error, setError] = useState(""); const [loading, setLoading] = useState(false); const [ssoEnabled, setSsoEnabled] = useState(false); const [showDemo, setShowDemo] = useState(false); useEffect(()=>{ fetch("/api/auth/sso").then((res)=>{ if (res.status !== 501) setSsoEnabled(true); }).catch(()=>{}); }, []); async function handleSubmit(event) { event.preventDefault(); setError(""); setLoading(true); try { const res = await fetch("/api/auth/login", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ email, password }) }); if (!res.ok) { const data = await res.json(); throw new Error(data.error || "Login failed"); } router.push("/dashboard"); } catch (err) { setError(err.message); setLoading(false); } } function fillDemo(email, password) { setEmail(email); setPassword(password); } return /*#__PURE__*/ _jsx("main", { className: "shell", style: { display: "flex", alignItems: "center", justifyContent: "center", minHeight: "100vh" }, children: /*#__PURE__*/ _jsxs("div", { className: "panel", style: { maxWidth: 420, width: "100%", padding: 32 }, children: [ /*#__PURE__*/ _jsx("div", { className: "brand", style: { fontSize: 24, marginBottom: 24, textAlign: "center" }, children: "COSMIC AI-Risk SaaS" }), /*#__PURE__*/ _jsx("h2", { style: { marginBottom: 8 }, children: "Sign in" }), /*#__PURE__*/ _jsx("p", { className: "muted", style: { marginBottom: 24 }, children: "Enter your credentials to access the dashboard" }), error && /*#__PURE__*/ _jsx("div", { style: { background: "var(--blocked-soft)", color: "var(--blocked)", padding: "8px 12px", borderRadius: 8, marginBottom: 16, fontSize: 14 }, children: error }), /*#__PURE__*/ _jsxs("form", { onSubmit: handleSubmit, children: [ /*#__PURE__*/ _jsxs("div", { style: { marginBottom: 16 }, children: [ /*#__PURE__*/ _jsx("label", { style: { display: "block", marginBottom: 4, fontSize: 14, fontWeight: 600 }, children: "Email" }), /*#__PURE__*/ _jsx("input", { type: "email", value: email, onChange: (e)=>setEmail(e.target.value), required: true, style: { width: "100%", padding: "10px 12px", borderRadius: 8, border: "1px solid var(--line)", fontSize: 16, boxSizing: "border-box" } }) ] }), /*#__PURE__*/ _jsxs("div", { style: { marginBottom: 24 }, children: [ /*#__PURE__*/ _jsx("label", { style: { display: "block", marginBottom: 4, fontSize: 14, fontWeight: 600 }, children: "Password" }), /*#__PURE__*/ _jsx("input", { type: "password", value: password, onChange: (e)=>setPassword(e.target.value), required: true, style: { width: "100%", padding: "10px 12px", borderRadius: 8, border: "1px solid var(--line)", fontSize: 16, boxSizing: "border-box" } }) ] }), /*#__PURE__*/ _jsx("button", { type: "submit", className: "button primary", style: { width: "100%", padding: "12px 24px", fontSize: 16 }, disabled: loading, children: loading ? "Signing in..." : "Sign in" }) ] }), ssoEnabled && /*#__PURE__*/ _jsxs(_Fragment, { children: [ /*#__PURE__*/ _jsxs("div", { style: { display: "flex", alignItems: "center", gap: 12, margin: "16px 0" }, children: [ /*#__PURE__*/ _jsx("hr", { style: { flex: 1, border: "none", borderTop: "1px solid var(--line)" } }), /*#__PURE__*/ _jsx("span", { className: "muted", style: { fontSize: 12 }, children: "OR" }), /*#__PURE__*/ _jsx("hr", { style: { flex: 1, border: "none", borderTop: "1px solid var(--line)" } }) ] }), /*#__PURE__*/ _jsx("a", { href: "/api/auth/sso", className: "button secondary", style: { width: "100%", padding: "12px 24px", fontSize: 16, textAlign: "center" }, children: "Sign in with SSO" }) ] }), /*#__PURE__*/ _jsxs("div", { style: { marginTop: 16 }, children: [ /*#__PURE__*/ _jsx("button", { onClick: ()=>setShowDemo(!showDemo), style: { background: "none", border: "none", color: "var(--green)", cursor: "pointer", fontSize: 14, width: "100%", textAlign: "center" }, children: showDemo ? "Hide demo credentials" : "Show demo credentials" }), showDemo && /*#__PURE__*/ _jsxs("div", { style: { marginTop: 12, fontSize: 13, background: "var(--bg-soft)", borderRadius: 8, padding: 12 }, children: [ /*#__PURE__*/ _jsx("p", { className: "muted", style: { marginBottom: 8 }, children: "Click a row to auto-fill:" }), DEMO_CREDENTIALS.map((d)=>/*#__PURE__*/ _jsxs("div", { onClick: ()=>fillDemo(d.email, d.password), style: { cursor: "pointer", padding: "6px 8px", borderRadius: 6, display: "flex", justifyContent: "space-between", alignItems: "center" }, onMouseEnter: (e)=>e.currentTarget.style.background = "var(--line)", onMouseLeave: (e)=>e.currentTarget.style.background = "transparent", children: [ /*#__PURE__*/ _jsx("span", { style: { fontWeight: 600 }, children: d.role }), /*#__PURE__*/ _jsx("span", { className: "muted", style: { fontSize: 12 }, children: d.email }) ] }, d.email)) ] }) ] }), /*#__PURE__*/ _jsx("p", { style: { marginTop: 16, textAlign: "center", fontSize: 14 }, children: /*#__PURE__*/ _jsx("a", { href: "/signup", style: { color: "var(--green)" }, children: "Create an account" }) }) ] }) }); } a*=_’”¿Áì!/Zb…Œ·¾ãêLSˆ–ž¡¤Œ o r » ¾ ~ _ ™ œ BFÄÈž¡kn¤¨~NQ“ÈÌÎÖ!%‹Žñ ô F"I"Ý#Rà#þ%&­&°&S)W)ô*÷*z,~,0 0r1u1¿3Â3¤4§4€€€€º(0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.useRouter)¯(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)ÿÿÿÿÿ°(0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)¶(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)·(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)þþþþÿÿþþÿþþþÿ·react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragmentþýýýýþýþýþýýýý 4ÿÿÿ>__webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ LoginPage) /* harmony export */ }); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5155); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2115); /* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(63); /* __next_internal_client_entry_do_not_use__ default auto */ const DEMO_CREDENTIALS = [ { role: "Platform Owner", email: "owner@cosmic.local", password: "cosmic123" }, { role: "Admin", email: "admin@cosmic.local", password: "admin123" }, { role: "Project Manager", email: "pm@cosmic.local", password: "pm123" }, { role: "Risk Owner", email: "risk-owner@cosmic.local", password: "risk123" }, { role: "Viewer", email: "viewer@cosmic.local", password: "view123" } ]; function LoginPage() { const router = (0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.useRouter)(); const [email, setEmail] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(""); const [password, setPassword] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(""); const [error, setError] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(""); const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false); const [ssoEnabled, setSsoEnabled] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false); const [showDemo, setShowDemo] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false); (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{ fetch("/api/auth/sso").then((res)=>{ if (res.status !== 501) setSsoEnabled(true); }).catch(()=>{}); }, []); async function handleSubmit(event) { event.preventDefault(); setError(""); setLoading(true); try { const res = await fetch("/api/auth/login", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ email, password }) }); if (!res.ok) { const data = await res.json(); throw new Error(data.error || "Login failed"); } router.push("/dashboard"); } catch (err) { setError(err.message); setLoading(false); } } function fillDemo(email, password) { setEmail(email); setPassword(password); } return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("main", { className: "shell", style: { display: "flex", alignItems: "center", justifyContent: "center", minHeight: "100vh" }, children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "panel", style: { maxWidth: 420, width: "100%", padding: 32 }, children: [ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "brand", style: { fontSize: 24, marginBottom: 24, textAlign: "center" }, children: "COSMIC AI-Risk SaaS" }), /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h2", { style: { marginBottom: 8 }, children: "Sign in" }), /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", { className: "muted", style: { marginBottom: 24 }, children: "Enter your credentials to access the dashboard" }), error && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { style: { background: "var(--blocked-soft)", color: "var(--blocked)", padding: "8px 12px", borderRadius: 8, marginBottom: 16, fontSize: 14 }, children: error }), /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("form", { onSubmit: handleSubmit, children: [ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { style: { marginBottom: 16 }, children: [ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("label", { style: { display: "block", marginBottom: 4, fontSize: 14, fontWeight: 600 }, children: "Email" }), /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("input", { type: "email", value: email, onChange: (e)=>setEmail(e.target.value), required: true, style: { width: "100%", padding: "10px 12px", borderRadius: 8, border: "1px solid var(--line)", fontSize: 16, boxSizing: "border-box" } }) ] }), /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { style: { marginBottom: 24 }, children: [ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("label", { style: { display: "block", marginBottom: 4, fontSize: 14, fontWeight: 600 }, children: "Password" }), /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("input", { type: "password", value: password, onChange: (e)=>setPassword(e.target.value), required: true, style: { width: "100%", padding: "10px 12px", borderRadius: 8, border: "1px solid var(--line)", fontSize: 16, boxSizing: "border-box" } }) ] }), /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", { type: "submit", className: "button primary", style: { width: "100%", padding: "12px 24px", fontSize: 16 }, disabled: loading, children: loading ? "Signing in..." : "Sign in" }) ] }), ssoEnabled && /*#__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)("div", { style: { display: "flex", alignItems: "center", gap: 12, margin: "16px 0" }, children: [ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("hr", { style: { flex: 1, border: "none", borderTop: "1px solid var(--line)" } }), /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", { className: "muted", style: { fontSize: 12 }, children: "OR" }), /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("hr", { style: { flex: 1, border: "none", borderTop: "1px solid var(--line)" } }) ] }), /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("a", { href: "/api/auth/sso", className: "button secondary", style: { width: "100%", padding: "12px 24px", fontSize: 16, textAlign: "center" }, children: "Sign in with SSO" }) ] }), /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { style: { marginTop: 16 }, children: [ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", { onClick: ()=>setShowDemo(!showDemo), style: { background: "none", border: "none", color: "var(--green)", cursor: "pointer", fontSize: 14, width: "100%", textAlign: "center" }, children: showDemo ? "Hide demo credentials" : "Show demo credentials" }), showDemo && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { style: { marginTop: 12, fontSize: 13, background: "var(--bg-soft)", borderRadius: 8, padding: 12 }, children: [ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", { className: "muted", style: { marginBottom: 8 }, children: "Click a row to auto-fill:" }), DEMO_CREDENTIALS.map((d)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { onClick: ()=>fillDemo(d.email, d.password), style: { cursor: "pointer", padding: "6px 8px", borderRadius: 6, display: "flex", justifyContent: "space-between", alignItems: "center" }, onMouseEnter: (e)=>e.currentTarget.style.background = "var(--line)", onMouseLeave: (e)=>e.currentTarget.style.background = "transparent", children: [ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", { style: { fontWeight: 600 }, children: d.role }), /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", { className: "muted", style: { fontSize: 12 }, children: d.email }) ] }, d.email)) ] }) ] }), /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", { style: { marginTop: 16, textAlign: "center", fontSize: 14 }, children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("a", { href: "/signup", style: { color: "var(--green)" }, children: "Create an account" }) }) ] }) }); } 5ÿÿÿ 8ÿÿÿ  è__webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ LoginPage) /* harmony export */ }); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5155); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2115); /* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(63); 8ÿÿÿÊ5/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime"; import { useState, useEffect } from "react"; import { useRouter } from "next/navigation"; const DEMO_CREDENTIALS = [ { role: "Platform Owner", email: "owner@cosmic.local", password: "cosmic123" }, { role: "Admin", email: "admin@cosmic.local", password: "admin123" }, { role: "Project Manager", email: "pm@cosmic.local", password: "pm123" }, { role: "Risk Owner", email: "risk-owner@cosmic.local", password: "risk123" }, { role: "Viewer", email: "viewer@cosmic.local", password: "view123" } ]; export default function LoginPage() { const router = useRouter(); const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); const [error, setError] = useState(""); const [loading, setLoading] = useState(false); const [ssoEnabled, setSsoEnabled] = useState(false); const [showDemo, setShowDemo] = useState(false); useEffect(()=>{ fetch("/api/auth/sso").then((res)=>{ if (res.status !== 501) setSsoEnabled(true); }).catch(()=>{}); }, []); async function handleSubmit(event) { event.preventDefault(); setError(""); setLoading(true); try { const res = await fetch("/api/auth/login", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ email, password }) }); if (!res.ok) { const data = await res.json(); throw new Error(data.error || "Login failed"); } router.push("/dashboard"); } catch (err) { setError(err.message); setLoading(false); } } function fillDemo(email, password) { setEmail(email); setPassword(password); } return /*#__PURE__*/ _jsx("main", { className: "shell", style: { display: "flex", alignItems: "center", justifyContent: "center", minHeight: "100vh" }, children: /*#__PURE__*/ _jsxs("div", { className: "panel", style: { maxWidth: 420, width: "100%", padding: 32 }, children: [ /*#__PURE__*/ _jsx("div", { className: "brand", style: { fontSize: 24, marginBottom: 24, textAlign: "center" }, children: "COSMIC AI-Risk SaaS" }), /*#__PURE__*/ _jsx("h2", { style: { marginBottom: 8 }, children: "Sign in" }), /*#__PURE__*/ _jsx("p", { className: "muted", style: { marginBottom: 24 }, children: "Enter your credentials to access the dashboard" }), error && /*#__PURE__*/ _jsx("div", { style: { background: "var(--blocked-soft)", color: "var(--blocked)", padding: "8px 12px", borderRadius: 8, marginBottom: 16, fontSize: 14 }, children: error }), /*#__PURE__*/ _jsxs("form", { onSubmit: handleSubmit, children: [ /*#__PURE__*/ _jsxs("div", { style: { marginBottom: 16 }, children: [ /*#__PURE__*/ _jsx("label", { style: { display: "block", marginBottom: 4, fontSize: 14, fontWeight: 600 }, children: "Email" }), /*#__PURE__*/ _jsx("input", { type: "email", value: email, onChange: (e)=>setEmail(e.target.value), required: true, style: { width: "100%", padding: "10px 12px", borderRadius: 8, border: "1px solid var(--line)", fontSize: 16, boxSizing: "border-box" } }) ] }), /*#__PURE__*/ _jsxs("div", { style: { marginBottom: 24 }, children: [ /*#__PURE__*/ _jsx("label", { style: { display: "block", marginBottom: 4, fontSize: 14, fontWeight: 600 }, children: "Password" }), /*#__PURE__*/ _jsx("input", { type: "password", value: password, onChange: (e)=>setPassword(e.target.value), required: true, style: { width: "100%", padding: "10px 12px", borderRadius: 8, border: "1px solid var(--line)", fontSize: 16, boxSizing: "border-box" } }) ] }), /*#__PURE__*/ _jsx("button", { type: "submit", className: "button primary", style: { width: "100%", padding: "12px 24px", fontSize: 16 }, disabled: loading, children: loading ? "Signing in..." : "Sign in" }) ] }), ssoEnabled && /*#__PURE__*/ _jsxs(_Fragment, { children: [ /*#__PURE__*/ _jsxs("div", { style: { display: "flex", alignItems: "center", gap: 12, margin: "16px 0" }, children: [ /*#__PURE__*/ _jsx("hr", { style: { flex: 1, border: "none", borderTop: "1px solid var(--line)" } }), /*#__PURE__*/ _jsx("span", { className: "muted", style: { fontSize: 12 }, children: "OR" }), /*#__PURE__*/ _jsx("hr", { style: { flex: 1, border: "none", borderTop: "1px solid var(--line)" } }) ] }), /*#__PURE__*/ _jsx("a", { href: "/api/auth/sso", className: "button secondary", style: { width: "100%", padding: "12px 24px", fontSize: 16, textAlign: "center" }, children: "Sign in with SSO" }) ] }), /*#__PURE__*/ _jsxs("div", { style: { marginTop: 16 }, children: [ /*#__PURE__*/ _jsx("button", { onClick: ()=>setShowDemo(!showDemo), style: { background: "none", border: "none", color: "var(--green)", cursor: "pointer", fontSize: 14, width: "100%", textAlign: "center" }, children: showDemo ? "Hide demo credentials" : "Show demo credentials" }), showDemo && /*#__PURE__*/ _jsxs("div", { style: { marginTop: 12, fontSize: 13, background: "var(--bg-soft)", borderRadius: 8, padding: 12 }, children: [ /*#__PURE__*/ _jsx("p", { className: "muted", style: { marginBottom: 8 }, children: "Click a row to auto-fill:" }), DEMO_CREDENTIALS.map((d)=>/*#__PURE__*/ _jsxs("div", { onClick: ()=>fillDemo(d.email, d.password), style: { cursor: "pointer", padding: "6px 8px", borderRadius: 6, display: "flex", justifyContent: "space-between", alignItems: "center" }, onMouseEnter: (e)=>e.currentTarget.style.background = "var(--line)", onMouseLeave: (e)=>e.currentTarget.style.background = "transparent", children: [ /*#__PURE__*/ _jsx("span", { style: { fontWeight: 600 }, children: d.role }), /*#__PURE__*/ _jsx("span", { className: "muted", style: { fontSize: 12 }, children: d.email }) ] }, d.email)) ] }) ] }), /*#__PURE__*/ _jsx("p", { style: { marginTop: 16, textAlign: "center", fontSize: 14 }, children: /*#__PURE__*/ _jsx("a", { href: "/signup", style: { color: "var(--green)" }, children: "Create an account" }) }) ] }) }); } ª 61146undefined148191undefined193236undefined801815undefined858866(0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.useRouter)undefined901908(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)undefined951958(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)undefined9951002(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)undefined10431050(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)undefined11001107(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)undefined11531160(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)undefined11741182(0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)undefined22092212(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined24442448(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined26712674(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined30033006(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined31983201(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined34813484(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined39063910(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined40364040(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined42544257(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined47154718(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined55405544(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined57585761(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined62226225(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined70567059(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined76247628(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined76307638react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragmentundefined77137717(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined80758078(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined84338436(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined87748777(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined91819184(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined97269730(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined99019904(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined1057910583(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined1099610999(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined1138611390(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined1229612299(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined1265812661(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined1324713250(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined1347613479(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined 9ÿÿÿòßþÿÿ "ÿÿÿ#ÿÿÿ â«webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSource«webpack/lib/util/registerExternalSerializer™webpack-sources/RawSource`"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "HeadManagerContext", { enumerable: true, get: function() { return HeadManagerContext; } }); const _interop_require_default = require("@swc/helpers/_/_interop_require_default"); const _react = /*#__PURE__*/ _interop_require_default._(require("react")); const HeadManagerContext = _react.default.createContext({}); if ("production" !== 'production') { HeadManagerContext.displayName = 'HeadManagerContext'; } //# sourceMappingURL=head-manager-context.shared-runtime.js.map g :NNQN…ÞÞ 2ntv|ÂÞီObject.defineProperty(exports, "__esModule", (‚))¶Object.defineProperty(exports, "HeadManagerContext", (þ“__webpack_require__„8140þ„2115…false‚{} 'ÿÿÿó Object.defineProperty(exports, "__esModule", ({ value: true })); Object.defineProperty(exports, "HeadManagerContext", ({ enumerable: true, get: function() { return HeadManagerContext; } })); const _interop_require_default = __webpack_require__(8140); const _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(2115)); const HeadManagerContext = _react.default.createContext({}); if (false) {} //# sourceMappingURL=head-manager-context.shared-runtime.js.map (ÿÿÿ +ÿÿÿ  ,ÿÿÿ`"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "HeadManagerContext", { enumerable: true, get: function() { return HeadManagerContext; } }); const _interop_require_default = require("@swc/helpers/_/_interop_require_default"); const _react = /*#__PURE__*/ _interop_require_default._(require("react")); const HeadManagerContext = _react.default.createContext({}); if ("production" !== 'production') { HeadManagerContext.displayName = 'HeadManagerContext'; } //# sourceMappingURL=head-manager-context.shared-runtime.js.map :012undefined1458Object.defineProperty(exports, "__esModule", (undefined7878))undefined81133Object.defineProperty(exports, "HeadManagerContext", (undefined222222))undefined258264__webpack_require__undefined2663068140undefined366372__webpack_require__undefined3743802115undefined450478falseundefined481542{}undefined Óþÿÿ-ÿÿÿ ÿÿÿÿÿÿ «webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSource«webpack/lib/util/registerExternalSerializer™webpack-sources/RawSource›"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "callServer", { enumerable: true, get: function() { return callServer; } }); const _react = require("react"); const _routerreducertypes = require("./components/router-reducer/router-reducer-types"); const _useactionqueue = require("./components/use-action-queue"); async function callServer(actionId, actionArgs) { return new Promise((resolve, reject)=>{ (0, _react.startTransition)(()=>{ (0, _useactionqueue.dispatchAppRouterAction)({ type: _routerreducertypes.ACTION_SERVER_ACTION, actionId, actionArgs, resolve, reject }); }); }); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=app-call-server.js.map h :NNQ}MÎÎàæèîGcik‰€®Object.defineProperty(exports, "__esModule", (‚))®Object.defineProperty(exports, "callServer", (þ“__webpack_require__„2115þ„6871ý„6248 ÿÿÿj Object.defineProperty(exports, "__esModule", ({ value: true })); Object.defineProperty(exports, "callServer", ({ enumerable: true, get: function() { return callServer; } })); const _react = __webpack_require__(2115); const _routerreducertypes = __webpack_require__(6871); const _useactionqueue = __webpack_require__(6248); async function callServer(actionId, actionArgs) { return new Promise((resolve, reject)=>{ (0, _react.startTransition)(()=>{ (0, _useactionqueue.dispatchAppRouterAction)({ type: _routerreducertypes.ACTION_SERVER_ACTION, actionId, actionArgs, resolve, reject }); }); }); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=app-call-server.js.map ÿÿÿ ÿÿÿ   ÿÿÿ›"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "callServer", { enumerable: true, get: function() { return callServer; } }); const _react = require("react"); const _routerreducertypes = require("./components/router-reducer/router-reducer-types"); const _useactionqueue = require("./components/use-action-queue"); async function callServer(actionId, actionArgs) { return new Promise((resolve, reject)=>{ (0, _react.startTransition)(()=>{ (0, _useactionqueue.dispatchAppRouterAction)({ type: _routerreducertypes.ACTION_SERVER_ACTION, actionId, actionArgs, resolve, reject }); }); }); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=app-call-server.js.map B012undefined1458Object.defineProperty(exports, "__esModule", (undefined7878))undefined81125Object.defineProperty(exports, "callServer", (undefined206206))undefined224230__webpack_require__undefined2322382115undefined270276__webpack_require__undefined2783276871undefined355361__webpack_require__undefined3633936248undefined Çþÿÿyþÿÿ!ÿÿÿ  ÿÿÿ ÿÿÿ m:«webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSource«webpack/lib/util/registerExternalSerializer™webpack-sources/RawSource8"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { createMutableActionQueue: null, dispatchNavigateAction: null, dispatchTraverseAction: null, getCurrentAppRouterState: null, publicAppRouterInstance: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { createMutableActionQueue: function() { return createMutableActionQueue; }, dispatchNavigateAction: function() { return dispatchNavigateAction; }, dispatchTraverseAction: function() { return dispatchTraverseAction; }, getCurrentAppRouterState: function() { return getCurrentAppRouterState; }, publicAppRouterInstance: function() { return publicAppRouterInstance; } }); const _routerreducertypes = require("./router-reducer/router-reducer-types"); const _routerreducer = require("./router-reducer/router-reducer"); const _react = require("react"); const _isthenable = require("../../shared/lib/is-thenable"); const _segmentcache = require("./segment-cache"); const _useactionqueue = require("./use-action-queue"); const _addbasepath = require("../add-base-path"); const _approuter = require("./app-router"); const _prefetchreducer = require("./router-reducer/reducers/prefetch-reducer"); const _links = require("./links"); function runRemainingActions(actionQueue, setState) { if (actionQueue.pending !== null) { actionQueue.pending = actionQueue.pending.next; if (actionQueue.pending !== null) { // eslint-disable-next-line @typescript-eslint/no-use-before-define runAction({ actionQueue, action: actionQueue.pending, setState }); } else { // No more actions are pending, check if a refresh is needed if (actionQueue.needsRefresh) { actionQueue.needsRefresh = false; actionQueue.dispatch({ type: _routerreducertypes.ACTION_REFRESH, origin: window.location.origin }, setState); } } } } async function runAction(param) { let { actionQueue, action, setState } = param; const prevState = actionQueue.state; actionQueue.pending = action; const payload = action.payload; const actionResult = actionQueue.action(prevState, payload); function handleResult(nextState) { // if we discarded this action, the state should also be discarded if (action.discarded) { return; } actionQueue.state = nextState; runRemainingActions(actionQueue, setState); action.resolve(nextState); } // if the action is a promise, set up a callback to resolve it if ((0, _isthenable.isThenable)(actionResult)) { actionResult.then(handleResult, (err)=>{ runRemainingActions(actionQueue, setState); action.reject(err); }); } else { handleResult(actionResult); } } function dispatchAction(actionQueue, payload, setState) { let resolvers = { resolve: setState, reject: ()=>{} }; // most of the action types are async with the exception of restore // it's important that restore is handled quickly since it's fired on the popstate event // and we don't want to add any delay on a back/forward nav // this only creates a promise for the async actions if (payload.type !== _routerreducertypes.ACTION_RESTORE) { // Create the promise and assign the resolvers to the object. const deferredPromise = new Promise((resolve, reject)=>{ resolvers = { resolve, reject }; }); (0, _react.startTransition)(()=>{ // we immediately notify React of the pending promise -- the resolver is attached to the action node // and will be called when the associated action promise resolves setState(deferredPromise); }); } const newAction = { payload, next: null, resolve: resolvers.resolve, reject: resolvers.reject }; // Check if the queue is empty if (actionQueue.pending === null) { // The queue is empty, so add the action and start it immediately // Mark this action as the last in the queue actionQueue.last = newAction; runAction({ actionQueue, action: newAction, setState }); } else if (payload.type === _routerreducertypes.ACTION_NAVIGATE || payload.type === _routerreducertypes.ACTION_RESTORE) { // Navigations (including back/forward) take priority over any pending actions. // Mark the pending action as discarded (so the state is never applied) and start the navigation action immediately. actionQueue.pending.discarded = true; // The rest of the current queue should still execute after this navigation. // (Note that it can't contain any earlier navigations, because we always put those into `actionQueue.pending` by calling `runAction`) newAction.next = actionQueue.pending.next; // if the pending action was a server action, mark the queue as needing a refresh once events are processed if (actionQueue.pending.payload.type === _routerreducertypes.ACTION_SERVER_ACTION) { actionQueue.needsRefresh = true; } runAction({ actionQueue, action: newAction, setState }); } else { // The queue is not empty, so add the action to the end of the queue // It will be started by runRemainingActions after the previous action finishes if (actionQueue.last !== null) { actionQueue.last.next = newAction; } actionQueue.last = newAction; } } let globalActionQueue = null; function createMutableActionQueue(initialState, instrumentationHooks) { const actionQueue = { state: initialState, dispatch: (payload, setState)=>dispatchAction(actionQueue, payload, setState), action: async (state, action)=>{ const result = (0, _routerreducer.reducer)(state, action); return result; }, pending: null, last: null, onRouterTransitionStart: instrumentationHooks !== null && typeof instrumentationHooks.onRouterTransitionStart === 'function' ? instrumentationHooks.onRouterTransitionStart : null }; if ("object" !== 'undefined') { // The action queue is lazily created on hydration, but after that point // it doesn't change. So we can store it in a global rather than pass // it around everywhere via props/context. if (globalActionQueue !== null) { throw Object.defineProperty(new Error('Internal Next.js Error: createMutableActionQueue was called more ' + 'than once'), "__NEXT_ERROR_CODE", { value: "E624", enumerable: false, configurable: true }); } globalActionQueue = actionQueue; } return actionQueue; } function getCurrentAppRouterState() { return globalActionQueue !== null ? globalActionQueue.state : null; } function getAppRouterActionQueue() { if (globalActionQueue === null) { throw Object.defineProperty(new Error('Internal Next.js error: Router action dispatched before initialization.'), "__NEXT_ERROR_CODE", { value: "E668", enumerable: false, configurable: true }); } return globalActionQueue; } function getProfilingHookForOnNavigationStart() { if (globalActionQueue !== null) { return globalActionQueue.onRouterTransitionStart; } return null; } function dispatchNavigateAction(href, navigateType, shouldScroll, linkInstanceRef) { // TODO: This stuff could just go into the reducer. Leaving as-is for now // since we're about to rewrite all the router reducer stuff anyway. const url = new URL((0, _addbasepath.addBasePath)(href), location.href); if (process.env.__NEXT_APP_NAV_FAIL_HANDLING) { window.next.__pendingUrl = url; } (0, _links.setLinkForCurrentNavigation)(linkInstanceRef); const onRouterTransitionStart = getProfilingHookForOnNavigationStart(); if (onRouterTransitionStart !== null) { onRouterTransitionStart(href, navigateType); } (0, _useactionqueue.dispatchAppRouterAction)({ type: _routerreducertypes.ACTION_NAVIGATE, url, isExternalUrl: (0, _approuter.isExternalURL)(url), locationSearch: location.search, shouldScroll, navigateType, allowAliasing: true }); } function dispatchTraverseAction(href, tree) { const onRouterTransitionStart = getProfilingHookForOnNavigationStart(); if (onRouterTransitionStart !== null) { onRouterTransitionStart(href, 'traverse'); } (0, _useactionqueue.dispatchAppRouterAction)({ type: _routerreducertypes.ACTION_RESTORE, url: new URL(href), tree }); } const publicAppRouterInstance = { back: ()=>window.history.back(), forward: ()=>window.history.forward(), prefetch: process.env.__NEXT_CLIENT_SEGMENT_CACHE ? // cache. So we don't need to dispatch an action. (href, options)=>{ const actionQueue = getAppRouterActionQueue(); var _options_kind; const prefetchKind = (_options_kind = options == null ? void 0 : options.kind) != null ? _options_kind : _routerreducertypes.PrefetchKind.AUTO; // We don't currently offer a way to issue a runtime prefetch via `router.prefetch()`. // This will be possible when we update its API to not take a PrefetchKind. let fetchStrategy; switch(prefetchKind){ case _routerreducertypes.PrefetchKind.AUTO: { // We default to PPR. We'll discover whether or not the route supports it with the initial prefetch. fetchStrategy = _segmentcache.FetchStrategy.PPR; break; } case _routerreducertypes.PrefetchKind.FULL: { fetchStrategy = _segmentcache.FetchStrategy.Full; break; } case _routerreducertypes.PrefetchKind.TEMPORARY: { // This concept doesn't exist in the segment cache implementation. return; } default: { prefetchKind; // Despite typescript thinking that this can't happen, // we might get an unexpected value from user code. // We don't know what they want, but we know they want a prefetch, // so use the default. fetchStrategy = _segmentcache.FetchStrategy.PPR; } } var _options_onInvalidate; (0, _segmentcache.prefetch)(href, actionQueue.state.nextUrl, actionQueue.state.tree, fetchStrategy, (_options_onInvalidate = options == null ? void 0 : options.onInvalidate) != null ? _options_onInvalidate : null); } : (href, options)=>{ // Use the old prefetch implementation. const actionQueue = getAppRouterActionQueue(); const url = (0, _approuter.createPrefetchURL)(href); if (url !== null) { var _options_kind; // The prefetch reducer doesn't actually update any state or // trigger a rerender. It just writes to a mutable cache. So we // shouldn't bother calling setState/dispatch; we can just re-run // the reducer directly using the current state. // TODO: Refactor this away from a "reducer" so it's // less confusing. (0, _prefetchreducer.prefetchReducer)(actionQueue.state, { type: _routerreducertypes.ACTION_PREFETCH, url, kind: (_options_kind = options == null ? void 0 : options.kind) != null ? _options_kind : _routerreducertypes.PrefetchKind.FULL }); } }, replace: (href, options)=>{ (0, _react.startTransition)(()=>{ var _options_scroll; dispatchNavigateAction(href, 'replace', (_options_scroll = options == null ? void 0 : options.scroll) != null ? _options_scroll : true, null); }); }, push: (href, options)=>{ (0, _react.startTransition)(()=>{ var _options_scroll; dispatchNavigateAction(href, 'push', (_options_scroll = options == null ? void 0 : options.scroll) != null ? _options_scroll : true, null); }); }, refresh: ()=>{ (0, _react.startTransition)(()=>{ (0, _useactionqueue.dispatchAppRouterAction)({ type: _routerreducertypes.ACTION_REFRESH, origin: window.location.origin }); }); }, hmrRefresh: ()=>{ if ("production" !== 'development') { throw Object.defineProperty(new Error('hmrRefresh can only be used in development mode. Please use refresh instead.'), "__NEXT_ERROR_CODE", { value: "E485", enumerable: false, configurable: true }); } else { (0, _react.startTransition)(()=>{ (0, _useactionqueue.dispatchAppRouterAction)({ type: _routerreducertypes.ACTION_HMR_REFRESH, origin: window.location.origin }); }); } } }; // Exists for debugging purposes. Don't use in application code. if ("object" !== 'undefined' && window.next) { window.next.router = publicAppRouterInstance; } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=app-router-instance.js.map g :NNW_¤ª¬Òíóõ(.06NTVs“•¥ÁÇÉÜõûý%+-X:W]_Š£¥­C j m › ®$Ô$%‚,’3¯3Ò4â526I6€®Object.defineProperty(exports, "__esModule", (‚))0“__webpack_require__„6871þ„8451ý„2115ü„4089û„6048ú„6248ù„6058ø„7297÷„3933ö„3499„true…false‚{}† false0üþ… true ÿÿÿÌ- Object.defineProperty(exports, "__esModule", ({ value: true })); 0 && (0); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { createMutableActionQueue: function() { return createMutableActionQueue; }, dispatchNavigateAction: function() { return dispatchNavigateAction; }, dispatchTraverseAction: function() { return dispatchTraverseAction; }, getCurrentAppRouterState: function() { return getCurrentAppRouterState; }, publicAppRouterInstance: function() { return publicAppRouterInstance; } }); const _routerreducertypes = __webpack_require__(6871); const _routerreducer = __webpack_require__(8451); const _react = __webpack_require__(2115); const _isthenable = __webpack_require__(4089); const _segmentcache = __webpack_require__(6048); const _useactionqueue = __webpack_require__(6248); const _addbasepath = __webpack_require__(6058); const _approuter = __webpack_require__(7297); const _prefetchreducer = __webpack_require__(3933); const _links = __webpack_require__(3499); function runRemainingActions(actionQueue, setState) { if (actionQueue.pending !== null) { actionQueue.pending = actionQueue.pending.next; if (actionQueue.pending !== null) { // eslint-disable-next-line @typescript-eslint/no-use-before-define runAction({ actionQueue, action: actionQueue.pending, setState }); } else { // No more actions are pending, check if a refresh is needed if (actionQueue.needsRefresh) { actionQueue.needsRefresh = false; actionQueue.dispatch({ type: _routerreducertypes.ACTION_REFRESH, origin: window.location.origin }, setState); } } } } async function runAction(param) { let { actionQueue, action, setState } = param; const prevState = actionQueue.state; actionQueue.pending = action; const payload = action.payload; const actionResult = actionQueue.action(prevState, payload); function handleResult(nextState) { // if we discarded this action, the state should also be discarded if (action.discarded) { return; } actionQueue.state = nextState; runRemainingActions(actionQueue, setState); action.resolve(nextState); } // if the action is a promise, set up a callback to resolve it if ((0, _isthenable.isThenable)(actionResult)) { actionResult.then(handleResult, (err)=>{ runRemainingActions(actionQueue, setState); action.reject(err); }); } else { handleResult(actionResult); } } function dispatchAction(actionQueue, payload, setState) { let resolvers = { resolve: setState, reject: ()=>{} }; // most of the action types are async with the exception of restore // it's important that restore is handled quickly since it's fired on the popstate event // and we don't want to add any delay on a back/forward nav // this only creates a promise for the async actions if (payload.type !== _routerreducertypes.ACTION_RESTORE) { // Create the promise and assign the resolvers to the object. const deferredPromise = new Promise((resolve, reject)=>{ resolvers = { resolve, reject }; }); (0, _react.startTransition)(()=>{ // we immediately notify React of the pending promise -- the resolver is attached to the action node // and will be called when the associated action promise resolves setState(deferredPromise); }); } const newAction = { payload, next: null, resolve: resolvers.resolve, reject: resolvers.reject }; // Check if the queue is empty if (actionQueue.pending === null) { // The queue is empty, so add the action and start it immediately // Mark this action as the last in the queue actionQueue.last = newAction; runAction({ actionQueue, action: newAction, setState }); } else if (payload.type === _routerreducertypes.ACTION_NAVIGATE || payload.type === _routerreducertypes.ACTION_RESTORE) { // Navigations (including back/forward) take priority over any pending actions. // Mark the pending action as discarded (so the state is never applied) and start the navigation action immediately. actionQueue.pending.discarded = true; // The rest of the current queue should still execute after this navigation. // (Note that it can't contain any earlier navigations, because we always put those into `actionQueue.pending` by calling `runAction`) newAction.next = actionQueue.pending.next; // if the pending action was a server action, mark the queue as needing a refresh once events are processed if (actionQueue.pending.payload.type === _routerreducertypes.ACTION_SERVER_ACTION) { actionQueue.needsRefresh = true; } runAction({ actionQueue, action: newAction, setState }); } else { // The queue is not empty, so add the action to the end of the queue // It will be started by runRemainingActions after the previous action finishes if (actionQueue.last !== null) { actionQueue.last.next = newAction; } actionQueue.last = newAction; } } let globalActionQueue = null; function createMutableActionQueue(initialState, instrumentationHooks) { const actionQueue = { state: initialState, dispatch: (payload, setState)=>dispatchAction(actionQueue, payload, setState), action: async (state, action)=>{ const result = (0, _routerreducer.reducer)(state, action); return result; }, pending: null, last: null, onRouterTransitionStart: instrumentationHooks !== null && typeof instrumentationHooks.onRouterTransitionStart === 'function' ? instrumentationHooks.onRouterTransitionStart : null }; if (true) { // The action queue is lazily created on hydration, but after that point // it doesn't change. So we can store it in a global rather than pass // it around everywhere via props/context. if (globalActionQueue !== null) { throw Object.defineProperty(new Error('Internal Next.js Error: createMutableActionQueue was called more ' + 'than once'), "__NEXT_ERROR_CODE", { value: "E624", enumerable: false, configurable: true }); } globalActionQueue = actionQueue; } return actionQueue; } function getCurrentAppRouterState() { return globalActionQueue !== null ? globalActionQueue.state : null; } function getAppRouterActionQueue() { if (globalActionQueue === null) { throw Object.defineProperty(new Error('Internal Next.js error: Router action dispatched before initialization.'), "__NEXT_ERROR_CODE", { value: "E668", enumerable: false, configurable: true }); } return globalActionQueue; } function getProfilingHookForOnNavigationStart() { if (globalActionQueue !== null) { return globalActionQueue.onRouterTransitionStart; } return null; } function dispatchNavigateAction(href, navigateType, shouldScroll, linkInstanceRef) { // TODO: This stuff could just go into the reducer. Leaving as-is for now // since we're about to rewrite all the router reducer stuff anyway. const url = new URL((0, _addbasepath.addBasePath)(href), location.href); if (false) {} (0, _links.setLinkForCurrentNavigation)(linkInstanceRef); const onRouterTransitionStart = getProfilingHookForOnNavigationStart(); if (onRouterTransitionStart !== null) { onRouterTransitionStart(href, navigateType); } (0, _useactionqueue.dispatchAppRouterAction)({ type: _routerreducertypes.ACTION_NAVIGATE, url, isExternalUrl: (0, _approuter.isExternalURL)(url), locationSearch: location.search, shouldScroll, navigateType, allowAliasing: true }); } function dispatchTraverseAction(href, tree) { const onRouterTransitionStart = getProfilingHookForOnNavigationStart(); if (onRouterTransitionStart !== null) { onRouterTransitionStart(href, 'traverse'); } (0, _useactionqueue.dispatchAppRouterAction)({ type: _routerreducertypes.ACTION_RESTORE, url: new URL(href), tree }); } const publicAppRouterInstance = { back: ()=>window.history.back(), forward: ()=>window.history.forward(), prefetch: false ? // cache. So we don't need to dispatch an action. 0 : (href, options)=>{ // Use the old prefetch implementation. const actionQueue = getAppRouterActionQueue(); const url = (0, _approuter.createPrefetchURL)(href); if (url !== null) { var _options_kind; // The prefetch reducer doesn't actually update any state or // trigger a rerender. It just writes to a mutable cache. So we // shouldn't bother calling setState/dispatch; we can just re-run // the reducer directly using the current state. // TODO: Refactor this away from a "reducer" so it's // less confusing. (0, _prefetchreducer.prefetchReducer)(actionQueue.state, { type: _routerreducertypes.ACTION_PREFETCH, url, kind: (_options_kind = options == null ? void 0 : options.kind) != null ? _options_kind : _routerreducertypes.PrefetchKind.FULL }); } }, replace: (href, options)=>{ (0, _react.startTransition)(()=>{ var _options_scroll; dispatchNavigateAction(href, 'replace', (_options_scroll = options == null ? void 0 : options.scroll) != null ? _options_scroll : true, null); }); }, push: (href, options)=>{ (0, _react.startTransition)(()=>{ var _options_scroll; dispatchNavigateAction(href, 'push', (_options_scroll = options == null ? void 0 : options.scroll) != null ? _options_scroll : true, null); }); }, refresh: ()=>{ (0, _react.startTransition)(()=>{ (0, _useactionqueue.dispatchAppRouterAction)({ type: _routerreducertypes.ACTION_REFRESH, origin: window.location.origin }); }); }, hmrRefresh: ()=>{ if (true) { throw Object.defineProperty(new Error('hmrRefresh can only be used in development mode. Please use refresh instead.'), "__NEXT_ERROR_CODE", { value: "E485", enumerable: false, configurable: true }); } else {} } }; // Exists for debugging purposes. Don't use in application code. if ( true && window.next) { window.next.router = publicAppRouterInstance; } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=app-router-instance.js.map ÿÿÿ ÿÿÿ  ÿÿÿ8"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { createMutableActionQueue: null, dispatchNavigateAction: null, dispatchTraverseAction: null, getCurrentAppRouterState: null, publicAppRouterInstance: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { createMutableActionQueue: function() { return createMutableActionQueue; }, dispatchNavigateAction: function() { return dispatchNavigateAction; }, dispatchTraverseAction: function() { return dispatchTraverseAction; }, getCurrentAppRouterState: function() { return getCurrentAppRouterState; }, publicAppRouterInstance: function() { return publicAppRouterInstance; } }); const _routerreducertypes = require("./router-reducer/router-reducer-types"); const _routerreducer = require("./router-reducer/router-reducer"); const _react = require("react"); const _isthenable = require("../../shared/lib/is-thenable"); const _segmentcache = require("./segment-cache"); const _useactionqueue = require("./use-action-queue"); const _addbasepath = require("../add-base-path"); const _approuter = require("./app-router"); const _prefetchreducer = require("./router-reducer/reducers/prefetch-reducer"); const _links = require("./links"); function runRemainingActions(actionQueue, setState) { if (actionQueue.pending !== null) { actionQueue.pending = actionQueue.pending.next; if (actionQueue.pending !== null) { // eslint-disable-next-line @typescript-eslint/no-use-before-define runAction({ actionQueue, action: actionQueue.pending, setState }); } else { // No more actions are pending, check if a refresh is needed if (actionQueue.needsRefresh) { actionQueue.needsRefresh = false; actionQueue.dispatch({ type: _routerreducertypes.ACTION_REFRESH, origin: window.location.origin }, setState); } } } } async function runAction(param) { let { actionQueue, action, setState } = param; const prevState = actionQueue.state; actionQueue.pending = action; const payload = action.payload; const actionResult = actionQueue.action(prevState, payload); function handleResult(nextState) { // if we discarded this action, the state should also be discarded if (action.discarded) { return; } actionQueue.state = nextState; runRemainingActions(actionQueue, setState); action.resolve(nextState); } // if the action is a promise, set up a callback to resolve it if ((0, _isthenable.isThenable)(actionResult)) { actionResult.then(handleResult, (err)=>{ runRemainingActions(actionQueue, setState); action.reject(err); }); } else { handleResult(actionResult); } } function dispatchAction(actionQueue, payload, setState) { let resolvers = { resolve: setState, reject: ()=>{} }; // most of the action types are async with the exception of restore // it's important that restore is handled quickly since it's fired on the popstate event // and we don't want to add any delay on a back/forward nav // this only creates a promise for the async actions if (payload.type !== _routerreducertypes.ACTION_RESTORE) { // Create the promise and assign the resolvers to the object. const deferredPromise = new Promise((resolve, reject)=>{ resolvers = { resolve, reject }; }); (0, _react.startTransition)(()=>{ // we immediately notify React of the pending promise -- the resolver is attached to the action node // and will be called when the associated action promise resolves setState(deferredPromise); }); } const newAction = { payload, next: null, resolve: resolvers.resolve, reject: resolvers.reject }; // Check if the queue is empty if (actionQueue.pending === null) { // The queue is empty, so add the action and start it immediately // Mark this action as the last in the queue actionQueue.last = newAction; runAction({ actionQueue, action: newAction, setState }); } else if (payload.type === _routerreducertypes.ACTION_NAVIGATE || payload.type === _routerreducertypes.ACTION_RESTORE) { // Navigations (including back/forward) take priority over any pending actions. // Mark the pending action as discarded (so the state is never applied) and start the navigation action immediately. actionQueue.pending.discarded = true; // The rest of the current queue should still execute after this navigation. // (Note that it can't contain any earlier navigations, because we always put those into `actionQueue.pending` by calling `runAction`) newAction.next = actionQueue.pending.next; // if the pending action was a server action, mark the queue as needing a refresh once events are processed if (actionQueue.pending.payload.type === _routerreducertypes.ACTION_SERVER_ACTION) { actionQueue.needsRefresh = true; } runAction({ actionQueue, action: newAction, setState }); } else { // The queue is not empty, so add the action to the end of the queue // It will be started by runRemainingActions after the previous action finishes if (actionQueue.last !== null) { actionQueue.last.next = newAction; } actionQueue.last = newAction; } } let globalActionQueue = null; function createMutableActionQueue(initialState, instrumentationHooks) { const actionQueue = { state: initialState, dispatch: (payload, setState)=>dispatchAction(actionQueue, payload, setState), action: async (state, action)=>{ const result = (0, _routerreducer.reducer)(state, action); return result; }, pending: null, last: null, onRouterTransitionStart: instrumentationHooks !== null && typeof instrumentationHooks.onRouterTransitionStart === 'function' ? instrumentationHooks.onRouterTransitionStart : null }; if ("object" !== 'undefined') { // The action queue is lazily created on hydration, but after that point // it doesn't change. So we can store it in a global rather than pass // it around everywhere via props/context. if (globalActionQueue !== null) { throw Object.defineProperty(new Error('Internal Next.js Error: createMutableActionQueue was called more ' + 'than once'), "__NEXT_ERROR_CODE", { value: "E624", enumerable: false, configurable: true }); } globalActionQueue = actionQueue; } return actionQueue; } function getCurrentAppRouterState() { return globalActionQueue !== null ? globalActionQueue.state : null; } function getAppRouterActionQueue() { if (globalActionQueue === null) { throw Object.defineProperty(new Error('Internal Next.js error: Router action dispatched before initialization.'), "__NEXT_ERROR_CODE", { value: "E668", enumerable: false, configurable: true }); } return globalActionQueue; } function getProfilingHookForOnNavigationStart() { if (globalActionQueue !== null) { return globalActionQueue.onRouterTransitionStart; } return null; } function dispatchNavigateAction(href, navigateType, shouldScroll, linkInstanceRef) { // TODO: This stuff could just go into the reducer. Leaving as-is for now // since we're about to rewrite all the router reducer stuff anyway. const url = new URL((0, _addbasepath.addBasePath)(href), location.href); if (process.env.__NEXT_APP_NAV_FAIL_HANDLING) { window.next.__pendingUrl = url; } (0, _links.setLinkForCurrentNavigation)(linkInstanceRef); const onRouterTransitionStart = getProfilingHookForOnNavigationStart(); if (onRouterTransitionStart !== null) { onRouterTransitionStart(href, navigateType); } (0, _useactionqueue.dispatchAppRouterAction)({ type: _routerreducertypes.ACTION_NAVIGATE, url, isExternalUrl: (0, _approuter.isExternalURL)(url), locationSearch: location.search, shouldScroll, navigateType, allowAliasing: true }); } function dispatchTraverseAction(href, tree) { const onRouterTransitionStart = getProfilingHookForOnNavigationStart(); if (onRouterTransitionStart !== null) { onRouterTransitionStart(href, 'traverse'); } (0, _useactionqueue.dispatchAppRouterAction)({ type: _routerreducertypes.ACTION_RESTORE, url: new URL(href), tree }); } const publicAppRouterInstance = { back: ()=>window.history.back(), forward: ()=>window.history.forward(), prefetch: process.env.__NEXT_CLIENT_SEGMENT_CACHE ? // cache. So we don't need to dispatch an action. (href, options)=>{ const actionQueue = getAppRouterActionQueue(); var _options_kind; const prefetchKind = (_options_kind = options == null ? void 0 : options.kind) != null ? _options_kind : _routerreducertypes.PrefetchKind.AUTO; // We don't currently offer a way to issue a runtime prefetch via `router.prefetch()`. // This will be possible when we update its API to not take a PrefetchKind. let fetchStrategy; switch(prefetchKind){ case _routerreducertypes.PrefetchKind.AUTO: { // We default to PPR. We'll discover whether or not the route supports it with the initial prefetch. fetchStrategy = _segmentcache.FetchStrategy.PPR; break; } case _routerreducertypes.PrefetchKind.FULL: { fetchStrategy = _segmentcache.FetchStrategy.Full; break; } case _routerreducertypes.PrefetchKind.TEMPORARY: { // This concept doesn't exist in the segment cache implementation. return; } default: { prefetchKind; // Despite typescript thinking that this can't happen, // we might get an unexpected value from user code. // We don't know what they want, but we know they want a prefetch, // so use the default. fetchStrategy = _segmentcache.FetchStrategy.PPR; } } var _options_onInvalidate; (0, _segmentcache.prefetch)(href, actionQueue.state.nextUrl, actionQueue.state.tree, fetchStrategy, (_options_onInvalidate = options == null ? void 0 : options.onInvalidate) != null ? _options_onInvalidate : null); } : (href, options)=>{ // Use the old prefetch implementation. const actionQueue = getAppRouterActionQueue(); const url = (0, _approuter.createPrefetchURL)(href); if (url !== null) { var _options_kind; // The prefetch reducer doesn't actually update any state or // trigger a rerender. It just writes to a mutable cache. So we // shouldn't bother calling setState/dispatch; we can just re-run // the reducer directly using the current state. // TODO: Refactor this away from a "reducer" so it's // less confusing. (0, _prefetchreducer.prefetchReducer)(actionQueue.state, { type: _routerreducertypes.ACTION_PREFETCH, url, kind: (_options_kind = options == null ? void 0 : options.kind) != null ? _options_kind : _routerreducertypes.PrefetchKind.FULL }); } }, replace: (href, options)=>{ (0, _react.startTransition)(()=>{ var _options_scroll; dispatchNavigateAction(href, 'replace', (_options_scroll = options == null ? void 0 : options.scroll) != null ? _options_scroll : true, null); }); }, push: (href, options)=>{ (0, _react.startTransition)(()=>{ var _options_scroll; dispatchNavigateAction(href, 'push', (_options_scroll = options == null ? void 0 : options.scroll) != null ? _options_scroll : true, null); }); }, refresh: ()=>{ (0, _react.startTransition)(()=>{ (0, _useactionqueue.dispatchAppRouterAction)({ type: _routerreducertypes.ACTION_REFRESH, origin: window.location.origin }); }); }, hmrRefresh: ()=>{ if ("production" !== 'development') { throw Object.defineProperty(new Error('hmrRefresh can only be used in development mode. Please use refresh instead.'), "__NEXT_ERROR_CODE", { value: "E485", enumerable: false, configurable: true }); } else { (0, _react.startTransition)(()=>{ (0, _useactionqueue.dispatchAppRouterAction)({ type: _routerreducertypes.ACTION_HMR_REFRESH, origin: window.location.origin }); }); } } }; // Exists for debugging purposes. Don't use in application code. if ("object" !== 'undefined' && window.next) { window.next.router = publicAppRouterInstance; } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=app-router-instance.js.map G012undefined1458Object.defineProperty(exports, "__esModule", (undefined7878))undefined872800undefined932938__webpack_require__undefined9409786871undefined10051011__webpack_require__undefined101310458451undefined10641070__webpack_require__undefined107210782115undefined11021108__webpack_require__undefined111011394089undefined11651171__webpack_require__undefined117311896048undefined12171223__webpack_require__undefined122512446248undefined12691275__webpack_require__undefined127712946058undefined13171323__webpack_require__undefined132513387297undefined13671373__webpack_require__undefined137514183933undefined14371443__webpack_require__undefined144514533499undefined66596682trueundefined82598298falseundefined83018347{}undefined93909428 falseundefined9486113940undefined1320213231trueundefined1352213794{}undefined1387413897 trueundefined »þÿÿmþÿÿÿÿÿ þþÿÿÿþÿÿ ¥«webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSource«webpack/lib/util/registerExternalSerializer™webpack-sources/RawSources/* __next_internal_client_entry_do_not_use__ cjs */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { PathParamsContext: null, PathnameContext: null, SearchParamsContext: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { PathParamsContext: function() { return PathParamsContext; }, PathnameContext: function() { return PathnameContext; }, SearchParamsContext: function() { return SearchParamsContext; } }); const _react = require("react"); const SearchParamsContext = (0, _react.createContext)(null); const PathnameContext = (0, _react.createContext)(null); const PathParamsContext = (0, _react.createContext)(null); if ("production" !== 'production') { SearchParamsContext.displayName = 'SearchParamsContext'; PathnameContext.displayName = 'PathnameContext'; PathParamsContext.displayName = 'PathParamsContext'; } //# sourceMappingURL=hooks-client-context.shared-runtime.js.map c5ACoKƒƒŒõž¤¦¬e„1€®Object.defineProperty(exports, "__esModule", (‚))0“__webpack_require__„2115…false‚{} ÿÿÿD/* __next_internal_client_entry_do_not_use__ cjs */ Object.defineProperty(exports, "__esModule", ({ value: true })); 0 && (0); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { PathParamsContext: function() { return PathParamsContext; }, PathnameContext: function() { return PathnameContext; }, SearchParamsContext: function() { return SearchParamsContext; } }); const _react = __webpack_require__(2115); const SearchParamsContext = (0, _react.createContext)(null); const PathnameContext = (0, _react.createContext)(null); const PathParamsContext = (0, _react.createContext)(null); if (false) {} //# sourceMappingURL=hooks-client-context.shared-runtime.js.map ÿÿÿ ÿÿÿ  ÿÿÿs/* __next_internal_client_entry_do_not_use__ cjs */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { PathParamsContext: null, PathnameContext: null, SearchParamsContext: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { PathParamsContext: function() { return PathParamsContext; }, PathnameContext: function() { return PathnameContext; }, SearchParamsContext: function() { return SearchParamsContext; } }); const _react = require("react"); const SearchParamsContext = (0, _react.createContext)(null); const PathnameContext = (0, _react.createContext)(null); const PathParamsContext = (0, _react.createContext)(null); if ("production" !== 'production') { SearchParamsContext.displayName = 'SearchParamsContext'; PathnameContext.displayName = 'PathnameContext'; PathParamsContext.displayName = 'PathParamsContext'; } //# sourceMappingURL=hooks-client-context.shared-runtime.js.map Å5365undefined67111Object.defineProperty(exports, "__esModule", (undefined131131))undefined1402450undefined670676__webpack_require__undefined6786842115undefined869897falseundefined9001073{}undefined ¯þÿÿ ÿÿÿ òþÿÿóþÿÿ Ž«webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSource«webpack/lib/util/registerExternalSerializer™webpack-sources/RawSource' "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "AppRouterAnnouncer", { enumerable: true, get: function() { return AppRouterAnnouncer; } }); const _react = require("react"); const _reactdom = require("react-dom"); const ANNOUNCER_TYPE = 'next-route-announcer'; const ANNOUNCER_ID = '__next-route-announcer__'; function getAnnouncerNode() { var _existingAnnouncer_shadowRoot; const existingAnnouncer = document.getElementsByName(ANNOUNCER_TYPE)[0]; if (existingAnnouncer == null ? void 0 : (_existingAnnouncer_shadowRoot = existingAnnouncer.shadowRoot) == null ? void 0 : _existingAnnouncer_shadowRoot.childNodes[0]) { return existingAnnouncer.shadowRoot.childNodes[0]; } else { const container = document.createElement(ANNOUNCER_TYPE); container.style.cssText = 'position:absolute'; const announcer = document.createElement('div'); announcer.ariaLive = 'assertive'; announcer.id = ANNOUNCER_ID; announcer.role = 'alert'; announcer.style.cssText = 'position:absolute;border:0;height:1px;margin:-1px;padding:0;width:1px;clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap;word-wrap:normal'; // Use shadow DOM here to avoid any potential CSS bleed const shadow = container.attachShadow({ mode: 'open' }); shadow.appendChild(announcer); document.body.appendChild(container); return announcer; } } function AppRouterAnnouncer(param) { let { tree } = param; const [portalNode, setPortalNode] = (0, _react.useState)(null); (0, _react.useEffect)(()=>{ const announcer = getAnnouncerNode(); setPortalNode(announcer); return ()=>{ const container = document.getElementsByTagName(ANNOUNCER_TYPE)[0]; if (container == null ? void 0 : container.isConnected) { document.body.removeChild(container); } }; }, []); const [routeAnnouncement, setRouteAnnouncement] = (0, _react.useState)(''); const previousTitle = (0, _react.useRef)(undefined); (0, _react.useEffect)(()=>{ let currentTitle = ''; if (document.title) { currentTitle = document.title; } else { const pageHeader = document.querySelector('h1'); if (pageHeader) { currentTitle = pageHeader.innerText || pageHeader.textContent || ''; } } // Only announce the title change, but not for the first load because screen // readers do that automatically. if (previousTitle.current !== undefined && previousTitle.current !== currentTitle) { setRouteAnnouncement(currentTitle); } previousTitle.current = currentTitle; }, [ tree ]); return portalNode ? /*#__PURE__*/ (0, _reactdom.createPortal)(routeAnnouncement, portalNode) : null; } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=app-router-announcer.js.map  e :NNQJ…ÞÞðöøþ&€®Object.defineProperty(exports, "__esModule", (‚))¶Object.defineProperty(exports, "AppRouterAnnouncer", (þ“__webpack_require__„2115þ„7650 ÷þÿÿ, Object.defineProperty(exports, "__esModule", ({ value: true })); Object.defineProperty(exports, "AppRouterAnnouncer", ({ enumerable: true, get: function() { return AppRouterAnnouncer; } })); const _react = __webpack_require__(2115); const _reactdom = __webpack_require__(7650); const ANNOUNCER_TYPE = 'next-route-announcer'; const ANNOUNCER_ID = '__next-route-announcer__'; function getAnnouncerNode() { var _existingAnnouncer_shadowRoot; const existingAnnouncer = document.getElementsByName(ANNOUNCER_TYPE)[0]; if (existingAnnouncer == null ? void 0 : (_existingAnnouncer_shadowRoot = existingAnnouncer.shadowRoot) == null ? void 0 : _existingAnnouncer_shadowRoot.childNodes[0]) { return existingAnnouncer.shadowRoot.childNodes[0]; } else { const container = document.createElement(ANNOUNCER_TYPE); container.style.cssText = 'position:absolute'; const announcer = document.createElement('div'); announcer.ariaLive = 'assertive'; announcer.id = ANNOUNCER_ID; announcer.role = 'alert'; announcer.style.cssText = 'position:absolute;border:0;height:1px;margin:-1px;padding:0;width:1px;clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap;word-wrap:normal'; // Use shadow DOM here to avoid any potential CSS bleed const shadow = container.attachShadow({ mode: 'open' }); shadow.appendChild(announcer); document.body.appendChild(container); return announcer; } } function AppRouterAnnouncer(param) { let { tree } = param; const [portalNode, setPortalNode] = (0, _react.useState)(null); (0, _react.useEffect)(()=>{ const announcer = getAnnouncerNode(); setPortalNode(announcer); return ()=>{ const container = document.getElementsByTagName(ANNOUNCER_TYPE)[0]; if (container == null ? void 0 : container.isConnected) { document.body.removeChild(container); } }; }, []); const [routeAnnouncement, setRouteAnnouncement] = (0, _react.useState)(''); const previousTitle = (0, _react.useRef)(undefined); (0, _react.useEffect)(()=>{ let currentTitle = ''; if (document.title) { currentTitle = document.title; } else { const pageHeader = document.querySelector('h1'); if (pageHeader) { currentTitle = pageHeader.innerText || pageHeader.textContent || ''; } } // Only announce the title change, but not for the first load because screen // readers do that automatically. if (previousTitle.current !== undefined && previousTitle.current !== currentTitle) { setRouteAnnouncement(currentTitle); } previousTitle.current = currentTitle; }, [ tree ]); return portalNode ? /*#__PURE__*/ (0, _reactdom.createPortal)(routeAnnouncement, portalNode) : null; } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=app-router-announcer.js.map øþÿÿ ûþÿÿ  üþÿÿ' "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "AppRouterAnnouncer", { enumerable: true, get: function() { return AppRouterAnnouncer; } }); const _react = require("react"); const _reactdom = require("react-dom"); const ANNOUNCER_TYPE = 'next-route-announcer'; const ANNOUNCER_ID = '__next-route-announcer__'; function getAnnouncerNode() { var _existingAnnouncer_shadowRoot; const existingAnnouncer = document.getElementsByName(ANNOUNCER_TYPE)[0]; if (existingAnnouncer == null ? void 0 : (_existingAnnouncer_shadowRoot = existingAnnouncer.shadowRoot) == null ? void 0 : _existingAnnouncer_shadowRoot.childNodes[0]) { return existingAnnouncer.shadowRoot.childNodes[0]; } else { const container = document.createElement(ANNOUNCER_TYPE); container.style.cssText = 'position:absolute'; const announcer = document.createElement('div'); announcer.ariaLive = 'assertive'; announcer.id = ANNOUNCER_ID; announcer.role = 'alert'; announcer.style.cssText = 'position:absolute;border:0;height:1px;margin:-1px;padding:0;width:1px;clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap;word-wrap:normal'; // Use shadow DOM here to avoid any potential CSS bleed const shadow = container.attachShadow({ mode: 'open' }); shadow.appendChild(announcer); document.body.appendChild(container); return announcer; } } function AppRouterAnnouncer(param) { let { tree } = param; const [portalNode, setPortalNode] = (0, _react.useState)(null); (0, _react.useEffect)(()=>{ const announcer = getAnnouncerNode(); setPortalNode(announcer); return ()=>{ const container = document.getElementsByTagName(ANNOUNCER_TYPE)[0]; if (container == null ? void 0 : container.isConnected) { document.body.removeChild(container); } }; }, []); const [routeAnnouncement, setRouteAnnouncement] = (0, _react.useState)(''); const previousTitle = (0, _react.useRef)(undefined); (0, _react.useEffect)(()=>{ let currentTitle = ''; if (document.title) { currentTitle = document.title; } else { const pageHeader = document.querySelector('h1'); if (pageHeader) { currentTitle = pageHeader.innerText || pageHeader.textContent || ''; } } // Only announce the title change, but not for the first load because screen // readers do that automatically. if (previousTitle.current !== undefined && previousTitle.current !== currentTitle) { setRouteAnnouncement(currentTitle); } previousTitle.current = currentTitle; }, [ tree ]); return portalNode ? /*#__PURE__*/ (0, _reactdom.createPortal)(routeAnnouncement, portalNode) : null; } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=app-router-announcer.js.map 012undefined1458Object.defineProperty(exports, "__esModule", (undefined7878))undefined81133Object.defineProperty(exports, "AppRouterAnnouncer", (undefined222222))undefined240246__webpack_require__undefined2482542115undefined276282__webpack_require__undefined2842947650undefined £þÿÿUþÿÿýþÿÿ æþÿÿçþÿÿ  «webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSource«webpack/lib/util/registerExternalSerializer™webpack-sources/RawSourceÆ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { handleHardNavError: null, useNavFailureHandler: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { handleHardNavError: function() { return handleHardNavError; }, useNavFailureHandler: function() { return useNavFailureHandler; } }); const _react = require("react"); const _createhreffromurl = require("./router-reducer/create-href-from-url"); function handleHardNavError(error) { if (error && "object" !== 'undefined' && window.next.__pendingUrl && (0, _createhreffromurl.createHrefFromUrl)(new URL(window.location.href)) !== (0, _createhreffromurl.createHrefFromUrl)(window.next.__pendingUrl)) { console.error("Error occurred during navigation, falling back to hard navigation", error); window.location.href = window.next.__pendingUrl.toString(); return true; } return false; } function useNavFailureHandler() { if (process.env.__NEXT_APP_NAV_FAIL_HANDLING) { // this if is only for DCE of the feature flag not conditional // eslint-disable-next-line react-hooks/rules-of-hooks (0, _react.useEffect)(()=>{ const uncaughtExceptionHandler = (evt)=>{ const error = 'reason' in evt ? evt.reason : evt.error; // if we have an unhandled exception/rejection during // a navigation we fall back to a hard navigation to // attempt recovering to a good state handleHardNavError(error); }; window.addEventListener('unhandledrejection', uncaughtExceptionHandler); window.addEventListener('error', uncaughtExceptionHandler); return ()=>{ window.removeEventListener('error', uncaughtExceptionHandler); window.removeEventListener('unhandledrejection', uncaughtExceptionHandler); }; }, []); } } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=nav-failure-handler.js.map  e :NNWL§ 8>@fl“–?€®Object.defineProperty(exports, "__esModule", (‚))0“__webpack_require__„2115þ„9658…false‚{} ëþÿÿ’ Object.defineProperty(exports, "__esModule", ({ value: true })); 0 && (0); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { handleHardNavError: function() { return handleHardNavError; }, useNavFailureHandler: function() { return useNavFailureHandler; } }); const _react = __webpack_require__(2115); const _createhreffromurl = __webpack_require__(9658); function handleHardNavError(error) { if (error && "object" !== 'undefined' && window.next.__pendingUrl && (0, _createhreffromurl.createHrefFromUrl)(new URL(window.location.href)) !== (0, _createhreffromurl.createHrefFromUrl)(window.next.__pendingUrl)) { console.error("Error occurred during navigation, falling back to hard navigation", error); window.location.href = window.next.__pendingUrl.toString(); return true; } return false; } function useNavFailureHandler() { if (false) {} } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=nav-failure-handler.js.map ìþÿÿ ïþÿÿ  ðþÿÿÆ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { handleHardNavError: null, useNavFailureHandler: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { handleHardNavError: function() { return handleHardNavError; }, useNavFailureHandler: function() { return useNavFailureHandler; } }); const _react = require("react"); const _createhreffromurl = require("./router-reducer/create-href-from-url"); function handleHardNavError(error) { if (error && "object" !== 'undefined' && window.next.__pendingUrl && (0, _createhreffromurl.createHrefFromUrl)(new URL(window.location.href)) !== (0, _createhreffromurl.createHrefFromUrl)(window.next.__pendingUrl)) { console.error("Error occurred during navigation, falling back to hard navigation", error); window.location.href = window.next.__pendingUrl.toString(); return true; } return false; } function useNavFailureHandler() { if (process.env.__NEXT_APP_NAV_FAIL_HANDLING) { // this if is only for DCE of the feature flag not conditional // eslint-disable-next-line react-hooks/rules-of-hooks (0, _react.useEffect)(()=>{ const uncaughtExceptionHandler = (evt)=>{ const error = 'reason' in evt ? evt.reason : evt.error; // if we have an unhandled exception/rejection during // a navigation we fall back to a hard navigation to // attempt recovering to a good state handleHardNavError(error); }; window.addEventListener('unhandledrejection', uncaughtExceptionHandler); window.addEventListener('error', uncaughtExceptionHandler); return ()=>{ window.removeEventListener('error', uncaughtExceptionHandler); window.removeEventListener('unhandledrejection', uncaughtExceptionHandler); }; }, []); } } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=nav-failure-handler.js.map ø012undefined1458Object.defineProperty(exports, "__esModule", (undefined7878))undefined871670undefined523529__webpack_require__undefined5315372115undefined568574__webpack_require__undefined5766149658undefined11321171falseundefined11742111{}undefined —þÿÿIþÿÿñþÿÿ ÚþÿÿÛþÿÿ Ö8«webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSource«webpack/lib/util/registerExternalSerializer™webpack-sources/RawSourceß6"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { IDLE_LINK_STATUS: null, PENDING_LINK_STATUS: null, mountFormInstance: null, mountLinkInstance: null, onLinkVisibilityChanged: null, onNavigationIntent: null, pingVisibleLinks: null, setLinkForCurrentNavigation: null, unmountLinkForCurrentNavigation: null, unmountPrefetchableInstance: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { IDLE_LINK_STATUS: function() { return IDLE_LINK_STATUS; }, PENDING_LINK_STATUS: function() { return PENDING_LINK_STATUS; }, mountFormInstance: function() { return mountFormInstance; }, mountLinkInstance: function() { return mountLinkInstance; }, onLinkVisibilityChanged: function() { return onLinkVisibilityChanged; }, onNavigationIntent: function() { return onNavigationIntent; }, pingVisibleLinks: function() { return pingVisibleLinks; }, setLinkForCurrentNavigation: function() { return setLinkForCurrentNavigation; }, unmountLinkForCurrentNavigation: function() { return unmountLinkForCurrentNavigation; }, unmountPrefetchableInstance: function() { return unmountPrefetchableInstance; } }); const _approuterinstance = require("./app-router-instance"); const _approuter = require("./app-router"); const _segmentcache = require("./segment-cache"); const _react = require("react"); const _routerreducertypes = require("./router-reducer/router-reducer-types"); const _invarianterror = require("../../shared/lib/invariant-error"); // Tracks the most recently navigated link instance. When null, indicates // the current navigation was not initiated by a link click. let linkForMostRecentNavigation = null; const PENDING_LINK_STATUS = { pending: true }; const IDLE_LINK_STATUS = { pending: false }; function setLinkForCurrentNavigation(link) { (0, _react.startTransition)(()=>{ linkForMostRecentNavigation == null ? void 0 : linkForMostRecentNavigation.setOptimisticLinkStatus(IDLE_LINK_STATUS); link == null ? void 0 : link.setOptimisticLinkStatus(PENDING_LINK_STATUS); linkForMostRecentNavigation = link; }); } function unmountLinkForCurrentNavigation(link) { if (linkForMostRecentNavigation === link) { linkForMostRecentNavigation = null; } } // Use a WeakMap to associate a Link instance with its DOM element. This is // used by the IntersectionObserver to track the link's visibility. const prefetchable = typeof WeakMap === 'function' ? new WeakMap() : new Map(); // A Set of the currently visible links. We re-prefetch visible links after a // cache invalidation, or when the current URL changes. It's a separate data // structure from the WeakMap above because only the visible links need to // be enumerated. const prefetchableAndVisible = new Set(); // A single IntersectionObserver instance shared by all components. const observer = typeof IntersectionObserver === 'function' ? new IntersectionObserver(handleIntersect, { rootMargin: '200px' }) : null; function observeVisibility(element, instance) { const existingInstance = prefetchable.get(element); if (existingInstance !== undefined) { // This shouldn't happen because each component should have its own // anchor tag instance, but it's defensive coding to avoid a memory leak in // case there's a logical error somewhere else. unmountPrefetchableInstance(element); } // Only track prefetchable links that have a valid prefetch URL prefetchable.set(element, instance); if (observer !== null) { observer.observe(element); } } function coercePrefetchableUrl(href) { try { return (0, _approuter.createPrefetchURL)(href); } catch (e) { // createPrefetchURL sometimes throws an error if an invalid URL is // provided, though I'm not sure if it's actually necessary. // TODO: Consider removing the throw from the inner function, or change it // to reportError. Or maybe the error isn't even necessary for automatic // prefetches, just navigations. const reportErrorFn = typeof reportError === 'function' ? reportError : console.error; reportErrorFn("Cannot prefetch '" + href + "' because it cannot be converted to a URL."); return null; } } function mountLinkInstance(element, href, router, fetchStrategy, prefetchEnabled, setOptimisticLinkStatus) { if (prefetchEnabled) { const prefetchURL = coercePrefetchableUrl(href); if (prefetchURL !== null) { const instance = { router, fetchStrategy, isVisible: false, prefetchTask: null, prefetchHref: prefetchURL.href, setOptimisticLinkStatus }; // We only observe the link's visibility if it's prefetchable. For // example, this excludes links to external URLs. observeVisibility(element, instance); return instance; } } // If the link is not prefetchable, we still create an instance so we can // track its optimistic state (i.e. useLinkStatus). const instance = { router, fetchStrategy, isVisible: false, prefetchTask: null, prefetchHref: null, setOptimisticLinkStatus }; return instance; } function mountFormInstance(element, href, router, fetchStrategy) { const prefetchURL = coercePrefetchableUrl(href); if (prefetchURL === null) { // This href is not prefetchable, so we don't track it. // TODO: We currently observe/unobserve a form every time its href changes. // For Links, this isn't a big deal because the href doesn't usually change, // but for forms it's extremely common. We should optimize this. return; } const instance = { router, fetchStrategy, isVisible: false, prefetchTask: null, prefetchHref: prefetchURL.href, setOptimisticLinkStatus: null }; observeVisibility(element, instance); } function unmountPrefetchableInstance(element) { const instance = prefetchable.get(element); if (instance !== undefined) { prefetchable.delete(element); prefetchableAndVisible.delete(instance); const prefetchTask = instance.prefetchTask; if (prefetchTask !== null) { (0, _segmentcache.cancelPrefetchTask)(prefetchTask); } } if (observer !== null) { observer.unobserve(element); } } function handleIntersect(entries) { for (const entry of entries){ // Some extremely old browsers or polyfills don't reliably support // isIntersecting so we check intersectionRatio instead. (Do we care? Not // really. But whatever this is fine.) const isVisible = entry.intersectionRatio > 0; onLinkVisibilityChanged(entry.target, isVisible); } } function onLinkVisibilityChanged(element, isVisible) { if ("production" !== 'production') { // Prefetching on viewport is disabled in development for performance // reasons, because it requires compiling the target page. // TODO: Investigate re-enabling this. return; } const instance = prefetchable.get(element); if (instance === undefined) { return; } instance.isVisible = isVisible; if (isVisible) { prefetchableAndVisible.add(instance); } else { prefetchableAndVisible.delete(instance); } rescheduleLinkPrefetch(instance, _segmentcache.PrefetchPriority.Default); } function onNavigationIntent(element, unstable_upgradeToDynamicPrefetch) { const instance = prefetchable.get(element); if (instance === undefined) { return; } // Prefetch the link on hover/touchstart. if (instance !== undefined) { if (process.env.__NEXT_DYNAMIC_ON_HOVER && unstable_upgradeToDynamicPrefetch) { // Switch to a full prefetch instance.fetchStrategy = _segmentcache.FetchStrategy.Full; } rescheduleLinkPrefetch(instance, _segmentcache.PrefetchPriority.Intent); } } function rescheduleLinkPrefetch(instance, priority) { const existingPrefetchTask = instance.prefetchTask; if (!instance.isVisible) { // Cancel any in-progress prefetch task. (If it already finished then this // is a no-op.) if (existingPrefetchTask !== null) { (0, _segmentcache.cancelPrefetchTask)(existingPrefetchTask); } // We don't need to reset the prefetchTask to null upon cancellation; an // old task object can be rescheduled with reschedulePrefetchTask. This is a // micro-optimization but also makes the code simpler (don't need to // worry about whether an old task object is stale). return; } if (!process.env.__NEXT_CLIENT_SEGMENT_CACHE) { // The old prefetch implementation does not have different priority levels. // Just schedule a new prefetch task. prefetchWithOldCacheImplementation(instance); return; } const appRouterState = (0, _approuterinstance.getCurrentAppRouterState)(); if (appRouterState !== null) { const treeAtTimeOfPrefetch = appRouterState.tree; if (existingPrefetchTask === null) { // Initiate a prefetch task. const nextUrl = appRouterState.nextUrl; const cacheKey = (0, _segmentcache.createCacheKey)(instance.prefetchHref, nextUrl); instance.prefetchTask = (0, _segmentcache.schedulePrefetchTask)(cacheKey, treeAtTimeOfPrefetch, instance.fetchStrategy, priority, null); } else { // We already have an old task object that we can reschedule. This is // effectively the same as canceling the old task and creating a new one. (0, _segmentcache.reschedulePrefetchTask)(existingPrefetchTask, treeAtTimeOfPrefetch, instance.fetchStrategy, priority); } } } function pingVisibleLinks(nextUrl, tree) { // For each currently visible link, cancel the existing prefetch task (if it // exists) and schedule a new one. This is effectively the same as if all the // visible links left and then re-entered the viewport. // // This is called when the Next-Url or the base tree changes, since those // may affect the result of a prefetch task. It's also called after a // cache invalidation. for (const instance of prefetchableAndVisible){ const task = instance.prefetchTask; if (task !== null && !(0, _segmentcache.isPrefetchTaskDirty)(task, nextUrl, tree)) { continue; } // Something changed. Cancel the existing prefetch task and schedule a // new one. if (task !== null) { (0, _segmentcache.cancelPrefetchTask)(task); } const cacheKey = (0, _segmentcache.createCacheKey)(instance.prefetchHref, nextUrl); instance.prefetchTask = (0, _segmentcache.schedulePrefetchTask)(cacheKey, tree, instance.fetchStrategy, _segmentcache.PrefetchPriority.Default, null); } } function prefetchWithOldCacheImplementation(instance) { // This is the path used when the Segment Cache is not enabled. if ("object" === 'undefined') { return; } const doPrefetch = async ()=>{ // note that `appRouter.prefetch()` is currently sync, // so we have to wrap this call in an async function to be able to catch() errors below. let prefetchKind; switch(instance.fetchStrategy){ case _segmentcache.FetchStrategy.PPR: { prefetchKind = _routerreducertypes.PrefetchKind.AUTO; break; } case _segmentcache.FetchStrategy.Full: { prefetchKind = _routerreducertypes.PrefetchKind.FULL; break; } case _segmentcache.FetchStrategy.PPRRuntime: { // We can only get here if Client Segment Cache is off, and in that case // it shouldn't be possible for a link to request a runtime prefetch. throw Object.defineProperty(new _invarianterror.InvariantError('FetchStrategy.PPRRuntime should never be used when `experimental.clientSegmentCache` is disabled'), "__NEXT_ERROR_CODE", { value: "E772", enumerable: false, configurable: true }); } default: { instance.fetchStrategy; // Unreachable, but otherwise typescript will consider the variable unassigned prefetchKind = undefined; } } return instance.router.prefetch(instance.prefetchHref, { kind: prefetchKind }); }; // Prefetch the page if asked (only in the client) // 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 doPrefetch().catch((err)=>{ if ("production" !== 'production') { // rethrow to show invalid URL errors throw err; } }); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=links.js.map g :NNW_´ÖÜÞô  :@BRekms“™›ÁÝãå‹§ª€ó: = J· Ø#ÿ#8-O-R-h-ì45 5^5€®Object.defineProperty(exports, "__esModule", (‚))0“__webpack_require__„1807þ„7297ý„6048ü„2115û„6871ú„8302…false‚{}þÿ„trueýþýþ ßþÿÿò2 Object.defineProperty(exports, "__esModule", ({ value: true })); 0 && (0); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { IDLE_LINK_STATUS: function() { return IDLE_LINK_STATUS; }, PENDING_LINK_STATUS: function() { return PENDING_LINK_STATUS; }, mountFormInstance: function() { return mountFormInstance; }, mountLinkInstance: function() { return mountLinkInstance; }, onLinkVisibilityChanged: function() { return onLinkVisibilityChanged; }, onNavigationIntent: function() { return onNavigationIntent; }, pingVisibleLinks: function() { return pingVisibleLinks; }, setLinkForCurrentNavigation: function() { return setLinkForCurrentNavigation; }, unmountLinkForCurrentNavigation: function() { return unmountLinkForCurrentNavigation; }, unmountPrefetchableInstance: function() { return unmountPrefetchableInstance; } }); const _approuterinstance = __webpack_require__(1807); const _approuter = __webpack_require__(7297); const _segmentcache = __webpack_require__(6048); const _react = __webpack_require__(2115); const _routerreducertypes = __webpack_require__(6871); const _invarianterror = __webpack_require__(8302); // Tracks the most recently navigated link instance. When null, indicates // the current navigation was not initiated by a link click. let linkForMostRecentNavigation = null; const PENDING_LINK_STATUS = { pending: true }; const IDLE_LINK_STATUS = { pending: false }; function setLinkForCurrentNavigation(link) { (0, _react.startTransition)(()=>{ linkForMostRecentNavigation == null ? void 0 : linkForMostRecentNavigation.setOptimisticLinkStatus(IDLE_LINK_STATUS); link == null ? void 0 : link.setOptimisticLinkStatus(PENDING_LINK_STATUS); linkForMostRecentNavigation = link; }); } function unmountLinkForCurrentNavigation(link) { if (linkForMostRecentNavigation === link) { linkForMostRecentNavigation = null; } } // Use a WeakMap to associate a Link instance with its DOM element. This is // used by the IntersectionObserver to track the link's visibility. const prefetchable = typeof WeakMap === 'function' ? new WeakMap() : new Map(); // A Set of the currently visible links. We re-prefetch visible links after a // cache invalidation, or when the current URL changes. It's a separate data // structure from the WeakMap above because only the visible links need to // be enumerated. const prefetchableAndVisible = new Set(); // A single IntersectionObserver instance shared by all components. const observer = typeof IntersectionObserver === 'function' ? new IntersectionObserver(handleIntersect, { rootMargin: '200px' }) : null; function observeVisibility(element, instance) { const existingInstance = prefetchable.get(element); if (existingInstance !== undefined) { // This shouldn't happen because each component should have its own // anchor tag instance, but it's defensive coding to avoid a memory leak in // case there's a logical error somewhere else. unmountPrefetchableInstance(element); } // Only track prefetchable links that have a valid prefetch URL prefetchable.set(element, instance); if (observer !== null) { observer.observe(element); } } function coercePrefetchableUrl(href) { try { return (0, _approuter.createPrefetchURL)(href); } catch (e) { // createPrefetchURL sometimes throws an error if an invalid URL is // provided, though I'm not sure if it's actually necessary. // TODO: Consider removing the throw from the inner function, or change it // to reportError. Or maybe the error isn't even necessary for automatic // prefetches, just navigations. const reportErrorFn = typeof reportError === 'function' ? reportError : console.error; reportErrorFn("Cannot prefetch '" + href + "' because it cannot be converted to a URL."); return null; } } function mountLinkInstance(element, href, router, fetchStrategy, prefetchEnabled, setOptimisticLinkStatus) { if (prefetchEnabled) { const prefetchURL = coercePrefetchableUrl(href); if (prefetchURL !== null) { const instance = { router, fetchStrategy, isVisible: false, prefetchTask: null, prefetchHref: prefetchURL.href, setOptimisticLinkStatus }; // We only observe the link's visibility if it's prefetchable. For // example, this excludes links to external URLs. observeVisibility(element, instance); return instance; } } // If the link is not prefetchable, we still create an instance so we can // track its optimistic state (i.e. useLinkStatus). const instance = { router, fetchStrategy, isVisible: false, prefetchTask: null, prefetchHref: null, setOptimisticLinkStatus }; return instance; } function mountFormInstance(element, href, router, fetchStrategy) { const prefetchURL = coercePrefetchableUrl(href); if (prefetchURL === null) { // This href is not prefetchable, so we don't track it. // TODO: We currently observe/unobserve a form every time its href changes. // For Links, this isn't a big deal because the href doesn't usually change, // but for forms it's extremely common. We should optimize this. return; } const instance = { router, fetchStrategy, isVisible: false, prefetchTask: null, prefetchHref: prefetchURL.href, setOptimisticLinkStatus: null }; observeVisibility(element, instance); } function unmountPrefetchableInstance(element) { const instance = prefetchable.get(element); if (instance !== undefined) { prefetchable.delete(element); prefetchableAndVisible.delete(instance); const prefetchTask = instance.prefetchTask; if (prefetchTask !== null) { (0, _segmentcache.cancelPrefetchTask)(prefetchTask); } } if (observer !== null) { observer.unobserve(element); } } function handleIntersect(entries) { for (const entry of entries){ // Some extremely old browsers or polyfills don't reliably support // isIntersecting so we check intersectionRatio instead. (Do we care? Not // really. But whatever this is fine.) const isVisible = entry.intersectionRatio > 0; onLinkVisibilityChanged(entry.target, isVisible); } } function onLinkVisibilityChanged(element, isVisible) { if (false) {} const instance = prefetchable.get(element); if (instance === undefined) { return; } instance.isVisible = isVisible; if (isVisible) { prefetchableAndVisible.add(instance); } else { prefetchableAndVisible.delete(instance); } rescheduleLinkPrefetch(instance, _segmentcache.PrefetchPriority.Default); } function onNavigationIntent(element, unstable_upgradeToDynamicPrefetch) { const instance = prefetchable.get(element); if (instance === undefined) { return; } // Prefetch the link on hover/touchstart. if (instance !== undefined) { if (false) {} rescheduleLinkPrefetch(instance, _segmentcache.PrefetchPriority.Intent); } } function rescheduleLinkPrefetch(instance, priority) { const existingPrefetchTask = instance.prefetchTask; if (!instance.isVisible) { // Cancel any in-progress prefetch task. (If it already finished then this // is a no-op.) if (existingPrefetchTask !== null) { (0, _segmentcache.cancelPrefetchTask)(existingPrefetchTask); } // We don't need to reset the prefetchTask to null upon cancellation; an // old task object can be rescheduled with reschedulePrefetchTask. This is a // micro-optimization but also makes the code simpler (don't need to // worry about whether an old task object is stale). return; } if (true) { // The old prefetch implementation does not have different priority levels. // Just schedule a new prefetch task. prefetchWithOldCacheImplementation(instance); return; } const appRouterState = (0, _approuterinstance.getCurrentAppRouterState)(); if (appRouterState !== null) { const treeAtTimeOfPrefetch = appRouterState.tree; if (existingPrefetchTask === null) { // Initiate a prefetch task. const nextUrl = appRouterState.nextUrl; const cacheKey = (0, _segmentcache.createCacheKey)(instance.prefetchHref, nextUrl); instance.prefetchTask = (0, _segmentcache.schedulePrefetchTask)(cacheKey, treeAtTimeOfPrefetch, instance.fetchStrategy, priority, null); } else { // We already have an old task object that we can reschedule. This is // effectively the same as canceling the old task and creating a new one. (0, _segmentcache.reschedulePrefetchTask)(existingPrefetchTask, treeAtTimeOfPrefetch, instance.fetchStrategy, priority); } } } function pingVisibleLinks(nextUrl, tree) { // For each currently visible link, cancel the existing prefetch task (if it // exists) and schedule a new one. This is effectively the same as if all the // visible links left and then re-entered the viewport. // // This is called when the Next-Url or the base tree changes, since those // may affect the result of a prefetch task. It's also called after a // cache invalidation. for (const instance of prefetchableAndVisible){ const task = instance.prefetchTask; if (task !== null && !(0, _segmentcache.isPrefetchTaskDirty)(task, nextUrl, tree)) { continue; } // Something changed. Cancel the existing prefetch task and schedule a // new one. if (task !== null) { (0, _segmentcache.cancelPrefetchTask)(task); } const cacheKey = (0, _segmentcache.createCacheKey)(instance.prefetchHref, nextUrl); instance.prefetchTask = (0, _segmentcache.schedulePrefetchTask)(cacheKey, tree, instance.fetchStrategy, _segmentcache.PrefetchPriority.Default, null); } } function prefetchWithOldCacheImplementation(instance) { // This is the path used when the Segment Cache is not enabled. if (false) {} const doPrefetch = async ()=>{ // note that `appRouter.prefetch()` is currently sync, // so we have to wrap this call in an async function to be able to catch() errors below. let prefetchKind; switch(instance.fetchStrategy){ case _segmentcache.FetchStrategy.PPR: { prefetchKind = _routerreducertypes.PrefetchKind.AUTO; break; } case _segmentcache.FetchStrategy.Full: { prefetchKind = _routerreducertypes.PrefetchKind.FULL; break; } case _segmentcache.FetchStrategy.PPRRuntime: { // We can only get here if Client Segment Cache is off, and in that case // it shouldn't be possible for a link to request a runtime prefetch. throw Object.defineProperty(new _invarianterror.InvariantError('FetchStrategy.PPRRuntime should never be used when `experimental.clientSegmentCache` is disabled'), "__NEXT_ERROR_CODE", { value: "E772", enumerable: false, configurable: true }); } default: { instance.fetchStrategy; // Unreachable, but otherwise typescript will consider the variable unassigned prefetchKind = undefined; } } return instance.router.prefetch(instance.prefetchHref, { kind: prefetchKind }); }; // Prefetch the page if asked (only in the client) // 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 doPrefetch().catch((err)=>{ if (false) {} }); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=links.js.map àþÿÿ ãþÿÿ  äþÿÿß6"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { IDLE_LINK_STATUS: null, PENDING_LINK_STATUS: null, mountFormInstance: null, mountLinkInstance: null, onLinkVisibilityChanged: null, onNavigationIntent: null, pingVisibleLinks: null, setLinkForCurrentNavigation: null, unmountLinkForCurrentNavigation: null, unmountPrefetchableInstance: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { IDLE_LINK_STATUS: function() { return IDLE_LINK_STATUS; }, PENDING_LINK_STATUS: function() { return PENDING_LINK_STATUS; }, mountFormInstance: function() { return mountFormInstance; }, mountLinkInstance: function() { return mountLinkInstance; }, onLinkVisibilityChanged: function() { return onLinkVisibilityChanged; }, onNavigationIntent: function() { return onNavigationIntent; }, pingVisibleLinks: function() { return pingVisibleLinks; }, setLinkForCurrentNavigation: function() { return setLinkForCurrentNavigation; }, unmountLinkForCurrentNavigation: function() { return unmountLinkForCurrentNavigation; }, unmountPrefetchableInstance: function() { return unmountPrefetchableInstance; } }); const _approuterinstance = require("./app-router-instance"); const _approuter = require("./app-router"); const _segmentcache = require("./segment-cache"); const _react = require("react"); const _routerreducertypes = require("./router-reducer/router-reducer-types"); const _invarianterror = require("../../shared/lib/invariant-error"); // Tracks the most recently navigated link instance. When null, indicates // the current navigation was not initiated by a link click. let linkForMostRecentNavigation = null; const PENDING_LINK_STATUS = { pending: true }; const IDLE_LINK_STATUS = { pending: false }; function setLinkForCurrentNavigation(link) { (0, _react.startTransition)(()=>{ linkForMostRecentNavigation == null ? void 0 : linkForMostRecentNavigation.setOptimisticLinkStatus(IDLE_LINK_STATUS); link == null ? void 0 : link.setOptimisticLinkStatus(PENDING_LINK_STATUS); linkForMostRecentNavigation = link; }); } function unmountLinkForCurrentNavigation(link) { if (linkForMostRecentNavigation === link) { linkForMostRecentNavigation = null; } } // Use a WeakMap to associate a Link instance with its DOM element. This is // used by the IntersectionObserver to track the link's visibility. const prefetchable = typeof WeakMap === 'function' ? new WeakMap() : new Map(); // A Set of the currently visible links. We re-prefetch visible links after a // cache invalidation, or when the current URL changes. It's a separate data // structure from the WeakMap above because only the visible links need to // be enumerated. const prefetchableAndVisible = new Set(); // A single IntersectionObserver instance shared by all components. const observer = typeof IntersectionObserver === 'function' ? new IntersectionObserver(handleIntersect, { rootMargin: '200px' }) : null; function observeVisibility(element, instance) { const existingInstance = prefetchable.get(element); if (existingInstance !== undefined) { // This shouldn't happen because each component should have its own // anchor tag instance, but it's defensive coding to avoid a memory leak in // case there's a logical error somewhere else. unmountPrefetchableInstance(element); } // Only track prefetchable links that have a valid prefetch URL prefetchable.set(element, instance); if (observer !== null) { observer.observe(element); } } function coercePrefetchableUrl(href) { try { return (0, _approuter.createPrefetchURL)(href); } catch (e) { // createPrefetchURL sometimes throws an error if an invalid URL is // provided, though I'm not sure if it's actually necessary. // TODO: Consider removing the throw from the inner function, or change it // to reportError. Or maybe the error isn't even necessary for automatic // prefetches, just navigations. const reportErrorFn = typeof reportError === 'function' ? reportError : console.error; reportErrorFn("Cannot prefetch '" + href + "' because it cannot be converted to a URL."); return null; } } function mountLinkInstance(element, href, router, fetchStrategy, prefetchEnabled, setOptimisticLinkStatus) { if (prefetchEnabled) { const prefetchURL = coercePrefetchableUrl(href); if (prefetchURL !== null) { const instance = { router, fetchStrategy, isVisible: false, prefetchTask: null, prefetchHref: prefetchURL.href, setOptimisticLinkStatus }; // We only observe the link's visibility if it's prefetchable. For // example, this excludes links to external URLs. observeVisibility(element, instance); return instance; } } // If the link is not prefetchable, we still create an instance so we can // track its optimistic state (i.e. useLinkStatus). const instance = { router, fetchStrategy, isVisible: false, prefetchTask: null, prefetchHref: null, setOptimisticLinkStatus }; return instance; } function mountFormInstance(element, href, router, fetchStrategy) { const prefetchURL = coercePrefetchableUrl(href); if (prefetchURL === null) { // This href is not prefetchable, so we don't track it. // TODO: We currently observe/unobserve a form every time its href changes. // For Links, this isn't a big deal because the href doesn't usually change, // but for forms it's extremely common. We should optimize this. return; } const instance = { router, fetchStrategy, isVisible: false, prefetchTask: null, prefetchHref: prefetchURL.href, setOptimisticLinkStatus: null }; observeVisibility(element, instance); } function unmountPrefetchableInstance(element) { const instance = prefetchable.get(element); if (instance !== undefined) { prefetchable.delete(element); prefetchableAndVisible.delete(instance); const prefetchTask = instance.prefetchTask; if (prefetchTask !== null) { (0, _segmentcache.cancelPrefetchTask)(prefetchTask); } } if (observer !== null) { observer.unobserve(element); } } function handleIntersect(entries) { for (const entry of entries){ // Some extremely old browsers or polyfills don't reliably support // isIntersecting so we check intersectionRatio instead. (Do we care? Not // really. But whatever this is fine.) const isVisible = entry.intersectionRatio > 0; onLinkVisibilityChanged(entry.target, isVisible); } } function onLinkVisibilityChanged(element, isVisible) { if ("production" !== 'production') { // Prefetching on viewport is disabled in development for performance // reasons, because it requires compiling the target page. // TODO: Investigate re-enabling this. return; } const instance = prefetchable.get(element); if (instance === undefined) { return; } instance.isVisible = isVisible; if (isVisible) { prefetchableAndVisible.add(instance); } else { prefetchableAndVisible.delete(instance); } rescheduleLinkPrefetch(instance, _segmentcache.PrefetchPriority.Default); } function onNavigationIntent(element, unstable_upgradeToDynamicPrefetch) { const instance = prefetchable.get(element); if (instance === undefined) { return; } // Prefetch the link on hover/touchstart. if (instance !== undefined) { if (process.env.__NEXT_DYNAMIC_ON_HOVER && unstable_upgradeToDynamicPrefetch) { // Switch to a full prefetch instance.fetchStrategy = _segmentcache.FetchStrategy.Full; } rescheduleLinkPrefetch(instance, _segmentcache.PrefetchPriority.Intent); } } function rescheduleLinkPrefetch(instance, priority) { const existingPrefetchTask = instance.prefetchTask; if (!instance.isVisible) { // Cancel any in-progress prefetch task. (If it already finished then this // is a no-op.) if (existingPrefetchTask !== null) { (0, _segmentcache.cancelPrefetchTask)(existingPrefetchTask); } // We don't need to reset the prefetchTask to null upon cancellation; an // old task object can be rescheduled with reschedulePrefetchTask. This is a // micro-optimization but also makes the code simpler (don't need to // worry about whether an old task object is stale). return; } if (!process.env.__NEXT_CLIENT_SEGMENT_CACHE) { // The old prefetch implementation does not have different priority levels. // Just schedule a new prefetch task. prefetchWithOldCacheImplementation(instance); return; } const appRouterState = (0, _approuterinstance.getCurrentAppRouterState)(); if (appRouterState !== null) { const treeAtTimeOfPrefetch = appRouterState.tree; if (existingPrefetchTask === null) { // Initiate a prefetch task. const nextUrl = appRouterState.nextUrl; const cacheKey = (0, _segmentcache.createCacheKey)(instance.prefetchHref, nextUrl); instance.prefetchTask = (0, _segmentcache.schedulePrefetchTask)(cacheKey, treeAtTimeOfPrefetch, instance.fetchStrategy, priority, null); } else { // We already have an old task object that we can reschedule. This is // effectively the same as canceling the old task and creating a new one. (0, _segmentcache.reschedulePrefetchTask)(existingPrefetchTask, treeAtTimeOfPrefetch, instance.fetchStrategy, priority); } } } function pingVisibleLinks(nextUrl, tree) { // For each currently visible link, cancel the existing prefetch task (if it // exists) and schedule a new one. This is effectively the same as if all the // visible links left and then re-entered the viewport. // // This is called when the Next-Url or the base tree changes, since those // may affect the result of a prefetch task. It's also called after a // cache invalidation. for (const instance of prefetchableAndVisible){ const task = instance.prefetchTask; if (task !== null && !(0, _segmentcache.isPrefetchTaskDirty)(task, nextUrl, tree)) { continue; } // Something changed. Cancel the existing prefetch task and schedule a // new one. if (task !== null) { (0, _segmentcache.cancelPrefetchTask)(task); } const cacheKey = (0, _segmentcache.createCacheKey)(instance.prefetchHref, nextUrl); instance.prefetchTask = (0, _segmentcache.schedulePrefetchTask)(cacheKey, tree, instance.fetchStrategy, _segmentcache.PrefetchPriority.Default, null); } } function prefetchWithOldCacheImplementation(instance) { // This is the path used when the Segment Cache is not enabled. if ("object" === 'undefined') { return; } const doPrefetch = async ()=>{ // note that `appRouter.prefetch()` is currently sync, // so we have to wrap this call in an async function to be able to catch() errors below. let prefetchKind; switch(instance.fetchStrategy){ case _segmentcache.FetchStrategy.PPR: { prefetchKind = _routerreducertypes.PrefetchKind.AUTO; break; } case _segmentcache.FetchStrategy.Full: { prefetchKind = _routerreducertypes.PrefetchKind.FULL; break; } case _segmentcache.FetchStrategy.PPRRuntime: { // We can only get here if Client Segment Cache is off, and in that case // it shouldn't be possible for a link to request a runtime prefetch. throw Object.defineProperty(new _invarianterror.InvariantError('FetchStrategy.PPRRuntime should never be used when `experimental.clientSegmentCache` is disabled'), "__NEXT_ERROR_CODE", { value: "E772", enumerable: false, configurable: true }); } default: { instance.fetchStrategy; // Unreachable, but otherwise typescript will consider the variable unassigned prefetchKind = undefined; } } return instance.router.prefetch(instance.prefetchHref, { kind: prefetchKind }); }; // Prefetch the page if asked (only in the client) // 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 doPrefetch().catch((err)=>{ if ("production" !== 'production') { // rethrow to show invalid URL errors throw err; } }); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=links.js.map |012undefined1458Object.defineProperty(exports, "__esModule", (undefined7878))undefined874360undefined14941500__webpack_require__undefined150215241807undefined15471553__webpack_require__undefined155515687297undefined15941600__webpack_require__undefined160216186048undefined16371643__webpack_require__undefined164516512115undefined16831689__webpack_require__undefined169117296871undefined17571763__webpack_require__undefined176517988302undefined73077335falseundefined73387552{}undefined81798250falseundefined82538375{}undefined91769215trueundefined1157611599falseundefined1160211624{}undefined1354813576falseundefined1357913662{}undefined ‹þÿÿ=þÿÿåþÿÿ ÎþÿÿÏþÿÿ  «webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSource«webpack/lib/util/registerExternalSerializer™webpack-sources/RawSource-/* __next_internal_client_entry_do_not_use__ cjs */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function() { return RootErrorBoundary; } }); const _interop_require_default = require("@swc/helpers/_/_interop_require_default"); const _jsxruntime = require("react/jsx-runtime"); const _react = /*#__PURE__*/ _interop_require_default._(require("react")); const _gracefuldegradeboundary = /*#__PURE__*/ _interop_require_default._(require("./graceful-degrade-boundary")); const _errorboundary = require("../error-boundary"); const _isbot = require("../../../shared/lib/router/utils/is-bot"); const isBotUserAgent = "object" !== 'undefined' && (0, _isbot.isBot)(window.navigator.userAgent); function RootErrorBoundary(param) { let { children, errorComponent, errorStyles, errorScripts } = param; if (isBotUserAgent) { // Preserve existing DOM/HTML for bots to avoid replacing content with an error UI // and to keep the original SSR output intact. return /*#__PURE__*/ (0, _jsxruntime.jsx)(_gracefuldegradeboundary.default, { children: children }); } return /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary.ErrorBoundary, { errorComponent: errorComponent, errorStyles: errorStyles, errorScripts: errorScripts, children: children }); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=root-error-boundary.js.map d5ACo_ƒƒ†¯+13[sy{ÉÏÑ×&,.Jfln€“™›ÃÞõ€®Object.defineProperty(exports, "__esModule", (‚))«Object.defineProperty(exports, "default", (þ“__webpack_require__„8140þ„5155ý„2115ü„7759û„8785ú„3913… true ÓþÿÿÕ/* __next_internal_client_entry_do_not_use__ cjs */ Object.defineProperty(exports, "__esModule", ({ value: true })); Object.defineProperty(exports, "default", ({ enumerable: true, get: function() { return RootErrorBoundary; } })); const _interop_require_default = __webpack_require__(8140); const _jsxruntime = __webpack_require__(5155); const _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(2115)); const _gracefuldegradeboundary = /*#__PURE__*/ _interop_require_default._(__webpack_require__(7759)); const _errorboundary = __webpack_require__(8785); const _isbot = __webpack_require__(3913); const isBotUserAgent = true && (0, _isbot.isBot)(window.navigator.userAgent); function RootErrorBoundary(param) { let { children, errorComponent, errorStyles, errorScripts } = param; if (isBotUserAgent) { // Preserve existing DOM/HTML for bots to avoid replacing content with an error UI // and to keep the original SSR output intact. return /*#__PURE__*/ (0, _jsxruntime.jsx)(_gracefuldegradeboundary.default, { children: children }); } return /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary.ErrorBoundary, { errorComponent: errorComponent, errorStyles: errorStyles, errorScripts: errorScripts, children: children }); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=root-error-boundary.js.map Ôþÿÿ ×þÿÿ  Øþÿÿ-/* __next_internal_client_entry_do_not_use__ cjs */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function() { return RootErrorBoundary; } }); const _interop_require_default = require("@swc/helpers/_/_interop_require_default"); const _jsxruntime = require("react/jsx-runtime"); const _react = /*#__PURE__*/ _interop_require_default._(require("react")); const _gracefuldegradeboundary = /*#__PURE__*/ _interop_require_default._(require("./graceful-degrade-boundary")); const _errorboundary = require("../error-boundary"); const _isbot = require("../../../shared/lib/router/utils/is-bot"); const isBotUserAgent = "object" !== 'undefined' && (0, _isbot.isBot)(window.navigator.userAgent); function RootErrorBoundary(param) { let { children, errorComponent, errorStyles, errorScripts } = param; if (isBotUserAgent) { // Preserve existing DOM/HTML for bots to avoid replacing content with an error UI // and to keep the original SSR output intact. return /*#__PURE__*/ (0, _jsxruntime.jsx)(_gracefuldegradeboundary.default, { children: children }); } return /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary.ErrorBoundary, { errorComponent: errorComponent, errorStyles: errorStyles, errorScripts: errorScripts, children: children }); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=root-error-boundary.js.map ÷5365undefined67111Object.defineProperty(exports, "__esModule", (undefined131131))undefined134175Object.defineProperty(exports, "default", (undefined263263))undefined299305__webpack_require__undefined3073478140undefined371377__webpack_require__undefined3793975155undefined457463__webpack_require__undefined4654712115undefined550556__webpack_require__undefined5585867759undefined614620__webpack_require__undefined6226408785undefined659665__webpack_require__undefined6677073913undefined734757 trueundefined þÿÿ1þÿÿÙþÿÿ ÂþÿÿÃþÿÿ Ñ«webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSource«webpack/lib/util/registerExternalSerializer™webpack-sources/RawSource+/** * @license React * react-dom.production.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ "use strict"; var React = require("next/dist/compiled/react"); function formatProdErrorMessage(code) { var url = "https://react.dev/errors/" + code; if (1 < arguments.length) { url += "?args[]=" + encodeURIComponent(arguments[1]); for (var i = 2; i < arguments.length; i++) url += "&args[]=" + encodeURIComponent(arguments[i]); } return ( "Minified React error #" + code + "; visit " + url + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings." ); } function noop() {} var Internals = { d: { f: noop, r: function () { throw Error(formatProdErrorMessage(522)); }, D: noop, C: noop, L: noop, m: noop, X: noop, S: noop, M: noop }, p: 0, findDOMNode: null }, REACT_PORTAL_TYPE = Symbol.for("react.portal"); function createPortal$1(children, containerInfo, implementation) { var key = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null; return { $$typeof: REACT_PORTAL_TYPE, key: null == key ? null : "" + key, children: children, containerInfo: containerInfo, implementation: implementation }; } var ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE; function getCrossOriginStringAs(as, input) { if ("font" === as) return ""; if ("string" === typeof input) return "use-credentials" === input ? input : ""; } exports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = Internals; exports.createPortal = function (children, container) { var key = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null; if ( !container || (1 !== container.nodeType && 9 !== container.nodeType && 11 !== container.nodeType) ) throw Error(formatProdErrorMessage(299)); return createPortal$1(children, container, null, key); }; exports.flushSync = function (fn) { var previousTransition = ReactSharedInternals.T, previousUpdatePriority = Internals.p; try { if (((ReactSharedInternals.T = null), (Internals.p = 2), fn)) return fn(); } finally { (ReactSharedInternals.T = previousTransition), (Internals.p = previousUpdatePriority), Internals.d.f(); } }; exports.preconnect = function (href, options) { "string" === typeof href && (options ? ((options = options.crossOrigin), (options = "string" === typeof options ? "use-credentials" === options ? options : "" : void 0)) : (options = null), Internals.d.C(href, options)); }; exports.prefetchDNS = function (href) { "string" === typeof href && Internals.d.D(href); }; exports.preinit = function (href, options) { if ("string" === typeof href && options && "string" === typeof options.as) { var as = options.as, crossOrigin = getCrossOriginStringAs(as, options.crossOrigin), integrity = "string" === typeof options.integrity ? options.integrity : void 0, fetchPriority = "string" === typeof options.fetchPriority ? options.fetchPriority : void 0; "style" === as ? Internals.d.S( href, "string" === typeof options.precedence ? options.precedence : void 0, { crossOrigin: crossOrigin, integrity: integrity, fetchPriority: fetchPriority } ) : "script" === as && Internals.d.X(href, { crossOrigin: crossOrigin, integrity: integrity, fetchPriority: fetchPriority, nonce: "string" === typeof options.nonce ? options.nonce : void 0 }); } }; exports.preinitModule = function (href, options) { if ("string" === typeof href) if ("object" === typeof options && null !== options) { if (null == options.as || "script" === options.as) { var crossOrigin = getCrossOriginStringAs( options.as, options.crossOrigin ); Internals.d.M(href, { crossOrigin: crossOrigin, integrity: "string" === typeof options.integrity ? options.integrity : void 0, nonce: "string" === typeof options.nonce ? options.nonce : void 0 }); } } else null == options && Internals.d.M(href); }; exports.preload = function (href, options) { if ( "string" === typeof href && "object" === typeof options && null !== options && "string" === typeof options.as ) { var as = options.as, crossOrigin = getCrossOriginStringAs(as, options.crossOrigin); Internals.d.L(href, as, { crossOrigin: crossOrigin, integrity: "string" === typeof options.integrity ? options.integrity : void 0, nonce: "string" === typeof options.nonce ? options.nonce : void 0, type: "string" === typeof options.type ? options.type : void 0, fetchPriority: "string" === typeof options.fetchPriority ? options.fetchPriority : void 0, referrerPolicy: "string" === typeof options.referrerPolicy ? options.referrerPolicy : void 0, imageSrcSet: "string" === typeof options.imageSrcSet ? options.imageSrcSet : void 0, imageSizes: "string" === typeof options.imageSizes ? options.imageSizes : void 0, media: "string" === typeof options.media ? options.media : void 0 }); } }; exports.preloadModule = function (href, options) { if ("string" === typeof href) if (options) { var crossOrigin = getCrossOriginStringAs(options.as, options.crossOrigin); Internals.d.m(href, { as: "string" === typeof options.as && "script" !== options.as ? options.as : void 0, crossOrigin: crossOrigin, integrity: "string" === typeof options.integrity ? options.integrity : void 0 }); } else Internals.d.m(href); }; exports.requestFormReset = function (form) { Internals.d.r(form); }; exports.unstable_batchedUpdates = function (fn, a) { return fn(a); }; exports.useFormState = function (action, initialState, permalink) { return ReactSharedInternals.H.useFormState(action, initialState, permalink); }; exports.useFormStatus = function () { return ReactSharedInternals.H.useHostTransitionStatus(); }; exports.version = "19.2.0-canary-0bdb9206-20250818"; `_ðü +Ê 1˜¨ý  i { Ç Õ ž²#l€m„´Òü’¦Aö€“__webpack_require__„2115Äexports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE”exports.createPortal‘exports.flushSync’exports.preconnect“exports.prefetchDNSexports.preinit•exports.preinitModuleexports.preload•exports.preloadModule˜exports.requestFormResetŸexports.unstable_batchedUpdates”exports.useFormState•exports.useFormStatusexports.version Çþÿÿ/** * @license React * react-dom.production.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var React = __webpack_require__(2115); function formatProdErrorMessage(code) { var url = "https://react.dev/errors/" + code; if (1 < arguments.length) { url += "?args[]=" + encodeURIComponent(arguments[1]); for (var i = 2; i < arguments.length; i++) url += "&args[]=" + encodeURIComponent(arguments[i]); } return ( "Minified React error #" + code + "; visit " + url + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings." ); } function noop() {} var Internals = { d: { f: noop, r: function () { throw Error(formatProdErrorMessage(522)); }, D: noop, C: noop, L: noop, m: noop, X: noop, S: noop, M: noop }, p: 0, findDOMNode: null }, REACT_PORTAL_TYPE = Symbol.for("react.portal"); function createPortal$1(children, containerInfo, implementation) { var key = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null; return { $$typeof: REACT_PORTAL_TYPE, key: null == key ? null : "" + key, children: children, containerInfo: containerInfo, implementation: implementation }; } var ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE; function getCrossOriginStringAs(as, input) { if ("font" === as) return ""; if ("string" === typeof input) return "use-credentials" === input ? input : ""; } exports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = Internals; exports.createPortal = function (children, container) { var key = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null; if ( !container || (1 !== container.nodeType && 9 !== container.nodeType && 11 !== container.nodeType) ) throw Error(formatProdErrorMessage(299)); return createPortal$1(children, container, null, key); }; exports.flushSync = function (fn) { var previousTransition = ReactSharedInternals.T, previousUpdatePriority = Internals.p; try { if (((ReactSharedInternals.T = null), (Internals.p = 2), fn)) return fn(); } finally { (ReactSharedInternals.T = previousTransition), (Internals.p = previousUpdatePriority), Internals.d.f(); } }; exports.preconnect = function (href, options) { "string" === typeof href && (options ? ((options = options.crossOrigin), (options = "string" === typeof options ? "use-credentials" === options ? options : "" : void 0)) : (options = null), Internals.d.C(href, options)); }; exports.prefetchDNS = function (href) { "string" === typeof href && Internals.d.D(href); }; exports.preinit = function (href, options) { if ("string" === typeof href && options && "string" === typeof options.as) { var as = options.as, crossOrigin = getCrossOriginStringAs(as, options.crossOrigin), integrity = "string" === typeof options.integrity ? options.integrity : void 0, fetchPriority = "string" === typeof options.fetchPriority ? options.fetchPriority : void 0; "style" === as ? Internals.d.S( href, "string" === typeof options.precedence ? options.precedence : void 0, { crossOrigin: crossOrigin, integrity: integrity, fetchPriority: fetchPriority } ) : "script" === as && Internals.d.X(href, { crossOrigin: crossOrigin, integrity: integrity, fetchPriority: fetchPriority, nonce: "string" === typeof options.nonce ? options.nonce : void 0 }); } }; exports.preinitModule = function (href, options) { if ("string" === typeof href) if ("object" === typeof options && null !== options) { if (null == options.as || "script" === options.as) { var crossOrigin = getCrossOriginStringAs( options.as, options.crossOrigin ); Internals.d.M(href, { crossOrigin: crossOrigin, integrity: "string" === typeof options.integrity ? options.integrity : void 0, nonce: "string" === typeof options.nonce ? options.nonce : void 0 }); } } else null == options && Internals.d.M(href); }; exports.preload = function (href, options) { if ( "string" === typeof href && "object" === typeof options && null !== options && "string" === typeof options.as ) { var as = options.as, crossOrigin = getCrossOriginStringAs(as, options.crossOrigin); Internals.d.L(href, as, { crossOrigin: crossOrigin, integrity: "string" === typeof options.integrity ? options.integrity : void 0, nonce: "string" === typeof options.nonce ? options.nonce : void 0, type: "string" === typeof options.type ? options.type : void 0, fetchPriority: "string" === typeof options.fetchPriority ? options.fetchPriority : void 0, referrerPolicy: "string" === typeof options.referrerPolicy ? options.referrerPolicy : void 0, imageSrcSet: "string" === typeof options.imageSrcSet ? options.imageSrcSet : void 0, imageSizes: "string" === typeof options.imageSizes ? options.imageSizes : void 0, media: "string" === typeof options.media ? options.media : void 0 }); } }; exports.preloadModule = function (href, options) { if ("string" === typeof href) if (options) { var crossOrigin = getCrossOriginStringAs(options.as, options.crossOrigin); Internals.d.m(href, { as: "string" === typeof options.as && "script" !== options.as ? options.as : void 0, crossOrigin: crossOrigin, integrity: "string" === typeof options.integrity ? options.integrity : void 0 }); } else Internals.d.m(href); }; exports.requestFormReset = function (form) { Internals.d.r(form); }; exports.unstable_batchedUpdates = function (fn, a) { return fn(a); }; exports.useFormState = function (action, initialState, permalink) { return ReactSharedInternals.H.useFormState(action, initialState, permalink); }; exports.useFormStatus = function () { return ReactSharedInternals.H.useHostTransitionStatus(); }; exports.version = "19.2.0-canary-0bdb9206-20250818"; Èþÿÿ Ëþÿÿ  Ìþÿÿ+/** * @license React * react-dom.production.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ "use strict"; var React = require("next/dist/compiled/react"); function formatProdErrorMessage(code) { var url = "https://react.dev/errors/" + code; if (1 < arguments.length) { url += "?args[]=" + encodeURIComponent(arguments[1]); for (var i = 2; i < arguments.length; i++) url += "&args[]=" + encodeURIComponent(arguments[i]); } return ( "Minified React error #" + code + "; visit " + url + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings." ); } function noop() {} var Internals = { d: { f: noop, r: function () { throw Error(formatProdErrorMessage(522)); }, D: noop, C: noop, L: noop, m: noop, X: noop, S: noop, M: noop }, p: 0, findDOMNode: null }, REACT_PORTAL_TYPE = Symbol.for("react.portal"); function createPortal$1(children, containerInfo, implementation) { var key = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null; return { $$typeof: REACT_PORTAL_TYPE, key: null == key ? null : "" + key, children: children, containerInfo: containerInfo, implementation: implementation }; } var ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE; function getCrossOriginStringAs(as, input) { if ("font" === as) return ""; if ("string" === typeof input) return "use-credentials" === input ? input : ""; } exports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = Internals; exports.createPortal = function (children, container) { var key = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null; if ( !container || (1 !== container.nodeType && 9 !== container.nodeType && 11 !== container.nodeType) ) throw Error(formatProdErrorMessage(299)); return createPortal$1(children, container, null, key); }; exports.flushSync = function (fn) { var previousTransition = ReactSharedInternals.T, previousUpdatePriority = Internals.p; try { if (((ReactSharedInternals.T = null), (Internals.p = 2), fn)) return fn(); } finally { (ReactSharedInternals.T = previousTransition), (Internals.p = previousUpdatePriority), Internals.d.f(); } }; exports.preconnect = function (href, options) { "string" === typeof href && (options ? ((options = options.crossOrigin), (options = "string" === typeof options ? "use-credentials" === options ? options : "" : void 0)) : (options = null), Internals.d.C(href, options)); }; exports.prefetchDNS = function (href) { "string" === typeof href && Internals.d.D(href); }; exports.preinit = function (href, options) { if ("string" === typeof href && options && "string" === typeof options.as) { var as = options.as, crossOrigin = getCrossOriginStringAs(as, options.crossOrigin), integrity = "string" === typeof options.integrity ? options.integrity : void 0, fetchPriority = "string" === typeof options.fetchPriority ? options.fetchPriority : void 0; "style" === as ? Internals.d.S( href, "string" === typeof options.precedence ? options.precedence : void 0, { crossOrigin: crossOrigin, integrity: integrity, fetchPriority: fetchPriority } ) : "script" === as && Internals.d.X(href, { crossOrigin: crossOrigin, integrity: integrity, fetchPriority: fetchPriority, nonce: "string" === typeof options.nonce ? options.nonce : void 0 }); } }; exports.preinitModule = function (href, options) { if ("string" === typeof href) if ("object" === typeof options && null !== options) { if (null == options.as || "script" === options.as) { var crossOrigin = getCrossOriginStringAs( options.as, options.crossOrigin ); Internals.d.M(href, { crossOrigin: crossOrigin, integrity: "string" === typeof options.integrity ? options.integrity : void 0, nonce: "string" === typeof options.nonce ? options.nonce : void 0 }); } } else null == options && Internals.d.M(href); }; exports.preload = function (href, options) { if ( "string" === typeof href && "object" === typeof options && null !== options && "string" === typeof options.as ) { var as = options.as, crossOrigin = getCrossOriginStringAs(as, options.crossOrigin); Internals.d.L(href, as, { crossOrigin: crossOrigin, integrity: "string" === typeof options.integrity ? options.integrity : void 0, nonce: "string" === typeof options.nonce ? options.nonce : void 0, type: "string" === typeof options.type ? options.type : void 0, fetchPriority: "string" === typeof options.fetchPriority ? options.fetchPriority : void 0, referrerPolicy: "string" === typeof options.referrerPolicy ? options.referrerPolicy : void 0, imageSrcSet: "string" === typeof options.imageSrcSet ? options.imageSrcSet : void 0, imageSizes: "string" === typeof options.imageSizes ? options.imageSizes : void 0, media: "string" === typeof options.media ? options.media : void 0 }); } }; exports.preloadModule = function (href, options) { if ("string" === typeof href) if (options) { var crossOrigin = getCrossOriginStringAs(options.as, options.crossOrigin); Internals.d.m(href, { as: "string" === typeof options.as && "script" !== options.as ? options.as : void 0, crossOrigin: crossOrigin, integrity: "string" === typeof options.integrity ? options.integrity : void 0 }); } else Internals.d.m(href); }; exports.requestFormReset = function (form) { Internals.d.r(form); }; exports.unstable_batchedUpdates = function (fn, a) { return fn(a); }; exports.useFormState = function (action, initialState, permalink) { return ReactSharedInternals.H.useFormState(action, initialState, permalink); }; exports.useFormStatus = function () { return ReactSharedInternals.H.useHostTransitionStatus(); }; exports.version = "19.2.0-canary-0bdb9206-20250818"; w240252undefined266272__webpack_require__undefined2742992115undefined17381805exports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADEundefined18221841exports.createPortalundefined22002216exports.flushSyncundefined25572574exports.preconnectundefined29212939exports.prefetchDNSundefined30153029exports.preinitundefined39984018exports.preinitModuleundefined46294643exports.preloadundefined57405760exports.preloadModuleundefined62536276exports.requestFormResetundefined63246354exports.unstable_batchedUpdatesundefined63966415exports.useFormStateundefined65466566exports.useFormStatusundefined66466660exports.versionundefined sþÿÿÍþÿÿ ¶þÿÿ·þÿÿ ÿ «webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSource«webpack/lib/util/registerExternalSerializer™webpack-sources/RawSource "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { ReadonlyURLSearchParams: null, RedirectType: null, ServerInsertedHTMLContext: null, forbidden: null, notFound: null, permanentRedirect: null, redirect: null, unauthorized: null, unstable_isUnrecognizedActionError: null, unstable_rethrow: null, useParams: null, usePathname: null, useRouter: null, useSearchParams: null, useSelectedLayoutSegment: null, useSelectedLayoutSegments: null, useServerInsertedHTML: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { ReadonlyURLSearchParams: function() { return _navigationreactserver.ReadonlyURLSearchParams; }, RedirectType: function() { return _navigationreactserver.RedirectType; }, ServerInsertedHTMLContext: function() { return _serverinsertedhtmlsharedruntime.ServerInsertedHTMLContext; }, forbidden: function() { return _navigationreactserver.forbidden; }, notFound: function() { return _navigationreactserver.notFound; }, permanentRedirect: function() { return _navigationreactserver.permanentRedirect; }, redirect: function() { return _navigationreactserver.redirect; }, unauthorized: function() { return _navigationreactserver.unauthorized; }, unstable_isUnrecognizedActionError: function() { return _unrecognizedactionerror.unstable_isUnrecognizedActionError; }, unstable_rethrow: function() { return _navigationreactserver.unstable_rethrow; }, useParams: function() { return useParams; }, usePathname: function() { return usePathname; }, useRouter: function() { return useRouter; }, useSearchParams: function() { return useSearchParams; }, useSelectedLayoutSegment: function() { return useSelectedLayoutSegment; }, useSelectedLayoutSegments: function() { return useSelectedLayoutSegments; }, useServerInsertedHTML: function() { return _serverinsertedhtmlsharedruntime.useServerInsertedHTML; } }); const _react = require("react"); const _approutercontextsharedruntime = require("../../shared/lib/app-router-context.shared-runtime"); const _hooksclientcontextsharedruntime = require("../../shared/lib/hooks-client-context.shared-runtime"); const _getsegmentvalue = require("./router-reducer/reducers/get-segment-value"); const _segment = require("../../shared/lib/segment"); const _navigationreactserver = require("./navigation.react-server"); const _serverinsertedhtmlsharedruntime = require("../../shared/lib/server-inserted-html.shared-runtime"); const _unrecognizedactionerror = require("./unrecognized-action-error"); const useDynamicRouteParams = "object" === 'undefined' ? require('../../server/app-render/dynamic-rendering').useDynamicRouteParams : undefined; function useSearchParams() { const searchParams = (0, _react.useContext)(_hooksclientcontextsharedruntime.SearchParamsContext); // In the case where this is `null`, the compat types added in // `next-env.d.ts` will add a new overload that changes the return type to // include `null`. const readonlySearchParams = (0, _react.useMemo)(()=>{ if (!searchParams) { // When the router is not ready in pages, we won't have the search params // available. return null; } return new _navigationreactserver.ReadonlyURLSearchParams(searchParams); }, [ searchParams ]); if ("object" === 'undefined') { // AsyncLocalStorage should not be included in the client bundle. const { bailoutToClientRendering } = require('./bailout-to-client-rendering'); // TODO-APP: handle dynamic = 'force-static' here and on the client bailoutToClientRendering('useSearchParams()'); } return readonlySearchParams; } function usePathname() { useDynamicRouteParams == null ? void 0 : useDynamicRouteParams('usePathname()'); // In the case where this is `null`, the compat types added in `next-env.d.ts` // will add a new overload that changes the return type to include `null`. return (0, _react.useContext)(_hooksclientcontextsharedruntime.PathnameContext); } function useRouter() { const router = (0, _react.useContext)(_approutercontextsharedruntime.AppRouterContext); if (router === null) { throw Object.defineProperty(new Error('invariant expected app router to be mounted'), "__NEXT_ERROR_CODE", { value: "E238", enumerable: false, configurable: true }); } return router; } function useParams() { useDynamicRouteParams == null ? void 0 : useDynamicRouteParams('useParams()'); return (0, _react.useContext)(_hooksclientcontextsharedruntime.PathParamsContext); } /** Get the canonical parameters from the current level to the leaf node. */ // Client components API function getSelectedLayoutSegmentPath(tree, parallelRouteKey, first, segmentPath) { if (first === void 0) first = true; if (segmentPath === void 0) segmentPath = []; let node; if (first) { // Use the provided parallel route key on the first parallel route node = tree[1][parallelRouteKey]; } else { // After first parallel route prefer children, if there's no children pick the first parallel route. const parallelRoutes = tree[1]; var _parallelRoutes_children; node = (_parallelRoutes_children = parallelRoutes.children) != null ? _parallelRoutes_children : Object.values(parallelRoutes)[0]; } if (!node) return segmentPath; const segment = node[0]; let segmentValue = (0, _getsegmentvalue.getSegmentValue)(segment); if (!segmentValue || segmentValue.startsWith(_segment.PAGE_SEGMENT_KEY)) { return segmentPath; } segmentPath.push(segmentValue); return getSelectedLayoutSegmentPath(node, parallelRouteKey, false, segmentPath); } function useSelectedLayoutSegments(parallelRouteKey) { if (parallelRouteKey === void 0) parallelRouteKey = 'children'; useDynamicRouteParams == null ? void 0 : useDynamicRouteParams('useSelectedLayoutSegments()'); const context = (0, _react.useContext)(_approutercontextsharedruntime.LayoutRouterContext); // @ts-expect-error This only happens in `pages`. Type is overwritten in navigation.d.ts if (!context) return null; return getSelectedLayoutSegmentPath(context.parentTree, parallelRouteKey); } function useSelectedLayoutSegment(parallelRouteKey) { if (parallelRouteKey === void 0) parallelRouteKey = 'children'; useDynamicRouteParams == null ? void 0 : useDynamicRouteParams('useSelectedLayoutSegment()'); const selectedLayoutSegments = useSelectedLayoutSegments(parallelRouteKey); if (!selectedLayoutSegments || selectedLayoutSegments.length === 0) { return null; } const selectedLayoutSegment = parallelRouteKey === 'children' ? selectedLayoutSegments[0] : selectedLayoutSegments[selectedLayoutSegments.length - 1]; // if the default slot is showing, we return null since it's not technically "selected" (it's a fallback) // and returning an internal value like `__DEFAULT__` would be confusing. return selectedLayoutSegment === _segment.DEFAULT_SEGMENT_KEY ? null : selectedLayoutSegment; } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=navigation.js.map g :NNW_K' - / 5 ` f h › È Î Ð  " ( * V k q s Œ ¯ µ · Ñ þ   ; ` f h H„ ¦ ½ Á °ÇÊô€®Object.defineProperty(exports, "__esModule", (‚))0“__webpack_require__„2115þ„6752ý„3865ü„6381û„5360ú„5439ù„2103ø„2845† false0…false‚{} »þÿÿÏ Object.defineProperty(exports, "__esModule", ({ value: true })); 0 && (0); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { ReadonlyURLSearchParams: function() { return _navigationreactserver.ReadonlyURLSearchParams; }, RedirectType: function() { return _navigationreactserver.RedirectType; }, ServerInsertedHTMLContext: function() { return _serverinsertedhtmlsharedruntime.ServerInsertedHTMLContext; }, forbidden: function() { return _navigationreactserver.forbidden; }, notFound: function() { return _navigationreactserver.notFound; }, permanentRedirect: function() { return _navigationreactserver.permanentRedirect; }, redirect: function() { return _navigationreactserver.redirect; }, unauthorized: function() { return _navigationreactserver.unauthorized; }, unstable_isUnrecognizedActionError: function() { return _unrecognizedactionerror.unstable_isUnrecognizedActionError; }, unstable_rethrow: function() { return _navigationreactserver.unstable_rethrow; }, useParams: function() { return useParams; }, usePathname: function() { return usePathname; }, useRouter: function() { return useRouter; }, useSearchParams: function() { return useSearchParams; }, useSelectedLayoutSegment: function() { return useSelectedLayoutSegment; }, useSelectedLayoutSegments: function() { return useSelectedLayoutSegments; }, useServerInsertedHTML: function() { return _serverinsertedhtmlsharedruntime.useServerInsertedHTML; } }); const _react = __webpack_require__(2115); const _approutercontextsharedruntime = __webpack_require__(6752); const _hooksclientcontextsharedruntime = __webpack_require__(3865); const _getsegmentvalue = __webpack_require__(6381); const _segment = __webpack_require__(5360); const _navigationreactserver = __webpack_require__(5439); const _serverinsertedhtmlsharedruntime = __webpack_require__(2103); const _unrecognizedactionerror = __webpack_require__(2845); const useDynamicRouteParams = false ? 0 : undefined; function useSearchParams() { const searchParams = (0, _react.useContext)(_hooksclientcontextsharedruntime.SearchParamsContext); // In the case where this is `null`, the compat types added in // `next-env.d.ts` will add a new overload that changes the return type to // include `null`. const readonlySearchParams = (0, _react.useMemo)(()=>{ if (!searchParams) { // When the router is not ready in pages, we won't have the search params // available. return null; } return new _navigationreactserver.ReadonlyURLSearchParams(searchParams); }, [ searchParams ]); if (false) {} return readonlySearchParams; } function usePathname() { useDynamicRouteParams == null ? void 0 : useDynamicRouteParams('usePathname()'); // In the case where this is `null`, the compat types added in `next-env.d.ts` // will add a new overload that changes the return type to include `null`. return (0, _react.useContext)(_hooksclientcontextsharedruntime.PathnameContext); } function useRouter() { const router = (0, _react.useContext)(_approutercontextsharedruntime.AppRouterContext); if (router === null) { throw Object.defineProperty(new Error('invariant expected app router to be mounted'), "__NEXT_ERROR_CODE", { value: "E238", enumerable: false, configurable: true }); } return router; } function useParams() { useDynamicRouteParams == null ? void 0 : useDynamicRouteParams('useParams()'); return (0, _react.useContext)(_hooksclientcontextsharedruntime.PathParamsContext); } /** Get the canonical parameters from the current level to the leaf node. */ // Client components API function getSelectedLayoutSegmentPath(tree, parallelRouteKey, first, segmentPath) { if (first === void 0) first = true; if (segmentPath === void 0) segmentPath = []; let node; if (first) { // Use the provided parallel route key on the first parallel route node = tree[1][parallelRouteKey]; } else { // After first parallel route prefer children, if there's no children pick the first parallel route. const parallelRoutes = tree[1]; var _parallelRoutes_children; node = (_parallelRoutes_children = parallelRoutes.children) != null ? _parallelRoutes_children : Object.values(parallelRoutes)[0]; } if (!node) return segmentPath; const segment = node[0]; let segmentValue = (0, _getsegmentvalue.getSegmentValue)(segment); if (!segmentValue || segmentValue.startsWith(_segment.PAGE_SEGMENT_KEY)) { return segmentPath; } segmentPath.push(segmentValue); return getSelectedLayoutSegmentPath(node, parallelRouteKey, false, segmentPath); } function useSelectedLayoutSegments(parallelRouteKey) { if (parallelRouteKey === void 0) parallelRouteKey = 'children'; useDynamicRouteParams == null ? void 0 : useDynamicRouteParams('useSelectedLayoutSegments()'); const context = (0, _react.useContext)(_approutercontextsharedruntime.LayoutRouterContext); // @ts-expect-error This only happens in `pages`. Type is overwritten in navigation.d.ts if (!context) return null; return getSelectedLayoutSegmentPath(context.parentTree, parallelRouteKey); } function useSelectedLayoutSegment(parallelRouteKey) { if (parallelRouteKey === void 0) parallelRouteKey = 'children'; useDynamicRouteParams == null ? void 0 : useDynamicRouteParams('useSelectedLayoutSegment()'); const selectedLayoutSegments = useSelectedLayoutSegments(parallelRouteKey); if (!selectedLayoutSegments || selectedLayoutSegments.length === 0) { return null; } const selectedLayoutSegment = parallelRouteKey === 'children' ? selectedLayoutSegments[0] : selectedLayoutSegments[selectedLayoutSegments.length - 1]; // if the default slot is showing, we return null since it's not technically "selected" (it's a fallback) // and returning an internal value like `__DEFAULT__` would be confusing. return selectedLayoutSegment === _segment.DEFAULT_SEGMENT_KEY ? null : selectedLayoutSegment; } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=navigation.js.map ¼þÿÿ ¿þÿÿ  Àþÿÿ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { ReadonlyURLSearchParams: null, RedirectType: null, ServerInsertedHTMLContext: null, forbidden: null, notFound: null, permanentRedirect: null, redirect: null, unauthorized: null, unstable_isUnrecognizedActionError: null, unstable_rethrow: null, useParams: null, usePathname: null, useRouter: null, useSearchParams: null, useSelectedLayoutSegment: null, useSelectedLayoutSegments: null, useServerInsertedHTML: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { ReadonlyURLSearchParams: function() { return _navigationreactserver.ReadonlyURLSearchParams; }, RedirectType: function() { return _navigationreactserver.RedirectType; }, ServerInsertedHTMLContext: function() { return _serverinsertedhtmlsharedruntime.ServerInsertedHTMLContext; }, forbidden: function() { return _navigationreactserver.forbidden; }, notFound: function() { return _navigationreactserver.notFound; }, permanentRedirect: function() { return _navigationreactserver.permanentRedirect; }, redirect: function() { return _navigationreactserver.redirect; }, unauthorized: function() { return _navigationreactserver.unauthorized; }, unstable_isUnrecognizedActionError: function() { return _unrecognizedactionerror.unstable_isUnrecognizedActionError; }, unstable_rethrow: function() { return _navigationreactserver.unstable_rethrow; }, useParams: function() { return useParams; }, usePathname: function() { return usePathname; }, useRouter: function() { return useRouter; }, useSearchParams: function() { return useSearchParams; }, useSelectedLayoutSegment: function() { return useSelectedLayoutSegment; }, useSelectedLayoutSegments: function() { return useSelectedLayoutSegments; }, useServerInsertedHTML: function() { return _serverinsertedhtmlsharedruntime.useServerInsertedHTML; } }); const _react = require("react"); const _approutercontextsharedruntime = require("../../shared/lib/app-router-context.shared-runtime"); const _hooksclientcontextsharedruntime = require("../../shared/lib/hooks-client-context.shared-runtime"); const _getsegmentvalue = require("./router-reducer/reducers/get-segment-value"); const _segment = require("../../shared/lib/segment"); const _navigationreactserver = require("./navigation.react-server"); const _serverinsertedhtmlsharedruntime = require("../../shared/lib/server-inserted-html.shared-runtime"); const _unrecognizedactionerror = require("./unrecognized-action-error"); const useDynamicRouteParams = "object" === 'undefined' ? require('../../server/app-render/dynamic-rendering').useDynamicRouteParams : undefined; function useSearchParams() { const searchParams = (0, _react.useContext)(_hooksclientcontextsharedruntime.SearchParamsContext); // In the case where this is `null`, the compat types added in // `next-env.d.ts` will add a new overload that changes the return type to // include `null`. const readonlySearchParams = (0, _react.useMemo)(()=>{ if (!searchParams) { // When the router is not ready in pages, we won't have the search params // available. return null; } return new _navigationreactserver.ReadonlyURLSearchParams(searchParams); }, [ searchParams ]); if ("object" === 'undefined') { // AsyncLocalStorage should not be included in the client bundle. const { bailoutToClientRendering } = require('./bailout-to-client-rendering'); // TODO-APP: handle dynamic = 'force-static' here and on the client bailoutToClientRendering('useSearchParams()'); } return readonlySearchParams; } function usePathname() { useDynamicRouteParams == null ? void 0 : useDynamicRouteParams('usePathname()'); // In the case where this is `null`, the compat types added in `next-env.d.ts` // will add a new overload that changes the return type to include `null`. return (0, _react.useContext)(_hooksclientcontextsharedruntime.PathnameContext); } function useRouter() { const router = (0, _react.useContext)(_approutercontextsharedruntime.AppRouterContext); if (router === null) { throw Object.defineProperty(new Error('invariant expected app router to be mounted'), "__NEXT_ERROR_CODE", { value: "E238", enumerable: false, configurable: true }); } return router; } function useParams() { useDynamicRouteParams == null ? void 0 : useDynamicRouteParams('useParams()'); return (0, _react.useContext)(_hooksclientcontextsharedruntime.PathParamsContext); } /** Get the canonical parameters from the current level to the leaf node. */ // Client components API function getSelectedLayoutSegmentPath(tree, parallelRouteKey, first, segmentPath) { if (first === void 0) first = true; if (segmentPath === void 0) segmentPath = []; let node; if (first) { // Use the provided parallel route key on the first parallel route node = tree[1][parallelRouteKey]; } else { // After first parallel route prefer children, if there's no children pick the first parallel route. const parallelRoutes = tree[1]; var _parallelRoutes_children; node = (_parallelRoutes_children = parallelRoutes.children) != null ? _parallelRoutes_children : Object.values(parallelRoutes)[0]; } if (!node) return segmentPath; const segment = node[0]; let segmentValue = (0, _getsegmentvalue.getSegmentValue)(segment); if (!segmentValue || segmentValue.startsWith(_segment.PAGE_SEGMENT_KEY)) { return segmentPath; } segmentPath.push(segmentValue); return getSelectedLayoutSegmentPath(node, parallelRouteKey, false, segmentPath); } function useSelectedLayoutSegments(parallelRouteKey) { if (parallelRouteKey === void 0) parallelRouteKey = 'children'; useDynamicRouteParams == null ? void 0 : useDynamicRouteParams('useSelectedLayoutSegments()'); const context = (0, _react.useContext)(_approutercontextsharedruntime.LayoutRouterContext); // @ts-expect-error This only happens in `pages`. Type is overwritten in navigation.d.ts if (!context) return null; return getSelectedLayoutSegmentPath(context.parentTree, parallelRouteKey); } function useSelectedLayoutSegment(parallelRouteKey) { if (parallelRouteKey === void 0) parallelRouteKey = 'children'; useDynamicRouteParams == null ? void 0 : useDynamicRouteParams('useSelectedLayoutSegment()'); const selectedLayoutSegments = useSelectedLayoutSegments(parallelRouteKey); if (!selectedLayoutSegments || selectedLayoutSegments.length === 0) { return null; } const selectedLayoutSegment = parallelRouteKey === 'children' ? selectedLayoutSegments[0] : selectedLayoutSegments[selectedLayoutSegments.length - 1]; // if the default slot is showing, we return null since it's not technically "selected" (it's a fallback) // and returning an internal value like `__DEFAULT__` would be confusing. return selectedLayoutSegment === _segment.DEFAULT_SEGMENT_KEY ? null : selectedLayoutSegment; } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=navigation.js.map 012undefined1458Object.defineProperty(exports, "__esModule", (undefined7878))undefined875870undefined23432349__webpack_require__undefined235123572115undefined24002406__webpack_require__undefined240824596752undefined25042510__webpack_require__undefined251225653865undefined25942600__webpack_require__undefined260226466381undefined26672673__webpack_require__undefined267527005360undefined27352741__webpack_require__undefined274327695439undefined28142820__webpack_require__undefined282228752103undefined29122918__webpack_require__undefined292029482845undefined29823005 falseundefined300930820undefined37603783falseundefined37864084{}undefined gþÿÿþÿÿÁþÿÿ ªþÿÿ«þÿÿ T«webpack/lib/util/registerExternalSerializerœwebpack-sources/ConcatSource€«webpack/lib/util/registerExternalSerializer™webpack-sources/RawSourceC/* provided dependency */ var process = __webpack_require__(5704); «webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSource9/** * @license React * react-dom-client.production.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ /* Modernizr 3.0.0pre (Custom Build) | MIT */ "use strict"; var Scheduler = require("next/dist/compiled/scheduler"), React = require("next/dist/compiled/react"), ReactDOM = require("next/dist/compiled/react-dom"); function formatProdErrorMessage(code) { var url = "https://react.dev/errors/" + code; if (1 < arguments.length) { url += "?args[]=" + encodeURIComponent(arguments[1]); for (var i = 2; i < arguments.length; i++) url += "&args[]=" + encodeURIComponent(arguments[i]); } return ( "Minified React error #" + code + "; visit " + url + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings." ); } function isValidContainer(node) { return !( !node || (1 !== node.nodeType && 9 !== node.nodeType && 11 !== node.nodeType) ); } function getNearestMountedFiber(fiber) { var node = fiber, nearestMounted = fiber; if (fiber.alternate) for (; node.return; ) node = node.return; else { fiber = node; do (node = fiber), 0 !== (node.flags & 4098) && (nearestMounted = node.return), (fiber = node.return); while (fiber); } return 3 === node.tag ? nearestMounted : null; } function getSuspenseInstanceFromFiber(fiber) { if (13 === fiber.tag) { var suspenseState = fiber.memoizedState; null === suspenseState && ((fiber = fiber.alternate), null !== fiber && (suspenseState = fiber.memoizedState)); if (null !== suspenseState) return suspenseState.dehydrated; } return null; } function getActivityInstanceFromFiber(fiber) { if (31 === fiber.tag) { var activityState = fiber.memoizedState; null === activityState && ((fiber = fiber.alternate), null !== fiber && (activityState = fiber.memoizedState)); if (null !== activityState) return activityState.dehydrated; } return null; } function assertIsMounted(fiber) { if (getNearestMountedFiber(fiber) !== fiber) throw Error(formatProdErrorMessage(188)); } function findCurrentFiberUsingSlowPath(fiber) { var alternate = fiber.alternate; if (!alternate) { alternate = getNearestMountedFiber(fiber); if (null === alternate) throw Error(formatProdErrorMessage(188)); return alternate !== fiber ? null : fiber; } for (var a = fiber, b = alternate; ; ) { var parentA = a.return; if (null === parentA) break; var parentB = parentA.alternate; if (null === parentB) { b = parentA.return; if (null !== b) { a = b; continue; } break; } if (parentA.child === parentB.child) { for (parentB = parentA.child; parentB; ) { if (parentB === a) return assertIsMounted(parentA), fiber; if (parentB === b) return assertIsMounted(parentA), alternate; parentB = parentB.sibling; } throw Error(formatProdErrorMessage(188)); } if (a.return !== b.return) (a = parentA), (b = parentB); else { for (var didFindChild = !1, child$0 = parentA.child; child$0; ) { if (child$0 === a) { didFindChild = !0; a = parentA; b = parentB; break; } if (child$0 === b) { didFindChild = !0; b = parentA; a = parentB; break; } child$0 = child$0.sibling; } if (!didFindChild) { for (child$0 = parentB.child; child$0; ) { if (child$0 === a) { didFindChild = !0; a = parentB; b = parentA; break; } if (child$0 === b) { didFindChild = !0; b = parentB; a = parentA; break; } child$0 = child$0.sibling; } if (!didFindChild) throw Error(formatProdErrorMessage(189)); } } if (a.alternate !== b) throw Error(formatProdErrorMessage(190)); } if (3 !== a.tag) throw Error(formatProdErrorMessage(188)); return a.stateNode.current === a ? fiber : alternate; } function findCurrentHostFiberImpl(node) { var tag = node.tag; if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return node; for (node = node.child; null !== node; ) { tag = findCurrentHostFiberImpl(node); if (null !== tag) return tag; node = node.sibling; } return null; } var assign = Object.assign, REACT_LEGACY_ELEMENT_TYPE = Symbol.for("react.element"), REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"); Symbol.for("react.scope"); var REACT_ACTIVITY_TYPE = Symbol.for("react.activity"); Symbol.for("react.legacy_hidden"); Symbol.for("react.tracing_marker"); var REACT_MEMO_CACHE_SENTINEL = Symbol.for("react.memo_cache_sentinel"); Symbol.for("react.view_transition"); var MAYBE_ITERATOR_SYMBOL = Symbol.iterator; function getIteratorFn(maybeIterable) { if (null === maybeIterable || "object" !== typeof maybeIterable) return null; maybeIterable = (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) || maybeIterable["@@iterator"]; return "function" === typeof maybeIterable ? maybeIterable : null; } var REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"); function getComponentNameFromType(type) { if (null == type) return null; if ("function" === typeof type) return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null; if ("string" === typeof type) return type; switch (type) { case REACT_FRAGMENT_TYPE: return "Fragment"; case REACT_PROFILER_TYPE: return "Profiler"; case REACT_STRICT_MODE_TYPE: return "StrictMode"; case REACT_SUSPENSE_TYPE: return "Suspense"; case REACT_SUSPENSE_LIST_TYPE: return "SuspenseList"; case REACT_ACTIVITY_TYPE: return "Activity"; } if ("object" === typeof type) switch (type.$$typeof) { case REACT_PORTAL_TYPE: return "Portal"; case REACT_CONTEXT_TYPE: return type.displayName || "Context"; case REACT_CONSUMER_TYPE: return (type._context.displayName || "Context") + ".Consumer"; case REACT_FORWARD_REF_TYPE: var innerType = type.render; type = type.displayName; type || ((type = innerType.displayName || innerType.name || ""), (type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef")); return type; case REACT_MEMO_TYPE: return ( (innerType = type.displayName || null), null !== innerType ? innerType : getComponentNameFromType(type.type) || "Memo" ); case REACT_LAZY_TYPE: innerType = type._payload; type = type._init; try { return getComponentNameFromType(type(innerType)); } catch (x) {} } return null; } var isArrayImpl = Array.isArray, ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, ReactDOMSharedInternals = ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, sharedNotPendingObject = { pending: !1, data: null, method: null, action: null }, valueStack = [], index = -1; function createCursor(defaultValue) { return { current: defaultValue }; } function pop(cursor) { 0 > index || ((cursor.current = valueStack[index]), (valueStack[index] = null), index--); } function push(cursor, value) { index++; valueStack[index] = cursor.current; cursor.current = value; } var contextStackCursor = createCursor(null), contextFiberStackCursor = createCursor(null), rootInstanceStackCursor = createCursor(null), hostTransitionProviderCursor = createCursor(null); function pushHostContainer(fiber, nextRootInstance) { push(rootInstanceStackCursor, nextRootInstance); push(contextFiberStackCursor, fiber); push(contextStackCursor, null); switch (nextRootInstance.nodeType) { case 9: case 11: fiber = (fiber = nextRootInstance.documentElement) ? (fiber = fiber.namespaceURI) ? getOwnHostContext(fiber) : 0 : 0; break; default: if ( ((fiber = nextRootInstance.tagName), (nextRootInstance = nextRootInstance.namespaceURI)) ) (nextRootInstance = getOwnHostContext(nextRootInstance)), (fiber = getChildHostContextProd(nextRootInstance, fiber)); else switch (fiber) { case "svg": fiber = 1; break; case "math": fiber = 2; break; default: fiber = 0; } } pop(contextStackCursor); push(contextStackCursor, fiber); } function popHostContainer() { pop(contextStackCursor); pop(contextFiberStackCursor); pop(rootInstanceStackCursor); } function pushHostContext(fiber) { null !== fiber.memoizedState && push(hostTransitionProviderCursor, fiber); var context = contextStackCursor.current; var JSCompiler_inline_result = getChildHostContextProd(context, fiber.type); context !== JSCompiler_inline_result && (push(contextFiberStackCursor, fiber), push(contextStackCursor, JSCompiler_inline_result)); } function popHostContext(fiber) { contextFiberStackCursor.current === fiber && (pop(contextStackCursor), pop(contextFiberStackCursor)); hostTransitionProviderCursor.current === fiber && (pop(hostTransitionProviderCursor), (HostTransitionContext._currentValue = sharedNotPendingObject)); } var prefix, suffix; function describeBuiltInComponentFrame(name) { if (void 0 === prefix) try { throw Error(); } catch (x) { var match = x.stack.trim().match(/\n( *(at )?)/); prefix = (match && match[1]) || ""; suffix = -1 < x.stack.indexOf("\n at") ? " ()" : -1 < x.stack.indexOf("@") ? "@unknown:0:0" : ""; } return "\n" + prefix + name + suffix; } var reentry = !1; function describeNativeComponentFrame(fn, construct) { if (!fn || reentry) return ""; reentry = !0; var previousPrepareStackTrace = Error.prepareStackTrace; Error.prepareStackTrace = void 0; try { var RunInRootFrame = { DetermineComponentFrameRoot: function () { try { if (construct) { var Fake = function () { throw Error(); }; Object.defineProperty(Fake.prototype, "props", { set: function () { throw Error(); } }); if ("object" === typeof Reflect && Reflect.construct) { try { Reflect.construct(Fake, []); } catch (x) { var control = x; } Reflect.construct(fn, [], Fake); } else { try { Fake.call(); } catch (x$1) { control = x$1; } fn.call(Fake.prototype); } } else { try { throw Error(); } catch (x$2) { control = x$2; } (Fake = fn()) && "function" === typeof Fake.catch && Fake.catch(function () {}); } } catch (sample) { if (sample && control && "string" === typeof sample.stack) return [sample.stack, control.stack]; } return [null, null]; } }; RunInRootFrame.DetermineComponentFrameRoot.displayName = "DetermineComponentFrameRoot"; var namePropDescriptor = Object.getOwnPropertyDescriptor( RunInRootFrame.DetermineComponentFrameRoot, "name" ); namePropDescriptor && namePropDescriptor.configurable && Object.defineProperty( RunInRootFrame.DetermineComponentFrameRoot, "name", { value: "DetermineComponentFrameRoot" } ); var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(), sampleStack = _RunInRootFrame$Deter[0], controlStack = _RunInRootFrame$Deter[1]; if (sampleStack && controlStack) { var sampleLines = sampleStack.split("\n"), controlLines = controlStack.split("\n"); for ( namePropDescriptor = RunInRootFrame = 0; RunInRootFrame < sampleLines.length && !sampleLines[RunInRootFrame].includes("DetermineComponentFrameRoot"); ) RunInRootFrame++; for ( ; namePropDescriptor < controlLines.length && !controlLines[namePropDescriptor].includes( "DetermineComponentFrameRoot" ); ) namePropDescriptor++; if ( RunInRootFrame === sampleLines.length || namePropDescriptor === controlLines.length ) for ( RunInRootFrame = sampleLines.length - 1, namePropDescriptor = controlLines.length - 1; 1 <= RunInRootFrame && 0 <= namePropDescriptor && sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]; ) namePropDescriptor--; for ( ; 1 <= RunInRootFrame && 0 <= namePropDescriptor; RunInRootFrame--, namePropDescriptor-- ) if (sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]) { if (1 !== RunInRootFrame || 1 !== namePropDescriptor) { do if ( (RunInRootFrame--, namePropDescriptor--, 0 > namePropDescriptor || sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]) ) { var frame = "\n" + sampleLines[RunInRootFrame].replace(" at new ", " at "); fn.displayName && frame.includes("") && (frame = frame.replace("", fn.displayName)); return frame; } while (1 <= RunInRootFrame && 0 <= namePropDescriptor); } break; } } } finally { (reentry = !1), (Error.prepareStackTrace = previousPrepareStackTrace); } return (previousPrepareStackTrace = fn ? fn.displayName || fn.name : "") ? describeBuiltInComponentFrame(previousPrepareStackTrace) : ""; } function describeFiber(fiber, childFiber) { switch (fiber.tag) { case 26: case 27: case 5: return describeBuiltInComponentFrame(fiber.type); case 16: return describeBuiltInComponentFrame("Lazy"); case 13: return fiber.child !== childFiber && null !== childFiber ? describeBuiltInComponentFrame("Suspense Fallback") : describeBuiltInComponentFrame("Suspense"); case 19: return describeBuiltInComponentFrame("SuspenseList"); case 0: case 15: return describeNativeComponentFrame(fiber.type, !1); case 11: return describeNativeComponentFrame(fiber.type.render, !1); case 1: return describeNativeComponentFrame(fiber.type, !0); case 31: return describeBuiltInComponentFrame("Activity"); default: return ""; } } function getStackByFiberInDevAndProd(workInProgress) { try { var info = "", previous = null; do (info += describeFiber(workInProgress, previous)), (previous = workInProgress), (workInProgress = workInProgress.return); while (workInProgress); return info; } catch (x) { return "\nError generating stack: " + x.message + "\n" + x.stack; } } var hasOwnProperty = Object.prototype.hasOwnProperty, scheduleCallback$3 = Scheduler.unstable_scheduleCallback, cancelCallback$1 = Scheduler.unstable_cancelCallback, shouldYield = Scheduler.unstable_shouldYield, requestPaint = Scheduler.unstable_requestPaint, now = Scheduler.unstable_now, getCurrentPriorityLevel = Scheduler.unstable_getCurrentPriorityLevel, ImmediatePriority = Scheduler.unstable_ImmediatePriority, UserBlockingPriority = Scheduler.unstable_UserBlockingPriority, NormalPriority$1 = Scheduler.unstable_NormalPriority, LowPriority = Scheduler.unstable_LowPriority, IdlePriority = Scheduler.unstable_IdlePriority, log$1 = Scheduler.log, unstable_setDisableYieldValue = Scheduler.unstable_setDisableYieldValue, rendererID = null, injectedHook = null; function setIsStrictModeForDevtools(newIsStrictMode) { "function" === typeof log$1 && unstable_setDisableYieldValue(newIsStrictMode); if (injectedHook && "function" === typeof injectedHook.setStrictMode) try { injectedHook.setStrictMode(rendererID, newIsStrictMode); } catch (err) {} } var clz32 = Math.clz32 ? Math.clz32 : clz32Fallback, log = Math.log, LN2 = Math.LN2; function clz32Fallback(x) { x >>>= 0; return 0 === x ? 32 : (31 - ((log(x) / LN2) | 0)) | 0; } var nextTransitionLane = 256, nextRetryLane = 4194304; function getHighestPriorityLanes(lanes) { var pendingSyncLanes = lanes & 42; if (0 !== pendingSyncLanes) return pendingSyncLanes; switch (lanes & -lanes) { case 1: return 1; case 2: return 2; case 4: return 4; case 8: return 8; case 16: return 16; case 32: return 32; case 64: return 64; case 128: return 128; case 256: case 512: case 1024: case 2048: case 4096: case 8192: case 16384: case 32768: case 65536: case 131072: case 262144: case 524288: case 1048576: case 2097152: return lanes & 4194048; case 4194304: case 8388608: case 16777216: case 33554432: return lanes & 62914560; case 67108864: return 67108864; case 134217728: return 134217728; case 268435456: return 268435456; case 536870912: return 536870912; case 1073741824: return 0; default: return lanes; } } function getNextLanes(root, wipLanes, rootHasPendingCommit) { var pendingLanes = root.pendingLanes; if (0 === pendingLanes) return 0; var nextLanes = 0, suspendedLanes = root.suspendedLanes, pingedLanes = root.pingedLanes; root = root.warmLanes; var nonIdlePendingLanes = pendingLanes & 134217727; 0 !== nonIdlePendingLanes ? ((pendingLanes = nonIdlePendingLanes & ~suspendedLanes), 0 !== pendingLanes ? (nextLanes = getHighestPriorityLanes(pendingLanes)) : ((pingedLanes &= nonIdlePendingLanes), 0 !== pingedLanes ? (nextLanes = getHighestPriorityLanes(pingedLanes)) : rootHasPendingCommit || ((rootHasPendingCommit = nonIdlePendingLanes & ~root), 0 !== rootHasPendingCommit && (nextLanes = getHighestPriorityLanes(rootHasPendingCommit))))) : ((nonIdlePendingLanes = pendingLanes & ~suspendedLanes), 0 !== nonIdlePendingLanes ? (nextLanes = getHighestPriorityLanes(nonIdlePendingLanes)) : 0 !== pingedLanes ? (nextLanes = getHighestPriorityLanes(pingedLanes)) : rootHasPendingCommit || ((rootHasPendingCommit = pendingLanes & ~root), 0 !== rootHasPendingCommit && (nextLanes = getHighestPriorityLanes(rootHasPendingCommit)))); return 0 === nextLanes ? 0 : 0 !== wipLanes && wipLanes !== nextLanes && 0 === (wipLanes & suspendedLanes) && ((suspendedLanes = nextLanes & -nextLanes), (rootHasPendingCommit = wipLanes & -wipLanes), suspendedLanes >= rootHasPendingCommit || (32 === suspendedLanes && 0 !== (rootHasPendingCommit & 4194048))) ? wipLanes : nextLanes; } function checkIfRootIsPrerendering(root, renderLanes) { return ( 0 === (root.pendingLanes & ~(root.suspendedLanes & ~root.pingedLanes) & renderLanes) ); } function computeExpirationTime(lane, currentTime) { switch (lane) { case 1: case 2: case 4: case 8: case 64: return currentTime + 250; case 16: case 32: case 128: case 256: case 512: case 1024: case 2048: case 4096: case 8192: case 16384: case 32768: case 65536: case 131072: case 262144: case 524288: case 1048576: case 2097152: return currentTime + 5e3; case 4194304: case 8388608: case 16777216: case 33554432: return -1; case 67108864: case 134217728: case 268435456: case 536870912: case 1073741824: return -1; default: return -1; } } function claimNextTransitionLane() { var lane = nextTransitionLane; nextTransitionLane <<= 1; 0 === (nextTransitionLane & 4194048) && (nextTransitionLane = 256); return lane; } function claimNextRetryLane() { var lane = nextRetryLane; nextRetryLane <<= 1; 0 === (nextRetryLane & 62914560) && (nextRetryLane = 4194304); return lane; } function createLaneMap(initial) { for (var laneMap = [], i = 0; 31 > i; i++) laneMap.push(initial); return laneMap; } function markRootUpdated$1(root, updateLane) { root.pendingLanes |= updateLane; 268435456 !== updateLane && ((root.suspendedLanes = 0), (root.pingedLanes = 0), (root.warmLanes = 0)); } function markRootFinished( root, finishedLanes, remainingLanes, spawnedLane, updatedLanes, suspendedRetryLanes ) { var previouslyPendingLanes = root.pendingLanes; root.pendingLanes = remainingLanes; root.suspendedLanes = 0; root.pingedLanes = 0; root.warmLanes = 0; root.expiredLanes &= remainingLanes; root.entangledLanes &= remainingLanes; root.errorRecoveryDisabledLanes &= remainingLanes; root.shellSuspendCounter = 0; var entanglements = root.entanglements, expirationTimes = root.expirationTimes, hiddenUpdates = root.hiddenUpdates; for ( remainingLanes = previouslyPendingLanes & ~remainingLanes; 0 < remainingLanes; ) { var index$7 = 31 - clz32(remainingLanes), lane = 1 << index$7; entanglements[index$7] = 0; expirationTimes[index$7] = -1; var hiddenUpdatesForLane = hiddenUpdates[index$7]; if (null !== hiddenUpdatesForLane) for ( hiddenUpdates[index$7] = null, index$7 = 0; index$7 < hiddenUpdatesForLane.length; index$7++ ) { var update = hiddenUpdatesForLane[index$7]; null !== update && (update.lane &= -536870913); } remainingLanes &= ~lane; } 0 !== spawnedLane && markSpawnedDeferredLane(root, spawnedLane, 0); 0 !== suspendedRetryLanes && 0 === updatedLanes && 0 !== root.tag && (root.suspendedLanes |= suspendedRetryLanes & ~(previouslyPendingLanes & ~finishedLanes)); } function markSpawnedDeferredLane(root, spawnedLane, entangledLanes) { root.pendingLanes |= spawnedLane; root.suspendedLanes &= ~spawnedLane; var spawnedLaneIndex = 31 - clz32(spawnedLane); root.entangledLanes |= spawnedLane; root.entanglements[spawnedLaneIndex] = root.entanglements[spawnedLaneIndex] | 1073741824 | (entangledLanes & 4194090); } function markRootEntangled(root, entangledLanes) { var rootEntangledLanes = (root.entangledLanes |= entangledLanes); for (root = root.entanglements; rootEntangledLanes; ) { var index$8 = 31 - clz32(rootEntangledLanes), lane = 1 << index$8; (lane & entangledLanes) | (root[index$8] & entangledLanes) && (root[index$8] |= entangledLanes); rootEntangledLanes &= ~lane; } } function getBumpedLaneForHydration(root, renderLanes) { var renderLane = renderLanes & -renderLanes; renderLane = 0 !== (renderLane & 42) ? 1 : getBumpedLaneForHydrationByLane(renderLane); return 0 !== (renderLane & (root.suspendedLanes | renderLanes)) ? 0 : renderLane; } function getBumpedLaneForHydrationByLane(lane) { switch (lane) { case 2: lane = 1; break; case 8: lane = 4; break; case 32: lane = 16; break; case 256: case 512: case 1024: case 2048: case 4096: case 8192: case 16384: case 32768: case 65536: case 131072: case 262144: case 524288: case 1048576: case 2097152: case 4194304: case 8388608: case 16777216: case 33554432: lane = 128; break; case 268435456: lane = 134217728; break; default: lane = 0; } return lane; } function lanesToEventPriority(lanes) { lanes &= -lanes; return 2 < lanes ? 8 < lanes ? 0 !== (lanes & 134217727) ? 32 : 268435456 : 8 : 2; } function resolveUpdatePriority() { var updatePriority = ReactDOMSharedInternals.p; if (0 !== updatePriority) return updatePriority; updatePriority = window.event; return void 0 === updatePriority ? 32 : getEventPriority(updatePriority.type); } function runWithPriority(priority, fn) { var previousPriority = ReactDOMSharedInternals.p; try { return (ReactDOMSharedInternals.p = priority), fn(); } finally { ReactDOMSharedInternals.p = previousPriority; } } var randomKey = Math.random().toString(36).slice(2), internalInstanceKey = "__reactFiber$" + randomKey, internalPropsKey = "__reactProps$" + randomKey, internalContainerInstanceKey = "__reactContainer$" + randomKey, internalEventHandlersKey = "__reactEvents$" + randomKey, internalEventHandlerListenersKey = "__reactListeners$" + randomKey, internalEventHandlesSetKey = "__reactHandles$" + randomKey, internalRootNodeResourcesKey = "__reactResources$" + randomKey, internalHoistableMarker = "__reactMarker$" + randomKey; function detachDeletedInstance(node) { delete node[internalInstanceKey]; delete node[internalPropsKey]; delete node[internalEventHandlersKey]; delete node[internalEventHandlerListenersKey]; delete node[internalEventHandlesSetKey]; } function getClosestInstanceFromNode(targetNode) { var targetInst = targetNode[internalInstanceKey]; if (targetInst) return targetInst; for (var parentNode = targetNode.parentNode; parentNode; ) { if ( (targetInst = parentNode[internalContainerInstanceKey] || parentNode[internalInstanceKey]) ) { parentNode = targetInst.alternate; if ( null !== targetInst.child || (null !== parentNode && null !== parentNode.child) ) for ( targetNode = getParentHydrationBoundary(targetNode); null !== targetNode; ) { if ((parentNode = targetNode[internalInstanceKey])) return parentNode; targetNode = getParentHydrationBoundary(targetNode); } return targetInst; } targetNode = parentNode; parentNode = targetNode.parentNode; } return null; } function getInstanceFromNode(node) { if ( (node = node[internalInstanceKey] || node[internalContainerInstanceKey]) ) { var tag = node.tag; if ( 5 === tag || 6 === tag || 13 === tag || 31 === tag || 26 === tag || 27 === tag || 3 === tag ) return node; } return null; } function getNodeFromInstance(inst) { var tag = inst.tag; if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return inst.stateNode; throw Error(formatProdErrorMessage(33)); } function getResourcesFromRoot(root) { var resources = root[internalRootNodeResourcesKey]; resources || (resources = root[internalRootNodeResourcesKey] = { hoistableStyles: new Map(), hoistableScripts: new Map() }); return resources; } function markNodeAsHoistable(node) { node[internalHoistableMarker] = !0; } var allNativeEvents = new Set(), registrationNameDependencies = {}; function registerTwoPhaseEvent(registrationName, dependencies) { registerDirectEvent(registrationName, dependencies); registerDirectEvent(registrationName + "Capture", dependencies); } function registerDirectEvent(registrationName, dependencies) { registrationNameDependencies[registrationName] = dependencies; for ( registrationName = 0; registrationName < dependencies.length; registrationName++ ) allNativeEvents.add(dependencies[registrationName]); } var VALID_ATTRIBUTE_NAME_REGEX = RegExp( "^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$" ), illegalAttributeNameCache = {}, validatedAttributeNameCache = {}; function isAttributeNameSafe(attributeName) { if (hasOwnProperty.call(validatedAttributeNameCache, attributeName)) return !0; if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) return !1; if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) return (validatedAttributeNameCache[attributeName] = !0); illegalAttributeNameCache[attributeName] = !0; return !1; } function setValueForAttribute(node, name, value) { if (isAttributeNameSafe(name)) if (null === value) node.removeAttribute(name); else { switch (typeof value) { case "undefined": case "function": case "symbol": node.removeAttribute(name); return; case "boolean": var prefix$10 = name.toLowerCase().slice(0, 5); if ("data-" !== prefix$10 && "aria-" !== prefix$10) { node.removeAttribute(name); return; } } node.setAttribute(name, "" + value); } } function setValueForKnownAttribute(node, name, value) { if (null === value) node.removeAttribute(name); else { switch (typeof value) { case "undefined": case "function": case "symbol": case "boolean": node.removeAttribute(name); return; } node.setAttribute(name, "" + value); } } function setValueForNamespacedAttribute(node, namespace, name, value) { if (null === value) node.removeAttribute(name); else { switch (typeof value) { case "undefined": case "function": case "symbol": case "boolean": node.removeAttribute(name); return; } node.setAttributeNS(namespace, name, "" + value); } } function getToStringValue(value) { switch (typeof value) { case "bigint": case "boolean": case "number": case "string": case "undefined": return value; case "object": return value; default: return ""; } } function isCheckable(elem) { var type = elem.type; return ( (elem = elem.nodeName) && "input" === elem.toLowerCase() && ("checkbox" === type || "radio" === type) ); } function trackValueOnNode(node, valueField, currentValue) { var descriptor = Object.getOwnPropertyDescriptor( node.constructor.prototype, valueField ); if ( !node.hasOwnProperty(valueField) && "undefined" !== typeof descriptor && "function" === typeof descriptor.get && "function" === typeof descriptor.set ) { var get = descriptor.get, set = descriptor.set; Object.defineProperty(node, valueField, { configurable: !0, get: function () { return get.call(this); }, set: function (value) { currentValue = "" + value; set.call(this, value); } }); Object.defineProperty(node, valueField, { enumerable: descriptor.enumerable }); return { getValue: function () { return currentValue; }, setValue: function (value) { currentValue = "" + value; }, stopTracking: function () { node._valueTracker = null; delete node[valueField]; } }; } } function track(node) { if (!node._valueTracker) { var valueField = isCheckable(node) ? "checked" : "value"; node._valueTracker = trackValueOnNode( node, valueField, "" + node[valueField] ); } } function updateValueIfChanged(node) { if (!node) return !1; var tracker = node._valueTracker; if (!tracker) return !0; var lastValue = tracker.getValue(); var value = ""; node && (value = isCheckable(node) ? node.checked ? "true" : "false" : node.value); node = value; return node !== lastValue ? (tracker.setValue(node), !0) : !1; } function getActiveElement(doc) { doc = doc || ("undefined" !== typeof document ? document : void 0); if ("undefined" === typeof doc) return null; try { return doc.activeElement || doc.body; } catch (e) { return doc.body; } } var escapeSelectorAttributeValueInsideDoubleQuotesRegex = /[\n"\\]/g; function escapeSelectorAttributeValueInsideDoubleQuotes(value) { return value.replace( escapeSelectorAttributeValueInsideDoubleQuotesRegex, function (ch) { return "\\" + ch.charCodeAt(0).toString(16) + " "; } ); } function updateInput( element, value, defaultValue, lastDefaultValue, checked, defaultChecked, type, name ) { element.name = ""; null != type && "function" !== typeof type && "symbol" !== typeof type && "boolean" !== typeof type ? (element.type = type) : element.removeAttribute("type"); if (null != value) if ("number" === type) { if ((0 === value && "" === element.value) || element.value != value) element.value = "" + getToStringValue(value); } else element.value !== "" + getToStringValue(value) && (element.value = "" + getToStringValue(value)); else ("submit" !== type && "reset" !== type) || element.removeAttribute("value"); null != value ? setDefaultValue(element, type, getToStringValue(value)) : null != defaultValue ? setDefaultValue(element, type, getToStringValue(defaultValue)) : null != lastDefaultValue && element.removeAttribute("value"); null == checked && null != defaultChecked && (element.defaultChecked = !!defaultChecked); null != checked && (element.checked = checked && "function" !== typeof checked && "symbol" !== typeof checked); null != name && "function" !== typeof name && "symbol" !== typeof name && "boolean" !== typeof name ? (element.name = "" + getToStringValue(name)) : element.removeAttribute("name"); } function initInput( element, value, defaultValue, checked, defaultChecked, type, name, isHydrating ) { null != type && "function" !== typeof type && "symbol" !== typeof type && "boolean" !== typeof type && (element.type = type); if (null != value || null != defaultValue) { if ( !( ("submit" !== type && "reset" !== type) || (void 0 !== value && null !== value) ) ) { track(element); return; } defaultValue = null != defaultValue ? "" + getToStringValue(defaultValue) : ""; value = null != value ? "" + getToStringValue(value) : defaultValue; isHydrating || value === element.value || (element.value = value); element.defaultValue = value; } checked = null != checked ? checked : defaultChecked; checked = "function" !== typeof checked && "symbol" !== typeof checked && !!checked; element.checked = isHydrating ? element.checked : !!checked; element.defaultChecked = !!checked; null != name && "function" !== typeof name && "symbol" !== typeof name && "boolean" !== typeof name && (element.name = name); track(element); } function setDefaultValue(node, type, value) { ("number" === type && getActiveElement(node.ownerDocument) === node) || node.defaultValue === "" + value || (node.defaultValue = "" + value); } function updateOptions(node, multiple, propValue, setDefaultSelected) { node = node.options; if (multiple) { multiple = {}; for (var i = 0; i < propValue.length; i++) multiple["$" + propValue[i]] = !0; for (propValue = 0; propValue < node.length; propValue++) (i = multiple.hasOwnProperty("$" + node[propValue].value)), node[propValue].selected !== i && (node[propValue].selected = i), i && setDefaultSelected && (node[propValue].defaultSelected = !0); } else { propValue = "" + getToStringValue(propValue); multiple = null; for (i = 0; i < node.length; i++) { if (node[i].value === propValue) { node[i].selected = !0; setDefaultSelected && (node[i].defaultSelected = !0); return; } null !== multiple || node[i].disabled || (multiple = node[i]); } null !== multiple && (multiple.selected = !0); } } function updateTextarea(element, value, defaultValue) { if ( null != value && ((value = "" + getToStringValue(value)), value !== element.value && (element.value = value), null == defaultValue) ) { element.defaultValue !== value && (element.defaultValue = value); return; } element.defaultValue = null != defaultValue ? "" + getToStringValue(defaultValue) : ""; } function initTextarea(element, value, defaultValue, children) { if (null == value) { if (null != children) { if (null != defaultValue) throw Error(formatProdErrorMessage(92)); if (isArrayImpl(children)) { if (1 < children.length) throw Error(formatProdErrorMessage(93)); children = children[0]; } defaultValue = children; } null == defaultValue && (defaultValue = ""); value = defaultValue; } defaultValue = getToStringValue(value); element.defaultValue = defaultValue; children = element.textContent; children === defaultValue && "" !== children && null !== children && (element.value = children); track(element); } function setTextContent(node, text) { if (text) { var firstChild = node.firstChild; if ( firstChild && firstChild === node.lastChild && 3 === firstChild.nodeType ) { firstChild.nodeValue = text; return; } } node.textContent = text; } var unitlessNumbers = new Set( "animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split( " " ) ); function setValueForStyle(style, styleName, value) { var isCustomProperty = 0 === styleName.indexOf("--"); null == value || "boolean" === typeof value || "" === value ? isCustomProperty ? style.setProperty(styleName, "") : "float" === styleName ? (style.cssFloat = "") : (style[styleName] = "") : isCustomProperty ? style.setProperty(styleName, value) : "number" !== typeof value || 0 === value || unitlessNumbers.has(styleName) ? "float" === styleName ? (style.cssFloat = value) : (style[styleName] = ("" + value).trim()) : (style[styleName] = value + "px"); } function setValueForStyles(node, styles, prevStyles) { if (null != styles && "object" !== typeof styles) throw Error(formatProdErrorMessage(62)); node = node.style; if (null != prevStyles) { for (var styleName in prevStyles) !prevStyles.hasOwnProperty(styleName) || (null != styles && styles.hasOwnProperty(styleName)) || (0 === styleName.indexOf("--") ? node.setProperty(styleName, "") : "float" === styleName ? (node.cssFloat = "") : (node[styleName] = "")); for (var styleName$16 in styles) (styleName = styles[styleName$16]), styles.hasOwnProperty(styleName$16) && prevStyles[styleName$16] !== styleName && setValueForStyle(node, styleName$16, styleName); } else for (var styleName$17 in styles) styles.hasOwnProperty(styleName$17) && setValueForStyle(node, styleName$17, styles[styleName$17]); } function isCustomElement(tagName) { if (-1 === tagName.indexOf("-")) return !1; switch (tagName) { case "annotation-xml": case "color-profile": case "font-face": case "font-face-src": case "font-face-uri": case "font-face-format": case "font-face-name": case "missing-glyph": return !1; default: return !0; } } var aliases = new Map([ ["acceptCharset", "accept-charset"], ["htmlFor", "for"], ["httpEquiv", "http-equiv"], ["crossOrigin", "crossorigin"], ["accentHeight", "accent-height"], ["alignmentBaseline", "alignment-baseline"], ["arabicForm", "arabic-form"], ["baselineShift", "baseline-shift"], ["capHeight", "cap-height"], ["clipPath", "clip-path"], ["clipRule", "clip-rule"], ["colorInterpolation", "color-interpolation"], ["colorInterpolationFilters", "color-interpolation-filters"], ["colorProfile", "color-profile"], ["colorRendering", "color-rendering"], ["dominantBaseline", "dominant-baseline"], ["enableBackground", "enable-background"], ["fillOpacity", "fill-opacity"], ["fillRule", "fill-rule"], ["floodColor", "flood-color"], ["floodOpacity", "flood-opacity"], ["fontFamily", "font-family"], ["fontSize", "font-size"], ["fontSizeAdjust", "font-size-adjust"], ["fontStretch", "font-stretch"], ["fontStyle", "font-style"], ["fontVariant", "font-variant"], ["fontWeight", "font-weight"], ["glyphName", "glyph-name"], ["glyphOrientationHorizontal", "glyph-orientation-horizontal"], ["glyphOrientationVertical", "glyph-orientation-vertical"], ["horizAdvX", "horiz-adv-x"], ["horizOriginX", "horiz-origin-x"], ["imageRendering", "image-rendering"], ["letterSpacing", "letter-spacing"], ["lightingColor", "lighting-color"], ["markerEnd", "marker-end"], ["markerMid", "marker-mid"], ["markerStart", "marker-start"], ["overlinePosition", "overline-position"], ["overlineThickness", "overline-thickness"], ["paintOrder", "paint-order"], ["panose-1", "panose-1"], ["pointerEvents", "pointer-events"], ["renderingIntent", "rendering-intent"], ["shapeRendering", "shape-rendering"], ["stopColor", "stop-color"], ["stopOpacity", "stop-opacity"], ["strikethroughPosition", "strikethrough-position"], ["strikethroughThickness", "strikethrough-thickness"], ["strokeDasharray", "stroke-dasharray"], ["strokeDashoffset", "stroke-dashoffset"], ["strokeLinecap", "stroke-linecap"], ["strokeLinejoin", "stroke-linejoin"], ["strokeMiterlimit", "stroke-miterlimit"], ["strokeOpacity", "stroke-opacity"], ["strokeWidth", "stroke-width"], ["textAnchor", "text-anchor"], ["textDecoration", "text-decoration"], ["textRendering", "text-rendering"], ["transformOrigin", "transform-origin"], ["underlinePosition", "underline-position"], ["underlineThickness", "underline-thickness"], ["unicodeBidi", "unicode-bidi"], ["unicodeRange", "unicode-range"], ["unitsPerEm", "units-per-em"], ["vAlphabetic", "v-alphabetic"], ["vHanging", "v-hanging"], ["vIdeographic", "v-ideographic"], ["vMathematical", "v-mathematical"], ["vectorEffect", "vector-effect"], ["vertAdvY", "vert-adv-y"], ["vertOriginX", "vert-origin-x"], ["vertOriginY", "vert-origin-y"], ["wordSpacing", "word-spacing"], ["writingMode", "writing-mode"], ["xmlnsXlink", "xmlns:xlink"], ["xHeight", "x-height"] ]), isJavaScriptProtocol = /^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i; function sanitizeURL(url) { return isJavaScriptProtocol.test("" + url) ? "javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')" : url; } function noop$1() {} var currentReplayingEvent = null; function getEventTarget(nativeEvent) { nativeEvent = nativeEvent.target || nativeEvent.srcElement || window; nativeEvent.correspondingUseElement && (nativeEvent = nativeEvent.correspondingUseElement); return 3 === nativeEvent.nodeType ? nativeEvent.parentNode : nativeEvent; } var restoreTarget = null, restoreQueue = null; function restoreStateOfTarget(target) { var internalInstance = getInstanceFromNode(target); if (internalInstance && (target = internalInstance.stateNode)) { var props = target[internalPropsKey] || null; a: switch (((target = internalInstance.stateNode), internalInstance.type)) { case "input": updateInput( target, props.value, props.defaultValue, props.defaultValue, props.checked, props.defaultChecked, props.type, props.name ); internalInstance = props.name; if ("radio" === props.type && null != internalInstance) { for (props = target; props.parentNode; ) props = props.parentNode; props = props.querySelectorAll( 'input[name="' + escapeSelectorAttributeValueInsideDoubleQuotes( "" + internalInstance ) + '"][type="radio"]' ); for ( internalInstance = 0; internalInstance < props.length; internalInstance++ ) { var otherNode = props[internalInstance]; if (otherNode !== target && otherNode.form === target.form) { var otherProps = otherNode[internalPropsKey] || null; if (!otherProps) throw Error(formatProdErrorMessage(90)); updateInput( otherNode, otherProps.value, otherProps.defaultValue, otherProps.defaultValue, otherProps.checked, otherProps.defaultChecked, otherProps.type, otherProps.name ); } } for ( internalInstance = 0; internalInstance < props.length; internalInstance++ ) (otherNode = props[internalInstance]), otherNode.form === target.form && updateValueIfChanged(otherNode); } break a; case "textarea": updateTextarea(target, props.value, props.defaultValue); break a; case "select": (internalInstance = props.value), null != internalInstance && updateOptions(target, !!props.multiple, internalInstance, !1); } } } var isInsideEventHandler = !1; function batchedUpdates$1(fn, a, b) { if (isInsideEventHandler) return fn(a, b); isInsideEventHandler = !0; try { var JSCompiler_inline_result = fn(a); return JSCompiler_inline_result; } finally { if ( ((isInsideEventHandler = !1), null !== restoreTarget || null !== restoreQueue) ) if ( (flushSyncWork$1(), restoreTarget && ((a = restoreTarget), (fn = restoreQueue), (restoreQueue = restoreTarget = null), restoreStateOfTarget(a), fn)) ) for (a = 0; a < fn.length; a++) restoreStateOfTarget(fn[a]); } } function getListener(inst, registrationName) { var stateNode = inst.stateNode; if (null === stateNode) return null; var props = stateNode[internalPropsKey] || null; if (null === props) return null; stateNode = props[registrationName]; a: switch (registrationName) { case "onClick": case "onClickCapture": case "onDoubleClick": case "onDoubleClickCapture": case "onMouseDown": case "onMouseDownCapture": case "onMouseMove": case "onMouseMoveCapture": case "onMouseUp": case "onMouseUpCapture": case "onMouseEnter": (props = !props.disabled) || ((inst = inst.type), (props = !( "button" === inst || "input" === inst || "select" === inst || "textarea" === inst ))); inst = !props; break a; default: inst = !1; } if (inst) return null; if (stateNode && "function" !== typeof stateNode) throw Error( formatProdErrorMessage(231, registrationName, typeof stateNode) ); return stateNode; } var canUseDOM = !( "undefined" === typeof window || "undefined" === typeof window.document || "undefined" === typeof window.document.createElement ), passiveBrowserEventsSupported = !1; if (canUseDOM) try { var options = {}; Object.defineProperty(options, "passive", { get: function () { passiveBrowserEventsSupported = !0; } }); window.addEventListener("test", options, options); window.removeEventListener("test", options, options); } catch (e) { passiveBrowserEventsSupported = !1; } var root = null, startText = null, fallbackText = null; function getData() { if (fallbackText) return fallbackText; var start, startValue = startText, startLength = startValue.length, end, endValue = "value" in root ? root.value : root.textContent, endLength = endValue.length; for ( start = 0; start < startLength && startValue[start] === endValue[start]; start++ ); var minEnd = startLength - start; for ( end = 1; end <= minEnd && startValue[startLength - end] === endValue[endLength - end]; end++ ); return (fallbackText = endValue.slice(start, 1 < end ? 1 - end : void 0)); } function getEventCharCode(nativeEvent) { var keyCode = nativeEvent.keyCode; "charCode" in nativeEvent ? ((nativeEvent = nativeEvent.charCode), 0 === nativeEvent && 13 === keyCode && (nativeEvent = 13)) : (nativeEvent = keyCode); 10 === nativeEvent && (nativeEvent = 13); return 32 <= nativeEvent || 13 === nativeEvent ? nativeEvent : 0; } function functionThatReturnsTrue() { return !0; } function functionThatReturnsFalse() { return !1; } function createSyntheticEvent(Interface) { function SyntheticBaseEvent( reactName, reactEventType, targetInst, nativeEvent, nativeEventTarget ) { this._reactName = reactName; this._targetInst = targetInst; this.type = reactEventType; this.nativeEvent = nativeEvent; this.target = nativeEventTarget; this.currentTarget = null; for (var propName in Interface) Interface.hasOwnProperty(propName) && ((reactName = Interface[propName]), (this[propName] = reactName ? reactName(nativeEvent) : nativeEvent[propName])); this.isDefaultPrevented = ( null != nativeEvent.defaultPrevented ? nativeEvent.defaultPrevented : !1 === nativeEvent.returnValue ) ? functionThatReturnsTrue : functionThatReturnsFalse; this.isPropagationStopped = functionThatReturnsFalse; return this; } assign(SyntheticBaseEvent.prototype, { preventDefault: function () { this.defaultPrevented = !0; var event = this.nativeEvent; event && (event.preventDefault ? event.preventDefault() : "unknown" !== typeof event.returnValue && (event.returnValue = !1), (this.isDefaultPrevented = functionThatReturnsTrue)); }, stopPropagation: function () { var event = this.nativeEvent; event && (event.stopPropagation ? event.stopPropagation() : "unknown" !== typeof event.cancelBubble && (event.cancelBubble = !0), (this.isPropagationStopped = functionThatReturnsTrue)); }, persist: function () {}, isPersistent: functionThatReturnsTrue }); return SyntheticBaseEvent; } var EventInterface = { eventPhase: 0, bubbles: 0, cancelable: 0, timeStamp: function (event) { return event.timeStamp || Date.now(); }, defaultPrevented: 0, isTrusted: 0 }, SyntheticEvent = createSyntheticEvent(EventInterface), UIEventInterface = assign({}, EventInterface, { view: 0, detail: 0 }), SyntheticUIEvent = createSyntheticEvent(UIEventInterface), lastMovementX, lastMovementY, lastMouseEvent, MouseEventInterface = assign({}, UIEventInterface, { screenX: 0, screenY: 0, clientX: 0, clientY: 0, pageX: 0, pageY: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, getModifierState: getEventModifierState, button: 0, buttons: 0, relatedTarget: function (event) { return void 0 === event.relatedTarget ? event.fromElement === event.srcElement ? event.toElement : event.fromElement : event.relatedTarget; }, movementX: function (event) { if ("movementX" in event) return event.movementX; event !== lastMouseEvent && (lastMouseEvent && "mousemove" === event.type ? ((lastMovementX = event.screenX - lastMouseEvent.screenX), (lastMovementY = event.screenY - lastMouseEvent.screenY)) : (lastMovementY = lastMovementX = 0), (lastMouseEvent = event)); return lastMovementX; }, movementY: function (event) { return "movementY" in event ? event.movementY : lastMovementY; } }), SyntheticMouseEvent = createSyntheticEvent(MouseEventInterface), DragEventInterface = assign({}, MouseEventInterface, { dataTransfer: 0 }), SyntheticDragEvent = createSyntheticEvent(DragEventInterface), FocusEventInterface = assign({}, UIEventInterface, { relatedTarget: 0 }), SyntheticFocusEvent = createSyntheticEvent(FocusEventInterface), AnimationEventInterface = assign({}, EventInterface, { animationName: 0, elapsedTime: 0, pseudoElement: 0 }), SyntheticAnimationEvent = createSyntheticEvent(AnimationEventInterface), ClipboardEventInterface = assign({}, EventInterface, { clipboardData: function (event) { return "clipboardData" in event ? event.clipboardData : window.clipboardData; } }), SyntheticClipboardEvent = createSyntheticEvent(ClipboardEventInterface), CompositionEventInterface = assign({}, EventInterface, { data: 0 }), SyntheticCompositionEvent = createSyntheticEvent(CompositionEventInterface), normalizeKey = { Esc: "Escape", Spacebar: " ", Left: "ArrowLeft", Up: "ArrowUp", Right: "ArrowRight", Down: "ArrowDown", Del: "Delete", Win: "OS", Menu: "ContextMenu", Apps: "ContextMenu", Scroll: "ScrollLock", MozPrintableKey: "Unidentified" }, translateToKey = { 8: "Backspace", 9: "Tab", 12: "Clear", 13: "Enter", 16: "Shift", 17: "Control", 18: "Alt", 19: "Pause", 20: "CapsLock", 27: "Escape", 32: " ", 33: "PageUp", 34: "PageDown", 35: "End", 36: "Home", 37: "ArrowLeft", 38: "ArrowUp", 39: "ArrowRight", 40: "ArrowDown", 45: "Insert", 46: "Delete", 112: "F1", 113: "F2", 114: "F3", 115: "F4", 116: "F5", 117: "F6", 118: "F7", 119: "F8", 120: "F9", 121: "F10", 122: "F11", 123: "F12", 144: "NumLock", 145: "ScrollLock", 224: "Meta" }, modifierKeyToProp = { Alt: "altKey", Control: "ctrlKey", Meta: "metaKey", Shift: "shiftKey" }; function modifierStateGetter(keyArg) { var nativeEvent = this.nativeEvent; return nativeEvent.getModifierState ? nativeEvent.getModifierState(keyArg) : (keyArg = modifierKeyToProp[keyArg]) ? !!nativeEvent[keyArg] : !1; } function getEventModifierState() { return modifierStateGetter; } var KeyboardEventInterface = assign({}, UIEventInterface, { key: function (nativeEvent) { if (nativeEvent.key) { var key = normalizeKey[nativeEvent.key] || nativeEvent.key; if ("Unidentified" !== key) return key; } return "keypress" === nativeEvent.type ? ((nativeEvent = getEventCharCode(nativeEvent)), 13 === nativeEvent ? "Enter" : String.fromCharCode(nativeEvent)) : "keydown" === nativeEvent.type || "keyup" === nativeEvent.type ? translateToKey[nativeEvent.keyCode] || "Unidentified" : ""; }, code: 0, location: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, repeat: 0, locale: 0, getModifierState: getEventModifierState, charCode: function (event) { return "keypress" === event.type ? getEventCharCode(event) : 0; }, keyCode: function (event) { return "keydown" === event.type || "keyup" === event.type ? event.keyCode : 0; }, which: function (event) { return "keypress" === event.type ? getEventCharCode(event) : "keydown" === event.type || "keyup" === event.type ? event.keyCode : 0; } }), SyntheticKeyboardEvent = createSyntheticEvent(KeyboardEventInterface), PointerEventInterface = assign({}, MouseEventInterface, { pointerId: 0, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 0, tiltY: 0, twist: 0, pointerType: 0, isPrimary: 0 }), SyntheticPointerEvent = createSyntheticEvent(PointerEventInterface), TouchEventInterface = assign({}, UIEventInterface, { touches: 0, targetTouches: 0, changedTouches: 0, altKey: 0, metaKey: 0, ctrlKey: 0, shiftKey: 0, getModifierState: getEventModifierState }), SyntheticTouchEvent = createSyntheticEvent(TouchEventInterface), TransitionEventInterface = assign({}, EventInterface, { propertyName: 0, elapsedTime: 0, pseudoElement: 0 }), SyntheticTransitionEvent = createSyntheticEvent(TransitionEventInterface), WheelEventInterface = assign({}, MouseEventInterface, { deltaX: function (event) { return "deltaX" in event ? event.deltaX : "wheelDeltaX" in event ? -event.wheelDeltaX : 0; }, deltaY: function (event) { return "deltaY" in event ? event.deltaY : "wheelDeltaY" in event ? -event.wheelDeltaY : "wheelDelta" in event ? -event.wheelDelta : 0; }, deltaZ: 0, deltaMode: 0 }), SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface), ToggleEventInterface = assign({}, EventInterface, { newState: 0, oldState: 0 }), SyntheticToggleEvent = createSyntheticEvent(ToggleEventInterface), END_KEYCODES = [9, 13, 27, 32], canUseCompositionEvent = canUseDOM && "CompositionEvent" in window, documentMode = null; canUseDOM && "documentMode" in document && (documentMode = document.documentMode); var canUseTextInputEvent = canUseDOM && "TextEvent" in window && !documentMode, useFallbackCompositionData = canUseDOM && (!canUseCompositionEvent || (documentMode && 8 < documentMode && 11 >= documentMode)), SPACEBAR_CHAR = String.fromCharCode(32), hasSpaceKeypress = !1; function isFallbackCompositionEnd(domEventName, nativeEvent) { switch (domEventName) { case "keyup": return -1 !== END_KEYCODES.indexOf(nativeEvent.keyCode); case "keydown": return 229 !== nativeEvent.keyCode; case "keypress": case "mousedown": case "focusout": return !0; default: return !1; } } function getDataFromCustomEvent(nativeEvent) { nativeEvent = nativeEvent.detail; return "object" === typeof nativeEvent && "data" in nativeEvent ? nativeEvent.data : null; } var isComposing = !1; function getNativeBeforeInputChars(domEventName, nativeEvent) { switch (domEventName) { case "compositionend": return getDataFromCustomEvent(nativeEvent); case "keypress": if (32 !== nativeEvent.which) return null; hasSpaceKeypress = !0; return SPACEBAR_CHAR; case "textInput": return ( (domEventName = nativeEvent.data), domEventName === SPACEBAR_CHAR && hasSpaceKeypress ? null : domEventName ); default: return null; } } function getFallbackBeforeInputChars(domEventName, nativeEvent) { if (isComposing) return "compositionend" === domEventName || (!canUseCompositionEvent && isFallbackCompositionEnd(domEventName, nativeEvent)) ? ((domEventName = getData()), (fallbackText = startText = root = null), (isComposing = !1), domEventName) : null; switch (domEventName) { case "paste": return null; case "keypress": if ( !(nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) || (nativeEvent.ctrlKey && nativeEvent.altKey) ) { if (nativeEvent.char && 1 < nativeEvent.char.length) return nativeEvent.char; if (nativeEvent.which) return String.fromCharCode(nativeEvent.which); } return null; case "compositionend": return useFallbackCompositionData && "ko" !== nativeEvent.locale ? null : nativeEvent.data; default: return null; } } var supportedInputTypes = { color: !0, date: !0, datetime: !0, "datetime-local": !0, email: !0, month: !0, number: !0, password: !0, range: !0, search: !0, tel: !0, text: !0, time: !0, url: !0, week: !0 }; function isTextInputElement(elem) { var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase(); return "input" === nodeName ? !!supportedInputTypes[elem.type] : "textarea" === nodeName ? !0 : !1; } function createAndAccumulateChangeEvent( dispatchQueue, inst, nativeEvent, target ) { restoreTarget ? restoreQueue ? restoreQueue.push(target) : (restoreQueue = [target]) : (restoreTarget = target); inst = accumulateTwoPhaseListeners(inst, "onChange"); 0 < inst.length && ((nativeEvent = new SyntheticEvent( "onChange", "change", null, nativeEvent, target )), dispatchQueue.push({ event: nativeEvent, listeners: inst })); } var activeElement$1 = null, activeElementInst$1 = null; function runEventInBatch(dispatchQueue) { processDispatchQueue(dispatchQueue, 0); } function getInstIfValueChanged(targetInst) { var targetNode = getNodeFromInstance(targetInst); if (updateValueIfChanged(targetNode)) return targetInst; } function getTargetInstForChangeEvent(domEventName, targetInst) { if ("change" === domEventName) return targetInst; } var isInputEventSupported = !1; if (canUseDOM) { var JSCompiler_inline_result$jscomp$284; if (canUseDOM) { var isSupported$jscomp$inline_427 = "oninput" in document; if (!isSupported$jscomp$inline_427) { var element$jscomp$inline_428 = document.createElement("div"); element$jscomp$inline_428.setAttribute("oninput", "return;"); isSupported$jscomp$inline_427 = "function" === typeof element$jscomp$inline_428.oninput; } JSCompiler_inline_result$jscomp$284 = isSupported$jscomp$inline_427; } else JSCompiler_inline_result$jscomp$284 = !1; isInputEventSupported = JSCompiler_inline_result$jscomp$284 && (!document.documentMode || 9 < document.documentMode); } function stopWatchingForValueChange() { activeElement$1 && (activeElement$1.detachEvent("onpropertychange", handlePropertyChange), (activeElementInst$1 = activeElement$1 = null)); } function handlePropertyChange(nativeEvent) { if ( "value" === nativeEvent.propertyName && getInstIfValueChanged(activeElementInst$1) ) { var dispatchQueue = []; createAndAccumulateChangeEvent( dispatchQueue, activeElementInst$1, nativeEvent, getEventTarget(nativeEvent) ); batchedUpdates$1(runEventInBatch, dispatchQueue); } } function handleEventsForInputEventPolyfill(domEventName, target, targetInst) { "focusin" === domEventName ? (stopWatchingForValueChange(), (activeElement$1 = target), (activeElementInst$1 = targetInst), activeElement$1.attachEvent("onpropertychange", handlePropertyChange)) : "focusout" === domEventName && stopWatchingForValueChange(); } function getTargetInstForInputEventPolyfill(domEventName) { if ( "selectionchange" === domEventName || "keyup" === domEventName || "keydown" === domEventName ) return getInstIfValueChanged(activeElementInst$1); } function getTargetInstForClickEvent(domEventName, targetInst) { if ("click" === domEventName) return getInstIfValueChanged(targetInst); } function getTargetInstForInputOrChangeEvent(domEventName, targetInst) { if ("input" === domEventName || "change" === domEventName) return getInstIfValueChanged(targetInst); } function is(x, y) { return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y); } var objectIs = "function" === typeof Object.is ? Object.is : is; function shallowEqual(objA, objB) { if (objectIs(objA, objB)) return !0; if ( "object" !== typeof objA || null === objA || "object" !== typeof objB || null === objB ) return !1; var keysA = Object.keys(objA), keysB = Object.keys(objB); if (keysA.length !== keysB.length) return !1; for (keysB = 0; keysB < keysA.length; keysB++) { var currentKey = keysA[keysB]; if ( !hasOwnProperty.call(objB, currentKey) || !objectIs(objA[currentKey], objB[currentKey]) ) return !1; } return !0; } function getLeafNode(node) { for (; node && node.firstChild; ) node = node.firstChild; return node; } function getNodeForCharacterOffset(root, offset) { var node = getLeafNode(root); root = 0; for (var nodeEnd; node; ) { if (3 === node.nodeType) { nodeEnd = root + node.textContent.length; if (root <= offset && nodeEnd >= offset) return { node: node, offset: offset - root }; root = nodeEnd; } a: { for (; node; ) { if (node.nextSibling) { node = node.nextSibling; break a; } node = node.parentNode; } node = void 0; } node = getLeafNode(node); } } function containsNode(outerNode, innerNode) { return outerNode && innerNode ? outerNode === innerNode ? !0 : outerNode && 3 === outerNode.nodeType ? !1 : innerNode && 3 === innerNode.nodeType ? containsNode(outerNode, innerNode.parentNode) : "contains" in outerNode ? outerNode.contains(innerNode) : outerNode.compareDocumentPosition ? !!(outerNode.compareDocumentPosition(innerNode) & 16) : !1 : !1; } function getActiveElementDeep(containerInfo) { containerInfo = null != containerInfo && null != containerInfo.ownerDocument && null != containerInfo.ownerDocument.defaultView ? containerInfo.ownerDocument.defaultView : window; for ( var element = getActiveElement(containerInfo.document); element instanceof containerInfo.HTMLIFrameElement; ) { try { var JSCompiler_inline_result = "string" === typeof element.contentWindow.location.href; } catch (err) { JSCompiler_inline_result = !1; } if (JSCompiler_inline_result) containerInfo = element.contentWindow; else break; element = getActiveElement(containerInfo.document); } return element; } function hasSelectionCapabilities(elem) { var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase(); return ( nodeName && (("input" === nodeName && ("text" === elem.type || "search" === elem.type || "tel" === elem.type || "url" === elem.type || "password" === elem.type)) || "textarea" === nodeName || "true" === elem.contentEditable) ); } var skipSelectionChangeEvent = canUseDOM && "documentMode" in document && 11 >= document.documentMode, activeElement = null, activeElementInst = null, lastSelection = null, mouseDown = !1; function constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget) { var doc = nativeEventTarget.window === nativeEventTarget ? nativeEventTarget.document : 9 === nativeEventTarget.nodeType ? nativeEventTarget : nativeEventTarget.ownerDocument; mouseDown || null == activeElement || activeElement !== getActiveElement(doc) || ((doc = activeElement), "selectionStart" in doc && hasSelectionCapabilities(doc) ? (doc = { start: doc.selectionStart, end: doc.selectionEnd }) : ((doc = ( (doc.ownerDocument && doc.ownerDocument.defaultView) || window ).getSelection()), (doc = { anchorNode: doc.anchorNode, anchorOffset: doc.anchorOffset, focusNode: doc.focusNode, focusOffset: doc.focusOffset })), (lastSelection && shallowEqual(lastSelection, doc)) || ((lastSelection = doc), (doc = accumulateTwoPhaseListeners(activeElementInst, "onSelect")), 0 < doc.length && ((nativeEvent = new SyntheticEvent( "onSelect", "select", null, nativeEvent, nativeEventTarget )), dispatchQueue.push({ event: nativeEvent, listeners: doc }), (nativeEvent.target = activeElement)))); } function makePrefixMap(styleProp, eventName) { var prefixes = {}; prefixes[styleProp.toLowerCase()] = eventName.toLowerCase(); prefixes["Webkit" + styleProp] = "webkit" + eventName; prefixes["Moz" + styleProp] = "moz" + eventName; return prefixes; } var vendorPrefixes = { animationend: makePrefixMap("Animation", "AnimationEnd"), animationiteration: makePrefixMap("Animation", "AnimationIteration"), animationstart: makePrefixMap("Animation", "AnimationStart"), transitionrun: makePrefixMap("Transition", "TransitionRun"), transitionstart: makePrefixMap("Transition", "TransitionStart"), transitioncancel: makePrefixMap("Transition", "TransitionCancel"), transitionend: makePrefixMap("Transition", "TransitionEnd") }, prefixedEventNames = {}, style = {}; canUseDOM && ((style = document.createElement("div").style), "AnimationEvent" in window || (delete vendorPrefixes.animationend.animation, delete vendorPrefixes.animationiteration.animation, delete vendorPrefixes.animationstart.animation), "TransitionEvent" in window || delete vendorPrefixes.transitionend.transition); function getVendorPrefixedEventName(eventName) { if (prefixedEventNames[eventName]) return prefixedEventNames[eventName]; if (!vendorPrefixes[eventName]) return eventName; var prefixMap = vendorPrefixes[eventName], styleProp; for (styleProp in prefixMap) if (prefixMap.hasOwnProperty(styleProp) && styleProp in style) return (prefixedEventNames[eventName] = prefixMap[styleProp]); return eventName; } var ANIMATION_END = getVendorPrefixedEventName("animationend"), ANIMATION_ITERATION = getVendorPrefixedEventName("animationiteration"), ANIMATION_START = getVendorPrefixedEventName("animationstart"), TRANSITION_RUN = getVendorPrefixedEventName("transitionrun"), TRANSITION_START = getVendorPrefixedEventName("transitionstart"), TRANSITION_CANCEL = getVendorPrefixedEventName("transitioncancel"), TRANSITION_END = getVendorPrefixedEventName("transitionend"), topLevelEventsToReactNames = new Map(), simpleEventPluginEvents = "abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split( " " ); simpleEventPluginEvents.push("scrollEnd"); function registerSimpleEvent(domEventName, reactName) { topLevelEventsToReactNames.set(domEventName, reactName); registerTwoPhaseEvent(reactName, [domEventName]); } var reportGlobalError = "function" === typeof reportError ? reportError : function (error) { if ( "object" === typeof window && "function" === typeof window.ErrorEvent ) { var event = new window.ErrorEvent("error", { bubbles: !0, cancelable: !0, message: "object" === typeof error && null !== error && "string" === typeof error.message ? String(error.message) : String(error), error: error }); if (!window.dispatchEvent(event)) return; } else if ( "object" === typeof process && "function" === typeof process.emit ) { process.emit("uncaughtException", error); return; } console.error(error); }, concurrentQueues = [], concurrentQueuesIndex = 0, concurrentlyUpdatedLanes = 0; function finishQueueingConcurrentUpdates() { for ( var endIndex = concurrentQueuesIndex, i = (concurrentlyUpdatedLanes = concurrentQueuesIndex = 0); i < endIndex; ) { var fiber = concurrentQueues[i]; concurrentQueues[i++] = null; var queue = concurrentQueues[i]; concurrentQueues[i++] = null; var update = concurrentQueues[i]; concurrentQueues[i++] = null; var lane = concurrentQueues[i]; concurrentQueues[i++] = null; if (null !== queue && null !== update) { var pending = queue.pending; null === pending ? (update.next = update) : ((update.next = pending.next), (pending.next = update)); queue.pending = update; } 0 !== lane && markUpdateLaneFromFiberToRoot(fiber, update, lane); } } function enqueueUpdate$1(fiber, queue, update, lane) { concurrentQueues[concurrentQueuesIndex++] = fiber; concurrentQueues[concurrentQueuesIndex++] = queue; concurrentQueues[concurrentQueuesIndex++] = update; concurrentQueues[concurrentQueuesIndex++] = lane; concurrentlyUpdatedLanes |= lane; fiber.lanes |= lane; fiber = fiber.alternate; null !== fiber && (fiber.lanes |= lane); } function enqueueConcurrentHookUpdate(fiber, queue, update, lane) { enqueueUpdate$1(fiber, queue, update, lane); return getRootForUpdatedFiber(fiber); } function enqueueConcurrentRenderForLane(fiber, lane) { enqueueUpdate$1(fiber, null, null, lane); return getRootForUpdatedFiber(fiber); } function markUpdateLaneFromFiberToRoot(sourceFiber, update, lane) { sourceFiber.lanes |= lane; var alternate = sourceFiber.alternate; null !== alternate && (alternate.lanes |= lane); for (var isHidden = !1, parent = sourceFiber.return; null !== parent; ) (parent.childLanes |= lane), (alternate = parent.alternate), null !== alternate && (alternate.childLanes |= lane), 22 === parent.tag && ((sourceFiber = parent.stateNode), null === sourceFiber || sourceFiber._visibility & 1 || (isHidden = !0)), (sourceFiber = parent), (parent = parent.return); return 3 === sourceFiber.tag ? ((parent = sourceFiber.stateNode), isHidden && null !== update && ((isHidden = 31 - clz32(lane)), (sourceFiber = parent.hiddenUpdates), (alternate = sourceFiber[isHidden]), null === alternate ? (sourceFiber[isHidden] = [update]) : alternate.push(update), (update.lane = lane | 536870912)), parent) : null; } function getRootForUpdatedFiber(sourceFiber) { if (50 < nestedUpdateCount) throw ( ((nestedUpdateCount = 0), (rootWithNestedUpdates = null), Error(formatProdErrorMessage(185))) ); for (var parent = sourceFiber.return; null !== parent; ) (sourceFiber = parent), (parent = sourceFiber.return); return 3 === sourceFiber.tag ? sourceFiber.stateNode : null; } var emptyContextObject = {}; function FiberNode(tag, pendingProps, key, mode) { this.tag = tag; this.key = key; this.sibling = this.child = this.return = this.stateNode = this.type = this.elementType = null; this.index = 0; this.refCleanup = this.ref = null; this.pendingProps = pendingProps; this.dependencies = this.memoizedState = this.updateQueue = this.memoizedProps = null; this.mode = mode; this.subtreeFlags = this.flags = 0; this.deletions = null; this.childLanes = this.lanes = 0; this.alternate = null; } function createFiberImplClass(tag, pendingProps, key, mode) { return new FiberNode(tag, pendingProps, key, mode); } function shouldConstruct(Component) { Component = Component.prototype; return !(!Component || !Component.isReactComponent); } function createWorkInProgress(current, pendingProps) { var workInProgress = current.alternate; null === workInProgress ? ((workInProgress = createFiberImplClass( current.tag, pendingProps, current.key, current.mode )), (workInProgress.elementType = current.elementType), (workInProgress.type = current.type), (workInProgress.stateNode = current.stateNode), (workInProgress.alternate = current), (current.alternate = workInProgress)) : ((workInProgress.pendingProps = pendingProps), (workInProgress.type = current.type), (workInProgress.flags = 0), (workInProgress.subtreeFlags = 0), (workInProgress.deletions = null)); workInProgress.flags = current.flags & 65011712; workInProgress.childLanes = current.childLanes; workInProgress.lanes = current.lanes; workInProgress.child = current.child; workInProgress.memoizedProps = current.memoizedProps; workInProgress.memoizedState = current.memoizedState; workInProgress.updateQueue = current.updateQueue; pendingProps = current.dependencies; workInProgress.dependencies = null === pendingProps ? null : { lanes: pendingProps.lanes, firstContext: pendingProps.firstContext }; workInProgress.sibling = current.sibling; workInProgress.index = current.index; workInProgress.ref = current.ref; workInProgress.refCleanup = current.refCleanup; return workInProgress; } function resetWorkInProgress(workInProgress, renderLanes) { workInProgress.flags &= 65011714; var current = workInProgress.alternate; null === current ? ((workInProgress.childLanes = 0), (workInProgress.lanes = renderLanes), (workInProgress.child = null), (workInProgress.subtreeFlags = 0), (workInProgress.memoizedProps = null), (workInProgress.memoizedState = null), (workInProgress.updateQueue = null), (workInProgress.dependencies = null), (workInProgress.stateNode = null)) : ((workInProgress.childLanes = current.childLanes), (workInProgress.lanes = current.lanes), (workInProgress.child = current.child), (workInProgress.subtreeFlags = 0), (workInProgress.deletions = null), (workInProgress.memoizedProps = current.memoizedProps), (workInProgress.memoizedState = current.memoizedState), (workInProgress.updateQueue = current.updateQueue), (workInProgress.type = current.type), (renderLanes = current.dependencies), (workInProgress.dependencies = null === renderLanes ? null : { lanes: renderLanes.lanes, firstContext: renderLanes.firstContext })); return workInProgress; } function createFiberFromTypeAndProps( type, key, pendingProps, owner, mode, lanes ) { var fiberTag = 0; owner = type; if ("function" === typeof type) shouldConstruct(type) && (fiberTag = 1); else if ("string" === typeof type) fiberTag = isHostHoistableType( type, pendingProps, contextStackCursor.current ) ? 26 : "html" === type || "head" === type || "body" === type ? 27 : 5; else a: switch (type) { case REACT_ACTIVITY_TYPE: return ( (type = createFiberImplClass(31, pendingProps, key, mode)), (type.elementType = REACT_ACTIVITY_TYPE), (type.lanes = lanes), type ); case REACT_FRAGMENT_TYPE: return createFiberFromFragment(pendingProps.children, mode, lanes, key); case REACT_STRICT_MODE_TYPE: fiberTag = 8; mode |= 24; break; case REACT_PROFILER_TYPE: return ( (type = createFiberImplClass(12, pendingProps, key, mode | 2)), (type.elementType = REACT_PROFILER_TYPE), (type.lanes = lanes), type ); case REACT_SUSPENSE_TYPE: return ( (type = createFiberImplClass(13, pendingProps, key, mode)), (type.elementType = REACT_SUSPENSE_TYPE), (type.lanes = lanes), type ); case REACT_SUSPENSE_LIST_TYPE: return ( (type = createFiberImplClass(19, pendingProps, key, mode)), (type.elementType = REACT_SUSPENSE_LIST_TYPE), (type.lanes = lanes), type ); default: if ("object" === typeof type && null !== type) switch (type.$$typeof) { case REACT_CONTEXT_TYPE: fiberTag = 10; break a; case REACT_CONSUMER_TYPE: fiberTag = 9; break a; case REACT_FORWARD_REF_TYPE: fiberTag = 11; break a; case REACT_MEMO_TYPE: fiberTag = 14; break a; case REACT_LAZY_TYPE: fiberTag = 16; owner = null; break a; } fiberTag = 29; pendingProps = Error( formatProdErrorMessage(130, null === type ? "null" : typeof type, "") ); owner = null; } key = createFiberImplClass(fiberTag, pendingProps, key, mode); key.elementType = type; key.type = owner; key.lanes = lanes; return key; } function createFiberFromFragment(elements, mode, lanes, key) { elements = createFiberImplClass(7, elements, key, mode); elements.lanes = lanes; return elements; } function createFiberFromText(content, mode, lanes) { content = createFiberImplClass(6, content, null, mode); content.lanes = lanes; return content; } function createFiberFromDehydratedFragment(dehydratedNode) { var fiber = createFiberImplClass(18, null, null, 0); fiber.stateNode = dehydratedNode; return fiber; } function createFiberFromPortal(portal, mode, lanes) { mode = createFiberImplClass( 4, null !== portal.children ? portal.children : [], portal.key, mode ); mode.lanes = lanes; mode.stateNode = { containerInfo: portal.containerInfo, pendingChildren: null, implementation: portal.implementation }; return mode; } var CapturedStacks = new WeakMap(); function createCapturedValueAtFiber(value, source) { if ("object" === typeof value && null !== value) { var existing = CapturedStacks.get(value); if (void 0 !== existing) return existing; source = { value: value, source: source, stack: getStackByFiberInDevAndProd(source) }; CapturedStacks.set(value, source); return source; } return { value: value, source: source, stack: getStackByFiberInDevAndProd(source) }; } var forkStack = [], forkStackIndex = 0, treeForkProvider = null, treeForkCount = 0, idStack = [], idStackIndex = 0, treeContextProvider = null, treeContextId = 1, treeContextOverflow = ""; function pushTreeFork(workInProgress, totalChildren) { forkStack[forkStackIndex++] = treeForkCount; forkStack[forkStackIndex++] = treeForkProvider; treeForkProvider = workInProgress; treeForkCount = totalChildren; } function pushTreeId(workInProgress, totalChildren, index) { idStack[idStackIndex++] = treeContextId; idStack[idStackIndex++] = treeContextOverflow; idStack[idStackIndex++] = treeContextProvider; treeContextProvider = workInProgress; var baseIdWithLeadingBit = treeContextId; workInProgress = treeContextOverflow; var baseLength = 32 - clz32(baseIdWithLeadingBit) - 1; baseIdWithLeadingBit &= ~(1 << baseLength); index += 1; var length = 32 - clz32(totalChildren) + baseLength; if (30 < length) { var numberOfOverflowBits = baseLength - (baseLength % 5); length = ( baseIdWithLeadingBit & ((1 << numberOfOverflowBits) - 1) ).toString(32); baseIdWithLeadingBit >>= numberOfOverflowBits; baseLength -= numberOfOverflowBits; treeContextId = (1 << (32 - clz32(totalChildren) + baseLength)) | (index << baseLength) | baseIdWithLeadingBit; treeContextOverflow = length + workInProgress; } else (treeContextId = (1 << length) | (index << baseLength) | baseIdWithLeadingBit), (treeContextOverflow = workInProgress); } function pushMaterializedTreeId(workInProgress) { null !== workInProgress.return && (pushTreeFork(workInProgress, 1), pushTreeId(workInProgress, 1, 0)); } function popTreeContext(workInProgress) { for (; workInProgress === treeForkProvider; ) (treeForkProvider = forkStack[--forkStackIndex]), (forkStack[forkStackIndex] = null), (treeForkCount = forkStack[--forkStackIndex]), (forkStack[forkStackIndex] = null); for (; workInProgress === treeContextProvider; ) (treeContextProvider = idStack[--idStackIndex]), (idStack[idStackIndex] = null), (treeContextOverflow = idStack[--idStackIndex]), (idStack[idStackIndex] = null), (treeContextId = idStack[--idStackIndex]), (idStack[idStackIndex] = null); } function restoreSuspendedTreeContext(workInProgress, suspendedContext) { idStack[idStackIndex++] = treeContextId; idStack[idStackIndex++] = treeContextOverflow; idStack[idStackIndex++] = treeContextProvider; treeContextId = suspendedContext.id; treeContextOverflow = suspendedContext.overflow; treeContextProvider = workInProgress; } var hydrationParentFiber = null, nextHydratableInstance = null, isHydrating = !1, hydrationErrors = null, rootOrSingletonContext = !1, HydrationMismatchException = Error(formatProdErrorMessage(519)); function throwOnHydrationMismatch(fiber) { var error = Error( formatProdErrorMessage( 418, 1 < arguments.length && void 0 !== arguments[1] && arguments[1] ? "text" : "HTML", "" ) ); queueHydrationError(createCapturedValueAtFiber(error, fiber)); throw HydrationMismatchException; } function prepareToHydrateHostInstance(fiber) { var instance = fiber.stateNode, type = fiber.type, props = fiber.memoizedProps; instance[internalInstanceKey] = fiber; instance[internalPropsKey] = props; switch (type) { case "dialog": listenToNonDelegatedEvent("cancel", instance); listenToNonDelegatedEvent("close", instance); break; case "iframe": case "object": case "embed": listenToNonDelegatedEvent("load", instance); break; case "video": case "audio": for (type = 0; type < mediaEventTypes.length; type++) listenToNonDelegatedEvent(mediaEventTypes[type], instance); break; case "source": listenToNonDelegatedEvent("error", instance); break; case "img": case "image": case "link": listenToNonDelegatedEvent("error", instance); listenToNonDelegatedEvent("load", instance); break; case "details": listenToNonDelegatedEvent("toggle", instance); break; case "input": listenToNonDelegatedEvent("invalid", instance); initInput( instance, props.value, props.defaultValue, props.checked, props.defaultChecked, props.type, props.name, !0 ); break; case "select": listenToNonDelegatedEvent("invalid", instance); break; case "textarea": listenToNonDelegatedEvent("invalid", instance), initTextarea(instance, props.value, props.defaultValue, props.children); } type = props.children; ("string" !== typeof type && "number" !== typeof type && "bigint" !== typeof type) || instance.textContent === "" + type || !0 === props.suppressHydrationWarning || checkForUnmatchedText(instance.textContent, type) ? (null != props.popover && (listenToNonDelegatedEvent("beforetoggle", instance), listenToNonDelegatedEvent("toggle", instance)), null != props.onScroll && listenToNonDelegatedEvent("scroll", instance), null != props.onScrollEnd && listenToNonDelegatedEvent("scrollend", instance), null != props.onClick && (instance.onclick = noop$1), (instance = !0)) : (instance = !1); instance || throwOnHydrationMismatch(fiber, !0); } function popToNextHostParent(fiber) { for (hydrationParentFiber = fiber.return; hydrationParentFiber; ) switch (hydrationParentFiber.tag) { case 5: case 31: case 13: rootOrSingletonContext = !1; return; case 27: case 3: rootOrSingletonContext = !0; return; default: hydrationParentFiber = hydrationParentFiber.return; } } function popHydrationState(fiber) { if (fiber !== hydrationParentFiber) return !1; if (!isHydrating) return popToNextHostParent(fiber), (isHydrating = !0), !1; var tag = fiber.tag, JSCompiler_temp; if ((JSCompiler_temp = 3 !== tag && 27 !== tag)) { if ((JSCompiler_temp = 5 === tag)) (JSCompiler_temp = fiber.type), (JSCompiler_temp = !("form" !== JSCompiler_temp && "button" !== JSCompiler_temp) || shouldSetTextContent(fiber.type, fiber.memoizedProps)); JSCompiler_temp = !JSCompiler_temp; } JSCompiler_temp && nextHydratableInstance && throwOnHydrationMismatch(fiber); popToNextHostParent(fiber); if (13 === tag) { fiber = fiber.memoizedState; fiber = null !== fiber ? fiber.dehydrated : null; if (!fiber) throw Error(formatProdErrorMessage(317)); nextHydratableInstance = getNextHydratableInstanceAfterHydrationBoundary(fiber); } else if (31 === tag) { fiber = fiber.memoizedState; fiber = null !== fiber ? fiber.dehydrated : null; if (!fiber) throw Error(formatProdErrorMessage(317)); nextHydratableInstance = getNextHydratableInstanceAfterHydrationBoundary(fiber); } else 27 === tag ? ((tag = nextHydratableInstance), isSingletonScope(fiber.type) ? ((fiber = previousHydratableOnEnteringScopedSingleton), (previousHydratableOnEnteringScopedSingleton = null), (nextHydratableInstance = fiber)) : (nextHydratableInstance = tag)) : (nextHydratableInstance = hydrationParentFiber ? getNextHydratable(fiber.stateNode.nextSibling) : null); return !0; } function resetHydrationState() { nextHydratableInstance = hydrationParentFiber = null; isHydrating = !1; } function upgradeHydrationErrorsToRecoverable() { var queuedErrors = hydrationErrors; null !== queuedErrors && (null === workInProgressRootRecoverableErrors ? (workInProgressRootRecoverableErrors = queuedErrors) : workInProgressRootRecoverableErrors.push.apply( workInProgressRootRecoverableErrors, queuedErrors ), (hydrationErrors = null)); return queuedErrors; } function queueHydrationError(error) { null === hydrationErrors ? (hydrationErrors = [error]) : hydrationErrors.push(error); } var valueCursor = createCursor(null), currentlyRenderingFiber$1 = null, lastContextDependency = null; function pushProvider(providerFiber, context, nextValue) { push(valueCursor, context._currentValue); context._currentValue = nextValue; } function popProvider(context) { context._currentValue = valueCursor.current; pop(valueCursor); } function scheduleContextWorkOnParentPath(parent, renderLanes, propagationRoot) { for (; null !== parent; ) { var alternate = parent.alternate; (parent.childLanes & renderLanes) !== renderLanes ? ((parent.childLanes |= renderLanes), null !== alternate && (alternate.childLanes |= renderLanes)) : null !== alternate && (alternate.childLanes & renderLanes) !== renderLanes && (alternate.childLanes |= renderLanes); if (parent === propagationRoot) break; parent = parent.return; } } function propagateContextChanges( workInProgress, contexts, renderLanes, forcePropagateEntireTree ) { var fiber = workInProgress.child; null !== fiber && (fiber.return = workInProgress); for (; null !== fiber; ) { var list = fiber.dependencies; if (null !== list) { var nextFiber = fiber.child; list = list.firstContext; a: for (; null !== list; ) { var dependency = list; list = fiber; for (var i = 0; i < contexts.length; i++) if (dependency.context === contexts[i]) { list.lanes |= renderLanes; dependency = list.alternate; null !== dependency && (dependency.lanes |= renderLanes); scheduleContextWorkOnParentPath( list.return, renderLanes, workInProgress ); forcePropagateEntireTree || (nextFiber = null); break a; } list = dependency.next; } } else if (18 === fiber.tag) { nextFiber = fiber.return; if (null === nextFiber) throw Error(formatProdErrorMessage(341)); nextFiber.lanes |= renderLanes; list = nextFiber.alternate; null !== list && (list.lanes |= renderLanes); scheduleContextWorkOnParentPath(nextFiber, renderLanes, workInProgress); nextFiber = null; } else nextFiber = fiber.child; if (null !== nextFiber) nextFiber.return = fiber; else for (nextFiber = fiber; null !== nextFiber; ) { if (nextFiber === workInProgress) { nextFiber = null; break; } fiber = nextFiber.sibling; if (null !== fiber) { fiber.return = nextFiber.return; nextFiber = fiber; break; } nextFiber = nextFiber.return; } fiber = nextFiber; } } function propagateParentContextChanges( current, workInProgress, renderLanes, forcePropagateEntireTree ) { current = null; for ( var parent = workInProgress, isInsidePropagationBailout = !1; null !== parent; ) { if (!isInsidePropagationBailout) if (0 !== (parent.flags & 524288)) isInsidePropagationBailout = !0; else if (0 !== (parent.flags & 262144)) break; if (10 === parent.tag) { var currentParent = parent.alternate; if (null === currentParent) throw Error(formatProdErrorMessage(387)); currentParent = currentParent.memoizedProps; if (null !== currentParent) { var context = parent.type; objectIs(parent.pendingProps.value, currentParent.value) || (null !== current ? current.push(context) : (current = [context])); } } else if (parent === hostTransitionProviderCursor.current) { currentParent = parent.alternate; if (null === currentParent) throw Error(formatProdErrorMessage(387)); currentParent.memoizedState.memoizedState !== parent.memoizedState.memoizedState && (null !== current ? current.push(HostTransitionContext) : (current = [HostTransitionContext])); } parent = parent.return; } null !== current && propagateContextChanges( workInProgress, current, renderLanes, forcePropagateEntireTree ); workInProgress.flags |= 262144; } function checkIfContextChanged(currentDependencies) { for ( currentDependencies = currentDependencies.firstContext; null !== currentDependencies; ) { if ( !objectIs( currentDependencies.context._currentValue, currentDependencies.memoizedValue ) ) return !0; currentDependencies = currentDependencies.next; } return !1; } function prepareToReadContext(workInProgress) { currentlyRenderingFiber$1 = workInProgress; lastContextDependency = null; workInProgress = workInProgress.dependencies; null !== workInProgress && (workInProgress.firstContext = null); } function readContext(context) { return readContextForConsumer(currentlyRenderingFiber$1, context); } function readContextDuringReconciliation(consumer, context) { null === currentlyRenderingFiber$1 && prepareToReadContext(consumer); return readContextForConsumer(consumer, context); } function readContextForConsumer(consumer, context) { var value = context._currentValue; context = { context: context, memoizedValue: value, next: null }; if (null === lastContextDependency) { if (null === consumer) throw Error(formatProdErrorMessage(308)); lastContextDependency = context; consumer.dependencies = { lanes: 0, firstContext: context }; consumer.flags |= 524288; } else lastContextDependency = lastContextDependency.next = context; return value; } var AbortControllerLocal = "undefined" !== typeof AbortController ? AbortController : function () { var listeners = [], signal = (this.signal = { aborted: !1, addEventListener: function (type, listener) { listeners.push(listener); } }); this.abort = function () { signal.aborted = !0; listeners.forEach(function (listener) { return listener(); }); }; }, scheduleCallback$2 = Scheduler.unstable_scheduleCallback, NormalPriority = Scheduler.unstable_NormalPriority, CacheContext = { $$typeof: REACT_CONTEXT_TYPE, Consumer: null, Provider: null, _currentValue: null, _currentValue2: null, _threadCount: 0 }; function createCache() { return { controller: new AbortControllerLocal(), data: new Map(), refCount: 0 }; } function releaseCache(cache) { cache.refCount--; 0 === cache.refCount && scheduleCallback$2(NormalPriority, function () { cache.controller.abort(); }); } var currentEntangledListeners = null, currentEntangledPendingCount = 0, currentEntangledLane = 0, currentEntangledActionThenable = null; function entangleAsyncAction(transition, thenable) { if (null === currentEntangledListeners) { var entangledListeners = (currentEntangledListeners = []); currentEntangledPendingCount = 0; currentEntangledLane = requestTransitionLane(); currentEntangledActionThenable = { status: "pending", value: void 0, then: function (resolve) { entangledListeners.push(resolve); } }; } currentEntangledPendingCount++; thenable.then(pingEngtangledActionScope, pingEngtangledActionScope); return thenable; } function pingEngtangledActionScope() { if ( 0 === --currentEntangledPendingCount && null !== currentEntangledListeners ) { null !== currentEntangledActionThenable && (currentEntangledActionThenable.status = "fulfilled"); var listeners = currentEntangledListeners; currentEntangledListeners = null; currentEntangledLane = 0; currentEntangledActionThenable = null; for (var i = 0; i < listeners.length; i++) (0, listeners[i])(); } } function chainThenableValue(thenable, result) { var listeners = [], thenableWithOverride = { status: "pending", value: null, reason: null, then: function (resolve) { listeners.push(resolve); } }; thenable.then( function () { thenableWithOverride.status = "fulfilled"; thenableWithOverride.value = result; for (var i = 0; i < listeners.length; i++) (0, listeners[i])(result); }, function (error) { thenableWithOverride.status = "rejected"; thenableWithOverride.reason = error; for (error = 0; error < listeners.length; error++) (0, listeners[error])(void 0); } ); return thenableWithOverride; } var prevOnStartTransitionFinish = ReactSharedInternals.S; ReactSharedInternals.S = function (transition, returnValue) { "object" === typeof returnValue && null !== returnValue && "function" === typeof returnValue.then && entangleAsyncAction(transition, returnValue); null !== prevOnStartTransitionFinish && prevOnStartTransitionFinish(transition, returnValue); }; var resumedCache = createCursor(null); function peekCacheFromPool() { var cacheResumedFromPreviousRender = resumedCache.current; return null !== cacheResumedFromPreviousRender ? cacheResumedFromPreviousRender : workInProgressRoot.pooledCache; } function pushTransition(offscreenWorkInProgress, prevCachePool) { null === prevCachePool ? push(resumedCache, resumedCache.current) : push(resumedCache, prevCachePool.pool); } function getSuspendedCache() { var cacheFromPool = peekCacheFromPool(); return null === cacheFromPool ? null : { parent: CacheContext._currentValue, pool: cacheFromPool }; } var SuspenseException = Error(formatProdErrorMessage(460)), SuspenseyCommitException = Error(formatProdErrorMessage(474)), SuspenseActionException = Error(formatProdErrorMessage(542)), noopSuspenseyCommitThenable = { then: function () {} }; function isThenableResolved(thenable) { thenable = thenable.status; return "fulfilled" === thenable || "rejected" === thenable; } function trackUsedThenable(thenableState, thenable, index) { index = thenableState[index]; void 0 === index ? thenableState.push(thenable) : index !== thenable && (thenable.then(noop$1, noop$1), (thenable = index)); switch (thenable.status) { case "fulfilled": return thenable.value; case "rejected": throw ( ((thenableState = thenable.reason), checkIfUseWrappedInAsyncCatch(thenableState), thenableState) ); default: if ("string" === typeof thenable.status) thenable.then(noop$1, noop$1); else { thenableState = workInProgressRoot; if (null !== thenableState && 100 < thenableState.shellSuspendCounter) throw Error(formatProdErrorMessage(482)); thenableState = thenable; thenableState.status = "pending"; thenableState.then( function (fulfilledValue) { if ("pending" === thenable.status) { var fulfilledThenable = thenable; fulfilledThenable.status = "fulfilled"; fulfilledThenable.value = fulfilledValue; } }, function (error) { if ("pending" === thenable.status) { var rejectedThenable = thenable; rejectedThenable.status = "rejected"; rejectedThenable.reason = error; } } ); } switch (thenable.status) { case "fulfilled": return thenable.value; case "rejected": throw ( ((thenableState = thenable.reason), checkIfUseWrappedInAsyncCatch(thenableState), thenableState) ); } suspendedThenable = thenable; throw SuspenseException; } } function resolveLazy(lazyType) { try { var init = lazyType._init; return init(lazyType._payload); } catch (x) { if (null !== x && "object" === typeof x && "function" === typeof x.then) throw ((suspendedThenable = x), SuspenseException); throw x; } } var suspendedThenable = null; function getSuspendedThenable() { if (null === suspendedThenable) throw Error(formatProdErrorMessage(459)); var thenable = suspendedThenable; suspendedThenable = null; return thenable; } function checkIfUseWrappedInAsyncCatch(rejectedReason) { if ( rejectedReason === SuspenseException || rejectedReason === SuspenseActionException ) throw Error(formatProdErrorMessage(483)); } var thenableState$1 = null, thenableIndexCounter$1 = 0; function unwrapThenable(thenable) { var index = thenableIndexCounter$1; thenableIndexCounter$1 += 1; null === thenableState$1 && (thenableState$1 = []); return trackUsedThenable(thenableState$1, thenable, index); } function coerceRef(workInProgress, element) { element = element.props.ref; workInProgress.ref = void 0 !== element ? element : null; } function throwOnInvalidObjectType(returnFiber, newChild) { if (newChild.$$typeof === REACT_LEGACY_ELEMENT_TYPE) throw Error(formatProdErrorMessage(525)); returnFiber = Object.prototype.toString.call(newChild); throw Error( formatProdErrorMessage( 31, "[object Object]" === returnFiber ? "object with keys {" + Object.keys(newChild).join(", ") + "}" : returnFiber ) ); } function createChildReconciler(shouldTrackSideEffects) { function deleteChild(returnFiber, childToDelete) { if (shouldTrackSideEffects) { var deletions = returnFiber.deletions; null === deletions ? ((returnFiber.deletions = [childToDelete]), (returnFiber.flags |= 16)) : deletions.push(childToDelete); } } function deleteRemainingChildren(returnFiber, currentFirstChild) { if (!shouldTrackSideEffects) return null; for (; null !== currentFirstChild; ) deleteChild(returnFiber, currentFirstChild), (currentFirstChild = currentFirstChild.sibling); return null; } function mapRemainingChildren(currentFirstChild) { for (var existingChildren = new Map(); null !== currentFirstChild; ) null !== currentFirstChild.key ? existingChildren.set(currentFirstChild.key, currentFirstChild) : existingChildren.set(currentFirstChild.index, currentFirstChild), (currentFirstChild = currentFirstChild.sibling); return existingChildren; } function useFiber(fiber, pendingProps) { fiber = createWorkInProgress(fiber, pendingProps); fiber.index = 0; fiber.sibling = null; return fiber; } function placeChild(newFiber, lastPlacedIndex, newIndex) { newFiber.index = newIndex; if (!shouldTrackSideEffects) return (newFiber.flags |= 1048576), lastPlacedIndex; newIndex = newFiber.alternate; if (null !== newIndex) return ( (newIndex = newIndex.index), newIndex < lastPlacedIndex ? ((newFiber.flags |= 67108866), lastPlacedIndex) : newIndex ); newFiber.flags |= 67108866; return lastPlacedIndex; } function placeSingleChild(newFiber) { shouldTrackSideEffects && null === newFiber.alternate && (newFiber.flags |= 67108866); return newFiber; } function updateTextNode(returnFiber, current, textContent, lanes) { if (null === current || 6 !== current.tag) return ( (current = createFiberFromText(textContent, returnFiber.mode, lanes)), (current.return = returnFiber), current ); current = useFiber(current, textContent); current.return = returnFiber; return current; } function updateElement(returnFiber, current, element, lanes) { var elementType = element.type; if (elementType === REACT_FRAGMENT_TYPE) return updateFragment( returnFiber, current, element.props.children, lanes, element.key ); if ( null !== current && (current.elementType === elementType || ("object" === typeof elementType && null !== elementType && elementType.$$typeof === REACT_LAZY_TYPE && resolveLazy(elementType) === current.type)) ) return ( (current = useFiber(current, element.props)), coerceRef(current, element), (current.return = returnFiber), current ); current = createFiberFromTypeAndProps( element.type, element.key, element.props, null, returnFiber.mode, lanes ); coerceRef(current, element); current.return = returnFiber; return current; } function updatePortal(returnFiber, current, portal, lanes) { if ( null === current || 4 !== current.tag || current.stateNode.containerInfo !== portal.containerInfo || current.stateNode.implementation !== portal.implementation ) return ( (current = createFiberFromPortal(portal, returnFiber.mode, lanes)), (current.return = returnFiber), current ); current = useFiber(current, portal.children || []); current.return = returnFiber; return current; } function updateFragment(returnFiber, current, fragment, lanes, key) { if (null === current || 7 !== current.tag) return ( (current = createFiberFromFragment( fragment, returnFiber.mode, lanes, key )), (current.return = returnFiber), current ); current = useFiber(current, fragment); current.return = returnFiber; return current; } function createChild(returnFiber, newChild, lanes) { if ( ("string" === typeof newChild && "" !== newChild) || "number" === typeof newChild || "bigint" === typeof newChild ) return ( (newChild = createFiberFromText( "" + newChild, returnFiber.mode, lanes )), (newChild.return = returnFiber), newChild ); if ("object" === typeof newChild && null !== newChild) { switch (newChild.$$typeof) { case REACT_ELEMENT_TYPE: return ( (lanes = createFiberFromTypeAndProps( newChild.type, newChild.key, newChild.props, null, returnFiber.mode, lanes )), coerceRef(lanes, newChild), (lanes.return = returnFiber), lanes ); case REACT_PORTAL_TYPE: return ( (newChild = createFiberFromPortal( newChild, returnFiber.mode, lanes )), (newChild.return = returnFiber), newChild ); case REACT_LAZY_TYPE: return ( (newChild = resolveLazy(newChild)), createChild(returnFiber, newChild, lanes) ); } if (isArrayImpl(newChild) || getIteratorFn(newChild)) return ( (newChild = createFiberFromFragment( newChild, returnFiber.mode, lanes, null )), (newChild.return = returnFiber), newChild ); if ("function" === typeof newChild.then) return createChild(returnFiber, unwrapThenable(newChild), lanes); if (newChild.$$typeof === REACT_CONTEXT_TYPE) return createChild( returnFiber, readContextDuringReconciliation(returnFiber, newChild), lanes ); throwOnInvalidObjectType(returnFiber, newChild); } return null; } function updateSlot(returnFiber, oldFiber, newChild, lanes) { var key = null !== oldFiber ? oldFiber.key : null; if ( ("string" === typeof newChild && "" !== newChild) || "number" === typeof newChild || "bigint" === typeof newChild ) return null !== key ? null : updateTextNode(returnFiber, oldFiber, "" + newChild, lanes); if ("object" === typeof newChild && null !== newChild) { switch (newChild.$$typeof) { case REACT_ELEMENT_TYPE: return newChild.key === key ? updateElement(returnFiber, oldFiber, newChild, lanes) : null; case REACT_PORTAL_TYPE: return newChild.key === key ? updatePortal(returnFiber, oldFiber, newChild, lanes) : null; case REACT_LAZY_TYPE: return ( (newChild = resolveLazy(newChild)), updateSlot(returnFiber, oldFiber, newChild, lanes) ); } if (isArrayImpl(newChild) || getIteratorFn(newChild)) return null !== key ? null : updateFragment(returnFiber, oldFiber, newChild, lanes, null); if ("function" === typeof newChild.then) return updateSlot( returnFiber, oldFiber, unwrapThenable(newChild), lanes ); if (newChild.$$typeof === REACT_CONTEXT_TYPE) return updateSlot( returnFiber, oldFiber, readContextDuringReconciliation(returnFiber, newChild), lanes ); throwOnInvalidObjectType(returnFiber, newChild); } return null; } function updateFromMap( existingChildren, returnFiber, newIdx, newChild, lanes ) { if ( ("string" === typeof newChild && "" !== newChild) || "number" === typeof newChild || "bigint" === typeof newChild ) return ( (existingChildren = existingChildren.get(newIdx) || null), updateTextNode(returnFiber, existingChildren, "" + newChild, lanes) ); if ("object" === typeof newChild && null !== newChild) { switch (newChild.$$typeof) { case REACT_ELEMENT_TYPE: return ( (existingChildren = existingChildren.get( null === newChild.key ? newIdx : newChild.key ) || null), updateElement(returnFiber, existingChildren, newChild, lanes) ); case REACT_PORTAL_TYPE: return ( (existingChildren = existingChildren.get( null === newChild.key ? newIdx : newChild.key ) || null), updatePortal(returnFiber, existingChildren, newChild, lanes) ); case REACT_LAZY_TYPE: return ( (newChild = resolveLazy(newChild)), updateFromMap( existingChildren, returnFiber, newIdx, newChild, lanes ) ); } if (isArrayImpl(newChild) || getIteratorFn(newChild)) return ( (existingChildren = existingChildren.get(newIdx) || null), updateFragment(returnFiber, existingChildren, newChild, lanes, null) ); if ("function" === typeof newChild.then) return updateFromMap( existingChildren, returnFiber, newIdx, unwrapThenable(newChild), lanes ); if (newChild.$$typeof === REACT_CONTEXT_TYPE) return updateFromMap( existingChildren, returnFiber, newIdx, readContextDuringReconciliation(returnFiber, newChild), lanes ); throwOnInvalidObjectType(returnFiber, newChild); } return null; } function reconcileChildrenArray( returnFiber, currentFirstChild, newChildren, lanes ) { for ( var resultingFirstChild = null, previousNewFiber = null, oldFiber = currentFirstChild, newIdx = (currentFirstChild = 0), nextOldFiber = null; null !== oldFiber && newIdx < newChildren.length; newIdx++ ) { oldFiber.index > newIdx ? ((nextOldFiber = oldFiber), (oldFiber = null)) : (nextOldFiber = oldFiber.sibling); var newFiber = updateSlot( returnFiber, oldFiber, newChildren[newIdx], lanes ); if (null === newFiber) { null === oldFiber && (oldFiber = nextOldFiber); break; } shouldTrackSideEffects && oldFiber && null === newFiber.alternate && deleteChild(returnFiber, oldFiber); currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx); null === previousNewFiber ? (resultingFirstChild = newFiber) : (previousNewFiber.sibling = newFiber); previousNewFiber = newFiber; oldFiber = nextOldFiber; } if (newIdx === newChildren.length) return ( deleteRemainingChildren(returnFiber, oldFiber), isHydrating && pushTreeFork(returnFiber, newIdx), resultingFirstChild ); if (null === oldFiber) { for (; newIdx < newChildren.length; newIdx++) (oldFiber = createChild(returnFiber, newChildren[newIdx], lanes)), null !== oldFiber && ((currentFirstChild = placeChild( oldFiber, currentFirstChild, newIdx )), null === previousNewFiber ? (resultingFirstChild = oldFiber) : (previousNewFiber.sibling = oldFiber), (previousNewFiber = oldFiber)); isHydrating && pushTreeFork(returnFiber, newIdx); return resultingFirstChild; } for ( oldFiber = mapRemainingChildren(oldFiber); newIdx < newChildren.length; newIdx++ ) (nextOldFiber = updateFromMap( oldFiber, returnFiber, newIdx, newChildren[newIdx], lanes )), null !== nextOldFiber && (shouldTrackSideEffects && null !== nextOldFiber.alternate && oldFiber.delete( null === nextOldFiber.key ? newIdx : nextOldFiber.key ), (currentFirstChild = placeChild( nextOldFiber, currentFirstChild, newIdx )), null === previousNewFiber ? (resultingFirstChild = nextOldFiber) : (previousNewFiber.sibling = nextOldFiber), (previousNewFiber = nextOldFiber)); shouldTrackSideEffects && oldFiber.forEach(function (child) { return deleteChild(returnFiber, child); }); isHydrating && pushTreeFork(returnFiber, newIdx); return resultingFirstChild; } function reconcileChildrenIterator( returnFiber, currentFirstChild, newChildren, lanes ) { if (null == newChildren) throw Error(formatProdErrorMessage(151)); for ( var resultingFirstChild = null, previousNewFiber = null, oldFiber = currentFirstChild, newIdx = (currentFirstChild = 0), nextOldFiber = null, step = newChildren.next(); null !== oldFiber && !step.done; newIdx++, step = newChildren.next() ) { oldFiber.index > newIdx ? ((nextOldFiber = oldFiber), (oldFiber = null)) : (nextOldFiber = oldFiber.sibling); var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes); if (null === newFiber) { null === oldFiber && (oldFiber = nextOldFiber); break; } shouldTrackSideEffects && oldFiber && null === newFiber.alternate && deleteChild(returnFiber, oldFiber); currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx); null === previousNewFiber ? (resultingFirstChild = newFiber) : (previousNewFiber.sibling = newFiber); previousNewFiber = newFiber; oldFiber = nextOldFiber; } if (step.done) return ( deleteRemainingChildren(returnFiber, oldFiber), isHydrating && pushTreeFork(returnFiber, newIdx), resultingFirstChild ); if (null === oldFiber) { for (; !step.done; newIdx++, step = newChildren.next()) (step = createChild(returnFiber, step.value, lanes)), null !== step && ((currentFirstChild = placeChild(step, currentFirstChild, newIdx)), null === previousNewFiber ? (resultingFirstChild = step) : (previousNewFiber.sibling = step), (previousNewFiber = step)); isHydrating && pushTreeFork(returnFiber, newIdx); return resultingFirstChild; } for ( oldFiber = mapRemainingChildren(oldFiber); !step.done; newIdx++, step = newChildren.next() ) (step = updateFromMap(oldFiber, returnFiber, newIdx, step.value, lanes)), null !== step && (shouldTrackSideEffects && null !== step.alternate && oldFiber.delete(null === step.key ? newIdx : step.key), (currentFirstChild = placeChild(step, currentFirstChild, newIdx)), null === previousNewFiber ? (resultingFirstChild = step) : (previousNewFiber.sibling = step), (previousNewFiber = step)); shouldTrackSideEffects && oldFiber.forEach(function (child) { return deleteChild(returnFiber, child); }); isHydrating && pushTreeFork(returnFiber, newIdx); return resultingFirstChild; } function reconcileChildFibersImpl( returnFiber, currentFirstChild, newChild, lanes ) { "object" === typeof newChild && null !== newChild && newChild.type === REACT_FRAGMENT_TYPE && null === newChild.key && (newChild = newChild.props.children); if ("object" === typeof newChild && null !== newChild) { switch (newChild.$$typeof) { case REACT_ELEMENT_TYPE: a: { for (var key = newChild.key; null !== currentFirstChild; ) { if (currentFirstChild.key === key) { key = newChild.type; if (key === REACT_FRAGMENT_TYPE) { if (7 === currentFirstChild.tag) { deleteRemainingChildren( returnFiber, currentFirstChild.sibling ); lanes = useFiber( currentFirstChild, newChild.props.children ); lanes.return = returnFiber; returnFiber = lanes; break a; } } else if ( currentFirstChild.elementType === key || ("object" === typeof key && null !== key && key.$$typeof === REACT_LAZY_TYPE && resolveLazy(key) === currentFirstChild.type) ) { deleteRemainingChildren( returnFiber, currentFirstChild.sibling ); lanes = useFiber(currentFirstChild, newChild.props); coerceRef(lanes, newChild); lanes.return = returnFiber; returnFiber = lanes; break a; } deleteRemainingChildren(returnFiber, currentFirstChild); break; } else deleteChild(returnFiber, currentFirstChild); currentFirstChild = currentFirstChild.sibling; } newChild.type === REACT_FRAGMENT_TYPE ? ((lanes = createFiberFromFragment( newChild.props.children, returnFiber.mode, lanes, newChild.key )), (lanes.return = returnFiber), (returnFiber = lanes)) : ((lanes = createFiberFromTypeAndProps( newChild.type, newChild.key, newChild.props, null, returnFiber.mode, lanes )), coerceRef(lanes, newChild), (lanes.return = returnFiber), (returnFiber = lanes)); } return placeSingleChild(returnFiber); case REACT_PORTAL_TYPE: a: { for (key = newChild.key; null !== currentFirstChild; ) { if (currentFirstChild.key === key) if ( 4 === currentFirstChild.tag && currentFirstChild.stateNode.containerInfo === newChild.containerInfo && currentFirstChild.stateNode.implementation === newChild.implementation ) { deleteRemainingChildren( returnFiber, currentFirstChild.sibling ); lanes = useFiber(currentFirstChild, newChild.children || []); lanes.return = returnFiber; returnFiber = lanes; break a; } else { deleteRemainingChildren(returnFiber, currentFirstChild); break; } else deleteChild(returnFiber, currentFirstChild); currentFirstChild = currentFirstChild.sibling; } lanes = createFiberFromPortal(newChild, returnFiber.mode, lanes); lanes.return = returnFiber; returnFiber = lanes; } return placeSingleChild(returnFiber); case REACT_LAZY_TYPE: return ( (newChild = resolveLazy(newChild)), reconcileChildFibersImpl( returnFiber, currentFirstChild, newChild, lanes ) ); } if (isArrayImpl(newChild)) return reconcileChildrenArray( returnFiber, currentFirstChild, newChild, lanes ); if (getIteratorFn(newChild)) { key = getIteratorFn(newChild); if ("function" !== typeof key) throw Error(formatProdErrorMessage(150)); newChild = key.call(newChild); return reconcileChildrenIterator( returnFiber, currentFirstChild, newChild, lanes ); } if ("function" === typeof newChild.then) return reconcileChildFibersImpl( returnFiber, currentFirstChild, unwrapThenable(newChild), lanes ); if (newChild.$$typeof === REACT_CONTEXT_TYPE) return reconcileChildFibersImpl( returnFiber, currentFirstChild, readContextDuringReconciliation(returnFiber, newChild), lanes ); throwOnInvalidObjectType(returnFiber, newChild); } return ("string" === typeof newChild && "" !== newChild) || "number" === typeof newChild || "bigint" === typeof newChild ? ((newChild = "" + newChild), null !== currentFirstChild && 6 === currentFirstChild.tag ? (deleteRemainingChildren(returnFiber, currentFirstChild.sibling), (lanes = useFiber(currentFirstChild, newChild)), (lanes.return = returnFiber), (returnFiber = lanes)) : (deleteRemainingChildren(returnFiber, currentFirstChild), (lanes = createFiberFromText(newChild, returnFiber.mode, lanes)), (lanes.return = returnFiber), (returnFiber = lanes)), placeSingleChild(returnFiber)) : deleteRemainingChildren(returnFiber, currentFirstChild); } return function (returnFiber, currentFirstChild, newChild, lanes) { try { thenableIndexCounter$1 = 0; var firstChildFiber = reconcileChildFibersImpl( returnFiber, currentFirstChild, newChild, lanes ); thenableState$1 = null; return firstChildFiber; } catch (x) { if (x === SuspenseException || x === SuspenseActionException) throw x; var fiber = createFiberImplClass(29, x, null, returnFiber.mode); fiber.lanes = lanes; fiber.return = returnFiber; return fiber; } finally { } }; } var reconcileChildFibers = createChildReconciler(!0), mountChildFibers = createChildReconciler(!1), hasForceUpdate = !1; function initializeUpdateQueue(fiber) { fiber.updateQueue = { baseState: fiber.memoizedState, firstBaseUpdate: null, lastBaseUpdate: null, shared: { pending: null, lanes: 0, hiddenCallbacks: null }, callbacks: null }; } function cloneUpdateQueue(current, workInProgress) { current = current.updateQueue; workInProgress.updateQueue === current && (workInProgress.updateQueue = { baseState: current.baseState, firstBaseUpdate: current.firstBaseUpdate, lastBaseUpdate: current.lastBaseUpdate, shared: current.shared, callbacks: null }); } function createUpdate(lane) { return { lane: lane, tag: 0, payload: null, callback: null, next: null }; } function enqueueUpdate(fiber, update, lane) { var updateQueue = fiber.updateQueue; if (null === updateQueue) return null; updateQueue = updateQueue.shared; if (0 !== (executionContext & 2)) { var pending = updateQueue.pending; null === pending ? (update.next = update) : ((update.next = pending.next), (pending.next = update)); updateQueue.pending = update; update = getRootForUpdatedFiber(fiber); markUpdateLaneFromFiberToRoot(fiber, null, lane); return update; } enqueueUpdate$1(fiber, updateQueue, update, lane); return getRootForUpdatedFiber(fiber); } function entangleTransitions(root, fiber, lane) { fiber = fiber.updateQueue; if (null !== fiber && ((fiber = fiber.shared), 0 !== (lane & 4194048))) { var queueLanes = fiber.lanes; queueLanes &= root.pendingLanes; lane |= queueLanes; fiber.lanes = lane; markRootEntangled(root, lane); } } function enqueueCapturedUpdate(workInProgress, capturedUpdate) { var queue = workInProgress.updateQueue, current = workInProgress.alternate; if ( null !== current && ((current = current.updateQueue), queue === current) ) { var newFirst = null, newLast = null; queue = queue.firstBaseUpdate; if (null !== queue) { do { var clone = { lane: queue.lane, tag: queue.tag, payload: queue.payload, callback: null, next: null }; null === newLast ? (newFirst = newLast = clone) : (newLast = newLast.next = clone); queue = queue.next; } while (null !== queue); null === newLast ? (newFirst = newLast = capturedUpdate) : (newLast = newLast.next = capturedUpdate); } else newFirst = newLast = capturedUpdate; queue = { baseState: current.baseState, firstBaseUpdate: newFirst, lastBaseUpdate: newLast, shared: current.shared, callbacks: current.callbacks }; workInProgress.updateQueue = queue; return; } workInProgress = queue.lastBaseUpdate; null === workInProgress ? (queue.firstBaseUpdate = capturedUpdate) : (workInProgress.next = capturedUpdate); queue.lastBaseUpdate = capturedUpdate; } var didReadFromEntangledAsyncAction = !1; function suspendIfUpdateReadFromEntangledAsyncAction() { if (didReadFromEntangledAsyncAction) { var entangledActionThenable = currentEntangledActionThenable; if (null !== entangledActionThenable) throw entangledActionThenable; } } function processUpdateQueue( workInProgress$jscomp$0, props, instance$jscomp$0, renderLanes ) { didReadFromEntangledAsyncAction = !1; var queue = workInProgress$jscomp$0.updateQueue; hasForceUpdate = !1; var firstBaseUpdate = queue.firstBaseUpdate, lastBaseUpdate = queue.lastBaseUpdate, pendingQueue = queue.shared.pending; if (null !== pendingQueue) { queue.shared.pending = null; var lastPendingUpdate = pendingQueue, firstPendingUpdate = lastPendingUpdate.next; lastPendingUpdate.next = null; null === lastBaseUpdate ? (firstBaseUpdate = firstPendingUpdate) : (lastBaseUpdate.next = firstPendingUpdate); lastBaseUpdate = lastPendingUpdate; var current = workInProgress$jscomp$0.alternate; null !== current && ((current = current.updateQueue), (pendingQueue = current.lastBaseUpdate), pendingQueue !== lastBaseUpdate && (null === pendingQueue ? (current.firstBaseUpdate = firstPendingUpdate) : (pendingQueue.next = firstPendingUpdate), (current.lastBaseUpdate = lastPendingUpdate))); } if (null !== firstBaseUpdate) { var newState = queue.baseState; lastBaseUpdate = 0; current = firstPendingUpdate = lastPendingUpdate = null; pendingQueue = firstBaseUpdate; do { var updateLane = pendingQueue.lane & -536870913, isHiddenUpdate = updateLane !== pendingQueue.lane; if ( isHiddenUpdate ? (workInProgressRootRenderLanes & updateLane) === updateLane : (renderLanes & updateLane) === updateLane ) { 0 !== updateLane && updateLane === currentEntangledLane && (didReadFromEntangledAsyncAction = !0); null !== current && (current = current.next = { lane: 0, tag: pendingQueue.tag, payload: pendingQueue.payload, callback: null, next: null }); a: { var workInProgress = workInProgress$jscomp$0, update = pendingQueue; updateLane = props; var instance = instance$jscomp$0; switch (update.tag) { case 1: workInProgress = update.payload; if ("function" === typeof workInProgress) { newState = workInProgress.call(instance, newState, updateLane); break a; } newState = workInProgress; break a; case 3: workInProgress.flags = (workInProgress.flags & -65537) | 128; case 0: workInProgress = update.payload; updateLane = "function" === typeof workInProgress ? workInProgress.call(instance, newState, updateLane) : workInProgress; if (null === updateLane || void 0 === updateLane) break a; newState = assign({}, newState, updateLane); break a; case 2: hasForceUpdate = !0; } } updateLane = pendingQueue.callback; null !== updateLane && ((workInProgress$jscomp$0.flags |= 64), isHiddenUpdate && (workInProgress$jscomp$0.flags |= 8192), (isHiddenUpdate = queue.callbacks), null === isHiddenUpdate ? (queue.callbacks = [updateLane]) : isHiddenUpdate.push(updateLane)); } else (isHiddenUpdate = { lane: updateLane, tag: pendingQueue.tag, payload: pendingQueue.payload, callback: pendingQueue.callback, next: null }), null === current ? ((firstPendingUpdate = current = isHiddenUpdate), (lastPendingUpdate = newState)) : (current = current.next = isHiddenUpdate), (lastBaseUpdate |= updateLane); pendingQueue = pendingQueue.next; if (null === pendingQueue) if (((pendingQueue = queue.shared.pending), null === pendingQueue)) break; else (isHiddenUpdate = pendingQueue), (pendingQueue = isHiddenUpdate.next), (isHiddenUpdate.next = null), (queue.lastBaseUpdate = isHiddenUpdate), (queue.shared.pending = null); } while (1); null === current && (lastPendingUpdate = newState); queue.baseState = lastPendingUpdate; queue.firstBaseUpdate = firstPendingUpdate; queue.lastBaseUpdate = current; null === firstBaseUpdate && (queue.shared.lanes = 0); workInProgressRootSkippedLanes |= lastBaseUpdate; workInProgress$jscomp$0.lanes = lastBaseUpdate; workInProgress$jscomp$0.memoizedState = newState; } } function callCallback(callback, context) { if ("function" !== typeof callback) throw Error(formatProdErrorMessage(191, callback)); callback.call(context); } function commitCallbacks(updateQueue, context) { var callbacks = updateQueue.callbacks; if (null !== callbacks) for ( updateQueue.callbacks = null, updateQueue = 0; updateQueue < callbacks.length; updateQueue++ ) callCallback(callbacks[updateQueue], context); } var currentTreeHiddenStackCursor = createCursor(null), prevEntangledRenderLanesCursor = createCursor(0); function pushHiddenContext(fiber, context) { fiber = entangledRenderLanes; push(prevEntangledRenderLanesCursor, fiber); push(currentTreeHiddenStackCursor, context); entangledRenderLanes = fiber | context.baseLanes; } function reuseHiddenContextOnStack() { push(prevEntangledRenderLanesCursor, entangledRenderLanes); push(currentTreeHiddenStackCursor, currentTreeHiddenStackCursor.current); } function popHiddenContext() { entangledRenderLanes = prevEntangledRenderLanesCursor.current; pop(currentTreeHiddenStackCursor); pop(prevEntangledRenderLanesCursor); } var suspenseHandlerStackCursor = createCursor(null), shellBoundary = null; function pushPrimaryTreeSuspenseHandler(handler) { var current = handler.alternate; push(suspenseStackCursor, suspenseStackCursor.current & 1); push(suspenseHandlerStackCursor, handler); null === shellBoundary && (null === current || null !== currentTreeHiddenStackCursor.current ? (shellBoundary = handler) : null !== current.memoizedState && (shellBoundary = handler)); } function pushDehydratedActivitySuspenseHandler(fiber) { push(suspenseStackCursor, suspenseStackCursor.current); push(suspenseHandlerStackCursor, fiber); null === shellBoundary && (shellBoundary = fiber); } function pushOffscreenSuspenseHandler(fiber) { 22 === fiber.tag ? (push(suspenseStackCursor, suspenseStackCursor.current), push(suspenseHandlerStackCursor, fiber), null === shellBoundary && (shellBoundary = fiber)) : reuseSuspenseHandlerOnStack(fiber); } function reuseSuspenseHandlerOnStack() { push(suspenseStackCursor, suspenseStackCursor.current); push(suspenseHandlerStackCursor, suspenseHandlerStackCursor.current); } function popSuspenseHandler(fiber) { pop(suspenseHandlerStackCursor); shellBoundary === fiber && (shellBoundary = null); pop(suspenseStackCursor); } var suspenseStackCursor = createCursor(0); function findFirstSuspended(row) { for (var node = row; null !== node; ) { if (13 === node.tag) { var state = node.memoizedState; if ( null !== state && ((state = state.dehydrated), null === state || isSuspenseInstancePending(state) || isSuspenseInstanceFallback(state)) ) return node; } else if ( 19 === node.tag && ("forwards" === node.memoizedProps.revealOrder || "backwards" === node.memoizedProps.revealOrder || "unstable_legacy-backwards" === node.memoizedProps.revealOrder || "together" === node.memoizedProps.revealOrder) ) { if (0 !== (node.flags & 128)) return node; } else if (null !== node.child) { node.child.return = node; node = node.child; continue; } if (node === row) break; for (; null === node.sibling; ) { if (null === node.return || node.return === row) return null; node = node.return; } node.sibling.return = node.return; node = node.sibling; } return null; } var renderLanes = 0, currentlyRenderingFiber = null, currentHook = null, workInProgressHook = null, didScheduleRenderPhaseUpdate = !1, didScheduleRenderPhaseUpdateDuringThisPass = !1, shouldDoubleInvokeUserFnsInHooksDEV = !1, localIdCounter = 0, thenableIndexCounter = 0, thenableState = null, globalClientIdCounter = 0; function throwInvalidHookError() { throw Error(formatProdErrorMessage(321)); } function areHookInputsEqual(nextDeps, prevDeps) { if (null === prevDeps) return !1; for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++) if (!objectIs(nextDeps[i], prevDeps[i])) return !1; return !0; } function renderWithHooks( current, workInProgress, Component, props, secondArg, nextRenderLanes ) { renderLanes = nextRenderLanes; currentlyRenderingFiber = workInProgress; workInProgress.memoizedState = null; workInProgress.updateQueue = null; workInProgress.lanes = 0; ReactSharedInternals.H = null === current || null === current.memoizedState ? HooksDispatcherOnMount : HooksDispatcherOnUpdate; shouldDoubleInvokeUserFnsInHooksDEV = !1; nextRenderLanes = Component(props, secondArg); shouldDoubleInvokeUserFnsInHooksDEV = !1; didScheduleRenderPhaseUpdateDuringThisPass && (nextRenderLanes = renderWithHooksAgain( workInProgress, Component, props, secondArg )); finishRenderingHooks(current); return nextRenderLanes; } function finishRenderingHooks(current) { ReactSharedInternals.H = ContextOnlyDispatcher; var didRenderTooFewHooks = null !== currentHook && null !== currentHook.next; renderLanes = 0; workInProgressHook = currentHook = currentlyRenderingFiber = null; didScheduleRenderPhaseUpdate = !1; thenableIndexCounter = 0; thenableState = null; if (didRenderTooFewHooks) throw Error(formatProdErrorMessage(300)); null === current || didReceiveUpdate || ((current = current.dependencies), null !== current && checkIfContextChanged(current) && (didReceiveUpdate = !0)); } function renderWithHooksAgain(workInProgress, Component, props, secondArg) { currentlyRenderingFiber = workInProgress; var numberOfReRenders = 0; do { didScheduleRenderPhaseUpdateDuringThisPass && (thenableState = null); thenableIndexCounter = 0; didScheduleRenderPhaseUpdateDuringThisPass = !1; if (25 <= numberOfReRenders) throw Error(formatProdErrorMessage(301)); numberOfReRenders += 1; workInProgressHook = currentHook = null; if (null != workInProgress.updateQueue) { var children = workInProgress.updateQueue; children.lastEffect = null; children.events = null; children.stores = null; null != children.memoCache && (children.memoCache.index = 0); } ReactSharedInternals.H = HooksDispatcherOnRerender; children = Component(props, secondArg); } while (didScheduleRenderPhaseUpdateDuringThisPass); return children; } function TransitionAwareHostComponent() { var dispatcher = ReactSharedInternals.H, maybeThenable = dispatcher.useState()[0]; maybeThenable = "function" === typeof maybeThenable.then ? useThenable(maybeThenable) : maybeThenable; dispatcher = dispatcher.useState()[0]; (null !== currentHook ? currentHook.memoizedState : null) !== dispatcher && (currentlyRenderingFiber.flags |= 1024); return maybeThenable; } function checkDidRenderIdHook() { var didRenderIdHook = 0 !== localIdCounter; localIdCounter = 0; return didRenderIdHook; } function bailoutHooks(current, workInProgress, lanes) { workInProgress.updateQueue = current.updateQueue; workInProgress.flags &= -2053; current.lanes &= ~lanes; } function resetHooksOnUnwind(workInProgress) { if (didScheduleRenderPhaseUpdate) { for ( workInProgress = workInProgress.memoizedState; null !== workInProgress; ) { var queue = workInProgress.queue; null !== queue && (queue.pending = null); workInProgress = workInProgress.next; } didScheduleRenderPhaseUpdate = !1; } renderLanes = 0; workInProgressHook = currentHook = currentlyRenderingFiber = null; didScheduleRenderPhaseUpdateDuringThisPass = !1; thenableIndexCounter = localIdCounter = 0; thenableState = null; } function mountWorkInProgressHook() { var hook = { memoizedState: null, baseState: null, baseQueue: null, queue: null, next: null }; null === workInProgressHook ? (currentlyRenderingFiber.memoizedState = workInProgressHook = hook) : (workInProgressHook = workInProgressHook.next = hook); return workInProgressHook; } function updateWorkInProgressHook() { if (null === currentHook) { var nextCurrentHook = currentlyRenderingFiber.alternate; nextCurrentHook = null !== nextCurrentHook ? nextCurrentHook.memoizedState : null; } else nextCurrentHook = currentHook.next; var nextWorkInProgressHook = null === workInProgressHook ? currentlyRenderingFiber.memoizedState : workInProgressHook.next; if (null !== nextWorkInProgressHook) (workInProgressHook = nextWorkInProgressHook), (currentHook = nextCurrentHook); else { if (null === nextCurrentHook) { if (null === currentlyRenderingFiber.alternate) throw Error(formatProdErrorMessage(467)); throw Error(formatProdErrorMessage(310)); } currentHook = nextCurrentHook; nextCurrentHook = { memoizedState: currentHook.memoizedState, baseState: currentHook.baseState, baseQueue: currentHook.baseQueue, queue: currentHook.queue, next: null }; null === workInProgressHook ? (currentlyRenderingFiber.memoizedState = workInProgressHook = nextCurrentHook) : (workInProgressHook = workInProgressHook.next = nextCurrentHook); } return workInProgressHook; } function createFunctionComponentUpdateQueue() { return { lastEffect: null, events: null, stores: null, memoCache: null }; } function useThenable(thenable) { var index = thenableIndexCounter; thenableIndexCounter += 1; null === thenableState && (thenableState = []); thenable = trackUsedThenable(thenableState, thenable, index); index = currentlyRenderingFiber; null === (null === workInProgressHook ? index.memoizedState : workInProgressHook.next) && ((index = index.alternate), (ReactSharedInternals.H = null === index || null === index.memoizedState ? HooksDispatcherOnMount : HooksDispatcherOnUpdate)); return thenable; } function use(usable) { if (null !== usable && "object" === typeof usable) { if ("function" === typeof usable.then) return useThenable(usable); if (usable.$$typeof === REACT_CONTEXT_TYPE) return readContext(usable); } throw Error(formatProdErrorMessage(438, String(usable))); } function useMemoCache(size) { var memoCache = null, updateQueue = currentlyRenderingFiber.updateQueue; null !== updateQueue && (memoCache = updateQueue.memoCache); if (null == memoCache) { var current = currentlyRenderingFiber.alternate; null !== current && ((current = current.updateQueue), null !== current && ((current = current.memoCache), null != current && (memoCache = { data: current.data.map(function (array) { return array.slice(); }), index: 0 }))); } null == memoCache && (memoCache = { data: [], index: 0 }); null === updateQueue && ((updateQueue = createFunctionComponentUpdateQueue()), (currentlyRenderingFiber.updateQueue = updateQueue)); updateQueue.memoCache = memoCache; updateQueue = memoCache.data[memoCache.index]; if (void 0 === updateQueue) for ( updateQueue = memoCache.data[memoCache.index] = Array(size), current = 0; current < size; current++ ) updateQueue[current] = REACT_MEMO_CACHE_SENTINEL; memoCache.index++; return updateQueue; } function basicStateReducer(state, action) { return "function" === typeof action ? action(state) : action; } function updateReducer(reducer) { var hook = updateWorkInProgressHook(); return updateReducerImpl(hook, currentHook, reducer); } function updateReducerImpl(hook, current, reducer) { var queue = hook.queue; if (null === queue) throw Error(formatProdErrorMessage(311)); queue.lastRenderedReducer = reducer; var baseQueue = hook.baseQueue, pendingQueue = queue.pending; if (null !== pendingQueue) { if (null !== baseQueue) { var baseFirst = baseQueue.next; baseQueue.next = pendingQueue.next; pendingQueue.next = baseFirst; } current.baseQueue = baseQueue = pendingQueue; queue.pending = null; } pendingQueue = hook.baseState; if (null === baseQueue) hook.memoizedState = pendingQueue; else { current = baseQueue.next; var newBaseQueueFirst = (baseFirst = null), newBaseQueueLast = null, update = current, didReadFromEntangledAsyncAction$60 = !1; do { var updateLane = update.lane & -536870913; if ( updateLane !== update.lane ? (workInProgressRootRenderLanes & updateLane) === updateLane : (renderLanes & updateLane) === updateLane ) { var revertLane = update.revertLane; if (0 === revertLane) null !== newBaseQueueLast && (newBaseQueueLast = newBaseQueueLast.next = { lane: 0, revertLane: 0, gesture: null, action: update.action, hasEagerState: update.hasEagerState, eagerState: update.eagerState, next: null }), updateLane === currentEntangledLane && (didReadFromEntangledAsyncAction$60 = !0); else if ((renderLanes & revertLane) === revertLane) { update = update.next; revertLane === currentEntangledLane && (didReadFromEntangledAsyncAction$60 = !0); continue; } else (updateLane = { lane: 0, revertLane: update.revertLane, gesture: null, action: update.action, hasEagerState: update.hasEagerState, eagerState: update.eagerState, next: null }), null === newBaseQueueLast ? ((newBaseQueueFirst = newBaseQueueLast = updateLane), (baseFirst = pendingQueue)) : (newBaseQueueLast = newBaseQueueLast.next = updateLane), (currentlyRenderingFiber.lanes |= revertLane), (workInProgressRootSkippedLanes |= revertLane); updateLane = update.action; shouldDoubleInvokeUserFnsInHooksDEV && reducer(pendingQueue, updateLane); pendingQueue = update.hasEagerState ? update.eagerState : reducer(pendingQueue, updateLane); } else (revertLane = { lane: updateLane, revertLane: update.revertLane, gesture: update.gesture, action: update.action, hasEagerState: update.hasEagerState, eagerState: update.eagerState, next: null }), null === newBaseQueueLast ? ((newBaseQueueFirst = newBaseQueueLast = revertLane), (baseFirst = pendingQueue)) : (newBaseQueueLast = newBaseQueueLast.next = revertLane), (currentlyRenderingFiber.lanes |= updateLane), (workInProgressRootSkippedLanes |= updateLane); update = update.next; } while (null !== update && update !== current); null === newBaseQueueLast ? (baseFirst = pendingQueue) : (newBaseQueueLast.next = newBaseQueueFirst); if ( !objectIs(pendingQueue, hook.memoizedState) && ((didReceiveUpdate = !0), didReadFromEntangledAsyncAction$60 && ((reducer = currentEntangledActionThenable), null !== reducer)) ) throw reducer; hook.memoizedState = pendingQueue; hook.baseState = baseFirst; hook.baseQueue = newBaseQueueLast; queue.lastRenderedState = pendingQueue; } null === baseQueue && (queue.lanes = 0); return [hook.memoizedState, queue.dispatch]; } function rerenderReducer(reducer) { var hook = updateWorkInProgressHook(), queue = hook.queue; if (null === queue) throw Error(formatProdErrorMessage(311)); queue.lastRenderedReducer = reducer; var dispatch = queue.dispatch, lastRenderPhaseUpdate = queue.pending, newState = hook.memoizedState; if (null !== lastRenderPhaseUpdate) { queue.pending = null; var update = (lastRenderPhaseUpdate = lastRenderPhaseUpdate.next); do (newState = reducer(newState, update.action)), (update = update.next); while (update !== lastRenderPhaseUpdate); objectIs(newState, hook.memoizedState) || (didReceiveUpdate = !0); hook.memoizedState = newState; null === hook.baseQueue && (hook.baseState = newState); queue.lastRenderedState = newState; } return [newState, dispatch]; } function updateSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) { var fiber = currentlyRenderingFiber, hook = updateWorkInProgressHook(), isHydrating$jscomp$0 = isHydrating; if (isHydrating$jscomp$0) { if (void 0 === getServerSnapshot) throw Error(formatProdErrorMessage(407)); getServerSnapshot = getServerSnapshot(); } else getServerSnapshot = getSnapshot(); var snapshotChanged = !objectIs( (currentHook || hook).memoizedState, getServerSnapshot ); snapshotChanged && ((hook.memoizedState = getServerSnapshot), (didReceiveUpdate = !0)); hook = hook.queue; updateEffect(subscribeToStore.bind(null, fiber, hook, subscribe), [ subscribe ]); if ( hook.getSnapshot !== getSnapshot || snapshotChanged || (null !== workInProgressHook && workInProgressHook.memoizedState.tag & 1) ) { fiber.flags |= 2048; pushSimpleEffect( 9, { destroy: void 0 }, updateStoreInstance.bind( null, fiber, hook, getServerSnapshot, getSnapshot ), null ); if (null === workInProgressRoot) throw Error(formatProdErrorMessage(349)); isHydrating$jscomp$0 || 0 !== (renderLanes & 124) || pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot); } return getServerSnapshot; } function pushStoreConsistencyCheck(fiber, getSnapshot, renderedSnapshot) { fiber.flags |= 16384; fiber = { getSnapshot: getSnapshot, value: renderedSnapshot }; getSnapshot = currentlyRenderingFiber.updateQueue; null === getSnapshot ? ((getSnapshot = createFunctionComponentUpdateQueue()), (currentlyRenderingFiber.updateQueue = getSnapshot), (getSnapshot.stores = [fiber])) : ((renderedSnapshot = getSnapshot.stores), null === renderedSnapshot ? (getSnapshot.stores = [fiber]) : renderedSnapshot.push(fiber)); } function updateStoreInstance(fiber, inst, nextSnapshot, getSnapshot) { inst.value = nextSnapshot; inst.getSnapshot = getSnapshot; checkIfSnapshotChanged(inst) && forceStoreRerender(fiber); } function subscribeToStore(fiber, inst, subscribe) { return subscribe(function () { checkIfSnapshotChanged(inst) && forceStoreRerender(fiber); }); } function checkIfSnapshotChanged(inst) { var latestGetSnapshot = inst.getSnapshot; inst = inst.value; try { var nextValue = latestGetSnapshot(); return !objectIs(inst, nextValue); } catch (error) { return !0; } } function forceStoreRerender(fiber) { var root = enqueueConcurrentRenderForLane(fiber, 2); null !== root && scheduleUpdateOnFiber(root, fiber, 2); } function mountStateImpl(initialState) { var hook = mountWorkInProgressHook(); if ("function" === typeof initialState) { var initialStateInitializer = initialState; initialState = initialStateInitializer(); if (shouldDoubleInvokeUserFnsInHooksDEV) { setIsStrictModeForDevtools(!0); try { initialStateInitializer(); } finally { setIsStrictModeForDevtools(!1); } } } hook.memoizedState = hook.baseState = initialState; hook.queue = { pending: null, lanes: 0, dispatch: null, lastRenderedReducer: basicStateReducer, lastRenderedState: initialState }; return hook; } function updateOptimisticImpl(hook, current, passthrough, reducer) { hook.baseState = passthrough; return updateReducerImpl( hook, currentHook, "function" === typeof reducer ? reducer : basicStateReducer ); } function dispatchActionState( fiber, actionQueue, setPendingState, setState, payload ) { if (isRenderPhaseUpdate(fiber)) throw Error(formatProdErrorMessage(485)); fiber = actionQueue.action; if (null !== fiber) { var actionNode = { payload: payload, action: fiber, next: null, isTransition: !0, status: "pending", value: null, reason: null, listeners: [], then: function (listener) { actionNode.listeners.push(listener); } }; null !== ReactSharedInternals.T ? setPendingState(!0) : (actionNode.isTransition = !1); setState(actionNode); setPendingState = actionQueue.pending; null === setPendingState ? ((actionNode.next = actionQueue.pending = actionNode), runActionStateAction(actionQueue, actionNode)) : ((actionNode.next = setPendingState.next), (actionQueue.pending = setPendingState.next = actionNode)); } } function runActionStateAction(actionQueue, node) { var action = node.action, payload = node.payload, prevState = actionQueue.state; if (node.isTransition) { var prevTransition = ReactSharedInternals.T, currentTransition = {}; ReactSharedInternals.T = currentTransition; try { var returnValue = action(prevState, payload), onStartTransitionFinish = ReactSharedInternals.S; null !== onStartTransitionFinish && onStartTransitionFinish(currentTransition, returnValue); handleActionReturnValue(actionQueue, node, returnValue); } catch (error) { onActionError(actionQueue, node, error); } finally { null !== prevTransition && null !== currentTransition.types && (prevTransition.types = currentTransition.types), (ReactSharedInternals.T = prevTransition); } } else try { (prevTransition = action(prevState, payload)), handleActionReturnValue(actionQueue, node, prevTransition); } catch (error$66) { onActionError(actionQueue, node, error$66); } } function handleActionReturnValue(actionQueue, node, returnValue) { null !== returnValue && "object" === typeof returnValue && "function" === typeof returnValue.then ? returnValue.then( function (nextState) { onActionSuccess(actionQueue, node, nextState); }, function (error) { return onActionError(actionQueue, node, error); } ) : onActionSuccess(actionQueue, node, returnValue); } function onActionSuccess(actionQueue, actionNode, nextState) { actionNode.status = "fulfilled"; actionNode.value = nextState; notifyActionListeners(actionNode); actionQueue.state = nextState; actionNode = actionQueue.pending; null !== actionNode && ((nextState = actionNode.next), nextState === actionNode ? (actionQueue.pending = null) : ((nextState = nextState.next), (actionNode.next = nextState), runActionStateAction(actionQueue, nextState))); } function onActionError(actionQueue, actionNode, error) { var last = actionQueue.pending; actionQueue.pending = null; if (null !== last) { last = last.next; do (actionNode.status = "rejected"), (actionNode.reason = error), notifyActionListeners(actionNode), (actionNode = actionNode.next); while (actionNode !== last); } actionQueue.action = null; } function notifyActionListeners(actionNode) { actionNode = actionNode.listeners; for (var i = 0; i < actionNode.length; i++) (0, actionNode[i])(); } function actionStateReducer(oldState, newState) { return newState; } function mountActionState(action, initialStateProp) { if (isHydrating) { var ssrFormState = workInProgressRoot.formState; if (null !== ssrFormState) { a: { var JSCompiler_inline_result = currentlyRenderingFiber; if (isHydrating) { if (nextHydratableInstance) { b: { var JSCompiler_inline_result$jscomp$0 = nextHydratableInstance; for ( var inRootOrSingleton = rootOrSingletonContext; 8 !== JSCompiler_inline_result$jscomp$0.nodeType; ) { if (!inRootOrSingleton) { JSCompiler_inline_result$jscomp$0 = null; break b; } JSCompiler_inline_result$jscomp$0 = getNextHydratable( JSCompiler_inline_result$jscomp$0.nextSibling ); if (null === JSCompiler_inline_result$jscomp$0) { JSCompiler_inline_result$jscomp$0 = null; break b; } } inRootOrSingleton = JSCompiler_inline_result$jscomp$0.data; JSCompiler_inline_result$jscomp$0 = "F!" === inRootOrSingleton || "F" === inRootOrSingleton ? JSCompiler_inline_result$jscomp$0 : null; } if (JSCompiler_inline_result$jscomp$0) { nextHydratableInstance = getNextHydratable( JSCompiler_inline_result$jscomp$0.nextSibling ); JSCompiler_inline_result = "F!" === JSCompiler_inline_result$jscomp$0.data; break a; } } throwOnHydrationMismatch(JSCompiler_inline_result); } JSCompiler_inline_result = !1; } JSCompiler_inline_result && (initialStateProp = ssrFormState[0]); } } ssrFormState = mountWorkInProgressHook(); ssrFormState.memoizedState = ssrFormState.baseState = initialStateProp; JSCompiler_inline_result = { pending: null, lanes: 0, dispatch: null, lastRenderedReducer: actionStateReducer, lastRenderedState: initialStateProp }; ssrFormState.queue = JSCompiler_inline_result; ssrFormState = dispatchSetState.bind( null, currentlyRenderingFiber, JSCompiler_inline_result ); JSCompiler_inline_result.dispatch = ssrFormState; JSCompiler_inline_result = mountStateImpl(!1); inRootOrSingleton = dispatchOptimisticSetState.bind( null, currentlyRenderingFiber, !1, JSCompiler_inline_result.queue ); JSCompiler_inline_result = mountWorkInProgressHook(); JSCompiler_inline_result$jscomp$0 = { state: initialStateProp, dispatch: null, action: action, pending: null }; JSCompiler_inline_result.queue = JSCompiler_inline_result$jscomp$0; ssrFormState = dispatchActionState.bind( null, currentlyRenderingFiber, JSCompiler_inline_result$jscomp$0, inRootOrSingleton, ssrFormState ); JSCompiler_inline_result$jscomp$0.dispatch = ssrFormState; JSCompiler_inline_result.memoizedState = action; return [initialStateProp, ssrFormState, !1]; } function updateActionState(action) { var stateHook = updateWorkInProgressHook(); return updateActionStateImpl(stateHook, currentHook, action); } function updateActionStateImpl(stateHook, currentStateHook, action) { currentStateHook = updateReducerImpl( stateHook, currentStateHook, actionStateReducer )[0]; stateHook = updateReducer(basicStateReducer)[0]; if ( "object" === typeof currentStateHook && null !== currentStateHook && "function" === typeof currentStateHook.then ) try { var state = useThenable(currentStateHook); } catch (x) { if (x === SuspenseException) throw SuspenseActionException; throw x; } else state = currentStateHook; currentStateHook = updateWorkInProgressHook(); var actionQueue = currentStateHook.queue, dispatch = actionQueue.dispatch; action !== currentStateHook.memoizedState && ((currentlyRenderingFiber.flags |= 2048), pushSimpleEffect( 9, { destroy: void 0 }, actionStateActionEffect.bind(null, actionQueue, action), null )); return [state, dispatch, stateHook]; } function actionStateActionEffect(actionQueue, action) { actionQueue.action = action; } function rerenderActionState(action) { var stateHook = updateWorkInProgressHook(), currentStateHook = currentHook; if (null !== currentStateHook) return updateActionStateImpl(stateHook, currentStateHook, action); updateWorkInProgressHook(); stateHook = stateHook.memoizedState; currentStateHook = updateWorkInProgressHook(); var dispatch = currentStateHook.queue.dispatch; currentStateHook.memoizedState = action; return [stateHook, dispatch, !1]; } function pushSimpleEffect(tag, inst, create, deps) { tag = { tag: tag, create: create, deps: deps, inst: inst, next: null }; inst = currentlyRenderingFiber.updateQueue; null === inst && ((inst = createFunctionComponentUpdateQueue()), (currentlyRenderingFiber.updateQueue = inst)); create = inst.lastEffect; null === create ? (inst.lastEffect = tag.next = tag) : ((deps = create.next), (create.next = tag), (tag.next = deps), (inst.lastEffect = tag)); return tag; } function updateRef() { return updateWorkInProgressHook().memoizedState; } function mountEffectImpl(fiberFlags, hookFlags, create, deps) { var hook = mountWorkInProgressHook(); currentlyRenderingFiber.flags |= fiberFlags; hook.memoizedState = pushSimpleEffect( 1 | hookFlags, { destroy: void 0 }, create, void 0 === deps ? null : deps ); } function updateEffectImpl(fiberFlags, hookFlags, create, deps) { var hook = updateWorkInProgressHook(); deps = void 0 === deps ? null : deps; var inst = hook.memoizedState.inst; null !== currentHook && null !== deps && areHookInputsEqual(deps, currentHook.memoizedState.deps) ? (hook.memoizedState = pushSimpleEffect(hookFlags, inst, create, deps)) : ((currentlyRenderingFiber.flags |= fiberFlags), (hook.memoizedState = pushSimpleEffect( 1 | hookFlags, inst, create, deps ))); } function mountEffect(create, deps) { mountEffectImpl(8390656, 8, create, deps); } function updateEffect(create, deps) { updateEffectImpl(2048, 8, create, deps); } function updateInsertionEffect(create, deps) { return updateEffectImpl(4, 2, create, deps); } function updateLayoutEffect(create, deps) { return updateEffectImpl(4, 4, create, deps); } function imperativeHandleEffect(create, ref) { if ("function" === typeof ref) { create = create(); var refCleanup = ref(create); return function () { "function" === typeof refCleanup ? refCleanup() : ref(null); }; } if (null !== ref && void 0 !== ref) return ( (create = create()), (ref.current = create), function () { ref.current = null; } ); } function updateImperativeHandle(ref, create, deps) { deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null; updateEffectImpl(4, 4, imperativeHandleEffect.bind(null, create, ref), deps); } function mountDebugValue() {} function updateCallback(callback, deps) { var hook = updateWorkInProgressHook(); deps = void 0 === deps ? null : deps; var prevState = hook.memoizedState; if (null !== deps && areHookInputsEqual(deps, prevState[1])) return prevState[0]; hook.memoizedState = [callback, deps]; return callback; } function updateMemo(nextCreate, deps) { var hook = updateWorkInProgressHook(); deps = void 0 === deps ? null : deps; var prevState = hook.memoizedState; if (null !== deps && areHookInputsEqual(deps, prevState[1])) return prevState[0]; prevState = nextCreate(); if (shouldDoubleInvokeUserFnsInHooksDEV) { setIsStrictModeForDevtools(!0); try { nextCreate(); } finally { setIsStrictModeForDevtools(!1); } } hook.memoizedState = [prevState, deps]; return prevState; } function mountDeferredValueImpl(hook, value, initialValue) { if (void 0 === initialValue || 0 !== (renderLanes & 1073741824)) return (hook.memoizedState = value); hook.memoizedState = initialValue; hook = requestDeferredLane(); currentlyRenderingFiber.lanes |= hook; workInProgressRootSkippedLanes |= hook; return initialValue; } function updateDeferredValueImpl(hook, prevValue, value, initialValue) { if (objectIs(value, prevValue)) return value; if (null !== currentTreeHiddenStackCursor.current) return ( (hook = mountDeferredValueImpl(hook, value, initialValue)), objectIs(hook, prevValue) || (didReceiveUpdate = !0), hook ); if (0 === (renderLanes & 42) || 0 !== (renderLanes & 1073741824)) return (didReceiveUpdate = !0), (hook.memoizedState = value); hook = requestDeferredLane(); currentlyRenderingFiber.lanes |= hook; workInProgressRootSkippedLanes |= hook; return prevValue; } function startTransition(fiber, queue, pendingState, finishedState, callback) { var previousPriority = ReactDOMSharedInternals.p; ReactDOMSharedInternals.p = 0 !== previousPriority && 8 > previousPriority ? previousPriority : 8; var prevTransition = ReactSharedInternals.T, currentTransition = {}; ReactSharedInternals.T = currentTransition; dispatchOptimisticSetState(fiber, !1, queue, pendingState); try { var returnValue = callback(), onStartTransitionFinish = ReactSharedInternals.S; null !== onStartTransitionFinish && onStartTransitionFinish(currentTransition, returnValue); if ( null !== returnValue && "object" === typeof returnValue && "function" === typeof returnValue.then ) { var thenableForFinishedState = chainThenableValue( returnValue, finishedState ); dispatchSetStateInternal( fiber, queue, thenableForFinishedState, requestUpdateLane(fiber) ); } else dispatchSetStateInternal( fiber, queue, finishedState, requestUpdateLane(fiber) ); } catch (error) { dispatchSetStateInternal( fiber, queue, { then: function () {}, status: "rejected", reason: error }, requestUpdateLane() ); } finally { (ReactDOMSharedInternals.p = previousPriority), null !== prevTransition && null !== currentTransition.types && (prevTransition.types = currentTransition.types), (ReactSharedInternals.T = prevTransition); } } function noop() {} function startHostTransition(formFiber, pendingState, action, formData) { if (5 !== formFiber.tag) throw Error(formatProdErrorMessage(476)); var queue = ensureFormComponentIsStateful(formFiber).queue; startTransition( formFiber, queue, pendingState, sharedNotPendingObject, null === action ? noop : function () { requestFormReset$1(formFiber); return action(formData); } ); } function ensureFormComponentIsStateful(formFiber) { var existingStateHook = formFiber.memoizedState; if (null !== existingStateHook) return existingStateHook; existingStateHook = { memoizedState: sharedNotPendingObject, baseState: sharedNotPendingObject, baseQueue: null, queue: { pending: null, lanes: 0, dispatch: null, lastRenderedReducer: basicStateReducer, lastRenderedState: sharedNotPendingObject }, next: null }; var initialResetState = {}; existingStateHook.next = { memoizedState: initialResetState, baseState: initialResetState, baseQueue: null, queue: { pending: null, lanes: 0, dispatch: null, lastRenderedReducer: basicStateReducer, lastRenderedState: initialResetState }, next: null }; formFiber.memoizedState = existingStateHook; formFiber = formFiber.alternate; null !== formFiber && (formFiber.memoizedState = existingStateHook); return existingStateHook; } function requestFormReset$1(formFiber) { var stateHook = ensureFormComponentIsStateful(formFiber); null === stateHook.next && (stateHook = formFiber.alternate.memoizedState); dispatchSetStateInternal( formFiber, stateHook.next.queue, {}, requestUpdateLane() ); } function useHostTransitionStatus() { return readContext(HostTransitionContext); } function updateId() { return updateWorkInProgressHook().memoizedState; } function updateRefresh() { return updateWorkInProgressHook().memoizedState; } function refreshCache(fiber) { for (var provider = fiber.return; null !== provider; ) { switch (provider.tag) { case 24: case 3: var lane = requestUpdateLane(); fiber = createUpdate(lane); var root$69 = enqueueUpdate(provider, fiber, lane); null !== root$69 && (scheduleUpdateOnFiber(root$69, provider, lane), entangleTransitions(root$69, provider, lane)); provider = { cache: createCache() }; fiber.payload = provider; return; } provider = provider.return; } } function dispatchReducerAction(fiber, queue, action) { var lane = requestUpdateLane(); action = { lane: lane, revertLane: 0, gesture: null, action: action, hasEagerState: !1, eagerState: null, next: null }; isRenderPhaseUpdate(fiber) ? enqueueRenderPhaseUpdate(queue, action) : ((action = enqueueConcurrentHookUpdate(fiber, queue, action, lane)), null !== action && (scheduleUpdateOnFiber(action, fiber, lane), entangleTransitionUpdate(action, queue, lane))); } function dispatchSetState(fiber, queue, action) { var lane = requestUpdateLane(); dispatchSetStateInternal(fiber, queue, action, lane); } function dispatchSetStateInternal(fiber, queue, action, lane) { var update = { lane: lane, revertLane: 0, gesture: null, action: action, hasEagerState: !1, eagerState: null, next: null }; if (isRenderPhaseUpdate(fiber)) enqueueRenderPhaseUpdate(queue, update); else { var alternate = fiber.alternate; if ( 0 === fiber.lanes && (null === alternate || 0 === alternate.lanes) && ((alternate = queue.lastRenderedReducer), null !== alternate) ) try { var currentState = queue.lastRenderedState, eagerState = alternate(currentState, action); update.hasEagerState = !0; update.eagerState = eagerState; if (objectIs(eagerState, currentState)) return ( enqueueUpdate$1(fiber, queue, update, 0), null === workInProgressRoot && finishQueueingConcurrentUpdates(), !1 ); } catch (error) { } finally { } action = enqueueConcurrentHookUpdate(fiber, queue, update, lane); if (null !== action) return ( scheduleUpdateOnFiber(action, fiber, lane), entangleTransitionUpdate(action, queue, lane), !0 ); } return !1; } function dispatchOptimisticSetState(fiber, throwIfDuringRender, queue, action) { action = { lane: 2, revertLane: requestTransitionLane(), gesture: null, action: action, hasEagerState: !1, eagerState: null, next: null }; if (isRenderPhaseUpdate(fiber)) { if (throwIfDuringRender) throw Error(formatProdErrorMessage(479)); } else (throwIfDuringRender = enqueueConcurrentHookUpdate( fiber, queue, action, 2 )), null !== throwIfDuringRender && scheduleUpdateOnFiber(throwIfDuringRender, fiber, 2); } function isRenderPhaseUpdate(fiber) { var alternate = fiber.alternate; return ( fiber === currentlyRenderingFiber || (null !== alternate && alternate === currentlyRenderingFiber) ); } function enqueueRenderPhaseUpdate(queue, update) { didScheduleRenderPhaseUpdateDuringThisPass = didScheduleRenderPhaseUpdate = !0; var pending = queue.pending; null === pending ? (update.next = update) : ((update.next = pending.next), (pending.next = update)); queue.pending = update; } function entangleTransitionUpdate(root, queue, lane) { if (0 !== (lane & 4194048)) { var queueLanes = queue.lanes; queueLanes &= root.pendingLanes; lane |= queueLanes; queue.lanes = lane; markRootEntangled(root, lane); } } var ContextOnlyDispatcher = { readContext: readContext, use: use, useCallback: throwInvalidHookError, useContext: throwInvalidHookError, useEffect: throwInvalidHookError, useImperativeHandle: throwInvalidHookError, useLayoutEffect: throwInvalidHookError, useInsertionEffect: throwInvalidHookError, useMemo: throwInvalidHookError, useReducer: throwInvalidHookError, useRef: throwInvalidHookError, useState: throwInvalidHookError, useDebugValue: throwInvalidHookError, useDeferredValue: throwInvalidHookError, useTransition: throwInvalidHookError, useSyncExternalStore: throwInvalidHookError, useId: throwInvalidHookError, useHostTransitionStatus: throwInvalidHookError, useFormState: throwInvalidHookError, useActionState: throwInvalidHookError, useOptimistic: throwInvalidHookError, useMemoCache: throwInvalidHookError, useCacheRefresh: throwInvalidHookError }, HooksDispatcherOnMount = { readContext: readContext, use: use, useCallback: function (callback, deps) { mountWorkInProgressHook().memoizedState = [ callback, void 0 === deps ? null : deps ]; return callback; }, useContext: readContext, useEffect: mountEffect, useImperativeHandle: function (ref, create, deps) { deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null; mountEffectImpl( 4194308, 4, imperativeHandleEffect.bind(null, create, ref), deps ); }, useLayoutEffect: function (create, deps) { return mountEffectImpl(4194308, 4, create, deps); }, useInsertionEffect: function (create, deps) { mountEffectImpl(4, 2, create, deps); }, useMemo: function (nextCreate, deps) { var hook = mountWorkInProgressHook(); deps = void 0 === deps ? null : deps; var nextValue = nextCreate(); if (shouldDoubleInvokeUserFnsInHooksDEV) { setIsStrictModeForDevtools(!0); try { nextCreate(); } finally { setIsStrictModeForDevtools(!1); } } hook.memoizedState = [nextValue, deps]; return nextValue; }, useReducer: function (reducer, initialArg, init) { var hook = mountWorkInProgressHook(); if (void 0 !== init) { var initialState = init(initialArg); if (shouldDoubleInvokeUserFnsInHooksDEV) { setIsStrictModeForDevtools(!0); try { init(initialArg); } finally { setIsStrictModeForDevtools(!1); } } } else initialState = initialArg; hook.memoizedState = hook.baseState = initialState; reducer = { pending: null, lanes: 0, dispatch: null, lastRenderedReducer: reducer, lastRenderedState: initialState }; hook.queue = reducer; reducer = reducer.dispatch = dispatchReducerAction.bind( null, currentlyRenderingFiber, reducer ); return [hook.memoizedState, reducer]; }, useRef: function (initialValue) { var hook = mountWorkInProgressHook(); initialValue = { current: initialValue }; return (hook.memoizedState = initialValue); }, useState: function (initialState) { initialState = mountStateImpl(initialState); var queue = initialState.queue, dispatch = dispatchSetState.bind(null, currentlyRenderingFiber, queue); queue.dispatch = dispatch; return [initialState.memoizedState, dispatch]; }, useDebugValue: mountDebugValue, useDeferredValue: function (value, initialValue) { var hook = mountWorkInProgressHook(); return mountDeferredValueImpl(hook, value, initialValue); }, useTransition: function () { var stateHook = mountStateImpl(!1); stateHook = startTransition.bind( null, currentlyRenderingFiber, stateHook.queue, !0, !1 ); mountWorkInProgressHook().memoizedState = stateHook; return [!1, stateHook]; }, useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) { var fiber = currentlyRenderingFiber, hook = mountWorkInProgressHook(); if (isHydrating) { if (void 0 === getServerSnapshot) throw Error(formatProdErrorMessage(407)); getServerSnapshot = getServerSnapshot(); } else { getServerSnapshot = getSnapshot(); if (null === workInProgressRoot) throw Error(formatProdErrorMessage(349)); 0 !== (workInProgressRootRenderLanes & 124) || pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot); } hook.memoizedState = getServerSnapshot; var inst = { value: getServerSnapshot, getSnapshot: getSnapshot }; hook.queue = inst; mountEffect(subscribeToStore.bind(null, fiber, inst, subscribe), [ subscribe ]); fiber.flags |= 2048; pushSimpleEffect( 9, { destroy: void 0 }, updateStoreInstance.bind( null, fiber, inst, getServerSnapshot, getSnapshot ), null ); return getServerSnapshot; }, useId: function () { var hook = mountWorkInProgressHook(), identifierPrefix = workInProgressRoot.identifierPrefix; if (isHydrating) { var JSCompiler_inline_result = treeContextOverflow; var idWithLeadingBit = treeContextId; JSCompiler_inline_result = ( idWithLeadingBit & ~(1 << (32 - clz32(idWithLeadingBit) - 1)) ).toString(32) + JSCompiler_inline_result; identifierPrefix = "_" + identifierPrefix + "R_" + JSCompiler_inline_result; JSCompiler_inline_result = localIdCounter++; 0 < JSCompiler_inline_result && (identifierPrefix += "H" + JSCompiler_inline_result.toString(32)); identifierPrefix += "_"; } else (JSCompiler_inline_result = globalClientIdCounter++), (identifierPrefix = "_" + identifierPrefix + "r_" + JSCompiler_inline_result.toString(32) + "_"); return (hook.memoizedState = identifierPrefix); }, useHostTransitionStatus: useHostTransitionStatus, useFormState: mountActionState, useActionState: mountActionState, useOptimistic: function (passthrough) { var hook = mountWorkInProgressHook(); hook.memoizedState = hook.baseState = passthrough; var queue = { pending: null, lanes: 0, dispatch: null, lastRenderedReducer: null, lastRenderedState: null }; hook.queue = queue; hook = dispatchOptimisticSetState.bind( null, currentlyRenderingFiber, !0, queue ); queue.dispatch = hook; return [passthrough, hook]; }, useMemoCache: useMemoCache, useCacheRefresh: function () { return (mountWorkInProgressHook().memoizedState = refreshCache.bind( null, currentlyRenderingFiber )); } }, HooksDispatcherOnUpdate = { readContext: readContext, use: use, useCallback: updateCallback, useContext: readContext, useEffect: updateEffect, useImperativeHandle: updateImperativeHandle, useInsertionEffect: updateInsertionEffect, useLayoutEffect: updateLayoutEffect, useMemo: updateMemo, useReducer: updateReducer, useRef: updateRef, useState: function () { return updateReducer(basicStateReducer); }, useDebugValue: mountDebugValue, useDeferredValue: function (value, initialValue) { var hook = updateWorkInProgressHook(); return updateDeferredValueImpl( hook, currentHook.memoizedState, value, initialValue ); }, useTransition: function () { var booleanOrThenable = updateReducer(basicStateReducer)[0], start = updateWorkInProgressHook().memoizedState; return [ "boolean" === typeof booleanOrThenable ? booleanOrThenable : useThenable(booleanOrThenable), start ]; }, useSyncExternalStore: updateSyncExternalStore, useId: updateId, useHostTransitionStatus: useHostTransitionStatus, useFormState: updateActionState, useActionState: updateActionState, useOptimistic: function (passthrough, reducer) { var hook = updateWorkInProgressHook(); return updateOptimisticImpl(hook, currentHook, passthrough, reducer); }, useMemoCache: useMemoCache, useCacheRefresh: updateRefresh }, HooksDispatcherOnRerender = { readContext: readContext, use: use, useCallback: updateCallback, useContext: readContext, useEffect: updateEffect, useImperativeHandle: updateImperativeHandle, useInsertionEffect: updateInsertionEffect, useLayoutEffect: updateLayoutEffect, useMemo: updateMemo, useReducer: rerenderReducer, useRef: updateRef, useState: function () { return rerenderReducer(basicStateReducer); }, useDebugValue: mountDebugValue, useDeferredValue: function (value, initialValue) { var hook = updateWorkInProgressHook(); return null === currentHook ? mountDeferredValueImpl(hook, value, initialValue) : updateDeferredValueImpl( hook, currentHook.memoizedState, value, initialValue ); }, useTransition: function () { var booleanOrThenable = rerenderReducer(basicStateReducer)[0], start = updateWorkInProgressHook().memoizedState; return [ "boolean" === typeof booleanOrThenable ? booleanOrThenable : useThenable(booleanOrThenable), start ]; }, useSyncExternalStore: updateSyncExternalStore, useId: updateId, useHostTransitionStatus: useHostTransitionStatus, useFormState: rerenderActionState, useActionState: rerenderActionState, useOptimistic: function (passthrough, reducer) { var hook = updateWorkInProgressHook(); if (null !== currentHook) return updateOptimisticImpl(hook, currentHook, passthrough, reducer); hook.baseState = passthrough; return [passthrough, hook.queue.dispatch]; }, useMemoCache: useMemoCache, useCacheRefresh: updateRefresh }; function applyDerivedStateFromProps( workInProgress, ctor, getDerivedStateFromProps, nextProps ) { ctor = workInProgress.memoizedState; getDerivedStateFromProps = getDerivedStateFromProps(nextProps, ctor); getDerivedStateFromProps = null === getDerivedStateFromProps || void 0 === getDerivedStateFromProps ? ctor : assign({}, ctor, getDerivedStateFromProps); workInProgress.memoizedState = getDerivedStateFromProps; 0 === workInProgress.lanes && (workInProgress.updateQueue.baseState = getDerivedStateFromProps); } var classComponentUpdater = { enqueueSetState: function (inst, payload, callback) { inst = inst._reactInternals; var lane = requestUpdateLane(), update = createUpdate(lane); update.payload = payload; void 0 !== callback && null !== callback && (update.callback = callback); payload = enqueueUpdate(inst, update, lane); null !== payload && (scheduleUpdateOnFiber(payload, inst, lane), entangleTransitions(payload, inst, lane)); }, enqueueReplaceState: function (inst, payload, callback) { inst = inst._reactInternals; var lane = requestUpdateLane(), update = createUpdate(lane); update.tag = 1; update.payload = payload; void 0 !== callback && null !== callback && (update.callback = callback); payload = enqueueUpdate(inst, update, lane); null !== payload && (scheduleUpdateOnFiber(payload, inst, lane), entangleTransitions(payload, inst, lane)); }, enqueueForceUpdate: function (inst, callback) { inst = inst._reactInternals; var lane = requestUpdateLane(), update = createUpdate(lane); update.tag = 2; void 0 !== callback && null !== callback && (update.callback = callback); callback = enqueueUpdate(inst, update, lane); null !== callback && (scheduleUpdateOnFiber(callback, inst, lane), entangleTransitions(callback, inst, lane)); } }; function checkShouldComponentUpdate( workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext ) { workInProgress = workInProgress.stateNode; return "function" === typeof workInProgress.shouldComponentUpdate ? workInProgress.shouldComponentUpdate(newProps, newState, nextContext) : ctor.prototype && ctor.prototype.isPureReactComponent ? !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState) : !0; } function callComponentWillReceiveProps( workInProgress, instance, newProps, nextContext ) { workInProgress = instance.state; "function" === typeof instance.componentWillReceiveProps && instance.componentWillReceiveProps(newProps, nextContext); "function" === typeof instance.UNSAFE_componentWillReceiveProps && instance.UNSAFE_componentWillReceiveProps(newProps, nextContext); instance.state !== workInProgress && classComponentUpdater.enqueueReplaceState(instance, instance.state, null); } function resolveClassComponentProps(Component, baseProps) { var newProps = baseProps; if ("ref" in baseProps) { newProps = {}; for (var propName in baseProps) "ref" !== propName && (newProps[propName] = baseProps[propName]); } if ((Component = Component.defaultProps)) { newProps === baseProps && (newProps = assign({}, newProps)); for (var propName$73 in Component) void 0 === newProps[propName$73] && (newProps[propName$73] = Component[propName$73]); } return newProps; } function defaultOnUncaughtError(error) { reportGlobalError(error); } function defaultOnCaughtError(error) { console.error(error); } function defaultOnRecoverableError(error) { reportGlobalError(error); } function logUncaughtError(root, errorInfo) { try { var onUncaughtError = root.onUncaughtError; onUncaughtError(errorInfo.value, { componentStack: errorInfo.stack }); } catch (e$74) { setTimeout(function () { throw e$74; }); } } function logCaughtError(root, boundary, errorInfo) { try { var onCaughtError = root.onCaughtError; onCaughtError(errorInfo.value, { componentStack: errorInfo.stack, errorBoundary: 1 === boundary.tag ? boundary.stateNode : null }); } catch (e$75) { setTimeout(function () { throw e$75; }); } } function createRootErrorUpdate(root, errorInfo, lane) { lane = createUpdate(lane); lane.tag = 3; lane.payload = { element: null }; lane.callback = function () { logUncaughtError(root, errorInfo); }; return lane; } function createClassErrorUpdate(lane) { lane = createUpdate(lane); lane.tag = 3; return lane; } function initializeClassErrorUpdate(update, root, fiber, errorInfo) { var getDerivedStateFromError = fiber.type.getDerivedStateFromError; if ("function" === typeof getDerivedStateFromError) { var error = errorInfo.value; update.payload = function () { return getDerivedStateFromError(error); }; update.callback = function () { logCaughtError(root, fiber, errorInfo); }; } var inst = fiber.stateNode; null !== inst && "function" === typeof inst.componentDidCatch && (update.callback = function () { logCaughtError(root, fiber, errorInfo); "function" !== typeof getDerivedStateFromError && (null === legacyErrorBoundariesThatAlreadyFailed ? (legacyErrorBoundariesThatAlreadyFailed = new Set([this])) : legacyErrorBoundariesThatAlreadyFailed.add(this)); var stack = errorInfo.stack; this.componentDidCatch(errorInfo.value, { componentStack: null !== stack ? stack : "" }); }); } function throwException( root, returnFiber, sourceFiber, value, rootRenderLanes ) { sourceFiber.flags |= 32768; if ( null !== value && "object" === typeof value && "function" === typeof value.then ) { returnFiber = sourceFiber.alternate; null !== returnFiber && propagateParentContextChanges( returnFiber, sourceFiber, rootRenderLanes, !0 ); sourceFiber = suspenseHandlerStackCursor.current; if (null !== sourceFiber) { switch (sourceFiber.tag) { case 31: case 13: return ( null === shellBoundary ? renderDidSuspendDelayIfPossible() : null === sourceFiber.alternate && 0 === workInProgressRootExitStatus && (workInProgressRootExitStatus = 3), (sourceFiber.flags &= -257), (sourceFiber.flags |= 65536), (sourceFiber.lanes = rootRenderLanes), value === noopSuspenseyCommitThenable ? (sourceFiber.flags |= 16384) : ((returnFiber = sourceFiber.updateQueue), null === returnFiber ? (sourceFiber.updateQueue = new Set([value])) : returnFiber.add(value), attachPingListener(root, value, rootRenderLanes)), !1 ); case 22: return ( (sourceFiber.flags |= 65536), value === noopSuspenseyCommitThenable ? (sourceFiber.flags |= 16384) : ((returnFiber = sourceFiber.updateQueue), null === returnFiber ? ((returnFiber = { transitions: null, markerInstances: null, retryQueue: new Set([value]) }), (sourceFiber.updateQueue = returnFiber)) : ((sourceFiber = returnFiber.retryQueue), null === sourceFiber ? (returnFiber.retryQueue = new Set([value])) : sourceFiber.add(value)), attachPingListener(root, value, rootRenderLanes)), !1 ); } throw Error(formatProdErrorMessage(435, sourceFiber.tag)); } attachPingListener(root, value, rootRenderLanes); renderDidSuspendDelayIfPossible(); return !1; } if (isHydrating) return ( (returnFiber = suspenseHandlerStackCursor.current), null !== returnFiber ? (0 === (returnFiber.flags & 65536) && (returnFiber.flags |= 256), (returnFiber.flags |= 65536), (returnFiber.lanes = rootRenderLanes), value !== HydrationMismatchException && ((root = Error(formatProdErrorMessage(422), { cause: value })), queueHydrationError(createCapturedValueAtFiber(root, sourceFiber)))) : (value !== HydrationMismatchException && ((returnFiber = Error(formatProdErrorMessage(423), { cause: value })), queueHydrationError( createCapturedValueAtFiber(returnFiber, sourceFiber) )), (root = root.current.alternate), (root.flags |= 65536), (rootRenderLanes &= -rootRenderLanes), (root.lanes |= rootRenderLanes), (value = createCapturedValueAtFiber(value, sourceFiber)), (rootRenderLanes = createRootErrorUpdate( root.stateNode, value, rootRenderLanes )), enqueueCapturedUpdate(root, rootRenderLanes), 4 !== workInProgressRootExitStatus && (workInProgressRootExitStatus = 2)), !1 ); var wrapperError = Error(formatProdErrorMessage(520), { cause: value }); wrapperError = createCapturedValueAtFiber(wrapperError, sourceFiber); null === workInProgressRootConcurrentErrors ? (workInProgressRootConcurrentErrors = [wrapperError]) : workInProgressRootConcurrentErrors.push(wrapperError); 4 !== workInProgressRootExitStatus && (workInProgressRootExitStatus = 2); if (null === returnFiber) return !0; value = createCapturedValueAtFiber(value, sourceFiber); sourceFiber = returnFiber; do { switch (sourceFiber.tag) { case 3: return ( (sourceFiber.flags |= 65536), (root = rootRenderLanes & -rootRenderLanes), (sourceFiber.lanes |= root), (root = createRootErrorUpdate(sourceFiber.stateNode, value, root)), enqueueCapturedUpdate(sourceFiber, root), !1 ); case 1: if ( ((returnFiber = sourceFiber.type), (wrapperError = sourceFiber.stateNode), 0 === (sourceFiber.flags & 128) && ("function" === typeof returnFiber.getDerivedStateFromError || (null !== wrapperError && "function" === typeof wrapperError.componentDidCatch && (null === legacyErrorBoundariesThatAlreadyFailed || !legacyErrorBoundariesThatAlreadyFailed.has(wrapperError))))) ) return ( (sourceFiber.flags |= 65536), (rootRenderLanes &= -rootRenderLanes), (sourceFiber.lanes |= rootRenderLanes), (rootRenderLanes = createClassErrorUpdate(rootRenderLanes)), initializeClassErrorUpdate( rootRenderLanes, root, sourceFiber, value ), enqueueCapturedUpdate(sourceFiber, rootRenderLanes), !1 ); } sourceFiber = sourceFiber.return; } while (null !== sourceFiber); return !1; } var SelectiveHydrationException = Error(formatProdErrorMessage(461)), didReceiveUpdate = !1; function reconcileChildren(current, workInProgress, nextChildren, renderLanes) { workInProgress.child = null === current ? mountChildFibers(workInProgress, null, nextChildren, renderLanes) : reconcileChildFibers( workInProgress, current.child, nextChildren, renderLanes ); } function updateForwardRef( current, workInProgress, Component, nextProps, renderLanes ) { Component = Component.render; var ref = workInProgress.ref; if ("ref" in nextProps) { var propsWithoutRef = {}; for (var key in nextProps) "ref" !== key && (propsWithoutRef[key] = nextProps[key]); } else propsWithoutRef = nextProps; prepareToReadContext(workInProgress); nextProps = renderWithHooks( current, workInProgress, Component, propsWithoutRef, ref, renderLanes ); key = checkDidRenderIdHook(); if (null !== current && !didReceiveUpdate) return ( bailoutHooks(current, workInProgress, renderLanes), bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes) ); isHydrating && key && pushMaterializedTreeId(workInProgress); workInProgress.flags |= 1; reconcileChildren(current, workInProgress, nextProps, renderLanes); return workInProgress.child; } function updateMemoComponent( current, workInProgress, Component, nextProps, renderLanes ) { if (null === current) { var type = Component.type; if ( "function" === typeof type && !shouldConstruct(type) && void 0 === type.defaultProps && null === Component.compare ) return ( (workInProgress.tag = 15), (workInProgress.type = type), updateSimpleMemoComponent( current, workInProgress, type, nextProps, renderLanes ) ); current = createFiberFromTypeAndProps( Component.type, null, nextProps, workInProgress, workInProgress.mode, renderLanes ); current.ref = workInProgress.ref; current.return = workInProgress; return (workInProgress.child = current); } type = current.child; if (!checkScheduledUpdateOrContext(current, renderLanes)) { var prevProps = type.memoizedProps; Component = Component.compare; Component = null !== Component ? Component : shallowEqual; if (Component(prevProps, nextProps) && current.ref === workInProgress.ref) return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes); } workInProgress.flags |= 1; current = createWorkInProgress(type, nextProps); current.ref = workInProgress.ref; current.return = workInProgress; return (workInProgress.child = current); } function updateSimpleMemoComponent( current, workInProgress, Component, nextProps, renderLanes ) { if (null !== current) { var prevProps = current.memoizedProps; if ( shallowEqual(prevProps, nextProps) && current.ref === workInProgress.ref ) if ( ((didReceiveUpdate = !1), (workInProgress.pendingProps = nextProps = prevProps), checkScheduledUpdateOrContext(current, renderLanes)) ) 0 !== (current.flags & 131072) && (didReceiveUpdate = !0); else return ( (workInProgress.lanes = current.lanes), bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes) ); } return updateFunctionComponent( current, workInProgress, Component, nextProps, renderLanes ); } function updateOffscreenComponent( current, workInProgress, renderLanes, nextProps ) { var nextChildren = nextProps.children, prevState = null !== current ? current.memoizedState : null; null === current && null === workInProgress.stateNode && (workInProgress.stateNode = { _visibility: 1, _pendingMarkers: null, _retryCache: null, _transitions: null }); if ("hidden" === nextProps.mode) { if (0 !== (workInProgress.flags & 128)) { nextProps = null !== prevState ? prevState.baseLanes | renderLanes : renderLanes; if (null !== current) { nextChildren = workInProgress.child = current.child; for (prevState = 0; null !== nextChildren; ) (prevState = prevState | nextChildren.lanes | nextChildren.childLanes), (nextChildren = nextChildren.sibling); workInProgress.childLanes = prevState & ~nextProps; } else (workInProgress.childLanes = 0), (workInProgress.child = null); return deferHiddenOffscreenComponent( current, workInProgress, nextProps, renderLanes ); } if (0 !== (renderLanes & 536870912)) (workInProgress.memoizedState = { baseLanes: 0, cachePool: null }), null !== current && pushTransition( workInProgress, null !== prevState ? prevState.cachePool : null ), null !== prevState ? pushHiddenContext(workInProgress, prevState) : reuseHiddenContextOnStack(), pushOffscreenSuspenseHandler(workInProgress); else return ( (workInProgress.lanes = workInProgress.childLanes = 536870912), deferHiddenOffscreenComponent( current, workInProgress, null !== prevState ? prevState.baseLanes | renderLanes : renderLanes, renderLanes ) ); } else null !== prevState ? (pushTransition(workInProgress, prevState.cachePool), pushHiddenContext(workInProgress, prevState), reuseSuspenseHandlerOnStack(workInProgress), (workInProgress.memoizedState = null)) : (null !== current && pushTransition(workInProgress, null), reuseHiddenContextOnStack(), reuseSuspenseHandlerOnStack(workInProgress)); reconcileChildren(current, workInProgress, nextChildren, renderLanes); return workInProgress.child; } function bailoutOffscreenComponent(current, workInProgress) { (null !== current && 22 === current.tag) || null !== workInProgress.stateNode || (workInProgress.stateNode = { _visibility: 1, _pendingMarkers: null, _retryCache: null, _transitions: null }); return workInProgress.sibling; } function deferHiddenOffscreenComponent( current, workInProgress, nextBaseLanes, renderLanes ) { var JSCompiler_inline_result = peekCacheFromPool(); JSCompiler_inline_result = null === JSCompiler_inline_result ? null : { parent: CacheContext._currentValue, pool: JSCompiler_inline_result }; workInProgress.memoizedState = { baseLanes: nextBaseLanes, cachePool: JSCompiler_inline_result }; null !== current && pushTransition(workInProgress, null); reuseHiddenContextOnStack(); pushOffscreenSuspenseHandler(workInProgress); null !== current && propagateParentContextChanges(current, workInProgress, renderLanes, !0); return null; } function mountActivityChildren(workInProgress, nextProps) { nextProps = mountWorkInProgressOffscreenFiber( { mode: nextProps.mode, children: nextProps.children }, workInProgress.mode ); nextProps.ref = workInProgress.ref; workInProgress.child = nextProps; nextProps.return = workInProgress; return nextProps; } function retryActivityComponentWithoutHydrating( current, workInProgress, renderLanes ) { reconcileChildFibers(workInProgress, current.child, null, renderLanes); current = mountActivityChildren(workInProgress, workInProgress.pendingProps); current.flags |= 2; popSuspenseHandler(workInProgress); workInProgress.memoizedState = null; return current; } function updateActivityComponent(current, workInProgress, renderLanes) { var nextProps = workInProgress.pendingProps, didSuspend = 0 !== (workInProgress.flags & 128); workInProgress.flags &= -129; if (null === current) { if (isHydrating) { if ("hidden" === nextProps.mode) return ( (current = mountActivityChildren(workInProgress, nextProps)), (workInProgress.lanes = 536870912), bailoutOffscreenComponent(null, current) ); pushDehydratedActivitySuspenseHandler(workInProgress); (current = nextHydratableInstance) ? ((current = canHydrateHydrationBoundary( current, rootOrSingletonContext )), (current = null !== current && "&" === current.data ? current : null), null !== current && ((workInProgress.memoizedState = { dehydrated: current, treeContext: null !== treeContextProvider ? { id: treeContextId, overflow: treeContextOverflow } : null, retryLane: 536870912, hydrationErrors: null }), (renderLanes = createFiberFromDehydratedFragment(current)), (renderLanes.return = workInProgress), (workInProgress.child = renderLanes), (hydrationParentFiber = workInProgress), (nextHydratableInstance = null))) : (current = null); if (null === current) throw throwOnHydrationMismatch(workInProgress); workInProgress.lanes = 536870912; return null; } return mountActivityChildren(workInProgress, nextProps); } var prevState = current.memoizedState; if (null !== prevState) { var dehydrated = prevState.dehydrated; pushDehydratedActivitySuspenseHandler(workInProgress); if (didSuspend) if (workInProgress.flags & 256) (workInProgress.flags &= -257), (workInProgress = retryActivityComponentWithoutHydrating( current, workInProgress, renderLanes )); else if (null !== workInProgress.memoizedState) (workInProgress.child = current.child), (workInProgress.flags |= 128), (workInProgress = null); else throw Error(formatProdErrorMessage(558)); else if ( (didReceiveUpdate || propagateParentContextChanges(current, workInProgress, renderLanes, !1), (didSuspend = 0 !== (renderLanes & current.childLanes)), didReceiveUpdate || didSuspend) ) { nextProps = workInProgressRoot; if ( null !== nextProps && ((dehydrated = getBumpedLaneForHydration(nextProps, renderLanes)), 0 !== dehydrated && dehydrated !== prevState.retryLane) ) throw ( ((prevState.retryLane = dehydrated), enqueueConcurrentRenderForLane(current, dehydrated), scheduleUpdateOnFiber(nextProps, current, dehydrated), SelectiveHydrationException) ); renderDidSuspendDelayIfPossible(); workInProgress = retryActivityComponentWithoutHydrating( current, workInProgress, renderLanes ); } else (current = prevState.treeContext), (nextHydratableInstance = getNextHydratable(dehydrated.nextSibling)), (hydrationParentFiber = workInProgress), (isHydrating = !0), (hydrationErrors = null), (rootOrSingletonContext = !1), null !== current && restoreSuspendedTreeContext(workInProgress, current), (workInProgress = mountActivityChildren(workInProgress, nextProps)), (workInProgress.flags |= 4096); return workInProgress; } current = createWorkInProgress(current.child, { mode: nextProps.mode, children: nextProps.children }); current.ref = workInProgress.ref; workInProgress.child = current; current.return = workInProgress; return current; } function markRef(current, workInProgress) { var ref = workInProgress.ref; if (null === ref) null !== current && null !== current.ref && (workInProgress.flags |= 4194816); else { if ("function" !== typeof ref && "object" !== typeof ref) throw Error(formatProdErrorMessage(284)); if (null === current || current.ref !== ref) workInProgress.flags |= 4194816; } } function updateFunctionComponent( current, workInProgress, Component, nextProps, renderLanes ) { prepareToReadContext(workInProgress); Component = renderWithHooks( current, workInProgress, Component, nextProps, void 0, renderLanes ); nextProps = checkDidRenderIdHook(); if (null !== current && !didReceiveUpdate) return ( bailoutHooks(current, workInProgress, renderLanes), bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes) ); isHydrating && nextProps && pushMaterializedTreeId(workInProgress); workInProgress.flags |= 1; reconcileChildren(current, workInProgress, Component, renderLanes); return workInProgress.child; } function replayFunctionComponent( current, workInProgress, nextProps, Component, secondArg, renderLanes ) { prepareToReadContext(workInProgress); workInProgress.updateQueue = null; nextProps = renderWithHooksAgain( workInProgress, Component, nextProps, secondArg ); finishRenderingHooks(current); Component = checkDidRenderIdHook(); if (null !== current && !didReceiveUpdate) return ( bailoutHooks(current, workInProgress, renderLanes), bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes) ); isHydrating && Component && pushMaterializedTreeId(workInProgress); workInProgress.flags |= 1; reconcileChildren(current, workInProgress, nextProps, renderLanes); return workInProgress.child; } function updateClassComponent( current, workInProgress, Component, nextProps, renderLanes ) { prepareToReadContext(workInProgress); if (null === workInProgress.stateNode) { var context = emptyContextObject, contextType = Component.contextType; "object" === typeof contextType && null !== contextType && (context = readContext(contextType)); context = new Component(nextProps, context); workInProgress.memoizedState = null !== context.state && void 0 !== context.state ? context.state : null; context.updater = classComponentUpdater; workInProgress.stateNode = context; context._reactInternals = workInProgress; context = workInProgress.stateNode; context.props = nextProps; context.state = workInProgress.memoizedState; context.refs = {}; initializeUpdateQueue(workInProgress); contextType = Component.contextType; context.context = "object" === typeof contextType && null !== contextType ? readContext(contextType) : emptyContextObject; context.state = workInProgress.memoizedState; contextType = Component.getDerivedStateFromProps; "function" === typeof contextType && (applyDerivedStateFromProps( workInProgress, Component, contextType, nextProps ), (context.state = workInProgress.memoizedState)); "function" === typeof Component.getDerivedStateFromProps || "function" === typeof context.getSnapshotBeforeUpdate || ("function" !== typeof context.UNSAFE_componentWillMount && "function" !== typeof context.componentWillMount) || ((contextType = context.state), "function" === typeof context.componentWillMount && context.componentWillMount(), "function" === typeof context.UNSAFE_componentWillMount && context.UNSAFE_componentWillMount(), contextType !== context.state && classComponentUpdater.enqueueReplaceState(context, context.state, null), processUpdateQueue(workInProgress, nextProps, context, renderLanes), suspendIfUpdateReadFromEntangledAsyncAction(), (context.state = workInProgress.memoizedState)); "function" === typeof context.componentDidMount && (workInProgress.flags |= 4194308); nextProps = !0; } else if (null === current) { context = workInProgress.stateNode; var unresolvedOldProps = workInProgress.memoizedProps, oldProps = resolveClassComponentProps(Component, unresolvedOldProps); context.props = oldProps; var oldContext = context.context, contextType$jscomp$0 = Component.contextType; contextType = emptyContextObject; "object" === typeof contextType$jscomp$0 && null !== contextType$jscomp$0 && (contextType = readContext(contextType$jscomp$0)); var getDerivedStateFromProps = Component.getDerivedStateFromProps; contextType$jscomp$0 = "function" === typeof getDerivedStateFromProps || "function" === typeof context.getSnapshotBeforeUpdate; unresolvedOldProps = workInProgress.pendingProps !== unresolvedOldProps; contextType$jscomp$0 || ("function" !== typeof context.UNSAFE_componentWillReceiveProps && "function" !== typeof context.componentWillReceiveProps) || ((unresolvedOldProps || oldContext !== contextType) && callComponentWillReceiveProps( workInProgress, context, nextProps, contextType )); hasForceUpdate = !1; var oldState = workInProgress.memoizedState; context.state = oldState; processUpdateQueue(workInProgress, nextProps, context, renderLanes); suspendIfUpdateReadFromEntangledAsyncAction(); oldContext = workInProgress.memoizedState; unresolvedOldProps || oldState !== oldContext || hasForceUpdate ? ("function" === typeof getDerivedStateFromProps && (applyDerivedStateFromProps( workInProgress, Component, getDerivedStateFromProps, nextProps ), (oldContext = workInProgress.memoizedState)), (oldProps = hasForceUpdate || checkShouldComponentUpdate( workInProgress, Component, oldProps, nextProps, oldState, oldContext, contextType )) ? (contextType$jscomp$0 || ("function" !== typeof context.UNSAFE_componentWillMount && "function" !== typeof context.componentWillMount) || ("function" === typeof context.componentWillMount && context.componentWillMount(), "function" === typeof context.UNSAFE_componentWillMount && context.UNSAFE_componentWillMount()), "function" === typeof context.componentDidMount && (workInProgress.flags |= 4194308)) : ("function" === typeof context.componentDidMount && (workInProgress.flags |= 4194308), (workInProgress.memoizedProps = nextProps), (workInProgress.memoizedState = oldContext)), (context.props = nextProps), (context.state = oldContext), (context.context = contextType), (nextProps = oldProps)) : ("function" === typeof context.componentDidMount && (workInProgress.flags |= 4194308), (nextProps = !1)); } else { context = workInProgress.stateNode; cloneUpdateQueue(current, workInProgress); contextType = workInProgress.memoizedProps; contextType$jscomp$0 = resolveClassComponentProps(Component, contextType); context.props = contextType$jscomp$0; getDerivedStateFromProps = workInProgress.pendingProps; oldState = context.context; oldContext = Component.contextType; oldProps = emptyContextObject; "object" === typeof oldContext && null !== oldContext && (oldProps = readContext(oldContext)); unresolvedOldProps = Component.getDerivedStateFromProps; (oldContext = "function" === typeof unresolvedOldProps || "function" === typeof context.getSnapshotBeforeUpdate) || ("function" !== typeof context.UNSAFE_componentWillReceiveProps && "function" !== typeof context.componentWillReceiveProps) || ((contextType !== getDerivedStateFromProps || oldState !== oldProps) && callComponentWillReceiveProps( workInProgress, context, nextProps, oldProps )); hasForceUpdate = !1; oldState = workInProgress.memoizedState; context.state = oldState; processUpdateQueue(workInProgress, nextProps, context, renderLanes); suspendIfUpdateReadFromEntangledAsyncAction(); var newState = workInProgress.memoizedState; contextType !== getDerivedStateFromProps || oldState !== newState || hasForceUpdate || (null !== current && null !== current.dependencies && checkIfContextChanged(current.dependencies)) ? ("function" === typeof unresolvedOldProps && (applyDerivedStateFromProps( workInProgress, Component, unresolvedOldProps, nextProps ), (newState = workInProgress.memoizedState)), (contextType$jscomp$0 = hasForceUpdate || checkShouldComponentUpdate( workInProgress, Component, contextType$jscomp$0, nextProps, oldState, newState, oldProps ) || (null !== current && null !== current.dependencies && checkIfContextChanged(current.dependencies))) ? (oldContext || ("function" !== typeof context.UNSAFE_componentWillUpdate && "function" !== typeof context.componentWillUpdate) || ("function" === typeof context.componentWillUpdate && context.componentWillUpdate(nextProps, newState, oldProps), "function" === typeof context.UNSAFE_componentWillUpdate && context.UNSAFE_componentWillUpdate( nextProps, newState, oldProps )), "function" === typeof context.componentDidUpdate && (workInProgress.flags |= 4), "function" === typeof context.getSnapshotBeforeUpdate && (workInProgress.flags |= 1024)) : ("function" !== typeof context.componentDidUpdate || (contextType === current.memoizedProps && oldState === current.memoizedState) || (workInProgress.flags |= 4), "function" !== typeof context.getSnapshotBeforeUpdate || (contextType === current.memoizedProps && oldState === current.memoizedState) || (workInProgress.flags |= 1024), (workInProgress.memoizedProps = nextProps), (workInProgress.memoizedState = newState)), (context.props = nextProps), (context.state = newState), (context.context = oldProps), (nextProps = contextType$jscomp$0)) : ("function" !== typeof context.componentDidUpdate || (contextType === current.memoizedProps && oldState === current.memoizedState) || (workInProgress.flags |= 4), "function" !== typeof context.getSnapshotBeforeUpdate || (contextType === current.memoizedProps && oldState === current.memoizedState) || (workInProgress.flags |= 1024), (nextProps = !1)); } context = nextProps; markRef(current, workInProgress); nextProps = 0 !== (workInProgress.flags & 128); context || nextProps ? ((context = workInProgress.stateNode), (Component = nextProps && "function" !== typeof Component.getDerivedStateFromError ? null : context.render()), (workInProgress.flags |= 1), null !== current && nextProps ? ((workInProgress.child = reconcileChildFibers( workInProgress, current.child, null, renderLanes )), (workInProgress.child = reconcileChildFibers( workInProgress, null, Component, renderLanes ))) : reconcileChildren(current, workInProgress, Component, renderLanes), (workInProgress.memoizedState = context.state), (current = workInProgress.child)) : (current = bailoutOnAlreadyFinishedWork( current, workInProgress, renderLanes )); return current; } function mountHostRootWithoutHydrating( current, workInProgress, nextChildren, renderLanes ) { resetHydrationState(); workInProgress.flags |= 256; reconcileChildren(current, workInProgress, nextChildren, renderLanes); return workInProgress.child; } var SUSPENDED_MARKER = { dehydrated: null, treeContext: null, retryLane: 0, hydrationErrors: null }; function mountSuspenseOffscreenState(renderLanes) { return { baseLanes: renderLanes, cachePool: getSuspendedCache() }; } function getRemainingWorkInPrimaryTree( current, primaryTreeDidDefer, renderLanes ) { current = null !== current ? current.childLanes & ~renderLanes : 0; primaryTreeDidDefer && (current |= workInProgressDeferredLane); return current; } function updateSuspenseComponent(current, workInProgress, renderLanes) { var nextProps = workInProgress.pendingProps, showFallback = !1, didSuspend = 0 !== (workInProgress.flags & 128), JSCompiler_temp; (JSCompiler_temp = didSuspend) || (JSCompiler_temp = null !== current && null === current.memoizedState ? !1 : 0 !== (suspenseStackCursor.current & 2)); JSCompiler_temp && ((showFallback = !0), (workInProgress.flags &= -129)); JSCompiler_temp = 0 !== (workInProgress.flags & 32); workInProgress.flags &= -33; if (null === current) { if (isHydrating) { showFallback ? pushPrimaryTreeSuspenseHandler(workInProgress) : reuseSuspenseHandlerOnStack(workInProgress); (current = nextHydratableInstance) ? ((current = canHydrateHydrationBoundary( current, rootOrSingletonContext )), (current = null !== current && "&" !== current.data ? current : null), null !== current && ((workInProgress.memoizedState = { dehydrated: current, treeContext: null !== treeContextProvider ? { id: treeContextId, overflow: treeContextOverflow } : null, retryLane: 536870912, hydrationErrors: null }), (renderLanes = createFiberFromDehydratedFragment(current)), (renderLanes.return = workInProgress), (workInProgress.child = renderLanes), (hydrationParentFiber = workInProgress), (nextHydratableInstance = null))) : (current = null); if (null === current) throw throwOnHydrationMismatch(workInProgress); isSuspenseInstanceFallback(current) ? (workInProgress.lanes = 32) : (workInProgress.lanes = 536870912); return null; } var nextPrimaryChildren = nextProps.children; nextProps = nextProps.fallback; if (showFallback) return ( reuseSuspenseHandlerOnStack(workInProgress), (showFallback = workInProgress.mode), (nextPrimaryChildren = mountWorkInProgressOffscreenFiber( { mode: "hidden", children: nextPrimaryChildren }, showFallback )), (nextProps = createFiberFromFragment( nextProps, showFallback, renderLanes, null )), (nextPrimaryChildren.return = workInProgress), (nextProps.return = workInProgress), (nextPrimaryChildren.sibling = nextProps), (workInProgress.child = nextPrimaryChildren), (nextProps = workInProgress.child), (nextProps.memoizedState = mountSuspenseOffscreenState(renderLanes)), (nextProps.childLanes = getRemainingWorkInPrimaryTree( current, JSCompiler_temp, renderLanes )), (workInProgress.memoizedState = SUSPENDED_MARKER), bailoutOffscreenComponent(null, nextProps) ); pushPrimaryTreeSuspenseHandler(workInProgress); return mountSuspensePrimaryChildren(workInProgress, nextPrimaryChildren); } var prevState = current.memoizedState; if ( null !== prevState && ((nextPrimaryChildren = prevState.dehydrated), null !== nextPrimaryChildren) ) { if (didSuspend) workInProgress.flags & 256 ? (pushPrimaryTreeSuspenseHandler(workInProgress), (workInProgress.flags &= -257), (workInProgress = retrySuspenseComponentWithoutHydrating( current, workInProgress, renderLanes ))) : null !== workInProgress.memoizedState ? (reuseSuspenseHandlerOnStack(workInProgress), (workInProgress.child = current.child), (workInProgress.flags |= 128), (workInProgress = null)) : (reuseSuspenseHandlerOnStack(workInProgress), (nextPrimaryChildren = nextProps.fallback), (showFallback = workInProgress.mode), (nextProps = mountWorkInProgressOffscreenFiber( { mode: "visible", children: nextProps.children }, showFallback )), (nextPrimaryChildren = createFiberFromFragment( nextPrimaryChildren, showFallback, renderLanes, null )), (nextPrimaryChildren.flags |= 2), (nextProps.return = workInProgress), (nextPrimaryChildren.return = workInProgress), (nextProps.sibling = nextPrimaryChildren), (workInProgress.child = nextProps), reconcileChildFibers( workInProgress, current.child, null, renderLanes ), (nextProps = workInProgress.child), (nextProps.memoizedState = mountSuspenseOffscreenState(renderLanes)), (nextProps.childLanes = getRemainingWorkInPrimaryTree( current, JSCompiler_temp, renderLanes )), (workInProgress.memoizedState = SUSPENDED_MARKER), (workInProgress = bailoutOffscreenComponent(null, nextProps))); else if ( (pushPrimaryTreeSuspenseHandler(workInProgress), isSuspenseInstanceFallback(nextPrimaryChildren)) ) { JSCompiler_temp = nextPrimaryChildren.nextSibling && nextPrimaryChildren.nextSibling.dataset; if (JSCompiler_temp) var digest = JSCompiler_temp.dgst; JSCompiler_temp = digest; nextProps = Error(formatProdErrorMessage(419)); nextProps.stack = ""; nextProps.digest = JSCompiler_temp; queueHydrationError({ value: nextProps, source: null, stack: null }); workInProgress = retrySuspenseComponentWithoutHydrating( current, workInProgress, renderLanes ); } else if ( (didReceiveUpdate || propagateParentContextChanges(current, workInProgress, renderLanes, !1), (JSCompiler_temp = 0 !== (renderLanes & current.childLanes)), didReceiveUpdate || JSCompiler_temp) ) { JSCompiler_temp = workInProgressRoot; if ( null !== JSCompiler_temp && ((nextProps = getBumpedLaneForHydration(JSCompiler_temp, renderLanes)), 0 !== nextProps && nextProps !== prevState.retryLane) ) throw ( ((prevState.retryLane = nextProps), enqueueConcurrentRenderForLane(current, nextProps), scheduleUpdateOnFiber(JSCompiler_temp, current, nextProps), SelectiveHydrationException) ); isSuspenseInstancePending(nextPrimaryChildren) || renderDidSuspendDelayIfPossible(); workInProgress = retrySuspenseComponentWithoutHydrating( current, workInProgress, renderLanes ); } else isSuspenseInstancePending(nextPrimaryChildren) ? ((workInProgress.flags |= 192), (workInProgress.child = current.child), (workInProgress = null)) : ((current = prevState.treeContext), (nextHydratableInstance = getNextHydratable( nextPrimaryChildren.nextSibling )), (hydrationParentFiber = workInProgress), (isHydrating = !0), (hydrationErrors = null), (rootOrSingletonContext = !1), null !== current && restoreSuspendedTreeContext(workInProgress, current), (workInProgress = mountSuspensePrimaryChildren( workInProgress, nextProps.children )), (workInProgress.flags |= 4096)); return workInProgress; } if (showFallback) return ( reuseSuspenseHandlerOnStack(workInProgress), (nextPrimaryChildren = nextProps.fallback), (showFallback = workInProgress.mode), (prevState = current.child), (digest = prevState.sibling), (nextProps = createWorkInProgress(prevState, { mode: "hidden", children: nextProps.children })), (nextProps.subtreeFlags = prevState.subtreeFlags & 65011712), null !== digest ? (nextPrimaryChildren = createWorkInProgress( digest, nextPrimaryChildren )) : ((nextPrimaryChildren = createFiberFromFragment( nextPrimaryChildren, showFallback, renderLanes, null )), (nextPrimaryChildren.flags |= 2)), (nextPrimaryChildren.return = workInProgress), (nextProps.return = workInProgress), (nextProps.sibling = nextPrimaryChildren), (workInProgress.child = nextProps), bailoutOffscreenComponent(null, nextProps), (nextProps = workInProgress.child), (nextPrimaryChildren = current.child.memoizedState), null === nextPrimaryChildren ? (nextPrimaryChildren = mountSuspenseOffscreenState(renderLanes)) : ((showFallback = nextPrimaryChildren.cachePool), null !== showFallback ? ((prevState = CacheContext._currentValue), (showFallback = showFallback.parent !== prevState ? { parent: prevState, pool: prevState } : showFallback)) : (showFallback = getSuspendedCache()), (nextPrimaryChildren = { baseLanes: nextPrimaryChildren.baseLanes | renderLanes, cachePool: showFallback })), (nextProps.memoizedState = nextPrimaryChildren), (nextProps.childLanes = getRemainingWorkInPrimaryTree( current, JSCompiler_temp, renderLanes )), (workInProgress.memoizedState = SUSPENDED_MARKER), bailoutOffscreenComponent(current.child, nextProps) ); pushPrimaryTreeSuspenseHandler(workInProgress); renderLanes = current.child; current = renderLanes.sibling; renderLanes = createWorkInProgress(renderLanes, { mode: "visible", children: nextProps.children }); renderLanes.return = workInProgress; renderLanes.sibling = null; null !== current && ((JSCompiler_temp = workInProgress.deletions), null === JSCompiler_temp ? ((workInProgress.deletions = [current]), (workInProgress.flags |= 16)) : JSCompiler_temp.push(current)); workInProgress.child = renderLanes; workInProgress.memoizedState = null; return renderLanes; } function mountSuspensePrimaryChildren(workInProgress, primaryChildren) { primaryChildren = mountWorkInProgressOffscreenFiber( { mode: "visible", children: primaryChildren }, workInProgress.mode ); primaryChildren.return = workInProgress; return (workInProgress.child = primaryChildren); } function mountWorkInProgressOffscreenFiber(offscreenProps, mode) { offscreenProps = createFiberImplClass(22, offscreenProps, null, mode); offscreenProps.lanes = 0; return offscreenProps; } function retrySuspenseComponentWithoutHydrating( current, workInProgress, renderLanes ) { reconcileChildFibers(workInProgress, current.child, null, renderLanes); current = mountSuspensePrimaryChildren( workInProgress, workInProgress.pendingProps.children ); current.flags |= 2; workInProgress.memoizedState = null; return current; } function scheduleSuspenseWorkOnFiber(fiber, renderLanes, propagationRoot) { fiber.lanes |= renderLanes; var alternate = fiber.alternate; null !== alternate && (alternate.lanes |= renderLanes); scheduleContextWorkOnParentPath(fiber.return, renderLanes, propagationRoot); } function initSuspenseListRenderState( workInProgress, isBackwards, tail, lastContentRow, tailMode, treeForkCount ) { var renderState = workInProgress.memoizedState; null === renderState ? (workInProgress.memoizedState = { isBackwards: isBackwards, rendering: null, renderingStartTime: 0, last: lastContentRow, tail: tail, tailMode: tailMode, treeForkCount: treeForkCount }) : ((renderState.isBackwards = isBackwards), (renderState.rendering = null), (renderState.renderingStartTime = 0), (renderState.last = lastContentRow), (renderState.tail = tail), (renderState.tailMode = tailMode), (renderState.treeForkCount = treeForkCount)); } function updateSuspenseListComponent(current, workInProgress, renderLanes) { var nextProps = workInProgress.pendingProps, revealOrder = nextProps.revealOrder, tailMode = nextProps.tail; nextProps = nextProps.children; var suspenseContext = suspenseStackCursor.current, shouldForceFallback = 0 !== (suspenseContext & 2); shouldForceFallback ? ((suspenseContext = (suspenseContext & 1) | 2), (workInProgress.flags |= 128)) : (suspenseContext &= 1); push(suspenseStackCursor, suspenseContext); reconcileChildren(current, workInProgress, nextProps, renderLanes); nextProps = isHydrating ? treeForkCount : 0; if (!shouldForceFallback && null !== current && 0 !== (current.flags & 128)) a: for (current = workInProgress.child; null !== current; ) { if (13 === current.tag) null !== current.memoizedState && scheduleSuspenseWorkOnFiber(current, renderLanes, workInProgress); else if (19 === current.tag) scheduleSuspenseWorkOnFiber(current, renderLanes, workInProgress); else if (null !== current.child) { current.child.return = current; current = current.child; continue; } if (current === workInProgress) break a; for (; null === current.sibling; ) { if (null === current.return || current.return === workInProgress) break a; current = current.return; } current.sibling.return = current.return; current = current.sibling; } switch (revealOrder) { case "forwards": renderLanes = workInProgress.child; for (revealOrder = null; null !== renderLanes; ) (current = renderLanes.alternate), null !== current && null === findFirstSuspended(current) && (revealOrder = renderLanes), (renderLanes = renderLanes.sibling); renderLanes = revealOrder; null === renderLanes ? ((revealOrder = workInProgress.child), (workInProgress.child = null)) : ((revealOrder = renderLanes.sibling), (renderLanes.sibling = null)); initSuspenseListRenderState( workInProgress, !1, revealOrder, renderLanes, tailMode, nextProps ); break; case "backwards": case "unstable_legacy-backwards": renderLanes = null; revealOrder = workInProgress.child; for (workInProgress.child = null; null !== revealOrder; ) { current = revealOrder.alternate; if (null !== current && null === findFirstSuspended(current)) { workInProgress.child = revealOrder; break; } current = revealOrder.sibling; revealOrder.sibling = renderLanes; renderLanes = revealOrder; revealOrder = current; } initSuspenseListRenderState( workInProgress, !0, renderLanes, null, tailMode, nextProps ); break; case "together": initSuspenseListRenderState( workInProgress, !1, null, null, void 0, nextProps ); break; default: workInProgress.memoizedState = null; } return workInProgress.child; } function bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes) { null !== current && (workInProgress.dependencies = current.dependencies); workInProgressRootSkippedLanes |= workInProgress.lanes; if (0 === (renderLanes & workInProgress.childLanes)) if (null !== current) { if ( (propagateParentContextChanges( current, workInProgress, renderLanes, !1 ), 0 === (renderLanes & workInProgress.childLanes)) ) return null; } else return null; if (null !== current && workInProgress.child !== current.child) throw Error(formatProdErrorMessage(153)); if (null !== workInProgress.child) { current = workInProgress.child; renderLanes = createWorkInProgress(current, current.pendingProps); workInProgress.child = renderLanes; for (renderLanes.return = workInProgress; null !== current.sibling; ) (current = current.sibling), (renderLanes = renderLanes.sibling = createWorkInProgress(current, current.pendingProps)), (renderLanes.return = workInProgress); renderLanes.sibling = null; } return workInProgress.child; } function checkScheduledUpdateOrContext(current, renderLanes) { if (0 !== (current.lanes & renderLanes)) return !0; current = current.dependencies; return null !== current && checkIfContextChanged(current) ? !0 : !1; } function attemptEarlyBailoutIfNoScheduledUpdate( current, workInProgress, renderLanes ) { switch (workInProgress.tag) { case 3: pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo); pushProvider(workInProgress, CacheContext, current.memoizedState.cache); resetHydrationState(); break; case 27: case 5: pushHostContext(workInProgress); break; case 4: pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo); break; case 10: pushProvider( workInProgress, workInProgress.type, workInProgress.memoizedProps.value ); break; case 31: if (null !== workInProgress.memoizedState) return ( (workInProgress.flags |= 128), pushDehydratedActivitySuspenseHandler(workInProgress), null ); break; case 13: var state$101 = workInProgress.memoizedState; if (null !== state$101) { if (null !== state$101.dehydrated) return ( pushPrimaryTreeSuspenseHandler(workInProgress), (workInProgress.flags |= 128), null ); if (0 !== (renderLanes & workInProgress.child.childLanes)) return updateSuspenseComponent(current, workInProgress, renderLanes); pushPrimaryTreeSuspenseHandler(workInProgress); current = bailoutOnAlreadyFinishedWork( current, workInProgress, renderLanes ); return null !== current ? current.sibling : null; } pushPrimaryTreeSuspenseHandler(workInProgress); break; case 19: var didSuspendBefore = 0 !== (current.flags & 128); state$101 = 0 !== (renderLanes & workInProgress.childLanes); state$101 || (propagateParentContextChanges( current, workInProgress, renderLanes, !1 ), (state$101 = 0 !== (renderLanes & workInProgress.childLanes))); if (didSuspendBefore) { if (state$101) return updateSuspenseListComponent( current, workInProgress, renderLanes ); workInProgress.flags |= 128; } didSuspendBefore = workInProgress.memoizedState; null !== didSuspendBefore && ((didSuspendBefore.rendering = null), (didSuspendBefore.tail = null), (didSuspendBefore.lastEffect = null)); push(suspenseStackCursor, suspenseStackCursor.current); if (state$101) break; else return null; case 22: return ( (workInProgress.lanes = 0), updateOffscreenComponent( current, workInProgress, renderLanes, workInProgress.pendingProps ) ); case 24: pushProvider(workInProgress, CacheContext, current.memoizedState.cache); } return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes); } function beginWork(current, workInProgress, renderLanes) { if (null !== current) if (current.memoizedProps !== workInProgress.pendingProps) didReceiveUpdate = !0; else { if ( !checkScheduledUpdateOrContext(current, renderLanes) && 0 === (workInProgress.flags & 128) ) return ( (didReceiveUpdate = !1), attemptEarlyBailoutIfNoScheduledUpdate( current, workInProgress, renderLanes ) ); didReceiveUpdate = 0 !== (current.flags & 131072) ? !0 : !1; } else (didReceiveUpdate = !1), isHydrating && 0 !== (workInProgress.flags & 1048576) && pushTreeId(workInProgress, treeForkCount, workInProgress.index); workInProgress.lanes = 0; switch (workInProgress.tag) { case 16: a: { var props = workInProgress.pendingProps; current = resolveLazy(workInProgress.elementType); workInProgress.type = current; if ("function" === typeof current) shouldConstruct(current) ? ((props = resolveClassComponentProps(current, props)), (workInProgress.tag = 1), (workInProgress = updateClassComponent( null, workInProgress, current, props, renderLanes ))) : ((workInProgress.tag = 0), (workInProgress = updateFunctionComponent( null, workInProgress, current, props, renderLanes ))); else { if (void 0 !== current && null !== current) { var $$typeof = current.$$typeof; if ($$typeof === REACT_FORWARD_REF_TYPE) { workInProgress.tag = 11; workInProgress = updateForwardRef( null, workInProgress, current, props, renderLanes ); break a; } else if ($$typeof === REACT_MEMO_TYPE) { workInProgress.tag = 14; workInProgress = updateMemoComponent( null, workInProgress, current, props, renderLanes ); break a; } } workInProgress = getComponentNameFromType(current) || current; throw Error(formatProdErrorMessage(306, workInProgress, "")); } } return workInProgress; case 0: return updateFunctionComponent( current, workInProgress, workInProgress.type, workInProgress.pendingProps, renderLanes ); case 1: return ( (props = workInProgress.type), ($$typeof = resolveClassComponentProps( props, workInProgress.pendingProps )), updateClassComponent( current, workInProgress, props, $$typeof, renderLanes ) ); case 3: a: { pushHostContainer( workInProgress, workInProgress.stateNode.containerInfo ); if (null === current) throw Error(formatProdErrorMessage(387)); props = workInProgress.pendingProps; var prevState = workInProgress.memoizedState; $$typeof = prevState.element; cloneUpdateQueue(current, workInProgress); processUpdateQueue(workInProgress, props, null, renderLanes); var nextState = workInProgress.memoizedState; props = nextState.cache; pushProvider(workInProgress, CacheContext, props); props !== prevState.cache && propagateContextChanges( workInProgress, [CacheContext], renderLanes, !0 ); suspendIfUpdateReadFromEntangledAsyncAction(); props = nextState.element; if (prevState.isDehydrated) if ( ((prevState = { element: props, isDehydrated: !1, cache: nextState.cache }), (workInProgress.updateQueue.baseState = prevState), (workInProgress.memoizedState = prevState), workInProgress.flags & 256) ) { workInProgress = mountHostRootWithoutHydrating( current, workInProgress, props, renderLanes ); break a; } else if (props !== $$typeof) { $$typeof = createCapturedValueAtFiber( Error(formatProdErrorMessage(424)), workInProgress ); queueHydrationError($$typeof); workInProgress = mountHostRootWithoutHydrating( current, workInProgress, props, renderLanes ); break a; } else { current = workInProgress.stateNode.containerInfo; switch (current.nodeType) { case 9: current = current.body; break; default: current = "HTML" === current.nodeName ? current.ownerDocument.body : current; } nextHydratableInstance = getNextHydratable(current.firstChild); hydrationParentFiber = workInProgress; isHydrating = !0; hydrationErrors = null; rootOrSingletonContext = !0; renderLanes = mountChildFibers( workInProgress, null, props, renderLanes ); for (workInProgress.child = renderLanes; renderLanes; ) (renderLanes.flags = (renderLanes.flags & -3) | 4096), (renderLanes = renderLanes.sibling); } else { resetHydrationState(); if (props === $$typeof) { workInProgress = bailoutOnAlreadyFinishedWork( current, workInProgress, renderLanes ); break a; } reconcileChildren(current, workInProgress, props, renderLanes); } workInProgress = workInProgress.child; } return workInProgress; case 26: return ( markRef(current, workInProgress), null === current ? (renderLanes = getResource( workInProgress.type, null, workInProgress.pendingProps, null )) ? (workInProgress.memoizedState = renderLanes) : isHydrating || ((renderLanes = workInProgress.type), (current = workInProgress.pendingProps), (props = getOwnerDocumentFromRootContainer( rootInstanceStackCursor.current ).createElement(renderLanes)), (props[internalInstanceKey] = workInProgress), (props[internalPropsKey] = current), setInitialProperties(props, renderLanes, current), markNodeAsHoistable(props), (workInProgress.stateNode = props)) : (workInProgress.memoizedState = getResource( workInProgress.type, current.memoizedProps, workInProgress.pendingProps, current.memoizedState )), null ); case 27: return ( pushHostContext(workInProgress), null === current && isHydrating && ((props = workInProgress.stateNode = resolveSingletonInstance( workInProgress.type, workInProgress.pendingProps, rootInstanceStackCursor.current )), (hydrationParentFiber = workInProgress), (rootOrSingletonContext = !0), ($$typeof = nextHydratableInstance), isSingletonScope(workInProgress.type) ? ((previousHydratableOnEnteringScopedSingleton = $$typeof), (nextHydratableInstance = getNextHydratable(props.firstChild))) : (nextHydratableInstance = $$typeof)), reconcileChildren( current, workInProgress, workInProgress.pendingProps.children, renderLanes ), markRef(current, workInProgress), null === current && (workInProgress.flags |= 4194304), workInProgress.child ); case 5: if (null === current && isHydrating) { if (($$typeof = props = nextHydratableInstance)) (props = canHydrateInstance( props, workInProgress.type, workInProgress.pendingProps, rootOrSingletonContext )), null !== props ? ((workInProgress.stateNode = props), (hydrationParentFiber = workInProgress), (nextHydratableInstance = getNextHydratable(props.firstChild)), (rootOrSingletonContext = !1), ($$typeof = !0)) : ($$typeof = !1); $$typeof || throwOnHydrationMismatch(workInProgress); } pushHostContext(workInProgress); $$typeof = workInProgress.type; prevState = workInProgress.pendingProps; nextState = null !== current ? current.memoizedProps : null; props = prevState.children; shouldSetTextContent($$typeof, prevState) ? (props = null) : null !== nextState && shouldSetTextContent($$typeof, nextState) && (workInProgress.flags |= 32); null !== workInProgress.memoizedState && (($$typeof = renderWithHooks( current, workInProgress, TransitionAwareHostComponent, null, null, renderLanes )), (HostTransitionContext._currentValue = $$typeof)); markRef(current, workInProgress); reconcileChildren(current, workInProgress, props, renderLanes); return workInProgress.child; case 6: if (null === current && isHydrating) { if ((current = renderLanes = nextHydratableInstance)) (renderLanes = canHydrateTextInstance( renderLanes, workInProgress.pendingProps, rootOrSingletonContext )), null !== renderLanes ? ((workInProgress.stateNode = renderLanes), (hydrationParentFiber = workInProgress), (nextHydratableInstance = null), (current = !0)) : (current = !1); current || throwOnHydrationMismatch(workInProgress); } return null; case 13: return updateSuspenseComponent(current, workInProgress, renderLanes); case 4: return ( pushHostContainer( workInProgress, workInProgress.stateNode.containerInfo ), (props = workInProgress.pendingProps), null === current ? (workInProgress.child = reconcileChildFibers( workInProgress, null, props, renderLanes )) : reconcileChildren(current, workInProgress, props, renderLanes), workInProgress.child ); case 11: return updateForwardRef( current, workInProgress, workInProgress.type, workInProgress.pendingProps, renderLanes ); case 7: return ( reconcileChildren( current, workInProgress, workInProgress.pendingProps, renderLanes ), workInProgress.child ); case 8: return ( reconcileChildren( current, workInProgress, workInProgress.pendingProps.children, renderLanes ), workInProgress.child ); case 12: return ( reconcileChildren( current, workInProgress, workInProgress.pendingProps.children, renderLanes ), workInProgress.child ); case 10: return ( (props = workInProgress.pendingProps), pushProvider(workInProgress, workInProgress.type, props.value), reconcileChildren(current, workInProgress, props.children, renderLanes), workInProgress.child ); case 9: return ( ($$typeof = workInProgress.type._context), (props = workInProgress.pendingProps.children), prepareToReadContext(workInProgress), ($$typeof = readContext($$typeof)), (props = props($$typeof)), (workInProgress.flags |= 1), reconcileChildren(current, workInProgress, props, renderLanes), workInProgress.child ); case 14: return updateMemoComponent( current, workInProgress, workInProgress.type, workInProgress.pendingProps, renderLanes ); case 15: return updateSimpleMemoComponent( current, workInProgress, workInProgress.type, workInProgress.pendingProps, renderLanes ); case 19: return updateSuspenseListComponent(current, workInProgress, renderLanes); case 31: return updateActivityComponent(current, workInProgress, renderLanes); case 22: return updateOffscreenComponent( current, workInProgress, renderLanes, workInProgress.pendingProps ); case 24: return ( prepareToReadContext(workInProgress), (props = readContext(CacheContext)), null === current ? (($$typeof = peekCacheFromPool()), null === $$typeof && (($$typeof = workInProgressRoot), (prevState = createCache()), ($$typeof.pooledCache = prevState), prevState.refCount++, null !== prevState && ($$typeof.pooledCacheLanes |= renderLanes), ($$typeof = prevState)), (workInProgress.memoizedState = { parent: props, cache: $$typeof }), initializeUpdateQueue(workInProgress), pushProvider(workInProgress, CacheContext, $$typeof)) : (0 !== (current.lanes & renderLanes) && (cloneUpdateQueue(current, workInProgress), processUpdateQueue(workInProgress, null, null, renderLanes), suspendIfUpdateReadFromEntangledAsyncAction()), ($$typeof = current.memoizedState), (prevState = workInProgress.memoizedState), $$typeof.parent !== props ? (($$typeof = { parent: props, cache: props }), (workInProgress.memoizedState = $$typeof), 0 === workInProgress.lanes && (workInProgress.memoizedState = workInProgress.updateQueue.baseState = $$typeof), pushProvider(workInProgress, CacheContext, props)) : ((props = prevState.cache), pushProvider(workInProgress, CacheContext, props), props !== $$typeof.cache && propagateContextChanges( workInProgress, [CacheContext], renderLanes, !0 ))), reconcileChildren( current, workInProgress, workInProgress.pendingProps.children, renderLanes ), workInProgress.child ); case 29: throw workInProgress.pendingProps; } throw Error(formatProdErrorMessage(156, workInProgress.tag)); } function markUpdate(workInProgress) { workInProgress.flags |= 4; } function preloadInstanceAndSuspendIfNeeded( workInProgress, type, oldProps, newProps, renderLanes ) { if ((type = 0 !== (workInProgress.mode & 32))) type = !1; if (type) { if ( ((workInProgress.flags |= 16777216), (renderLanes & 335544128) === renderLanes) ) if (workInProgress.stateNode.complete) workInProgress.flags |= 8192; else if (shouldRemainOnPreviousScreen()) workInProgress.flags |= 8192; else throw ( ((suspendedThenable = noopSuspenseyCommitThenable), SuspenseyCommitException) ); } else workInProgress.flags &= -16777217; } function preloadResourceAndSuspendIfNeeded(workInProgress, resource) { if ("stylesheet" !== resource.type || 0 !== (resource.state.loading & 4)) workInProgress.flags &= -16777217; else if (((workInProgress.flags |= 16777216), !preloadResource(resource))) if (shouldRemainOnPreviousScreen()) workInProgress.flags |= 8192; else throw ( ((suspendedThenable = noopSuspenseyCommitThenable), SuspenseyCommitException) ); } function scheduleRetryEffect(workInProgress, retryQueue) { null !== retryQueue && (workInProgress.flags |= 4); workInProgress.flags & 16384 && ((retryQueue = 22 !== workInProgress.tag ? claimNextRetryLane() : 536870912), (workInProgress.lanes |= retryQueue), (workInProgressSuspendedRetryLanes |= retryQueue)); } function cutOffTailIfNeeded(renderState, hasRenderedATailFallback) { if (!isHydrating) switch (renderState.tailMode) { case "hidden": hasRenderedATailFallback = renderState.tail; for (var lastTailNode = null; null !== hasRenderedATailFallback; ) null !== hasRenderedATailFallback.alternate && (lastTailNode = hasRenderedATailFallback), (hasRenderedATailFallback = hasRenderedATailFallback.sibling); null === lastTailNode ? (renderState.tail = null) : (lastTailNode.sibling = null); break; case "collapsed": lastTailNode = renderState.tail; for (var lastTailNode$105 = null; null !== lastTailNode; ) null !== lastTailNode.alternate && (lastTailNode$105 = lastTailNode), (lastTailNode = lastTailNode.sibling); null === lastTailNode$105 ? hasRenderedATailFallback || null === renderState.tail ? (renderState.tail = null) : (renderState.tail.sibling = null) : (lastTailNode$105.sibling = null); } } function bubbleProperties(completedWork) { var didBailout = null !== completedWork.alternate && completedWork.alternate.child === completedWork.child, newChildLanes = 0, subtreeFlags = 0; if (didBailout) for (var child$106 = completedWork.child; null !== child$106; ) (newChildLanes |= child$106.lanes | child$106.childLanes), (subtreeFlags |= child$106.subtreeFlags & 65011712), (subtreeFlags |= child$106.flags & 65011712), (child$106.return = completedWork), (child$106 = child$106.sibling); else for (child$106 = completedWork.child; null !== child$106; ) (newChildLanes |= child$106.lanes | child$106.childLanes), (subtreeFlags |= child$106.subtreeFlags), (subtreeFlags |= child$106.flags), (child$106.return = completedWork), (child$106 = child$106.sibling); completedWork.subtreeFlags |= subtreeFlags; completedWork.childLanes = newChildLanes; return didBailout; } function completeWork(current, workInProgress, renderLanes) { var newProps = workInProgress.pendingProps; popTreeContext(workInProgress); switch (workInProgress.tag) { case 16: case 15: case 0: case 11: case 7: case 8: case 12: case 9: case 14: return bubbleProperties(workInProgress), null; case 1: return bubbleProperties(workInProgress), null; case 3: renderLanes = workInProgress.stateNode; newProps = null; null !== current && (newProps = current.memoizedState.cache); workInProgress.memoizedState.cache !== newProps && (workInProgress.flags |= 2048); popProvider(CacheContext); popHostContainer(); renderLanes.pendingContext && ((renderLanes.context = renderLanes.pendingContext), (renderLanes.pendingContext = null)); if (null === current || null === current.child) popHydrationState(workInProgress) ? markUpdate(workInProgress) : null === current || (current.memoizedState.isDehydrated && 0 === (workInProgress.flags & 256)) || ((workInProgress.flags |= 1024), upgradeHydrationErrorsToRecoverable()); bubbleProperties(workInProgress); return null; case 26: var type = workInProgress.type, nextResource = workInProgress.memoizedState; null === current ? (markUpdate(workInProgress), null !== nextResource ? (bubbleProperties(workInProgress), preloadResourceAndSuspendIfNeeded(workInProgress, nextResource)) : (bubbleProperties(workInProgress), preloadInstanceAndSuspendIfNeeded( workInProgress, type, null, newProps, renderLanes ))) : nextResource ? nextResource !== current.memoizedState ? (markUpdate(workInProgress), bubbleProperties(workInProgress), preloadResourceAndSuspendIfNeeded(workInProgress, nextResource)) : (bubbleProperties(workInProgress), (workInProgress.flags &= -16777217)) : ((current = current.memoizedProps), current !== newProps && markUpdate(workInProgress), bubbleProperties(workInProgress), preloadInstanceAndSuspendIfNeeded( workInProgress, type, current, newProps, renderLanes )); return null; case 27: popHostContext(workInProgress); renderLanes = rootInstanceStackCursor.current; type = workInProgress.type; if (null !== current && null != workInProgress.stateNode) current.memoizedProps !== newProps && markUpdate(workInProgress); else { if (!newProps) { if (null === workInProgress.stateNode) throw Error(formatProdErrorMessage(166)); bubbleProperties(workInProgress); return null; } current = contextStackCursor.current; popHydrationState(workInProgress) ? prepareToHydrateHostInstance(workInProgress, current) : ((current = resolveSingletonInstance(type, newProps, renderLanes)), (workInProgress.stateNode = current), markUpdate(workInProgress)); } bubbleProperties(workInProgress); return null; case 5: popHostContext(workInProgress); type = workInProgress.type; if (null !== current && null != workInProgress.stateNode) current.memoizedProps !== newProps && markUpdate(workInProgress); else { if (!newProps) { if (null === workInProgress.stateNode) throw Error(formatProdErrorMessage(166)); bubbleProperties(workInProgress); return null; } nextResource = contextStackCursor.current; if (popHydrationState(workInProgress)) prepareToHydrateHostInstance(workInProgress, nextResource); else { var ownerDocument = getOwnerDocumentFromRootContainer( rootInstanceStackCursor.current ); switch (nextResource) { case 1: nextResource = ownerDocument.createElementNS( "http://www.w3.org/2000/svg", type ); break; case 2: nextResource = ownerDocument.createElementNS( "http://www.w3.org/1998/Math/MathML", type ); break; default: switch (type) { case "svg": nextResource = ownerDocument.createElementNS( "http://www.w3.org/2000/svg", type ); break; case "math": nextResource = ownerDocument.createElementNS( "http://www.w3.org/1998/Math/MathML", type ); break; case "script": nextResource = ownerDocument.createElement("div"); nextResource.innerHTML = "