From d715ada85fa22f29ea2b2b380a1ae2bb813e685a Mon Sep 17 00:00:00 2001 From: Josh Story Date: Fri, 13 Oct 2023 10:56:21 -0700 Subject: [PATCH] Update React from d900fadbf to 09fbee89d - https://github.com/facebook/react/pull/27513 - https://github.com/facebook/react/pull/27514 - https://github.com/facebook/react/pull/27511 - https://github.com/facebook/react/pull/27508 - https://github.com/facebook/react/pull/27502 - https://github.com/facebook/react/pull/27474 - https://github.com/facebook/react/pull/26789 - https://github.com/facebook/react/pull/27500 - https://github.com/facebook/react/pull/27488 - https://github.com/facebook/react/pull/27458 - https://github.com/facebook/react/pull/27471 - https://github.com/facebook/react/pull/27470 - https://github.com/facebook/react/pull/27464 - https://github.com/facebook/react/pull/27456 - https://github.com/facebook/react/pull/27462 - https://github.com/facebook/react/pull/27461 - https://github.com/facebook/react/pull/27460 - https://github.com/facebook/react/pull/27459 - https://github.com/facebook/react/pull/27454 - https://github.com/facebook/react/pull/27457 - https://github.com/facebook/react/pull/27453 - https://github.com/facebook/react/pull/27401 - https://github.com/facebook/react/pull/27443 - https://github.com/facebook/react/pull/27445 - https://github.com/facebook/react/pull/27364 - https://github.com/facebook/react/pull/27440 - https://github.com/facebook/react/pull/27436 --- package.json | 28 +- ...t-dom-server-legacy.browser.development.js | 214 ++- ...om-server-legacy.browser.production.min.js | 273 ++-- ...eact-dom-server-legacy.node.development.js | 214 ++- ...t-dom-server-legacy.node.production.min.js | 297 ++-- ...t-dom-server-rendering-stub.development.js | 41 +- ...om-server-rendering-stub.production.min.js | 9 +- .../react-dom-server.browser.development.js | 218 ++- ...react-dom-server.browser.production.min.js | 331 ++-- .../cjs/react-dom-server.edge.development.js | 218 ++- .../react-dom-server.edge.production.min.js | 349 +++-- .../cjs/react-dom-server.node.development.js | 218 ++- .../react-dom-server.node.production.min.js | 335 ++-- .../react-dom-unstable_testing.development.js | 223 ++- ...act-dom-unstable_testing.production.min.js | 837 +++++----- .../cjs/react-dom.development.js | 223 ++- .../cjs/react-dom.production.min.js | 807 +++++----- .../cjs/react-dom.profiling.min.js | 845 +++++------ .../react-dom-experimental/package.json | 4 +- ...t-dom-server-legacy.browser.development.js | 583 +++++-- ...om-server-legacy.browser.production.min.js | 313 ++-- ...eact-dom-server-legacy.node.development.js | 583 +++++-- ...t-dom-server-legacy.node.production.min.js | 336 ++-- ...t-dom-server-rendering-stub.development.js | 68 +- ...om-server-rendering-stub.production.min.js | 15 +- .../react-dom-server.browser.development.js | 584 +++++-- ...react-dom-server.browser.production.min.js | 330 ++-- .../cjs/react-dom-server.edge.development.js | 584 +++++-- .../react-dom-server.edge.production.min.js | 353 +++-- .../cjs/react-dom-server.node.development.js | 499 ++++-- .../react-dom-server.node.production.min.js | 325 ++-- .../react-dom/cjs/react-dom.development.js | 1350 ++++++++++++++++- .../react-dom/cjs/react-dom.production.min.js | 798 +++++----- .../react-dom/cjs/react-dom.profiling.min.js | 840 +++++----- .../next/src/compiled/react-dom/package.json | 4 +- .../cjs/react.development.js | 102 +- .../cjs/react.production.min.js | 15 +- .../cjs/react.shared-subset.development.js | 173 ++- .../cjs/react.shared-subset.production.min.js | 45 +- ...om-turbopack-client.browser.development.js | 60 +- ...turbopack-client.browser.production.min.js | 38 +- ...r-dom-turbopack-client.edge.development.js | 60 +- ...om-turbopack-client.edge.production.min.js | 57 +- ...r-dom-turbopack-client.node.development.js | 60 +- ...om-turbopack-client.node.production.min.js | 53 +- ...opack-client.node.unbundled.development.js | 60 +- ...ck-client.node.unbundled.production.min.js | 51 +- ...om-turbopack-server.browser.development.js | 155 +- ...turbopack-server.browser.production.min.js | 117 +- ...r-dom-turbopack-server.edge.development.js | 155 +- ...om-turbopack-server.edge.production.min.js | 119 +- ...r-dom-turbopack-server.node.development.js | 155 +- ...om-turbopack-server.node.production.min.js | 127 +- ...opack-server.node.unbundled.development.js | 155 +- ...ck-server.node.unbundled.production.min.js | 121 +- .../package.json | 4 +- ...om-turbopack-client.browser.development.js | 60 +- ...turbopack-client.browser.production.min.js | 46 +- ...r-dom-turbopack-client.edge.development.js | 60 +- ...om-turbopack-client.edge.production.min.js | 49 +- ...r-dom-turbopack-client.node.development.js | 60 +- ...om-turbopack-client.node.production.min.js | 47 +- ...opack-client.node.unbundled.development.js | 60 +- ...ck-client.node.unbundled.production.min.js | 47 +- ...om-turbopack-server.browser.development.js | 71 +- ...turbopack-server.browser.production.min.js | 83 +- ...r-dom-turbopack-server.edge.development.js | 71 +- ...om-turbopack-server.edge.production.min.js | 87 +- ...r-dom-turbopack-server.node.development.js | 71 +- ...om-turbopack-server.node.production.min.js | 93 +- ...opack-server.node.unbundled.development.js | 71 +- ...ck-server.node.unbundled.production.min.js | 87 +- .../react-server-dom-turbopack/package.json | 4 +- ...-dom-webpack-client.browser.development.js | 60 +- ...m-webpack-client.browser.production.min.js | 40 +- ...ver-dom-webpack-client.edge.development.js | 60 +- ...-dom-webpack-client.edge.production.min.js | 57 +- ...ver-dom-webpack-client.node.development.js | 60 +- ...-dom-webpack-client.node.production.min.js | 53 +- ...bpack-client.node.unbundled.development.js | 60 +- ...ck-client.node.unbundled.production.min.js | 51 +- ...-dom-webpack-server.browser.development.js | 155 +- ...m-webpack-server.browser.production.min.js | 119 +- ...ver-dom-webpack-server.edge.development.js | 155 +- ...-dom-webpack-server.edge.production.min.js | 121 +- ...ver-dom-webpack-server.node.development.js | 155 +- ...-dom-webpack-server.node.production.min.js | 127 +- ...bpack-server.node.unbundled.development.js | 155 +- ...ck-server.node.unbundled.production.min.js | 121 +- .../package.json | 4 +- ...-dom-webpack-client.browser.development.js | 60 +- ...m-webpack-client.browser.production.min.js | 46 +- ...ver-dom-webpack-client.edge.development.js | 60 +- ...-dom-webpack-client.edge.production.min.js | 49 +- ...ver-dom-webpack-client.node.development.js | 60 +- ...-dom-webpack-client.node.production.min.js | 47 +- ...bpack-client.node.unbundled.development.js | 60 +- ...ck-client.node.unbundled.production.min.js | 47 +- ...-dom-webpack-server.browser.development.js | 71 +- ...m-webpack-server.browser.production.min.js | 87 +- ...ver-dom-webpack-server.edge.development.js | 71 +- ...-dom-webpack-server.edge.production.min.js | 89 +- ...ver-dom-webpack-server.node.development.js | 71 +- ...-dom-webpack-server.node.production.min.js | 95 +- ...bpack-server.node.unbundled.development.js | 71 +- ...ck-server.node.unbundled.production.min.js | 89 +- .../react-server-dom-webpack/package.json | 4 +- .../cjs/react-jsx-dev-runtime.development.js | 7 - .../cjs/react-jsx-runtime.development.js | 7 - .../compiled/react/cjs/react.development.js | 102 +- .../react/cjs/react.production.min.js | 39 +- .../cjs/react.shared-subset.development.js | 136 +- .../cjs/react.shared-subset.production.min.js | 30 +- pnpm-lock.yaml | 172 +-- 114 files changed, 11982 insertions(+), 7339 deletions(-) diff --git a/package.json b/package.json index 1ffad6d76e11ea..7b1d8507633e1e 100644 --- a/package.json +++ b/package.json @@ -100,8 +100,8 @@ "@types/jest": "27.4.1", "@types/node": "20.2.5", "@types/node-fetch": "2.6.1", - "@types/react": "18.2.8", - "@types/react-dom": "18.2.4", + "@types/react": "18.2.28", + "@types/react-dom": "18.2.13", "@types/relay-runtime": "14.1.13", "@types/selenium-webdriver": "4.0.15", "@types/sharp": "0.29.3", @@ -193,16 +193,16 @@ "random-seed": "0.3.0", "react": "18.2.0", "react-17": "npm:react@17.0.2", - "react-builtin": "npm:react@18.3.0-canary-d900fadbf-20230929", + "react-builtin": "npm:react@18.3.0-canary-09fbee89d-20231013", "react-dom": "18.2.0", "react-dom-17": "npm:react-dom@17.0.2", - "react-dom-builtin": "npm:react-dom@18.3.0-canary-d900fadbf-20230929", - "react-dom-experimental-builtin": "npm:react-dom@0.0.0-experimental-d900fadbf-20230929", - "react-experimental-builtin": "npm:react@0.0.0-experimental-d900fadbf-20230929", - "react-server-dom-turbopack": "18.3.0-canary-d900fadbf-20230929", - "react-server-dom-turbopack-experimental": "npm:react-server-dom-turbopack@0.0.0-experimental-d900fadbf-20230929", - "react-server-dom-webpack": "18.3.0-canary-d900fadbf-20230929", - "react-server-dom-webpack-experimental": "npm:react-server-dom-webpack@0.0.0-experimental-d900fadbf-20230929", + "react-dom-builtin": "npm:react-dom@18.3.0-canary-09fbee89d-20231013", + "react-dom-experimental-builtin": "npm:react-dom@0.0.0-experimental-09fbee89d-20231013", + "react-experimental-builtin": "npm:react@0.0.0-experimental-09fbee89d-20231013", + "react-server-dom-turbopack": "18.3.0-canary-09fbee89d-20231013", + "react-server-dom-turbopack-experimental": "npm:react-server-dom-turbopack@0.0.0-experimental-09fbee89d-20231013", + "react-server-dom-webpack": "18.3.0-canary-09fbee89d-20231013", + "react-server-dom-webpack-experimental": "npm:react-server-dom-webpack@0.0.0-experimental-09fbee89d-20231013", "react-ssr-prepass": "1.0.8", "react-virtualized": "9.22.3", "relay-compiler": "13.0.2", @@ -212,8 +212,8 @@ "resolve-from": "5.0.0", "sass": "1.54.0", "satori": "0.10.6", - "scheduler-builtin": "npm:scheduler@0.24.0-canary-d900fadbf-20230929", - "scheduler-experimental-builtin": "npm:scheduler@0.0.0-experimental-d900fadbf-20230929", + "scheduler-builtin": "npm:scheduler@0.24.0-canary-09fbee89d-20231013", + "scheduler-experimental-builtin": "npm:scheduler@0.0.0-experimental-09fbee89d-20231013", "seedrandom": "3.0.5", "selenium-webdriver": "4.0.0-beta.4", "semver": "7.3.7", @@ -245,8 +245,8 @@ "@babel/parser": "7.18.0", "@babel/types": "7.18.0", "@babel/traverse": "7.18.0", - "@types/react": "18.2.7", - "@types/react-dom": "18.2.4" + "@types/react": "18.2.28", + "@types/react-dom": "18.2.13" }, "engines": { "node": ">=16.14.0", diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.development.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.development.js index d19392ed8d2cdb..4c98eb40585965 100644 --- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.development.js +++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.development.js @@ -17,7 +17,7 @@ if (process.env.NODE_ENV !== "production") { var React = require("next/dist/compiled/react-experimental"); var ReactDOM = require('react-dom'); -var ReactVersion = '18.3.0-experimental-d900fadbf-20230929'; +var ReactVersion = '18.3.0-experimental-09fbee89d-20231013'; var ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; @@ -3962,26 +3962,7 @@ function pushStartCustomElement(target, props, tag) { continue; } - if ((typeof propValue === 'function' || typeof propValue === 'object')) { - // It is normal to render functions and objects on custom elements when - // client rendering, but when server rendering the output isn't useful, - // so skip it. - continue; - } - - if (propValue === false) { - continue; - } - - if (propValue === true) { - propValue = ''; - } - - if (propKey === 'className') { - // className gets rendered as class on the client, so it should be - // rendered as class on the server. - propKey = 'class'; - } + var attributeName = propKey; switch (propKey) { case 'children': @@ -4001,9 +3982,28 @@ function pushStartCustomElement(target, props, tag) { // Ignored. These are built-in to React on the client. break; + case 'className': + { + // className gets rendered as class on the client, so it should be + // rendered as class on the server. + attributeName = 'class'; + } + + // intentional fallthrough + default: if (isAttributeNameSafe(propKey) && typeof propValue !== 'function' && typeof propValue !== 'symbol') { - target.push(attributeSeparator, stringToChunk(propKey), attributeAssign, stringToChunk(escapeTextForBrowser(propValue)), attributeEnd); + { + if (propValue === false) { + continue; + } else if (propValue === true) { + propValue = ''; + } else if (typeof propValue === 'object') { + continue; + } + } + + target.push(attributeSeparator, stringToChunk(attributeName), attributeAssign, stringToChunk(escapeTextForBrowser(propValue)), attributeEnd); } break; @@ -8196,9 +8196,12 @@ function useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) { return getServerSnapshot(); } -function useDeferredValue(value) { +function useDeferredValue(value, initialValue) { resolveCurrentlyRenderingComponent(); - return value; + + { + return initialValue !== undefined ? initialValue : value; + } } function unsupportedStartTransition() { @@ -8983,11 +8986,7 @@ function replaySuspenseBoundary(request, task, keyPath, props, id, childNodes, c try { // We use the safe form because we don't handle suspending here. Only error handling. - if (typeof childSlots === 'number') { - resumeNode(request, task, childSlots, content, -1); - } else { - renderNode(request, task, content, -1); - } + renderNode(request, task, content, -1); if (task.replay.pendingTasks === 1 && task.replay.nodes.length > 0) { throw new Error("Couldn't find all resumable slots by key/index during replaying. " + "The tree doesn't match so React will fallback to client rendering."); @@ -9038,24 +9037,15 @@ function replaySuspenseBoundary(request, task, keyPath, props, id, childNodes, c task.keyPath = prevKeyPath; } - var fallbackKeyPath = [keyPath[0], 'Suspense Fallback', keyPath[2]]; - var suspendedFallbackTask; // We create suspended task for the fallback because we don't want to actually work + var fallbackKeyPath = [keyPath[0], 'Suspense Fallback', keyPath[2]]; // We create suspended task for the fallback because we don't want to actually work // on it yet in case we finish the main content, so we queue for later. - if (typeof fallbackSlots === 'number') { - // Resuming directly in the fallback. - var resumedSegment = createPendingSegment(request, 0, null, task.formatContext, false, false); - resumedSegment.id = fallbackSlots; - resumedSegment.parentFlushed = true; - suspendedFallbackTask = createRenderTask(request, null, fallback, -1, parentBoundary, resumedSegment, fallbackAbortSet, fallbackKeyPath, task.formatContext, task.legacyContext, task.context, task.treeContext); - } else { - var fallbackReplay = { - nodes: fallbackNodes, - slots: fallbackSlots, - pendingTasks: 0 - }; - suspendedFallbackTask = createReplayTask(request, null, fallbackReplay, fallback, -1, parentBoundary, fallbackAbortSet, fallbackKeyPath, task.formatContext, task.legacyContext, task.context, task.treeContext); - } + var fallbackReplay = { + nodes: fallbackNodes, + slots: fallbackSlots, + pendingTasks: 0 + }; + var suspendedFallbackTask = createReplayTask(request, null, fallbackReplay, fallback, -1, parentBoundary, fallbackAbortSet, fallbackKeyPath, task.formatContext, task.legacyContext, task.context, task.treeContext); { suspendedFallbackTask.componentStack = task.componentStack; @@ -9063,8 +9053,7 @@ function replaySuspenseBoundary(request, task, keyPath, props, id, childNodes, c // on preparing fallbacks if we don't have any more main content to task on. - request.pingedTasks.push(suspendedFallbackTask); // TODO: Should this be in the finally? - + request.pingedTasks.push(suspendedFallbackTask); popComponentStackInDEV(task); } @@ -9605,37 +9594,6 @@ function resumeNode(request, task, segmentId, node, childIndex) { } } -function resumeElement(request, task, keyPath, segmentId, prevThenableState, type, props, ref) { - var prevReplay = task.replay; - var blockedBoundary = task.blockedBoundary; - var resumedSegment = createPendingSegment(request, 0, null, task.formatContext, false, false); - resumedSegment.id = segmentId; - resumedSegment.parentFlushed = true; - - try { - // Convert the current ReplayTask to a RenderTask. - var renderTask = task; - renderTask.replay = null; - renderTask.blockedSegment = resumedSegment; - renderElement(request, task, keyPath, prevThenableState, type, props, ref); - resumedSegment.status = COMPLETED; - - if (blockedBoundary === null) { - request.completedRootSegment = resumedSegment; - } else { - queueCompletedSegment(blockedBoundary, resumedSegment); - - if (blockedBoundary.parentFlushed) { - request.partialBoundaries.push(blockedBoundary); - } - } - } finally { - // Restore to a ReplayTask. - task.replay = prevReplay; - task.blockedSegment = null; - } -} - function replayElement(request, task, keyPath, prevThenableState, name, keyOrIndex, childIndex, type, props, ref, replay) { // We're replaying. Find the path to follow. var replayNodes = replay.nodes; @@ -9646,17 +9604,18 @@ function replayElement(request, task, keyPath, prevThenableState, name, keyOrInd if (keyOrIndex !== node[1]) { continue; - } // Let's double check that the component name matches as a precaution. - - - if (name !== null && name !== node[0]) { - throw new Error('Expected to see a component of type "' + name + '" in this slot. ' + "The tree doesn't match so React will fallback to client rendering."); } if (node.length === 4) { // Matched a replayable path. + // Let's double check that the component name matches as a precaution. + if (name !== null && name !== node[0]) { + throw new Error('Expected the resume to render <' + node[0] + '> in this slot but instead it rendered <' + name + '>. ' + "The tree doesn't match so React will fallback to client rendering."); + } + var childNodes = node[2]; var childSlots = node[3]; + var currentNode = task.node; task.replay = { nodes: childNodes, slots: childSlots, @@ -9664,37 +9623,40 @@ function replayElement(request, task, keyPath, prevThenableState, name, keyOrInd }; try { - if (typeof childSlots === 'number') { - // Matched a resumable element. - resumeElement(request, task, keyPath, childSlots, prevThenableState, type, props, ref); - } else { - renderElement(request, task, keyPath, prevThenableState, type, props, ref); - } + renderElement(request, task, keyPath, prevThenableState, type, props, ref); if (task.replay.pendingTasks === 1 && task.replay.nodes.length > 0 // TODO check remaining slots ) { throw new Error("Couldn't find all resumable slots by key/index during replaying. " + "The tree doesn't match so React will fallback to client rendering."); } + + task.replay.pendingTasks--; } catch (x) { if (typeof x === 'object' && x !== null && (x === SuspenseException || typeof x.then === 'function')) { // Suspend + if (task.node === currentNode) { + // This same element suspended so we need to pop the replay we just added. + task.replay = replay; + } + throw x; - } // Unlike regular render, we don't terminate the siblings if we error + } + + task.replay.pendingTasks--; // Unlike regular render, we don't terminate the siblings if we error // during a replay. That's because this component didn't actually error // in the original prerender. What's unable to complete is the child // replay nodes which might be Suspense boundaries which are able to // absorb the error and we can still continue with siblings. - erroredReplay(request, task.blockedBoundary, x, childNodes, childSlots); - } finally { - task.replay.pendingTasks--; - task.replay = replay; } + + task.replay = replay; } else { // Let's double check that the component type matches. if (type !== REACT_SUSPENSE_TYPE) { - throw new Error('Expected to see a Suspense boundary in this slot. ' + "The tree doesn't match so React will fallback to client rendering."); + var expectedType = 'Suspense'; + throw new Error('Expected the resume to render <' + expectedType + '> in this slot but instead it rendered <' + (getComponentNameFromType(type) || 'Unknown') + '>. ' + "The tree doesn't match so React will fallback to client rendering."); } // Matched a replayable path. @@ -9758,8 +9720,15 @@ prevThenableState, node, childIndex) { function renderNodeDestructiveImpl(request, task, prevThenableState, node, childIndex) { - // Stash the node we're working on. We'll pick up from this task in case + if (task.replay !== null && typeof task.replay.slots === 'number') { + // TODO: Figure out a cheaper place than this hot path to do this check. + var resumeSegmentID = task.replay.slots; + resumeNode(request, task, resumeSegmentID, node, childIndex); + return; + } // Stash the node we're working on. We'll pick up from this task in case // something suspends. + + task.node = node; task.childIndex = childIndex; // Handle object types @@ -9937,24 +9906,26 @@ function replayFragment(request, task, children, childIndex) { if (task.replay.pendingTasks === 1 && task.replay.nodes.length > 0) { throw new Error("Couldn't find all resumable slots by key/index during replaying. " + "The tree doesn't match so React will fallback to client rendering."); } + + task.replay.pendingTasks--; } catch (x) { if (typeof x === 'object' && x !== null && (x === SuspenseException || typeof x.then === 'function')) { // Suspend throw x; - } // Unlike regular render, we don't terminate the siblings if we error + } + + task.replay.pendingTasks--; // Unlike regular render, we don't terminate the siblings if we error // during a replay. That's because this component didn't actually error // in the original prerender. What's unable to complete is the child // replay nodes which might be Suspense boundaries which are able to // absorb the error and we can still continue with siblings. - + // This is an error, stash the component stack if it is null. erroredReplay(request, task.blockedBoundary, x, childNodes, childSlots); - } finally { - task.replay.pendingTasks--; - task.replay = replay; - } // We finished rendering this node, so now we can consume this - // slot. This must happen after in case we rerender this task. + } + task.replay = replay; // We finished rendering this node, so now we can consume this + // slot. This must happen after in case we rerender this task. replayNodes.splice(j, 1); break; @@ -9989,7 +9960,7 @@ function renderChildrenArray(request, task, children, childIndex) { task.treeContext = pushTreeContext(prevTreeContext, totalChildren, i); // We need to use the non-destructive form so that we can safely pop back // up and render the sibling if something suspends. - var resumeSegmentID = resumeSlots[i]; + var resumeSegmentID = resumeSlots[i]; // TODO: If this errors we should still continue with the next sibling. if (typeof resumeSegmentID === 'number') { resumeNode(request, task, resumeSegmentID, node, i); // We finished rendering this node, so now we can consume this @@ -10314,6 +10285,7 @@ function renderNode(request, task, node, childIndex) { task.componentStack = previousComponentStack; } + lastBoundaryErrorComponentStackDev = null; return; } } @@ -10375,6 +10347,7 @@ function erroredTask(request, boundary, error) { } if (boundary === null) { + lastBoundaryErrorComponentStackDev = null; fatalError(request, error); } else { boundary.pendingTasks--; @@ -10396,6 +10369,8 @@ function erroredTask(request, boundary, error) { // We reuse the same queue for errors. request.clientRenderedBoundaries.push(boundary); } + } else { + lastBoundaryErrorComponentStackDev = null; } } @@ -10509,8 +10484,6 @@ function abortTask(task, request, error) { } if (boundary === null) { - request.allPendingTasks--; - if (request.status !== CLOSING && request.status !== CLOSED) { var replay = task.replay; @@ -10519,6 +10492,7 @@ function abortTask(task, request, error) { // the request; logRecoverableError(request, error); fatalError(request, error); + return; } else { // If the shell aborts during a replay, that's not a fatal error. Instead // we should be able to recover by client rendering all the root boundaries in @@ -10529,6 +10503,14 @@ function abortTask(task, request, error) { var errorDigest = logRecoverableError(request, error); abortRemainingReplayNodes(request, null, replay.nodes, replay.slots, error, errorDigest); } + + request.pendingRootTasks--; + + if (request.pendingRootTasks === 0) { + request.onShellError = noop; + var onShellReady = request.onShellReady; + onShellReady(); + } } } } else { @@ -10570,12 +10552,13 @@ function abortTask(task, request, error) { return abortTask(fallbackTask, request, error); }); boundary.fallbackAbortableTasks.clear(); - request.allPendingTasks--; + } - if (request.allPendingTasks === 0) { - var onAllReady = request.onAllReady; - onAllReady(); - } + request.allPendingTasks--; + + if (request.allPendingTasks === 0) { + var onAllReady = request.onAllReady; + onAllReady(); } } @@ -10759,6 +10742,7 @@ function retryRenderTask(request, task, segment) { logPostpone(request, postponeInstance.message); trackPostpone(request, trackedPostpones, task, segment); finishedTask(request, task.blockedBoundary, segment); + lastBoundaryErrorComponentStackDev = null; return; } } @@ -10835,6 +10819,14 @@ function retryReplayTask(request, task) { task.replay.pendingTasks--; task.abortSet.delete(task); erroredReplay(request, task.blockedBoundary, x, task.replay.nodes, task.replay.slots); + request.pendingRootTasks--; + + if (request.pendingRootTasks === 0) { + request.onShellError = noop; + var onShellReady = request.onShellReady; + onShellReady(); + } + request.allPendingTasks--; if (request.allPendingTasks === 0) { diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.production.min.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.production.min.js index 3bfe9118b1b456..58d1d3b414b7ee 100644 --- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.production.min.js +++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.production.min.js @@ -31,11 +31,11 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -'use strict';var ca=require("next/dist/compiled/react-experimental"),ia=require("react-dom");function q(a){for(var b="https://reactjs.org/docs/error-decoder.html?invariant="+a,c=1;c>>16)&65535)<<16)&4294967295;f=f<<15|f>>>17;f=461845907*(f&65535)+((461845907*(f>>>16)&65535)<<16)&4294967295;e^=f;e=e<<13|e>>>19;e=5*(e&65535)+((5*(e>>>16)&65535)<<16)&4294967295;e=(e&65535)+27492+(((e>>>16)+58964&65535)<<16)}f=0;switch(c){case 3:f^=(a.charCodeAt(b+2)&255)<< +'use strict';var da=require("next/dist/compiled/react-experimental"),ja=require("react-dom");function n(a){for(var b="https://reactjs.org/docs/error-decoder.html?invariant="+a,c=1;c>>16)&65535)<<16)&4294967295;f=f<<15|f>>>17;f=461845907*(f&65535)+((461845907*(f>>>16)&65535)<<16)&4294967295;e^=f;e=e<<13|e>>>19;e=5*(e&65535)+((5*(e>>>16)&65535)<<16)&4294967295;e=(e&65535)+27492+(((e>>>16)+58964&65535)<<16)}f=0;switch(c){case 3:f^=(a.charCodeAt(b+2)&255)<< 16;case 2:f^=(a.charCodeAt(b+1)&255)<<8;case 1:f^=a.charCodeAt(b)&255,f=3432918353*(f&65535)+((3432918353*(f>>>16)&65535)<<16)&4294967295,f=f<<15|f>>>17,e^=461845907*(f&65535)+((461845907*(f>>>16)&65535)<<16)&4294967295}e^=a.length;e^=e>>>16;e=2246822507*(e&65535)+((2246822507*(e>>>16)&65535)<<16)&4294967295;e^=e>>>13;e=3266489909*(e&65535)+((3266489909*(e>>>16)&65535)<<16)&4294967295;return(e^e>>>16)>>>0} -var t=Object.assign,v=Object.prototype.hasOwnProperty,ka=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]*$"),la={},wa={}; -function xa(a){if(v.call(wa,a))return!0;if(v.call(la,a))return!1;if(ka.test(a))return wa[a]=!0;la[a]=!0;return!1} +var t=Object.assign,w=Object.prototype.hasOwnProperty,la=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]*$"),ma={},wa={}; +function xa(a){if(w.call(wa,a))return!0;if(w.call(ma,a))return!1;if(la.test(a))return wa[a]=!0;ma[a]=!0;return!1} var ya=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(" ")),za= 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", @@ -43,154 +43,153 @@ new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http "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"]]),Aa=/["'&<>]/; -function w(a){if("boolean"===typeof a||"number"===typeof a)return""+a;a=""+a;var b=Aa.exec(a);if(b){var c="",d,e=0;for(d=b.index;d")} -function Cb(a,b,c,d,e,f,g,h){var k=null;"function"===typeof d&&("function"===typeof d.$$FORM_ACTION?(e=zb(b),b=d.$$FORM_ACTION(e),h=b.name,d=b.action||"",e=b.encType,f=b.method,g=b.target,k=b.data):(a.push(" ","formAction",'="',Ab,'"'),g=f=e=d=h=null,Db(b,c)));null!=h&&G(a,"name",h);null!=d&&G(a,"formAction",d);null!=e&&G(a,"formEncType",e);null!=f&&G(a,"formMethod",f);null!=g&&G(a,"formTarget",g);return k} -function G(a,b,c){switch(b){case "className":F(a,"class",c);break;case "tabIndex":F(a,"tabindex",c);break;case "dir":case "role":case "viewBox":case "width":case "height":F(a,b,c);break;case "style":ob(a,c);break;case "src":case "href":if(""===c)break;case "action":case "formAction":if(null==c||"function"===typeof c||"symbol"===typeof c||"boolean"===typeof c)break;a.push(" ",b,'="',w(""+c),'"');break;case "defaultValue":case "defaultChecked":case "innerHTML":case "suppressContentEditableWarning":case "suppressHydrationWarning":break; -case "autoFocus":case "multiple":case "muted":yb(a,b.toLowerCase(),c);break;case "xlinkHref":if("function"===typeof c||"symbol"===typeof c||"boolean"===typeof c)break;a.push(" ","xlink:href",'="',w(""+c),'"');break;case "contentEditable":case "spellCheck":case "draggable":case "value":case "autoReverse":case "externalResourcesRequired":case "focusable":case "preserveAlpha":"function"!==typeof c&&"symbol"!==typeof c&&a.push(" ",b,'="',w(c),'"');break;case "allowFullScreen":case "async":case "autoPlay":case "controls":case "default":case "defer":case "disabled":case "disablePictureInPicture":case "disableRemotePlayback":case "formNoValidate":case "hidden":case "loop":case "noModule":case "noValidate":case "open":case "playsInline":case "readOnly":case "required":case "reversed":case "scoped":case "seamless":case "itemScope":c&& -"function"!==typeof c&&"symbol"!==typeof c&&a.push(" ",b,'=""');break;case "capture":case "download":!0===c?a.push(" ",b,'=""'):!1!==c&&"function"!==typeof c&&"symbol"!==typeof c&&a.push(" ",b,'="',w(c),'"');break;case "cols":case "rows":case "size":case "span":"function"!==typeof c&&"symbol"!==typeof c&&!isNaN(c)&&1<=c&&a.push(" ",b,'="',w(c),'"');break;case "rowSpan":case "start":"function"===typeof c||"symbol"===typeof c||isNaN(c)||a.push(" ",b,'="',w(c),'"');break;case "xlinkActuate":F(a,"xlink:actuate", -c);break;case "xlinkArcrole":F(a,"xlink:arcrole",c);break;case "xlinkRole":F(a,"xlink:role",c);break;case "xlinkShow":F(a,"xlink:show",c);break;case "xlinkTitle":F(a,"xlink:title",c);break;case "xlinkType":F(a,"xlink:type",c);break;case "xmlBase":F(a,"xml:base",c);break;case "xmlLang":F(a,"xml:lang",c);break;case "xmlSpace":F(a,"xml:space",c);break;default:if(!(2")} +function Cb(a,b,c,d,e,f,g,h){var k=null;"function"===typeof d&&("function"===typeof d.$$FORM_ACTION?(e=zb(b),b=d.$$FORM_ACTION(e),h=b.name,d=b.action||"",e=b.encType,f=b.method,g=b.target,k=b.data):(a.push(" ","formAction",'="',Ab,'"'),g=f=e=d=h=null,Db(b,c)));null!=h&&E(a,"name",h);null!=d&&E(a,"formAction",d);null!=e&&E(a,"formEncType",e);null!=f&&E(a,"formMethod",f);null!=g&&E(a,"formTarget",g);return k} +function E(a,b,c){switch(b){case "className":D(a,"class",c);break;case "tabIndex":D(a,"tabindex",c);break;case "dir":case "role":case "viewBox":case "width":case "height":D(a,b,c);break;case "style":ob(a,c);break;case "src":case "href":if(""===c)break;case "action":case "formAction":if(null==c||"function"===typeof c||"symbol"===typeof c||"boolean"===typeof c)break;a.push(" ",b,'="',x(""+c),'"');break;case "defaultValue":case "defaultChecked":case "innerHTML":case "suppressContentEditableWarning":case "suppressHydrationWarning":break; +case "autoFocus":case "multiple":case "muted":yb(a,b.toLowerCase(),c);break;case "xlinkHref":if("function"===typeof c||"symbol"===typeof c||"boolean"===typeof c)break;a.push(" ","xlink:href",'="',x(""+c),'"');break;case "contentEditable":case "spellCheck":case "draggable":case "value":case "autoReverse":case "externalResourcesRequired":case "focusable":case "preserveAlpha":"function"!==typeof c&&"symbol"!==typeof c&&a.push(" ",b,'="',x(c),'"');break;case "allowFullScreen":case "async":case "autoPlay":case "controls":case "default":case "defer":case "disabled":case "disablePictureInPicture":case "disableRemotePlayback":case "formNoValidate":case "hidden":case "loop":case "noModule":case "noValidate":case "open":case "playsInline":case "readOnly":case "required":case "reversed":case "scoped":case "seamless":case "itemScope":c&& +"function"!==typeof c&&"symbol"!==typeof c&&a.push(" ",b,'=""');break;case "capture":case "download":!0===c?a.push(" ",b,'=""'):!1!==c&&"function"!==typeof c&&"symbol"!==typeof c&&a.push(" ",b,'="',x(c),'"');break;case "cols":case "rows":case "size":case "span":"function"!==typeof c&&"symbol"!==typeof c&&!isNaN(c)&&1<=c&&a.push(" ",b,'="',x(c),'"');break;case "rowSpan":case "start":"function"===typeof c||"symbol"===typeof c||isNaN(c)||a.push(" ",b,'="',x(c),'"');break;case "xlinkActuate":D(a,"xlink:actuate", +c);break;case "xlinkArcrole":D(a,"xlink:arcrole",c);break;case "xlinkRole":D(a,"xlink:role",c);break;case "xlinkShow":D(a,"xlink:show",c);break;case "xlinkTitle":D(a,"xlink:title",c);break;case "xlinkType":D(a,"xlink:type",c);break;case "xmlBase":D(a,"xml:base",c);break;case "xmlLang":D(a,"xml:lang",c);break;case "xmlSpace":D(a,"xml:space",c);break;default:if(!(2"))} -function Fb(a,b,c,d,e,f,g){var h=b.rel,k=b.href,l=b.precedence;if(3===f||g||null!=b.itemProp||"string"!==typeof h||"string"!==typeof k||""===k)return L(a,b),null;if("stylesheet"===b.rel){if("string"!==typeof l||null!=b.disabled||b.onLoad||b.onError)return L(a,b);f=d.styles.get(l);g=c.styleResources.hasOwnProperty(k)?c.styleResources[k]:void 0;null!==g?(c.styleResources[k]=null,f||(f={precedence:w(l),rules:[],hrefs:[],sheets:new Map},d.styles.set(l,f)),b={state:0,props:t({},b,{"data-precedence":b.precedence, -precedence:null})},g&&(2===g.length&&Gb(b.props,g),(c=d.preloads.stylesheets.get(k))&&0");return null}function Hb(a,b,c){a.push(M(c));for(var d in b)if(v.call(b,d)){var e=b[d];if(null!=e)switch(d){case "children":case "dangerouslySetInnerHTML":throw Error(q(399,c));default:G(a,d,e)}}a.push("/>");return null} -function Ib(a,b){a.push(M("title"));var c=null,d=null,e;for(e in b)if(v.call(b,e)){var f=b[e];if(null!=f)switch(e){case "children":c=f;break;case "dangerouslySetInnerHTML":d=f;break;default:G(a,e,f)}}a.push(">");b=Array.isArray(c)?2>c.length?c[0]:null:c;"function"!==typeof b&&"symbol"!==typeof b&&null!==b&&void 0!==b&&a.push(w(""+b));H(a,d,c);a.push("");return null} -function Jb(a,b){a.push(M("script"));var c=null,d=null,e;for(e in b)if(v.call(b,e)){var f=b[e];if(null!=f)switch(e){case "children":c=f;break;case "dangerouslySetInnerHTML":d=f;break;default:G(a,e,f)}}a.push(">");H(a,d,c);"string"===typeof c&&a.push(w(c));a.push("");return null} -function Kb(a,b,c){a.push(M(c));var d=c=null,e;for(e in b)if(v.call(b,e)){var f=b[e];if(null!=f)switch(e){case "children":c=f;break;case "dangerouslySetInnerHTML":d=f;break;default:G(a,e,f)}}a.push(">");H(a,d,c);return"string"===typeof c?(a.push(w(c)),null):c}var Lb=/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,Mb=new Map;function M(a){var b=Mb.get(a);if(void 0===b){if(!Lb.test(a))throw Error(q(65,a));b="<"+a;Mb.set(a,b)}return b} -function Nb(a,b,c,d,e,f,g){switch(b){case "div":case "span":case "svg":case "path":case "a":case "g":case "p":case "li":break;case "select":a.push(M("select"));var h=null,k=null,l;for(l in c)if(v.call(c,l)){var p=c[l];if(null!=p)switch(l){case "children":h=p;break;case "dangerouslySetInnerHTML":k=p;break;case "defaultValue":case "value":break;default:G(a,l,p)}}a.push(">");H(a,k,h);return h;case "option":var r=f.selectedValue;a.push(M("option"));var m=null,u=null,I=null,A=null,B;for(B in c)if(v.call(c, -B)){var n=c[B];if(null!=n)switch(B){case "children":m=n;break;case "selected":I=n;break;case "dangerouslySetInnerHTML":A=n;break;case "value":u=n;default:G(a,B,n)}}if(null!=r){var z=null!==u?""+u:Eb(m);if(Ha(r))for(var Z=0;Z");H(a,A,m);return m;case "textarea":a.push(M("textarea"));var J=null,x=null,D=null,C;for(C in c)if(v.call(c,C)){var K=c[C];if(null!=K)switch(C){case "children":D= -K;break;case "value":J=K;break;case "defaultValue":x=K;break;case "dangerouslySetInnerHTML":throw Error(q(91));default:G(a,C,K)}}null===J&&null!==x&&(J=x);a.push(">");if(null!=D){if(null!=J)throw Error(q(92));if(Ha(D)){if(1");null!==pb&&pb.forEach(Bb,a);return null;case "button":a.push(M("button"));var V=null,oa=null,pa=null,qa=null,Sa=null,ra=null,Dc=null,Ta;for(Ta in c)if(v.call(c,Ta)){var ba=c[Ta];if(null!=ba)switch(Ta){case "children":V=ba;break;case "dangerouslySetInnerHTML":oa=ba;break;case "name":pa=ba;break;case "formAction":qa=ba;break;case "formEncType":Sa=ba;break;case "formMethod":ra=ba;break;case "formTarget":Dc=ba;break;default:G(a,Ta,ba)}}var Ec=Cb(a,d,e,qa,Sa,ra,Dc,pa);a.push(">");null!== -Ec&&Ec.forEach(Bb,a);H(a,oa,V);if("string"===typeof V){a.push(w(V));var Fc=null}else Fc=V;return Fc;case "form":a.push(M("form"));var Ua=null,Gc=null,ea=null,Va=null,Wa=null,Xa=null,Ya;for(Ya in c)if(v.call(c,Ya)){var fa=c[Ya];if(null!=fa)switch(Ya){case "children":Ua=fa;break;case "dangerouslySetInnerHTML":Gc=fa;break;case "action":ea=fa;break;case "encType":Va=fa;break;case "method":Wa=fa;break;case "target":Xa=fa;break;default:G(a,Ya,fa)}}var Vb=null,Wb=null;if("function"===typeof ea)if("function"=== -typeof ea.$$FORM_ACTION){var ge=zb(d),Da=ea.$$FORM_ACTION(ge);ea=Da.action||"";Va=Da.encType;Wa=Da.method;Xa=Da.target;Vb=Da.data;Wb=Da.name}else a.push(" ","action",'="',Ab,'"'),Xa=Wa=Va=ea=null,Db(d,e);null!=ea&&G(a,"action",ea);null!=Va&&G(a,"encType",Va);null!=Wa&&G(a,"method",Wa);null!=Xa&&G(a,"target",Xa);a.push(">");null!==Wb&&(a.push('"),null!==Vb&&Vb.forEach(Bb,a));H(a,Gc,Ua);if("string"===typeof Ua){a.push(w(Ua));var Hc=null}else Hc=Ua;return Hc; -case "menuitem":a.push(M("menuitem"));for(var qb in c)if(v.call(c,qb)){var Ic=c[qb];if(null!=Ic)switch(qb){case "children":case "dangerouslySetInnerHTML":throw Error(q(400));default:G(a,qb,Ic)}}a.push(">");return null;case "title":if(3===f.insertionMode||f.tagScope&1||null!=c.itemProp)var Jc=Ib(a,c);else Ib(e.hoistableChunks,c),Jc=null;return Jc;case "link":return Fb(a,c,d,e,g,f.insertionMode,!!(f.tagScope&1));case "script":var Xb=c.async;if("string"!==typeof c.src||!c.src||!Xb||"function"===typeof Xb|| -"symbol"===typeof Xb||c.onLoad||c.onError||3===f.insertionMode||f.tagScope&1||null!=c.itemProp)var Kc=Jb(a,c);else{var rb=c.src;if("module"===c.type){var sb=d.moduleScriptResources;var Lc=e.preloads.moduleScripts}else sb=d.scriptResources,Lc=e.preloads.scripts;var tb=sb.hasOwnProperty(rb)?sb[rb]:void 0;if(null!==tb){sb[rb]=null;var Yb=c;if(tb){2===tb.length&&(Yb=t({},c),Gb(Yb,tb));var Mc=Lc.get(rb);Mc&&(Mc.length=0)}var Nc=[];e.scripts.add(Nc);Jb(Nc,Yb)}g&&a.push("\x3c!-- --\x3e");Kc=null}return Kc; -case "style":var ub=c.precedence,sa=c.href;if(3===f.insertionMode||f.tagScope&1||null!=c.itemProp||"string"!==typeof ub||"string"!==typeof sa||""===sa){a.push(M("style"));var Ea=null,Oc=null,Za;for(Za in c)if(v.call(c,Za)){var vb=c[Za];if(null!=vb)switch(Za){case "children":Ea=vb;break;case "dangerouslySetInnerHTML":Oc=vb;break;default:G(a,Za,vb)}}a.push(">");var $a=Array.isArray(Ea)?2>Ea.length?Ea[0]:null:Ea;"function"!==typeof $a&&"symbol"!==typeof $a&&null!==$a&&void 0!==$a&&a.push(w(""+$a));H(a, -Oc,Ea);a.push("");var Pc=null}else{var ta=e.styles.get(ub);if(null!==(d.styleResources.hasOwnProperty(sa)?d.styleResources[sa]:void 0)){d.styleResources[sa]=null;ta?ta.hrefs.push(w(sa)):(ta={precedence:w(ub),rules:[],hrefs:[w(sa)],sheets:new Map},e.styles.set(ub,ta));var Qc=ta.rules,Fa=null,Rc=null,wb;for(wb in c)if(v.call(c,wb)){var Zb=c[wb];if(null!=Zb)switch(wb){case "children":Fa=Zb;break;case "dangerouslySetInnerHTML":Rc=Zb}}var ab=Array.isArray(Fa)?2>Fa.length?Fa[0]:null:Fa;"function"!== -typeof ab&&"symbol"!==typeof ab&&null!==ab&&void 0!==ab&&Qc.push(w(""+ab));H(Qc,Rc,Fa)}ta&&e.boundaryResources&&e.boundaryResources.styles.add(ta);g&&a.push("\x3c!-- --\x3e");Pc=void 0}return Pc;case "meta":if(3===f.insertionMode||f.tagScope&1||null!=c.itemProp)var Sc=Hb(a,c,"meta");else g&&a.push("\x3c!-- --\x3e"),Sc="string"===typeof c.charSet?Hb(e.charsetChunks,c,"meta"):"viewport"===c.name?Hb(e.preconnectChunks,c,"meta"):Hb(e.hoistableChunks,c,"meta");return Sc;case "listing":case "pre":a.push(M(b)); -var bb=null,cb=null,db;for(db in c)if(v.call(c,db)){var xb=c[db];if(null!=xb)switch(db){case "children":bb=xb;break;case "dangerouslySetInnerHTML":cb=xb;break;default:G(a,db,xb)}}a.push(">");if(null!=cb){if(null!=bb)throw Error(q(60));if("object"!==typeof cb||!("__html"in cb))throw Error(q(61));var ua=cb.__html;null!==ua&&void 0!==ua&&("string"===typeof ua&&0e.highImagePreloads.size)$b.delete(eb),e.highImagePreloads.add(va)}else d.imageResources.hasOwnProperty(eb)||(d.imageResources[eb]=kb,va=[],L(va,{rel:"preload",as:"image",href:E?void 0:P,imageSrcSet:E,imageSizes:Tc,crossOrigin:c.crossOrigin,integrity:c.integrity,type:c.type,fetchPriority:c.fetchPriority,referrerPolicy:c.referrerPolicy}),"high"===c.fetchPriority||10>e.highImagePreloads.size?e.highImagePreloads.add(va):(e.bulkPreloads.add(va),$b.set(eb, +function Fb(a,b,c,d,e,f,g){var h=b.rel,k=b.href,l=b.precedence;if(3===f||g||null!=b.itemProp||"string"!==typeof h||"string"!==typeof k||""===k)return I(a,b),null;if("stylesheet"===b.rel){if("string"!==typeof l||null!=b.disabled||b.onLoad||b.onError)return I(a,b);f=d.styles.get(l);g=c.styleResources.hasOwnProperty(k)?c.styleResources[k]:void 0;null!==g?(c.styleResources[k]=null,f||(f={precedence:x(l),rules:[],hrefs:[],sheets:new Map},d.styles.set(l,f)),b={state:0,props:t({},b,{"data-precedence":b.precedence, +precedence:null})},g&&(2===g.length&&Gb(b.props,g),(c=d.preloads.stylesheets.get(k))&&0");return null}function Hb(a,b,c){a.push(J(c));for(var d in b)if(w.call(b,d)){var e=b[d];if(null!=e)switch(d){case "children":case "dangerouslySetInnerHTML":throw Error(n(399,c));default:E(a,d,e)}}a.push("/>");return null} +function Ib(a,b){a.push(J("title"));var c=null,d=null,e;for(e in b)if(w.call(b,e)){var f=b[e];if(null!=f)switch(e){case "children":c=f;break;case "dangerouslySetInnerHTML":d=f;break;default:E(a,e,f)}}a.push(">");b=Array.isArray(c)?2>c.length?c[0]:null:c;"function"!==typeof b&&"symbol"!==typeof b&&null!==b&&void 0!==b&&a.push(x(""+b));F(a,d,c);a.push("");return null} +function Jb(a,b){a.push(J("script"));var c=null,d=null,e;for(e in b)if(w.call(b,e)){var f=b[e];if(null!=f)switch(e){case "children":c=f;break;case "dangerouslySetInnerHTML":d=f;break;default:E(a,e,f)}}a.push(">");F(a,d,c);"string"===typeof c&&a.push(x(c));a.push("");return null} +function Kb(a,b,c){a.push(J(c));var d=c=null,e;for(e in b)if(w.call(b,e)){var f=b[e];if(null!=f)switch(e){case "children":c=f;break;case "dangerouslySetInnerHTML":d=f;break;default:E(a,e,f)}}a.push(">");F(a,d,c);return"string"===typeof c?(a.push(x(c)),null):c}var Lb=/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,Mb=new Map;function J(a){var b=Mb.get(a);if(void 0===b){if(!Lb.test(a))throw Error(n(65,a));b="<"+a;Mb.set(a,b)}return b} +function Nb(a,b,c,d,e,f,g){switch(b){case "div":case "span":case "svg":case "path":case "a":case "g":case "p":case "li":break;case "select":a.push(J("select"));var h=null,k=null,l;for(l in c)if(w.call(c,l)){var p=c[l];if(null!=p)switch(l){case "children":h=p;break;case "dangerouslySetInnerHTML":k=p;break;case "defaultValue":case "value":break;default:E(a,l,p)}}a.push(">");F(a,k,h);return h;case "option":var r=f.selectedValue;a.push(J("option"));var m=null,z=null,B=null,R=null,N;for(N in c)if(w.call(c, +N)){var q=c[N];if(null!=q)switch(N){case "children":m=q;break;case "selected":B=q;break;case "dangerouslySetInnerHTML":R=q;break;case "value":z=q;default:E(a,N,q)}}if(null!=r){var u=null!==z?""+z:Eb(m);if(Ha(r))for(var aa=0;aa");F(a,R,m);return m;case "textarea":a.push(J("textarea"));var G=null,O=null,v=null,A;for(A in c)if(w.call(c,A)){var V=c[A];if(null!=V)switch(A){case "children":v= +V;break;case "value":G=V;break;case "defaultValue":O=V;break;case "dangerouslySetInnerHTML":throw Error(n(91));default:E(a,A,V)}}null===G&&null!==O&&(G=O);a.push(">");if(null!=v){if(null!=G)throw Error(n(92));if(Ha(v)){if(1");null!==pb&&pb.forEach(Bb,a);return null;case "button":a.push(J("button"));var W=null,oa=null,pa=null,qa=null,Ra=null,ra=null,Dc=null,Sa;for(Sa in c)if(w.call(c,Sa)){var ca=c[Sa];if(null!=ca)switch(Sa){case "children":W=ca;break;case "dangerouslySetInnerHTML":oa=ca;break;case "name":pa=ca;break;case "formAction":qa=ca;break;case "formEncType":Ra=ca;break;case "formMethod":ra=ca;break;case "formTarget":Dc=ca;break;default:E(a,Sa,ca)}}var Ec=Cb(a,d,e,qa,Ra,ra,Dc,pa);a.push(">");null!== +Ec&&Ec.forEach(Bb,a);F(a,oa,W);if("string"===typeof W){a.push(x(W));var Fc=null}else Fc=W;return Fc;case "form":a.push(J("form"));var Ta=null,Gc=null,ha=null,Ua=null,Va=null,Wa=null,Xa;for(Xa in c)if(w.call(c,Xa)){var ia=c[Xa];if(null!=ia)switch(Xa){case "children":Ta=ia;break;case "dangerouslySetInnerHTML":Gc=ia;break;case "action":ha=ia;break;case "encType":Ua=ia;break;case "method":Va=ia;break;case "target":Wa=ia;break;default:E(a,Xa,ia)}}var Ub=null,Vb=null;if("function"===typeof ha)if("function"=== +typeof ha.$$FORM_ACTION){var he=zb(d),Ca=ha.$$FORM_ACTION(he);ha=Ca.action||"";Ua=Ca.encType;Va=Ca.method;Wa=Ca.target;Ub=Ca.data;Vb=Ca.name}else a.push(" ","action",'="',Ab,'"'),Wa=Va=Ua=ha=null,Db(d,e);null!=ha&&E(a,"action",ha);null!=Ua&&E(a,"encType",Ua);null!=Va&&E(a,"method",Va);null!=Wa&&E(a,"target",Wa);a.push(">");null!==Vb&&(a.push('"),null!==Ub&&Ub.forEach(Bb,a));F(a,Gc,Ta);if("string"===typeof Ta){a.push(x(Ta));var Hc=null}else Hc=Ta;return Hc; +case "menuitem":a.push(J("menuitem"));for(var qb in c)if(w.call(c,qb)){var Ic=c[qb];if(null!=Ic)switch(qb){case "children":case "dangerouslySetInnerHTML":throw Error(n(400));default:E(a,qb,Ic)}}a.push(">");return null;case "title":if(3===f.insertionMode||f.tagScope&1||null!=c.itemProp)var Jc=Ib(a,c);else Ib(e.hoistableChunks,c),Jc=null;return Jc;case "link":return Fb(a,c,d,e,g,f.insertionMode,!!(f.tagScope&1));case "script":var Wb=c.async;if("string"!==typeof c.src||!c.src||!Wb||"function"===typeof Wb|| +"symbol"===typeof Wb||c.onLoad||c.onError||3===f.insertionMode||f.tagScope&1||null!=c.itemProp)var Kc=Jb(a,c);else{var rb=c.src;if("module"===c.type){var sb=d.moduleScriptResources;var Lc=e.preloads.moduleScripts}else sb=d.scriptResources,Lc=e.preloads.scripts;var tb=sb.hasOwnProperty(rb)?sb[rb]:void 0;if(null!==tb){sb[rb]=null;var Xb=c;if(tb){2===tb.length&&(Xb=t({},c),Gb(Xb,tb));var Mc=Lc.get(rb);Mc&&(Mc.length=0)}var Nc=[];e.scripts.add(Nc);Jb(Nc,Xb)}g&&a.push("\x3c!-- --\x3e");Kc=null}return Kc; +case "style":var ub=c.precedence,sa=c.href;if(3===f.insertionMode||f.tagScope&1||null!=c.itemProp||"string"!==typeof ub||"string"!==typeof sa||""===sa){a.push(J("style"));var Da=null,Oc=null,Ya;for(Ya in c)if(w.call(c,Ya)){var vb=c[Ya];if(null!=vb)switch(Ya){case "children":Da=vb;break;case "dangerouslySetInnerHTML":Oc=vb;break;default:E(a,Ya,vb)}}a.push(">");var Za=Array.isArray(Da)?2>Da.length?Da[0]:null:Da;"function"!==typeof Za&&"symbol"!==typeof Za&&null!==Za&&void 0!==Za&&a.push(x(""+Za));F(a, +Oc,Da);a.push("");var Pc=null}else{var ta=e.styles.get(ub);if(null!==(d.styleResources.hasOwnProperty(sa)?d.styleResources[sa]:void 0)){d.styleResources[sa]=null;ta?ta.hrefs.push(x(sa)):(ta={precedence:x(ub),rules:[],hrefs:[x(sa)],sheets:new Map},e.styles.set(ub,ta));var Qc=ta.rules,Ea=null,Rc=null,wb;for(wb in c)if(w.call(c,wb)){var Yb=c[wb];if(null!=Yb)switch(wb){case "children":Ea=Yb;break;case "dangerouslySetInnerHTML":Rc=Yb}}var $a=Array.isArray(Ea)?2>Ea.length?Ea[0]:null:Ea;"function"!== +typeof $a&&"symbol"!==typeof $a&&null!==$a&&void 0!==$a&&Qc.push(x(""+$a));F(Qc,Rc,Ea)}ta&&e.boundaryResources&&e.boundaryResources.styles.add(ta);g&&a.push("\x3c!-- --\x3e");Pc=void 0}return Pc;case "meta":if(3===f.insertionMode||f.tagScope&1||null!=c.itemProp)var Sc=Hb(a,c,"meta");else g&&a.push("\x3c!-- --\x3e"),Sc="string"===typeof c.charSet?Hb(e.charsetChunks,c,"meta"):"viewport"===c.name?Hb(e.preconnectChunks,c,"meta"):Hb(e.hoistableChunks,c,"meta");return Sc;case "listing":case "pre":a.push(J(b)); +var ab=null,bb=null,cb;for(cb in c)if(w.call(c,cb)){var xb=c[cb];if(null!=xb)switch(cb){case "children":ab=xb;break;case "dangerouslySetInnerHTML":bb=xb;break;default:E(a,cb,xb)}}a.push(">");if(null!=bb){if(null!=ab)throw Error(n(60));if("object"!==typeof bb||!("__html"in bb))throw Error(n(61));var ua=bb.__html;null!==ua&&void 0!==ua&&("string"===typeof ua&&0e.highImagePreloads.size)Zb.delete(db),e.highImagePreloads.add(va)}else d.imageResources.hasOwnProperty(db)||(d.imageResources[db]=kb,va=[],I(va,{rel:"preload",as:"image",href:C?void 0:L,imageSrcSet:C,imageSizes:Tc,crossOrigin:c.crossOrigin,integrity:c.integrity,type:c.type,fetchPriority:c.fetchPriority,referrerPolicy:c.referrerPolicy}),"high"===c.fetchPriority||10>e.highImagePreloads.size?e.highImagePreloads.add(va):(e.bulkPreloads.add(va),Zb.set(db, va)))}return Hb(a,c,"img");case "base":case "area":case "br":case "col":case "embed":case "hr":case "keygen":case "param":case "source":case "track":case "wbr":return Hb(a,c,b);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":break;case "head":if(2>f.insertionMode&&null===e.headChunks){e.headChunks=[];var Uc=Kb(e.headChunks,c,"head")}else Uc=Kb(a,c,"head");return Uc;case "html":if(0=== -f.insertionMode&&null===e.htmlChunks){e.htmlChunks=[""];var Vc=Kb(e.htmlChunks,c,"html")}else Vc=Kb(a,c,"html");return Vc;default:if(-1!==b.indexOf("-")){a.push(M(b));var ac=null,Wc=null,ha;for(ha in c)if(v.call(c,ha)){var S=c[ha];if(null!=S&&"function"!==typeof S&&"object"!==typeof S&&!1!==S)switch(!0===S&&(S=""),"className"===ha&&(ha="class"),ha){case "children":ac=S;break;case "dangerouslySetInnerHTML":Wc=S;break;case "style":ob(a,S);break;case "suppressContentEditableWarning":case "suppressHydrationWarning":break; -default:xa(ha)&&"function"!==typeof S&&"symbol"!==typeof S&&a.push(" ",ha,'="',w(S),'"')}}a.push(">");H(a,Wc,ac);return ac}}return Kb(a,c,b)}function Ob(a,b){b=b.bootstrapChunks;for(var c=0;c')} +f.insertionMode&&null===e.htmlChunks){e.htmlChunks=[""];var Vc=Kb(e.htmlChunks,c,"html")}else Vc=Kb(a,c,"html");return Vc;default:if(-1!==b.indexOf("-")){a.push(J(b));var $b=null,Wc=null,Fa;for(Fa in c)if(w.call(c,Fa)){var S=c[Fa];if(null!=S){var Xc=Fa;switch(Fa){case "children":$b=S;break;case "dangerouslySetInnerHTML":Wc=S;break;case "style":ob(a,S);break;case "suppressContentEditableWarning":case "suppressHydrationWarning":break;case "className":Xc="class";default:if(xa(Fa)&&"function"!==typeof S&& +"symbol"!==typeof S&&!1!==S){if(!0===S)S="";else if("object"===typeof S)continue;a.push(" ",Xc,'="',x(S),'"')}}}}a.push(">");F(a,Wc,$b);return $b}}return Kb(a,c,b)}function Ob(a,b){b=b.bootstrapChunks;for(var c=0;c')} function Qb(a,b,c,d){switch(c.insertionMode){case 0:case 1:case 2:return a.push('