comparison react_games/public/todo/todo.js @ 37:fb9bcd3145cb

[ReactGames] Few games I made using react just to practice few things.
author MrJuneJune <me@mrjunejune.com>
date Mon, 01 Dec 2025 20:22:47 -0800
parents
children
comparison
equal deleted inserted replaced
36:84672efec192 37:fb9bcd3145cb
1 "use strict";
2 (() => {
3 var __create = Object.create;
4 var __defProp = Object.defineProperty;
5 var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6 var __getOwnPropNames = Object.getOwnPropertyNames;
7 var __getProtoOf = Object.getPrototypeOf;
8 var __hasOwnProp = Object.prototype.hasOwnProperty;
9 var __commonJS = (cb, mod) => function __require() {
10 return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
11 };
12 var __copyProps = (to, from, except, desc) => {
13 if (from && typeof from === "object" || typeof from === "function") {
14 for (let key of __getOwnPropNames(from))
15 if (!__hasOwnProp.call(to, key) && key !== except)
16 __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17 }
18 return to;
19 };
20 var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21 // If the importer is in node compatibility mode or this is not an ESM
22 // file that has been converted to a CommonJS file using a Babel-
23 // compatible transform (i.e. "__esModule" has not been set), then set
24 // "default" to the CommonJS "module.exports" for node compatibility.
25 isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26 mod
27 ));
28
29 // node_modules/scheduler/cjs/scheduler.development.js
30 var require_scheduler_development = __commonJS({
31 "node_modules/scheduler/cjs/scheduler.development.js"(exports) {
32 "use strict";
33 (function() {
34 function performWorkUntilDeadline() {
35 needsPaint = false;
36 if (isMessageLoopRunning) {
37 var currentTime = exports.unstable_now();
38 startTime = currentTime;
39 var hasMoreWork = true;
40 try {
41 a: {
42 isHostCallbackScheduled = false;
43 isHostTimeoutScheduled && (isHostTimeoutScheduled = false, localClearTimeout(taskTimeoutID), taskTimeoutID = -1);
44 isPerformingWork = true;
45 var previousPriorityLevel = currentPriorityLevel;
46 try {
47 b: {
48 advanceTimers(currentTime);
49 for (currentTask = peek(taskQueue); null !== currentTask && !(currentTask.expirationTime > currentTime && shouldYieldToHost()); ) {
50 var callback = currentTask.callback;
51 if ("function" === typeof callback) {
52 currentTask.callback = null;
53 currentPriorityLevel = currentTask.priorityLevel;
54 var continuationCallback = callback(
55 currentTask.expirationTime <= currentTime
56 );
57 currentTime = exports.unstable_now();
58 if ("function" === typeof continuationCallback) {
59 currentTask.callback = continuationCallback;
60 advanceTimers(currentTime);
61 hasMoreWork = true;
62 break b;
63 }
64 currentTask === peek(taskQueue) && pop(taskQueue);
65 advanceTimers(currentTime);
66 } else pop(taskQueue);
67 currentTask = peek(taskQueue);
68 }
69 if (null !== currentTask) hasMoreWork = true;
70 else {
71 var firstTimer = peek(timerQueue);
72 null !== firstTimer && requestHostTimeout(
73 handleTimeout,
74 firstTimer.startTime - currentTime
75 );
76 hasMoreWork = false;
77 }
78 }
79 break a;
80 } finally {
81 currentTask = null, currentPriorityLevel = previousPriorityLevel, isPerformingWork = false;
82 }
83 hasMoreWork = void 0;
84 }
85 } finally {
86 hasMoreWork ? schedulePerformWorkUntilDeadline() : isMessageLoopRunning = false;
87 }
88 }
89 }
90 function push(heap, node) {
91 var index = heap.length;
92 heap.push(node);
93 a: for (; 0 < index; ) {
94 var parentIndex = index - 1 >>> 1, parent = heap[parentIndex];
95 if (0 < compare(parent, node))
96 heap[parentIndex] = node, heap[index] = parent, index = parentIndex;
97 else break a;
98 }
99 }
100 function peek(heap) {
101 return 0 === heap.length ? null : heap[0];
102 }
103 function pop(heap) {
104 if (0 === heap.length) return null;
105 var first = heap[0], last = heap.pop();
106 if (last !== first) {
107 heap[0] = last;
108 a: for (var index = 0, length = heap.length, halfLength = length >>> 1; index < halfLength; ) {
109 var leftIndex = 2 * (index + 1) - 1, left = heap[leftIndex], rightIndex = leftIndex + 1, right = heap[rightIndex];
110 if (0 > compare(left, last))
111 rightIndex < length && 0 > compare(right, left) ? (heap[index] = right, heap[rightIndex] = last, index = rightIndex) : (heap[index] = left, heap[leftIndex] = last, index = leftIndex);
112 else if (rightIndex < length && 0 > compare(right, last))
113 heap[index] = right, heap[rightIndex] = last, index = rightIndex;
114 else break a;
115 }
116 }
117 return first;
118 }
119 function compare(a, b) {
120 var diff = a.sortIndex - b.sortIndex;
121 return 0 !== diff ? diff : a.id - b.id;
122 }
123 function advanceTimers(currentTime) {
124 for (var timer = peek(timerQueue); null !== timer; ) {
125 if (null === timer.callback) pop(timerQueue);
126 else if (timer.startTime <= currentTime)
127 pop(timerQueue), timer.sortIndex = timer.expirationTime, push(taskQueue, timer);
128 else break;
129 timer = peek(timerQueue);
130 }
131 }
132 function handleTimeout(currentTime) {
133 isHostTimeoutScheduled = false;
134 advanceTimers(currentTime);
135 if (!isHostCallbackScheduled)
136 if (null !== peek(taskQueue))
137 isHostCallbackScheduled = true, isMessageLoopRunning || (isMessageLoopRunning = true, schedulePerformWorkUntilDeadline());
138 else {
139 var firstTimer = peek(timerQueue);
140 null !== firstTimer && requestHostTimeout(
141 handleTimeout,
142 firstTimer.startTime - currentTime
143 );
144 }
145 }
146 function shouldYieldToHost() {
147 return needsPaint ? true : exports.unstable_now() - startTime < frameInterval ? false : true;
148 }
149 function requestHostTimeout(callback, ms) {
150 taskTimeoutID = localSetTimeout(function() {
151 callback(exports.unstable_now());
152 }, ms);
153 }
154 "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
155 exports.unstable_now = void 0;
156 if ("object" === typeof performance && "function" === typeof performance.now) {
157 var localPerformance = performance;
158 exports.unstable_now = function() {
159 return localPerformance.now();
160 };
161 } else {
162 var localDate = Date, initialTime = localDate.now();
163 exports.unstable_now = function() {
164 return localDate.now() - initialTime;
165 };
166 }
167 var taskQueue = [], timerQueue = [], taskIdCounter = 1, currentTask = null, currentPriorityLevel = 3, isPerformingWork = false, isHostCallbackScheduled = false, isHostTimeoutScheduled = false, needsPaint = false, localSetTimeout = "function" === typeof setTimeout ? setTimeout : null, localClearTimeout = "function" === typeof clearTimeout ? clearTimeout : null, localSetImmediate = "undefined" !== typeof setImmediate ? setImmediate : null, isMessageLoopRunning = false, taskTimeoutID = -1, frameInterval = 5, startTime = -1;
168 if ("function" === typeof localSetImmediate)
169 var schedulePerformWorkUntilDeadline = function() {
170 localSetImmediate(performWorkUntilDeadline);
171 };
172 else if ("undefined" !== typeof MessageChannel) {
173 var channel = new MessageChannel(), port = channel.port2;
174 channel.port1.onmessage = performWorkUntilDeadline;
175 schedulePerformWorkUntilDeadline = function() {
176 port.postMessage(null);
177 };
178 } else
179 schedulePerformWorkUntilDeadline = function() {
180 localSetTimeout(performWorkUntilDeadline, 0);
181 };
182 exports.unstable_IdlePriority = 5;
183 exports.unstable_ImmediatePriority = 1;
184 exports.unstable_LowPriority = 4;
185 exports.unstable_NormalPriority = 3;
186 exports.unstable_Profiling = null;
187 exports.unstable_UserBlockingPriority = 2;
188 exports.unstable_cancelCallback = function(task) {
189 task.callback = null;
190 };
191 exports.unstable_forceFrameRate = function(fps) {
192 0 > fps || 125 < fps ? console.error(
193 "forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"
194 ) : frameInterval = 0 < fps ? Math.floor(1e3 / fps) : 5;
195 };
196 exports.unstable_getCurrentPriorityLevel = function() {
197 return currentPriorityLevel;
198 };
199 exports.unstable_next = function(eventHandler) {
200 switch (currentPriorityLevel) {
201 case 1:
202 case 2:
203 case 3:
204 var priorityLevel = 3;
205 break;
206 default:
207 priorityLevel = currentPriorityLevel;
208 }
209 var previousPriorityLevel = currentPriorityLevel;
210 currentPriorityLevel = priorityLevel;
211 try {
212 return eventHandler();
213 } finally {
214 currentPriorityLevel = previousPriorityLevel;
215 }
216 };
217 exports.unstable_requestPaint = function() {
218 needsPaint = true;
219 };
220 exports.unstable_runWithPriority = function(priorityLevel, eventHandler) {
221 switch (priorityLevel) {
222 case 1:
223 case 2:
224 case 3:
225 case 4:
226 case 5:
227 break;
228 default:
229 priorityLevel = 3;
230 }
231 var previousPriorityLevel = currentPriorityLevel;
232 currentPriorityLevel = priorityLevel;
233 try {
234 return eventHandler();
235 } finally {
236 currentPriorityLevel = previousPriorityLevel;
237 }
238 };
239 exports.unstable_scheduleCallback = function(priorityLevel, callback, options) {
240 var currentTime = exports.unstable_now();
241 "object" === typeof options && null !== options ? (options = options.delay, options = "number" === typeof options && 0 < options ? currentTime + options : currentTime) : options = currentTime;
242 switch (priorityLevel) {
243 case 1:
244 var timeout = -1;
245 break;
246 case 2:
247 timeout = 250;
248 break;
249 case 5:
250 timeout = 1073741823;
251 break;
252 case 4:
253 timeout = 1e4;
254 break;
255 default:
256 timeout = 5e3;
257 }
258 timeout = options + timeout;
259 priorityLevel = {
260 id: taskIdCounter++,
261 callback,
262 priorityLevel,
263 startTime: options,
264 expirationTime: timeout,
265 sortIndex: -1
266 };
267 options > currentTime ? (priorityLevel.sortIndex = options, push(timerQueue, priorityLevel), null === peek(taskQueue) && priorityLevel === peek(timerQueue) && (isHostTimeoutScheduled ? (localClearTimeout(taskTimeoutID), taskTimeoutID = -1) : isHostTimeoutScheduled = true, requestHostTimeout(handleTimeout, options - currentTime))) : (priorityLevel.sortIndex = timeout, push(taskQueue, priorityLevel), isHostCallbackScheduled || isPerformingWork || (isHostCallbackScheduled = true, isMessageLoopRunning || (isMessageLoopRunning = true, schedulePerformWorkUntilDeadline())));
268 return priorityLevel;
269 };
270 exports.unstable_shouldYield = shouldYieldToHost;
271 exports.unstable_wrapCallback = function(callback) {
272 var parentPriorityLevel = currentPriorityLevel;
273 return function() {
274 var previousPriorityLevel = currentPriorityLevel;
275 currentPriorityLevel = parentPriorityLevel;
276 try {
277 return callback.apply(this, arguments);
278 } finally {
279 currentPriorityLevel = previousPriorityLevel;
280 }
281 };
282 };
283 "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
284 })();
285 }
286 });
287
288 // node_modules/scheduler/index.js
289 var require_scheduler = __commonJS({
290 "node_modules/scheduler/index.js"(exports, module) {
291 "use strict";
292 if (false) {
293 module.exports = null;
294 } else {
295 module.exports = require_scheduler_development();
296 }
297 }
298 });
299
300 // node_modules/react/cjs/react.development.js
301 var require_react_development = __commonJS({
302 "node_modules/react/cjs/react.development.js"(exports, module) {
303 "use strict";
304 (function() {
305 function defineDeprecationWarning(methodName, info) {
306 Object.defineProperty(Component.prototype, methodName, {
307 get: function() {
308 console.warn(
309 "%s(...) is deprecated in plain JavaScript React classes. %s",
310 info[0],
311 info[1]
312 );
313 }
314 });
315 }
316 function getIteratorFn(maybeIterable) {
317 if (null === maybeIterable || "object" !== typeof maybeIterable)
318 return null;
319 maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable["@@iterator"];
320 return "function" === typeof maybeIterable ? maybeIterable : null;
321 }
322 function warnNoop(publicInstance, callerName) {
323 publicInstance = (publicInstance = publicInstance.constructor) && (publicInstance.displayName || publicInstance.name) || "ReactClass";
324 var warningKey = publicInstance + "." + callerName;
325 didWarnStateUpdateForUnmountedComponent[warningKey] || (console.error(
326 "Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.",
327 callerName,
328 publicInstance
329 ), didWarnStateUpdateForUnmountedComponent[warningKey] = true);
330 }
331 function Component(props, context, updater) {
332 this.props = props;
333 this.context = context;
334 this.refs = emptyObject;
335 this.updater = updater || ReactNoopUpdateQueue;
336 }
337 function ComponentDummy() {
338 }
339 function PureComponent(props, context, updater) {
340 this.props = props;
341 this.context = context;
342 this.refs = emptyObject;
343 this.updater = updater || ReactNoopUpdateQueue;
344 }
345 function testStringCoercion(value) {
346 return "" + value;
347 }
348 function checkKeyStringCoercion(value) {
349 try {
350 testStringCoercion(value);
351 var JSCompiler_inline_result = false;
352 } catch (e) {
353 JSCompiler_inline_result = true;
354 }
355 if (JSCompiler_inline_result) {
356 JSCompiler_inline_result = console;
357 var JSCompiler_temp_const = JSCompiler_inline_result.error;
358 var JSCompiler_inline_result$jscomp$0 = "function" === typeof Symbol && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object";
359 JSCompiler_temp_const.call(
360 JSCompiler_inline_result,
361 "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
362 JSCompiler_inline_result$jscomp$0
363 );
364 return testStringCoercion(value);
365 }
366 }
367 function getComponentNameFromType(type) {
368 if (null == type) return null;
369 if ("function" === typeof type)
370 return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null;
371 if ("string" === typeof type) return type;
372 switch (type) {
373 case REACT_FRAGMENT_TYPE:
374 return "Fragment";
375 case REACT_PROFILER_TYPE:
376 return "Profiler";
377 case REACT_STRICT_MODE_TYPE:
378 return "StrictMode";
379 case REACT_SUSPENSE_TYPE:
380 return "Suspense";
381 case REACT_SUSPENSE_LIST_TYPE:
382 return "SuspenseList";
383 case REACT_ACTIVITY_TYPE:
384 return "Activity";
385 }
386 if ("object" === typeof type)
387 switch ("number" === typeof type.tag && console.error(
388 "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
389 ), type.$$typeof) {
390 case REACT_PORTAL_TYPE:
391 return "Portal";
392 case REACT_CONTEXT_TYPE:
393 return (type.displayName || "Context") + ".Provider";
394 case REACT_CONSUMER_TYPE:
395 return (type._context.displayName || "Context") + ".Consumer";
396 case REACT_FORWARD_REF_TYPE:
397 var innerType = type.render;
398 type = type.displayName;
399 type || (type = innerType.displayName || innerType.name || "", type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef");
400 return type;
401 case REACT_MEMO_TYPE:
402 return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || "Memo";
403 case REACT_LAZY_TYPE:
404 innerType = type._payload;
405 type = type._init;
406 try {
407 return getComponentNameFromType(type(innerType));
408 } catch (x) {
409 }
410 }
411 return null;
412 }
413 function getTaskName(type) {
414 if (type === REACT_FRAGMENT_TYPE) return "<>";
415 if ("object" === typeof type && null !== type && type.$$typeof === REACT_LAZY_TYPE)
416 return "<...>";
417 try {
418 var name = getComponentNameFromType(type);
419 return name ? "<" + name + ">" : "<...>";
420 } catch (x) {
421 return "<...>";
422 }
423 }
424 function getOwner() {
425 var dispatcher = ReactSharedInternals.A;
426 return null === dispatcher ? null : dispatcher.getOwner();
427 }
428 function UnknownOwner() {
429 return Error("react-stack-top-frame");
430 }
431 function hasValidKey(config) {
432 if (hasOwnProperty.call(config, "key")) {
433 var getter = Object.getOwnPropertyDescriptor(config, "key").get;
434 if (getter && getter.isReactWarning) return false;
435 }
436 return void 0 !== config.key;
437 }
438 function defineKeyPropWarningGetter(props, displayName) {
439 function warnAboutAccessingKey() {
440 specialPropKeyWarningShown || (specialPropKeyWarningShown = true, console.error(
441 "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
442 displayName
443 ));
444 }
445 warnAboutAccessingKey.isReactWarning = true;
446 Object.defineProperty(props, "key", {
447 get: warnAboutAccessingKey,
448 configurable: true
449 });
450 }
451 function elementRefGetterWithDeprecationWarning() {
452 var componentName = getComponentNameFromType(this.type);
453 didWarnAboutElementRef[componentName] || (didWarnAboutElementRef[componentName] = true, console.error(
454 "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
455 ));
456 componentName = this.props.ref;
457 return void 0 !== componentName ? componentName : null;
458 }
459 function ReactElement(type, key, self, source, owner, props, debugStack, debugTask) {
460 self = props.ref;
461 type = {
462 $$typeof: REACT_ELEMENT_TYPE,
463 type,
464 key,
465 props,
466 _owner: owner
467 };
468 null !== (void 0 !== self ? self : null) ? Object.defineProperty(type, "ref", {
469 enumerable: false,
470 get: elementRefGetterWithDeprecationWarning
471 }) : Object.defineProperty(type, "ref", { enumerable: false, value: null });
472 type._store = {};
473 Object.defineProperty(type._store, "validated", {
474 configurable: false,
475 enumerable: false,
476 writable: true,
477 value: 0
478 });
479 Object.defineProperty(type, "_debugInfo", {
480 configurable: false,
481 enumerable: false,
482 writable: true,
483 value: null
484 });
485 Object.defineProperty(type, "_debugStack", {
486 configurable: false,
487 enumerable: false,
488 writable: true,
489 value: debugStack
490 });
491 Object.defineProperty(type, "_debugTask", {
492 configurable: false,
493 enumerable: false,
494 writable: true,
495 value: debugTask
496 });
497 Object.freeze && (Object.freeze(type.props), Object.freeze(type));
498 return type;
499 }
500 function cloneAndReplaceKey(oldElement, newKey) {
501 newKey = ReactElement(
502 oldElement.type,
503 newKey,
504 void 0,
505 void 0,
506 oldElement._owner,
507 oldElement.props,
508 oldElement._debugStack,
509 oldElement._debugTask
510 );
511 oldElement._store && (newKey._store.validated = oldElement._store.validated);
512 return newKey;
513 }
514 function isValidElement(object) {
515 return "object" === typeof object && null !== object && object.$$typeof === REACT_ELEMENT_TYPE;
516 }
517 function escape(key) {
518 var escaperLookup = { "=": "=0", ":": "=2" };
519 return "$" + key.replace(/[=:]/g, function(match) {
520 return escaperLookup[match];
521 });
522 }
523 function getElementKey(element, index) {
524 return "object" === typeof element && null !== element && null != element.key ? (checkKeyStringCoercion(element.key), escape("" + element.key)) : index.toString(36);
525 }
526 function noop$1() {
527 }
528 function resolveThenable(thenable) {
529 switch (thenable.status) {
530 case "fulfilled":
531 return thenable.value;
532 case "rejected":
533 throw thenable.reason;
534 default:
535 switch ("string" === typeof thenable.status ? thenable.then(noop$1, noop$1) : (thenable.status = "pending", thenable.then(
536 function(fulfilledValue) {
537 "pending" === thenable.status && (thenable.status = "fulfilled", thenable.value = fulfilledValue);
538 },
539 function(error) {
540 "pending" === thenable.status && (thenable.status = "rejected", thenable.reason = error);
541 }
542 )), thenable.status) {
543 case "fulfilled":
544 return thenable.value;
545 case "rejected":
546 throw thenable.reason;
547 }
548 }
549 throw thenable;
550 }
551 function mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {
552 var type = typeof children;
553 if ("undefined" === type || "boolean" === type) children = null;
554 var invokeCallback = false;
555 if (null === children) invokeCallback = true;
556 else
557 switch (type) {
558 case "bigint":
559 case "string":
560 case "number":
561 invokeCallback = true;
562 break;
563 case "object":
564 switch (children.$$typeof) {
565 case REACT_ELEMENT_TYPE:
566 case REACT_PORTAL_TYPE:
567 invokeCallback = true;
568 break;
569 case REACT_LAZY_TYPE:
570 return invokeCallback = children._init, mapIntoArray(
571 invokeCallback(children._payload),
572 array,
573 escapedPrefix,
574 nameSoFar,
575 callback
576 );
577 }
578 }
579 if (invokeCallback) {
580 invokeCallback = children;
581 callback = callback(invokeCallback);
582 var childKey = "" === nameSoFar ? "." + getElementKey(invokeCallback, 0) : nameSoFar;
583 isArrayImpl(callback) ? (escapedPrefix = "", null != childKey && (escapedPrefix = childKey.replace(userProvidedKeyEscapeRegex, "$&/") + "/"), mapIntoArray(callback, array, escapedPrefix, "", function(c) {
584 return c;
585 })) : null != callback && (isValidElement(callback) && (null != callback.key && (invokeCallback && invokeCallback.key === callback.key || checkKeyStringCoercion(callback.key)), escapedPrefix = cloneAndReplaceKey(
586 callback,
587 escapedPrefix + (null == callback.key || invokeCallback && invokeCallback.key === callback.key ? "" : ("" + callback.key).replace(
588 userProvidedKeyEscapeRegex,
589 "$&/"
590 ) + "/") + childKey
591 ), "" !== nameSoFar && null != invokeCallback && isValidElement(invokeCallback) && null == invokeCallback.key && invokeCallback._store && !invokeCallback._store.validated && (escapedPrefix._store.validated = 2), callback = escapedPrefix), array.push(callback));
592 return 1;
593 }
594 invokeCallback = 0;
595 childKey = "" === nameSoFar ? "." : nameSoFar + ":";
596 if (isArrayImpl(children))
597 for (var i = 0; i < children.length; i++)
598 nameSoFar = children[i], type = childKey + getElementKey(nameSoFar, i), invokeCallback += mapIntoArray(
599 nameSoFar,
600 array,
601 escapedPrefix,
602 type,
603 callback
604 );
605 else if (i = getIteratorFn(children), "function" === typeof i)
606 for (i === children.entries && (didWarnAboutMaps || console.warn(
607 "Using Maps as children is not supported. Use an array of keyed ReactElements instead."
608 ), didWarnAboutMaps = true), children = i.call(children), i = 0; !(nameSoFar = children.next()).done; )
609 nameSoFar = nameSoFar.value, type = childKey + getElementKey(nameSoFar, i++), invokeCallback += mapIntoArray(
610 nameSoFar,
611 array,
612 escapedPrefix,
613 type,
614 callback
615 );
616 else if ("object" === type) {
617 if ("function" === typeof children.then)
618 return mapIntoArray(
619 resolveThenable(children),
620 array,
621 escapedPrefix,
622 nameSoFar,
623 callback
624 );
625 array = String(children);
626 throw Error(
627 "Objects are not valid as a React child (found: " + ("[object Object]" === array ? "object with keys {" + Object.keys(children).join(", ") + "}" : array) + "). If you meant to render a collection of children, use an array instead."
628 );
629 }
630 return invokeCallback;
631 }
632 function mapChildren(children, func, context) {
633 if (null == children) return children;
634 var result = [], count = 0;
635 mapIntoArray(children, result, "", "", function(child) {
636 return func.call(context, child, count++);
637 });
638 return result;
639 }
640 function lazyInitializer(payload) {
641 if (-1 === payload._status) {
642 var ctor = payload._result;
643 ctor = ctor();
644 ctor.then(
645 function(moduleObject) {
646 if (0 === payload._status || -1 === payload._status)
647 payload._status = 1, payload._result = moduleObject;
648 },
649 function(error) {
650 if (0 === payload._status || -1 === payload._status)
651 payload._status = 2, payload._result = error;
652 }
653 );
654 -1 === payload._status && (payload._status = 0, payload._result = ctor);
655 }
656 if (1 === payload._status)
657 return ctor = payload._result, void 0 === ctor && console.error(
658 "lazy: Expected the result of a dynamic import() call. Instead received: %s\n\nYour code should look like: \n const MyComponent = lazy(() => import('./MyComponent'))\n\nDid you accidentally put curly braces around the import?",
659 ctor
660 ), "default" in ctor || console.error(
661 "lazy: Expected the result of a dynamic import() call. Instead received: %s\n\nYour code should look like: \n const MyComponent = lazy(() => import('./MyComponent'))",
662 ctor
663 ), ctor.default;
664 throw payload._result;
665 }
666 function resolveDispatcher() {
667 var dispatcher = ReactSharedInternals.H;
668 null === dispatcher && console.error(
669 "Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem."
670 );
671 return dispatcher;
672 }
673 function noop() {
674 }
675 function enqueueTask(task) {
676 if (null === enqueueTaskImpl)
677 try {
678 var requireString = ("require" + Math.random()).slice(0, 7);
679 enqueueTaskImpl = (module && module[requireString]).call(
680 module,
681 "timers"
682 ).setImmediate;
683 } catch (_err) {
684 enqueueTaskImpl = function(callback) {
685 false === didWarnAboutMessageChannel && (didWarnAboutMessageChannel = true, "undefined" === typeof MessageChannel && console.error(
686 "This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning."
687 ));
688 var channel = new MessageChannel();
689 channel.port1.onmessage = callback;
690 channel.port2.postMessage(void 0);
691 };
692 }
693 return enqueueTaskImpl(task);
694 }
695 function aggregateErrors(errors) {
696 return 1 < errors.length && "function" === typeof AggregateError ? new AggregateError(errors) : errors[0];
697 }
698 function popActScope(prevActQueue, prevActScopeDepth) {
699 prevActScopeDepth !== actScopeDepth - 1 && console.error(
700 "You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. "
701 );
702 actScopeDepth = prevActScopeDepth;
703 }
704 function recursivelyFlushAsyncActWork(returnValue, resolve, reject) {
705 var queue = ReactSharedInternals.actQueue;
706 if (null !== queue)
707 if (0 !== queue.length)
708 try {
709 flushActQueue(queue);
710 enqueueTask(function() {
711 return recursivelyFlushAsyncActWork(returnValue, resolve, reject);
712 });
713 return;
714 } catch (error) {
715 ReactSharedInternals.thrownErrors.push(error);
716 }
717 else ReactSharedInternals.actQueue = null;
718 0 < ReactSharedInternals.thrownErrors.length ? (queue = aggregateErrors(ReactSharedInternals.thrownErrors), ReactSharedInternals.thrownErrors.length = 0, reject(queue)) : resolve(returnValue);
719 }
720 function flushActQueue(queue) {
721 if (!isFlushing) {
722 isFlushing = true;
723 var i = 0;
724 try {
725 for (; i < queue.length; i++) {
726 var callback = queue[i];
727 do {
728 ReactSharedInternals.didUsePromise = false;
729 var continuation = callback(false);
730 if (null !== continuation) {
731 if (ReactSharedInternals.didUsePromise) {
732 queue[i] = callback;
733 queue.splice(0, i);
734 return;
735 }
736 callback = continuation;
737 } else break;
738 } while (1);
739 }
740 queue.length = 0;
741 } catch (error) {
742 queue.splice(0, i + 1), ReactSharedInternals.thrownErrors.push(error);
743 } finally {
744 isFlushing = false;
745 }
746 }
747 }
748 "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
749 var 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");
750 Symbol.for("react.provider");
751 var 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"), REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), MAYBE_ITERATOR_SYMBOL = Symbol.iterator, didWarnStateUpdateForUnmountedComponent = {}, ReactNoopUpdateQueue = {
752 isMounted: function() {
753 return false;
754 },
755 enqueueForceUpdate: function(publicInstance) {
756 warnNoop(publicInstance, "forceUpdate");
757 },
758 enqueueReplaceState: function(publicInstance) {
759 warnNoop(publicInstance, "replaceState");
760 },
761 enqueueSetState: function(publicInstance) {
762 warnNoop(publicInstance, "setState");
763 }
764 }, assign = Object.assign, emptyObject = {};
765 Object.freeze(emptyObject);
766 Component.prototype.isReactComponent = {};
767 Component.prototype.setState = function(partialState, callback) {
768 if ("object" !== typeof partialState && "function" !== typeof partialState && null != partialState)
769 throw Error(
770 "takes an object of state variables to update or a function which returns an object of state variables."
771 );
772 this.updater.enqueueSetState(this, partialState, callback, "setState");
773 };
774 Component.prototype.forceUpdate = function(callback) {
775 this.updater.enqueueForceUpdate(this, callback, "forceUpdate");
776 };
777 var deprecatedAPIs = {
778 isMounted: [
779 "isMounted",
780 "Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks."
781 ],
782 replaceState: [
783 "replaceState",
784 "Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)."
785 ]
786 }, fnName;
787 for (fnName in deprecatedAPIs)
788 deprecatedAPIs.hasOwnProperty(fnName) && defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);
789 ComponentDummy.prototype = Component.prototype;
790 deprecatedAPIs = PureComponent.prototype = new ComponentDummy();
791 deprecatedAPIs.constructor = PureComponent;
792 assign(deprecatedAPIs, Component.prototype);
793 deprecatedAPIs.isPureReactComponent = true;
794 var isArrayImpl = Array.isArray, REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), ReactSharedInternals = {
795 H: null,
796 A: null,
797 T: null,
798 S: null,
799 V: null,
800 actQueue: null,
801 isBatchingLegacy: false,
802 didScheduleLegacyUpdate: false,
803 didUsePromise: false,
804 thrownErrors: [],
805 getCurrentStack: null,
806 recentlyCreatedOwnerStacks: 0
807 }, hasOwnProperty = Object.prototype.hasOwnProperty, createTask = console.createTask ? console.createTask : function() {
808 return null;
809 };
810 deprecatedAPIs = {
811 react_stack_bottom_frame: function(callStackForError) {
812 return callStackForError();
813 }
814 };
815 var specialPropKeyWarningShown, didWarnAboutOldJSXRuntime;
816 var didWarnAboutElementRef = {};
817 var unknownOwnerDebugStack = deprecatedAPIs.react_stack_bottom_frame.bind(
818 deprecatedAPIs,
819 UnknownOwner
820 )();
821 var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));
822 var didWarnAboutMaps = false, userProvidedKeyEscapeRegex = /\/+/g, reportGlobalError = "function" === typeof reportError ? reportError : function(error) {
823 if ("object" === typeof window && "function" === typeof window.ErrorEvent) {
824 var event = new window.ErrorEvent("error", {
825 bubbles: true,
826 cancelable: true,
827 message: "object" === typeof error && null !== error && "string" === typeof error.message ? String(error.message) : String(error),
828 error
829 });
830 if (!window.dispatchEvent(event)) return;
831 } else if ("object" === typeof process && "function" === typeof process.emit) {
832 process.emit("uncaughtException", error);
833 return;
834 }
835 console.error(error);
836 }, didWarnAboutMessageChannel = false, enqueueTaskImpl = null, actScopeDepth = 0, didWarnNoAwaitAct = false, isFlushing = false, queueSeveralMicrotasks = "function" === typeof queueMicrotask ? function(callback) {
837 queueMicrotask(function() {
838 return queueMicrotask(callback);
839 });
840 } : enqueueTask;
841 deprecatedAPIs = Object.freeze({
842 __proto__: null,
843 c: function(size) {
844 return resolveDispatcher().useMemoCache(size);
845 }
846 });
847 exports.Children = {
848 map: mapChildren,
849 forEach: function(children, forEachFunc, forEachContext) {
850 mapChildren(
851 children,
852 function() {
853 forEachFunc.apply(this, arguments);
854 },
855 forEachContext
856 );
857 },
858 count: function(children) {
859 var n = 0;
860 mapChildren(children, function() {
861 n++;
862 });
863 return n;
864 },
865 toArray: function(children) {
866 return mapChildren(children, function(child) {
867 return child;
868 }) || [];
869 },
870 only: function(children) {
871 if (!isValidElement(children))
872 throw Error(
873 "React.Children.only expected to receive a single React element child."
874 );
875 return children;
876 }
877 };
878 exports.Component = Component;
879 exports.Fragment = REACT_FRAGMENT_TYPE;
880 exports.Profiler = REACT_PROFILER_TYPE;
881 exports.PureComponent = PureComponent;
882 exports.StrictMode = REACT_STRICT_MODE_TYPE;
883 exports.Suspense = REACT_SUSPENSE_TYPE;
884 exports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = ReactSharedInternals;
885 exports.__COMPILER_RUNTIME = deprecatedAPIs;
886 exports.act = function(callback) {
887 var prevActQueue = ReactSharedInternals.actQueue, prevActScopeDepth = actScopeDepth;
888 actScopeDepth++;
889 var queue = ReactSharedInternals.actQueue = null !== prevActQueue ? prevActQueue : [], didAwaitActCall = false;
890 try {
891 var result = callback();
892 } catch (error) {
893 ReactSharedInternals.thrownErrors.push(error);
894 }
895 if (0 < ReactSharedInternals.thrownErrors.length)
896 throw popActScope(prevActQueue, prevActScopeDepth), callback = aggregateErrors(ReactSharedInternals.thrownErrors), ReactSharedInternals.thrownErrors.length = 0, callback;
897 if (null !== result && "object" === typeof result && "function" === typeof result.then) {
898 var thenable = result;
899 queueSeveralMicrotasks(function() {
900 didAwaitActCall || didWarnNoAwaitAct || (didWarnNoAwaitAct = true, console.error(
901 "You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);"
902 ));
903 });
904 return {
905 then: function(resolve, reject) {
906 didAwaitActCall = true;
907 thenable.then(
908 function(returnValue) {
909 popActScope(prevActQueue, prevActScopeDepth);
910 if (0 === prevActScopeDepth) {
911 try {
912 flushActQueue(queue), enqueueTask(function() {
913 return recursivelyFlushAsyncActWork(
914 returnValue,
915 resolve,
916 reject
917 );
918 });
919 } catch (error$0) {
920 ReactSharedInternals.thrownErrors.push(error$0);
921 }
922 if (0 < ReactSharedInternals.thrownErrors.length) {
923 var _thrownError = aggregateErrors(
924 ReactSharedInternals.thrownErrors
925 );
926 ReactSharedInternals.thrownErrors.length = 0;
927 reject(_thrownError);
928 }
929 } else resolve(returnValue);
930 },
931 function(error) {
932 popActScope(prevActQueue, prevActScopeDepth);
933 0 < ReactSharedInternals.thrownErrors.length ? (error = aggregateErrors(
934 ReactSharedInternals.thrownErrors
935 ), ReactSharedInternals.thrownErrors.length = 0, reject(error)) : reject(error);
936 }
937 );
938 }
939 };
940 }
941 var returnValue$jscomp$0 = result;
942 popActScope(prevActQueue, prevActScopeDepth);
943 0 === prevActScopeDepth && (flushActQueue(queue), 0 !== queue.length && queueSeveralMicrotasks(function() {
944 didAwaitActCall || didWarnNoAwaitAct || (didWarnNoAwaitAct = true, console.error(
945 "A component suspended inside an `act` scope, but the `act` call was not awaited. When testing React components that depend on asynchronous data, you must await the result:\n\nawait act(() => ...)"
946 ));
947 }), ReactSharedInternals.actQueue = null);
948 if (0 < ReactSharedInternals.thrownErrors.length)
949 throw callback = aggregateErrors(ReactSharedInternals.thrownErrors), ReactSharedInternals.thrownErrors.length = 0, callback;
950 return {
951 then: function(resolve, reject) {
952 didAwaitActCall = true;
953 0 === prevActScopeDepth ? (ReactSharedInternals.actQueue = queue, enqueueTask(function() {
954 return recursivelyFlushAsyncActWork(
955 returnValue$jscomp$0,
956 resolve,
957 reject
958 );
959 })) : resolve(returnValue$jscomp$0);
960 }
961 };
962 };
963 exports.cache = function(fn) {
964 return function() {
965 return fn.apply(null, arguments);
966 };
967 };
968 exports.captureOwnerStack = function() {
969 var getCurrentStack = ReactSharedInternals.getCurrentStack;
970 return null === getCurrentStack ? null : getCurrentStack();
971 };
972 exports.cloneElement = function(element, config, children) {
973 if (null === element || void 0 === element)
974 throw Error(
975 "The argument must be a React element, but you passed " + element + "."
976 );
977 var props = assign({}, element.props), key = element.key, owner = element._owner;
978 if (null != config) {
979 var JSCompiler_inline_result;
980 a: {
981 if (hasOwnProperty.call(config, "ref") && (JSCompiler_inline_result = Object.getOwnPropertyDescriptor(
982 config,
983 "ref"
984 ).get) && JSCompiler_inline_result.isReactWarning) {
985 JSCompiler_inline_result = false;
986 break a;
987 }
988 JSCompiler_inline_result = void 0 !== config.ref;
989 }
990 JSCompiler_inline_result && (owner = getOwner());
991 hasValidKey(config) && (checkKeyStringCoercion(config.key), key = "" + config.key);
992 for (propName in config)
993 !hasOwnProperty.call(config, propName) || "key" === propName || "__self" === propName || "__source" === propName || "ref" === propName && void 0 === config.ref || (props[propName] = config[propName]);
994 }
995 var propName = arguments.length - 2;
996 if (1 === propName) props.children = children;
997 else if (1 < propName) {
998 JSCompiler_inline_result = Array(propName);
999 for (var i = 0; i < propName; i++)
1000 JSCompiler_inline_result[i] = arguments[i + 2];
1001 props.children = JSCompiler_inline_result;
1002 }
1003 props = ReactElement(
1004 element.type,
1005 key,
1006 void 0,
1007 void 0,
1008 owner,
1009 props,
1010 element._debugStack,
1011 element._debugTask
1012 );
1013 for (key = 2; key < arguments.length; key++)
1014 owner = arguments[key], isValidElement(owner) && owner._store && (owner._store.validated = 1);
1015 return props;
1016 };
1017 exports.createContext = function(defaultValue) {
1018 defaultValue = {
1019 $$typeof: REACT_CONTEXT_TYPE,
1020 _currentValue: defaultValue,
1021 _currentValue2: defaultValue,
1022 _threadCount: 0,
1023 Provider: null,
1024 Consumer: null
1025 };
1026 defaultValue.Provider = defaultValue;
1027 defaultValue.Consumer = {
1028 $$typeof: REACT_CONSUMER_TYPE,
1029 _context: defaultValue
1030 };
1031 defaultValue._currentRenderer = null;
1032 defaultValue._currentRenderer2 = null;
1033 return defaultValue;
1034 };
1035 exports.createElement = function(type, config, children) {
1036 for (var i = 2; i < arguments.length; i++) {
1037 var node = arguments[i];
1038 isValidElement(node) && node._store && (node._store.validated = 1);
1039 }
1040 i = {};
1041 node = null;
1042 if (null != config)
1043 for (propName in didWarnAboutOldJSXRuntime || !("__self" in config) || "key" in config || (didWarnAboutOldJSXRuntime = true, console.warn(
1044 "Your app (or one of its dependencies) is using an outdated JSX transform. Update to the modern JSX transform for faster performance: https://react.dev/link/new-jsx-transform"
1045 )), hasValidKey(config) && (checkKeyStringCoercion(config.key), node = "" + config.key), config)
1046 hasOwnProperty.call(config, propName) && "key" !== propName && "__self" !== propName && "__source" !== propName && (i[propName] = config[propName]);
1047 var childrenLength = arguments.length - 2;
1048 if (1 === childrenLength) i.children = children;
1049 else if (1 < childrenLength) {
1050 for (var childArray = Array(childrenLength), _i = 0; _i < childrenLength; _i++)
1051 childArray[_i] = arguments[_i + 2];
1052 Object.freeze && Object.freeze(childArray);
1053 i.children = childArray;
1054 }
1055 if (type && type.defaultProps)
1056 for (propName in childrenLength = type.defaultProps, childrenLength)
1057 void 0 === i[propName] && (i[propName] = childrenLength[propName]);
1058 node && defineKeyPropWarningGetter(
1059 i,
1060 "function" === typeof type ? type.displayName || type.name || "Unknown" : type
1061 );
1062 var propName = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;
1063 return ReactElement(
1064 type,
1065 node,
1066 void 0,
1067 void 0,
1068 getOwner(),
1069 i,
1070 propName ? Error("react-stack-top-frame") : unknownOwnerDebugStack,
1071 propName ? createTask(getTaskName(type)) : unknownOwnerDebugTask
1072 );
1073 };
1074 exports.createRef = function() {
1075 var refObject = { current: null };
1076 Object.seal(refObject);
1077 return refObject;
1078 };
1079 exports.forwardRef = function(render) {
1080 null != render && render.$$typeof === REACT_MEMO_TYPE ? console.error(
1081 "forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."
1082 ) : "function" !== typeof render ? console.error(
1083 "forwardRef requires a render function but was given %s.",
1084 null === render ? "null" : typeof render
1085 ) : 0 !== render.length && 2 !== render.length && console.error(
1086 "forwardRef render functions accept exactly two parameters: props and ref. %s",
1087 1 === render.length ? "Did you forget to use the ref parameter?" : "Any additional parameter will be undefined."
1088 );
1089 null != render && null != render.defaultProps && console.error(
1090 "forwardRef render functions do not support defaultProps. Did you accidentally pass a React component?"
1091 );
1092 var elementType = { $$typeof: REACT_FORWARD_REF_TYPE, render }, ownName;
1093 Object.defineProperty(elementType, "displayName", {
1094 enumerable: false,
1095 configurable: true,
1096 get: function() {
1097 return ownName;
1098 },
1099 set: function(name) {
1100 ownName = name;
1101 render.name || render.displayName || (Object.defineProperty(render, "name", { value: name }), render.displayName = name);
1102 }
1103 });
1104 return elementType;
1105 };
1106 exports.isValidElement = isValidElement;
1107 exports.lazy = function(ctor) {
1108 return {
1109 $$typeof: REACT_LAZY_TYPE,
1110 _payload: { _status: -1, _result: ctor },
1111 _init: lazyInitializer
1112 };
1113 };
1114 exports.memo = function(type, compare) {
1115 null == type && console.error(
1116 "memo: The first argument must be a component. Instead received: %s",
1117 null === type ? "null" : typeof type
1118 );
1119 compare = {
1120 $$typeof: REACT_MEMO_TYPE,
1121 type,
1122 compare: void 0 === compare ? null : compare
1123 };
1124 var ownName;
1125 Object.defineProperty(compare, "displayName", {
1126 enumerable: false,
1127 configurable: true,
1128 get: function() {
1129 return ownName;
1130 },
1131 set: function(name) {
1132 ownName = name;
1133 type.name || type.displayName || (Object.defineProperty(type, "name", { value: name }), type.displayName = name);
1134 }
1135 });
1136 return compare;
1137 };
1138 exports.startTransition = function(scope) {
1139 var prevTransition = ReactSharedInternals.T, currentTransition = {};
1140 ReactSharedInternals.T = currentTransition;
1141 currentTransition._updatedFibers = /* @__PURE__ */ new Set();
1142 try {
1143 var returnValue = scope(), onStartTransitionFinish = ReactSharedInternals.S;
1144 null !== onStartTransitionFinish && onStartTransitionFinish(currentTransition, returnValue);
1145 "object" === typeof returnValue && null !== returnValue && "function" === typeof returnValue.then && returnValue.then(noop, reportGlobalError);
1146 } catch (error) {
1147 reportGlobalError(error);
1148 } finally {
1149 null === prevTransition && currentTransition._updatedFibers && (scope = currentTransition._updatedFibers.size, currentTransition._updatedFibers.clear(), 10 < scope && console.warn(
1150 "Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table."
1151 )), ReactSharedInternals.T = prevTransition;
1152 }
1153 };
1154 exports.unstable_useCacheRefresh = function() {
1155 return resolveDispatcher().useCacheRefresh();
1156 };
1157 exports.use = function(usable) {
1158 return resolveDispatcher().use(usable);
1159 };
1160 exports.useActionState = function(action, initialState, permalink) {
1161 return resolveDispatcher().useActionState(
1162 action,
1163 initialState,
1164 permalink
1165 );
1166 };
1167 exports.useCallback = function(callback, deps) {
1168 return resolveDispatcher().useCallback(callback, deps);
1169 };
1170 exports.useContext = function(Context) {
1171 var dispatcher = resolveDispatcher();
1172 Context.$$typeof === REACT_CONSUMER_TYPE && console.error(
1173 "Calling useContext(Context.Consumer) is not supported and will cause bugs. Did you mean to call useContext(Context) instead?"
1174 );
1175 return dispatcher.useContext(Context);
1176 };
1177 exports.useDebugValue = function(value, formatterFn) {
1178 return resolveDispatcher().useDebugValue(value, formatterFn);
1179 };
1180 exports.useDeferredValue = function(value, initialValue) {
1181 return resolveDispatcher().useDeferredValue(value, initialValue);
1182 };
1183 exports.useEffect = function(create, createDeps, update) {
1184 null == create && console.warn(
1185 "React Hook useEffect requires an effect callback. Did you forget to pass a callback to the hook?"
1186 );
1187 var dispatcher = resolveDispatcher();
1188 if ("function" === typeof update)
1189 throw Error(
1190 "useEffect CRUD overload is not enabled in this build of React."
1191 );
1192 return dispatcher.useEffect(create, createDeps);
1193 };
1194 exports.useId = function() {
1195 return resolveDispatcher().useId();
1196 };
1197 exports.useImperativeHandle = function(ref, create, deps) {
1198 return resolveDispatcher().useImperativeHandle(ref, create, deps);
1199 };
1200 exports.useInsertionEffect = function(create, deps) {
1201 null == create && console.warn(
1202 "React Hook useInsertionEffect requires an effect callback. Did you forget to pass a callback to the hook?"
1203 );
1204 return resolveDispatcher().useInsertionEffect(create, deps);
1205 };
1206 exports.useLayoutEffect = function(create, deps) {
1207 null == create && console.warn(
1208 "React Hook useLayoutEffect requires an effect callback. Did you forget to pass a callback to the hook?"
1209 );
1210 return resolveDispatcher().useLayoutEffect(create, deps);
1211 };
1212 exports.useMemo = function(create, deps) {
1213 return resolveDispatcher().useMemo(create, deps);
1214 };
1215 exports.useOptimistic = function(passthrough, reducer) {
1216 return resolveDispatcher().useOptimistic(passthrough, reducer);
1217 };
1218 exports.useReducer = function(reducer, initialArg, init) {
1219 return resolveDispatcher().useReducer(reducer, initialArg, init);
1220 };
1221 exports.useRef = function(initialValue) {
1222 return resolveDispatcher().useRef(initialValue);
1223 };
1224 exports.useState = function(initialState) {
1225 return resolveDispatcher().useState(initialState);
1226 };
1227 exports.useSyncExternalStore = function(subscribe, getSnapshot, getServerSnapshot) {
1228 return resolveDispatcher().useSyncExternalStore(
1229 subscribe,
1230 getSnapshot,
1231 getServerSnapshot
1232 );
1233 };
1234 exports.useTransition = function() {
1235 return resolveDispatcher().useTransition();
1236 };
1237 exports.version = "19.1.1";
1238 "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
1239 })();
1240 }
1241 });
1242
1243 // node_modules/react/index.js
1244 var require_react = __commonJS({
1245 "node_modules/react/index.js"(exports, module) {
1246 "use strict";
1247 if (false) {
1248 module.exports = null;
1249 } else {
1250 module.exports = require_react_development();
1251 }
1252 }
1253 });
1254
1255 // node_modules/react-dom/cjs/react-dom.development.js
1256 var require_react_dom_development = __commonJS({
1257 "node_modules/react-dom/cjs/react-dom.development.js"(exports) {
1258 "use strict";
1259 (function() {
1260 function noop() {
1261 }
1262 function testStringCoercion(value) {
1263 return "" + value;
1264 }
1265 function createPortal$1(children, containerInfo, implementation) {
1266 var key = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;
1267 try {
1268 testStringCoercion(key);
1269 var JSCompiler_inline_result = false;
1270 } catch (e) {
1271 JSCompiler_inline_result = true;
1272 }
1273 JSCompiler_inline_result && (console.error(
1274 "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
1275 "function" === typeof Symbol && Symbol.toStringTag && key[Symbol.toStringTag] || key.constructor.name || "Object"
1276 ), testStringCoercion(key));
1277 return {
1278 $$typeof: REACT_PORTAL_TYPE,
1279 key: null == key ? null : "" + key,
1280 children,
1281 containerInfo,
1282 implementation
1283 };
1284 }
1285 function getCrossOriginStringAs(as, input) {
1286 if ("font" === as) return "";
1287 if ("string" === typeof input)
1288 return "use-credentials" === input ? input : "";
1289 }
1290 function getValueDescriptorExpectingObjectForWarning(thing) {
1291 return null === thing ? "`null`" : void 0 === thing ? "`undefined`" : "" === thing ? "an empty string" : 'something with type "' + typeof thing + '"';
1292 }
1293 function getValueDescriptorExpectingEnumForWarning(thing) {
1294 return null === thing ? "`null`" : void 0 === thing ? "`undefined`" : "" === thing ? "an empty string" : "string" === typeof thing ? JSON.stringify(thing) : "number" === typeof thing ? "`" + thing + "`" : 'something with type "' + typeof thing + '"';
1295 }
1296 function resolveDispatcher() {
1297 var dispatcher = ReactSharedInternals.H;
1298 null === dispatcher && console.error(
1299 "Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem."
1300 );
1301 return dispatcher;
1302 }
1303 "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
1304 var React = require_react(), Internals = {
1305 d: {
1306 f: noop,
1307 r: function() {
1308 throw Error(
1309 "Invalid form element. requestFormReset must be passed a form that was rendered by React."
1310 );
1311 },
1312 D: noop,
1313 C: noop,
1314 L: noop,
1315 m: noop,
1316 X: noop,
1317 S: noop,
1318 M: noop
1319 },
1320 p: 0,
1321 findDOMNode: null
1322 }, REACT_PORTAL_TYPE = Symbol.for("react.portal"), ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
1323 "function" === typeof Map && null != Map.prototype && "function" === typeof Map.prototype.forEach && "function" === typeof Set && null != Set.prototype && "function" === typeof Set.prototype.clear && "function" === typeof Set.prototype.forEach || console.error(
1324 "React depends on Map and Set built-in types. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"
1325 );
1326 exports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = Internals;
1327 exports.createPortal = function(children, container) {
1328 var key = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;
1329 if (!container || 1 !== container.nodeType && 9 !== container.nodeType && 11 !== container.nodeType)
1330 throw Error("Target container is not a DOM element.");
1331 return createPortal$1(children, container, null, key);
1332 };
1333 exports.flushSync = function(fn) {
1334 var previousTransition = ReactSharedInternals.T, previousUpdatePriority = Internals.p;
1335 try {
1336 if (ReactSharedInternals.T = null, Internals.p = 2, fn)
1337 return fn();
1338 } finally {
1339 ReactSharedInternals.T = previousTransition, Internals.p = previousUpdatePriority, Internals.d.f() && console.error(
1340 "flushSync was called from inside a lifecycle method. React cannot flush when React is already rendering. Consider moving this call to a scheduler task or micro task."
1341 );
1342 }
1343 };
1344 exports.preconnect = function(href, options) {
1345 "string" === typeof href && href ? null != options && "object" !== typeof options ? console.error(
1346 "ReactDOM.preconnect(): Expected the `options` argument (second) to be an object but encountered %s instead. The only supported option at this time is `crossOrigin` which accepts a string.",
1347 getValueDescriptorExpectingEnumForWarning(options)
1348 ) : null != options && "string" !== typeof options.crossOrigin && console.error(
1349 "ReactDOM.preconnect(): Expected the `crossOrigin` option (second argument) to be a string but encountered %s instead. Try removing this option or passing a string value instead.",
1350 getValueDescriptorExpectingObjectForWarning(options.crossOrigin)
1351 ) : console.error(
1352 "ReactDOM.preconnect(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.",
1353 getValueDescriptorExpectingObjectForWarning(href)
1354 );
1355 "string" === typeof href && (options ? (options = options.crossOrigin, options = "string" === typeof options ? "use-credentials" === options ? options : "" : void 0) : options = null, Internals.d.C(href, options));
1356 };
1357 exports.prefetchDNS = function(href) {
1358 if ("string" !== typeof href || !href)
1359 console.error(
1360 "ReactDOM.prefetchDNS(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.",
1361 getValueDescriptorExpectingObjectForWarning(href)
1362 );
1363 else if (1 < arguments.length) {
1364 var options = arguments[1];
1365 "object" === typeof options && options.hasOwnProperty("crossOrigin") ? console.error(
1366 "ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. It looks like the you are attempting to set a crossOrigin property for this DNS lookup hint. Browsers do not perform DNS queries using CORS and setting this attribute on the resource hint has no effect. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.",
1367 getValueDescriptorExpectingEnumForWarning(options)
1368 ) : console.error(
1369 "ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.",
1370 getValueDescriptorExpectingEnumForWarning(options)
1371 );
1372 }
1373 "string" === typeof href && Internals.d.D(href);
1374 };
1375 exports.preinit = function(href, options) {
1376 "string" === typeof href && href ? null == options || "object" !== typeof options ? console.error(
1377 "ReactDOM.preinit(): Expected the `options` argument (second) to be an object with an `as` property describing the type of resource to be preinitialized but encountered %s instead.",
1378 getValueDescriptorExpectingEnumForWarning(options)
1379 ) : "style" !== options.as && "script" !== options.as && console.error(
1380 'ReactDOM.preinit(): Expected the `as` property in the `options` argument (second) to contain a valid value describing the type of resource to be preinitialized but encountered %s instead. Valid values for `as` are "style" and "script".',
1381 getValueDescriptorExpectingEnumForWarning(options.as)
1382 ) : console.error(
1383 "ReactDOM.preinit(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.",
1384 getValueDescriptorExpectingObjectForWarning(href)
1385 );
1386 if ("string" === typeof href && options && "string" === typeof options.as) {
1387 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;
1388 "style" === as ? Internals.d.S(
1389 href,
1390 "string" === typeof options.precedence ? options.precedence : void 0,
1391 {
1392 crossOrigin,
1393 integrity,
1394 fetchPriority
1395 }
1396 ) : "script" === as && Internals.d.X(href, {
1397 crossOrigin,
1398 integrity,
1399 fetchPriority,
1400 nonce: "string" === typeof options.nonce ? options.nonce : void 0
1401 });
1402 }
1403 };
1404 exports.preinitModule = function(href, options) {
1405 var encountered = "";
1406 "string" === typeof href && href || (encountered += " The `href` argument encountered was " + getValueDescriptorExpectingObjectForWarning(href) + ".");
1407 void 0 !== options && "object" !== typeof options ? encountered += " The `options` argument encountered was " + getValueDescriptorExpectingObjectForWarning(options) + "." : options && "as" in options && "script" !== options.as && (encountered += " The `as` option encountered was " + getValueDescriptorExpectingEnumForWarning(options.as) + ".");
1408 if (encountered)
1409 console.error(
1410 "ReactDOM.preinitModule(): Expected up to two arguments, a non-empty `href` string and, optionally, an `options` object with a valid `as` property.%s",
1411 encountered
1412 );
1413 else
1414 switch (encountered = options && "string" === typeof options.as ? options.as : "script", encountered) {
1415 case "script":
1416 break;
1417 default:
1418 encountered = getValueDescriptorExpectingEnumForWarning(encountered), console.error(
1419 'ReactDOM.preinitModule(): Currently the only supported "as" type for this function is "script" but received "%s" instead. This warning was generated for `href` "%s". In the future other module types will be supported, aligning with the import-attributes proposal. Learn more here: (https://github.com/tc39/proposal-import-attributes)',
1420 encountered,
1421 href
1422 );
1423 }
1424 if ("string" === typeof href)
1425 if ("object" === typeof options && null !== options) {
1426 if (null == options.as || "script" === options.as)
1427 encountered = getCrossOriginStringAs(
1428 options.as,
1429 options.crossOrigin
1430 ), Internals.d.M(href, {
1431 crossOrigin: encountered,
1432 integrity: "string" === typeof options.integrity ? options.integrity : void 0,
1433 nonce: "string" === typeof options.nonce ? options.nonce : void 0
1434 });
1435 } else null == options && Internals.d.M(href);
1436 };
1437 exports.preload = function(href, options) {
1438 var encountered = "";
1439 "string" === typeof href && href || (encountered += " The `href` argument encountered was " + getValueDescriptorExpectingObjectForWarning(href) + ".");
1440 null == options || "object" !== typeof options ? encountered += " The `options` argument encountered was " + getValueDescriptorExpectingObjectForWarning(options) + "." : "string" === typeof options.as && options.as || (encountered += " The `as` option encountered was " + getValueDescriptorExpectingObjectForWarning(options.as) + ".");
1441 encountered && console.error(
1442 'ReactDOM.preload(): Expected two arguments, a non-empty `href` string and an `options` object with an `as` property valid for a `<link rel="preload" as="..." />` tag.%s',
1443 encountered
1444 );
1445 if ("string" === typeof href && "object" === typeof options && null !== options && "string" === typeof options.as) {
1446 encountered = options.as;
1447 var crossOrigin = getCrossOriginStringAs(
1448 encountered,
1449 options.crossOrigin
1450 );
1451 Internals.d.L(href, encountered, {
1452 crossOrigin,
1453 integrity: "string" === typeof options.integrity ? options.integrity : void 0,
1454 nonce: "string" === typeof options.nonce ? options.nonce : void 0,
1455 type: "string" === typeof options.type ? options.type : void 0,
1456 fetchPriority: "string" === typeof options.fetchPriority ? options.fetchPriority : void 0,
1457 referrerPolicy: "string" === typeof options.referrerPolicy ? options.referrerPolicy : void 0,
1458 imageSrcSet: "string" === typeof options.imageSrcSet ? options.imageSrcSet : void 0,
1459 imageSizes: "string" === typeof options.imageSizes ? options.imageSizes : void 0,
1460 media: "string" === typeof options.media ? options.media : void 0
1461 });
1462 }
1463 };
1464 exports.preloadModule = function(href, options) {
1465 var encountered = "";
1466 "string" === typeof href && href || (encountered += " The `href` argument encountered was " + getValueDescriptorExpectingObjectForWarning(href) + ".");
1467 void 0 !== options && "object" !== typeof options ? encountered += " The `options` argument encountered was " + getValueDescriptorExpectingObjectForWarning(options) + "." : options && "as" in options && "string" !== typeof options.as && (encountered += " The `as` option encountered was " + getValueDescriptorExpectingObjectForWarning(options.as) + ".");
1468 encountered && console.error(
1469 'ReactDOM.preloadModule(): Expected two arguments, a non-empty `href` string and, optionally, an `options` object with an `as` property valid for a `<link rel="modulepreload" as="..." />` tag.%s',
1470 encountered
1471 );
1472 "string" === typeof href && (options ? (encountered = getCrossOriginStringAs(
1473 options.as,
1474 options.crossOrigin
1475 ), Internals.d.m(href, {
1476 as: "string" === typeof options.as && "script" !== options.as ? options.as : void 0,
1477 crossOrigin: encountered,
1478 integrity: "string" === typeof options.integrity ? options.integrity : void 0
1479 })) : Internals.d.m(href));
1480 };
1481 exports.requestFormReset = function(form) {
1482 Internals.d.r(form);
1483 };
1484 exports.unstable_batchedUpdates = function(fn, a) {
1485 return fn(a);
1486 };
1487 exports.useFormState = function(action, initialState, permalink) {
1488 return resolveDispatcher().useFormState(action, initialState, permalink);
1489 };
1490 exports.useFormStatus = function() {
1491 return resolveDispatcher().useHostTransitionStatus();
1492 };
1493 exports.version = "19.1.1";
1494 "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
1495 })();
1496 }
1497 });
1498
1499 // node_modules/react-dom/index.js
1500 var require_react_dom = __commonJS({
1501 "node_modules/react-dom/index.js"(exports, module) {
1502 "use strict";
1503 if (false) {
1504 checkDCE();
1505 module.exports = null;
1506 } else {
1507 module.exports = require_react_dom_development();
1508 }
1509 }
1510 });
1511
1512 // node_modules/react-dom/cjs/react-dom-client.development.js
1513 var require_react_dom_client_development = __commonJS({
1514 "node_modules/react-dom/cjs/react-dom-client.development.js"(exports) {
1515 "use strict";
1516 (function() {
1517 function findHook(fiber, id) {
1518 for (fiber = fiber.memoizedState; null !== fiber && 0 < id; )
1519 fiber = fiber.next, id--;
1520 return fiber;
1521 }
1522 function copyWithSetImpl(obj, path, index, value) {
1523 if (index >= path.length) return value;
1524 var key = path[index], updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj);
1525 updated[key] = copyWithSetImpl(obj[key], path, index + 1, value);
1526 return updated;
1527 }
1528 function copyWithRename(obj, oldPath, newPath) {
1529 if (oldPath.length !== newPath.length)
1530 console.warn("copyWithRename() expects paths of the same length");
1531 else {
1532 for (var i = 0; i < newPath.length - 1; i++)
1533 if (oldPath[i] !== newPath[i]) {
1534 console.warn(
1535 "copyWithRename() expects paths to be the same except for the deepest key"
1536 );
1537 return;
1538 }
1539 return copyWithRenameImpl(obj, oldPath, newPath, 0);
1540 }
1541 }
1542 function copyWithRenameImpl(obj, oldPath, newPath, index) {
1543 var oldKey = oldPath[index], updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj);
1544 index + 1 === oldPath.length ? (updated[newPath[index]] = updated[oldKey], isArrayImpl(updated) ? updated.splice(oldKey, 1) : delete updated[oldKey]) : updated[oldKey] = copyWithRenameImpl(
1545 obj[oldKey],
1546 oldPath,
1547 newPath,
1548 index + 1
1549 );
1550 return updated;
1551 }
1552 function copyWithDeleteImpl(obj, path, index) {
1553 var key = path[index], updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj);
1554 if (index + 1 === path.length)
1555 return isArrayImpl(updated) ? updated.splice(key, 1) : delete updated[key], updated;
1556 updated[key] = copyWithDeleteImpl(obj[key], path, index + 1);
1557 return updated;
1558 }
1559 function shouldSuspendImpl() {
1560 return false;
1561 }
1562 function shouldErrorImpl() {
1563 return null;
1564 }
1565 function warnForMissingKey() {
1566 }
1567 function warnInvalidHookAccess() {
1568 console.error(
1569 "Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. You can only call Hooks at the top level of your React function. For more information, see https://react.dev/link/rules-of-hooks"
1570 );
1571 }
1572 function warnInvalidContextAccess() {
1573 console.error(
1574 "Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo()."
1575 );
1576 }
1577 function noop$2() {
1578 }
1579 function setToSortedString(set) {
1580 var array = [];
1581 set.forEach(function(value) {
1582 array.push(value);
1583 });
1584 return array.sort().join(", ");
1585 }
1586 function createFiber(tag, pendingProps, key, mode) {
1587 return new FiberNode(tag, pendingProps, key, mode);
1588 }
1589 function scheduleRoot(root2, element) {
1590 root2.context === emptyContextObject && (updateContainerImpl(root2.current, 2, element, root2, null, null), flushSyncWork$1());
1591 }
1592 function scheduleRefresh(root2, update) {
1593 if (null !== resolveFamily) {
1594 var staleFamilies = update.staleFamilies;
1595 update = update.updatedFamilies;
1596 flushPendingEffects();
1597 scheduleFibersWithFamiliesRecursively(
1598 root2.current,
1599 update,
1600 staleFamilies
1601 );
1602 flushSyncWork$1();
1603 }
1604 }
1605 function setRefreshHandler(handler) {
1606 resolveFamily = handler;
1607 }
1608 function isValidContainer(node) {
1609 return !(!node || 1 !== node.nodeType && 9 !== node.nodeType && 11 !== node.nodeType);
1610 }
1611 function getNearestMountedFiber(fiber) {
1612 var node = fiber, nearestMounted = fiber;
1613 if (fiber.alternate) for (; node.return; ) node = node.return;
1614 else {
1615 fiber = node;
1616 do
1617 node = fiber, 0 !== (node.flags & 4098) && (nearestMounted = node.return), fiber = node.return;
1618 while (fiber);
1619 }
1620 return 3 === node.tag ? nearestMounted : null;
1621 }
1622 function getSuspenseInstanceFromFiber(fiber) {
1623 if (13 === fiber.tag) {
1624 var suspenseState = fiber.memoizedState;
1625 null === suspenseState && (fiber = fiber.alternate, null !== fiber && (suspenseState = fiber.memoizedState));
1626 if (null !== suspenseState) return suspenseState.dehydrated;
1627 }
1628 return null;
1629 }
1630 function assertIsMounted(fiber) {
1631 if (getNearestMountedFiber(fiber) !== fiber)
1632 throw Error("Unable to find node on an unmounted component.");
1633 }
1634 function findCurrentFiberUsingSlowPath(fiber) {
1635 var alternate = fiber.alternate;
1636 if (!alternate) {
1637 alternate = getNearestMountedFiber(fiber);
1638 if (null === alternate)
1639 throw Error("Unable to find node on an unmounted component.");
1640 return alternate !== fiber ? null : fiber;
1641 }
1642 for (var a = fiber, b = alternate; ; ) {
1643 var parentA = a.return;
1644 if (null === parentA) break;
1645 var parentB = parentA.alternate;
1646 if (null === parentB) {
1647 b = parentA.return;
1648 if (null !== b) {
1649 a = b;
1650 continue;
1651 }
1652 break;
1653 }
1654 if (parentA.child === parentB.child) {
1655 for (parentB = parentA.child; parentB; ) {
1656 if (parentB === a) return assertIsMounted(parentA), fiber;
1657 if (parentB === b) return assertIsMounted(parentA), alternate;
1658 parentB = parentB.sibling;
1659 }
1660 throw Error("Unable to find node on an unmounted component.");
1661 }
1662 if (a.return !== b.return) a = parentA, b = parentB;
1663 else {
1664 for (var didFindChild = false, _child = parentA.child; _child; ) {
1665 if (_child === a) {
1666 didFindChild = true;
1667 a = parentA;
1668 b = parentB;
1669 break;
1670 }
1671 if (_child === b) {
1672 didFindChild = true;
1673 b = parentA;
1674 a = parentB;
1675 break;
1676 }
1677 _child = _child.sibling;
1678 }
1679 if (!didFindChild) {
1680 for (_child = parentB.child; _child; ) {
1681 if (_child === a) {
1682 didFindChild = true;
1683 a = parentB;
1684 b = parentA;
1685 break;
1686 }
1687 if (_child === b) {
1688 didFindChild = true;
1689 b = parentB;
1690 a = parentA;
1691 break;
1692 }
1693 _child = _child.sibling;
1694 }
1695 if (!didFindChild)
1696 throw Error(
1697 "Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue."
1698 );
1699 }
1700 }
1701 if (a.alternate !== b)
1702 throw Error(
1703 "Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue."
1704 );
1705 }
1706 if (3 !== a.tag)
1707 throw Error("Unable to find node on an unmounted component.");
1708 return a.stateNode.current === a ? fiber : alternate;
1709 }
1710 function findCurrentHostFiberImpl(node) {
1711 var tag = node.tag;
1712 if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return node;
1713 for (node = node.child; null !== node; ) {
1714 tag = findCurrentHostFiberImpl(node);
1715 if (null !== tag) return tag;
1716 node = node.sibling;
1717 }
1718 return null;
1719 }
1720 function getIteratorFn(maybeIterable) {
1721 if (null === maybeIterable || "object" !== typeof maybeIterable)
1722 return null;
1723 maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable["@@iterator"];
1724 return "function" === typeof maybeIterable ? maybeIterable : null;
1725 }
1726 function getComponentNameFromType(type) {
1727 if (null == type) return null;
1728 if ("function" === typeof type)
1729 return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null;
1730 if ("string" === typeof type) return type;
1731 switch (type) {
1732 case REACT_FRAGMENT_TYPE:
1733 return "Fragment";
1734 case REACT_PROFILER_TYPE:
1735 return "Profiler";
1736 case REACT_STRICT_MODE_TYPE:
1737 return "StrictMode";
1738 case REACT_SUSPENSE_TYPE:
1739 return "Suspense";
1740 case REACT_SUSPENSE_LIST_TYPE:
1741 return "SuspenseList";
1742 case REACT_ACTIVITY_TYPE:
1743 return "Activity";
1744 }
1745 if ("object" === typeof type)
1746 switch ("number" === typeof type.tag && console.error(
1747 "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
1748 ), type.$$typeof) {
1749 case REACT_PORTAL_TYPE:
1750 return "Portal";
1751 case REACT_CONTEXT_TYPE:
1752 return (type.displayName || "Context") + ".Provider";
1753 case REACT_CONSUMER_TYPE:
1754 return (type._context.displayName || "Context") + ".Consumer";
1755 case REACT_FORWARD_REF_TYPE:
1756 var innerType = type.render;
1757 type = type.displayName;
1758 type || (type = innerType.displayName || innerType.name || "", type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef");
1759 return type;
1760 case REACT_MEMO_TYPE:
1761 return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || "Memo";
1762 case REACT_LAZY_TYPE:
1763 innerType = type._payload;
1764 type = type._init;
1765 try {
1766 return getComponentNameFromType(type(innerType));
1767 } catch (x) {
1768 }
1769 }
1770 return null;
1771 }
1772 function getComponentNameFromOwner(owner) {
1773 return "number" === typeof owner.tag ? getComponentNameFromFiber(owner) : "string" === typeof owner.name ? owner.name : null;
1774 }
1775 function getComponentNameFromFiber(fiber) {
1776 var type = fiber.type;
1777 switch (fiber.tag) {
1778 case 31:
1779 return "Activity";
1780 case 24:
1781 return "Cache";
1782 case 9:
1783 return (type._context.displayName || "Context") + ".Consumer";
1784 case 10:
1785 return (type.displayName || "Context") + ".Provider";
1786 case 18:
1787 return "DehydratedFragment";
1788 case 11:
1789 return fiber = type.render, fiber = fiber.displayName || fiber.name || "", type.displayName || ("" !== fiber ? "ForwardRef(" + fiber + ")" : "ForwardRef");
1790 case 7:
1791 return "Fragment";
1792 case 26:
1793 case 27:
1794 case 5:
1795 return type;
1796 case 4:
1797 return "Portal";
1798 case 3:
1799 return "Root";
1800 case 6:
1801 return "Text";
1802 case 16:
1803 return getComponentNameFromType(type);
1804 case 8:
1805 return type === REACT_STRICT_MODE_TYPE ? "StrictMode" : "Mode";
1806 case 22:
1807 return "Offscreen";
1808 case 12:
1809 return "Profiler";
1810 case 21:
1811 return "Scope";
1812 case 13:
1813 return "Suspense";
1814 case 19:
1815 return "SuspenseList";
1816 case 25:
1817 return "TracingMarker";
1818 case 1:
1819 case 0:
1820 case 14:
1821 case 15:
1822 if ("function" === typeof type)
1823 return type.displayName || type.name || null;
1824 if ("string" === typeof type) return type;
1825 break;
1826 case 29:
1827 type = fiber._debugInfo;
1828 if (null != type) {
1829 for (var i = type.length - 1; 0 <= i; i--)
1830 if ("string" === typeof type[i].name) return type[i].name;
1831 }
1832 if (null !== fiber.return)
1833 return getComponentNameFromFiber(fiber.return);
1834 }
1835 return null;
1836 }
1837 function createCursor(defaultValue) {
1838 return { current: defaultValue };
1839 }
1840 function pop(cursor, fiber) {
1841 0 > index$jscomp$0 ? console.error("Unexpected pop.") : (fiber !== fiberStack[index$jscomp$0] && console.error("Unexpected Fiber popped."), cursor.current = valueStack[index$jscomp$0], valueStack[index$jscomp$0] = null, fiberStack[index$jscomp$0] = null, index$jscomp$0--);
1842 }
1843 function push(cursor, value, fiber) {
1844 index$jscomp$0++;
1845 valueStack[index$jscomp$0] = cursor.current;
1846 fiberStack[index$jscomp$0] = fiber;
1847 cursor.current = value;
1848 }
1849 function requiredContext(c) {
1850 null === c && console.error(
1851 "Expected host context to exist. This error is likely caused by a bug in React. Please file an issue."
1852 );
1853 return c;
1854 }
1855 function pushHostContainer(fiber, nextRootInstance) {
1856 push(rootInstanceStackCursor, nextRootInstance, fiber);
1857 push(contextFiberStackCursor, fiber, fiber);
1858 push(contextStackCursor, null, fiber);
1859 var nextRootContext = nextRootInstance.nodeType;
1860 switch (nextRootContext) {
1861 case 9:
1862 case 11:
1863 nextRootContext = 9 === nextRootContext ? "#document" : "#fragment";
1864 nextRootInstance = (nextRootInstance = nextRootInstance.documentElement) ? (nextRootInstance = nextRootInstance.namespaceURI) ? getOwnHostContext(nextRootInstance) : HostContextNamespaceNone : HostContextNamespaceNone;
1865 break;
1866 default:
1867 if (nextRootContext = nextRootInstance.tagName, nextRootInstance = nextRootInstance.namespaceURI)
1868 nextRootInstance = getOwnHostContext(nextRootInstance), nextRootInstance = getChildHostContextProd(
1869 nextRootInstance,
1870 nextRootContext
1871 );
1872 else
1873 switch (nextRootContext) {
1874 case "svg":
1875 nextRootInstance = HostContextNamespaceSvg;
1876 break;
1877 case "math":
1878 nextRootInstance = HostContextNamespaceMath;
1879 break;
1880 default:
1881 nextRootInstance = HostContextNamespaceNone;
1882 }
1883 }
1884 nextRootContext = nextRootContext.toLowerCase();
1885 nextRootContext = updatedAncestorInfoDev(null, nextRootContext);
1886 nextRootContext = {
1887 context: nextRootInstance,
1888 ancestorInfo: nextRootContext
1889 };
1890 pop(contextStackCursor, fiber);
1891 push(contextStackCursor, nextRootContext, fiber);
1892 }
1893 function popHostContainer(fiber) {
1894 pop(contextStackCursor, fiber);
1895 pop(contextFiberStackCursor, fiber);
1896 pop(rootInstanceStackCursor, fiber);
1897 }
1898 function getHostContext() {
1899 return requiredContext(contextStackCursor.current);
1900 }
1901 function pushHostContext(fiber) {
1902 null !== fiber.memoizedState && push(hostTransitionProviderCursor, fiber, fiber);
1903 var context = requiredContext(contextStackCursor.current);
1904 var type = fiber.type;
1905 var nextContext = getChildHostContextProd(context.context, type);
1906 type = updatedAncestorInfoDev(context.ancestorInfo, type);
1907 nextContext = { context: nextContext, ancestorInfo: type };
1908 context !== nextContext && (push(contextFiberStackCursor, fiber, fiber), push(contextStackCursor, nextContext, fiber));
1909 }
1910 function popHostContext(fiber) {
1911 contextFiberStackCursor.current === fiber && (pop(contextStackCursor, fiber), pop(contextFiberStackCursor, fiber));
1912 hostTransitionProviderCursor.current === fiber && (pop(hostTransitionProviderCursor, fiber), HostTransitionContext._currentValue = NotPendingTransition);
1913 }
1914 function typeName(value) {
1915 return "function" === typeof Symbol && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object";
1916 }
1917 function willCoercionThrow(value) {
1918 try {
1919 return testStringCoercion(value), false;
1920 } catch (e) {
1921 return true;
1922 }
1923 }
1924 function testStringCoercion(value) {
1925 return "" + value;
1926 }
1927 function checkAttributeStringCoercion(value, attributeName) {
1928 if (willCoercionThrow(value))
1929 return console.error(
1930 "The provided `%s` attribute is an unsupported type %s. This value must be coerced to a string before using it here.",
1931 attributeName,
1932 typeName(value)
1933 ), testStringCoercion(value);
1934 }
1935 function checkCSSPropertyStringCoercion(value, propName) {
1936 if (willCoercionThrow(value))
1937 return console.error(
1938 "The provided `%s` CSS property is an unsupported type %s. This value must be coerced to a string before using it here.",
1939 propName,
1940 typeName(value)
1941 ), testStringCoercion(value);
1942 }
1943 function checkFormFieldValueStringCoercion(value) {
1944 if (willCoercionThrow(value))
1945 return console.error(
1946 "Form field values (value, checked, defaultValue, or defaultChecked props) must be strings, not %s. This value must be coerced to a string before using it here.",
1947 typeName(value)
1948 ), testStringCoercion(value);
1949 }
1950 function injectInternals(internals) {
1951 if ("undefined" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) return false;
1952 var hook = __REACT_DEVTOOLS_GLOBAL_HOOK__;
1953 if (hook.isDisabled) return true;
1954 if (!hook.supportsFiber)
1955 return console.error(
1956 "The installed version of React DevTools is too old and will not work with the current version of React. Please update React DevTools. https://react.dev/link/react-devtools"
1957 ), true;
1958 try {
1959 rendererID = hook.inject(internals), injectedHook = hook;
1960 } catch (err) {
1961 console.error("React instrumentation encountered an error: %s.", err);
1962 }
1963 return hook.checkDCE ? true : false;
1964 }
1965 function setIsStrictModeForDevtools(newIsStrictMode) {
1966 "function" === typeof log$1 && unstable_setDisableYieldValue(newIsStrictMode);
1967 if (injectedHook && "function" === typeof injectedHook.setStrictMode)
1968 try {
1969 injectedHook.setStrictMode(rendererID, newIsStrictMode);
1970 } catch (err) {
1971 hasLoggedError || (hasLoggedError = true, console.error(
1972 "React instrumentation encountered an error: %s",
1973 err
1974 ));
1975 }
1976 }
1977 function injectProfilingHooks(profilingHooks) {
1978 injectedProfilingHooks = profilingHooks;
1979 }
1980 function markCommitStopped() {
1981 null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markCommitStopped && injectedProfilingHooks.markCommitStopped();
1982 }
1983 function markComponentRenderStarted(fiber) {
1984 null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentRenderStarted && injectedProfilingHooks.markComponentRenderStarted(fiber);
1985 }
1986 function markComponentRenderStopped() {
1987 null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentRenderStopped && injectedProfilingHooks.markComponentRenderStopped();
1988 }
1989 function markRenderStarted(lanes) {
1990 null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markRenderStarted && injectedProfilingHooks.markRenderStarted(lanes);
1991 }
1992 function markRenderStopped() {
1993 null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markRenderStopped && injectedProfilingHooks.markRenderStopped();
1994 }
1995 function markStateUpdateScheduled(fiber, lane) {
1996 null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markStateUpdateScheduled && injectedProfilingHooks.markStateUpdateScheduled(fiber, lane);
1997 }
1998 function clz32Fallback(x) {
1999 x >>>= 0;
2000 return 0 === x ? 32 : 31 - (log(x) / LN2 | 0) | 0;
2001 }
2002 function getLabelForLane(lane) {
2003 if (lane & 1) return "SyncHydrationLane";
2004 if (lane & 2) return "Sync";
2005 if (lane & 4) return "InputContinuousHydration";
2006 if (lane & 8) return "InputContinuous";
2007 if (lane & 16) return "DefaultHydration";
2008 if (lane & 32) return "Default";
2009 if (lane & 128) return "TransitionHydration";
2010 if (lane & 4194048) return "Transition";
2011 if (lane & 62914560) return "Retry";
2012 if (lane & 67108864) return "SelectiveHydration";
2013 if (lane & 134217728) return "IdleHydration";
2014 if (lane & 268435456) return "Idle";
2015 if (lane & 536870912) return "Offscreen";
2016 if (lane & 1073741824) return "Deferred";
2017 }
2018 function getHighestPriorityLanes(lanes) {
2019 var pendingSyncLanes = lanes & 42;
2020 if (0 !== pendingSyncLanes) return pendingSyncLanes;
2021 switch (lanes & -lanes) {
2022 case 1:
2023 return 1;
2024 case 2:
2025 return 2;
2026 case 4:
2027 return 4;
2028 case 8:
2029 return 8;
2030 case 16:
2031 return 16;
2032 case 32:
2033 return 32;
2034 case 64:
2035 return 64;
2036 case 128:
2037 return 128;
2038 case 256:
2039 case 512:
2040 case 1024:
2041 case 2048:
2042 case 4096:
2043 case 8192:
2044 case 16384:
2045 case 32768:
2046 case 65536:
2047 case 131072:
2048 case 262144:
2049 case 524288:
2050 case 1048576:
2051 case 2097152:
2052 return lanes & 4194048;
2053 case 4194304:
2054 case 8388608:
2055 case 16777216:
2056 case 33554432:
2057 return lanes & 62914560;
2058 case 67108864:
2059 return 67108864;
2060 case 134217728:
2061 return 134217728;
2062 case 268435456:
2063 return 268435456;
2064 case 536870912:
2065 return 536870912;
2066 case 1073741824:
2067 return 0;
2068 default:
2069 return console.error(
2070 "Should have found matching lanes. This is a bug in React."
2071 ), lanes;
2072 }
2073 }
2074 function getNextLanes(root2, wipLanes, rootHasPendingCommit) {
2075 var pendingLanes = root2.pendingLanes;
2076 if (0 === pendingLanes) return 0;
2077 var nextLanes = 0, suspendedLanes = root2.suspendedLanes, pingedLanes = root2.pingedLanes;
2078 root2 = root2.warmLanes;
2079 var nonIdlePendingLanes = pendingLanes & 134217727;
2080 0 !== nonIdlePendingLanes ? (pendingLanes = nonIdlePendingLanes & ~suspendedLanes, 0 !== pendingLanes ? nextLanes = getHighestPriorityLanes(pendingLanes) : (pingedLanes &= nonIdlePendingLanes, 0 !== pingedLanes ? nextLanes = getHighestPriorityLanes(pingedLanes) : rootHasPendingCommit || (rootHasPendingCommit = nonIdlePendingLanes & ~root2, 0 !== rootHasPendingCommit && (nextLanes = getHighestPriorityLanes(rootHasPendingCommit))))) : (nonIdlePendingLanes = pendingLanes & ~suspendedLanes, 0 !== nonIdlePendingLanes ? nextLanes = getHighestPriorityLanes(nonIdlePendingLanes) : 0 !== pingedLanes ? nextLanes = getHighestPriorityLanes(pingedLanes) : rootHasPendingCommit || (rootHasPendingCommit = pendingLanes & ~root2, 0 !== rootHasPendingCommit && (nextLanes = getHighestPriorityLanes(rootHasPendingCommit))));
2081 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;
2082 }
2083 function checkIfRootIsPrerendering(root2, renderLanes2) {
2084 return 0 === (root2.pendingLanes & ~(root2.suspendedLanes & ~root2.pingedLanes) & renderLanes2);
2085 }
2086 function computeExpirationTime(lane, currentTime) {
2087 switch (lane) {
2088 case 1:
2089 case 2:
2090 case 4:
2091 case 8:
2092 case 64:
2093 return currentTime + 250;
2094 case 16:
2095 case 32:
2096 case 128:
2097 case 256:
2098 case 512:
2099 case 1024:
2100 case 2048:
2101 case 4096:
2102 case 8192:
2103 case 16384:
2104 case 32768:
2105 case 65536:
2106 case 131072:
2107 case 262144:
2108 case 524288:
2109 case 1048576:
2110 case 2097152:
2111 return currentTime + 5e3;
2112 case 4194304:
2113 case 8388608:
2114 case 16777216:
2115 case 33554432:
2116 return -1;
2117 case 67108864:
2118 case 134217728:
2119 case 268435456:
2120 case 536870912:
2121 case 1073741824:
2122 return -1;
2123 default:
2124 return console.error(
2125 "Should have found matching lanes. This is a bug in React."
2126 ), -1;
2127 }
2128 }
2129 function claimNextTransitionLane() {
2130 var lane = nextTransitionLane;
2131 nextTransitionLane <<= 1;
2132 0 === (nextTransitionLane & 4194048) && (nextTransitionLane = 256);
2133 return lane;
2134 }
2135 function claimNextRetryLane() {
2136 var lane = nextRetryLane;
2137 nextRetryLane <<= 1;
2138 0 === (nextRetryLane & 62914560) && (nextRetryLane = 4194304);
2139 return lane;
2140 }
2141 function createLaneMap(initial) {
2142 for (var laneMap = [], i = 0; 31 > i; i++) laneMap.push(initial);
2143 return laneMap;
2144 }
2145 function markRootUpdated$1(root2, updateLane) {
2146 root2.pendingLanes |= updateLane;
2147 268435456 !== updateLane && (root2.suspendedLanes = 0, root2.pingedLanes = 0, root2.warmLanes = 0);
2148 }
2149 function markRootFinished(root2, finishedLanes, remainingLanes, spawnedLane, updatedLanes, suspendedRetryLanes) {
2150 var previouslyPendingLanes = root2.pendingLanes;
2151 root2.pendingLanes = remainingLanes;
2152 root2.suspendedLanes = 0;
2153 root2.pingedLanes = 0;
2154 root2.warmLanes = 0;
2155 root2.expiredLanes &= remainingLanes;
2156 root2.entangledLanes &= remainingLanes;
2157 root2.errorRecoveryDisabledLanes &= remainingLanes;
2158 root2.shellSuspendCounter = 0;
2159 var entanglements = root2.entanglements, expirationTimes = root2.expirationTimes, hiddenUpdates = root2.hiddenUpdates;
2160 for (remainingLanes = previouslyPendingLanes & ~remainingLanes; 0 < remainingLanes; ) {
2161 var index = 31 - clz32(remainingLanes), lane = 1 << index;
2162 entanglements[index] = 0;
2163 expirationTimes[index] = -1;
2164 var hiddenUpdatesForLane = hiddenUpdates[index];
2165 if (null !== hiddenUpdatesForLane)
2166 for (hiddenUpdates[index] = null, index = 0; index < hiddenUpdatesForLane.length; index++) {
2167 var update = hiddenUpdatesForLane[index];
2168 null !== update && (update.lane &= -536870913);
2169 }
2170 remainingLanes &= ~lane;
2171 }
2172 0 !== spawnedLane && markSpawnedDeferredLane(root2, spawnedLane, 0);
2173 0 !== suspendedRetryLanes && 0 === updatedLanes && 0 !== root2.tag && (root2.suspendedLanes |= suspendedRetryLanes & ~(previouslyPendingLanes & ~finishedLanes));
2174 }
2175 function markSpawnedDeferredLane(root2, spawnedLane, entangledLanes) {
2176 root2.pendingLanes |= spawnedLane;
2177 root2.suspendedLanes &= ~spawnedLane;
2178 var spawnedLaneIndex = 31 - clz32(spawnedLane);
2179 root2.entangledLanes |= spawnedLane;
2180 root2.entanglements[spawnedLaneIndex] = root2.entanglements[spawnedLaneIndex] | 1073741824 | entangledLanes & 4194090;
2181 }
2182 function markRootEntangled(root2, entangledLanes) {
2183 var rootEntangledLanes = root2.entangledLanes |= entangledLanes;
2184 for (root2 = root2.entanglements; rootEntangledLanes; ) {
2185 var index = 31 - clz32(rootEntangledLanes), lane = 1 << index;
2186 lane & entangledLanes | root2[index] & entangledLanes && (root2[index] |= entangledLanes);
2187 rootEntangledLanes &= ~lane;
2188 }
2189 }
2190 function getBumpedLaneForHydrationByLane(lane) {
2191 switch (lane) {
2192 case 2:
2193 lane = 1;
2194 break;
2195 case 8:
2196 lane = 4;
2197 break;
2198 case 32:
2199 lane = 16;
2200 break;
2201 case 256:
2202 case 512:
2203 case 1024:
2204 case 2048:
2205 case 4096:
2206 case 8192:
2207 case 16384:
2208 case 32768:
2209 case 65536:
2210 case 131072:
2211 case 262144:
2212 case 524288:
2213 case 1048576:
2214 case 2097152:
2215 case 4194304:
2216 case 8388608:
2217 case 16777216:
2218 case 33554432:
2219 lane = 128;
2220 break;
2221 case 268435456:
2222 lane = 134217728;
2223 break;
2224 default:
2225 lane = 0;
2226 }
2227 return lane;
2228 }
2229 function addFiberToLanesMap(root2, fiber, lanes) {
2230 if (isDevToolsPresent)
2231 for (root2 = root2.pendingUpdatersLaneMap; 0 < lanes; ) {
2232 var index = 31 - clz32(lanes), lane = 1 << index;
2233 root2[index].add(fiber);
2234 lanes &= ~lane;
2235 }
2236 }
2237 function movePendingFibersToMemoized(root2, lanes) {
2238 if (isDevToolsPresent)
2239 for (var pendingUpdatersLaneMap = root2.pendingUpdatersLaneMap, memoizedUpdaters = root2.memoizedUpdaters; 0 < lanes; ) {
2240 var index = 31 - clz32(lanes);
2241 root2 = 1 << index;
2242 index = pendingUpdatersLaneMap[index];
2243 0 < index.size && (index.forEach(function(fiber) {
2244 var alternate = fiber.alternate;
2245 null !== alternate && memoizedUpdaters.has(alternate) || memoizedUpdaters.add(fiber);
2246 }), index.clear());
2247 lanes &= ~root2;
2248 }
2249 }
2250 function lanesToEventPriority(lanes) {
2251 lanes &= -lanes;
2252 return 0 !== DiscreteEventPriority && DiscreteEventPriority < lanes ? 0 !== ContinuousEventPriority && ContinuousEventPriority < lanes ? 0 !== (lanes & 134217727) ? DefaultEventPriority : IdleEventPriority : ContinuousEventPriority : DiscreteEventPriority;
2253 }
2254 function resolveUpdatePriority() {
2255 var updatePriority = ReactDOMSharedInternals.p;
2256 if (0 !== updatePriority) return updatePriority;
2257 updatePriority = window.event;
2258 return void 0 === updatePriority ? DefaultEventPriority : getEventPriority(updatePriority.type);
2259 }
2260 function runWithPriority(priority, fn) {
2261 var previousPriority = ReactDOMSharedInternals.p;
2262 try {
2263 return ReactDOMSharedInternals.p = priority, fn();
2264 } finally {
2265 ReactDOMSharedInternals.p = previousPriority;
2266 }
2267 }
2268 function detachDeletedInstance(node) {
2269 delete node[internalInstanceKey];
2270 delete node[internalPropsKey];
2271 delete node[internalEventHandlersKey];
2272 delete node[internalEventHandlerListenersKey];
2273 delete node[internalEventHandlesSetKey];
2274 }
2275 function getClosestInstanceFromNode(targetNode) {
2276 var targetInst = targetNode[internalInstanceKey];
2277 if (targetInst) return targetInst;
2278 for (var parentNode = targetNode.parentNode; parentNode; ) {
2279 if (targetInst = parentNode[internalContainerInstanceKey] || parentNode[internalInstanceKey]) {
2280 parentNode = targetInst.alternate;
2281 if (null !== targetInst.child || null !== parentNode && null !== parentNode.child)
2282 for (targetNode = getParentSuspenseInstance(targetNode); null !== targetNode; ) {
2283 if (parentNode = targetNode[internalInstanceKey])
2284 return parentNode;
2285 targetNode = getParentSuspenseInstance(targetNode);
2286 }
2287 return targetInst;
2288 }
2289 targetNode = parentNode;
2290 parentNode = targetNode.parentNode;
2291 }
2292 return null;
2293 }
2294 function getInstanceFromNode(node) {
2295 if (node = node[internalInstanceKey] || node[internalContainerInstanceKey]) {
2296 var tag = node.tag;
2297 if (5 === tag || 6 === tag || 13 === tag || 26 === tag || 27 === tag || 3 === tag)
2298 return node;
2299 }
2300 return null;
2301 }
2302 function getNodeFromInstance(inst) {
2303 var tag = inst.tag;
2304 if (5 === tag || 26 === tag || 27 === tag || 6 === tag)
2305 return inst.stateNode;
2306 throw Error("getNodeFromInstance: Invalid argument.");
2307 }
2308 function getResourcesFromRoot(root2) {
2309 var resources = root2[internalRootNodeResourcesKey];
2310 resources || (resources = root2[internalRootNodeResourcesKey] = { hoistableStyles: /* @__PURE__ */ new Map(), hoistableScripts: /* @__PURE__ */ new Map() });
2311 return resources;
2312 }
2313 function markNodeAsHoistable(node) {
2314 node[internalHoistableMarker] = true;
2315 }
2316 function registerTwoPhaseEvent(registrationName, dependencies) {
2317 registerDirectEvent(registrationName, dependencies);
2318 registerDirectEvent(registrationName + "Capture", dependencies);
2319 }
2320 function registerDirectEvent(registrationName, dependencies) {
2321 registrationNameDependencies[registrationName] && console.error(
2322 "EventRegistry: More than one plugin attempted to publish the same registration name, `%s`.",
2323 registrationName
2324 );
2325 registrationNameDependencies[registrationName] = dependencies;
2326 var lowerCasedName = registrationName.toLowerCase();
2327 possibleRegistrationNames[lowerCasedName] = registrationName;
2328 "onDoubleClick" === registrationName && (possibleRegistrationNames.ondblclick = registrationName);
2329 for (registrationName = 0; registrationName < dependencies.length; registrationName++)
2330 allNativeEvents.add(dependencies[registrationName]);
2331 }
2332 function checkControlledValueProps(tagName, props) {
2333 hasReadOnlyValue[props.type] || props.onChange || props.onInput || props.readOnly || props.disabled || null == props.value || ("select" === tagName ? console.error(
2334 "You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set `onChange`."
2335 ) : console.error(
2336 "You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`."
2337 ));
2338 props.onChange || props.readOnly || props.disabled || null == props.checked || console.error(
2339 "You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`."
2340 );
2341 }
2342 function isAttributeNameSafe(attributeName) {
2343 if (hasOwnProperty.call(validatedAttributeNameCache, attributeName))
2344 return true;
2345 if (hasOwnProperty.call(illegalAttributeNameCache, attributeName))
2346 return false;
2347 if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName))
2348 return validatedAttributeNameCache[attributeName] = true;
2349 illegalAttributeNameCache[attributeName] = true;
2350 console.error("Invalid attribute name: `%s`", attributeName);
2351 return false;
2352 }
2353 function getValueForAttributeOnCustomComponent(node, name, expected) {
2354 if (isAttributeNameSafe(name)) {
2355 if (!node.hasAttribute(name)) {
2356 switch (typeof expected) {
2357 case "symbol":
2358 case "object":
2359 return expected;
2360 case "function":
2361 return expected;
2362 case "boolean":
2363 if (false === expected) return expected;
2364 }
2365 return void 0 === expected ? void 0 : null;
2366 }
2367 node = node.getAttribute(name);
2368 if ("" === node && true === expected) return true;
2369 checkAttributeStringCoercion(expected, name);
2370 return node === "" + expected ? expected : node;
2371 }
2372 }
2373 function setValueForAttribute(node, name, value) {
2374 if (isAttributeNameSafe(name))
2375 if (null === value) node.removeAttribute(name);
2376 else {
2377 switch (typeof value) {
2378 case "undefined":
2379 case "function":
2380 case "symbol":
2381 node.removeAttribute(name);
2382 return;
2383 case "boolean":
2384 var prefix2 = name.toLowerCase().slice(0, 5);
2385 if ("data-" !== prefix2 && "aria-" !== prefix2) {
2386 node.removeAttribute(name);
2387 return;
2388 }
2389 }
2390 checkAttributeStringCoercion(value, name);
2391 node.setAttribute(name, "" + value);
2392 }
2393 }
2394 function setValueForKnownAttribute(node, name, value) {
2395 if (null === value) node.removeAttribute(name);
2396 else {
2397 switch (typeof value) {
2398 case "undefined":
2399 case "function":
2400 case "symbol":
2401 case "boolean":
2402 node.removeAttribute(name);
2403 return;
2404 }
2405 checkAttributeStringCoercion(value, name);
2406 node.setAttribute(name, "" + value);
2407 }
2408 }
2409 function setValueForNamespacedAttribute(node, namespace, name, value) {
2410 if (null === value) node.removeAttribute(name);
2411 else {
2412 switch (typeof value) {
2413 case "undefined":
2414 case "function":
2415 case "symbol":
2416 case "boolean":
2417 node.removeAttribute(name);
2418 return;
2419 }
2420 checkAttributeStringCoercion(value, name);
2421 node.setAttributeNS(namespace, name, "" + value);
2422 }
2423 }
2424 function disabledLog() {
2425 }
2426 function disableLogs() {
2427 if (0 === disabledDepth) {
2428 prevLog = console.log;
2429 prevInfo = console.info;
2430 prevWarn = console.warn;
2431 prevError = console.error;
2432 prevGroup = console.group;
2433 prevGroupCollapsed = console.groupCollapsed;
2434 prevGroupEnd = console.groupEnd;
2435 var props = {
2436 configurable: true,
2437 enumerable: true,
2438 value: disabledLog,
2439 writable: true
2440 };
2441 Object.defineProperties(console, {
2442 info: props,
2443 log: props,
2444 warn: props,
2445 error: props,
2446 group: props,
2447 groupCollapsed: props,
2448 groupEnd: props
2449 });
2450 }
2451 disabledDepth++;
2452 }
2453 function reenableLogs() {
2454 disabledDepth--;
2455 if (0 === disabledDepth) {
2456 var props = { configurable: true, enumerable: true, writable: true };
2457 Object.defineProperties(console, {
2458 log: assign({}, props, { value: prevLog }),
2459 info: assign({}, props, { value: prevInfo }),
2460 warn: assign({}, props, { value: prevWarn }),
2461 error: assign({}, props, { value: prevError }),
2462 group: assign({}, props, { value: prevGroup }),
2463 groupCollapsed: assign({}, props, { value: prevGroupCollapsed }),
2464 groupEnd: assign({}, props, { value: prevGroupEnd })
2465 });
2466 }
2467 0 > disabledDepth && console.error(
2468 "disabledDepth fell below zero. This is a bug in React. Please file an issue."
2469 );
2470 }
2471 function describeBuiltInComponentFrame(name) {
2472 if (void 0 === prefix)
2473 try {
2474 throw Error();
2475 } catch (x) {
2476 var match = x.stack.trim().match(/\n( *(at )?)/);
2477 prefix = match && match[1] || "";
2478 suffix = -1 < x.stack.indexOf("\n at") ? " (<anonymous>)" : -1 < x.stack.indexOf("@") ? "@unknown:0:0" : "";
2479 }
2480 return "\n" + prefix + name + suffix;
2481 }
2482 function describeNativeComponentFrame(fn, construct) {
2483 if (!fn || reentry) return "";
2484 var frame = componentFrameCache.get(fn);
2485 if (void 0 !== frame) return frame;
2486 reentry = true;
2487 frame = Error.prepareStackTrace;
2488 Error.prepareStackTrace = void 0;
2489 var previousDispatcher2 = null;
2490 previousDispatcher2 = ReactSharedInternals.H;
2491 ReactSharedInternals.H = null;
2492 disableLogs();
2493 try {
2494 var RunInRootFrame = {
2495 DetermineComponentFrameRoot: function() {
2496 try {
2497 if (construct) {
2498 var Fake = function() {
2499 throw Error();
2500 };
2501 Object.defineProperty(Fake.prototype, "props", {
2502 set: function() {
2503 throw Error();
2504 }
2505 });
2506 if ("object" === typeof Reflect && Reflect.construct) {
2507 try {
2508 Reflect.construct(Fake, []);
2509 } catch (x) {
2510 var control = x;
2511 }
2512 Reflect.construct(fn, [], Fake);
2513 } else {
2514 try {
2515 Fake.call();
2516 } catch (x$0) {
2517 control = x$0;
2518 }
2519 fn.call(Fake.prototype);
2520 }
2521 } else {
2522 try {
2523 throw Error();
2524 } catch (x$1) {
2525 control = x$1;
2526 }
2527 (Fake = fn()) && "function" === typeof Fake.catch && Fake.catch(function() {
2528 });
2529 }
2530 } catch (sample) {
2531 if (sample && control && "string" === typeof sample.stack)
2532 return [sample.stack, control.stack];
2533 }
2534 return [null, null];
2535 }
2536 };
2537 RunInRootFrame.DetermineComponentFrameRoot.displayName = "DetermineComponentFrameRoot";
2538 var namePropDescriptor = Object.getOwnPropertyDescriptor(
2539 RunInRootFrame.DetermineComponentFrameRoot,
2540 "name"
2541 );
2542 namePropDescriptor && namePropDescriptor.configurable && Object.defineProperty(
2543 RunInRootFrame.DetermineComponentFrameRoot,
2544 "name",
2545 { value: "DetermineComponentFrameRoot" }
2546 );
2547 var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(), sampleStack = _RunInRootFrame$Deter[0], controlStack = _RunInRootFrame$Deter[1];
2548 if (sampleStack && controlStack) {
2549 var sampleLines = sampleStack.split("\n"), controlLines = controlStack.split("\n");
2550 for (_RunInRootFrame$Deter = namePropDescriptor = 0; namePropDescriptor < sampleLines.length && !sampleLines[namePropDescriptor].includes(
2551 "DetermineComponentFrameRoot"
2552 ); )
2553 namePropDescriptor++;
2554 for (; _RunInRootFrame$Deter < controlLines.length && !controlLines[_RunInRootFrame$Deter].includes(
2555 "DetermineComponentFrameRoot"
2556 ); )
2557 _RunInRootFrame$Deter++;
2558 if (namePropDescriptor === sampleLines.length || _RunInRootFrame$Deter === controlLines.length)
2559 for (namePropDescriptor = sampleLines.length - 1, _RunInRootFrame$Deter = controlLines.length - 1; 1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter && sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter]; )
2560 _RunInRootFrame$Deter--;
2561 for (; 1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter; namePropDescriptor--, _RunInRootFrame$Deter--)
2562 if (sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter]) {
2563 if (1 !== namePropDescriptor || 1 !== _RunInRootFrame$Deter) {
2564 do
2565 if (namePropDescriptor--, _RunInRootFrame$Deter--, 0 > _RunInRootFrame$Deter || sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter]) {
2566 var _frame = "\n" + sampleLines[namePropDescriptor].replace(
2567 " at new ",
2568 " at "
2569 );
2570 fn.displayName && _frame.includes("<anonymous>") && (_frame = _frame.replace("<anonymous>", fn.displayName));
2571 "function" === typeof fn && componentFrameCache.set(fn, _frame);
2572 return _frame;
2573 }
2574 while (1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter);
2575 }
2576 break;
2577 }
2578 }
2579 } finally {
2580 reentry = false, ReactSharedInternals.H = previousDispatcher2, reenableLogs(), Error.prepareStackTrace = frame;
2581 }
2582 sampleLines = (sampleLines = fn ? fn.displayName || fn.name : "") ? describeBuiltInComponentFrame(sampleLines) : "";
2583 "function" === typeof fn && componentFrameCache.set(fn, sampleLines);
2584 return sampleLines;
2585 }
2586 function formatOwnerStack(error) {
2587 var prevPrepareStackTrace = Error.prepareStackTrace;
2588 Error.prepareStackTrace = void 0;
2589 error = error.stack;
2590 Error.prepareStackTrace = prevPrepareStackTrace;
2591 error.startsWith("Error: react-stack-top-frame\n") && (error = error.slice(29));
2592 prevPrepareStackTrace = error.indexOf("\n");
2593 -1 !== prevPrepareStackTrace && (error = error.slice(prevPrepareStackTrace + 1));
2594 prevPrepareStackTrace = error.indexOf("react_stack_bottom_frame");
2595 -1 !== prevPrepareStackTrace && (prevPrepareStackTrace = error.lastIndexOf(
2596 "\n",
2597 prevPrepareStackTrace
2598 ));
2599 if (-1 !== prevPrepareStackTrace)
2600 error = error.slice(0, prevPrepareStackTrace);
2601 else return "";
2602 return error;
2603 }
2604 function describeFiber(fiber) {
2605 switch (fiber.tag) {
2606 case 26:
2607 case 27:
2608 case 5:
2609 return describeBuiltInComponentFrame(fiber.type);
2610 case 16:
2611 return describeBuiltInComponentFrame("Lazy");
2612 case 13:
2613 return describeBuiltInComponentFrame("Suspense");
2614 case 19:
2615 return describeBuiltInComponentFrame("SuspenseList");
2616 case 0:
2617 case 15:
2618 return describeNativeComponentFrame(fiber.type, false);
2619 case 11:
2620 return describeNativeComponentFrame(fiber.type.render, false);
2621 case 1:
2622 return describeNativeComponentFrame(fiber.type, true);
2623 case 31:
2624 return describeBuiltInComponentFrame("Activity");
2625 default:
2626 return "";
2627 }
2628 }
2629 function getStackByFiberInDevAndProd(workInProgress2) {
2630 try {
2631 var info = "";
2632 do {
2633 info += describeFiber(workInProgress2);
2634 var debugInfo = workInProgress2._debugInfo;
2635 if (debugInfo)
2636 for (var i = debugInfo.length - 1; 0 <= i; i--) {
2637 var entry = debugInfo[i];
2638 if ("string" === typeof entry.name) {
2639 var JSCompiler_temp_const = info, env = entry.env;
2640 var JSCompiler_inline_result = describeBuiltInComponentFrame(
2641 entry.name + (env ? " [" + env + "]" : "")
2642 );
2643 info = JSCompiler_temp_const + JSCompiler_inline_result;
2644 }
2645 }
2646 workInProgress2 = workInProgress2.return;
2647 } while (workInProgress2);
2648 return info;
2649 } catch (x) {
2650 return "\nError generating stack: " + x.message + "\n" + x.stack;
2651 }
2652 }
2653 function describeFunctionComponentFrameWithoutLineNumber(fn) {
2654 return (fn = fn ? fn.displayName || fn.name : "") ? describeBuiltInComponentFrame(fn) : "";
2655 }
2656 function getCurrentFiberOwnerNameInDevOrNull() {
2657 if (null === current) return null;
2658 var owner = current._debugOwner;
2659 return null != owner ? getComponentNameFromOwner(owner) : null;
2660 }
2661 function getCurrentFiberStackInDev() {
2662 if (null === current) return "";
2663 var workInProgress2 = current;
2664 try {
2665 var info = "";
2666 6 === workInProgress2.tag && (workInProgress2 = workInProgress2.return);
2667 switch (workInProgress2.tag) {
2668 case 26:
2669 case 27:
2670 case 5:
2671 info += describeBuiltInComponentFrame(workInProgress2.type);
2672 break;
2673 case 13:
2674 info += describeBuiltInComponentFrame("Suspense");
2675 break;
2676 case 19:
2677 info += describeBuiltInComponentFrame("SuspenseList");
2678 break;
2679 case 31:
2680 info += describeBuiltInComponentFrame("Activity");
2681 break;
2682 case 30:
2683 case 0:
2684 case 15:
2685 case 1:
2686 workInProgress2._debugOwner || "" !== info || (info += describeFunctionComponentFrameWithoutLineNumber(
2687 workInProgress2.type
2688 ));
2689 break;
2690 case 11:
2691 workInProgress2._debugOwner || "" !== info || (info += describeFunctionComponentFrameWithoutLineNumber(
2692 workInProgress2.type.render
2693 ));
2694 }
2695 for (; workInProgress2; )
2696 if ("number" === typeof workInProgress2.tag) {
2697 var fiber = workInProgress2;
2698 workInProgress2 = fiber._debugOwner;
2699 var debugStack = fiber._debugStack;
2700 workInProgress2 && debugStack && ("string" !== typeof debugStack && (fiber._debugStack = debugStack = formatOwnerStack(debugStack)), "" !== debugStack && (info += "\n" + debugStack));
2701 } else if (null != workInProgress2.debugStack) {
2702 var ownerStack = workInProgress2.debugStack;
2703 (workInProgress2 = workInProgress2.owner) && ownerStack && (info += "\n" + formatOwnerStack(ownerStack));
2704 } else break;
2705 var JSCompiler_inline_result = info;
2706 } catch (x) {
2707 JSCompiler_inline_result = "\nError generating stack: " + x.message + "\n" + x.stack;
2708 }
2709 return JSCompiler_inline_result;
2710 }
2711 function runWithFiberInDEV(fiber, callback, arg0, arg1, arg2, arg3, arg4) {
2712 var previousFiber = current;
2713 setCurrentFiber(fiber);
2714 try {
2715 return null !== fiber && fiber._debugTask ? fiber._debugTask.run(
2716 callback.bind(null, arg0, arg1, arg2, arg3, arg4)
2717 ) : callback(arg0, arg1, arg2, arg3, arg4);
2718 } finally {
2719 setCurrentFiber(previousFiber);
2720 }
2721 throw Error(
2722 "runWithFiberInDEV should never be called in production. This is a bug in React."
2723 );
2724 }
2725 function setCurrentFiber(fiber) {
2726 ReactSharedInternals.getCurrentStack = null === fiber ? null : getCurrentFiberStackInDev;
2727 isRendering = false;
2728 current = fiber;
2729 }
2730 function getToStringValue(value) {
2731 switch (typeof value) {
2732 case "bigint":
2733 case "boolean":
2734 case "number":
2735 case "string":
2736 case "undefined":
2737 return value;
2738 case "object":
2739 return checkFormFieldValueStringCoercion(value), value;
2740 default:
2741 return "";
2742 }
2743 }
2744 function isCheckable(elem) {
2745 var type = elem.type;
2746 return (elem = elem.nodeName) && "input" === elem.toLowerCase() && ("checkbox" === type || "radio" === type);
2747 }
2748 function trackValueOnNode(node) {
2749 var valueField = isCheckable(node) ? "checked" : "value", descriptor = Object.getOwnPropertyDescriptor(
2750 node.constructor.prototype,
2751 valueField
2752 );
2753 checkFormFieldValueStringCoercion(node[valueField]);
2754 var currentValue = "" + node[valueField];
2755 if (!node.hasOwnProperty(valueField) && "undefined" !== typeof descriptor && "function" === typeof descriptor.get && "function" === typeof descriptor.set) {
2756 var get = descriptor.get, set = descriptor.set;
2757 Object.defineProperty(node, valueField, {
2758 configurable: true,
2759 get: function() {
2760 return get.call(this);
2761 },
2762 set: function(value) {
2763 checkFormFieldValueStringCoercion(value);
2764 currentValue = "" + value;
2765 set.call(this, value);
2766 }
2767 });
2768 Object.defineProperty(node, valueField, {
2769 enumerable: descriptor.enumerable
2770 });
2771 return {
2772 getValue: function() {
2773 return currentValue;
2774 },
2775 setValue: function(value) {
2776 checkFormFieldValueStringCoercion(value);
2777 currentValue = "" + value;
2778 },
2779 stopTracking: function() {
2780 node._valueTracker = null;
2781 delete node[valueField];
2782 }
2783 };
2784 }
2785 }
2786 function track(node) {
2787 node._valueTracker || (node._valueTracker = trackValueOnNode(node));
2788 }
2789 function updateValueIfChanged(node) {
2790 if (!node) return false;
2791 var tracker = node._valueTracker;
2792 if (!tracker) return true;
2793 var lastValue = tracker.getValue();
2794 var value = "";
2795 node && (value = isCheckable(node) ? node.checked ? "true" : "false" : node.value);
2796 node = value;
2797 return node !== lastValue ? (tracker.setValue(node), true) : false;
2798 }
2799 function getActiveElement(doc) {
2800 doc = doc || ("undefined" !== typeof document ? document : void 0);
2801 if ("undefined" === typeof doc) return null;
2802 try {
2803 return doc.activeElement || doc.body;
2804 } catch (e) {
2805 return doc.body;
2806 }
2807 }
2808 function escapeSelectorAttributeValueInsideDoubleQuotes(value) {
2809 return value.replace(
2810 escapeSelectorAttributeValueInsideDoubleQuotesRegex,
2811 function(ch) {
2812 return "\\" + ch.charCodeAt(0).toString(16) + " ";
2813 }
2814 );
2815 }
2816 function validateInputProps(element, props) {
2817 void 0 === props.checked || void 0 === props.defaultChecked || didWarnCheckedDefaultChecked || (console.error(
2818 "%s contains an input of type %s with both checked and defaultChecked props. Input elements must be either controlled or uncontrolled (specify either the checked prop, or the defaultChecked prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://react.dev/link/controlled-components",
2819 getCurrentFiberOwnerNameInDevOrNull() || "A component",
2820 props.type
2821 ), didWarnCheckedDefaultChecked = true);
2822 void 0 === props.value || void 0 === props.defaultValue || didWarnValueDefaultValue$1 || (console.error(
2823 "%s contains an input of type %s with both value and defaultValue props. Input elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://react.dev/link/controlled-components",
2824 getCurrentFiberOwnerNameInDevOrNull() || "A component",
2825 props.type
2826 ), didWarnValueDefaultValue$1 = true);
2827 }
2828 function updateInput(element, value, defaultValue, lastDefaultValue, checked, defaultChecked, type, name) {
2829 element.name = "";
2830 null != type && "function" !== typeof type && "symbol" !== typeof type && "boolean" !== typeof type ? (checkAttributeStringCoercion(type, "type"), element.type = type) : element.removeAttribute("type");
2831 if (null != value)
2832 if ("number" === type) {
2833 if (0 === value && "" === element.value || element.value != value)
2834 element.value = "" + getToStringValue(value);
2835 } else
2836 element.value !== "" + getToStringValue(value) && (element.value = "" + getToStringValue(value));
2837 else
2838 "submit" !== type && "reset" !== type || element.removeAttribute("value");
2839 null != value ? setDefaultValue(element, type, getToStringValue(value)) : null != defaultValue ? setDefaultValue(element, type, getToStringValue(defaultValue)) : null != lastDefaultValue && element.removeAttribute("value");
2840 null == checked && null != defaultChecked && (element.defaultChecked = !!defaultChecked);
2841 null != checked && (element.checked = checked && "function" !== typeof checked && "symbol" !== typeof checked);
2842 null != name && "function" !== typeof name && "symbol" !== typeof name && "boolean" !== typeof name ? (checkAttributeStringCoercion(name, "name"), element.name = "" + getToStringValue(name)) : element.removeAttribute("name");
2843 }
2844 function initInput(element, value, defaultValue, checked, defaultChecked, type, name, isHydrating2) {
2845 null != type && "function" !== typeof type && "symbol" !== typeof type && "boolean" !== typeof type && (checkAttributeStringCoercion(type, "type"), element.type = type);
2846 if (null != value || null != defaultValue) {
2847 if (!("submit" !== type && "reset" !== type || void 0 !== value && null !== value))
2848 return;
2849 defaultValue = null != defaultValue ? "" + getToStringValue(defaultValue) : "";
2850 value = null != value ? "" + getToStringValue(value) : defaultValue;
2851 isHydrating2 || value === element.value || (element.value = value);
2852 element.defaultValue = value;
2853 }
2854 checked = null != checked ? checked : defaultChecked;
2855 checked = "function" !== typeof checked && "symbol" !== typeof checked && !!checked;
2856 element.checked = isHydrating2 ? element.checked : !!checked;
2857 element.defaultChecked = !!checked;
2858 null != name && "function" !== typeof name && "symbol" !== typeof name && "boolean" !== typeof name && (checkAttributeStringCoercion(name, "name"), element.name = name);
2859 }
2860 function setDefaultValue(node, type, value) {
2861 "number" === type && getActiveElement(node.ownerDocument) === node || node.defaultValue === "" + value || (node.defaultValue = "" + value);
2862 }
2863 function validateOptionProps(element, props) {
2864 null == props.value && ("object" === typeof props.children && null !== props.children ? React.Children.forEach(props.children, function(child) {
2865 null == child || "string" === typeof child || "number" === typeof child || "bigint" === typeof child || didWarnInvalidChild || (didWarnInvalidChild = true, console.error(
2866 "Cannot infer the option value of complex children. Pass a `value` prop or use a plain string as children to <option>."
2867 ));
2868 }) : null == props.dangerouslySetInnerHTML || didWarnInvalidInnerHTML || (didWarnInvalidInnerHTML = true, console.error(
2869 "Pass a `value` prop if you set dangerouslyInnerHTML so React knows which value should be selected."
2870 )));
2871 null == props.selected || didWarnSelectedSetOnOption || (console.error(
2872 "Use the `defaultValue` or `value` props on <select> instead of setting `selected` on <option>."
2873 ), didWarnSelectedSetOnOption = true);
2874 }
2875 function getDeclarationErrorAddendum() {
2876 var ownerName = getCurrentFiberOwnerNameInDevOrNull();
2877 return ownerName ? "\n\nCheck the render method of `" + ownerName + "`." : "";
2878 }
2879 function updateOptions(node, multiple, propValue, setDefaultSelected) {
2880 node = node.options;
2881 if (multiple) {
2882 multiple = {};
2883 for (var i = 0; i < propValue.length; i++)
2884 multiple["$" + propValue[i]] = true;
2885 for (propValue = 0; propValue < node.length; propValue++)
2886 i = multiple.hasOwnProperty("$" + node[propValue].value), node[propValue].selected !== i && (node[propValue].selected = i), i && setDefaultSelected && (node[propValue].defaultSelected = true);
2887 } else {
2888 propValue = "" + getToStringValue(propValue);
2889 multiple = null;
2890 for (i = 0; i < node.length; i++) {
2891 if (node[i].value === propValue) {
2892 node[i].selected = true;
2893 setDefaultSelected && (node[i].defaultSelected = true);
2894 return;
2895 }
2896 null !== multiple || node[i].disabled || (multiple = node[i]);
2897 }
2898 null !== multiple && (multiple.selected = true);
2899 }
2900 }
2901 function validateSelectProps(element, props) {
2902 for (element = 0; element < valuePropNames.length; element++) {
2903 var propName = valuePropNames[element];
2904 if (null != props[propName]) {
2905 var propNameIsArray = isArrayImpl(props[propName]);
2906 props.multiple && !propNameIsArray ? console.error(
2907 "The `%s` prop supplied to <select> must be an array if `multiple` is true.%s",
2908 propName,
2909 getDeclarationErrorAddendum()
2910 ) : !props.multiple && propNameIsArray && console.error(
2911 "The `%s` prop supplied to <select> must be a scalar value if `multiple` is false.%s",
2912 propName,
2913 getDeclarationErrorAddendum()
2914 );
2915 }
2916 }
2917 void 0 === props.value || void 0 === props.defaultValue || didWarnValueDefaultValue || (console.error(
2918 "Select elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled select element and remove one of these props. More info: https://react.dev/link/controlled-components"
2919 ), didWarnValueDefaultValue = true);
2920 }
2921 function validateTextareaProps(element, props) {
2922 void 0 === props.value || void 0 === props.defaultValue || didWarnValDefaultVal || (console.error(
2923 "%s contains a textarea with both value and defaultValue props. Textarea elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled textarea and remove one of these props. More info: https://react.dev/link/controlled-components",
2924 getCurrentFiberOwnerNameInDevOrNull() || "A component"
2925 ), didWarnValDefaultVal = true);
2926 null != props.children && null == props.value && console.error(
2927 "Use the `defaultValue` or `value` props instead of setting children on <textarea>."
2928 );
2929 }
2930 function updateTextarea(element, value, defaultValue) {
2931 if (null != value && (value = "" + getToStringValue(value), value !== element.value && (element.value = value), null == defaultValue)) {
2932 element.defaultValue !== value && (element.defaultValue = value);
2933 return;
2934 }
2935 element.defaultValue = null != defaultValue ? "" + getToStringValue(defaultValue) : "";
2936 }
2937 function initTextarea(element, value, defaultValue, children) {
2938 if (null == value) {
2939 if (null != children) {
2940 if (null != defaultValue)
2941 throw Error(
2942 "If you supply `defaultValue` on a <textarea>, do not pass children."
2943 );
2944 if (isArrayImpl(children)) {
2945 if (1 < children.length)
2946 throw Error("<textarea> can only have at most one child.");
2947 children = children[0];
2948 }
2949 defaultValue = children;
2950 }
2951 null == defaultValue && (defaultValue = "");
2952 value = defaultValue;
2953 }
2954 defaultValue = getToStringValue(value);
2955 element.defaultValue = defaultValue;
2956 children = element.textContent;
2957 children === defaultValue && "" !== children && null !== children && (element.value = children);
2958 }
2959 function findNotableNode(node, indent) {
2960 return void 0 === node.serverProps && 0 === node.serverTail.length && 1 === node.children.length && 3 < node.distanceFromLeaf && node.distanceFromLeaf > 15 - indent ? findNotableNode(node.children[0], indent) : node;
2961 }
2962 function indentation(indent) {
2963 return " " + " ".repeat(indent);
2964 }
2965 function added(indent) {
2966 return "+ " + " ".repeat(indent);
2967 }
2968 function removed(indent) {
2969 return "- " + " ".repeat(indent);
2970 }
2971 function describeFiberType(fiber) {
2972 switch (fiber.tag) {
2973 case 26:
2974 case 27:
2975 case 5:
2976 return fiber.type;
2977 case 16:
2978 return "Lazy";
2979 case 13:
2980 return "Suspense";
2981 case 19:
2982 return "SuspenseList";
2983 case 0:
2984 case 15:
2985 return fiber = fiber.type, fiber.displayName || fiber.name || null;
2986 case 11:
2987 return fiber = fiber.type.render, fiber.displayName || fiber.name || null;
2988 case 1:
2989 return fiber = fiber.type, fiber.displayName || fiber.name || null;
2990 default:
2991 return null;
2992 }
2993 }
2994 function describeTextNode(content, maxLength) {
2995 return needsEscaping.test(content) ? (content = JSON.stringify(content), content.length > maxLength - 2 ? 8 > maxLength ? '{"..."}' : "{" + content.slice(0, maxLength - 7) + '..."}' : "{" + content + "}") : content.length > maxLength ? 5 > maxLength ? '{"..."}' : content.slice(0, maxLength - 3) + "..." : content;
2996 }
2997 function describeTextDiff(clientText, serverProps, indent) {
2998 var maxLength = 120 - 2 * indent;
2999 if (null === serverProps)
3000 return added(indent) + describeTextNode(clientText, maxLength) + "\n";
3001 if ("string" === typeof serverProps) {
3002 for (var firstDiff = 0; firstDiff < serverProps.length && firstDiff < clientText.length && serverProps.charCodeAt(firstDiff) === clientText.charCodeAt(firstDiff); firstDiff++) ;
3003 firstDiff > maxLength - 8 && 10 < firstDiff && (clientText = "..." + clientText.slice(firstDiff - 8), serverProps = "..." + serverProps.slice(firstDiff - 8));
3004 return added(indent) + describeTextNode(clientText, maxLength) + "\n" + removed(indent) + describeTextNode(serverProps, maxLength) + "\n";
3005 }
3006 return indentation(indent) + describeTextNode(clientText, maxLength) + "\n";
3007 }
3008 function objectName(object) {
3009 return Object.prototype.toString.call(object).replace(/^\[object (.*)\]$/, function(m, p0) {
3010 return p0;
3011 });
3012 }
3013 function describeValue(value, maxLength) {
3014 switch (typeof value) {
3015 case "string":
3016 return value = JSON.stringify(value), value.length > maxLength ? 5 > maxLength ? '"..."' : value.slice(0, maxLength - 4) + '..."' : value;
3017 case "object":
3018 if (null === value) return "null";
3019 if (isArrayImpl(value)) return "[...]";
3020 if (value.$$typeof === REACT_ELEMENT_TYPE)
3021 return (maxLength = getComponentNameFromType(value.type)) ? "<" + maxLength + ">" : "<...>";
3022 var name = objectName(value);
3023 if ("Object" === name) {
3024 name = "";
3025 maxLength -= 2;
3026 for (var propName in value)
3027 if (value.hasOwnProperty(propName)) {
3028 var jsonPropName = JSON.stringify(propName);
3029 jsonPropName !== '"' + propName + '"' && (propName = jsonPropName);
3030 maxLength -= propName.length - 2;
3031 jsonPropName = describeValue(
3032 value[propName],
3033 15 > maxLength ? maxLength : 15
3034 );
3035 maxLength -= jsonPropName.length;
3036 if (0 > maxLength) {
3037 name += "" === name ? "..." : ", ...";
3038 break;
3039 }
3040 name += ("" === name ? "" : ",") + propName + ":" + jsonPropName;
3041 }
3042 return "{" + name + "}";
3043 }
3044 return name;
3045 case "function":
3046 return (maxLength = value.displayName || value.name) ? "function " + maxLength : "function";
3047 default:
3048 return String(value);
3049 }
3050 }
3051 function describePropValue(value, maxLength) {
3052 return "string" !== typeof value || needsEscaping.test(value) ? "{" + describeValue(value, maxLength - 2) + "}" : value.length > maxLength - 2 ? 5 > maxLength ? '"..."' : '"' + value.slice(0, maxLength - 5) + '..."' : '"' + value + '"';
3053 }
3054 function describeExpandedElement(type, props, rowPrefix) {
3055 var remainingRowLength = 120 - rowPrefix.length - type.length, properties = [], propName;
3056 for (propName in props)
3057 if (props.hasOwnProperty(propName) && "children" !== propName) {
3058 var propValue = describePropValue(
3059 props[propName],
3060 120 - rowPrefix.length - propName.length - 1
3061 );
3062 remainingRowLength -= propName.length + propValue.length + 2;
3063 properties.push(propName + "=" + propValue);
3064 }
3065 return 0 === properties.length ? rowPrefix + "<" + type + ">\n" : 0 < remainingRowLength ? rowPrefix + "<" + type + " " + properties.join(" ") + ">\n" : rowPrefix + "<" + type + "\n" + rowPrefix + " " + properties.join("\n" + rowPrefix + " ") + "\n" + rowPrefix + ">\n";
3066 }
3067 function describePropertiesDiff(clientObject, serverObject, indent) {
3068 var properties = "", remainingServerProperties = assign({}, serverObject), propName;
3069 for (propName in clientObject)
3070 if (clientObject.hasOwnProperty(propName)) {
3071 delete remainingServerProperties[propName];
3072 var maxLength = 120 - 2 * indent - propName.length - 2, clientPropValue = describeValue(clientObject[propName], maxLength);
3073 serverObject.hasOwnProperty(propName) ? (maxLength = describeValue(serverObject[propName], maxLength), properties += added(indent) + propName + ": " + clientPropValue + "\n", properties += removed(indent) + propName + ": " + maxLength + "\n") : properties += added(indent) + propName + ": " + clientPropValue + "\n";
3074 }
3075 for (var _propName in remainingServerProperties)
3076 remainingServerProperties.hasOwnProperty(_propName) && (clientObject = describeValue(
3077 remainingServerProperties[_propName],
3078 120 - 2 * indent - _propName.length - 2
3079 ), properties += removed(indent) + _propName + ": " + clientObject + "\n");
3080 return properties;
3081 }
3082 function describeElementDiff(type, clientProps, serverProps, indent) {
3083 var content = "", serverPropNames = /* @__PURE__ */ new Map();
3084 for (propName$jscomp$0 in serverProps)
3085 serverProps.hasOwnProperty(propName$jscomp$0) && serverPropNames.set(
3086 propName$jscomp$0.toLowerCase(),
3087 propName$jscomp$0
3088 );
3089 if (1 === serverPropNames.size && serverPropNames.has("children"))
3090 content += describeExpandedElement(
3091 type,
3092 clientProps,
3093 indentation(indent)
3094 );
3095 else {
3096 for (var _propName2 in clientProps)
3097 if (clientProps.hasOwnProperty(_propName2) && "children" !== _propName2) {
3098 var maxLength$jscomp$0 = 120 - 2 * (indent + 1) - _propName2.length - 1, serverPropName = serverPropNames.get(_propName2.toLowerCase());
3099 if (void 0 !== serverPropName) {
3100 serverPropNames.delete(_propName2.toLowerCase());
3101 var propName$jscomp$0 = clientProps[_propName2];
3102 serverPropName = serverProps[serverPropName];
3103 var clientPropValue = describePropValue(
3104 propName$jscomp$0,
3105 maxLength$jscomp$0
3106 );
3107 maxLength$jscomp$0 = describePropValue(
3108 serverPropName,
3109 maxLength$jscomp$0
3110 );
3111 "object" === typeof propName$jscomp$0 && null !== propName$jscomp$0 && "object" === typeof serverPropName && null !== serverPropName && "Object" === objectName(propName$jscomp$0) && "Object" === objectName(serverPropName) && (2 < Object.keys(propName$jscomp$0).length || 2 < Object.keys(serverPropName).length || -1 < clientPropValue.indexOf("...") || -1 < maxLength$jscomp$0.indexOf("...")) ? content += indentation(indent + 1) + _propName2 + "={{\n" + describePropertiesDiff(
3112 propName$jscomp$0,
3113 serverPropName,
3114 indent + 2
3115 ) + indentation(indent + 1) + "}}\n" : (content += added(indent + 1) + _propName2 + "=" + clientPropValue + "\n", content += removed(indent + 1) + _propName2 + "=" + maxLength$jscomp$0 + "\n");
3116 } else
3117 content += indentation(indent + 1) + _propName2 + "=" + describePropValue(clientProps[_propName2], maxLength$jscomp$0) + "\n";
3118 }
3119 serverPropNames.forEach(function(propName) {
3120 if ("children" !== propName) {
3121 var maxLength = 120 - 2 * (indent + 1) - propName.length - 1;
3122 content += removed(indent + 1) + propName + "=" + describePropValue(serverProps[propName], maxLength) + "\n";
3123 }
3124 });
3125 content = "" === content ? indentation(indent) + "<" + type + ">\n" : indentation(indent) + "<" + type + "\n" + content + indentation(indent) + ">\n";
3126 }
3127 type = serverProps.children;
3128 clientProps = clientProps.children;
3129 if ("string" === typeof type || "number" === typeof type || "bigint" === typeof type) {
3130 serverPropNames = "";
3131 if ("string" === typeof clientProps || "number" === typeof clientProps || "bigint" === typeof clientProps)
3132 serverPropNames = "" + clientProps;
3133 content += describeTextDiff(serverPropNames, "" + type, indent + 1);
3134 } else if ("string" === typeof clientProps || "number" === typeof clientProps || "bigint" === typeof clientProps)
3135 content = null == type ? content + describeTextDiff("" + clientProps, null, indent + 1) : content + describeTextDiff("" + clientProps, void 0, indent + 1);
3136 return content;
3137 }
3138 function describeSiblingFiber(fiber, indent) {
3139 var type = describeFiberType(fiber);
3140 if (null === type) {
3141 type = "";
3142 for (fiber = fiber.child; fiber; )
3143 type += describeSiblingFiber(fiber, indent), fiber = fiber.sibling;
3144 return type;
3145 }
3146 return indentation(indent) + "<" + type + ">\n";
3147 }
3148 function describeNode(node, indent) {
3149 var skipToNode = findNotableNode(node, indent);
3150 if (skipToNode !== node && (1 !== node.children.length || node.children[0] !== skipToNode))
3151 return indentation(indent) + "...\n" + describeNode(skipToNode, indent + 1);
3152 skipToNode = "";
3153 var debugInfo = node.fiber._debugInfo;
3154 if (debugInfo)
3155 for (var i = 0; i < debugInfo.length; i++) {
3156 var serverComponentName = debugInfo[i].name;
3157 "string" === typeof serverComponentName && (skipToNode += indentation(indent) + "<" + serverComponentName + ">\n", indent++);
3158 }
3159 debugInfo = "";
3160 i = node.fiber.pendingProps;
3161 if (6 === node.fiber.tag)
3162 debugInfo = describeTextDiff(i, node.serverProps, indent), indent++;
3163 else if (serverComponentName = describeFiberType(node.fiber), null !== serverComponentName)
3164 if (void 0 === node.serverProps) {
3165 debugInfo = indent;
3166 var maxLength = 120 - 2 * debugInfo - serverComponentName.length - 2, content = "";
3167 for (propName in i)
3168 if (i.hasOwnProperty(propName) && "children" !== propName) {
3169 var propValue = describePropValue(i[propName], 15);
3170 maxLength -= propName.length + propValue.length + 2;
3171 if (0 > maxLength) {
3172 content += " ...";
3173 break;
3174 }
3175 content += " " + propName + "=" + propValue;
3176 }
3177 debugInfo = indentation(debugInfo) + "<" + serverComponentName + content + ">\n";
3178 indent++;
3179 } else
3180 null === node.serverProps ? (debugInfo = describeExpandedElement(
3181 serverComponentName,
3182 i,
3183 added(indent)
3184 ), indent++) : "string" === typeof node.serverProps ? console.error(
3185 "Should not have matched a non HostText fiber to a Text node. This is a bug in React."
3186 ) : (debugInfo = describeElementDiff(
3187 serverComponentName,
3188 i,
3189 node.serverProps,
3190 indent
3191 ), indent++);
3192 var propName = "";
3193 i = node.fiber.child;
3194 for (serverComponentName = 0; i && serverComponentName < node.children.length; )
3195 maxLength = node.children[serverComponentName], maxLength.fiber === i ? (propName += describeNode(maxLength, indent), serverComponentName++) : propName += describeSiblingFiber(i, indent), i = i.sibling;
3196 i && 0 < node.children.length && (propName += indentation(indent) + "...\n");
3197 i = node.serverTail;
3198 null === node.serverProps && indent--;
3199 for (node = 0; node < i.length; node++)
3200 serverComponentName = i[node], propName = "string" === typeof serverComponentName ? propName + (removed(indent) + describeTextNode(serverComponentName, 120 - 2 * indent) + "\n") : propName + describeExpandedElement(
3201 serverComponentName.type,
3202 serverComponentName.props,
3203 removed(indent)
3204 );
3205 return skipToNode + debugInfo + propName;
3206 }
3207 function describeDiff(rootNode) {
3208 try {
3209 return "\n\n" + describeNode(rootNode, 0);
3210 } catch (x) {
3211 return "";
3212 }
3213 }
3214 function describeAncestors(ancestor, child, props) {
3215 for (var fiber = child, node = null, distanceFromLeaf = 0; fiber; )
3216 fiber === ancestor && (distanceFromLeaf = 0), node = {
3217 fiber,
3218 children: null !== node ? [node] : [],
3219 serverProps: fiber === child ? props : fiber === ancestor ? null : void 0,
3220 serverTail: [],
3221 distanceFromLeaf
3222 }, distanceFromLeaf++, fiber = fiber.return;
3223 return null !== node ? describeDiff(node).replaceAll(/^[+-]/gm, ">") : "";
3224 }
3225 function updatedAncestorInfoDev(oldInfo, tag) {
3226 var ancestorInfo = assign({}, oldInfo || emptyAncestorInfoDev), info = { tag };
3227 -1 !== inScopeTags.indexOf(tag) && (ancestorInfo.aTagInScope = null, ancestorInfo.buttonTagInScope = null, ancestorInfo.nobrTagInScope = null);
3228 -1 !== buttonScopeTags.indexOf(tag) && (ancestorInfo.pTagInButtonScope = null);
3229 -1 !== specialTags.indexOf(tag) && "address" !== tag && "div" !== tag && "p" !== tag && (ancestorInfo.listItemTagAutoclosing = null, ancestorInfo.dlItemTagAutoclosing = null);
3230 ancestorInfo.current = info;
3231 "form" === tag && (ancestorInfo.formTag = info);
3232 "a" === tag && (ancestorInfo.aTagInScope = info);
3233 "button" === tag && (ancestorInfo.buttonTagInScope = info);
3234 "nobr" === tag && (ancestorInfo.nobrTagInScope = info);
3235 "p" === tag && (ancestorInfo.pTagInButtonScope = info);
3236 "li" === tag && (ancestorInfo.listItemTagAutoclosing = info);
3237 if ("dd" === tag || "dt" === tag)
3238 ancestorInfo.dlItemTagAutoclosing = info;
3239 "#document" === tag || "html" === tag ? ancestorInfo.containerTagInScope = null : ancestorInfo.containerTagInScope || (ancestorInfo.containerTagInScope = info);
3240 null !== oldInfo || "#document" !== tag && "html" !== tag && "body" !== tag ? true === ancestorInfo.implicitRootScope && (ancestorInfo.implicitRootScope = false) : ancestorInfo.implicitRootScope = true;
3241 return ancestorInfo;
3242 }
3243 function isTagValidWithParent(tag, parentTag, implicitRootScope) {
3244 switch (parentTag) {
3245 case "select":
3246 return "hr" === tag || "option" === tag || "optgroup" === tag || "script" === tag || "template" === tag || "#text" === tag;
3247 case "optgroup":
3248 return "option" === tag || "#text" === tag;
3249 case "option":
3250 return "#text" === tag;
3251 case "tr":
3252 return "th" === tag || "td" === tag || "style" === tag || "script" === tag || "template" === tag;
3253 case "tbody":
3254 case "thead":
3255 case "tfoot":
3256 return "tr" === tag || "style" === tag || "script" === tag || "template" === tag;
3257 case "colgroup":
3258 return "col" === tag || "template" === tag;
3259 case "table":
3260 return "caption" === tag || "colgroup" === tag || "tbody" === tag || "tfoot" === tag || "thead" === tag || "style" === tag || "script" === tag || "template" === tag;
3261 case "head":
3262 return "base" === tag || "basefont" === tag || "bgsound" === tag || "link" === tag || "meta" === tag || "title" === tag || "noscript" === tag || "noframes" === tag || "style" === tag || "script" === tag || "template" === tag;
3263 case "html":
3264 if (implicitRootScope) break;
3265 return "head" === tag || "body" === tag || "frameset" === tag;
3266 case "frameset":
3267 return "frame" === tag;
3268 case "#document":
3269 if (!implicitRootScope) return "html" === tag;
3270 }
3271 switch (tag) {
3272 case "h1":
3273 case "h2":
3274 case "h3":
3275 case "h4":
3276 case "h5":
3277 case "h6":
3278 return "h1" !== parentTag && "h2" !== parentTag && "h3" !== parentTag && "h4" !== parentTag && "h5" !== parentTag && "h6" !== parentTag;
3279 case "rp":
3280 case "rt":
3281 return -1 === impliedEndTags.indexOf(parentTag);
3282 case "caption":
3283 case "col":
3284 case "colgroup":
3285 case "frameset":
3286 case "frame":
3287 case "tbody":
3288 case "td":
3289 case "tfoot":
3290 case "th":
3291 case "thead":
3292 case "tr":
3293 return null == parentTag;
3294 case "head":
3295 return implicitRootScope || null === parentTag;
3296 case "html":
3297 return implicitRootScope && "#document" === parentTag || null === parentTag;
3298 case "body":
3299 return implicitRootScope && ("#document" === parentTag || "html" === parentTag) || null === parentTag;
3300 }
3301 return true;
3302 }
3303 function findInvalidAncestorForTag(tag, ancestorInfo) {
3304 switch (tag) {
3305 case "address":
3306 case "article":
3307 case "aside":
3308 case "blockquote":
3309 case "center":
3310 case "details":
3311 case "dialog":
3312 case "dir":
3313 case "div":
3314 case "dl":
3315 case "fieldset":
3316 case "figcaption":
3317 case "figure":
3318 case "footer":
3319 case "header":
3320 case "hgroup":
3321 case "main":
3322 case "menu":
3323 case "nav":
3324 case "ol":
3325 case "p":
3326 case "section":
3327 case "summary":
3328 case "ul":
3329 case "pre":
3330 case "listing":
3331 case "table":
3332 case "hr":
3333 case "xmp":
3334 case "h1":
3335 case "h2":
3336 case "h3":
3337 case "h4":
3338 case "h5":
3339 case "h6":
3340 return ancestorInfo.pTagInButtonScope;
3341 case "form":
3342 return ancestorInfo.formTag || ancestorInfo.pTagInButtonScope;
3343 case "li":
3344 return ancestorInfo.listItemTagAutoclosing;
3345 case "dd":
3346 case "dt":
3347 return ancestorInfo.dlItemTagAutoclosing;
3348 case "button":
3349 return ancestorInfo.buttonTagInScope;
3350 case "a":
3351 return ancestorInfo.aTagInScope;
3352 case "nobr":
3353 return ancestorInfo.nobrTagInScope;
3354 }
3355 return null;
3356 }
3357 function findAncestor(parent, tagName) {
3358 for (; parent; ) {
3359 switch (parent.tag) {
3360 case 5:
3361 case 26:
3362 case 27:
3363 if (parent.type === tagName) return parent;
3364 }
3365 parent = parent.return;
3366 }
3367 return null;
3368 }
3369 function validateDOMNesting(childTag, ancestorInfo) {
3370 ancestorInfo = ancestorInfo || emptyAncestorInfoDev;
3371 var parentInfo = ancestorInfo.current;
3372 ancestorInfo = (parentInfo = isTagValidWithParent(
3373 childTag,
3374 parentInfo && parentInfo.tag,
3375 ancestorInfo.implicitRootScope
3376 ) ? null : parentInfo) ? null : findInvalidAncestorForTag(childTag, ancestorInfo);
3377 ancestorInfo = parentInfo || ancestorInfo;
3378 if (!ancestorInfo) return true;
3379 var ancestorTag = ancestorInfo.tag;
3380 ancestorInfo = String(!!parentInfo) + "|" + childTag + "|" + ancestorTag;
3381 if (didWarn[ancestorInfo]) return false;
3382 didWarn[ancestorInfo] = true;
3383 var ancestor = (ancestorInfo = current) ? findAncestor(ancestorInfo.return, ancestorTag) : null, ancestorDescription = null !== ancestorInfo && null !== ancestor ? describeAncestors(ancestor, ancestorInfo, null) : "", tagDisplayName = "<" + childTag + ">";
3384 parentInfo ? (parentInfo = "", "table" === ancestorTag && "tr" === childTag && (parentInfo += " Add a <tbody>, <thead> or <tfoot> to your code to match the DOM tree generated by the browser."), console.error(
3385 "In HTML, %s cannot be a child of <%s>.%s\nThis will cause a hydration error.%s",
3386 tagDisplayName,
3387 ancestorTag,
3388 parentInfo,
3389 ancestorDescription
3390 )) : console.error(
3391 "In HTML, %s cannot be a descendant of <%s>.\nThis will cause a hydration error.%s",
3392 tagDisplayName,
3393 ancestorTag,
3394 ancestorDescription
3395 );
3396 ancestorInfo && (childTag = ancestorInfo.return, null === ancestor || null === childTag || ancestor === childTag && childTag._debugOwner === ancestorInfo._debugOwner || runWithFiberInDEV(ancestor, function() {
3397 console.error(
3398 "<%s> cannot contain a nested %s.\nSee this log for the ancestor stack trace.",
3399 ancestorTag,
3400 tagDisplayName
3401 );
3402 }));
3403 return false;
3404 }
3405 function validateTextNesting(childText, parentTag, implicitRootScope) {
3406 if (implicitRootScope || isTagValidWithParent("#text", parentTag, false))
3407 return true;
3408 implicitRootScope = "#text|" + parentTag;
3409 if (didWarn[implicitRootScope]) return false;
3410 didWarn[implicitRootScope] = true;
3411 var ancestor = (implicitRootScope = current) ? findAncestor(implicitRootScope, parentTag) : null;
3412 implicitRootScope = null !== implicitRootScope && null !== ancestor ? describeAncestors(
3413 ancestor,
3414 implicitRootScope,
3415 6 !== implicitRootScope.tag ? { children: null } : null
3416 ) : "";
3417 /\S/.test(childText) ? console.error(
3418 "In HTML, text nodes cannot be a child of <%s>.\nThis will cause a hydration error.%s",
3419 parentTag,
3420 implicitRootScope
3421 ) : console.error(
3422 "In HTML, whitespace text nodes cannot be a child of <%s>. Make sure you don't have any extra whitespace between tags on each line of your source code.\nThis will cause a hydration error.%s",
3423 parentTag,
3424 implicitRootScope
3425 );
3426 return false;
3427 }
3428 function setTextContent(node, text) {
3429 if (text) {
3430 var firstChild = node.firstChild;
3431 if (firstChild && firstChild === node.lastChild && 3 === firstChild.nodeType) {
3432 firstChild.nodeValue = text;
3433 return;
3434 }
3435 }
3436 node.textContent = text;
3437 }
3438 function camelize(string) {
3439 return string.replace(hyphenPattern, function(_, character) {
3440 return character.toUpperCase();
3441 });
3442 }
3443 function setValueForStyle(style2, styleName, value) {
3444 var isCustomProperty = 0 === styleName.indexOf("--");
3445 isCustomProperty || (-1 < styleName.indexOf("-") ? warnedStyleNames.hasOwnProperty(styleName) && warnedStyleNames[styleName] || (warnedStyleNames[styleName] = true, console.error(
3446 "Unsupported style property %s. Did you mean %s?",
3447 styleName,
3448 camelize(styleName.replace(msPattern, "ms-"))
3449 )) : badVendoredStyleNamePattern.test(styleName) ? warnedStyleNames.hasOwnProperty(styleName) && warnedStyleNames[styleName] || (warnedStyleNames[styleName] = true, console.error(
3450 "Unsupported vendor-prefixed style property %s. Did you mean %s?",
3451 styleName,
3452 styleName.charAt(0).toUpperCase() + styleName.slice(1)
3453 )) : !badStyleValueWithSemicolonPattern.test(value) || warnedStyleValues.hasOwnProperty(value) && warnedStyleValues[value] || (warnedStyleValues[value] = true, console.error(
3454 `Style property values shouldn't contain a semicolon. Try "%s: %s" instead.`,
3455 styleName,
3456 value.replace(badStyleValueWithSemicolonPattern, "")
3457 )), "number" === typeof value && (isNaN(value) ? warnedForNaNValue || (warnedForNaNValue = true, console.error(
3458 "`NaN` is an invalid value for the `%s` css style property.",
3459 styleName
3460 )) : isFinite(value) || warnedForInfinityValue || (warnedForInfinityValue = true, console.error(
3461 "`Infinity` is an invalid value for the `%s` css style property.",
3462 styleName
3463 ))));
3464 null == value || "boolean" === typeof value || "" === value ? isCustomProperty ? style2.setProperty(styleName, "") : "float" === styleName ? style2.cssFloat = "" : style2[styleName] = "" : isCustomProperty ? style2.setProperty(styleName, value) : "number" !== typeof value || 0 === value || unitlessNumbers.has(styleName) ? "float" === styleName ? style2.cssFloat = value : (checkCSSPropertyStringCoercion(value, styleName), style2[styleName] = ("" + value).trim()) : style2[styleName] = value + "px";
3465 }
3466 function setValueForStyles(node, styles, prevStyles) {
3467 if (null != styles && "object" !== typeof styles)
3468 throw Error(
3469 "The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX."
3470 );
3471 styles && Object.freeze(styles);
3472 node = node.style;
3473 if (null != prevStyles) {
3474 if (styles) {
3475 var expandedUpdates = {};
3476 if (prevStyles) {
3477 for (var key in prevStyles)
3478 if (prevStyles.hasOwnProperty(key) && !styles.hasOwnProperty(key))
3479 for (var longhands = shorthandToLonghand[key] || [key], i = 0; i < longhands.length; i++)
3480 expandedUpdates[longhands[i]] = key;
3481 }
3482 for (var _key in styles)
3483 if (styles.hasOwnProperty(_key) && (!prevStyles || prevStyles[_key] !== styles[_key]))
3484 for (key = shorthandToLonghand[_key] || [_key], longhands = 0; longhands < key.length; longhands++)
3485 expandedUpdates[key[longhands]] = _key;
3486 _key = {};
3487 for (var key$jscomp$0 in styles)
3488 for (key = shorthandToLonghand[key$jscomp$0] || [key$jscomp$0], longhands = 0; longhands < key.length; longhands++)
3489 _key[key[longhands]] = key$jscomp$0;
3490 key$jscomp$0 = {};
3491 for (var _key2 in expandedUpdates)
3492 if (key = expandedUpdates[_key2], (longhands = _key[_key2]) && key !== longhands && (i = key + "," + longhands, !key$jscomp$0[i])) {
3493 key$jscomp$0[i] = true;
3494 i = console;
3495 var value = styles[key];
3496 i.error.call(
3497 i,
3498 "%s a style property during rerender (%s) when a conflicting property is set (%s) can lead to styling bugs. To avoid this, don't mix shorthand and non-shorthand properties for the same value; instead, replace the shorthand with separate values.",
3499 null == value || "boolean" === typeof value || "" === value ? "Removing" : "Updating",
3500 key,
3501 longhands
3502 );
3503 }
3504 }
3505 for (var styleName in prevStyles)
3506 !prevStyles.hasOwnProperty(styleName) || null != styles && styles.hasOwnProperty(styleName) || (0 === styleName.indexOf("--") ? node.setProperty(styleName, "") : "float" === styleName ? node.cssFloat = "" : node[styleName] = "");
3507 for (var _styleName in styles)
3508 _key2 = styles[_styleName], styles.hasOwnProperty(_styleName) && prevStyles[_styleName] !== _key2 && setValueForStyle(node, _styleName, _key2);
3509 } else
3510 for (expandedUpdates in styles)
3511 styles.hasOwnProperty(expandedUpdates) && setValueForStyle(node, expandedUpdates, styles[expandedUpdates]);
3512 }
3513 function isCustomElement(tagName) {
3514 if (-1 === tagName.indexOf("-")) return false;
3515 switch (tagName) {
3516 case "annotation-xml":
3517 case "color-profile":
3518 case "font-face":
3519 case "font-face-src":
3520 case "font-face-uri":
3521 case "font-face-format":
3522 case "font-face-name":
3523 case "missing-glyph":
3524 return false;
3525 default:
3526 return true;
3527 }
3528 }
3529 function getAttributeAlias(name) {
3530 return aliases.get(name) || name;
3531 }
3532 function validateProperty$1(tagName, name) {
3533 if (hasOwnProperty.call(warnedProperties$1, name) && warnedProperties$1[name])
3534 return true;
3535 if (rARIACamel$1.test(name)) {
3536 tagName = "aria-" + name.slice(4).toLowerCase();
3537 tagName = ariaProperties.hasOwnProperty(tagName) ? tagName : null;
3538 if (null == tagName)
3539 return console.error(
3540 "Invalid ARIA attribute `%s`. ARIA attributes follow the pattern aria-* and must be lowercase.",
3541 name
3542 ), warnedProperties$1[name] = true;
3543 if (name !== tagName)
3544 return console.error(
3545 "Invalid ARIA attribute `%s`. Did you mean `%s`?",
3546 name,
3547 tagName
3548 ), warnedProperties$1[name] = true;
3549 }
3550 if (rARIA$1.test(name)) {
3551 tagName = name.toLowerCase();
3552 tagName = ariaProperties.hasOwnProperty(tagName) ? tagName : null;
3553 if (null == tagName) return warnedProperties$1[name] = true, false;
3554 name !== tagName && (console.error(
3555 "Unknown ARIA attribute `%s`. Did you mean `%s`?",
3556 name,
3557 tagName
3558 ), warnedProperties$1[name] = true);
3559 }
3560 return true;
3561 }
3562 function validateProperties$2(type, props) {
3563 var invalidProps = [], key;
3564 for (key in props)
3565 validateProperty$1(type, key) || invalidProps.push(key);
3566 props = invalidProps.map(function(prop) {
3567 return "`" + prop + "`";
3568 }).join(", ");
3569 1 === invalidProps.length ? console.error(
3570 "Invalid aria prop %s on <%s> tag. For details, see https://react.dev/link/invalid-aria-props",
3571 props,
3572 type
3573 ) : 1 < invalidProps.length && console.error(
3574 "Invalid aria props %s on <%s> tag. For details, see https://react.dev/link/invalid-aria-props",
3575 props,
3576 type
3577 );
3578 }
3579 function validateProperty(tagName, name, value, eventRegistry) {
3580 if (hasOwnProperty.call(warnedProperties, name) && warnedProperties[name])
3581 return true;
3582 var lowerCasedName = name.toLowerCase();
3583 if ("onfocusin" === lowerCasedName || "onfocusout" === lowerCasedName)
3584 return console.error(
3585 "React uses onFocus and onBlur instead of onFocusIn and onFocusOut. All React events are normalized to bubble, so onFocusIn and onFocusOut are not needed/supported by React."
3586 ), warnedProperties[name] = true;
3587 if ("function" === typeof value && ("form" === tagName && "action" === name || "input" === tagName && "formAction" === name || "button" === tagName && "formAction" === name))
3588 return true;
3589 if (null != eventRegistry) {
3590 tagName = eventRegistry.possibleRegistrationNames;
3591 if (eventRegistry.registrationNameDependencies.hasOwnProperty(name))
3592 return true;
3593 eventRegistry = tagName.hasOwnProperty(lowerCasedName) ? tagName[lowerCasedName] : null;
3594 if (null != eventRegistry)
3595 return console.error(
3596 "Invalid event handler property `%s`. Did you mean `%s`?",
3597 name,
3598 eventRegistry
3599 ), warnedProperties[name] = true;
3600 if (EVENT_NAME_REGEX.test(name))
3601 return console.error(
3602 "Unknown event handler property `%s`. It will be ignored.",
3603 name
3604 ), warnedProperties[name] = true;
3605 } else if (EVENT_NAME_REGEX.test(name))
3606 return INVALID_EVENT_NAME_REGEX.test(name) && console.error(
3607 "Invalid event handler property `%s`. React events use the camelCase naming convention, for example `onClick`.",
3608 name
3609 ), warnedProperties[name] = true;
3610 if (rARIA.test(name) || rARIACamel.test(name)) return true;
3611 if ("innerhtml" === lowerCasedName)
3612 return console.error(
3613 "Directly setting property `innerHTML` is not permitted. For more information, lookup documentation on `dangerouslySetInnerHTML`."
3614 ), warnedProperties[name] = true;
3615 if ("aria" === lowerCasedName)
3616 return console.error(
3617 "The `aria` attribute is reserved for future use in React. Pass individual `aria-` attributes instead."
3618 ), warnedProperties[name] = true;
3619 if ("is" === lowerCasedName && null !== value && void 0 !== value && "string" !== typeof value)
3620 return console.error(
3621 "Received a `%s` for a string attribute `is`. If this is expected, cast the value to a string.",
3622 typeof value
3623 ), warnedProperties[name] = true;
3624 if ("number" === typeof value && isNaN(value))
3625 return console.error(
3626 "Received NaN for the `%s` attribute. If this is expected, cast the value to a string.",
3627 name
3628 ), warnedProperties[name] = true;
3629 if (possibleStandardNames.hasOwnProperty(lowerCasedName)) {
3630 if (lowerCasedName = possibleStandardNames[lowerCasedName], lowerCasedName !== name)
3631 return console.error(
3632 "Invalid DOM property `%s`. Did you mean `%s`?",
3633 name,
3634 lowerCasedName
3635 ), warnedProperties[name] = true;
3636 } else if (name !== lowerCasedName)
3637 return console.error(
3638 "React does not recognize the `%s` prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercase `%s` instead. If you accidentally passed it from a parent component, remove it from the DOM element.",
3639 name,
3640 lowerCasedName
3641 ), warnedProperties[name] = true;
3642 switch (name) {
3643 case "dangerouslySetInnerHTML":
3644 case "children":
3645 case "style":
3646 case "suppressContentEditableWarning":
3647 case "suppressHydrationWarning":
3648 case "defaultValue":
3649 case "defaultChecked":
3650 case "innerHTML":
3651 case "ref":
3652 return true;
3653 case "innerText":
3654 case "textContent":
3655 return true;
3656 }
3657 switch (typeof value) {
3658 case "boolean":
3659 switch (name) {
3660 case "autoFocus":
3661 case "checked":
3662 case "multiple":
3663 case "muted":
3664 case "selected":
3665 case "contentEditable":
3666 case "spellCheck":
3667 case "draggable":
3668 case "value":
3669 case "autoReverse":
3670 case "externalResourcesRequired":
3671 case "focusable":
3672 case "preserveAlpha":
3673 case "allowFullScreen":
3674 case "async":
3675 case "autoPlay":
3676 case "controls":
3677 case "default":
3678 case "defer":
3679 case "disabled":
3680 case "disablePictureInPicture":
3681 case "disableRemotePlayback":
3682 case "formNoValidate":
3683 case "hidden":
3684 case "loop":
3685 case "noModule":
3686 case "noValidate":
3687 case "open":
3688 case "playsInline":
3689 case "readOnly":
3690 case "required":
3691 case "reversed":
3692 case "scoped":
3693 case "seamless":
3694 case "itemScope":
3695 case "capture":
3696 case "download":
3697 case "inert":
3698 return true;
3699 default:
3700 lowerCasedName = name.toLowerCase().slice(0, 5);
3701 if ("data-" === lowerCasedName || "aria-" === lowerCasedName)
3702 return true;
3703 value ? console.error(
3704 'Received `%s` for a non-boolean attribute `%s`.\n\nIf you want to write it to the DOM, pass a string instead: %s="%s" or %s={value.toString()}.',
3705 value,
3706 name,
3707 name,
3708 value,
3709 name
3710 ) : console.error(
3711 'Received `%s` for a non-boolean attribute `%s`.\n\nIf you want to write it to the DOM, pass a string instead: %s="%s" or %s={value.toString()}.\n\nIf you used to conditionally omit it with %s={condition && value}, pass %s={condition ? value : undefined} instead.',
3712 value,
3713 name,
3714 name,
3715 value,
3716 name,
3717 name,
3718 name
3719 );
3720 return warnedProperties[name] = true;
3721 }
3722 case "function":
3723 case "symbol":
3724 return warnedProperties[name] = true, false;
3725 case "string":
3726 if ("false" === value || "true" === value) {
3727 switch (name) {
3728 case "checked":
3729 case "selected":
3730 case "multiple":
3731 case "muted":
3732 case "allowFullScreen":
3733 case "async":
3734 case "autoPlay":
3735 case "controls":
3736 case "default":
3737 case "defer":
3738 case "disabled":
3739 case "disablePictureInPicture":
3740 case "disableRemotePlayback":
3741 case "formNoValidate":
3742 case "hidden":
3743 case "loop":
3744 case "noModule":
3745 case "noValidate":
3746 case "open":
3747 case "playsInline":
3748 case "readOnly":
3749 case "required":
3750 case "reversed":
3751 case "scoped":
3752 case "seamless":
3753 case "itemScope":
3754 case "inert":
3755 break;
3756 default:
3757 return true;
3758 }
3759 console.error(
3760 "Received the string `%s` for the boolean attribute `%s`. %s Did you mean %s={%s}?",
3761 value,
3762 name,
3763 "false" === value ? "The browser will interpret it as a truthy value." : 'Although this works, it will not work as expected if you pass the string "false".',
3764 name,
3765 value
3766 );
3767 warnedProperties[name] = true;
3768 }
3769 }
3770 return true;
3771 }
3772 function warnUnknownProperties(type, props, eventRegistry) {
3773 var unknownProps = [], key;
3774 for (key in props)
3775 validateProperty(type, key, props[key], eventRegistry) || unknownProps.push(key);
3776 props = unknownProps.map(function(prop) {
3777 return "`" + prop + "`";
3778 }).join(", ");
3779 1 === unknownProps.length ? console.error(
3780 "Invalid value for prop %s on <%s> tag. Either remove it from the element, or pass a string or number value to keep it in the DOM. For details, see https://react.dev/link/attribute-behavior ",
3781 props,
3782 type
3783 ) : 1 < unknownProps.length && console.error(
3784 "Invalid values for props %s on <%s> tag. Either remove them from the element, or pass a string or number value to keep them in the DOM. For details, see https://react.dev/link/attribute-behavior ",
3785 props,
3786 type
3787 );
3788 }
3789 function sanitizeURL(url) {
3790 return isJavaScriptProtocol.test("" + url) ? "javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')" : url;
3791 }
3792 function getEventTarget(nativeEvent) {
3793 nativeEvent = nativeEvent.target || nativeEvent.srcElement || window;
3794 nativeEvent.correspondingUseElement && (nativeEvent = nativeEvent.correspondingUseElement);
3795 return 3 === nativeEvent.nodeType ? nativeEvent.parentNode : nativeEvent;
3796 }
3797 function restoreStateOfTarget(target) {
3798 var internalInstance = getInstanceFromNode(target);
3799 if (internalInstance && (target = internalInstance.stateNode)) {
3800 var props = target[internalPropsKey] || null;
3801 a: switch (target = internalInstance.stateNode, internalInstance.type) {
3802 case "input":
3803 updateInput(
3804 target,
3805 props.value,
3806 props.defaultValue,
3807 props.defaultValue,
3808 props.checked,
3809 props.defaultChecked,
3810 props.type,
3811 props.name
3812 );
3813 internalInstance = props.name;
3814 if ("radio" === props.type && null != internalInstance) {
3815 for (props = target; props.parentNode; ) props = props.parentNode;
3816 checkAttributeStringCoercion(internalInstance, "name");
3817 props = props.querySelectorAll(
3818 'input[name="' + escapeSelectorAttributeValueInsideDoubleQuotes(
3819 "" + internalInstance
3820 ) + '"][type="radio"]'
3821 );
3822 for (internalInstance = 0; internalInstance < props.length; internalInstance++) {
3823 var otherNode = props[internalInstance];
3824 if (otherNode !== target && otherNode.form === target.form) {
3825 var otherProps = otherNode[internalPropsKey] || null;
3826 if (!otherProps)
3827 throw Error(
3828 "ReactDOMInput: Mixing React and non-React radio inputs with the same `name` is not supported."
3829 );
3830 updateInput(
3831 otherNode,
3832 otherProps.value,
3833 otherProps.defaultValue,
3834 otherProps.defaultValue,
3835 otherProps.checked,
3836 otherProps.defaultChecked,
3837 otherProps.type,
3838 otherProps.name
3839 );
3840 }
3841 }
3842 for (internalInstance = 0; internalInstance < props.length; internalInstance++)
3843 otherNode = props[internalInstance], otherNode.form === target.form && updateValueIfChanged(otherNode);
3844 }
3845 break a;
3846 case "textarea":
3847 updateTextarea(target, props.value, props.defaultValue);
3848 break a;
3849 case "select":
3850 internalInstance = props.value, null != internalInstance && updateOptions(target, !!props.multiple, internalInstance, false);
3851 }
3852 }
3853 }
3854 function batchedUpdates$1(fn, a, b) {
3855 if (isInsideEventHandler) return fn(a, b);
3856 isInsideEventHandler = true;
3857 try {
3858 var JSCompiler_inline_result = fn(a);
3859 return JSCompiler_inline_result;
3860 } finally {
3861 if (isInsideEventHandler = false, null !== restoreTarget || null !== restoreQueue) {
3862 if (flushSyncWork$1(), restoreTarget && (a = restoreTarget, fn = restoreQueue, restoreQueue = restoreTarget = null, restoreStateOfTarget(a), fn))
3863 for (a = 0; a < fn.length; a++) restoreStateOfTarget(fn[a]);
3864 }
3865 }
3866 }
3867 function getListener(inst, registrationName) {
3868 var stateNode = inst.stateNode;
3869 if (null === stateNode) return null;
3870 var props = stateNode[internalPropsKey] || null;
3871 if (null === props) return null;
3872 stateNode = props[registrationName];
3873 a: switch (registrationName) {
3874 case "onClick":
3875 case "onClickCapture":
3876 case "onDoubleClick":
3877 case "onDoubleClickCapture":
3878 case "onMouseDown":
3879 case "onMouseDownCapture":
3880 case "onMouseMove":
3881 case "onMouseMoveCapture":
3882 case "onMouseUp":
3883 case "onMouseUpCapture":
3884 case "onMouseEnter":
3885 (props = !props.disabled) || (inst = inst.type, props = !("button" === inst || "input" === inst || "select" === inst || "textarea" === inst));
3886 inst = !props;
3887 break a;
3888 default:
3889 inst = false;
3890 }
3891 if (inst) return null;
3892 if (stateNode && "function" !== typeof stateNode)
3893 throw Error(
3894 "Expected `" + registrationName + "` listener to be a function, instead got a value of `" + typeof stateNode + "` type."
3895 );
3896 return stateNode;
3897 }
3898 function getData() {
3899 if (fallbackText) return fallbackText;
3900 var start, startValue = startText, startLength = startValue.length, end, endValue = "value" in root ? root.value : root.textContent, endLength = endValue.length;
3901 for (start = 0; start < startLength && startValue[start] === endValue[start]; start++) ;
3902 var minEnd = startLength - start;
3903 for (end = 1; end <= minEnd && startValue[startLength - end] === endValue[endLength - end]; end++) ;
3904 return fallbackText = endValue.slice(start, 1 < end ? 1 - end : void 0);
3905 }
3906 function getEventCharCode(nativeEvent) {
3907 var keyCode = nativeEvent.keyCode;
3908 "charCode" in nativeEvent ? (nativeEvent = nativeEvent.charCode, 0 === nativeEvent && 13 === keyCode && (nativeEvent = 13)) : nativeEvent = keyCode;
3909 10 === nativeEvent && (nativeEvent = 13);
3910 return 32 <= nativeEvent || 13 === nativeEvent ? nativeEvent : 0;
3911 }
3912 function functionThatReturnsTrue() {
3913 return true;
3914 }
3915 function functionThatReturnsFalse() {
3916 return false;
3917 }
3918 function createSyntheticEvent(Interface) {
3919 function SyntheticBaseEvent(reactName, reactEventType, targetInst, nativeEvent, nativeEventTarget) {
3920 this._reactName = reactName;
3921 this._targetInst = targetInst;
3922 this.type = reactEventType;
3923 this.nativeEvent = nativeEvent;
3924 this.target = nativeEventTarget;
3925 this.currentTarget = null;
3926 for (var propName in Interface)
3927 Interface.hasOwnProperty(propName) && (reactName = Interface[propName], this[propName] = reactName ? reactName(nativeEvent) : nativeEvent[propName]);
3928 this.isDefaultPrevented = (null != nativeEvent.defaultPrevented ? nativeEvent.defaultPrevented : false === nativeEvent.returnValue) ? functionThatReturnsTrue : functionThatReturnsFalse;
3929 this.isPropagationStopped = functionThatReturnsFalse;
3930 return this;
3931 }
3932 assign(SyntheticBaseEvent.prototype, {
3933 preventDefault: function() {
3934 this.defaultPrevented = true;
3935 var event = this.nativeEvent;
3936 event && (event.preventDefault ? event.preventDefault() : "unknown" !== typeof event.returnValue && (event.returnValue = false), this.isDefaultPrevented = functionThatReturnsTrue);
3937 },
3938 stopPropagation: function() {
3939 var event = this.nativeEvent;
3940 event && (event.stopPropagation ? event.stopPropagation() : "unknown" !== typeof event.cancelBubble && (event.cancelBubble = true), this.isPropagationStopped = functionThatReturnsTrue);
3941 },
3942 persist: function() {
3943 },
3944 isPersistent: functionThatReturnsTrue
3945 });
3946 return SyntheticBaseEvent;
3947 }
3948 function modifierStateGetter(keyArg) {
3949 var nativeEvent = this.nativeEvent;
3950 return nativeEvent.getModifierState ? nativeEvent.getModifierState(keyArg) : (keyArg = modifierKeyToProp[keyArg]) ? !!nativeEvent[keyArg] : false;
3951 }
3952 function getEventModifierState() {
3953 return modifierStateGetter;
3954 }
3955 function isFallbackCompositionEnd(domEventName, nativeEvent) {
3956 switch (domEventName) {
3957 case "keyup":
3958 return -1 !== END_KEYCODES.indexOf(nativeEvent.keyCode);
3959 case "keydown":
3960 return nativeEvent.keyCode !== START_KEYCODE;
3961 case "keypress":
3962 case "mousedown":
3963 case "focusout":
3964 return true;
3965 default:
3966 return false;
3967 }
3968 }
3969 function getDataFromCustomEvent(nativeEvent) {
3970 nativeEvent = nativeEvent.detail;
3971 return "object" === typeof nativeEvent && "data" in nativeEvent ? nativeEvent.data : null;
3972 }
3973 function getNativeBeforeInputChars(domEventName, nativeEvent) {
3974 switch (domEventName) {
3975 case "compositionend":
3976 return getDataFromCustomEvent(nativeEvent);
3977 case "keypress":
3978 if (nativeEvent.which !== SPACEBAR_CODE) return null;
3979 hasSpaceKeypress = true;
3980 return SPACEBAR_CHAR;
3981 case "textInput":
3982 return domEventName = nativeEvent.data, domEventName === SPACEBAR_CHAR && hasSpaceKeypress ? null : domEventName;
3983 default:
3984 return null;
3985 }
3986 }
3987 function getFallbackBeforeInputChars(domEventName, nativeEvent) {
3988 if (isComposing)
3989 return "compositionend" === domEventName || !canUseCompositionEvent && isFallbackCompositionEnd(domEventName, nativeEvent) ? (domEventName = getData(), fallbackText = startText = root = null, isComposing = false, domEventName) : null;
3990 switch (domEventName) {
3991 case "paste":
3992 return null;
3993 case "keypress":
3994 if (!(nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) || nativeEvent.ctrlKey && nativeEvent.altKey) {
3995 if (nativeEvent.char && 1 < nativeEvent.char.length)
3996 return nativeEvent.char;
3997 if (nativeEvent.which)
3998 return String.fromCharCode(nativeEvent.which);
3999 }
4000 return null;
4001 case "compositionend":
4002 return useFallbackCompositionData && "ko" !== nativeEvent.locale ? null : nativeEvent.data;
4003 default:
4004 return null;
4005 }
4006 }
4007 function isTextInputElement(elem) {
4008 var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();
4009 return "input" === nodeName ? !!supportedInputTypes[elem.type] : "textarea" === nodeName ? true : false;
4010 }
4011 function isEventSupported(eventNameSuffix) {
4012 if (!canUseDOM) return false;
4013 eventNameSuffix = "on" + eventNameSuffix;
4014 var isSupported = eventNameSuffix in document;
4015 isSupported || (isSupported = document.createElement("div"), isSupported.setAttribute(eventNameSuffix, "return;"), isSupported = "function" === typeof isSupported[eventNameSuffix]);
4016 return isSupported;
4017 }
4018 function createAndAccumulateChangeEvent(dispatchQueue, inst, nativeEvent, target) {
4019 restoreTarget ? restoreQueue ? restoreQueue.push(target) : restoreQueue = [target] : restoreTarget = target;
4020 inst = accumulateTwoPhaseListeners(inst, "onChange");
4021 0 < inst.length && (nativeEvent = new SyntheticEvent(
4022 "onChange",
4023 "change",
4024 null,
4025 nativeEvent,
4026 target
4027 ), dispatchQueue.push({ event: nativeEvent, listeners: inst }));
4028 }
4029 function runEventInBatch(dispatchQueue) {
4030 processDispatchQueue(dispatchQueue, 0);
4031 }
4032 function getInstIfValueChanged(targetInst) {
4033 var targetNode = getNodeFromInstance(targetInst);
4034 if (updateValueIfChanged(targetNode)) return targetInst;
4035 }
4036 function getTargetInstForChangeEvent(domEventName, targetInst) {
4037 if ("change" === domEventName) return targetInst;
4038 }
4039 function stopWatchingForValueChange() {
4040 activeElement$1 && (activeElement$1.detachEvent("onpropertychange", handlePropertyChange), activeElementInst$1 = activeElement$1 = null);
4041 }
4042 function handlePropertyChange(nativeEvent) {
4043 if ("value" === nativeEvent.propertyName && getInstIfValueChanged(activeElementInst$1)) {
4044 var dispatchQueue = [];
4045 createAndAccumulateChangeEvent(
4046 dispatchQueue,
4047 activeElementInst$1,
4048 nativeEvent,
4049 getEventTarget(nativeEvent)
4050 );
4051 batchedUpdates$1(runEventInBatch, dispatchQueue);
4052 }
4053 }
4054 function handleEventsForInputEventPolyfill(domEventName, target, targetInst) {
4055 "focusin" === domEventName ? (stopWatchingForValueChange(), activeElement$1 = target, activeElementInst$1 = targetInst, activeElement$1.attachEvent("onpropertychange", handlePropertyChange)) : "focusout" === domEventName && stopWatchingForValueChange();
4056 }
4057 function getTargetInstForInputEventPolyfill(domEventName) {
4058 if ("selectionchange" === domEventName || "keyup" === domEventName || "keydown" === domEventName)
4059 return getInstIfValueChanged(activeElementInst$1);
4060 }
4061 function getTargetInstForClickEvent(domEventName, targetInst) {
4062 if ("click" === domEventName) return getInstIfValueChanged(targetInst);
4063 }
4064 function getTargetInstForInputOrChangeEvent(domEventName, targetInst) {
4065 if ("input" === domEventName || "change" === domEventName)
4066 return getInstIfValueChanged(targetInst);
4067 }
4068 function is(x, y) {
4069 return x === y && (0 !== x || 1 / x === 1 / y) || x !== x && y !== y;
4070 }
4071 function shallowEqual(objA, objB) {
4072 if (objectIs(objA, objB)) return true;
4073 if ("object" !== typeof objA || null === objA || "object" !== typeof objB || null === objB)
4074 return false;
4075 var keysA = Object.keys(objA), keysB = Object.keys(objB);
4076 if (keysA.length !== keysB.length) return false;
4077 for (keysB = 0; keysB < keysA.length; keysB++) {
4078 var currentKey = keysA[keysB];
4079 if (!hasOwnProperty.call(objB, currentKey) || !objectIs(objA[currentKey], objB[currentKey]))
4080 return false;
4081 }
4082 return true;
4083 }
4084 function getLeafNode(node) {
4085 for (; node && node.firstChild; ) node = node.firstChild;
4086 return node;
4087 }
4088 function getNodeForCharacterOffset(root2, offset) {
4089 var node = getLeafNode(root2);
4090 root2 = 0;
4091 for (var nodeEnd; node; ) {
4092 if (3 === node.nodeType) {
4093 nodeEnd = root2 + node.textContent.length;
4094 if (root2 <= offset && nodeEnd >= offset)
4095 return { node, offset: offset - root2 };
4096 root2 = nodeEnd;
4097 }
4098 a: {
4099 for (; node; ) {
4100 if (node.nextSibling) {
4101 node = node.nextSibling;
4102 break a;
4103 }
4104 node = node.parentNode;
4105 }
4106 node = void 0;
4107 }
4108 node = getLeafNode(node);
4109 }
4110 }
4111 function containsNode(outerNode, innerNode) {
4112 return outerNode && innerNode ? outerNode === innerNode ? true : outerNode && 3 === outerNode.nodeType ? false : innerNode && 3 === innerNode.nodeType ? containsNode(outerNode, innerNode.parentNode) : "contains" in outerNode ? outerNode.contains(innerNode) : outerNode.compareDocumentPosition ? !!(outerNode.compareDocumentPosition(innerNode) & 16) : false : false;
4113 }
4114 function getActiveElementDeep(containerInfo) {
4115 containerInfo = null != containerInfo && null != containerInfo.ownerDocument && null != containerInfo.ownerDocument.defaultView ? containerInfo.ownerDocument.defaultView : window;
4116 for (var element = getActiveElement(containerInfo.document); element instanceof containerInfo.HTMLIFrameElement; ) {
4117 try {
4118 var JSCompiler_inline_result = "string" === typeof element.contentWindow.location.href;
4119 } catch (err) {
4120 JSCompiler_inline_result = false;
4121 }
4122 if (JSCompiler_inline_result) containerInfo = element.contentWindow;
4123 else break;
4124 element = getActiveElement(containerInfo.document);
4125 }
4126 return element;
4127 }
4128 function hasSelectionCapabilities(elem) {
4129 var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();
4130 return nodeName && ("input" === nodeName && ("text" === elem.type || "search" === elem.type || "tel" === elem.type || "url" === elem.type || "password" === elem.type) || "textarea" === nodeName || "true" === elem.contentEditable);
4131 }
4132 function constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget) {
4133 var doc = nativeEventTarget.window === nativeEventTarget ? nativeEventTarget.document : 9 === nativeEventTarget.nodeType ? nativeEventTarget : nativeEventTarget.ownerDocument;
4134 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 = {
4135 anchorNode: doc.anchorNode,
4136 anchorOffset: doc.anchorOffset,
4137 focusNode: doc.focusNode,
4138 focusOffset: doc.focusOffset
4139 }), lastSelection && shallowEqual(lastSelection, doc) || (lastSelection = doc, doc = accumulateTwoPhaseListeners(activeElementInst, "onSelect"), 0 < doc.length && (nativeEvent = new SyntheticEvent(
4140 "onSelect",
4141 "select",
4142 null,
4143 nativeEvent,
4144 nativeEventTarget
4145 ), dispatchQueue.push({ event: nativeEvent, listeners: doc }), nativeEvent.target = activeElement)));
4146 }
4147 function makePrefixMap(styleProp, eventName) {
4148 var prefixes = {};
4149 prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();
4150 prefixes["Webkit" + styleProp] = "webkit" + eventName;
4151 prefixes["Moz" + styleProp] = "moz" + eventName;
4152 return prefixes;
4153 }
4154 function getVendorPrefixedEventName(eventName) {
4155 if (prefixedEventNames[eventName]) return prefixedEventNames[eventName];
4156 if (!vendorPrefixes[eventName]) return eventName;
4157 var prefixMap = vendorPrefixes[eventName], styleProp;
4158 for (styleProp in prefixMap)
4159 if (prefixMap.hasOwnProperty(styleProp) && styleProp in style)
4160 return prefixedEventNames[eventName] = prefixMap[styleProp];
4161 return eventName;
4162 }
4163 function registerSimpleEvent(domEventName, reactName) {
4164 topLevelEventsToReactNames.set(domEventName, reactName);
4165 registerTwoPhaseEvent(reactName, [domEventName]);
4166 }
4167 function createCapturedValueAtFiber(value, source) {
4168 if ("object" === typeof value && null !== value) {
4169 var existing = CapturedStacks.get(value);
4170 if (void 0 !== existing) return existing;
4171 source = {
4172 value,
4173 source,
4174 stack: getStackByFiberInDevAndProd(source)
4175 };
4176 CapturedStacks.set(value, source);
4177 return source;
4178 }
4179 return {
4180 value,
4181 source,
4182 stack: getStackByFiberInDevAndProd(source)
4183 };
4184 }
4185 function finishQueueingConcurrentUpdates() {
4186 for (var endIndex = concurrentQueuesIndex, i = concurrentlyUpdatedLanes = concurrentQueuesIndex = 0; i < endIndex; ) {
4187 var fiber = concurrentQueues[i];
4188 concurrentQueues[i++] = null;
4189 var queue = concurrentQueues[i];
4190 concurrentQueues[i++] = null;
4191 var update = concurrentQueues[i];
4192 concurrentQueues[i++] = null;
4193 var lane = concurrentQueues[i];
4194 concurrentQueues[i++] = null;
4195 if (null !== queue && null !== update) {
4196 var pending = queue.pending;
4197 null === pending ? update.next = update : (update.next = pending.next, pending.next = update);
4198 queue.pending = update;
4199 }
4200 0 !== lane && markUpdateLaneFromFiberToRoot(fiber, update, lane);
4201 }
4202 }
4203 function enqueueUpdate$1(fiber, queue, update, lane) {
4204 concurrentQueues[concurrentQueuesIndex++] = fiber;
4205 concurrentQueues[concurrentQueuesIndex++] = queue;
4206 concurrentQueues[concurrentQueuesIndex++] = update;
4207 concurrentQueues[concurrentQueuesIndex++] = lane;
4208 concurrentlyUpdatedLanes |= lane;
4209 fiber.lanes |= lane;
4210 fiber = fiber.alternate;
4211 null !== fiber && (fiber.lanes |= lane);
4212 }
4213 function enqueueConcurrentHookUpdate(fiber, queue, update, lane) {
4214 enqueueUpdate$1(fiber, queue, update, lane);
4215 return getRootForUpdatedFiber(fiber);
4216 }
4217 function enqueueConcurrentRenderForLane(fiber, lane) {
4218 enqueueUpdate$1(fiber, null, null, lane);
4219 return getRootForUpdatedFiber(fiber);
4220 }
4221 function markUpdateLaneFromFiberToRoot(sourceFiber, update, lane) {
4222 sourceFiber.lanes |= lane;
4223 var alternate = sourceFiber.alternate;
4224 null !== alternate && (alternate.lanes |= lane);
4225 for (var isHidden = false, parent = sourceFiber.return; null !== parent; )
4226 parent.childLanes |= lane, alternate = parent.alternate, null !== alternate && (alternate.childLanes |= lane), 22 === parent.tag && (sourceFiber = parent.stateNode, null === sourceFiber || sourceFiber._visibility & OffscreenVisible || (isHidden = true)), sourceFiber = parent, parent = parent.return;
4227 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;
4228 }
4229 function getRootForUpdatedFiber(sourceFiber) {
4230 if (nestedUpdateCount > NESTED_UPDATE_LIMIT)
4231 throw nestedPassiveUpdateCount = nestedUpdateCount = 0, rootWithPassiveNestedUpdates = rootWithNestedUpdates = null, Error(
4232 "Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops."
4233 );
4234 nestedPassiveUpdateCount > NESTED_PASSIVE_UPDATE_LIMIT && (nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = null, console.error(
4235 "Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render."
4236 ));
4237 null === sourceFiber.alternate && 0 !== (sourceFiber.flags & 4098) && warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber);
4238 for (var node = sourceFiber, parent = node.return; null !== parent; )
4239 null === node.alternate && 0 !== (node.flags & 4098) && warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber), node = parent, parent = node.return;
4240 return 3 === node.tag ? node.stateNode : null;
4241 }
4242 function resolveFunctionForHotReloading(type) {
4243 if (null === resolveFamily) return type;
4244 var family = resolveFamily(type);
4245 return void 0 === family ? type : family.current;
4246 }
4247 function resolveForwardRefForHotReloading(type) {
4248 if (null === resolveFamily) return type;
4249 var family = resolveFamily(type);
4250 return void 0 === family ? null !== type && void 0 !== type && "function" === typeof type.render && (family = resolveFunctionForHotReloading(type.render), type.render !== family) ? (family = { $$typeof: REACT_FORWARD_REF_TYPE, render: family }, void 0 !== type.displayName && (family.displayName = type.displayName), family) : type : family.current;
4251 }
4252 function isCompatibleFamilyForHotReloading(fiber, element) {
4253 if (null === resolveFamily) return false;
4254 var prevType = fiber.elementType;
4255 element = element.type;
4256 var needsCompareFamilies = false, $$typeofNextType = "object" === typeof element && null !== element ? element.$$typeof : null;
4257 switch (fiber.tag) {
4258 case 1:
4259 "function" === typeof element && (needsCompareFamilies = true);
4260 break;
4261 case 0:
4262 "function" === typeof element ? needsCompareFamilies = true : $$typeofNextType === REACT_LAZY_TYPE && (needsCompareFamilies = true);
4263 break;
4264 case 11:
4265 $$typeofNextType === REACT_FORWARD_REF_TYPE ? needsCompareFamilies = true : $$typeofNextType === REACT_LAZY_TYPE && (needsCompareFamilies = true);
4266 break;
4267 case 14:
4268 case 15:
4269 $$typeofNextType === REACT_MEMO_TYPE ? needsCompareFamilies = true : $$typeofNextType === REACT_LAZY_TYPE && (needsCompareFamilies = true);
4270 break;
4271 default:
4272 return false;
4273 }
4274 return needsCompareFamilies && (fiber = resolveFamily(prevType), void 0 !== fiber && fiber === resolveFamily(element)) ? true : false;
4275 }
4276 function markFailedErrorBoundaryForHotReloading(fiber) {
4277 null !== resolveFamily && "function" === typeof WeakSet && (null === failedBoundaries && (failedBoundaries = /* @__PURE__ */ new WeakSet()), failedBoundaries.add(fiber));
4278 }
4279 function scheduleFibersWithFamiliesRecursively(fiber, updatedFamilies, staleFamilies) {
4280 var alternate = fiber.alternate, child = fiber.child, sibling = fiber.sibling, tag = fiber.tag, type = fiber.type, candidateType = null;
4281 switch (tag) {
4282 case 0:
4283 case 15:
4284 case 1:
4285 candidateType = type;
4286 break;
4287 case 11:
4288 candidateType = type.render;
4289 }
4290 if (null === resolveFamily)
4291 throw Error("Expected resolveFamily to be set during hot reload.");
4292 var needsRender = false;
4293 type = false;
4294 null !== candidateType && (candidateType = resolveFamily(candidateType), void 0 !== candidateType && (staleFamilies.has(candidateType) ? type = true : updatedFamilies.has(candidateType) && (1 === tag ? type = true : needsRender = true)));
4295 null !== failedBoundaries && (failedBoundaries.has(fiber) || null !== alternate && failedBoundaries.has(alternate)) && (type = true);
4296 type && (fiber._debugNeedsRemount = true);
4297 if (type || needsRender)
4298 alternate = enqueueConcurrentRenderForLane(fiber, 2), null !== alternate && scheduleUpdateOnFiber(alternate, fiber, 2);
4299 null === child || type || scheduleFibersWithFamiliesRecursively(
4300 child,
4301 updatedFamilies,
4302 staleFamilies
4303 );
4304 null !== sibling && scheduleFibersWithFamiliesRecursively(
4305 sibling,
4306 updatedFamilies,
4307 staleFamilies
4308 );
4309 }
4310 function FiberNode(tag, pendingProps, key, mode) {
4311 this.tag = tag;
4312 this.key = key;
4313 this.sibling = this.child = this.return = this.stateNode = this.type = this.elementType = null;
4314 this.index = 0;
4315 this.refCleanup = this.ref = null;
4316 this.pendingProps = pendingProps;
4317 this.dependencies = this.memoizedState = this.updateQueue = this.memoizedProps = null;
4318 this.mode = mode;
4319 this.subtreeFlags = this.flags = 0;
4320 this.deletions = null;
4321 this.childLanes = this.lanes = 0;
4322 this.alternate = null;
4323 this.actualDuration = -0;
4324 this.actualStartTime = -1.1;
4325 this.treeBaseDuration = this.selfBaseDuration = -0;
4326 this._debugTask = this._debugStack = this._debugOwner = this._debugInfo = null;
4327 this._debugNeedsRemount = false;
4328 this._debugHookTypes = null;
4329 hasBadMapPolyfill || "function" !== typeof Object.preventExtensions || Object.preventExtensions(this);
4330 }
4331 function shouldConstruct(Component) {
4332 Component = Component.prototype;
4333 return !(!Component || !Component.isReactComponent);
4334 }
4335 function createWorkInProgress(current2, pendingProps) {
4336 var workInProgress2 = current2.alternate;
4337 null === workInProgress2 ? (workInProgress2 = createFiber(
4338 current2.tag,
4339 pendingProps,
4340 current2.key,
4341 current2.mode
4342 ), workInProgress2.elementType = current2.elementType, workInProgress2.type = current2.type, workInProgress2.stateNode = current2.stateNode, workInProgress2._debugOwner = current2._debugOwner, workInProgress2._debugStack = current2._debugStack, workInProgress2._debugTask = current2._debugTask, workInProgress2._debugHookTypes = current2._debugHookTypes, workInProgress2.alternate = current2, current2.alternate = workInProgress2) : (workInProgress2.pendingProps = pendingProps, workInProgress2.type = current2.type, workInProgress2.flags = 0, workInProgress2.subtreeFlags = 0, workInProgress2.deletions = null, workInProgress2.actualDuration = -0, workInProgress2.actualStartTime = -1.1);
4343 workInProgress2.flags = current2.flags & 65011712;
4344 workInProgress2.childLanes = current2.childLanes;
4345 workInProgress2.lanes = current2.lanes;
4346 workInProgress2.child = current2.child;
4347 workInProgress2.memoizedProps = current2.memoizedProps;
4348 workInProgress2.memoizedState = current2.memoizedState;
4349 workInProgress2.updateQueue = current2.updateQueue;
4350 pendingProps = current2.dependencies;
4351 workInProgress2.dependencies = null === pendingProps ? null : {
4352 lanes: pendingProps.lanes,
4353 firstContext: pendingProps.firstContext,
4354 _debugThenableState: pendingProps._debugThenableState
4355 };
4356 workInProgress2.sibling = current2.sibling;
4357 workInProgress2.index = current2.index;
4358 workInProgress2.ref = current2.ref;
4359 workInProgress2.refCleanup = current2.refCleanup;
4360 workInProgress2.selfBaseDuration = current2.selfBaseDuration;
4361 workInProgress2.treeBaseDuration = current2.treeBaseDuration;
4362 workInProgress2._debugInfo = current2._debugInfo;
4363 workInProgress2._debugNeedsRemount = current2._debugNeedsRemount;
4364 switch (workInProgress2.tag) {
4365 case 0:
4366 case 15:
4367 workInProgress2.type = resolveFunctionForHotReloading(current2.type);
4368 break;
4369 case 1:
4370 workInProgress2.type = resolveFunctionForHotReloading(current2.type);
4371 break;
4372 case 11:
4373 workInProgress2.type = resolveForwardRefForHotReloading(current2.type);
4374 }
4375 return workInProgress2;
4376 }
4377 function resetWorkInProgress(workInProgress2, renderLanes2) {
4378 workInProgress2.flags &= 65011714;
4379 var current2 = workInProgress2.alternate;
4380 null === current2 ? (workInProgress2.childLanes = 0, workInProgress2.lanes = renderLanes2, workInProgress2.child = null, workInProgress2.subtreeFlags = 0, workInProgress2.memoizedProps = null, workInProgress2.memoizedState = null, workInProgress2.updateQueue = null, workInProgress2.dependencies = null, workInProgress2.stateNode = null, workInProgress2.selfBaseDuration = 0, workInProgress2.treeBaseDuration = 0) : (workInProgress2.childLanes = current2.childLanes, workInProgress2.lanes = current2.lanes, workInProgress2.child = current2.child, workInProgress2.subtreeFlags = 0, workInProgress2.deletions = null, workInProgress2.memoizedProps = current2.memoizedProps, workInProgress2.memoizedState = current2.memoizedState, workInProgress2.updateQueue = current2.updateQueue, workInProgress2.type = current2.type, renderLanes2 = current2.dependencies, workInProgress2.dependencies = null === renderLanes2 ? null : {
4381 lanes: renderLanes2.lanes,
4382 firstContext: renderLanes2.firstContext,
4383 _debugThenableState: renderLanes2._debugThenableState
4384 }, workInProgress2.selfBaseDuration = current2.selfBaseDuration, workInProgress2.treeBaseDuration = current2.treeBaseDuration);
4385 return workInProgress2;
4386 }
4387 function createFiberFromTypeAndProps(type, key, pendingProps, owner, mode, lanes) {
4388 var fiberTag = 0, resolvedType = type;
4389 if ("function" === typeof type)
4390 shouldConstruct(type) && (fiberTag = 1), resolvedType = resolveFunctionForHotReloading(resolvedType);
4391 else if ("string" === typeof type)
4392 fiberTag = getHostContext(), fiberTag = isHostHoistableType(type, pendingProps, fiberTag) ? 26 : "html" === type || "head" === type || "body" === type ? 27 : 5;
4393 else
4394 a: switch (type) {
4395 case REACT_ACTIVITY_TYPE:
4396 return key = createFiber(31, pendingProps, key, mode), key.elementType = REACT_ACTIVITY_TYPE, key.lanes = lanes, key;
4397 case REACT_FRAGMENT_TYPE:
4398 return createFiberFromFragment(
4399 pendingProps.children,
4400 mode,
4401 lanes,
4402 key
4403 );
4404 case REACT_STRICT_MODE_TYPE:
4405 fiberTag = 8;
4406 mode |= StrictLegacyMode;
4407 mode |= StrictEffectsMode;
4408 break;
4409 case REACT_PROFILER_TYPE:
4410 return type = pendingProps, owner = mode, "string" !== typeof type.id && console.error(
4411 'Profiler must specify an "id" of type `string` as a prop. Received the type `%s` instead.',
4412 typeof type.id
4413 ), key = createFiber(12, type, key, owner | ProfileMode), key.elementType = REACT_PROFILER_TYPE, key.lanes = lanes, key.stateNode = { effectDuration: 0, passiveEffectDuration: 0 }, key;
4414 case REACT_SUSPENSE_TYPE:
4415 return key = createFiber(13, pendingProps, key, mode), key.elementType = REACT_SUSPENSE_TYPE, key.lanes = lanes, key;
4416 case REACT_SUSPENSE_LIST_TYPE:
4417 return key = createFiber(19, pendingProps, key, mode), key.elementType = REACT_SUSPENSE_LIST_TYPE, key.lanes = lanes, key;
4418 default:
4419 if ("object" === typeof type && null !== type)
4420 switch (type.$$typeof) {
4421 case REACT_PROVIDER_TYPE:
4422 case REACT_CONTEXT_TYPE:
4423 fiberTag = 10;
4424 break a;
4425 case REACT_CONSUMER_TYPE:
4426 fiberTag = 9;
4427 break a;
4428 case REACT_FORWARD_REF_TYPE:
4429 fiberTag = 11;
4430 resolvedType = resolveForwardRefForHotReloading(resolvedType);
4431 break a;
4432 case REACT_MEMO_TYPE:
4433 fiberTag = 14;
4434 break a;
4435 case REACT_LAZY_TYPE:
4436 fiberTag = 16;
4437 resolvedType = null;
4438 break a;
4439 }
4440 resolvedType = "";
4441 if (void 0 === type || "object" === typeof type && null !== type && 0 === Object.keys(type).length)
4442 resolvedType += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.";
4443 null === type ? pendingProps = "null" : isArrayImpl(type) ? pendingProps = "array" : void 0 !== type && type.$$typeof === REACT_ELEMENT_TYPE ? (pendingProps = "<" + (getComponentNameFromType(type.type) || "Unknown") + " />", resolvedType = " Did you accidentally export a JSX literal instead of a component?") : pendingProps = typeof type;
4444 (fiberTag = owner ? getComponentNameFromOwner(owner) : null) && (resolvedType += "\n\nCheck the render method of `" + fiberTag + "`.");
4445 fiberTag = 29;
4446 pendingProps = Error(
4447 "Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: " + (pendingProps + "." + resolvedType)
4448 );
4449 resolvedType = null;
4450 }
4451 key = createFiber(fiberTag, pendingProps, key, mode);
4452 key.elementType = type;
4453 key.type = resolvedType;
4454 key.lanes = lanes;
4455 key._debugOwner = owner;
4456 return key;
4457 }
4458 function createFiberFromElement(element, mode, lanes) {
4459 mode = createFiberFromTypeAndProps(
4460 element.type,
4461 element.key,
4462 element.props,
4463 element._owner,
4464 mode,
4465 lanes
4466 );
4467 mode._debugOwner = element._owner;
4468 mode._debugStack = element._debugStack;
4469 mode._debugTask = element._debugTask;
4470 return mode;
4471 }
4472 function createFiberFromFragment(elements, mode, lanes, key) {
4473 elements = createFiber(7, elements, key, mode);
4474 elements.lanes = lanes;
4475 return elements;
4476 }
4477 function createFiberFromText(content, mode, lanes) {
4478 content = createFiber(6, content, null, mode);
4479 content.lanes = lanes;
4480 return content;
4481 }
4482 function createFiberFromPortal(portal, mode, lanes) {
4483 mode = createFiber(
4484 4,
4485 null !== portal.children ? portal.children : [],
4486 portal.key,
4487 mode
4488 );
4489 mode.lanes = lanes;
4490 mode.stateNode = {
4491 containerInfo: portal.containerInfo,
4492 pendingChildren: null,
4493 implementation: portal.implementation
4494 };
4495 return mode;
4496 }
4497 function pushTreeFork(workInProgress2, totalChildren) {
4498 warnIfNotHydrating();
4499 forkStack[forkStackIndex++] = treeForkCount;
4500 forkStack[forkStackIndex++] = treeForkProvider;
4501 treeForkProvider = workInProgress2;
4502 treeForkCount = totalChildren;
4503 }
4504 function pushTreeId(workInProgress2, totalChildren, index) {
4505 warnIfNotHydrating();
4506 idStack[idStackIndex++] = treeContextId;
4507 idStack[idStackIndex++] = treeContextOverflow;
4508 idStack[idStackIndex++] = treeContextProvider;
4509 treeContextProvider = workInProgress2;
4510 var baseIdWithLeadingBit = treeContextId;
4511 workInProgress2 = treeContextOverflow;
4512 var baseLength = 32 - clz32(baseIdWithLeadingBit) - 1;
4513 baseIdWithLeadingBit &= ~(1 << baseLength);
4514 index += 1;
4515 var length = 32 - clz32(totalChildren) + baseLength;
4516 if (30 < length) {
4517 var numberOfOverflowBits = baseLength - baseLength % 5;
4518 length = (baseIdWithLeadingBit & (1 << numberOfOverflowBits) - 1).toString(32);
4519 baseIdWithLeadingBit >>= numberOfOverflowBits;
4520 baseLength -= numberOfOverflowBits;
4521 treeContextId = 1 << 32 - clz32(totalChildren) + baseLength | index << baseLength | baseIdWithLeadingBit;
4522 treeContextOverflow = length + workInProgress2;
4523 } else
4524 treeContextId = 1 << length | index << baseLength | baseIdWithLeadingBit, treeContextOverflow = workInProgress2;
4525 }
4526 function pushMaterializedTreeId(workInProgress2) {
4527 warnIfNotHydrating();
4528 null !== workInProgress2.return && (pushTreeFork(workInProgress2, 1), pushTreeId(workInProgress2, 1, 0));
4529 }
4530 function popTreeContext(workInProgress2) {
4531 for (; workInProgress2 === treeForkProvider; )
4532 treeForkProvider = forkStack[--forkStackIndex], forkStack[forkStackIndex] = null, treeForkCount = forkStack[--forkStackIndex], forkStack[forkStackIndex] = null;
4533 for (; workInProgress2 === treeContextProvider; )
4534 treeContextProvider = idStack[--idStackIndex], idStack[idStackIndex] = null, treeContextOverflow = idStack[--idStackIndex], idStack[idStackIndex] = null, treeContextId = idStack[--idStackIndex], idStack[idStackIndex] = null;
4535 }
4536 function warnIfNotHydrating() {
4537 isHydrating || console.error(
4538 "Expected to be hydrating. This is a bug in React. Please file an issue."
4539 );
4540 }
4541 function buildHydrationDiffNode(fiber, distanceFromLeaf) {
4542 if (null === fiber.return) {
4543 if (null === hydrationDiffRootDEV)
4544 hydrationDiffRootDEV = {
4545 fiber,
4546 children: [],
4547 serverProps: void 0,
4548 serverTail: [],
4549 distanceFromLeaf
4550 };
4551 else {
4552 if (hydrationDiffRootDEV.fiber !== fiber)
4553 throw Error(
4554 "Saw multiple hydration diff roots in a pass. This is a bug in React."
4555 );
4556 hydrationDiffRootDEV.distanceFromLeaf > distanceFromLeaf && (hydrationDiffRootDEV.distanceFromLeaf = distanceFromLeaf);
4557 }
4558 return hydrationDiffRootDEV;
4559 }
4560 var siblings = buildHydrationDiffNode(
4561 fiber.return,
4562 distanceFromLeaf + 1
4563 ).children;
4564 if (0 < siblings.length && siblings[siblings.length - 1].fiber === fiber)
4565 return siblings = siblings[siblings.length - 1], siblings.distanceFromLeaf > distanceFromLeaf && (siblings.distanceFromLeaf = distanceFromLeaf), siblings;
4566 distanceFromLeaf = {
4567 fiber,
4568 children: [],
4569 serverProps: void 0,
4570 serverTail: [],
4571 distanceFromLeaf
4572 };
4573 siblings.push(distanceFromLeaf);
4574 return distanceFromLeaf;
4575 }
4576 function warnNonHydratedInstance(fiber, rejectedCandidate) {
4577 didSuspendOrErrorDEV || (fiber = buildHydrationDiffNode(fiber, 0), fiber.serverProps = null, null !== rejectedCandidate && (rejectedCandidate = describeHydratableInstanceForDevWarnings(rejectedCandidate), fiber.serverTail.push(rejectedCandidate)));
4578 }
4579 function throwOnHydrationMismatch(fiber) {
4580 var diff = "", diffRoot = hydrationDiffRootDEV;
4581 null !== diffRoot && (hydrationDiffRootDEV = null, diff = describeDiff(diffRoot));
4582 queueHydrationError(
4583 createCapturedValueAtFiber(
4584 Error(
4585 "Hydration failed because the server rendered HTML didn't match the client. As a result this tree will be regenerated on the client. This can happen if a SSR-ed Client Component used:\n\n- A server/client branch `if (typeof window !== 'undefined')`.\n- Variable input such as `Date.now()` or `Math.random()` which changes each time it's called.\n- Date formatting in a user's locale which doesn't match the server.\n- External changing data without sending a snapshot of it along with the HTML.\n- Invalid HTML tag nesting.\n\nIt can also happen if the client has a browser extension installed which messes with the HTML before React loaded.\n\nhttps://react.dev/link/hydration-mismatch" + diff
4586 ),
4587 fiber
4588 )
4589 );
4590 throw HydrationMismatchException;
4591 }
4592 function prepareToHydrateHostInstance(fiber) {
4593 var didHydrate = fiber.stateNode;
4594 var type = fiber.type, props = fiber.memoizedProps;
4595 didHydrate[internalInstanceKey] = fiber;
4596 didHydrate[internalPropsKey] = props;
4597 validatePropertiesInDevelopment(type, props);
4598 switch (type) {
4599 case "dialog":
4600 listenToNonDelegatedEvent("cancel", didHydrate);
4601 listenToNonDelegatedEvent("close", didHydrate);
4602 break;
4603 case "iframe":
4604 case "object":
4605 case "embed":
4606 listenToNonDelegatedEvent("load", didHydrate);
4607 break;
4608 case "video":
4609 case "audio":
4610 for (type = 0; type < mediaEventTypes.length; type++)
4611 listenToNonDelegatedEvent(mediaEventTypes[type], didHydrate);
4612 break;
4613 case "source":
4614 listenToNonDelegatedEvent("error", didHydrate);
4615 break;
4616 case "img":
4617 case "image":
4618 case "link":
4619 listenToNonDelegatedEvent("error", didHydrate);
4620 listenToNonDelegatedEvent("load", didHydrate);
4621 break;
4622 case "details":
4623 listenToNonDelegatedEvent("toggle", didHydrate);
4624 break;
4625 case "input":
4626 checkControlledValueProps("input", props);
4627 listenToNonDelegatedEvent("invalid", didHydrate);
4628 validateInputProps(didHydrate, props);
4629 initInput(
4630 didHydrate,
4631 props.value,
4632 props.defaultValue,
4633 props.checked,
4634 props.defaultChecked,
4635 props.type,
4636 props.name,
4637 true
4638 );
4639 track(didHydrate);
4640 break;
4641 case "option":
4642 validateOptionProps(didHydrate, props);
4643 break;
4644 case "select":
4645 checkControlledValueProps("select", props);
4646 listenToNonDelegatedEvent("invalid", didHydrate);
4647 validateSelectProps(didHydrate, props);
4648 break;
4649 case "textarea":
4650 checkControlledValueProps("textarea", props), listenToNonDelegatedEvent("invalid", didHydrate), validateTextareaProps(didHydrate, props), initTextarea(
4651 didHydrate,
4652 props.value,
4653 props.defaultValue,
4654 props.children
4655 ), track(didHydrate);
4656 }
4657 type = props.children;
4658 "string" !== typeof type && "number" !== typeof type && "bigint" !== typeof type || didHydrate.textContent === "" + type || true === props.suppressHydrationWarning || checkForUnmatchedText(didHydrate.textContent, type) ? (null != props.popover && (listenToNonDelegatedEvent("beforetoggle", didHydrate), listenToNonDelegatedEvent("toggle", didHydrate)), null != props.onScroll && listenToNonDelegatedEvent("scroll", didHydrate), null != props.onScrollEnd && listenToNonDelegatedEvent("scrollend", didHydrate), null != props.onClick && (didHydrate.onclick = noop$1), didHydrate = true) : didHydrate = false;
4659 didHydrate || throwOnHydrationMismatch(fiber);
4660 }
4661 function popToNextHostParent(fiber) {
4662 for (hydrationParentFiber = fiber.return; hydrationParentFiber; )
4663 switch (hydrationParentFiber.tag) {
4664 case 5:
4665 case 13:
4666 rootOrSingletonContext = false;
4667 return;
4668 case 27:
4669 case 3:
4670 rootOrSingletonContext = true;
4671 return;
4672 default:
4673 hydrationParentFiber = hydrationParentFiber.return;
4674 }
4675 }
4676 function popHydrationState(fiber) {
4677 if (fiber !== hydrationParentFiber) return false;
4678 if (!isHydrating)
4679 return popToNextHostParent(fiber), isHydrating = true, false;
4680 var tag = fiber.tag, JSCompiler_temp;
4681 if (JSCompiler_temp = 3 !== tag && 27 !== tag) {
4682 if (JSCompiler_temp = 5 === tag)
4683 JSCompiler_temp = fiber.type, JSCompiler_temp = !("form" !== JSCompiler_temp && "button" !== JSCompiler_temp) || shouldSetTextContent(fiber.type, fiber.memoizedProps);
4684 JSCompiler_temp = !JSCompiler_temp;
4685 }
4686 if (JSCompiler_temp && nextHydratableInstance) {
4687 for (JSCompiler_temp = nextHydratableInstance; JSCompiler_temp; ) {
4688 var diffNode = buildHydrationDiffNode(fiber, 0), description = describeHydratableInstanceForDevWarnings(JSCompiler_temp);
4689 diffNode.serverTail.push(description);
4690 JSCompiler_temp = "Suspense" === description.type ? getNextHydratableInstanceAfterSuspenseInstance(JSCompiler_temp) : getNextHydratable(JSCompiler_temp.nextSibling);
4691 }
4692 throwOnHydrationMismatch(fiber);
4693 }
4694 popToNextHostParent(fiber);
4695 if (13 === tag) {
4696 fiber = fiber.memoizedState;
4697 fiber = null !== fiber ? fiber.dehydrated : null;
4698 if (!fiber)
4699 throw Error(
4700 "Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue."
4701 );
4702 nextHydratableInstance = getNextHydratableInstanceAfterSuspenseInstance(fiber);
4703 } else
4704 27 === tag ? (tag = nextHydratableInstance, isSingletonScope(fiber.type) ? (fiber = previousHydratableOnEnteringScopedSingleton, previousHydratableOnEnteringScopedSingleton = null, nextHydratableInstance = fiber) : nextHydratableInstance = tag) : nextHydratableInstance = hydrationParentFiber ? getNextHydratable(fiber.stateNode.nextSibling) : null;
4705 return true;
4706 }
4707 function resetHydrationState() {
4708 nextHydratableInstance = hydrationParentFiber = null;
4709 didSuspendOrErrorDEV = isHydrating = false;
4710 }
4711 function upgradeHydrationErrorsToRecoverable() {
4712 var queuedErrors = hydrationErrors;
4713 null !== queuedErrors && (null === workInProgressRootRecoverableErrors ? workInProgressRootRecoverableErrors = queuedErrors : workInProgressRootRecoverableErrors.push.apply(
4714 workInProgressRootRecoverableErrors,
4715 queuedErrors
4716 ), hydrationErrors = null);
4717 return queuedErrors;
4718 }
4719 function queueHydrationError(error) {
4720 null === hydrationErrors ? hydrationErrors = [error] : hydrationErrors.push(error);
4721 }
4722 function emitPendingHydrationWarnings() {
4723 var diffRoot = hydrationDiffRootDEV;
4724 if (null !== diffRoot) {
4725 hydrationDiffRootDEV = null;
4726 for (var diff = describeDiff(diffRoot); 0 < diffRoot.children.length; )
4727 diffRoot = diffRoot.children[0];
4728 runWithFiberInDEV(diffRoot.fiber, function() {
4729 console.error(
4730 "A tree hydrated but some attributes of the server rendered HTML didn't match the client properties. This won't be patched up. This can happen if a SSR-ed Client Component used:\n\n- A server/client branch `if (typeof window !== 'undefined')`.\n- Variable input such as `Date.now()` or `Math.random()` which changes each time it's called.\n- Date formatting in a user's locale which doesn't match the server.\n- External changing data without sending a snapshot of it along with the HTML.\n- Invalid HTML tag nesting.\n\nIt can also happen if the client has a browser extension installed which messes with the HTML before React loaded.\n\n%s%s",
4731 "https://react.dev/link/hydration-mismatch",
4732 diff
4733 );
4734 });
4735 }
4736 }
4737 function resetContextDependencies() {
4738 lastContextDependency = currentlyRenderingFiber$1 = null;
4739 isDisallowedContextReadInDEV = false;
4740 }
4741 function pushProvider(providerFiber, context, nextValue) {
4742 push(valueCursor, context._currentValue, providerFiber);
4743 context._currentValue = nextValue;
4744 push(rendererCursorDEV, context._currentRenderer, providerFiber);
4745 void 0 !== context._currentRenderer && null !== context._currentRenderer && context._currentRenderer !== rendererSigil && console.error(
4746 "Detected multiple renderers concurrently rendering the same context provider. This is currently unsupported."
4747 );
4748 context._currentRenderer = rendererSigil;
4749 }
4750 function popProvider(context, providerFiber) {
4751 context._currentValue = valueCursor.current;
4752 var currentRenderer = rendererCursorDEV.current;
4753 pop(rendererCursorDEV, providerFiber);
4754 context._currentRenderer = currentRenderer;
4755 pop(valueCursor, providerFiber);
4756 }
4757 function scheduleContextWorkOnParentPath(parent, renderLanes2, propagationRoot) {
4758 for (; null !== parent; ) {
4759 var alternate = parent.alternate;
4760 (parent.childLanes & renderLanes2) !== renderLanes2 ? (parent.childLanes |= renderLanes2, null !== alternate && (alternate.childLanes |= renderLanes2)) : null !== alternate && (alternate.childLanes & renderLanes2) !== renderLanes2 && (alternate.childLanes |= renderLanes2);
4761 if (parent === propagationRoot) break;
4762 parent = parent.return;
4763 }
4764 parent !== propagationRoot && console.error(
4765 "Expected to find the propagation root when scheduling context work. This error is likely caused by a bug in React. Please file an issue."
4766 );
4767 }
4768 function propagateContextChanges(workInProgress2, contexts, renderLanes2, forcePropagateEntireTree) {
4769 var fiber = workInProgress2.child;
4770 null !== fiber && (fiber.return = workInProgress2);
4771 for (; null !== fiber; ) {
4772 var list = fiber.dependencies;
4773 if (null !== list) {
4774 var nextFiber = fiber.child;
4775 list = list.firstContext;
4776 a: for (; null !== list; ) {
4777 var dependency = list;
4778 list = fiber;
4779 for (var i = 0; i < contexts.length; i++)
4780 if (dependency.context === contexts[i]) {
4781 list.lanes |= renderLanes2;
4782 dependency = list.alternate;
4783 null !== dependency && (dependency.lanes |= renderLanes2);
4784 scheduleContextWorkOnParentPath(
4785 list.return,
4786 renderLanes2,
4787 workInProgress2
4788 );
4789 forcePropagateEntireTree || (nextFiber = null);
4790 break a;
4791 }
4792 list = dependency.next;
4793 }
4794 } else if (18 === fiber.tag) {
4795 nextFiber = fiber.return;
4796 if (null === nextFiber)
4797 throw Error(
4798 "We just came from a parent so we must have had a parent. This is a bug in React."
4799 );
4800 nextFiber.lanes |= renderLanes2;
4801 list = nextFiber.alternate;
4802 null !== list && (list.lanes |= renderLanes2);
4803 scheduleContextWorkOnParentPath(
4804 nextFiber,
4805 renderLanes2,
4806 workInProgress2
4807 );
4808 nextFiber = null;
4809 } else nextFiber = fiber.child;
4810 if (null !== nextFiber) nextFiber.return = fiber;
4811 else
4812 for (nextFiber = fiber; null !== nextFiber; ) {
4813 if (nextFiber === workInProgress2) {
4814 nextFiber = null;
4815 break;
4816 }
4817 fiber = nextFiber.sibling;
4818 if (null !== fiber) {
4819 fiber.return = nextFiber.return;
4820 nextFiber = fiber;
4821 break;
4822 }
4823 nextFiber = nextFiber.return;
4824 }
4825 fiber = nextFiber;
4826 }
4827 }
4828 function propagateParentContextChanges(current2, workInProgress2, renderLanes2, forcePropagateEntireTree) {
4829 current2 = null;
4830 for (var parent = workInProgress2, isInsidePropagationBailout = false; null !== parent; ) {
4831 if (!isInsidePropagationBailout) {
4832 if (0 !== (parent.flags & 524288)) isInsidePropagationBailout = true;
4833 else if (0 !== (parent.flags & 262144)) break;
4834 }
4835 if (10 === parent.tag) {
4836 var currentParent = parent.alternate;
4837 if (null === currentParent)
4838 throw Error("Should have a current fiber. This is a bug in React.");
4839 currentParent = currentParent.memoizedProps;
4840 if (null !== currentParent) {
4841 var context = parent.type;
4842 objectIs(parent.pendingProps.value, currentParent.value) || (null !== current2 ? current2.push(context) : current2 = [context]);
4843 }
4844 } else if (parent === hostTransitionProviderCursor.current) {
4845 currentParent = parent.alternate;
4846 if (null === currentParent)
4847 throw Error("Should have a current fiber. This is a bug in React.");
4848 currentParent.memoizedState.memoizedState !== parent.memoizedState.memoizedState && (null !== current2 ? current2.push(HostTransitionContext) : current2 = [HostTransitionContext]);
4849 }
4850 parent = parent.return;
4851 }
4852 null !== current2 && propagateContextChanges(
4853 workInProgress2,
4854 current2,
4855 renderLanes2,
4856 forcePropagateEntireTree
4857 );
4858 workInProgress2.flags |= 262144;
4859 }
4860 function checkIfContextChanged(currentDependencies) {
4861 for (currentDependencies = currentDependencies.firstContext; null !== currentDependencies; ) {
4862 if (!objectIs(
4863 currentDependencies.context._currentValue,
4864 currentDependencies.memoizedValue
4865 ))
4866 return true;
4867 currentDependencies = currentDependencies.next;
4868 }
4869 return false;
4870 }
4871 function prepareToReadContext(workInProgress2) {
4872 currentlyRenderingFiber$1 = workInProgress2;
4873 lastContextDependency = null;
4874 workInProgress2 = workInProgress2.dependencies;
4875 null !== workInProgress2 && (workInProgress2.firstContext = null);
4876 }
4877 function readContext(context) {
4878 isDisallowedContextReadInDEV && console.error(
4879 "Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo()."
4880 );
4881 return readContextForConsumer(currentlyRenderingFiber$1, context);
4882 }
4883 function readContextDuringReconciliation(consumer, context) {
4884 null === currentlyRenderingFiber$1 && prepareToReadContext(consumer);
4885 return readContextForConsumer(consumer, context);
4886 }
4887 function readContextForConsumer(consumer, context) {
4888 var value = context._currentValue;
4889 context = { context, memoizedValue: value, next: null };
4890 if (null === lastContextDependency) {
4891 if (null === consumer)
4892 throw Error(
4893 "Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo()."
4894 );
4895 lastContextDependency = context;
4896 consumer.dependencies = {
4897 lanes: 0,
4898 firstContext: context,
4899 _debugThenableState: null
4900 };
4901 consumer.flags |= 524288;
4902 } else lastContextDependency = lastContextDependency.next = context;
4903 return value;
4904 }
4905 function createCache() {
4906 return {
4907 controller: new AbortControllerLocal(),
4908 data: /* @__PURE__ */ new Map(),
4909 refCount: 0
4910 };
4911 }
4912 function retainCache(cache) {
4913 cache.controller.signal.aborted && console.warn(
4914 "A cache instance was retained after it was already freed. This likely indicates a bug in React."
4915 );
4916 cache.refCount++;
4917 }
4918 function releaseCache(cache) {
4919 cache.refCount--;
4920 0 > cache.refCount && console.warn(
4921 "A cache instance was released after it was already freed. This likely indicates a bug in React."
4922 );
4923 0 === cache.refCount && scheduleCallback$2(NormalPriority, function() {
4924 cache.controller.abort();
4925 });
4926 }
4927 function pushNestedEffectDurations() {
4928 var prevEffectDuration = profilerEffectDuration;
4929 profilerEffectDuration = 0;
4930 return prevEffectDuration;
4931 }
4932 function popNestedEffectDurations(prevEffectDuration) {
4933 var elapsedTime = profilerEffectDuration;
4934 profilerEffectDuration = prevEffectDuration;
4935 return elapsedTime;
4936 }
4937 function bubbleNestedEffectDurations(prevEffectDuration) {
4938 var elapsedTime = profilerEffectDuration;
4939 profilerEffectDuration += prevEffectDuration;
4940 return elapsedTime;
4941 }
4942 function startProfilerTimer(fiber) {
4943 profilerStartTime = now();
4944 0 > fiber.actualStartTime && (fiber.actualStartTime = profilerStartTime);
4945 }
4946 function stopProfilerTimerIfRunningAndRecordDuration(fiber) {
4947 if (0 <= profilerStartTime) {
4948 var elapsedTime = now() - profilerStartTime;
4949 fiber.actualDuration += elapsedTime;
4950 fiber.selfBaseDuration = elapsedTime;
4951 profilerStartTime = -1;
4952 }
4953 }
4954 function stopProfilerTimerIfRunningAndRecordIncompleteDuration(fiber) {
4955 if (0 <= profilerStartTime) {
4956 var elapsedTime = now() - profilerStartTime;
4957 fiber.actualDuration += elapsedTime;
4958 profilerStartTime = -1;
4959 }
4960 }
4961 function recordEffectDuration() {
4962 if (0 <= profilerStartTime) {
4963 var elapsedTime = now() - profilerStartTime;
4964 profilerStartTime = -1;
4965 profilerEffectDuration += elapsedTime;
4966 }
4967 }
4968 function startEffectTimer() {
4969 profilerStartTime = now();
4970 }
4971 function transferActualDuration(fiber) {
4972 for (var child = fiber.child; child; )
4973 fiber.actualDuration += child.actualDuration, child = child.sibling;
4974 }
4975 function entangleAsyncAction(transition, thenable) {
4976 if (null === currentEntangledListeners) {
4977 var entangledListeners = currentEntangledListeners = [];
4978 currentEntangledPendingCount = 0;
4979 currentEntangledLane = requestTransitionLane();
4980 currentEntangledActionThenable = {
4981 status: "pending",
4982 value: void 0,
4983 then: function(resolve) {
4984 entangledListeners.push(resolve);
4985 }
4986 };
4987 }
4988 currentEntangledPendingCount++;
4989 thenable.then(pingEngtangledActionScope, pingEngtangledActionScope);
4990 return thenable;
4991 }
4992 function pingEngtangledActionScope() {
4993 if (0 === --currentEntangledPendingCount && null !== currentEntangledListeners) {
4994 null !== currentEntangledActionThenable && (currentEntangledActionThenable.status = "fulfilled");
4995 var listeners = currentEntangledListeners;
4996 currentEntangledListeners = null;
4997 currentEntangledLane = 0;
4998 currentEntangledActionThenable = null;
4999 for (var i = 0; i < listeners.length; i++) (0, listeners[i])();
5000 }
5001 }
5002 function chainThenableValue(thenable, result) {
5003 var listeners = [], thenableWithOverride = {
5004 status: "pending",
5005 value: null,
5006 reason: null,
5007 then: function(resolve) {
5008 listeners.push(resolve);
5009 }
5010 };
5011 thenable.then(
5012 function() {
5013 thenableWithOverride.status = "fulfilled";
5014 thenableWithOverride.value = result;
5015 for (var i = 0; i < listeners.length; i++) (0, listeners[i])(result);
5016 },
5017 function(error) {
5018 thenableWithOverride.status = "rejected";
5019 thenableWithOverride.reason = error;
5020 for (error = 0; error < listeners.length; error++)
5021 (0, listeners[error])(void 0);
5022 }
5023 );
5024 return thenableWithOverride;
5025 }
5026 function peekCacheFromPool() {
5027 var cacheResumedFromPreviousRender = resumedCache.current;
5028 return null !== cacheResumedFromPreviousRender ? cacheResumedFromPreviousRender : workInProgressRoot.pooledCache;
5029 }
5030 function pushTransition(offscreenWorkInProgress, prevCachePool) {
5031 null === prevCachePool ? push(resumedCache, resumedCache.current, offscreenWorkInProgress) : push(resumedCache, prevCachePool.pool, offscreenWorkInProgress);
5032 }
5033 function getSuspendedCache() {
5034 var cacheFromPool = peekCacheFromPool();
5035 return null === cacheFromPool ? null : { parent: CacheContext._currentValue, pool: cacheFromPool };
5036 }
5037 function createThenableState() {
5038 return { didWarnAboutUncachedPromise: false, thenables: [] };
5039 }
5040 function isThenableResolved(thenable) {
5041 thenable = thenable.status;
5042 return "fulfilled" === thenable || "rejected" === thenable;
5043 }
5044 function noop$3() {
5045 }
5046 function trackUsedThenable(thenableState2, thenable, index) {
5047 null !== ReactSharedInternals.actQueue && (ReactSharedInternals.didUsePromise = true);
5048 var trackedThenables = thenableState2.thenables;
5049 index = trackedThenables[index];
5050 void 0 === index ? trackedThenables.push(thenable) : index !== thenable && (thenableState2.didWarnAboutUncachedPromise || (thenableState2.didWarnAboutUncachedPromise = true, console.error(
5051 "A component was suspended by an uncached promise. Creating promises inside a Client Component or hook is not yet supported, except via a Suspense-compatible library or framework."
5052 )), thenable.then(noop$3, noop$3), thenable = index);
5053 switch (thenable.status) {
5054 case "fulfilled":
5055 return thenable.value;
5056 case "rejected":
5057 throw thenableState2 = thenable.reason, checkIfUseWrappedInAsyncCatch(thenableState2), thenableState2;
5058 default:
5059 if ("string" === typeof thenable.status)
5060 thenable.then(noop$3, noop$3);
5061 else {
5062 thenableState2 = workInProgressRoot;
5063 if (null !== thenableState2 && 100 < thenableState2.shellSuspendCounter)
5064 throw Error(
5065 "An unknown Component is an async Client Component. Only Server Components can be async at the moment. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server."
5066 );
5067 thenableState2 = thenable;
5068 thenableState2.status = "pending";
5069 thenableState2.then(
5070 function(fulfilledValue) {
5071 if ("pending" === thenable.status) {
5072 var fulfilledThenable = thenable;
5073 fulfilledThenable.status = "fulfilled";
5074 fulfilledThenable.value = fulfilledValue;
5075 }
5076 },
5077 function(error) {
5078 if ("pending" === thenable.status) {
5079 var rejectedThenable = thenable;
5080 rejectedThenable.status = "rejected";
5081 rejectedThenable.reason = error;
5082 }
5083 }
5084 );
5085 }
5086 switch (thenable.status) {
5087 case "fulfilled":
5088 return thenable.value;
5089 case "rejected":
5090 throw thenableState2 = thenable.reason, checkIfUseWrappedInAsyncCatch(thenableState2), thenableState2;
5091 }
5092 suspendedThenable = thenable;
5093 needsToResetSuspendedThenableDEV = true;
5094 throw SuspenseException;
5095 }
5096 }
5097 function getSuspendedThenable() {
5098 if (null === suspendedThenable)
5099 throw Error(
5100 "Expected a suspended thenable. This is a bug in React. Please file an issue."
5101 );
5102 var thenable = suspendedThenable;
5103 suspendedThenable = null;
5104 needsToResetSuspendedThenableDEV = false;
5105 return thenable;
5106 }
5107 function checkIfUseWrappedInAsyncCatch(rejectedReason) {
5108 if (rejectedReason === SuspenseException || rejectedReason === SuspenseActionException)
5109 throw Error(
5110 "Hooks are not supported inside an async component. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server."
5111 );
5112 }
5113 function initializeUpdateQueue(fiber) {
5114 fiber.updateQueue = {
5115 baseState: fiber.memoizedState,
5116 firstBaseUpdate: null,
5117 lastBaseUpdate: null,
5118 shared: { pending: null, lanes: 0, hiddenCallbacks: null },
5119 callbacks: null
5120 };
5121 }
5122 function cloneUpdateQueue(current2, workInProgress2) {
5123 current2 = current2.updateQueue;
5124 workInProgress2.updateQueue === current2 && (workInProgress2.updateQueue = {
5125 baseState: current2.baseState,
5126 firstBaseUpdate: current2.firstBaseUpdate,
5127 lastBaseUpdate: current2.lastBaseUpdate,
5128 shared: current2.shared,
5129 callbacks: null
5130 });
5131 }
5132 function createUpdate(lane) {
5133 return {
5134 lane,
5135 tag: UpdateState,
5136 payload: null,
5137 callback: null,
5138 next: null
5139 };
5140 }
5141 function enqueueUpdate(fiber, update, lane) {
5142 var updateQueue = fiber.updateQueue;
5143 if (null === updateQueue) return null;
5144 updateQueue = updateQueue.shared;
5145 if (currentlyProcessingQueue === updateQueue && !didWarnUpdateInsideUpdate) {
5146 var componentName2 = getComponentNameFromFiber(fiber);
5147 console.error(
5148 "An update (setState, replaceState, or forceUpdate) was scheduled from inside an update function. Update functions should be pure, with zero side-effects. Consider using componentDidUpdate or a callback.\n\nPlease update the following component: %s",
5149 componentName2
5150 );
5151 didWarnUpdateInsideUpdate = true;
5152 }
5153 if ((executionContext & RenderContext) !== NoContext)
5154 return componentName2 = updateQueue.pending, null === componentName2 ? update.next = update : (update.next = componentName2.next, componentName2.next = update), updateQueue.pending = update, update = getRootForUpdatedFiber(fiber), markUpdateLaneFromFiberToRoot(fiber, null, lane), update;
5155 enqueueUpdate$1(fiber, updateQueue, update, lane);
5156 return getRootForUpdatedFiber(fiber);
5157 }
5158 function entangleTransitions(root2, fiber, lane) {
5159 fiber = fiber.updateQueue;
5160 if (null !== fiber && (fiber = fiber.shared, 0 !== (lane & 4194048))) {
5161 var queueLanes = fiber.lanes;
5162 queueLanes &= root2.pendingLanes;
5163 lane |= queueLanes;
5164 fiber.lanes = lane;
5165 markRootEntangled(root2, lane);
5166 }
5167 }
5168 function enqueueCapturedUpdate(workInProgress2, capturedUpdate) {
5169 var queue = workInProgress2.updateQueue, current2 = workInProgress2.alternate;
5170 if (null !== current2 && (current2 = current2.updateQueue, queue === current2)) {
5171 var newFirst = null, newLast = null;
5172 queue = queue.firstBaseUpdate;
5173 if (null !== queue) {
5174 do {
5175 var clone = {
5176 lane: queue.lane,
5177 tag: queue.tag,
5178 payload: queue.payload,
5179 callback: null,
5180 next: null
5181 };
5182 null === newLast ? newFirst = newLast = clone : newLast = newLast.next = clone;
5183 queue = queue.next;
5184 } while (null !== queue);
5185 null === newLast ? newFirst = newLast = capturedUpdate : newLast = newLast.next = capturedUpdate;
5186 } else newFirst = newLast = capturedUpdate;
5187 queue = {
5188 baseState: current2.baseState,
5189 firstBaseUpdate: newFirst,
5190 lastBaseUpdate: newLast,
5191 shared: current2.shared,
5192 callbacks: current2.callbacks
5193 };
5194 workInProgress2.updateQueue = queue;
5195 return;
5196 }
5197 workInProgress2 = queue.lastBaseUpdate;
5198 null === workInProgress2 ? queue.firstBaseUpdate = capturedUpdate : workInProgress2.next = capturedUpdate;
5199 queue.lastBaseUpdate = capturedUpdate;
5200 }
5201 function suspendIfUpdateReadFromEntangledAsyncAction() {
5202 if (didReadFromEntangledAsyncAction) {
5203 var entangledActionThenable = currentEntangledActionThenable;
5204 if (null !== entangledActionThenable) throw entangledActionThenable;
5205 }
5206 }
5207 function processUpdateQueue(workInProgress2, props, instance$jscomp$0, renderLanes2) {
5208 didReadFromEntangledAsyncAction = false;
5209 var queue = workInProgress2.updateQueue;
5210 hasForceUpdate = false;
5211 currentlyProcessingQueue = queue.shared;
5212 var firstBaseUpdate = queue.firstBaseUpdate, lastBaseUpdate = queue.lastBaseUpdate, pendingQueue = queue.shared.pending;
5213 if (null !== pendingQueue) {
5214 queue.shared.pending = null;
5215 var lastPendingUpdate = pendingQueue, firstPendingUpdate = lastPendingUpdate.next;
5216 lastPendingUpdate.next = null;
5217 null === lastBaseUpdate ? firstBaseUpdate = firstPendingUpdate : lastBaseUpdate.next = firstPendingUpdate;
5218 lastBaseUpdate = lastPendingUpdate;
5219 var current2 = workInProgress2.alternate;
5220 null !== current2 && (current2 = current2.updateQueue, pendingQueue = current2.lastBaseUpdate, pendingQueue !== lastBaseUpdate && (null === pendingQueue ? current2.firstBaseUpdate = firstPendingUpdate : pendingQueue.next = firstPendingUpdate, current2.lastBaseUpdate = lastPendingUpdate));
5221 }
5222 if (null !== firstBaseUpdate) {
5223 var newState = queue.baseState;
5224 lastBaseUpdate = 0;
5225 current2 = firstPendingUpdate = lastPendingUpdate = null;
5226 pendingQueue = firstBaseUpdate;
5227 do {
5228 var updateLane = pendingQueue.lane & -536870913, isHiddenUpdate = updateLane !== pendingQueue.lane;
5229 if (isHiddenUpdate ? (workInProgressRootRenderLanes & updateLane) === updateLane : (renderLanes2 & updateLane) === updateLane) {
5230 0 !== updateLane && updateLane === currentEntangledLane && (didReadFromEntangledAsyncAction = true);
5231 null !== current2 && (current2 = current2.next = {
5232 lane: 0,
5233 tag: pendingQueue.tag,
5234 payload: pendingQueue.payload,
5235 callback: null,
5236 next: null
5237 });
5238 a: {
5239 updateLane = workInProgress2;
5240 var partialState = pendingQueue;
5241 var nextProps = props, instance = instance$jscomp$0;
5242 switch (partialState.tag) {
5243 case ReplaceState:
5244 partialState = partialState.payload;
5245 if ("function" === typeof partialState) {
5246 isDisallowedContextReadInDEV = true;
5247 var nextState = partialState.call(
5248 instance,
5249 newState,
5250 nextProps
5251 );
5252 if (updateLane.mode & StrictLegacyMode) {
5253 setIsStrictModeForDevtools(true);
5254 try {
5255 partialState.call(instance, newState, nextProps);
5256 } finally {
5257 setIsStrictModeForDevtools(false);
5258 }
5259 }
5260 isDisallowedContextReadInDEV = false;
5261 newState = nextState;
5262 break a;
5263 }
5264 newState = partialState;
5265 break a;
5266 case CaptureUpdate:
5267 updateLane.flags = updateLane.flags & -65537 | 128;
5268 case UpdateState:
5269 nextState = partialState.payload;
5270 if ("function" === typeof nextState) {
5271 isDisallowedContextReadInDEV = true;
5272 partialState = nextState.call(
5273 instance,
5274 newState,
5275 nextProps
5276 );
5277 if (updateLane.mode & StrictLegacyMode) {
5278 setIsStrictModeForDevtools(true);
5279 try {
5280 nextState.call(instance, newState, nextProps);
5281 } finally {
5282 setIsStrictModeForDevtools(false);
5283 }
5284 }
5285 isDisallowedContextReadInDEV = false;
5286 } else partialState = nextState;
5287 if (null === partialState || void 0 === partialState) break a;
5288 newState = assign({}, newState, partialState);
5289 break a;
5290 case ForceUpdate:
5291 hasForceUpdate = true;
5292 }
5293 }
5294 updateLane = pendingQueue.callback;
5295 null !== updateLane && (workInProgress2.flags |= 64, isHiddenUpdate && (workInProgress2.flags |= 8192), isHiddenUpdate = queue.callbacks, null === isHiddenUpdate ? queue.callbacks = [updateLane] : isHiddenUpdate.push(updateLane));
5296 } else
5297 isHiddenUpdate = {
5298 lane: updateLane,
5299 tag: pendingQueue.tag,
5300 payload: pendingQueue.payload,
5301 callback: pendingQueue.callback,
5302 next: null
5303 }, null === current2 ? (firstPendingUpdate = current2 = isHiddenUpdate, lastPendingUpdate = newState) : current2 = current2.next = isHiddenUpdate, lastBaseUpdate |= updateLane;
5304 pendingQueue = pendingQueue.next;
5305 if (null === pendingQueue)
5306 if (pendingQueue = queue.shared.pending, null === pendingQueue)
5307 break;
5308 else
5309 isHiddenUpdate = pendingQueue, pendingQueue = isHiddenUpdate.next, isHiddenUpdate.next = null, queue.lastBaseUpdate = isHiddenUpdate, queue.shared.pending = null;
5310 } while (1);
5311 null === current2 && (lastPendingUpdate = newState);
5312 queue.baseState = lastPendingUpdate;
5313 queue.firstBaseUpdate = firstPendingUpdate;
5314 queue.lastBaseUpdate = current2;
5315 null === firstBaseUpdate && (queue.shared.lanes = 0);
5316 workInProgressRootSkippedLanes |= lastBaseUpdate;
5317 workInProgress2.lanes = lastBaseUpdate;
5318 workInProgress2.memoizedState = newState;
5319 }
5320 currentlyProcessingQueue = null;
5321 }
5322 function callCallback(callback, context) {
5323 if ("function" !== typeof callback)
5324 throw Error(
5325 "Invalid argument passed as callback. Expected a function. Instead received: " + callback
5326 );
5327 callback.call(context);
5328 }
5329 function commitHiddenCallbacks(updateQueue, context) {
5330 var hiddenCallbacks = updateQueue.shared.hiddenCallbacks;
5331 if (null !== hiddenCallbacks)
5332 for (updateQueue.shared.hiddenCallbacks = null, updateQueue = 0; updateQueue < hiddenCallbacks.length; updateQueue++)
5333 callCallback(hiddenCallbacks[updateQueue], context);
5334 }
5335 function commitCallbacks(updateQueue, context) {
5336 var callbacks = updateQueue.callbacks;
5337 if (null !== callbacks)
5338 for (updateQueue.callbacks = null, updateQueue = 0; updateQueue < callbacks.length; updateQueue++)
5339 callCallback(callbacks[updateQueue], context);
5340 }
5341 function pushHiddenContext(fiber, context) {
5342 var prevEntangledRenderLanes = entangledRenderLanes;
5343 push(prevEntangledRenderLanesCursor, prevEntangledRenderLanes, fiber);
5344 push(currentTreeHiddenStackCursor, context, fiber);
5345 entangledRenderLanes = prevEntangledRenderLanes | context.baseLanes;
5346 }
5347 function reuseHiddenContextOnStack(fiber) {
5348 push(prevEntangledRenderLanesCursor, entangledRenderLanes, fiber);
5349 push(
5350 currentTreeHiddenStackCursor,
5351 currentTreeHiddenStackCursor.current,
5352 fiber
5353 );
5354 }
5355 function popHiddenContext(fiber) {
5356 entangledRenderLanes = prevEntangledRenderLanesCursor.current;
5357 pop(currentTreeHiddenStackCursor, fiber);
5358 pop(prevEntangledRenderLanesCursor, fiber);
5359 }
5360 function mountHookTypesDev() {
5361 var hookName = currentHookNameInDev;
5362 null === hookTypesDev ? hookTypesDev = [hookName] : hookTypesDev.push(hookName);
5363 }
5364 function updateHookTypesDev() {
5365 var hookName = currentHookNameInDev;
5366 if (null !== hookTypesDev && (hookTypesUpdateIndexDev++, hookTypesDev[hookTypesUpdateIndexDev] !== hookName)) {
5367 var componentName2 = getComponentNameFromFiber(currentlyRenderingFiber);
5368 if (!didWarnAboutMismatchedHooksForComponent.has(componentName2) && (didWarnAboutMismatchedHooksForComponent.add(componentName2), null !== hookTypesDev)) {
5369 for (var table = "", i = 0; i <= hookTypesUpdateIndexDev; i++) {
5370 var oldHookName = hookTypesDev[i], newHookName = i === hookTypesUpdateIndexDev ? hookName : oldHookName;
5371 for (oldHookName = i + 1 + ". " + oldHookName; 30 > oldHookName.length; )
5372 oldHookName += " ";
5373 oldHookName += newHookName + "\n";
5374 table += oldHookName;
5375 }
5376 console.error(
5377 "React has detected a change in the order of Hooks called by %s. This will lead to bugs and errors if not fixed. For more information, read the Rules of Hooks: https://react.dev/link/rules-of-hooks\n\n Previous render Next render\n ------------------------------------------------------\n%s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
5378 componentName2,
5379 table
5380 );
5381 }
5382 }
5383 }
5384 function checkDepsAreArrayDev(deps) {
5385 void 0 === deps || null === deps || isArrayImpl(deps) || console.error(
5386 "%s received a final argument that is not an array (instead, received `%s`). When specified, the final argument must be an array.",
5387 currentHookNameInDev,
5388 typeof deps
5389 );
5390 }
5391 function warnOnUseFormStateInDev() {
5392 var componentName2 = getComponentNameFromFiber(currentlyRenderingFiber);
5393 didWarnAboutUseFormState.has(componentName2) || (didWarnAboutUseFormState.add(componentName2), console.error(
5394 "ReactDOM.useFormState has been renamed to React.useActionState. Please update %s to use React.useActionState.",
5395 componentName2
5396 ));
5397 }
5398 function throwInvalidHookError() {
5399 throw Error(
5400 "Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem."
5401 );
5402 }
5403 function areHookInputsEqual(nextDeps, prevDeps) {
5404 if (ignorePreviousDependencies) return false;
5405 if (null === prevDeps)
5406 return console.error(
5407 "%s received a final argument during this render, but not during the previous render. Even though the final argument is optional, its type cannot change between renders.",
5408 currentHookNameInDev
5409 ), false;
5410 nextDeps.length !== prevDeps.length && console.error(
5411 "The final argument passed to %s changed size between renders. The order and size of this array must remain constant.\n\nPrevious: %s\nIncoming: %s",
5412 currentHookNameInDev,
5413 "[" + prevDeps.join(", ") + "]",
5414 "[" + nextDeps.join(", ") + "]"
5415 );
5416 for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++)
5417 if (!objectIs(nextDeps[i], prevDeps[i])) return false;
5418 return true;
5419 }
5420 function renderWithHooks(current2, workInProgress2, Component, props, secondArg, nextRenderLanes) {
5421 renderLanes = nextRenderLanes;
5422 currentlyRenderingFiber = workInProgress2;
5423 hookTypesDev = null !== current2 ? current2._debugHookTypes : null;
5424 hookTypesUpdateIndexDev = -1;
5425 ignorePreviousDependencies = null !== current2 && current2.type !== workInProgress2.type;
5426 if ("[object AsyncFunction]" === Object.prototype.toString.call(Component) || "[object AsyncGeneratorFunction]" === Object.prototype.toString.call(Component))
5427 nextRenderLanes = getComponentNameFromFiber(currentlyRenderingFiber), didWarnAboutAsyncClientComponent.has(nextRenderLanes) || (didWarnAboutAsyncClientComponent.add(nextRenderLanes), console.error(
5428 "%s is an async Client Component. Only Server Components can be async at the moment. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server.",
5429 null === nextRenderLanes ? "An unknown Component" : "<" + nextRenderLanes + ">"
5430 ));
5431 workInProgress2.memoizedState = null;
5432 workInProgress2.updateQueue = null;
5433 workInProgress2.lanes = 0;
5434 ReactSharedInternals.H = null !== current2 && null !== current2.memoizedState ? HooksDispatcherOnUpdateInDEV : null !== hookTypesDev ? HooksDispatcherOnMountWithHookTypesInDEV : HooksDispatcherOnMountInDEV;
5435 shouldDoubleInvokeUserFnsInHooksDEV = nextRenderLanes = (workInProgress2.mode & StrictLegacyMode) !== NoMode;
5436 var children = callComponentInDEV(Component, props, secondArg);
5437 shouldDoubleInvokeUserFnsInHooksDEV = false;
5438 didScheduleRenderPhaseUpdateDuringThisPass && (children = renderWithHooksAgain(
5439 workInProgress2,
5440 Component,
5441 props,
5442 secondArg
5443 ));
5444 if (nextRenderLanes) {
5445 setIsStrictModeForDevtools(true);
5446 try {
5447 children = renderWithHooksAgain(
5448 workInProgress2,
5449 Component,
5450 props,
5451 secondArg
5452 );
5453 } finally {
5454 setIsStrictModeForDevtools(false);
5455 }
5456 }
5457 finishRenderingHooks(current2, workInProgress2);
5458 return children;
5459 }
5460 function finishRenderingHooks(current2, workInProgress2) {
5461 workInProgress2._debugHookTypes = hookTypesDev;
5462 null === workInProgress2.dependencies ? null !== thenableState$1 && (workInProgress2.dependencies = {
5463 lanes: 0,
5464 firstContext: null,
5465 _debugThenableState: thenableState$1
5466 }) : workInProgress2.dependencies._debugThenableState = thenableState$1;
5467 ReactSharedInternals.H = ContextOnlyDispatcher;
5468 var didRenderTooFewHooks = null !== currentHook && null !== currentHook.next;
5469 renderLanes = 0;
5470 hookTypesDev = currentHookNameInDev = workInProgressHook = currentHook = currentlyRenderingFiber = null;
5471 hookTypesUpdateIndexDev = -1;
5472 null !== current2 && (current2.flags & 65011712) !== (workInProgress2.flags & 65011712) && console.error(
5473 "Internal React error: Expected static flag was missing. Please notify the React team."
5474 );
5475 didScheduleRenderPhaseUpdate = false;
5476 thenableIndexCounter$1 = 0;
5477 thenableState$1 = null;
5478 if (didRenderTooFewHooks)
5479 throw Error(
5480 "Rendered fewer hooks than expected. This may be caused by an accidental early return statement."
5481 );
5482 null === current2 || didReceiveUpdate || (current2 = current2.dependencies, null !== current2 && checkIfContextChanged(current2) && (didReceiveUpdate = true));
5483 needsToResetSuspendedThenableDEV ? (needsToResetSuspendedThenableDEV = false, current2 = true) : current2 = false;
5484 current2 && (workInProgress2 = getComponentNameFromFiber(workInProgress2) || "Unknown", didWarnAboutUseWrappedInTryCatch.has(workInProgress2) || didWarnAboutAsyncClientComponent.has(workInProgress2) || (didWarnAboutUseWrappedInTryCatch.add(workInProgress2), console.error(
5485 "`use` was called from inside a try/catch block. This is not allowed and can lead to unexpected behavior. To handle errors triggered by `use`, wrap your component in a error boundary."
5486 )));
5487 }
5488 function renderWithHooksAgain(workInProgress2, Component, props, secondArg) {
5489 currentlyRenderingFiber = workInProgress2;
5490 var numberOfReRenders = 0;
5491 do {
5492 didScheduleRenderPhaseUpdateDuringThisPass && (thenableState$1 = null);
5493 thenableIndexCounter$1 = 0;
5494 didScheduleRenderPhaseUpdateDuringThisPass = false;
5495 if (numberOfReRenders >= RE_RENDER_LIMIT)
5496 throw Error(
5497 "Too many re-renders. React limits the number of renders to prevent an infinite loop."
5498 );
5499 numberOfReRenders += 1;
5500 ignorePreviousDependencies = false;
5501 workInProgressHook = currentHook = null;
5502 if (null != workInProgress2.updateQueue) {
5503 var children = workInProgress2.updateQueue;
5504 children.lastEffect = null;
5505 children.events = null;
5506 children.stores = null;
5507 null != children.memoCache && (children.memoCache.index = 0);
5508 }
5509 hookTypesUpdateIndexDev = -1;
5510 ReactSharedInternals.H = HooksDispatcherOnRerenderInDEV;
5511 children = callComponentInDEV(Component, props, secondArg);
5512 } while (didScheduleRenderPhaseUpdateDuringThisPass);
5513 return children;
5514 }
5515 function TransitionAwareHostComponent() {
5516 var dispatcher = ReactSharedInternals.H, maybeThenable = dispatcher.useState()[0];
5517 maybeThenable = "function" === typeof maybeThenable.then ? useThenable(maybeThenable) : maybeThenable;
5518 dispatcher = dispatcher.useState()[0];
5519 (null !== currentHook ? currentHook.memoizedState : null) !== dispatcher && (currentlyRenderingFiber.flags |= 1024);
5520 return maybeThenable;
5521 }
5522 function checkDidRenderIdHook() {
5523 var didRenderIdHook = 0 !== localIdCounter;
5524 localIdCounter = 0;
5525 return didRenderIdHook;
5526 }
5527 function bailoutHooks(current2, workInProgress2, lanes) {
5528 workInProgress2.updateQueue = current2.updateQueue;
5529 workInProgress2.flags = (workInProgress2.mode & StrictEffectsMode) !== NoMode ? workInProgress2.flags & -402655237 : workInProgress2.flags & -2053;
5530 current2.lanes &= ~lanes;
5531 }
5532 function resetHooksOnUnwind(workInProgress2) {
5533 if (didScheduleRenderPhaseUpdate) {
5534 for (workInProgress2 = workInProgress2.memoizedState; null !== workInProgress2; ) {
5535 var queue = workInProgress2.queue;
5536 null !== queue && (queue.pending = null);
5537 workInProgress2 = workInProgress2.next;
5538 }
5539 didScheduleRenderPhaseUpdate = false;
5540 }
5541 renderLanes = 0;
5542 hookTypesDev = workInProgressHook = currentHook = currentlyRenderingFiber = null;
5543 hookTypesUpdateIndexDev = -1;
5544 currentHookNameInDev = null;
5545 didScheduleRenderPhaseUpdateDuringThisPass = false;
5546 thenableIndexCounter$1 = localIdCounter = 0;
5547 thenableState$1 = null;
5548 }
5549 function mountWorkInProgressHook() {
5550 var hook = {
5551 memoizedState: null,
5552 baseState: null,
5553 baseQueue: null,
5554 queue: null,
5555 next: null
5556 };
5557 null === workInProgressHook ? currentlyRenderingFiber.memoizedState = workInProgressHook = hook : workInProgressHook = workInProgressHook.next = hook;
5558 return workInProgressHook;
5559 }
5560 function updateWorkInProgressHook() {
5561 if (null === currentHook) {
5562 var nextCurrentHook = currentlyRenderingFiber.alternate;
5563 nextCurrentHook = null !== nextCurrentHook ? nextCurrentHook.memoizedState : null;
5564 } else nextCurrentHook = currentHook.next;
5565 var nextWorkInProgressHook = null === workInProgressHook ? currentlyRenderingFiber.memoizedState : workInProgressHook.next;
5566 if (null !== nextWorkInProgressHook)
5567 workInProgressHook = nextWorkInProgressHook, currentHook = nextCurrentHook;
5568 else {
5569 if (null === nextCurrentHook) {
5570 if (null === currentlyRenderingFiber.alternate)
5571 throw Error(
5572 "Update hook called on initial render. This is likely a bug in React. Please file an issue."
5573 );
5574 throw Error("Rendered more hooks than during the previous render.");
5575 }
5576 currentHook = nextCurrentHook;
5577 nextCurrentHook = {
5578 memoizedState: currentHook.memoizedState,
5579 baseState: currentHook.baseState,
5580 baseQueue: currentHook.baseQueue,
5581 queue: currentHook.queue,
5582 next: null
5583 };
5584 null === workInProgressHook ? currentlyRenderingFiber.memoizedState = workInProgressHook = nextCurrentHook : workInProgressHook = workInProgressHook.next = nextCurrentHook;
5585 }
5586 return workInProgressHook;
5587 }
5588 function createFunctionComponentUpdateQueue() {
5589 return { lastEffect: null, events: null, stores: null, memoCache: null };
5590 }
5591 function useThenable(thenable) {
5592 var index = thenableIndexCounter$1;
5593 thenableIndexCounter$1 += 1;
5594 null === thenableState$1 && (thenableState$1 = createThenableState());
5595 thenable = trackUsedThenable(thenableState$1, thenable, index);
5596 index = currentlyRenderingFiber;
5597 null === (null === workInProgressHook ? index.memoizedState : workInProgressHook.next) && (index = index.alternate, ReactSharedInternals.H = null !== index && null !== index.memoizedState ? HooksDispatcherOnUpdateInDEV : HooksDispatcherOnMountInDEV);
5598 return thenable;
5599 }
5600 function use(usable) {
5601 if (null !== usable && "object" === typeof usable) {
5602 if ("function" === typeof usable.then) return useThenable(usable);
5603 if (usable.$$typeof === REACT_CONTEXT_TYPE) return readContext(usable);
5604 }
5605 throw Error("An unsupported type was passed to use(): " + String(usable));
5606 }
5607 function useMemoCache(size) {
5608 var memoCache = null, updateQueue = currentlyRenderingFiber.updateQueue;
5609 null !== updateQueue && (memoCache = updateQueue.memoCache);
5610 if (null == memoCache) {
5611 var current2 = currentlyRenderingFiber.alternate;
5612 null !== current2 && (current2 = current2.updateQueue, null !== current2 && (current2 = current2.memoCache, null != current2 && (memoCache = {
5613 data: current2.data.map(function(array) {
5614 return array.slice();
5615 }),
5616 index: 0
5617 })));
5618 }
5619 null == memoCache && (memoCache = { data: [], index: 0 });
5620 null === updateQueue && (updateQueue = createFunctionComponentUpdateQueue(), currentlyRenderingFiber.updateQueue = updateQueue);
5621 updateQueue.memoCache = memoCache;
5622 updateQueue = memoCache.data[memoCache.index];
5623 if (void 0 === updateQueue || ignorePreviousDependencies)
5624 for (updateQueue = memoCache.data[memoCache.index] = Array(size), current2 = 0; current2 < size; current2++)
5625 updateQueue[current2] = REACT_MEMO_CACHE_SENTINEL;
5626 else
5627 updateQueue.length !== size && console.error(
5628 "Expected a constant size argument for each invocation of useMemoCache. The previous cache was allocated with size %s but size %s was requested.",
5629 updateQueue.length,
5630 size
5631 );
5632 memoCache.index++;
5633 return updateQueue;
5634 }
5635 function basicStateReducer(state, action) {
5636 return "function" === typeof action ? action(state) : action;
5637 }
5638 function mountReducer(reducer, initialArg, init) {
5639 var hook = mountWorkInProgressHook();
5640 if (void 0 !== init) {
5641 var initialState = init(initialArg);
5642 if (shouldDoubleInvokeUserFnsInHooksDEV) {
5643 setIsStrictModeForDevtools(true);
5644 try {
5645 init(initialArg);
5646 } finally {
5647 setIsStrictModeForDevtools(false);
5648 }
5649 }
5650 } else initialState = initialArg;
5651 hook.memoizedState = hook.baseState = initialState;
5652 reducer = {
5653 pending: null,
5654 lanes: 0,
5655 dispatch: null,
5656 lastRenderedReducer: reducer,
5657 lastRenderedState: initialState
5658 };
5659 hook.queue = reducer;
5660 reducer = reducer.dispatch = dispatchReducerAction.bind(
5661 null,
5662 currentlyRenderingFiber,
5663 reducer
5664 );
5665 return [hook.memoizedState, reducer];
5666 }
5667 function updateReducer(reducer) {
5668 var hook = updateWorkInProgressHook();
5669 return updateReducerImpl(hook, currentHook, reducer);
5670 }
5671 function updateReducerImpl(hook, current2, reducer) {
5672 var queue = hook.queue;
5673 if (null === queue)
5674 throw Error(
5675 "Should have a queue. You are likely calling Hooks conditionally, which is not allowed. (https://react.dev/link/invalid-hook-call)"
5676 );
5677 queue.lastRenderedReducer = reducer;
5678 var baseQueue = hook.baseQueue, pendingQueue = queue.pending;
5679 if (null !== pendingQueue) {
5680 if (null !== baseQueue) {
5681 var baseFirst = baseQueue.next;
5682 baseQueue.next = pendingQueue.next;
5683 pendingQueue.next = baseFirst;
5684 }
5685 current2.baseQueue !== baseQueue && console.error(
5686 "Internal error: Expected work-in-progress queue to be a clone. This is a bug in React."
5687 );
5688 current2.baseQueue = baseQueue = pendingQueue;
5689 queue.pending = null;
5690 }
5691 pendingQueue = hook.baseState;
5692 if (null === baseQueue) hook.memoizedState = pendingQueue;
5693 else {
5694 current2 = baseQueue.next;
5695 var newBaseQueueFirst = baseFirst = null, newBaseQueueLast = null, update = current2, didReadFromEntangledAsyncAction2 = false;
5696 do {
5697 var updateLane = update.lane & -536870913;
5698 if (updateLane !== update.lane ? (workInProgressRootRenderLanes & updateLane) === updateLane : (renderLanes & updateLane) === updateLane) {
5699 var revertLane = update.revertLane;
5700 if (0 === revertLane)
5701 null !== newBaseQueueLast && (newBaseQueueLast = newBaseQueueLast.next = {
5702 lane: 0,
5703 revertLane: 0,
5704 action: update.action,
5705 hasEagerState: update.hasEagerState,
5706 eagerState: update.eagerState,
5707 next: null
5708 }), updateLane === currentEntangledLane && (didReadFromEntangledAsyncAction2 = true);
5709 else if ((renderLanes & revertLane) === revertLane) {
5710 update = update.next;
5711 revertLane === currentEntangledLane && (didReadFromEntangledAsyncAction2 = true);
5712 continue;
5713 } else
5714 updateLane = {
5715 lane: 0,
5716 revertLane: update.revertLane,
5717 action: update.action,
5718 hasEagerState: update.hasEagerState,
5719 eagerState: update.eagerState,
5720 next: null
5721 }, null === newBaseQueueLast ? (newBaseQueueFirst = newBaseQueueLast = updateLane, baseFirst = pendingQueue) : newBaseQueueLast = newBaseQueueLast.next = updateLane, currentlyRenderingFiber.lanes |= revertLane, workInProgressRootSkippedLanes |= revertLane;
5722 updateLane = update.action;
5723 shouldDoubleInvokeUserFnsInHooksDEV && reducer(pendingQueue, updateLane);
5724 pendingQueue = update.hasEagerState ? update.eagerState : reducer(pendingQueue, updateLane);
5725 } else
5726 revertLane = {
5727 lane: updateLane,
5728 revertLane: update.revertLane,
5729 action: update.action,
5730 hasEagerState: update.hasEagerState,
5731 eagerState: update.eagerState,
5732 next: null
5733 }, null === newBaseQueueLast ? (newBaseQueueFirst = newBaseQueueLast = revertLane, baseFirst = pendingQueue) : newBaseQueueLast = newBaseQueueLast.next = revertLane, currentlyRenderingFiber.lanes |= updateLane, workInProgressRootSkippedLanes |= updateLane;
5734 update = update.next;
5735 } while (null !== update && update !== current2);
5736 null === newBaseQueueLast ? baseFirst = pendingQueue : newBaseQueueLast.next = newBaseQueueFirst;
5737 if (!objectIs(pendingQueue, hook.memoizedState) && (didReceiveUpdate = true, didReadFromEntangledAsyncAction2 && (reducer = currentEntangledActionThenable, null !== reducer)))
5738 throw reducer;
5739 hook.memoizedState = pendingQueue;
5740 hook.baseState = baseFirst;
5741 hook.baseQueue = newBaseQueueLast;
5742 queue.lastRenderedState = pendingQueue;
5743 }
5744 null === baseQueue && (queue.lanes = 0);
5745 return [hook.memoizedState, queue.dispatch];
5746 }
5747 function rerenderReducer(reducer) {
5748 var hook = updateWorkInProgressHook(), queue = hook.queue;
5749 if (null === queue)
5750 throw Error(
5751 "Should have a queue. You are likely calling Hooks conditionally, which is not allowed. (https://react.dev/link/invalid-hook-call)"
5752 );
5753 queue.lastRenderedReducer = reducer;
5754 var dispatch = queue.dispatch, lastRenderPhaseUpdate = queue.pending, newState = hook.memoizedState;
5755 if (null !== lastRenderPhaseUpdate) {
5756 queue.pending = null;
5757 var update = lastRenderPhaseUpdate = lastRenderPhaseUpdate.next;
5758 do
5759 newState = reducer(newState, update.action), update = update.next;
5760 while (update !== lastRenderPhaseUpdate);
5761 objectIs(newState, hook.memoizedState) || (didReceiveUpdate = true);
5762 hook.memoizedState = newState;
5763 null === hook.baseQueue && (hook.baseState = newState);
5764 queue.lastRenderedState = newState;
5765 }
5766 return [newState, dispatch];
5767 }
5768 function mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {
5769 var fiber = currentlyRenderingFiber, hook = mountWorkInProgressHook();
5770 if (isHydrating) {
5771 if (void 0 === getServerSnapshot)
5772 throw Error(
5773 "Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering."
5774 );
5775 var nextSnapshot = getServerSnapshot();
5776 didWarnUncachedGetSnapshot || nextSnapshot === getServerSnapshot() || (console.error(
5777 "The result of getServerSnapshot should be cached to avoid an infinite loop"
5778 ), didWarnUncachedGetSnapshot = true);
5779 } else {
5780 nextSnapshot = getSnapshot();
5781 didWarnUncachedGetSnapshot || (getServerSnapshot = getSnapshot(), objectIs(nextSnapshot, getServerSnapshot) || (console.error(
5782 "The result of getSnapshot should be cached to avoid an infinite loop"
5783 ), didWarnUncachedGetSnapshot = true));
5784 if (null === workInProgressRoot)
5785 throw Error(
5786 "Expected a work-in-progress root. This is a bug in React. Please file an issue."
5787 );
5788 0 !== (workInProgressRootRenderLanes & 124) || pushStoreConsistencyCheck(fiber, getSnapshot, nextSnapshot);
5789 }
5790 hook.memoizedState = nextSnapshot;
5791 getServerSnapshot = { value: nextSnapshot, getSnapshot };
5792 hook.queue = getServerSnapshot;
5793 mountEffect(
5794 subscribeToStore.bind(null, fiber, getServerSnapshot, subscribe),
5795 [subscribe]
5796 );
5797 fiber.flags |= 2048;
5798 pushSimpleEffect(
5799 HasEffect | Passive,
5800 createEffectInstance(),
5801 updateStoreInstance.bind(
5802 null,
5803 fiber,
5804 getServerSnapshot,
5805 nextSnapshot,
5806 getSnapshot
5807 ),
5808 null
5809 );
5810 return nextSnapshot;
5811 }
5812 function updateSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {
5813 var fiber = currentlyRenderingFiber, hook = updateWorkInProgressHook(), isHydrating$jscomp$0 = isHydrating;
5814 if (isHydrating$jscomp$0) {
5815 if (void 0 === getServerSnapshot)
5816 throw Error(
5817 "Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering."
5818 );
5819 getServerSnapshot = getServerSnapshot();
5820 } else if (getServerSnapshot = getSnapshot(), !didWarnUncachedGetSnapshot) {
5821 var cachedSnapshot = getSnapshot();
5822 objectIs(getServerSnapshot, cachedSnapshot) || (console.error(
5823 "The result of getSnapshot should be cached to avoid an infinite loop"
5824 ), didWarnUncachedGetSnapshot = true);
5825 }
5826 if (cachedSnapshot = !objectIs(
5827 (currentHook || hook).memoizedState,
5828 getServerSnapshot
5829 ))
5830 hook.memoizedState = getServerSnapshot, didReceiveUpdate = true;
5831 hook = hook.queue;
5832 var create = subscribeToStore.bind(null, fiber, hook, subscribe);
5833 updateEffectImpl(2048, Passive, create, [subscribe]);
5834 if (hook.getSnapshot !== getSnapshot || cachedSnapshot || null !== workInProgressHook && workInProgressHook.memoizedState.tag & HasEffect) {
5835 fiber.flags |= 2048;
5836 pushSimpleEffect(
5837 HasEffect | Passive,
5838 createEffectInstance(),
5839 updateStoreInstance.bind(
5840 null,
5841 fiber,
5842 hook,
5843 getServerSnapshot,
5844 getSnapshot
5845 ),
5846 null
5847 );
5848 if (null === workInProgressRoot)
5849 throw Error(
5850 "Expected a work-in-progress root. This is a bug in React. Please file an issue."
5851 );
5852 isHydrating$jscomp$0 || 0 !== (renderLanes & 124) || pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot);
5853 }
5854 return getServerSnapshot;
5855 }
5856 function pushStoreConsistencyCheck(fiber, getSnapshot, renderedSnapshot) {
5857 fiber.flags |= 16384;
5858 fiber = { getSnapshot, value: renderedSnapshot };
5859 getSnapshot = currentlyRenderingFiber.updateQueue;
5860 null === getSnapshot ? (getSnapshot = createFunctionComponentUpdateQueue(), currentlyRenderingFiber.updateQueue = getSnapshot, getSnapshot.stores = [fiber]) : (renderedSnapshot = getSnapshot.stores, null === renderedSnapshot ? getSnapshot.stores = [fiber] : renderedSnapshot.push(fiber));
5861 }
5862 function updateStoreInstance(fiber, inst, nextSnapshot, getSnapshot) {
5863 inst.value = nextSnapshot;
5864 inst.getSnapshot = getSnapshot;
5865 checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);
5866 }
5867 function subscribeToStore(fiber, inst, subscribe) {
5868 return subscribe(function() {
5869 checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);
5870 });
5871 }
5872 function checkIfSnapshotChanged(inst) {
5873 var latestGetSnapshot = inst.getSnapshot;
5874 inst = inst.value;
5875 try {
5876 var nextValue = latestGetSnapshot();
5877 return !objectIs(inst, nextValue);
5878 } catch (error) {
5879 return true;
5880 }
5881 }
5882 function forceStoreRerender(fiber) {
5883 var root2 = enqueueConcurrentRenderForLane(fiber, 2);
5884 null !== root2 && scheduleUpdateOnFiber(root2, fiber, 2);
5885 }
5886 function mountStateImpl(initialState) {
5887 var hook = mountWorkInProgressHook();
5888 if ("function" === typeof initialState) {
5889 var initialStateInitializer = initialState;
5890 initialState = initialStateInitializer();
5891 if (shouldDoubleInvokeUserFnsInHooksDEV) {
5892 setIsStrictModeForDevtools(true);
5893 try {
5894 initialStateInitializer();
5895 } finally {
5896 setIsStrictModeForDevtools(false);
5897 }
5898 }
5899 }
5900 hook.memoizedState = hook.baseState = initialState;
5901 hook.queue = {
5902 pending: null,
5903 lanes: 0,
5904 dispatch: null,
5905 lastRenderedReducer: basicStateReducer,
5906 lastRenderedState: initialState
5907 };
5908 return hook;
5909 }
5910 function mountState(initialState) {
5911 initialState = mountStateImpl(initialState);
5912 var queue = initialState.queue, dispatch = dispatchSetState.bind(null, currentlyRenderingFiber, queue);
5913 queue.dispatch = dispatch;
5914 return [initialState.memoizedState, dispatch];
5915 }
5916 function mountOptimistic(passthrough) {
5917 var hook = mountWorkInProgressHook();
5918 hook.memoizedState = hook.baseState = passthrough;
5919 var queue = {
5920 pending: null,
5921 lanes: 0,
5922 dispatch: null,
5923 lastRenderedReducer: null,
5924 lastRenderedState: null
5925 };
5926 hook.queue = queue;
5927 hook = dispatchOptimisticSetState.bind(
5928 null,
5929 currentlyRenderingFiber,
5930 true,
5931 queue
5932 );
5933 queue.dispatch = hook;
5934 return [passthrough, hook];
5935 }
5936 function updateOptimistic(passthrough, reducer) {
5937 var hook = updateWorkInProgressHook();
5938 return updateOptimisticImpl(hook, currentHook, passthrough, reducer);
5939 }
5940 function updateOptimisticImpl(hook, current2, passthrough, reducer) {
5941 hook.baseState = passthrough;
5942 return updateReducerImpl(
5943 hook,
5944 currentHook,
5945 "function" === typeof reducer ? reducer : basicStateReducer
5946 );
5947 }
5948 function rerenderOptimistic(passthrough, reducer) {
5949 var hook = updateWorkInProgressHook();
5950 if (null !== currentHook)
5951 return updateOptimisticImpl(hook, currentHook, passthrough, reducer);
5952 hook.baseState = passthrough;
5953 return [passthrough, hook.queue.dispatch];
5954 }
5955 function dispatchActionState(fiber, actionQueue, setPendingState, setState, payload) {
5956 if (isRenderPhaseUpdate(fiber))
5957 throw Error("Cannot update form state while rendering.");
5958 fiber = actionQueue.action;
5959 if (null !== fiber) {
5960 var actionNode = {
5961 payload,
5962 action: fiber,
5963 next: null,
5964 isTransition: true,
5965 status: "pending",
5966 value: null,
5967 reason: null,
5968 listeners: [],
5969 then: function(listener) {
5970 actionNode.listeners.push(listener);
5971 }
5972 };
5973 null !== ReactSharedInternals.T ? setPendingState(true) : actionNode.isTransition = false;
5974 setState(actionNode);
5975 setPendingState = actionQueue.pending;
5976 null === setPendingState ? (actionNode.next = actionQueue.pending = actionNode, runActionStateAction(actionQueue, actionNode)) : (actionNode.next = setPendingState.next, actionQueue.pending = setPendingState.next = actionNode);
5977 }
5978 }
5979 function runActionStateAction(actionQueue, node) {
5980 var action = node.action, payload = node.payload, prevState = actionQueue.state;
5981 if (node.isTransition) {
5982 var prevTransition = ReactSharedInternals.T, currentTransition = {};
5983 ReactSharedInternals.T = currentTransition;
5984 ReactSharedInternals.T._updatedFibers = /* @__PURE__ */ new Set();
5985 try {
5986 var returnValue = action(prevState, payload), onStartTransitionFinish = ReactSharedInternals.S;
5987 null !== onStartTransitionFinish && onStartTransitionFinish(currentTransition, returnValue);
5988 handleActionReturnValue(actionQueue, node, returnValue);
5989 } catch (error) {
5990 onActionError(actionQueue, node, error);
5991 } finally {
5992 ReactSharedInternals.T = prevTransition, null === prevTransition && currentTransition._updatedFibers && (actionQueue = currentTransition._updatedFibers.size, currentTransition._updatedFibers.clear(), 10 < actionQueue && console.warn(
5993 "Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table."
5994 ));
5995 }
5996 } else
5997 try {
5998 currentTransition = action(prevState, payload), handleActionReturnValue(actionQueue, node, currentTransition);
5999 } catch (error$4) {
6000 onActionError(actionQueue, node, error$4);
6001 }
6002 }
6003 function handleActionReturnValue(actionQueue, node, returnValue) {
6004 null !== returnValue && "object" === typeof returnValue && "function" === typeof returnValue.then ? (returnValue.then(
6005 function(nextState) {
6006 onActionSuccess(actionQueue, node, nextState);
6007 },
6008 function(error) {
6009 return onActionError(actionQueue, node, error);
6010 }
6011 ), node.isTransition || console.error(
6012 "An async function with useActionState was called outside of a transition. This is likely not what you intended (for example, isPending will not update correctly). Either call the returned function inside startTransition, or pass it to an `action` or `formAction` prop."
6013 )) : onActionSuccess(actionQueue, node, returnValue);
6014 }
6015 function onActionSuccess(actionQueue, actionNode, nextState) {
6016 actionNode.status = "fulfilled";
6017 actionNode.value = nextState;
6018 notifyActionListeners(actionNode);
6019 actionQueue.state = nextState;
6020 actionNode = actionQueue.pending;
6021 null !== actionNode && (nextState = actionNode.next, nextState === actionNode ? actionQueue.pending = null : (nextState = nextState.next, actionNode.next = nextState, runActionStateAction(actionQueue, nextState)));
6022 }
6023 function onActionError(actionQueue, actionNode, error) {
6024 var last = actionQueue.pending;
6025 actionQueue.pending = null;
6026 if (null !== last) {
6027 last = last.next;
6028 do
6029 actionNode.status = "rejected", actionNode.reason = error, notifyActionListeners(actionNode), actionNode = actionNode.next;
6030 while (actionNode !== last);
6031 }
6032 actionQueue.action = null;
6033 }
6034 function notifyActionListeners(actionNode) {
6035 actionNode = actionNode.listeners;
6036 for (var i = 0; i < actionNode.length; i++) (0, actionNode[i])();
6037 }
6038 function actionStateReducer(oldState, newState) {
6039 return newState;
6040 }
6041 function mountActionState(action, initialStateProp) {
6042 if (isHydrating) {
6043 var ssrFormState = workInProgressRoot.formState;
6044 if (null !== ssrFormState) {
6045 a: {
6046 var isMatching = currentlyRenderingFiber;
6047 if (isHydrating) {
6048 if (nextHydratableInstance) {
6049 b: {
6050 var markerInstance = nextHydratableInstance;
6051 for (var inRootOrSingleton = rootOrSingletonContext; 8 !== markerInstance.nodeType; ) {
6052 if (!inRootOrSingleton) {
6053 markerInstance = null;
6054 break b;
6055 }
6056 markerInstance = getNextHydratable(
6057 markerInstance.nextSibling
6058 );
6059 if (null === markerInstance) {
6060 markerInstance = null;
6061 break b;
6062 }
6063 }
6064 inRootOrSingleton = markerInstance.data;
6065 markerInstance = inRootOrSingleton === FORM_STATE_IS_MATCHING || inRootOrSingleton === FORM_STATE_IS_NOT_MATCHING ? markerInstance : null;
6066 }
6067 if (markerInstance) {
6068 nextHydratableInstance = getNextHydratable(
6069 markerInstance.nextSibling
6070 );
6071 isMatching = markerInstance.data === FORM_STATE_IS_MATCHING;
6072 break a;
6073 }
6074 }
6075 throwOnHydrationMismatch(isMatching);
6076 }
6077 isMatching = false;
6078 }
6079 isMatching && (initialStateProp = ssrFormState[0]);
6080 }
6081 }
6082 ssrFormState = mountWorkInProgressHook();
6083 ssrFormState.memoizedState = ssrFormState.baseState = initialStateProp;
6084 isMatching = {
6085 pending: null,
6086 lanes: 0,
6087 dispatch: null,
6088 lastRenderedReducer: actionStateReducer,
6089 lastRenderedState: initialStateProp
6090 };
6091 ssrFormState.queue = isMatching;
6092 ssrFormState = dispatchSetState.bind(
6093 null,
6094 currentlyRenderingFiber,
6095 isMatching
6096 );
6097 isMatching.dispatch = ssrFormState;
6098 isMatching = mountStateImpl(false);
6099 inRootOrSingleton = dispatchOptimisticSetState.bind(
6100 null,
6101 currentlyRenderingFiber,
6102 false,
6103 isMatching.queue
6104 );
6105 isMatching = mountWorkInProgressHook();
6106 markerInstance = {
6107 state: initialStateProp,
6108 dispatch: null,
6109 action,
6110 pending: null
6111 };
6112 isMatching.queue = markerInstance;
6113 ssrFormState = dispatchActionState.bind(
6114 null,
6115 currentlyRenderingFiber,
6116 markerInstance,
6117 inRootOrSingleton,
6118 ssrFormState
6119 );
6120 markerInstance.dispatch = ssrFormState;
6121 isMatching.memoizedState = action;
6122 return [initialStateProp, ssrFormState, false];
6123 }
6124 function updateActionState(action) {
6125 var stateHook = updateWorkInProgressHook();
6126 return updateActionStateImpl(stateHook, currentHook, action);
6127 }
6128 function updateActionStateImpl(stateHook, currentStateHook, action) {
6129 currentStateHook = updateReducerImpl(
6130 stateHook,
6131 currentStateHook,
6132 actionStateReducer
6133 )[0];
6134 stateHook = updateReducer(basicStateReducer)[0];
6135 if ("object" === typeof currentStateHook && null !== currentStateHook && "function" === typeof currentStateHook.then)
6136 try {
6137 var state = useThenable(currentStateHook);
6138 } catch (x) {
6139 if (x === SuspenseException) throw SuspenseActionException;
6140 throw x;
6141 }
6142 else state = currentStateHook;
6143 currentStateHook = updateWorkInProgressHook();
6144 var actionQueue = currentStateHook.queue, dispatch = actionQueue.dispatch;
6145 action !== currentStateHook.memoizedState && (currentlyRenderingFiber.flags |= 2048, pushSimpleEffect(
6146 HasEffect | Passive,
6147 createEffectInstance(),
6148 actionStateActionEffect.bind(null, actionQueue, action),
6149 null
6150 ));
6151 return [state, dispatch, stateHook];
6152 }
6153 function actionStateActionEffect(actionQueue, action) {
6154 actionQueue.action = action;
6155 }
6156 function rerenderActionState(action) {
6157 var stateHook = updateWorkInProgressHook(), currentStateHook = currentHook;
6158 if (null !== currentStateHook)
6159 return updateActionStateImpl(stateHook, currentStateHook, action);
6160 updateWorkInProgressHook();
6161 stateHook = stateHook.memoizedState;
6162 currentStateHook = updateWorkInProgressHook();
6163 var dispatch = currentStateHook.queue.dispatch;
6164 currentStateHook.memoizedState = action;
6165 return [stateHook, dispatch, false];
6166 }
6167 function pushSimpleEffect(tag, inst, create, createDeps) {
6168 tag = {
6169 tag,
6170 create,
6171 deps: createDeps,
6172 inst,
6173 next: null
6174 };
6175 inst = currentlyRenderingFiber.updateQueue;
6176 null === inst && (inst = createFunctionComponentUpdateQueue(), currentlyRenderingFiber.updateQueue = inst);
6177 create = inst.lastEffect;
6178 null === create ? inst.lastEffect = tag.next = tag : (createDeps = create.next, create.next = tag, tag.next = createDeps, inst.lastEffect = tag);
6179 return tag;
6180 }
6181 function createEffectInstance() {
6182 return { destroy: void 0, resource: void 0 };
6183 }
6184 function mountRef(initialValue) {
6185 var hook = mountWorkInProgressHook();
6186 initialValue = { current: initialValue };
6187 return hook.memoizedState = initialValue;
6188 }
6189 function mountEffectImpl(fiberFlags, hookFlags, create, createDeps) {
6190 var hook = mountWorkInProgressHook();
6191 createDeps = void 0 === createDeps ? null : createDeps;
6192 currentlyRenderingFiber.flags |= fiberFlags;
6193 hook.memoizedState = pushSimpleEffect(
6194 HasEffect | hookFlags,
6195 createEffectInstance(),
6196 create,
6197 createDeps
6198 );
6199 }
6200 function updateEffectImpl(fiberFlags, hookFlags, create, deps) {
6201 var hook = updateWorkInProgressHook();
6202 deps = void 0 === deps ? null : deps;
6203 var inst = hook.memoizedState.inst;
6204 null !== currentHook && null !== deps && areHookInputsEqual(deps, currentHook.memoizedState.deps) ? hook.memoizedState = pushSimpleEffect(hookFlags, inst, create, deps) : (currentlyRenderingFiber.flags |= fiberFlags, hook.memoizedState = pushSimpleEffect(
6205 HasEffect | hookFlags,
6206 inst,
6207 create,
6208 deps
6209 ));
6210 }
6211 function mountEffect(create, createDeps) {
6212 (currentlyRenderingFiber.mode & StrictEffectsMode) !== NoMode && (currentlyRenderingFiber.mode & NoStrictPassiveEffectsMode) === NoMode ? mountEffectImpl(276826112, Passive, create, createDeps) : mountEffectImpl(8390656, Passive, create, createDeps);
6213 }
6214 function mountLayoutEffect(create, deps) {
6215 var fiberFlags = 4194308;
6216 (currentlyRenderingFiber.mode & StrictEffectsMode) !== NoMode && (fiberFlags |= 134217728);
6217 return mountEffectImpl(fiberFlags, Layout, create, deps);
6218 }
6219 function imperativeHandleEffect(create, ref) {
6220 if ("function" === typeof ref) {
6221 create = create();
6222 var refCleanup = ref(create);
6223 return function() {
6224 "function" === typeof refCleanup ? refCleanup() : ref(null);
6225 };
6226 }
6227 if (null !== ref && void 0 !== ref)
6228 return ref.hasOwnProperty("current") || console.error(
6229 "Expected useImperativeHandle() first argument to either be a ref callback or React.createRef() object. Instead received: %s.",
6230 "an object with keys {" + Object.keys(ref).join(", ") + "}"
6231 ), create = create(), ref.current = create, function() {
6232 ref.current = null;
6233 };
6234 }
6235 function mountImperativeHandle(ref, create, deps) {
6236 "function" !== typeof create && console.error(
6237 "Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.",
6238 null !== create ? typeof create : "null"
6239 );
6240 deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;
6241 var fiberFlags = 4194308;
6242 (currentlyRenderingFiber.mode & StrictEffectsMode) !== NoMode && (fiberFlags |= 134217728);
6243 mountEffectImpl(
6244 fiberFlags,
6245 Layout,
6246 imperativeHandleEffect.bind(null, create, ref),
6247 deps
6248 );
6249 }
6250 function updateImperativeHandle(ref, create, deps) {
6251 "function" !== typeof create && console.error(
6252 "Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.",
6253 null !== create ? typeof create : "null"
6254 );
6255 deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;
6256 updateEffectImpl(
6257 4,
6258 Layout,
6259 imperativeHandleEffect.bind(null, create, ref),
6260 deps
6261 );
6262 }
6263 function mountCallback(callback, deps) {
6264 mountWorkInProgressHook().memoizedState = [
6265 callback,
6266 void 0 === deps ? null : deps
6267 ];
6268 return callback;
6269 }
6270 function updateCallback(callback, deps) {
6271 var hook = updateWorkInProgressHook();
6272 deps = void 0 === deps ? null : deps;
6273 var prevState = hook.memoizedState;
6274 if (null !== deps && areHookInputsEqual(deps, prevState[1]))
6275 return prevState[0];
6276 hook.memoizedState = [callback, deps];
6277 return callback;
6278 }
6279 function mountMemo(nextCreate, deps) {
6280 var hook = mountWorkInProgressHook();
6281 deps = void 0 === deps ? null : deps;
6282 var nextValue = nextCreate();
6283 if (shouldDoubleInvokeUserFnsInHooksDEV) {
6284 setIsStrictModeForDevtools(true);
6285 try {
6286 nextCreate();
6287 } finally {
6288 setIsStrictModeForDevtools(false);
6289 }
6290 }
6291 hook.memoizedState = [nextValue, deps];
6292 return nextValue;
6293 }
6294 function updateMemo(nextCreate, deps) {
6295 var hook = updateWorkInProgressHook();
6296 deps = void 0 === deps ? null : deps;
6297 var prevState = hook.memoizedState;
6298 if (null !== deps && areHookInputsEqual(deps, prevState[1]))
6299 return prevState[0];
6300 prevState = nextCreate();
6301 if (shouldDoubleInvokeUserFnsInHooksDEV) {
6302 setIsStrictModeForDevtools(true);
6303 try {
6304 nextCreate();
6305 } finally {
6306 setIsStrictModeForDevtools(false);
6307 }
6308 }
6309 hook.memoizedState = [prevState, deps];
6310 return prevState;
6311 }
6312 function mountDeferredValue(value, initialValue) {
6313 var hook = mountWorkInProgressHook();
6314 return mountDeferredValueImpl(hook, value, initialValue);
6315 }
6316 function updateDeferredValue(value, initialValue) {
6317 var hook = updateWorkInProgressHook();
6318 return updateDeferredValueImpl(
6319 hook,
6320 currentHook.memoizedState,
6321 value,
6322 initialValue
6323 );
6324 }
6325 function rerenderDeferredValue(value, initialValue) {
6326 var hook = updateWorkInProgressHook();
6327 return null === currentHook ? mountDeferredValueImpl(hook, value, initialValue) : updateDeferredValueImpl(
6328 hook,
6329 currentHook.memoizedState,
6330 value,
6331 initialValue
6332 );
6333 }
6334 function mountDeferredValueImpl(hook, value, initialValue) {
6335 if (void 0 === initialValue || 0 !== (renderLanes & 1073741824))
6336 return hook.memoizedState = value;
6337 hook.memoizedState = initialValue;
6338 hook = requestDeferredLane();
6339 currentlyRenderingFiber.lanes |= hook;
6340 workInProgressRootSkippedLanes |= hook;
6341 return initialValue;
6342 }
6343 function updateDeferredValueImpl(hook, prevValue, value, initialValue) {
6344 if (objectIs(value, prevValue)) return value;
6345 if (null !== currentTreeHiddenStackCursor.current)
6346 return hook = mountDeferredValueImpl(hook, value, initialValue), objectIs(hook, prevValue) || (didReceiveUpdate = true), hook;
6347 if (0 === (renderLanes & 42))
6348 return didReceiveUpdate = true, hook.memoizedState = value;
6349 hook = requestDeferredLane();
6350 currentlyRenderingFiber.lanes |= hook;
6351 workInProgressRootSkippedLanes |= hook;
6352 return prevValue;
6353 }
6354 function startTransition(fiber, queue, pendingState, finishedState, callback) {
6355 var previousPriority = ReactDOMSharedInternals.p;
6356 ReactDOMSharedInternals.p = 0 !== previousPriority && previousPriority < ContinuousEventPriority ? previousPriority : ContinuousEventPriority;
6357 var prevTransition = ReactSharedInternals.T, currentTransition = {};
6358 ReactSharedInternals.T = currentTransition;
6359 dispatchOptimisticSetState(fiber, false, queue, pendingState);
6360 currentTransition._updatedFibers = /* @__PURE__ */ new Set();
6361 try {
6362 var returnValue = callback(), onStartTransitionFinish = ReactSharedInternals.S;
6363 null !== onStartTransitionFinish && onStartTransitionFinish(currentTransition, returnValue);
6364 if (null !== returnValue && "object" === typeof returnValue && "function" === typeof returnValue.then) {
6365 var thenableForFinishedState = chainThenableValue(
6366 returnValue,
6367 finishedState
6368 );
6369 dispatchSetStateInternal(
6370 fiber,
6371 queue,
6372 thenableForFinishedState,
6373 requestUpdateLane(fiber)
6374 );
6375 } else
6376 dispatchSetStateInternal(
6377 fiber,
6378 queue,
6379 finishedState,
6380 requestUpdateLane(fiber)
6381 );
6382 } catch (error) {
6383 dispatchSetStateInternal(
6384 fiber,
6385 queue,
6386 { then: function() {
6387 }, status: "rejected", reason: error },
6388 requestUpdateLane(fiber)
6389 );
6390 } finally {
6391 ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = prevTransition, null === prevTransition && currentTransition._updatedFibers && (fiber = currentTransition._updatedFibers.size, currentTransition._updatedFibers.clear(), 10 < fiber && console.warn(
6392 "Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table."
6393 ));
6394 }
6395 }
6396 function startHostTransition(formFiber, pendingState, action, formData) {
6397 if (5 !== formFiber.tag)
6398 throw Error(
6399 "Expected the form instance to be a HostComponent. This is a bug in React."
6400 );
6401 var queue = ensureFormComponentIsStateful(formFiber).queue;
6402 startTransition(
6403 formFiber,
6404 queue,
6405 pendingState,
6406 NotPendingTransition,
6407 null === action ? noop$2 : function() {
6408 requestFormReset$1(formFiber);
6409 return action(formData);
6410 }
6411 );
6412 }
6413 function ensureFormComponentIsStateful(formFiber) {
6414 var existingStateHook = formFiber.memoizedState;
6415 if (null !== existingStateHook) return existingStateHook;
6416 existingStateHook = {
6417 memoizedState: NotPendingTransition,
6418 baseState: NotPendingTransition,
6419 baseQueue: null,
6420 queue: {
6421 pending: null,
6422 lanes: 0,
6423 dispatch: null,
6424 lastRenderedReducer: basicStateReducer,
6425 lastRenderedState: NotPendingTransition
6426 },
6427 next: null
6428 };
6429 var initialResetState = {};
6430 existingStateHook.next = {
6431 memoizedState: initialResetState,
6432 baseState: initialResetState,
6433 baseQueue: null,
6434 queue: {
6435 pending: null,
6436 lanes: 0,
6437 dispatch: null,
6438 lastRenderedReducer: basicStateReducer,
6439 lastRenderedState: initialResetState
6440 },
6441 next: null
6442 };
6443 formFiber.memoizedState = existingStateHook;
6444 formFiber = formFiber.alternate;
6445 null !== formFiber && (formFiber.memoizedState = existingStateHook);
6446 return existingStateHook;
6447 }
6448 function requestFormReset$1(formFiber) {
6449 null === ReactSharedInternals.T && console.error(
6450 "requestFormReset was called outside a transition or action. To fix, move to an action, or wrap with startTransition."
6451 );
6452 var resetStateQueue = ensureFormComponentIsStateful(formFiber).next.queue;
6453 dispatchSetStateInternal(
6454 formFiber,
6455 resetStateQueue,
6456 {},
6457 requestUpdateLane(formFiber)
6458 );
6459 }
6460 function mountTransition() {
6461 var stateHook = mountStateImpl(false);
6462 stateHook = startTransition.bind(
6463 null,
6464 currentlyRenderingFiber,
6465 stateHook.queue,
6466 true,
6467 false
6468 );
6469 mountWorkInProgressHook().memoizedState = stateHook;
6470 return [false, stateHook];
6471 }
6472 function updateTransition() {
6473 var booleanOrThenable = updateReducer(basicStateReducer)[0], start = updateWorkInProgressHook().memoizedState;
6474 return [
6475 "boolean" === typeof booleanOrThenable ? booleanOrThenable : useThenable(booleanOrThenable),
6476 start
6477 ];
6478 }
6479 function rerenderTransition() {
6480 var booleanOrThenable = rerenderReducer(basicStateReducer)[0], start = updateWorkInProgressHook().memoizedState;
6481 return [
6482 "boolean" === typeof booleanOrThenable ? booleanOrThenable : useThenable(booleanOrThenable),
6483 start
6484 ];
6485 }
6486 function useHostTransitionStatus() {
6487 return readContext(HostTransitionContext);
6488 }
6489 function mountId() {
6490 var hook = mountWorkInProgressHook(), identifierPrefix = workInProgressRoot.identifierPrefix;
6491 if (isHydrating) {
6492 var treeId = treeContextOverflow;
6493 var idWithLeadingBit = treeContextId;
6494 treeId = (idWithLeadingBit & ~(1 << 32 - clz32(idWithLeadingBit) - 1)).toString(32) + treeId;
6495 identifierPrefix = "\xAB" + identifierPrefix + "R" + treeId;
6496 treeId = localIdCounter++;
6497 0 < treeId && (identifierPrefix += "H" + treeId.toString(32));
6498 identifierPrefix += "\xBB";
6499 } else
6500 treeId = globalClientIdCounter++, identifierPrefix = "\xAB" + identifierPrefix + "r" + treeId.toString(32) + "\xBB";
6501 return hook.memoizedState = identifierPrefix;
6502 }
6503 function mountRefresh() {
6504 return mountWorkInProgressHook().memoizedState = refreshCache.bind(
6505 null,
6506 currentlyRenderingFiber
6507 );
6508 }
6509 function refreshCache(fiber, seedKey) {
6510 for (var provider = fiber.return; null !== provider; ) {
6511 switch (provider.tag) {
6512 case 24:
6513 case 3:
6514 var lane = requestUpdateLane(provider);
6515 fiber = createUpdate(lane);
6516 var root2 = enqueueUpdate(provider, fiber, lane);
6517 null !== root2 && (scheduleUpdateOnFiber(root2, provider, lane), entangleTransitions(root2, provider, lane));
6518 provider = createCache();
6519 null !== seedKey && void 0 !== seedKey && null !== root2 && console.error(
6520 "The seed argument is not enabled outside experimental channels."
6521 );
6522 fiber.payload = { cache: provider };
6523 return;
6524 }
6525 provider = provider.return;
6526 }
6527 }
6528 function dispatchReducerAction(fiber, queue, action) {
6529 var args = arguments;
6530 "function" === typeof args[3] && console.error(
6531 "State updates from the useState() and useReducer() Hooks don't support the second callback argument. To execute a side effect after rendering, declare it in the component body with useEffect()."
6532 );
6533 args = requestUpdateLane(fiber);
6534 var update = {
6535 lane: args,
6536 revertLane: 0,
6537 action,
6538 hasEagerState: false,
6539 eagerState: null,
6540 next: null
6541 };
6542 isRenderPhaseUpdate(fiber) ? enqueueRenderPhaseUpdate(queue, update) : (update = enqueueConcurrentHookUpdate(fiber, queue, update, args), null !== update && (scheduleUpdateOnFiber(update, fiber, args), entangleTransitionUpdate(update, queue, args)));
6543 markStateUpdateScheduled(fiber, args);
6544 }
6545 function dispatchSetState(fiber, queue, action) {
6546 var args = arguments;
6547 "function" === typeof args[3] && console.error(
6548 "State updates from the useState() and useReducer() Hooks don't support the second callback argument. To execute a side effect after rendering, declare it in the component body with useEffect()."
6549 );
6550 args = requestUpdateLane(fiber);
6551 dispatchSetStateInternal(fiber, queue, action, args);
6552 markStateUpdateScheduled(fiber, args);
6553 }
6554 function dispatchSetStateInternal(fiber, queue, action, lane) {
6555 var update = {
6556 lane,
6557 revertLane: 0,
6558 action,
6559 hasEagerState: false,
6560 eagerState: null,
6561 next: null
6562 };
6563 if (isRenderPhaseUpdate(fiber)) enqueueRenderPhaseUpdate(queue, update);
6564 else {
6565 var alternate = fiber.alternate;
6566 if (0 === fiber.lanes && (null === alternate || 0 === alternate.lanes) && (alternate = queue.lastRenderedReducer, null !== alternate)) {
6567 var prevDispatcher = ReactSharedInternals.H;
6568 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
6569 try {
6570 var currentState = queue.lastRenderedState, eagerState = alternate(currentState, action);
6571 update.hasEagerState = true;
6572 update.eagerState = eagerState;
6573 if (objectIs(eagerState, currentState))
6574 return enqueueUpdate$1(fiber, queue, update, 0), null === workInProgressRoot && finishQueueingConcurrentUpdates(), false;
6575 } catch (error) {
6576 } finally {
6577 ReactSharedInternals.H = prevDispatcher;
6578 }
6579 }
6580 action = enqueueConcurrentHookUpdate(fiber, queue, update, lane);
6581 if (null !== action)
6582 return scheduleUpdateOnFiber(action, fiber, lane), entangleTransitionUpdate(action, queue, lane), true;
6583 }
6584 return false;
6585 }
6586 function dispatchOptimisticSetState(fiber, throwIfDuringRender, queue, action) {
6587 null === ReactSharedInternals.T && 0 === currentEntangledLane && console.error(
6588 "An optimistic state update occurred outside a transition or action. To fix, move the update to an action, or wrap with startTransition."
6589 );
6590 action = {
6591 lane: 2,
6592 revertLane: requestTransitionLane(),
6593 action,
6594 hasEagerState: false,
6595 eagerState: null,
6596 next: null
6597 };
6598 if (isRenderPhaseUpdate(fiber)) {
6599 if (throwIfDuringRender)
6600 throw Error("Cannot update optimistic state while rendering.");
6601 console.error("Cannot call startTransition while rendering.");
6602 } else
6603 throwIfDuringRender = enqueueConcurrentHookUpdate(
6604 fiber,
6605 queue,
6606 action,
6607 2
6608 ), null !== throwIfDuringRender && scheduleUpdateOnFiber(throwIfDuringRender, fiber, 2);
6609 markStateUpdateScheduled(fiber, 2);
6610 }
6611 function isRenderPhaseUpdate(fiber) {
6612 var alternate = fiber.alternate;
6613 return fiber === currentlyRenderingFiber || null !== alternate && alternate === currentlyRenderingFiber;
6614 }
6615 function enqueueRenderPhaseUpdate(queue, update) {
6616 didScheduleRenderPhaseUpdateDuringThisPass = didScheduleRenderPhaseUpdate = true;
6617 var pending = queue.pending;
6618 null === pending ? update.next = update : (update.next = pending.next, pending.next = update);
6619 queue.pending = update;
6620 }
6621 function entangleTransitionUpdate(root2, queue, lane) {
6622 if (0 !== (lane & 4194048)) {
6623 var queueLanes = queue.lanes;
6624 queueLanes &= root2.pendingLanes;
6625 lane |= queueLanes;
6626 queue.lanes = lane;
6627 markRootEntangled(root2, lane);
6628 }
6629 }
6630 function pushDebugInfo(debugInfo) {
6631 var previousDebugInfo = currentDebugInfo;
6632 null != debugInfo && (currentDebugInfo = null === previousDebugInfo ? debugInfo : previousDebugInfo.concat(debugInfo));
6633 return previousDebugInfo;
6634 }
6635 function validateFragmentProps(element, fiber, returnFiber) {
6636 for (var keys = Object.keys(element.props), i = 0; i < keys.length; i++) {
6637 var key = keys[i];
6638 if ("children" !== key && "key" !== key) {
6639 null === fiber && (fiber = createFiberFromElement(element, returnFiber.mode, 0), fiber._debugInfo = currentDebugInfo, fiber.return = returnFiber);
6640 runWithFiberInDEV(
6641 fiber,
6642 function(erroredKey) {
6643 console.error(
6644 "Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",
6645 erroredKey
6646 );
6647 },
6648 key
6649 );
6650 break;
6651 }
6652 }
6653 }
6654 function unwrapThenable(thenable) {
6655 var index = thenableIndexCounter;
6656 thenableIndexCounter += 1;
6657 null === thenableState && (thenableState = createThenableState());
6658 return trackUsedThenable(thenableState, thenable, index);
6659 }
6660 function coerceRef(workInProgress2, element) {
6661 element = element.props.ref;
6662 workInProgress2.ref = void 0 !== element ? element : null;
6663 }
6664 function throwOnInvalidObjectType(returnFiber, newChild) {
6665 if (newChild.$$typeof === REACT_LEGACY_ELEMENT_TYPE)
6666 throw Error(
6667 'A React Element from an older version of React was rendered. This is not supported. It can happen if:\n- Multiple copies of the "react" package is used.\n- A library pre-bundled an old copy of "react" or "react/jsx-runtime".\n- A compiler tries to "inline" JSX instead of using the runtime.'
6668 );
6669 returnFiber = Object.prototype.toString.call(newChild);
6670 throw Error(
6671 "Objects are not valid as a React child (found: " + ("[object Object]" === returnFiber ? "object with keys {" + Object.keys(newChild).join(", ") + "}" : returnFiber) + "). If you meant to render a collection of children, use an array instead."
6672 );
6673 }
6674 function warnOnFunctionType(returnFiber, invalidChild) {
6675 var parentName = getComponentNameFromFiber(returnFiber) || "Component";
6676 ownerHasFunctionTypeWarning[parentName] || (ownerHasFunctionTypeWarning[parentName] = true, invalidChild = invalidChild.displayName || invalidChild.name || "Component", 3 === returnFiber.tag ? console.error(
6677 "Functions are not valid as a React child. This may happen if you return %s instead of <%s /> from render. Or maybe you meant to call this function rather than return it.\n root.render(%s)",
6678 invalidChild,
6679 invalidChild,
6680 invalidChild
6681 ) : console.error(
6682 "Functions are not valid as a React child. This may happen if you return %s instead of <%s /> from render. Or maybe you meant to call this function rather than return it.\n <%s>{%s}</%s>",
6683 invalidChild,
6684 invalidChild,
6685 parentName,
6686 invalidChild,
6687 parentName
6688 ));
6689 }
6690 function warnOnSymbolType(returnFiber, invalidChild) {
6691 var parentName = getComponentNameFromFiber(returnFiber) || "Component";
6692 ownerHasSymbolTypeWarning[parentName] || (ownerHasSymbolTypeWarning[parentName] = true, invalidChild = String(invalidChild), 3 === returnFiber.tag ? console.error(
6693 "Symbols are not valid as a React child.\n root.render(%s)",
6694 invalidChild
6695 ) : console.error(
6696 "Symbols are not valid as a React child.\n <%s>%s</%s>",
6697 parentName,
6698 invalidChild,
6699 parentName
6700 ));
6701 }
6702 function createChildReconciler(shouldTrackSideEffects) {
6703 function deleteChild(returnFiber, childToDelete) {
6704 if (shouldTrackSideEffects) {
6705 var deletions = returnFiber.deletions;
6706 null === deletions ? (returnFiber.deletions = [childToDelete], returnFiber.flags |= 16) : deletions.push(childToDelete);
6707 }
6708 }
6709 function deleteRemainingChildren(returnFiber, currentFirstChild) {
6710 if (!shouldTrackSideEffects) return null;
6711 for (; null !== currentFirstChild; )
6712 deleteChild(returnFiber, currentFirstChild), currentFirstChild = currentFirstChild.sibling;
6713 return null;
6714 }
6715 function mapRemainingChildren(currentFirstChild) {
6716 for (var existingChildren = /* @__PURE__ */ new Map(); null !== currentFirstChild; )
6717 null !== currentFirstChild.key ? existingChildren.set(currentFirstChild.key, currentFirstChild) : existingChildren.set(currentFirstChild.index, currentFirstChild), currentFirstChild = currentFirstChild.sibling;
6718 return existingChildren;
6719 }
6720 function useFiber(fiber, pendingProps) {
6721 fiber = createWorkInProgress(fiber, pendingProps);
6722 fiber.index = 0;
6723 fiber.sibling = null;
6724 return fiber;
6725 }
6726 function placeChild(newFiber, lastPlacedIndex, newIndex) {
6727 newFiber.index = newIndex;
6728 if (!shouldTrackSideEffects)
6729 return newFiber.flags |= 1048576, lastPlacedIndex;
6730 newIndex = newFiber.alternate;
6731 if (null !== newIndex)
6732 return newIndex = newIndex.index, newIndex < lastPlacedIndex ? (newFiber.flags |= 67108866, lastPlacedIndex) : newIndex;
6733 newFiber.flags |= 67108866;
6734 return lastPlacedIndex;
6735 }
6736 function placeSingleChild(newFiber) {
6737 shouldTrackSideEffects && null === newFiber.alternate && (newFiber.flags |= 67108866);
6738 return newFiber;
6739 }
6740 function updateTextNode(returnFiber, current2, textContent, lanes) {
6741 if (null === current2 || 6 !== current2.tag)
6742 return current2 = createFiberFromText(
6743 textContent,
6744 returnFiber.mode,
6745 lanes
6746 ), current2.return = returnFiber, current2._debugOwner = returnFiber, current2._debugTask = returnFiber._debugTask, current2._debugInfo = currentDebugInfo, current2;
6747 current2 = useFiber(current2, textContent);
6748 current2.return = returnFiber;
6749 current2._debugInfo = currentDebugInfo;
6750 return current2;
6751 }
6752 function updateElement(returnFiber, current2, element, lanes) {
6753 var elementType = element.type;
6754 if (elementType === REACT_FRAGMENT_TYPE)
6755 return current2 = updateFragment(
6756 returnFiber,
6757 current2,
6758 element.props.children,
6759 lanes,
6760 element.key
6761 ), validateFragmentProps(element, current2, returnFiber), current2;
6762 if (null !== current2 && (current2.elementType === elementType || isCompatibleFamilyForHotReloading(current2, element) || "object" === typeof elementType && null !== elementType && elementType.$$typeof === REACT_LAZY_TYPE && callLazyInitInDEV(elementType) === current2.type))
6763 return current2 = useFiber(current2, element.props), coerceRef(current2, element), current2.return = returnFiber, current2._debugOwner = element._owner, current2._debugInfo = currentDebugInfo, current2;
6764 current2 = createFiberFromElement(element, returnFiber.mode, lanes);
6765 coerceRef(current2, element);
6766 current2.return = returnFiber;
6767 current2._debugInfo = currentDebugInfo;
6768 return current2;
6769 }
6770 function updatePortal(returnFiber, current2, portal, lanes) {
6771 if (null === current2 || 4 !== current2.tag || current2.stateNode.containerInfo !== portal.containerInfo || current2.stateNode.implementation !== portal.implementation)
6772 return current2 = createFiberFromPortal(portal, returnFiber.mode, lanes), current2.return = returnFiber, current2._debugInfo = currentDebugInfo, current2;
6773 current2 = useFiber(current2, portal.children || []);
6774 current2.return = returnFiber;
6775 current2._debugInfo = currentDebugInfo;
6776 return current2;
6777 }
6778 function updateFragment(returnFiber, current2, fragment, lanes, key) {
6779 if (null === current2 || 7 !== current2.tag)
6780 return current2 = createFiberFromFragment(
6781 fragment,
6782 returnFiber.mode,
6783 lanes,
6784 key
6785 ), current2.return = returnFiber, current2._debugOwner = returnFiber, current2._debugTask = returnFiber._debugTask, current2._debugInfo = currentDebugInfo, current2;
6786 current2 = useFiber(current2, fragment);
6787 current2.return = returnFiber;
6788 current2._debugInfo = currentDebugInfo;
6789 return current2;
6790 }
6791 function createChild(returnFiber, newChild, lanes) {
6792 if ("string" === typeof newChild && "" !== newChild || "number" === typeof newChild || "bigint" === typeof newChild)
6793 return newChild = createFiberFromText(
6794 "" + newChild,
6795 returnFiber.mode,
6796 lanes
6797 ), newChild.return = returnFiber, newChild._debugOwner = returnFiber, newChild._debugTask = returnFiber._debugTask, newChild._debugInfo = currentDebugInfo, newChild;
6798 if ("object" === typeof newChild && null !== newChild) {
6799 switch (newChild.$$typeof) {
6800 case REACT_ELEMENT_TYPE:
6801 return lanes = createFiberFromElement(
6802 newChild,
6803 returnFiber.mode,
6804 lanes
6805 ), coerceRef(lanes, newChild), lanes.return = returnFiber, returnFiber = pushDebugInfo(newChild._debugInfo), lanes._debugInfo = currentDebugInfo, currentDebugInfo = returnFiber, lanes;
6806 case REACT_PORTAL_TYPE:
6807 return newChild = createFiberFromPortal(
6808 newChild,
6809 returnFiber.mode,
6810 lanes
6811 ), newChild.return = returnFiber, newChild._debugInfo = currentDebugInfo, newChild;
6812 case REACT_LAZY_TYPE:
6813 var _prevDebugInfo = pushDebugInfo(newChild._debugInfo);
6814 newChild = callLazyInitInDEV(newChild);
6815 returnFiber = createChild(returnFiber, newChild, lanes);
6816 currentDebugInfo = _prevDebugInfo;
6817 return returnFiber;
6818 }
6819 if (isArrayImpl(newChild) || getIteratorFn(newChild))
6820 return lanes = createFiberFromFragment(
6821 newChild,
6822 returnFiber.mode,
6823 lanes,
6824 null
6825 ), lanes.return = returnFiber, lanes._debugOwner = returnFiber, lanes._debugTask = returnFiber._debugTask, returnFiber = pushDebugInfo(newChild._debugInfo), lanes._debugInfo = currentDebugInfo, currentDebugInfo = returnFiber, lanes;
6826 if ("function" === typeof newChild.then)
6827 return _prevDebugInfo = pushDebugInfo(newChild._debugInfo), returnFiber = createChild(
6828 returnFiber,
6829 unwrapThenable(newChild),
6830 lanes
6831 ), currentDebugInfo = _prevDebugInfo, returnFiber;
6832 if (newChild.$$typeof === REACT_CONTEXT_TYPE)
6833 return createChild(
6834 returnFiber,
6835 readContextDuringReconciliation(returnFiber, newChild),
6836 lanes
6837 );
6838 throwOnInvalidObjectType(returnFiber, newChild);
6839 }
6840 "function" === typeof newChild && warnOnFunctionType(returnFiber, newChild);
6841 "symbol" === typeof newChild && warnOnSymbolType(returnFiber, newChild);
6842 return null;
6843 }
6844 function updateSlot(returnFiber, oldFiber, newChild, lanes) {
6845 var key = null !== oldFiber ? oldFiber.key : null;
6846 if ("string" === typeof newChild && "" !== newChild || "number" === typeof newChild || "bigint" === typeof newChild)
6847 return null !== key ? null : updateTextNode(returnFiber, oldFiber, "" + newChild, lanes);
6848 if ("object" === typeof newChild && null !== newChild) {
6849 switch (newChild.$$typeof) {
6850 case REACT_ELEMENT_TYPE:
6851 return newChild.key === key ? (key = pushDebugInfo(newChild._debugInfo), returnFiber = updateElement(
6852 returnFiber,
6853 oldFiber,
6854 newChild,
6855 lanes
6856 ), currentDebugInfo = key, returnFiber) : null;
6857 case REACT_PORTAL_TYPE:
6858 return newChild.key === key ? updatePortal(returnFiber, oldFiber, newChild, lanes) : null;
6859 case REACT_LAZY_TYPE:
6860 return key = pushDebugInfo(newChild._debugInfo), newChild = callLazyInitInDEV(newChild), returnFiber = updateSlot(
6861 returnFiber,
6862 oldFiber,
6863 newChild,
6864 lanes
6865 ), currentDebugInfo = key, returnFiber;
6866 }
6867 if (isArrayImpl(newChild) || getIteratorFn(newChild)) {
6868 if (null !== key) return null;
6869 key = pushDebugInfo(newChild._debugInfo);
6870 returnFiber = updateFragment(
6871 returnFiber,
6872 oldFiber,
6873 newChild,
6874 lanes,
6875 null
6876 );
6877 currentDebugInfo = key;
6878 return returnFiber;
6879 }
6880 if ("function" === typeof newChild.then)
6881 return key = pushDebugInfo(newChild._debugInfo), returnFiber = updateSlot(
6882 returnFiber,
6883 oldFiber,
6884 unwrapThenable(newChild),
6885 lanes
6886 ), currentDebugInfo = key, returnFiber;
6887 if (newChild.$$typeof === REACT_CONTEXT_TYPE)
6888 return updateSlot(
6889 returnFiber,
6890 oldFiber,
6891 readContextDuringReconciliation(returnFiber, newChild),
6892 lanes
6893 );
6894 throwOnInvalidObjectType(returnFiber, newChild);
6895 }
6896 "function" === typeof newChild && warnOnFunctionType(returnFiber, newChild);
6897 "symbol" === typeof newChild && warnOnSymbolType(returnFiber, newChild);
6898 return null;
6899 }
6900 function updateFromMap(existingChildren, returnFiber, newIdx, newChild, lanes) {
6901 if ("string" === typeof newChild && "" !== newChild || "number" === typeof newChild || "bigint" === typeof newChild)
6902 return existingChildren = existingChildren.get(newIdx) || null, updateTextNode(returnFiber, existingChildren, "" + newChild, lanes);
6903 if ("object" === typeof newChild && null !== newChild) {
6904 switch (newChild.$$typeof) {
6905 case REACT_ELEMENT_TYPE:
6906 return newIdx = existingChildren.get(
6907 null === newChild.key ? newIdx : newChild.key
6908 ) || null, existingChildren = pushDebugInfo(newChild._debugInfo), returnFiber = updateElement(
6909 returnFiber,
6910 newIdx,
6911 newChild,
6912 lanes
6913 ), currentDebugInfo = existingChildren, returnFiber;
6914 case REACT_PORTAL_TYPE:
6915 return existingChildren = existingChildren.get(
6916 null === newChild.key ? newIdx : newChild.key
6917 ) || null, updatePortal(returnFiber, existingChildren, newChild, lanes);
6918 case REACT_LAZY_TYPE:
6919 var _prevDebugInfo7 = pushDebugInfo(newChild._debugInfo);
6920 newChild = callLazyInitInDEV(newChild);
6921 returnFiber = updateFromMap(
6922 existingChildren,
6923 returnFiber,
6924 newIdx,
6925 newChild,
6926 lanes
6927 );
6928 currentDebugInfo = _prevDebugInfo7;
6929 return returnFiber;
6930 }
6931 if (isArrayImpl(newChild) || getIteratorFn(newChild))
6932 return newIdx = existingChildren.get(newIdx) || null, existingChildren = pushDebugInfo(newChild._debugInfo), returnFiber = updateFragment(
6933 returnFiber,
6934 newIdx,
6935 newChild,
6936 lanes,
6937 null
6938 ), currentDebugInfo = existingChildren, returnFiber;
6939 if ("function" === typeof newChild.then)
6940 return _prevDebugInfo7 = pushDebugInfo(newChild._debugInfo), returnFiber = updateFromMap(
6941 existingChildren,
6942 returnFiber,
6943 newIdx,
6944 unwrapThenable(newChild),
6945 lanes
6946 ), currentDebugInfo = _prevDebugInfo7, returnFiber;
6947 if (newChild.$$typeof === REACT_CONTEXT_TYPE)
6948 return updateFromMap(
6949 existingChildren,
6950 returnFiber,
6951 newIdx,
6952 readContextDuringReconciliation(returnFiber, newChild),
6953 lanes
6954 );
6955 throwOnInvalidObjectType(returnFiber, newChild);
6956 }
6957 "function" === typeof newChild && warnOnFunctionType(returnFiber, newChild);
6958 "symbol" === typeof newChild && warnOnSymbolType(returnFiber, newChild);
6959 return null;
6960 }
6961 function warnOnInvalidKey(returnFiber, workInProgress2, child, knownKeys) {
6962 if ("object" !== typeof child || null === child) return knownKeys;
6963 switch (child.$$typeof) {
6964 case REACT_ELEMENT_TYPE:
6965 case REACT_PORTAL_TYPE:
6966 warnForMissingKey(returnFiber, workInProgress2, child);
6967 var key = child.key;
6968 if ("string" !== typeof key) break;
6969 if (null === knownKeys) {
6970 knownKeys = /* @__PURE__ */ new Set();
6971 knownKeys.add(key);
6972 break;
6973 }
6974 if (!knownKeys.has(key)) {
6975 knownKeys.add(key);
6976 break;
6977 }
6978 runWithFiberInDEV(workInProgress2, function() {
6979 console.error(
6980 "Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted \u2014 the behavior is unsupported and could change in a future version.",
6981 key
6982 );
6983 });
6984 break;
6985 case REACT_LAZY_TYPE:
6986 child = callLazyInitInDEV(child), warnOnInvalidKey(returnFiber, workInProgress2, child, knownKeys);
6987 }
6988 return knownKeys;
6989 }
6990 function reconcileChildrenArray(returnFiber, currentFirstChild, newChildren, lanes) {
6991 for (var knownKeys = null, resultingFirstChild = null, previousNewFiber = null, oldFiber = currentFirstChild, newIdx = currentFirstChild = 0, nextOldFiber = null; null !== oldFiber && newIdx < newChildren.length; newIdx++) {
6992 oldFiber.index > newIdx ? (nextOldFiber = oldFiber, oldFiber = null) : nextOldFiber = oldFiber.sibling;
6993 var newFiber = updateSlot(
6994 returnFiber,
6995 oldFiber,
6996 newChildren[newIdx],
6997 lanes
6998 );
6999 if (null === newFiber) {
7000 null === oldFiber && (oldFiber = nextOldFiber);
7001 break;
7002 }
7003 knownKeys = warnOnInvalidKey(
7004 returnFiber,
7005 newFiber,
7006 newChildren[newIdx],
7007 knownKeys
7008 );
7009 shouldTrackSideEffects && oldFiber && null === newFiber.alternate && deleteChild(returnFiber, oldFiber);
7010 currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);
7011 null === previousNewFiber ? resultingFirstChild = newFiber : previousNewFiber.sibling = newFiber;
7012 previousNewFiber = newFiber;
7013 oldFiber = nextOldFiber;
7014 }
7015 if (newIdx === newChildren.length)
7016 return deleteRemainingChildren(returnFiber, oldFiber), isHydrating && pushTreeFork(returnFiber, newIdx), resultingFirstChild;
7017 if (null === oldFiber) {
7018 for (; newIdx < newChildren.length; newIdx++)
7019 oldFiber = createChild(returnFiber, newChildren[newIdx], lanes), null !== oldFiber && (knownKeys = warnOnInvalidKey(
7020 returnFiber,
7021 oldFiber,
7022 newChildren[newIdx],
7023 knownKeys
7024 ), currentFirstChild = placeChild(
7025 oldFiber,
7026 currentFirstChild,
7027 newIdx
7028 ), null === previousNewFiber ? resultingFirstChild = oldFiber : previousNewFiber.sibling = oldFiber, previousNewFiber = oldFiber);
7029 isHydrating && pushTreeFork(returnFiber, newIdx);
7030 return resultingFirstChild;
7031 }
7032 for (oldFiber = mapRemainingChildren(oldFiber); newIdx < newChildren.length; newIdx++)
7033 nextOldFiber = updateFromMap(
7034 oldFiber,
7035 returnFiber,
7036 newIdx,
7037 newChildren[newIdx],
7038 lanes
7039 ), null !== nextOldFiber && (knownKeys = warnOnInvalidKey(
7040 returnFiber,
7041 nextOldFiber,
7042 newChildren[newIdx],
7043 knownKeys
7044 ), shouldTrackSideEffects && null !== nextOldFiber.alternate && oldFiber.delete(
7045 null === nextOldFiber.key ? newIdx : nextOldFiber.key
7046 ), currentFirstChild = placeChild(
7047 nextOldFiber,
7048 currentFirstChild,
7049 newIdx
7050 ), null === previousNewFiber ? resultingFirstChild = nextOldFiber : previousNewFiber.sibling = nextOldFiber, previousNewFiber = nextOldFiber);
7051 shouldTrackSideEffects && oldFiber.forEach(function(child) {
7052 return deleteChild(returnFiber, child);
7053 });
7054 isHydrating && pushTreeFork(returnFiber, newIdx);
7055 return resultingFirstChild;
7056 }
7057 function reconcileChildrenIterator(returnFiber, currentFirstChild, newChildren, lanes) {
7058 if (null == newChildren)
7059 throw Error("An iterable object provided no iterator.");
7060 for (var resultingFirstChild = null, previousNewFiber = null, oldFiber = currentFirstChild, newIdx = currentFirstChild = 0, nextOldFiber = null, knownKeys = null, step = newChildren.next(); null !== oldFiber && !step.done; newIdx++, step = newChildren.next()) {
7061 oldFiber.index > newIdx ? (nextOldFiber = oldFiber, oldFiber = null) : nextOldFiber = oldFiber.sibling;
7062 var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes);
7063 if (null === newFiber) {
7064 null === oldFiber && (oldFiber = nextOldFiber);
7065 break;
7066 }
7067 knownKeys = warnOnInvalidKey(
7068 returnFiber,
7069 newFiber,
7070 step.value,
7071 knownKeys
7072 );
7073 shouldTrackSideEffects && oldFiber && null === newFiber.alternate && deleteChild(returnFiber, oldFiber);
7074 currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);
7075 null === previousNewFiber ? resultingFirstChild = newFiber : previousNewFiber.sibling = newFiber;
7076 previousNewFiber = newFiber;
7077 oldFiber = nextOldFiber;
7078 }
7079 if (step.done)
7080 return deleteRemainingChildren(returnFiber, oldFiber), isHydrating && pushTreeFork(returnFiber, newIdx), resultingFirstChild;
7081 if (null === oldFiber) {
7082 for (; !step.done; newIdx++, step = newChildren.next())
7083 oldFiber = createChild(returnFiber, step.value, lanes), null !== oldFiber && (knownKeys = warnOnInvalidKey(
7084 returnFiber,
7085 oldFiber,
7086 step.value,
7087 knownKeys
7088 ), currentFirstChild = placeChild(
7089 oldFiber,
7090 currentFirstChild,
7091 newIdx
7092 ), null === previousNewFiber ? resultingFirstChild = oldFiber : previousNewFiber.sibling = oldFiber, previousNewFiber = oldFiber);
7093 isHydrating && pushTreeFork(returnFiber, newIdx);
7094 return resultingFirstChild;
7095 }
7096 for (oldFiber = mapRemainingChildren(oldFiber); !step.done; newIdx++, step = newChildren.next())
7097 nextOldFiber = updateFromMap(
7098 oldFiber,
7099 returnFiber,
7100 newIdx,
7101 step.value,
7102 lanes
7103 ), null !== nextOldFiber && (knownKeys = warnOnInvalidKey(
7104 returnFiber,
7105 nextOldFiber,
7106 step.value,
7107 knownKeys
7108 ), shouldTrackSideEffects && null !== nextOldFiber.alternate && oldFiber.delete(
7109 null === nextOldFiber.key ? newIdx : nextOldFiber.key
7110 ), currentFirstChild = placeChild(
7111 nextOldFiber,
7112 currentFirstChild,
7113 newIdx
7114 ), null === previousNewFiber ? resultingFirstChild = nextOldFiber : previousNewFiber.sibling = nextOldFiber, previousNewFiber = nextOldFiber);
7115 shouldTrackSideEffects && oldFiber.forEach(function(child) {
7116 return deleteChild(returnFiber, child);
7117 });
7118 isHydrating && pushTreeFork(returnFiber, newIdx);
7119 return resultingFirstChild;
7120 }
7121 function reconcileChildFibersImpl(returnFiber, currentFirstChild, newChild, lanes) {
7122 "object" === typeof newChild && null !== newChild && newChild.type === REACT_FRAGMENT_TYPE && null === newChild.key && (validateFragmentProps(newChild, null, returnFiber), newChild = newChild.props.children);
7123 if ("object" === typeof newChild && null !== newChild) {
7124 switch (newChild.$$typeof) {
7125 case REACT_ELEMENT_TYPE:
7126 var prevDebugInfo = pushDebugInfo(newChild._debugInfo);
7127 a: {
7128 for (var key = newChild.key; null !== currentFirstChild; ) {
7129 if (currentFirstChild.key === key) {
7130 key = newChild.type;
7131 if (key === REACT_FRAGMENT_TYPE) {
7132 if (7 === currentFirstChild.tag) {
7133 deleteRemainingChildren(
7134 returnFiber,
7135 currentFirstChild.sibling
7136 );
7137 lanes = useFiber(
7138 currentFirstChild,
7139 newChild.props.children
7140 );
7141 lanes.return = returnFiber;
7142 lanes._debugOwner = newChild._owner;
7143 lanes._debugInfo = currentDebugInfo;
7144 validateFragmentProps(newChild, lanes, returnFiber);
7145 returnFiber = lanes;
7146 break a;
7147 }
7148 } else if (currentFirstChild.elementType === key || isCompatibleFamilyForHotReloading(
7149 currentFirstChild,
7150 newChild
7151 ) || "object" === typeof key && null !== key && key.$$typeof === REACT_LAZY_TYPE && callLazyInitInDEV(key) === currentFirstChild.type) {
7152 deleteRemainingChildren(
7153 returnFiber,
7154 currentFirstChild.sibling
7155 );
7156 lanes = useFiber(currentFirstChild, newChild.props);
7157 coerceRef(lanes, newChild);
7158 lanes.return = returnFiber;
7159 lanes._debugOwner = newChild._owner;
7160 lanes._debugInfo = currentDebugInfo;
7161 returnFiber = lanes;
7162 break a;
7163 }
7164 deleteRemainingChildren(returnFiber, currentFirstChild);
7165 break;
7166 } else deleteChild(returnFiber, currentFirstChild);
7167 currentFirstChild = currentFirstChild.sibling;
7168 }
7169 newChild.type === REACT_FRAGMENT_TYPE ? (lanes = createFiberFromFragment(
7170 newChild.props.children,
7171 returnFiber.mode,
7172 lanes,
7173 newChild.key
7174 ), lanes.return = returnFiber, lanes._debugOwner = returnFiber, lanes._debugTask = returnFiber._debugTask, lanes._debugInfo = currentDebugInfo, validateFragmentProps(newChild, lanes, returnFiber), returnFiber = lanes) : (lanes = createFiberFromElement(
7175 newChild,
7176 returnFiber.mode,
7177 lanes
7178 ), coerceRef(lanes, newChild), lanes.return = returnFiber, lanes._debugInfo = currentDebugInfo, returnFiber = lanes);
7179 }
7180 returnFiber = placeSingleChild(returnFiber);
7181 currentDebugInfo = prevDebugInfo;
7182 return returnFiber;
7183 case REACT_PORTAL_TYPE:
7184 a: {
7185 prevDebugInfo = newChild;
7186 for (newChild = prevDebugInfo.key; null !== currentFirstChild; ) {
7187 if (currentFirstChild.key === newChild)
7188 if (4 === currentFirstChild.tag && currentFirstChild.stateNode.containerInfo === prevDebugInfo.containerInfo && currentFirstChild.stateNode.implementation === prevDebugInfo.implementation) {
7189 deleteRemainingChildren(
7190 returnFiber,
7191 currentFirstChild.sibling
7192 );
7193 lanes = useFiber(
7194 currentFirstChild,
7195 prevDebugInfo.children || []
7196 );
7197 lanes.return = returnFiber;
7198 returnFiber = lanes;
7199 break a;
7200 } else {
7201 deleteRemainingChildren(returnFiber, currentFirstChild);
7202 break;
7203 }
7204 else deleteChild(returnFiber, currentFirstChild);
7205 currentFirstChild = currentFirstChild.sibling;
7206 }
7207 lanes = createFiberFromPortal(
7208 prevDebugInfo,
7209 returnFiber.mode,
7210 lanes
7211 );
7212 lanes.return = returnFiber;
7213 returnFiber = lanes;
7214 }
7215 return placeSingleChild(returnFiber);
7216 case REACT_LAZY_TYPE:
7217 return prevDebugInfo = pushDebugInfo(newChild._debugInfo), newChild = callLazyInitInDEV(newChild), returnFiber = reconcileChildFibersImpl(
7218 returnFiber,
7219 currentFirstChild,
7220 newChild,
7221 lanes
7222 ), currentDebugInfo = prevDebugInfo, returnFiber;
7223 }
7224 if (isArrayImpl(newChild))
7225 return prevDebugInfo = pushDebugInfo(newChild._debugInfo), returnFiber = reconcileChildrenArray(
7226 returnFiber,
7227 currentFirstChild,
7228 newChild,
7229 lanes
7230 ), currentDebugInfo = prevDebugInfo, returnFiber;
7231 if (getIteratorFn(newChild)) {
7232 prevDebugInfo = pushDebugInfo(newChild._debugInfo);
7233 key = getIteratorFn(newChild);
7234 if ("function" !== typeof key)
7235 throw Error(
7236 "An object is not an iterable. This error is likely caused by a bug in React. Please file an issue."
7237 );
7238 var newChildren = key.call(newChild);
7239 if (newChildren === newChild) {
7240 if (0 !== returnFiber.tag || "[object GeneratorFunction]" !== Object.prototype.toString.call(returnFiber.type) || "[object Generator]" !== Object.prototype.toString.call(newChildren))
7241 didWarnAboutGenerators || console.error(
7242 "Using Iterators as children is unsupported and will likely yield unexpected results because enumerating a generator mutates it. You may convert it to an array with `Array.from()` or the `[...spread]` operator before rendering. You can also use an Iterable that can iterate multiple times over the same items."
7243 ), didWarnAboutGenerators = true;
7244 } else
7245 newChild.entries !== key || didWarnAboutMaps || (console.error(
7246 "Using Maps as children is not supported. Use an array of keyed ReactElements instead."
7247 ), didWarnAboutMaps = true);
7248 returnFiber = reconcileChildrenIterator(
7249 returnFiber,
7250 currentFirstChild,
7251 newChildren,
7252 lanes
7253 );
7254 currentDebugInfo = prevDebugInfo;
7255 return returnFiber;
7256 }
7257 if ("function" === typeof newChild.then)
7258 return prevDebugInfo = pushDebugInfo(newChild._debugInfo), returnFiber = reconcileChildFibersImpl(
7259 returnFiber,
7260 currentFirstChild,
7261 unwrapThenable(newChild),
7262 lanes
7263 ), currentDebugInfo = prevDebugInfo, returnFiber;
7264 if (newChild.$$typeof === REACT_CONTEXT_TYPE)
7265 return reconcileChildFibersImpl(
7266 returnFiber,
7267 currentFirstChild,
7268 readContextDuringReconciliation(returnFiber, newChild),
7269 lanes
7270 );
7271 throwOnInvalidObjectType(returnFiber, newChild);
7272 }
7273 if ("string" === typeof newChild && "" !== newChild || "number" === typeof newChild || "bigint" === typeof newChild)
7274 return prevDebugInfo = "" + newChild, null !== currentFirstChild && 6 === currentFirstChild.tag ? (deleteRemainingChildren(
7275 returnFiber,
7276 currentFirstChild.sibling
7277 ), lanes = useFiber(currentFirstChild, prevDebugInfo), lanes.return = returnFiber, returnFiber = lanes) : (deleteRemainingChildren(returnFiber, currentFirstChild), lanes = createFiberFromText(
7278 prevDebugInfo,
7279 returnFiber.mode,
7280 lanes
7281 ), lanes.return = returnFiber, lanes._debugOwner = returnFiber, lanes._debugTask = returnFiber._debugTask, lanes._debugInfo = currentDebugInfo, returnFiber = lanes), placeSingleChild(returnFiber);
7282 "function" === typeof newChild && warnOnFunctionType(returnFiber, newChild);
7283 "symbol" === typeof newChild && warnOnSymbolType(returnFiber, newChild);
7284 return deleteRemainingChildren(returnFiber, currentFirstChild);
7285 }
7286 return function(returnFiber, currentFirstChild, newChild, lanes) {
7287 var prevDebugInfo = currentDebugInfo;
7288 currentDebugInfo = null;
7289 try {
7290 thenableIndexCounter = 0;
7291 var firstChildFiber = reconcileChildFibersImpl(
7292 returnFiber,
7293 currentFirstChild,
7294 newChild,
7295 lanes
7296 );
7297 thenableState = null;
7298 return firstChildFiber;
7299 } catch (x) {
7300 if (x === SuspenseException || x === SuspenseActionException) throw x;
7301 var fiber = createFiber(29, x, null, returnFiber.mode);
7302 fiber.lanes = lanes;
7303 fiber.return = returnFiber;
7304 var debugInfo = fiber._debugInfo = currentDebugInfo;
7305 fiber._debugOwner = returnFiber._debugOwner;
7306 fiber._debugTask = returnFiber._debugTask;
7307 if (null != debugInfo) {
7308 for (var i = debugInfo.length - 1; 0 <= i; i--)
7309 if ("string" === typeof debugInfo[i].stack) {
7310 fiber._debugOwner = debugInfo[i];
7311 fiber._debugTask = debugInfo[i].debugTask;
7312 break;
7313 }
7314 }
7315 return fiber;
7316 } finally {
7317 currentDebugInfo = prevDebugInfo;
7318 }
7319 };
7320 }
7321 function pushPrimaryTreeSuspenseHandler(handler) {
7322 var current2 = handler.alternate;
7323 push(
7324 suspenseStackCursor,
7325 suspenseStackCursor.current & SubtreeSuspenseContextMask,
7326 handler
7327 );
7328 push(suspenseHandlerStackCursor, handler, handler);
7329 null === shellBoundary && (null === current2 || null !== currentTreeHiddenStackCursor.current ? shellBoundary = handler : null !== current2.memoizedState && (shellBoundary = handler));
7330 }
7331 function pushOffscreenSuspenseHandler(fiber) {
7332 if (22 === fiber.tag) {
7333 if (push(suspenseStackCursor, suspenseStackCursor.current, fiber), push(suspenseHandlerStackCursor, fiber, fiber), null === shellBoundary) {
7334 var current2 = fiber.alternate;
7335 null !== current2 && null !== current2.memoizedState && (shellBoundary = fiber);
7336 }
7337 } else reuseSuspenseHandlerOnStack(fiber);
7338 }
7339 function reuseSuspenseHandlerOnStack(fiber) {
7340 push(suspenseStackCursor, suspenseStackCursor.current, fiber);
7341 push(
7342 suspenseHandlerStackCursor,
7343 suspenseHandlerStackCursor.current,
7344 fiber
7345 );
7346 }
7347 function popSuspenseHandler(fiber) {
7348 pop(suspenseHandlerStackCursor, fiber);
7349 shellBoundary === fiber && (shellBoundary = null);
7350 pop(suspenseStackCursor, fiber);
7351 }
7352 function findFirstSuspended(row) {
7353 for (var node = row; null !== node; ) {
7354 if (13 === node.tag) {
7355 var state = node.memoizedState;
7356 if (null !== state && (state = state.dehydrated, null === state || state.data === SUSPENSE_PENDING_START_DATA || isSuspenseInstanceFallback(state)))
7357 return node;
7358 } else if (19 === node.tag && void 0 !== node.memoizedProps.revealOrder) {
7359 if (0 !== (node.flags & 128)) return node;
7360 } else if (null !== node.child) {
7361 node.child.return = node;
7362 node = node.child;
7363 continue;
7364 }
7365 if (node === row) break;
7366 for (; null === node.sibling; ) {
7367 if (null === node.return || node.return === row) return null;
7368 node = node.return;
7369 }
7370 node.sibling.return = node.return;
7371 node = node.sibling;
7372 }
7373 return null;
7374 }
7375 function warnOnInvalidCallback(callback) {
7376 if (null !== callback && "function" !== typeof callback) {
7377 var key = String(callback);
7378 didWarnOnInvalidCallback.has(key) || (didWarnOnInvalidCallback.add(key), console.error(
7379 "Expected the last optional `callback` argument to be a function. Instead received: %s.",
7380 callback
7381 ));
7382 }
7383 }
7384 function applyDerivedStateFromProps(workInProgress2, ctor, getDerivedStateFromProps, nextProps) {
7385 var prevState = workInProgress2.memoizedState, partialState = getDerivedStateFromProps(nextProps, prevState);
7386 if (workInProgress2.mode & StrictLegacyMode) {
7387 setIsStrictModeForDevtools(true);
7388 try {
7389 partialState = getDerivedStateFromProps(nextProps, prevState);
7390 } finally {
7391 setIsStrictModeForDevtools(false);
7392 }
7393 }
7394 void 0 === partialState && (ctor = getComponentNameFromType(ctor) || "Component", didWarnAboutUndefinedDerivedState.has(ctor) || (didWarnAboutUndefinedDerivedState.add(ctor), console.error(
7395 "%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. You have returned undefined.",
7396 ctor
7397 )));
7398 prevState = null === partialState || void 0 === partialState ? prevState : assign({}, prevState, partialState);
7399 workInProgress2.memoizedState = prevState;
7400 0 === workInProgress2.lanes && (workInProgress2.updateQueue.baseState = prevState);
7401 }
7402 function checkShouldComponentUpdate(workInProgress2, ctor, oldProps, newProps, oldState, newState, nextContext) {
7403 var instance = workInProgress2.stateNode;
7404 if ("function" === typeof instance.shouldComponentUpdate) {
7405 oldProps = instance.shouldComponentUpdate(
7406 newProps,
7407 newState,
7408 nextContext
7409 );
7410 if (workInProgress2.mode & StrictLegacyMode) {
7411 setIsStrictModeForDevtools(true);
7412 try {
7413 oldProps = instance.shouldComponentUpdate(
7414 newProps,
7415 newState,
7416 nextContext
7417 );
7418 } finally {
7419 setIsStrictModeForDevtools(false);
7420 }
7421 }
7422 void 0 === oldProps && console.error(
7423 "%s.shouldComponentUpdate(): Returned undefined instead of a boolean value. Make sure to return true or false.",
7424 getComponentNameFromType(ctor) || "Component"
7425 );
7426 return oldProps;
7427 }
7428 return ctor.prototype && ctor.prototype.isPureReactComponent ? !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState) : true;
7429 }
7430 function callComponentWillReceiveProps(workInProgress2, instance, newProps, nextContext) {
7431 var oldState = instance.state;
7432 "function" === typeof instance.componentWillReceiveProps && instance.componentWillReceiveProps(newProps, nextContext);
7433 "function" === typeof instance.UNSAFE_componentWillReceiveProps && instance.UNSAFE_componentWillReceiveProps(newProps, nextContext);
7434 instance.state !== oldState && (workInProgress2 = getComponentNameFromFiber(workInProgress2) || "Component", didWarnAboutStateAssignmentForComponent.has(workInProgress2) || (didWarnAboutStateAssignmentForComponent.add(workInProgress2), console.error(
7435 "%s.componentWillReceiveProps(): Assigning directly to this.state is deprecated (except inside a component's constructor). Use setState instead.",
7436 workInProgress2
7437 )), classComponentUpdater.enqueueReplaceState(
7438 instance,
7439 instance.state,
7440 null
7441 ));
7442 }
7443 function resolveClassComponentProps(Component, baseProps) {
7444 var newProps = baseProps;
7445 if ("ref" in baseProps) {
7446 newProps = {};
7447 for (var propName in baseProps)
7448 "ref" !== propName && (newProps[propName] = baseProps[propName]);
7449 }
7450 if (Component = Component.defaultProps) {
7451 newProps === baseProps && (newProps = assign({}, newProps));
7452 for (var _propName in Component)
7453 void 0 === newProps[_propName] && (newProps[_propName] = Component[_propName]);
7454 }
7455 return newProps;
7456 }
7457 function defaultOnUncaughtError(error) {
7458 reportGlobalError(error);
7459 console.warn(
7460 "%s\n\n%s\n",
7461 componentName ? "An error occurred in the <" + componentName + "> component." : "An error occurred in one of your React components.",
7462 "Consider adding an error boundary to your tree to customize error handling behavior.\nVisit https://react.dev/link/error-boundaries to learn more about error boundaries."
7463 );
7464 }
7465 function defaultOnCaughtError(error) {
7466 var componentNameMessage = componentName ? "The above error occurred in the <" + componentName + "> component." : "The above error occurred in one of your React components.", recreateMessage = "React will try to recreate this component tree from scratch using the error boundary you provided, " + ((errorBoundaryName || "Anonymous") + ".");
7467 if ("object" === typeof error && null !== error && "string" === typeof error.environmentName) {
7468 var JSCompiler_inline_result = error.environmentName;
7469 error = [
7470 "%o\n\n%s\n\n%s\n",
7471 error,
7472 componentNameMessage,
7473 recreateMessage
7474 ].slice(0);
7475 "string" === typeof error[0] ? error.splice(
7476 0,
7477 1,
7478 badgeFormat + error[0],
7479 badgeStyle,
7480 pad + JSCompiler_inline_result + pad,
7481 resetStyle
7482 ) : error.splice(
7483 0,
7484 0,
7485 badgeFormat,
7486 badgeStyle,
7487 pad + JSCompiler_inline_result + pad,
7488 resetStyle
7489 );
7490 error.unshift(console);
7491 JSCompiler_inline_result = bind.apply(console.error, error);
7492 JSCompiler_inline_result();
7493 } else
7494 console.error(
7495 "%o\n\n%s\n\n%s\n",
7496 error,
7497 componentNameMessage,
7498 recreateMessage
7499 );
7500 }
7501 function defaultOnRecoverableError(error) {
7502 reportGlobalError(error);
7503 }
7504 function logUncaughtError(root2, errorInfo) {
7505 try {
7506 componentName = errorInfo.source ? getComponentNameFromFiber(errorInfo.source) : null;
7507 errorBoundaryName = null;
7508 var error = errorInfo.value;
7509 if (null !== ReactSharedInternals.actQueue)
7510 ReactSharedInternals.thrownErrors.push(error);
7511 else {
7512 var onUncaughtError = root2.onUncaughtError;
7513 onUncaughtError(error, { componentStack: errorInfo.stack });
7514 }
7515 } catch (e$5) {
7516 setTimeout(function() {
7517 throw e$5;
7518 });
7519 }
7520 }
7521 function logCaughtError(root2, boundary, errorInfo) {
7522 try {
7523 componentName = errorInfo.source ? getComponentNameFromFiber(errorInfo.source) : null;
7524 errorBoundaryName = getComponentNameFromFiber(boundary);
7525 var onCaughtError = root2.onCaughtError;
7526 onCaughtError(errorInfo.value, {
7527 componentStack: errorInfo.stack,
7528 errorBoundary: 1 === boundary.tag ? boundary.stateNode : null
7529 });
7530 } catch (e$6) {
7531 setTimeout(function() {
7532 throw e$6;
7533 });
7534 }
7535 }
7536 function createRootErrorUpdate(root2, errorInfo, lane) {
7537 lane = createUpdate(lane);
7538 lane.tag = CaptureUpdate;
7539 lane.payload = { element: null };
7540 lane.callback = function() {
7541 runWithFiberInDEV(errorInfo.source, logUncaughtError, root2, errorInfo);
7542 };
7543 return lane;
7544 }
7545 function createClassErrorUpdate(lane) {
7546 lane = createUpdate(lane);
7547 lane.tag = CaptureUpdate;
7548 return lane;
7549 }
7550 function initializeClassErrorUpdate(update, root2, fiber, errorInfo) {
7551 var getDerivedStateFromError = fiber.type.getDerivedStateFromError;
7552 if ("function" === typeof getDerivedStateFromError) {
7553 var error = errorInfo.value;
7554 update.payload = function() {
7555 return getDerivedStateFromError(error);
7556 };
7557 update.callback = function() {
7558 markFailedErrorBoundaryForHotReloading(fiber);
7559 runWithFiberInDEV(
7560 errorInfo.source,
7561 logCaughtError,
7562 root2,
7563 fiber,
7564 errorInfo
7565 );
7566 };
7567 }
7568 var inst = fiber.stateNode;
7569 null !== inst && "function" === typeof inst.componentDidCatch && (update.callback = function() {
7570 markFailedErrorBoundaryForHotReloading(fiber);
7571 runWithFiberInDEV(
7572 errorInfo.source,
7573 logCaughtError,
7574 root2,
7575 fiber,
7576 errorInfo
7577 );
7578 "function" !== typeof getDerivedStateFromError && (null === legacyErrorBoundariesThatAlreadyFailed ? legacyErrorBoundariesThatAlreadyFailed = /* @__PURE__ */ new Set([this]) : legacyErrorBoundariesThatAlreadyFailed.add(this));
7579 callComponentDidCatchInDEV(this, errorInfo);
7580 "function" === typeof getDerivedStateFromError || 0 === (fiber.lanes & 2) && console.error(
7581 "%s: Error boundaries should implement getDerivedStateFromError(). In that method, return a state update to display an error message or fallback UI.",
7582 getComponentNameFromFiber(fiber) || "Unknown"
7583 );
7584 });
7585 }
7586 function throwException(root2, returnFiber, sourceFiber, value, rootRenderLanes) {
7587 sourceFiber.flags |= 32768;
7588 isDevToolsPresent && restorePendingUpdaters(root2, rootRenderLanes);
7589 if (null !== value && "object" === typeof value && "function" === typeof value.then) {
7590 returnFiber = sourceFiber.alternate;
7591 null !== returnFiber && propagateParentContextChanges(
7592 returnFiber,
7593 sourceFiber,
7594 rootRenderLanes,
7595 true
7596 );
7597 isHydrating && (didSuspendOrErrorDEV = true);
7598 sourceFiber = suspenseHandlerStackCursor.current;
7599 if (null !== sourceFiber) {
7600 switch (sourceFiber.tag) {
7601 case 13:
7602 return null === shellBoundary ? renderDidSuspendDelayIfPossible() : null === sourceFiber.alternate && workInProgressRootExitStatus === RootInProgress && (workInProgressRootExitStatus = RootSuspended), sourceFiber.flags &= -257, sourceFiber.flags |= 65536, sourceFiber.lanes = rootRenderLanes, value === noopSuspenseyCommitThenable ? sourceFiber.flags |= 16384 : (returnFiber = sourceFiber.updateQueue, null === returnFiber ? sourceFiber.updateQueue = /* @__PURE__ */ new Set([value]) : returnFiber.add(value), attachPingListener(root2, value, rootRenderLanes)), false;
7603 case 22:
7604 return sourceFiber.flags |= 65536, value === noopSuspenseyCommitThenable ? sourceFiber.flags |= 16384 : (returnFiber = sourceFiber.updateQueue, null === returnFiber ? (returnFiber = {
7605 transitions: null,
7606 markerInstances: null,
7607 retryQueue: /* @__PURE__ */ new Set([value])
7608 }, sourceFiber.updateQueue = returnFiber) : (sourceFiber = returnFiber.retryQueue, null === sourceFiber ? returnFiber.retryQueue = /* @__PURE__ */ new Set([value]) : sourceFiber.add(value)), attachPingListener(root2, value, rootRenderLanes)), false;
7609 }
7610 throw Error(
7611 "Unexpected Suspense handler tag (" + sourceFiber.tag + "). This is a bug in React."
7612 );
7613 }
7614 attachPingListener(root2, value, rootRenderLanes);
7615 renderDidSuspendDelayIfPossible();
7616 return false;
7617 }
7618 if (isHydrating)
7619 return didSuspendOrErrorDEV = true, returnFiber = suspenseHandlerStackCursor.current, null !== returnFiber ? (0 === (returnFiber.flags & 65536) && (returnFiber.flags |= 256), returnFiber.flags |= 65536, returnFiber.lanes = rootRenderLanes, value !== HydrationMismatchException && queueHydrationError(
7620 createCapturedValueAtFiber(
7621 Error(
7622 "There was an error while hydrating but React was able to recover by instead client rendering from the nearest Suspense boundary.",
7623 { cause: value }
7624 ),
7625 sourceFiber
7626 )
7627 )) : (value !== HydrationMismatchException && queueHydrationError(
7628 createCapturedValueAtFiber(
7629 Error(
7630 "There was an error while hydrating but React was able to recover by instead client rendering the entire root.",
7631 { cause: value }
7632 ),
7633 sourceFiber
7634 )
7635 ), root2 = root2.current.alternate, root2.flags |= 65536, rootRenderLanes &= -rootRenderLanes, root2.lanes |= rootRenderLanes, value = createCapturedValueAtFiber(value, sourceFiber), rootRenderLanes = createRootErrorUpdate(
7636 root2.stateNode,
7637 value,
7638 rootRenderLanes
7639 ), enqueueCapturedUpdate(root2, rootRenderLanes), workInProgressRootExitStatus !== RootSuspendedWithDelay && (workInProgressRootExitStatus = RootErrored)), false;
7640 var error = createCapturedValueAtFiber(
7641 Error(
7642 "There was an error during concurrent rendering but React was able to recover by instead synchronously rendering the entire root.",
7643 { cause: value }
7644 ),
7645 sourceFiber
7646 );
7647 null === workInProgressRootConcurrentErrors ? workInProgressRootConcurrentErrors = [error] : workInProgressRootConcurrentErrors.push(error);
7648 workInProgressRootExitStatus !== RootSuspendedWithDelay && (workInProgressRootExitStatus = RootErrored);
7649 if (null === returnFiber) return true;
7650 value = createCapturedValueAtFiber(value, sourceFiber);
7651 sourceFiber = returnFiber;
7652 do {
7653 switch (sourceFiber.tag) {
7654 case 3:
7655 return sourceFiber.flags |= 65536, root2 = rootRenderLanes & -rootRenderLanes, sourceFiber.lanes |= root2, root2 = createRootErrorUpdate(
7656 sourceFiber.stateNode,
7657 value,
7658 root2
7659 ), enqueueCapturedUpdate(sourceFiber, root2), false;
7660 case 1:
7661 if (returnFiber = sourceFiber.type, error = sourceFiber.stateNode, 0 === (sourceFiber.flags & 128) && ("function" === typeof returnFiber.getDerivedStateFromError || null !== error && "function" === typeof error.componentDidCatch && (null === legacyErrorBoundariesThatAlreadyFailed || !legacyErrorBoundariesThatAlreadyFailed.has(error))))
7662 return sourceFiber.flags |= 65536, rootRenderLanes &= -rootRenderLanes, sourceFiber.lanes |= rootRenderLanes, rootRenderLanes = createClassErrorUpdate(rootRenderLanes), initializeClassErrorUpdate(
7663 rootRenderLanes,
7664 root2,
7665 sourceFiber,
7666 value
7667 ), enqueueCapturedUpdate(sourceFiber, rootRenderLanes), false;
7668 }
7669 sourceFiber = sourceFiber.return;
7670 } while (null !== sourceFiber);
7671 return false;
7672 }
7673 function reconcileChildren(current2, workInProgress2, nextChildren, renderLanes2) {
7674 workInProgress2.child = null === current2 ? mountChildFibers(workInProgress2, null, nextChildren, renderLanes2) : reconcileChildFibers(
7675 workInProgress2,
7676 current2.child,
7677 nextChildren,
7678 renderLanes2
7679 );
7680 }
7681 function updateForwardRef(current2, workInProgress2, Component, nextProps, renderLanes2) {
7682 Component = Component.render;
7683 var ref = workInProgress2.ref;
7684 if ("ref" in nextProps) {
7685 var propsWithoutRef = {};
7686 for (var key in nextProps)
7687 "ref" !== key && (propsWithoutRef[key] = nextProps[key]);
7688 } else propsWithoutRef = nextProps;
7689 prepareToReadContext(workInProgress2);
7690 markComponentRenderStarted(workInProgress2);
7691 nextProps = renderWithHooks(
7692 current2,
7693 workInProgress2,
7694 Component,
7695 propsWithoutRef,
7696 ref,
7697 renderLanes2
7698 );
7699 key = checkDidRenderIdHook();
7700 markComponentRenderStopped();
7701 if (null !== current2 && !didReceiveUpdate)
7702 return bailoutHooks(current2, workInProgress2, renderLanes2), bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2);
7703 isHydrating && key && pushMaterializedTreeId(workInProgress2);
7704 workInProgress2.flags |= 1;
7705 reconcileChildren(current2, workInProgress2, nextProps, renderLanes2);
7706 return workInProgress2.child;
7707 }
7708 function updateMemoComponent(current2, workInProgress2, Component, nextProps, renderLanes2) {
7709 if (null === current2) {
7710 var type = Component.type;
7711 if ("function" === typeof type && !shouldConstruct(type) && void 0 === type.defaultProps && null === Component.compare)
7712 return Component = resolveFunctionForHotReloading(type), workInProgress2.tag = 15, workInProgress2.type = Component, validateFunctionComponentInDev(workInProgress2, type), updateSimpleMemoComponent(
7713 current2,
7714 workInProgress2,
7715 Component,
7716 nextProps,
7717 renderLanes2
7718 );
7719 current2 = createFiberFromTypeAndProps(
7720 Component.type,
7721 null,
7722 nextProps,
7723 workInProgress2,
7724 workInProgress2.mode,
7725 renderLanes2
7726 );
7727 current2.ref = workInProgress2.ref;
7728 current2.return = workInProgress2;
7729 return workInProgress2.child = current2;
7730 }
7731 type = current2.child;
7732 if (!checkScheduledUpdateOrContext(current2, renderLanes2)) {
7733 var prevProps = type.memoizedProps;
7734 Component = Component.compare;
7735 Component = null !== Component ? Component : shallowEqual;
7736 if (Component(prevProps, nextProps) && current2.ref === workInProgress2.ref)
7737 return bailoutOnAlreadyFinishedWork(
7738 current2,
7739 workInProgress2,
7740 renderLanes2
7741 );
7742 }
7743 workInProgress2.flags |= 1;
7744 current2 = createWorkInProgress(type, nextProps);
7745 current2.ref = workInProgress2.ref;
7746 current2.return = workInProgress2;
7747 return workInProgress2.child = current2;
7748 }
7749 function updateSimpleMemoComponent(current2, workInProgress2, Component, nextProps, renderLanes2) {
7750 if (null !== current2) {
7751 var prevProps = current2.memoizedProps;
7752 if (shallowEqual(prevProps, nextProps) && current2.ref === workInProgress2.ref && workInProgress2.type === current2.type)
7753 if (didReceiveUpdate = false, workInProgress2.pendingProps = nextProps = prevProps, checkScheduledUpdateOrContext(current2, renderLanes2))
7754 0 !== (current2.flags & 131072) && (didReceiveUpdate = true);
7755 else
7756 return workInProgress2.lanes = current2.lanes, bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2);
7757 }
7758 return updateFunctionComponent(
7759 current2,
7760 workInProgress2,
7761 Component,
7762 nextProps,
7763 renderLanes2
7764 );
7765 }
7766 function updateOffscreenComponent(current2, workInProgress2, renderLanes2) {
7767 var nextProps = workInProgress2.pendingProps, nextChildren = nextProps.children, prevState = null !== current2 ? current2.memoizedState : null;
7768 if ("hidden" === nextProps.mode) {
7769 if (0 !== (workInProgress2.flags & 128)) {
7770 nextProps = null !== prevState ? prevState.baseLanes | renderLanes2 : renderLanes2;
7771 if (null !== current2) {
7772 nextChildren = workInProgress2.child = current2.child;
7773 for (prevState = 0; null !== nextChildren; )
7774 prevState = prevState | nextChildren.lanes | nextChildren.childLanes, nextChildren = nextChildren.sibling;
7775 workInProgress2.childLanes = prevState & ~nextProps;
7776 } else workInProgress2.childLanes = 0, workInProgress2.child = null;
7777 return deferHiddenOffscreenComponent(
7778 current2,
7779 workInProgress2,
7780 nextProps,
7781 renderLanes2
7782 );
7783 }
7784 if (0 !== (renderLanes2 & 536870912))
7785 workInProgress2.memoizedState = { baseLanes: 0, cachePool: null }, null !== current2 && pushTransition(
7786 workInProgress2,
7787 null !== prevState ? prevState.cachePool : null
7788 ), null !== prevState ? pushHiddenContext(workInProgress2, prevState) : reuseHiddenContextOnStack(workInProgress2), pushOffscreenSuspenseHandler(workInProgress2);
7789 else
7790 return workInProgress2.lanes = workInProgress2.childLanes = 536870912, deferHiddenOffscreenComponent(
7791 current2,
7792 workInProgress2,
7793 null !== prevState ? prevState.baseLanes | renderLanes2 : renderLanes2,
7794 renderLanes2
7795 );
7796 } else
7797 null !== prevState ? (pushTransition(workInProgress2, prevState.cachePool), pushHiddenContext(workInProgress2, prevState), reuseSuspenseHandlerOnStack(workInProgress2), workInProgress2.memoizedState = null) : (null !== current2 && pushTransition(workInProgress2, null), reuseHiddenContextOnStack(workInProgress2), reuseSuspenseHandlerOnStack(workInProgress2));
7798 reconcileChildren(current2, workInProgress2, nextChildren, renderLanes2);
7799 return workInProgress2.child;
7800 }
7801 function deferHiddenOffscreenComponent(current2, workInProgress2, nextBaseLanes, renderLanes2) {
7802 var JSCompiler_inline_result = peekCacheFromPool();
7803 JSCompiler_inline_result = null === JSCompiler_inline_result ? null : {
7804 parent: CacheContext._currentValue,
7805 pool: JSCompiler_inline_result
7806 };
7807 workInProgress2.memoizedState = {
7808 baseLanes: nextBaseLanes,
7809 cachePool: JSCompiler_inline_result
7810 };
7811 null !== current2 && pushTransition(workInProgress2, null);
7812 reuseHiddenContextOnStack(workInProgress2);
7813 pushOffscreenSuspenseHandler(workInProgress2);
7814 null !== current2 && propagateParentContextChanges(current2, workInProgress2, renderLanes2, true);
7815 return null;
7816 }
7817 function markRef(current2, workInProgress2) {
7818 var ref = workInProgress2.ref;
7819 if (null === ref)
7820 null !== current2 && null !== current2.ref && (workInProgress2.flags |= 4194816);
7821 else {
7822 if ("function" !== typeof ref && "object" !== typeof ref)
7823 throw Error(
7824 "Expected ref to be a function, an object returned by React.createRef(), or undefined/null."
7825 );
7826 if (null === current2 || current2.ref !== ref)
7827 workInProgress2.flags |= 4194816;
7828 }
7829 }
7830 function updateFunctionComponent(current2, workInProgress2, Component, nextProps, renderLanes2) {
7831 if (Component.prototype && "function" === typeof Component.prototype.render) {
7832 var componentName2 = getComponentNameFromType(Component) || "Unknown";
7833 didWarnAboutBadClass[componentName2] || (console.error(
7834 "The <%s /> component appears to have a render method, but doesn't extend React.Component. This is likely to cause errors. Change %s to extend React.Component instead.",
7835 componentName2,
7836 componentName2
7837 ), didWarnAboutBadClass[componentName2] = true);
7838 }
7839 workInProgress2.mode & StrictLegacyMode && ReactStrictModeWarnings.recordLegacyContextWarning(
7840 workInProgress2,
7841 null
7842 );
7843 null === current2 && (validateFunctionComponentInDev(workInProgress2, workInProgress2.type), Component.contextTypes && (componentName2 = getComponentNameFromType(Component) || "Unknown", didWarnAboutContextTypes[componentName2] || (didWarnAboutContextTypes[componentName2] = true, console.error(
7844 "%s uses the legacy contextTypes API which was removed in React 19. Use React.createContext() with React.useContext() instead. (https://react.dev/link/legacy-context)",
7845 componentName2
7846 ))));
7847 prepareToReadContext(workInProgress2);
7848 markComponentRenderStarted(workInProgress2);
7849 Component = renderWithHooks(
7850 current2,
7851 workInProgress2,
7852 Component,
7853 nextProps,
7854 void 0,
7855 renderLanes2
7856 );
7857 nextProps = checkDidRenderIdHook();
7858 markComponentRenderStopped();
7859 if (null !== current2 && !didReceiveUpdate)
7860 return bailoutHooks(current2, workInProgress2, renderLanes2), bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2);
7861 isHydrating && nextProps && pushMaterializedTreeId(workInProgress2);
7862 workInProgress2.flags |= 1;
7863 reconcileChildren(current2, workInProgress2, Component, renderLanes2);
7864 return workInProgress2.child;
7865 }
7866 function replayFunctionComponent(current2, workInProgress2, nextProps, Component, secondArg, renderLanes2) {
7867 prepareToReadContext(workInProgress2);
7868 markComponentRenderStarted(workInProgress2);
7869 hookTypesUpdateIndexDev = -1;
7870 ignorePreviousDependencies = null !== current2 && current2.type !== workInProgress2.type;
7871 workInProgress2.updateQueue = null;
7872 nextProps = renderWithHooksAgain(
7873 workInProgress2,
7874 Component,
7875 nextProps,
7876 secondArg
7877 );
7878 finishRenderingHooks(current2, workInProgress2);
7879 Component = checkDidRenderIdHook();
7880 markComponentRenderStopped();
7881 if (null !== current2 && !didReceiveUpdate)
7882 return bailoutHooks(current2, workInProgress2, renderLanes2), bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2);
7883 isHydrating && Component && pushMaterializedTreeId(workInProgress2);
7884 workInProgress2.flags |= 1;
7885 reconcileChildren(current2, workInProgress2, nextProps, renderLanes2);
7886 return workInProgress2.child;
7887 }
7888 function updateClassComponent(current2, workInProgress2, Component, nextProps, renderLanes2) {
7889 switch (shouldErrorImpl(workInProgress2)) {
7890 case false:
7891 var _instance = workInProgress2.stateNode, state = new workInProgress2.type(
7892 workInProgress2.memoizedProps,
7893 _instance.context
7894 ).state;
7895 _instance.updater.enqueueSetState(_instance, state, null);
7896 break;
7897 case true:
7898 workInProgress2.flags |= 128;
7899 workInProgress2.flags |= 65536;
7900 _instance = Error("Simulated error coming from DevTools");
7901 var lane = renderLanes2 & -renderLanes2;
7902 workInProgress2.lanes |= lane;
7903 state = workInProgressRoot;
7904 if (null === state)
7905 throw Error(
7906 "Expected a work-in-progress root. This is a bug in React. Please file an issue."
7907 );
7908 lane = createClassErrorUpdate(lane);
7909 initializeClassErrorUpdate(
7910 lane,
7911 state,
7912 workInProgress2,
7913 createCapturedValueAtFiber(_instance, workInProgress2)
7914 );
7915 enqueueCapturedUpdate(workInProgress2, lane);
7916 }
7917 prepareToReadContext(workInProgress2);
7918 if (null === workInProgress2.stateNode) {
7919 state = emptyContextObject;
7920 _instance = Component.contextType;
7921 "contextType" in Component && null !== _instance && (void 0 === _instance || _instance.$$typeof !== REACT_CONTEXT_TYPE) && !didWarnAboutInvalidateContextType.has(Component) && (didWarnAboutInvalidateContextType.add(Component), lane = void 0 === _instance ? " However, it is set to undefined. This can be caused by a typo or by mixing up named and default imports. This can also happen due to a circular dependency, so try moving the createContext() call to a separate file." : "object" !== typeof _instance ? " However, it is set to a " + typeof _instance + "." : _instance.$$typeof === REACT_CONSUMER_TYPE ? " Did you accidentally pass the Context.Consumer instead?" : " However, it is set to an object with keys {" + Object.keys(_instance).join(", ") + "}.", console.error(
7922 "%s defines an invalid contextType. contextType should point to the Context object returned by React.createContext().%s",
7923 getComponentNameFromType(Component) || "Component",
7924 lane
7925 ));
7926 "object" === typeof _instance && null !== _instance && (state = readContext(_instance));
7927 _instance = new Component(nextProps, state);
7928 if (workInProgress2.mode & StrictLegacyMode) {
7929 setIsStrictModeForDevtools(true);
7930 try {
7931 _instance = new Component(nextProps, state);
7932 } finally {
7933 setIsStrictModeForDevtools(false);
7934 }
7935 }
7936 state = workInProgress2.memoizedState = null !== _instance.state && void 0 !== _instance.state ? _instance.state : null;
7937 _instance.updater = classComponentUpdater;
7938 workInProgress2.stateNode = _instance;
7939 _instance._reactInternals = workInProgress2;
7940 _instance._reactInternalInstance = fakeInternalInstance;
7941 "function" === typeof Component.getDerivedStateFromProps && null === state && (state = getComponentNameFromType(Component) || "Component", didWarnAboutUninitializedState.has(state) || (didWarnAboutUninitializedState.add(state), console.error(
7942 "`%s` uses `getDerivedStateFromProps` but its initial state is %s. This is not recommended. Instead, define the initial state by assigning an object to `this.state` in the constructor of `%s`. This ensures that `getDerivedStateFromProps` arguments have a consistent shape.",
7943 state,
7944 null === _instance.state ? "null" : "undefined",
7945 state
7946 )));
7947 if ("function" === typeof Component.getDerivedStateFromProps || "function" === typeof _instance.getSnapshotBeforeUpdate) {
7948 var foundWillUpdateName = lane = state = null;
7949 "function" === typeof _instance.componentWillMount && true !== _instance.componentWillMount.__suppressDeprecationWarning ? state = "componentWillMount" : "function" === typeof _instance.UNSAFE_componentWillMount && (state = "UNSAFE_componentWillMount");
7950 "function" === typeof _instance.componentWillReceiveProps && true !== _instance.componentWillReceiveProps.__suppressDeprecationWarning ? lane = "componentWillReceiveProps" : "function" === typeof _instance.UNSAFE_componentWillReceiveProps && (lane = "UNSAFE_componentWillReceiveProps");
7951 "function" === typeof _instance.componentWillUpdate && true !== _instance.componentWillUpdate.__suppressDeprecationWarning ? foundWillUpdateName = "componentWillUpdate" : "function" === typeof _instance.UNSAFE_componentWillUpdate && (foundWillUpdateName = "UNSAFE_componentWillUpdate");
7952 if (null !== state || null !== lane || null !== foundWillUpdateName) {
7953 _instance = getComponentNameFromType(Component) || "Component";
7954 var newApiName = "function" === typeof Component.getDerivedStateFromProps ? "getDerivedStateFromProps()" : "getSnapshotBeforeUpdate()";
7955 didWarnAboutLegacyLifecyclesAndDerivedState.has(_instance) || (didWarnAboutLegacyLifecyclesAndDerivedState.add(_instance), console.error(
7956 "Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n%s uses %s but also contains the following legacy lifecycles:%s%s%s\n\nThe above lifecycles should be removed. Learn more about this warning here:\nhttps://react.dev/link/unsafe-component-lifecycles",
7957 _instance,
7958 newApiName,
7959 null !== state ? "\n " + state : "",
7960 null !== lane ? "\n " + lane : "",
7961 null !== foundWillUpdateName ? "\n " + foundWillUpdateName : ""
7962 ));
7963 }
7964 }
7965 _instance = workInProgress2.stateNode;
7966 state = getComponentNameFromType(Component) || "Component";
7967 _instance.render || (Component.prototype && "function" === typeof Component.prototype.render ? console.error(
7968 "No `render` method found on the %s instance: did you accidentally return an object from the constructor?",
7969 state
7970 ) : console.error(
7971 "No `render` method found on the %s instance: you may have forgotten to define `render`.",
7972 state
7973 ));
7974 !_instance.getInitialState || _instance.getInitialState.isReactClassApproved || _instance.state || console.error(
7975 "getInitialState was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Did you mean to define a state property instead?",
7976 state
7977 );
7978 _instance.getDefaultProps && !_instance.getDefaultProps.isReactClassApproved && console.error(
7979 "getDefaultProps was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Use a static property to define defaultProps instead.",
7980 state
7981 );
7982 _instance.contextType && console.error(
7983 "contextType was defined as an instance property on %s. Use a static property to define contextType instead.",
7984 state
7985 );
7986 Component.childContextTypes && !didWarnAboutChildContextTypes.has(Component) && (didWarnAboutChildContextTypes.add(Component), console.error(
7987 "%s uses the legacy childContextTypes API which was removed in React 19. Use React.createContext() instead. (https://react.dev/link/legacy-context)",
7988 state
7989 ));
7990 Component.contextTypes && !didWarnAboutContextTypes$1.has(Component) && (didWarnAboutContextTypes$1.add(Component), console.error(
7991 "%s uses the legacy contextTypes API which was removed in React 19. Use React.createContext() with static contextType instead. (https://react.dev/link/legacy-context)",
7992 state
7993 ));
7994 "function" === typeof _instance.componentShouldUpdate && console.error(
7995 "%s has a method called componentShouldUpdate(). Did you mean shouldComponentUpdate()? The name is phrased as a question because the function is expected to return a value.",
7996 state
7997 );
7998 Component.prototype && Component.prototype.isPureReactComponent && "undefined" !== typeof _instance.shouldComponentUpdate && console.error(
7999 "%s has a method called shouldComponentUpdate(). shouldComponentUpdate should not be used when extending React.PureComponent. Please extend React.Component if shouldComponentUpdate is used.",
8000 getComponentNameFromType(Component) || "A pure component"
8001 );
8002 "function" === typeof _instance.componentDidUnmount && console.error(
8003 "%s has a method called componentDidUnmount(). But there is no such lifecycle method. Did you mean componentWillUnmount()?",
8004 state
8005 );
8006 "function" === typeof _instance.componentDidReceiveProps && console.error(
8007 "%s has a method called componentDidReceiveProps(). But there is no such lifecycle method. If you meant to update the state in response to changing props, use componentWillReceiveProps(). If you meant to fetch data or run side-effects or mutations after React has updated the UI, use componentDidUpdate().",
8008 state
8009 );
8010 "function" === typeof _instance.componentWillRecieveProps && console.error(
8011 "%s has a method called componentWillRecieveProps(). Did you mean componentWillReceiveProps()?",
8012 state
8013 );
8014 "function" === typeof _instance.UNSAFE_componentWillRecieveProps && console.error(
8015 "%s has a method called UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?",
8016 state
8017 );
8018 lane = _instance.props !== nextProps;
8019 void 0 !== _instance.props && lane && console.error(
8020 "When calling super() in `%s`, make sure to pass up the same props that your component's constructor was passed.",
8021 state
8022 );
8023 _instance.defaultProps && console.error(
8024 "Setting defaultProps as an instance property on %s is not supported and will be ignored. Instead, define defaultProps as a static property on %s.",
8025 state,
8026 state
8027 );
8028 "function" !== typeof _instance.getSnapshotBeforeUpdate || "function" === typeof _instance.componentDidUpdate || didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.has(Component) || (didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.add(Component), console.error(
8029 "%s: getSnapshotBeforeUpdate() should be used with componentDidUpdate(). This component defines getSnapshotBeforeUpdate() only.",
8030 getComponentNameFromType(Component)
8031 ));
8032 "function" === typeof _instance.getDerivedStateFromProps && console.error(
8033 "%s: getDerivedStateFromProps() is defined as an instance method and will be ignored. Instead, declare it as a static method.",
8034 state
8035 );
8036 "function" === typeof _instance.getDerivedStateFromError && console.error(
8037 "%s: getDerivedStateFromError() is defined as an instance method and will be ignored. Instead, declare it as a static method.",
8038 state
8039 );
8040 "function" === typeof Component.getSnapshotBeforeUpdate && console.error(
8041 "%s: getSnapshotBeforeUpdate() is defined as a static method and will be ignored. Instead, declare it as an instance method.",
8042 state
8043 );
8044 (lane = _instance.state) && ("object" !== typeof lane || isArrayImpl(lane)) && console.error("%s.state: must be set to an object or null", state);
8045 "function" === typeof _instance.getChildContext && "object" !== typeof Component.childContextTypes && console.error(
8046 "%s.getChildContext(): childContextTypes must be defined in order to use getChildContext().",
8047 state
8048 );
8049 _instance = workInProgress2.stateNode;
8050 _instance.props = nextProps;
8051 _instance.state = workInProgress2.memoizedState;
8052 _instance.refs = {};
8053 initializeUpdateQueue(workInProgress2);
8054 state = Component.contextType;
8055 _instance.context = "object" === typeof state && null !== state ? readContext(state) : emptyContextObject;
8056 _instance.state === nextProps && (state = getComponentNameFromType(Component) || "Component", didWarnAboutDirectlyAssigningPropsToState.has(state) || (didWarnAboutDirectlyAssigningPropsToState.add(state), console.error(
8057 "%s: It is not recommended to assign props directly to state because updates to props won't be reflected in state. In most cases, it is better to use props directly.",
8058 state
8059 )));
8060 workInProgress2.mode & StrictLegacyMode && ReactStrictModeWarnings.recordLegacyContextWarning(
8061 workInProgress2,
8062 _instance
8063 );
8064 ReactStrictModeWarnings.recordUnsafeLifecycleWarnings(
8065 workInProgress2,
8066 _instance
8067 );
8068 _instance.state = workInProgress2.memoizedState;
8069 state = Component.getDerivedStateFromProps;
8070 "function" === typeof state && (applyDerivedStateFromProps(
8071 workInProgress2,
8072 Component,
8073 state,
8074 nextProps
8075 ), _instance.state = workInProgress2.memoizedState);
8076 "function" === typeof Component.getDerivedStateFromProps || "function" === typeof _instance.getSnapshotBeforeUpdate || "function" !== typeof _instance.UNSAFE_componentWillMount && "function" !== typeof _instance.componentWillMount || (state = _instance.state, "function" === typeof _instance.componentWillMount && _instance.componentWillMount(), "function" === typeof _instance.UNSAFE_componentWillMount && _instance.UNSAFE_componentWillMount(), state !== _instance.state && (console.error(
8077 "%s.componentWillMount(): Assigning directly to this.state is deprecated (except inside a component's constructor). Use setState instead.",
8078 getComponentNameFromFiber(workInProgress2) || "Component"
8079 ), classComponentUpdater.enqueueReplaceState(
8080 _instance,
8081 _instance.state,
8082 null
8083 )), processUpdateQueue(workInProgress2, nextProps, _instance, renderLanes2), suspendIfUpdateReadFromEntangledAsyncAction(), _instance.state = workInProgress2.memoizedState);
8084 "function" === typeof _instance.componentDidMount && (workInProgress2.flags |= 4194308);
8085 (workInProgress2.mode & StrictEffectsMode) !== NoMode && (workInProgress2.flags |= 134217728);
8086 _instance = true;
8087 } else if (null === current2) {
8088 _instance = workInProgress2.stateNode;
8089 var unresolvedOldProps = workInProgress2.memoizedProps;
8090 lane = resolveClassComponentProps(Component, unresolvedOldProps);
8091 _instance.props = lane;
8092 var oldContext = _instance.context;
8093 foundWillUpdateName = Component.contextType;
8094 state = emptyContextObject;
8095 "object" === typeof foundWillUpdateName && null !== foundWillUpdateName && (state = readContext(foundWillUpdateName));
8096 newApiName = Component.getDerivedStateFromProps;
8097 foundWillUpdateName = "function" === typeof newApiName || "function" === typeof _instance.getSnapshotBeforeUpdate;
8098 unresolvedOldProps = workInProgress2.pendingProps !== unresolvedOldProps;
8099 foundWillUpdateName || "function" !== typeof _instance.UNSAFE_componentWillReceiveProps && "function" !== typeof _instance.componentWillReceiveProps || (unresolvedOldProps || oldContext !== state) && callComponentWillReceiveProps(
8100 workInProgress2,
8101 _instance,
8102 nextProps,
8103 state
8104 );
8105 hasForceUpdate = false;
8106 var oldState = workInProgress2.memoizedState;
8107 _instance.state = oldState;
8108 processUpdateQueue(workInProgress2, nextProps, _instance, renderLanes2);
8109 suspendIfUpdateReadFromEntangledAsyncAction();
8110 oldContext = workInProgress2.memoizedState;
8111 unresolvedOldProps || oldState !== oldContext || hasForceUpdate ? ("function" === typeof newApiName && (applyDerivedStateFromProps(
8112 workInProgress2,
8113 Component,
8114 newApiName,
8115 nextProps
8116 ), oldContext = workInProgress2.memoizedState), (lane = hasForceUpdate || checkShouldComponentUpdate(
8117 workInProgress2,
8118 Component,
8119 lane,
8120 nextProps,
8121 oldState,
8122 oldContext,
8123 state
8124 )) ? (foundWillUpdateName || "function" !== typeof _instance.UNSAFE_componentWillMount && "function" !== typeof _instance.componentWillMount || ("function" === typeof _instance.componentWillMount && _instance.componentWillMount(), "function" === typeof _instance.UNSAFE_componentWillMount && _instance.UNSAFE_componentWillMount()), "function" === typeof _instance.componentDidMount && (workInProgress2.flags |= 4194308), (workInProgress2.mode & StrictEffectsMode) !== NoMode && (workInProgress2.flags |= 134217728)) : ("function" === typeof _instance.componentDidMount && (workInProgress2.flags |= 4194308), (workInProgress2.mode & StrictEffectsMode) !== NoMode && (workInProgress2.flags |= 134217728), workInProgress2.memoizedProps = nextProps, workInProgress2.memoizedState = oldContext), _instance.props = nextProps, _instance.state = oldContext, _instance.context = state, _instance = lane) : ("function" === typeof _instance.componentDidMount && (workInProgress2.flags |= 4194308), (workInProgress2.mode & StrictEffectsMode) !== NoMode && (workInProgress2.flags |= 134217728), _instance = false);
8125 } else {
8126 _instance = workInProgress2.stateNode;
8127 cloneUpdateQueue(current2, workInProgress2);
8128 state = workInProgress2.memoizedProps;
8129 foundWillUpdateName = resolveClassComponentProps(Component, state);
8130 _instance.props = foundWillUpdateName;
8131 newApiName = workInProgress2.pendingProps;
8132 oldState = _instance.context;
8133 oldContext = Component.contextType;
8134 lane = emptyContextObject;
8135 "object" === typeof oldContext && null !== oldContext && (lane = readContext(oldContext));
8136 unresolvedOldProps = Component.getDerivedStateFromProps;
8137 (oldContext = "function" === typeof unresolvedOldProps || "function" === typeof _instance.getSnapshotBeforeUpdate) || "function" !== typeof _instance.UNSAFE_componentWillReceiveProps && "function" !== typeof _instance.componentWillReceiveProps || (state !== newApiName || oldState !== lane) && callComponentWillReceiveProps(
8138 workInProgress2,
8139 _instance,
8140 nextProps,
8141 lane
8142 );
8143 hasForceUpdate = false;
8144 oldState = workInProgress2.memoizedState;
8145 _instance.state = oldState;
8146 processUpdateQueue(workInProgress2, nextProps, _instance, renderLanes2);
8147 suspendIfUpdateReadFromEntangledAsyncAction();
8148 var newState = workInProgress2.memoizedState;
8149 state !== newApiName || oldState !== newState || hasForceUpdate || null !== current2 && null !== current2.dependencies && checkIfContextChanged(current2.dependencies) ? ("function" === typeof unresolvedOldProps && (applyDerivedStateFromProps(
8150 workInProgress2,
8151 Component,
8152 unresolvedOldProps,
8153 nextProps
8154 ), newState = workInProgress2.memoizedState), (foundWillUpdateName = hasForceUpdate || checkShouldComponentUpdate(
8155 workInProgress2,
8156 Component,
8157 foundWillUpdateName,
8158 nextProps,
8159 oldState,
8160 newState,
8161 lane
8162 ) || null !== current2 && null !== current2.dependencies && checkIfContextChanged(current2.dependencies)) ? (oldContext || "function" !== typeof _instance.UNSAFE_componentWillUpdate && "function" !== typeof _instance.componentWillUpdate || ("function" === typeof _instance.componentWillUpdate && _instance.componentWillUpdate(nextProps, newState, lane), "function" === typeof _instance.UNSAFE_componentWillUpdate && _instance.UNSAFE_componentWillUpdate(
8163 nextProps,
8164 newState,
8165 lane
8166 )), "function" === typeof _instance.componentDidUpdate && (workInProgress2.flags |= 4), "function" === typeof _instance.getSnapshotBeforeUpdate && (workInProgress2.flags |= 1024)) : ("function" !== typeof _instance.componentDidUpdate || state === current2.memoizedProps && oldState === current2.memoizedState || (workInProgress2.flags |= 4), "function" !== typeof _instance.getSnapshotBeforeUpdate || state === current2.memoizedProps && oldState === current2.memoizedState || (workInProgress2.flags |= 1024), workInProgress2.memoizedProps = nextProps, workInProgress2.memoizedState = newState), _instance.props = nextProps, _instance.state = newState, _instance.context = lane, _instance = foundWillUpdateName) : ("function" !== typeof _instance.componentDidUpdate || state === current2.memoizedProps && oldState === current2.memoizedState || (workInProgress2.flags |= 4), "function" !== typeof _instance.getSnapshotBeforeUpdate || state === current2.memoizedProps && oldState === current2.memoizedState || (workInProgress2.flags |= 1024), _instance = false);
8167 }
8168 lane = _instance;
8169 markRef(current2, workInProgress2);
8170 state = 0 !== (workInProgress2.flags & 128);
8171 if (lane || state) {
8172 lane = workInProgress2.stateNode;
8173 setCurrentFiber(workInProgress2);
8174 if (state && "function" !== typeof Component.getDerivedStateFromError)
8175 Component = null, profilerStartTime = -1;
8176 else {
8177 markComponentRenderStarted(workInProgress2);
8178 Component = callRenderInDEV(lane);
8179 if (workInProgress2.mode & StrictLegacyMode) {
8180 setIsStrictModeForDevtools(true);
8181 try {
8182 callRenderInDEV(lane);
8183 } finally {
8184 setIsStrictModeForDevtools(false);
8185 }
8186 }
8187 markComponentRenderStopped();
8188 }
8189 workInProgress2.flags |= 1;
8190 null !== current2 && state ? (workInProgress2.child = reconcileChildFibers(
8191 workInProgress2,
8192 current2.child,
8193 null,
8194 renderLanes2
8195 ), workInProgress2.child = reconcileChildFibers(
8196 workInProgress2,
8197 null,
8198 Component,
8199 renderLanes2
8200 )) : reconcileChildren(current2, workInProgress2, Component, renderLanes2);
8201 workInProgress2.memoizedState = lane.state;
8202 current2 = workInProgress2.child;
8203 } else
8204 current2 = bailoutOnAlreadyFinishedWork(
8205 current2,
8206 workInProgress2,
8207 renderLanes2
8208 );
8209 renderLanes2 = workInProgress2.stateNode;
8210 _instance && renderLanes2.props !== nextProps && (didWarnAboutReassigningProps || console.error(
8211 "It looks like %s is reassigning its own `this.props` while rendering. This is not supported and can lead to confusing bugs.",
8212 getComponentNameFromFiber(workInProgress2) || "a component"
8213 ), didWarnAboutReassigningProps = true);
8214 return current2;
8215 }
8216 function mountHostRootWithoutHydrating(current2, workInProgress2, nextChildren, renderLanes2) {
8217 resetHydrationState();
8218 workInProgress2.flags |= 256;
8219 reconcileChildren(current2, workInProgress2, nextChildren, renderLanes2);
8220 return workInProgress2.child;
8221 }
8222 function validateFunctionComponentInDev(workInProgress2, Component) {
8223 Component && Component.childContextTypes && console.error(
8224 "childContextTypes cannot be defined on a function component.\n %s.childContextTypes = ...",
8225 Component.displayName || Component.name || "Component"
8226 );
8227 "function" === typeof Component.getDerivedStateFromProps && (workInProgress2 = getComponentNameFromType(Component) || "Unknown", didWarnAboutGetDerivedStateOnFunctionComponent[workInProgress2] || (console.error(
8228 "%s: Function components do not support getDerivedStateFromProps.",
8229 workInProgress2
8230 ), didWarnAboutGetDerivedStateOnFunctionComponent[workInProgress2] = true));
8231 "object" === typeof Component.contextType && null !== Component.contextType && (Component = getComponentNameFromType(Component) || "Unknown", didWarnAboutContextTypeOnFunctionComponent[Component] || (console.error(
8232 "%s: Function components do not support contextType.",
8233 Component
8234 ), didWarnAboutContextTypeOnFunctionComponent[Component] = true));
8235 }
8236 function mountSuspenseOffscreenState(renderLanes2) {
8237 return { baseLanes: renderLanes2, cachePool: getSuspendedCache() };
8238 }
8239 function getRemainingWorkInPrimaryTree(current2, primaryTreeDidDefer, renderLanes2) {
8240 current2 = null !== current2 ? current2.childLanes & ~renderLanes2 : 0;
8241 primaryTreeDidDefer && (current2 |= workInProgressDeferredLane);
8242 return current2;
8243 }
8244 function updateSuspenseComponent(current2, workInProgress2, renderLanes2) {
8245 var JSCompiler_object_inline_digest_2451;
8246 var JSCompiler_object_inline_stack_2452 = workInProgress2.pendingProps;
8247 shouldSuspendImpl(workInProgress2) && (workInProgress2.flags |= 128);
8248 var JSCompiler_object_inline_componentStack_2453 = false;
8249 var didSuspend = 0 !== (workInProgress2.flags & 128);
8250 (JSCompiler_object_inline_digest_2451 = didSuspend) || (JSCompiler_object_inline_digest_2451 = null !== current2 && null === current2.memoizedState ? false : 0 !== (suspenseStackCursor.current & ForceSuspenseFallback));
8251 JSCompiler_object_inline_digest_2451 && (JSCompiler_object_inline_componentStack_2453 = true, workInProgress2.flags &= -129);
8252 JSCompiler_object_inline_digest_2451 = 0 !== (workInProgress2.flags & 32);
8253 workInProgress2.flags &= -33;
8254 if (null === current2) {
8255 if (isHydrating) {
8256 JSCompiler_object_inline_componentStack_2453 ? pushPrimaryTreeSuspenseHandler(workInProgress2) : reuseSuspenseHandlerOnStack(workInProgress2);
8257 if (isHydrating) {
8258 var JSCompiler_object_inline_message_2450 = nextHydratableInstance;
8259 var JSCompiler_temp;
8260 if (!(JSCompiler_temp = !JSCompiler_object_inline_message_2450)) {
8261 c: {
8262 var instance = JSCompiler_object_inline_message_2450;
8263 for (JSCompiler_temp = rootOrSingletonContext; 8 !== instance.nodeType; ) {
8264 if (!JSCompiler_temp) {
8265 JSCompiler_temp = null;
8266 break c;
8267 }
8268 instance = getNextHydratable(instance.nextSibling);
8269 if (null === instance) {
8270 JSCompiler_temp = null;
8271 break c;
8272 }
8273 }
8274 JSCompiler_temp = instance;
8275 }
8276 null !== JSCompiler_temp ? (warnIfNotHydrating(), workInProgress2.memoizedState = {
8277 dehydrated: JSCompiler_temp,
8278 treeContext: null !== treeContextProvider ? { id: treeContextId, overflow: treeContextOverflow } : null,
8279 retryLane: 536870912,
8280 hydrationErrors: null
8281 }, instance = createFiber(18, null, null, NoMode), instance.stateNode = JSCompiler_temp, instance.return = workInProgress2, workInProgress2.child = instance, hydrationParentFiber = workInProgress2, nextHydratableInstance = null, JSCompiler_temp = true) : JSCompiler_temp = false;
8282 JSCompiler_temp = !JSCompiler_temp;
8283 }
8284 JSCompiler_temp && (warnNonHydratedInstance(
8285 workInProgress2,
8286 JSCompiler_object_inline_message_2450
8287 ), throwOnHydrationMismatch(workInProgress2));
8288 }
8289 JSCompiler_object_inline_message_2450 = workInProgress2.memoizedState;
8290 if (null !== JSCompiler_object_inline_message_2450 && (JSCompiler_object_inline_message_2450 = JSCompiler_object_inline_message_2450.dehydrated, null !== JSCompiler_object_inline_message_2450))
8291 return isSuspenseInstanceFallback(JSCompiler_object_inline_message_2450) ? workInProgress2.lanes = 32 : workInProgress2.lanes = 536870912, null;
8292 popSuspenseHandler(workInProgress2);
8293 }
8294 JSCompiler_object_inline_message_2450 = JSCompiler_object_inline_stack_2452.children;
8295 JSCompiler_object_inline_stack_2452 = JSCompiler_object_inline_stack_2452.fallback;
8296 if (JSCompiler_object_inline_componentStack_2453)
8297 return reuseSuspenseHandlerOnStack(workInProgress2), JSCompiler_object_inline_componentStack_2453 = workInProgress2.mode, JSCompiler_object_inline_message_2450 = mountWorkInProgressOffscreenFiber(
8298 {
8299 mode: "hidden",
8300 children: JSCompiler_object_inline_message_2450
8301 },
8302 JSCompiler_object_inline_componentStack_2453
8303 ), JSCompiler_object_inline_stack_2452 = createFiberFromFragment(
8304 JSCompiler_object_inline_stack_2452,
8305 JSCompiler_object_inline_componentStack_2453,
8306 renderLanes2,
8307 null
8308 ), JSCompiler_object_inline_message_2450.return = workInProgress2, JSCompiler_object_inline_stack_2452.return = workInProgress2, JSCompiler_object_inline_message_2450.sibling = JSCompiler_object_inline_stack_2452, workInProgress2.child = JSCompiler_object_inline_message_2450, JSCompiler_object_inline_componentStack_2453 = workInProgress2.child, JSCompiler_object_inline_componentStack_2453.memoizedState = mountSuspenseOffscreenState(renderLanes2), JSCompiler_object_inline_componentStack_2453.childLanes = getRemainingWorkInPrimaryTree(
8309 current2,
8310 JSCompiler_object_inline_digest_2451,
8311 renderLanes2
8312 ), workInProgress2.memoizedState = SUSPENDED_MARKER, JSCompiler_object_inline_stack_2452;
8313 pushPrimaryTreeSuspenseHandler(workInProgress2);
8314 return mountSuspensePrimaryChildren(
8315 workInProgress2,
8316 JSCompiler_object_inline_message_2450
8317 );
8318 }
8319 var prevState = current2.memoizedState;
8320 if (null !== prevState && (JSCompiler_object_inline_message_2450 = prevState.dehydrated, null !== JSCompiler_object_inline_message_2450)) {
8321 if (didSuspend)
8322 workInProgress2.flags & 256 ? (pushPrimaryTreeSuspenseHandler(workInProgress2), workInProgress2.flags &= -257, workInProgress2 = retrySuspenseComponentWithoutHydrating(
8323 current2,
8324 workInProgress2,
8325 renderLanes2
8326 )) : null !== workInProgress2.memoizedState ? (reuseSuspenseHandlerOnStack(workInProgress2), workInProgress2.child = current2.child, workInProgress2.flags |= 128, workInProgress2 = null) : (reuseSuspenseHandlerOnStack(workInProgress2), JSCompiler_object_inline_componentStack_2453 = JSCompiler_object_inline_stack_2452.fallback, JSCompiler_object_inline_message_2450 = workInProgress2.mode, JSCompiler_object_inline_stack_2452 = mountWorkInProgressOffscreenFiber(
8327 {
8328 mode: "visible",
8329 children: JSCompiler_object_inline_stack_2452.children
8330 },
8331 JSCompiler_object_inline_message_2450
8332 ), JSCompiler_object_inline_componentStack_2453 = createFiberFromFragment(
8333 JSCompiler_object_inline_componentStack_2453,
8334 JSCompiler_object_inline_message_2450,
8335 renderLanes2,
8336 null
8337 ), JSCompiler_object_inline_componentStack_2453.flags |= 2, JSCompiler_object_inline_stack_2452.return = workInProgress2, JSCompiler_object_inline_componentStack_2453.return = workInProgress2, JSCompiler_object_inline_stack_2452.sibling = JSCompiler_object_inline_componentStack_2453, workInProgress2.child = JSCompiler_object_inline_stack_2452, reconcileChildFibers(
8338 workInProgress2,
8339 current2.child,
8340 null,
8341 renderLanes2
8342 ), JSCompiler_object_inline_stack_2452 = workInProgress2.child, JSCompiler_object_inline_stack_2452.memoizedState = mountSuspenseOffscreenState(renderLanes2), JSCompiler_object_inline_stack_2452.childLanes = getRemainingWorkInPrimaryTree(
8343 current2,
8344 JSCompiler_object_inline_digest_2451,
8345 renderLanes2
8346 ), workInProgress2.memoizedState = SUSPENDED_MARKER, workInProgress2 = JSCompiler_object_inline_componentStack_2453);
8347 else if (pushPrimaryTreeSuspenseHandler(workInProgress2), isHydrating && console.error(
8348 "We should not be hydrating here. This is a bug in React. Please file a bug."
8349 ), isSuspenseInstanceFallback(JSCompiler_object_inline_message_2450)) {
8350 JSCompiler_object_inline_digest_2451 = JSCompiler_object_inline_message_2450.nextSibling && JSCompiler_object_inline_message_2450.nextSibling.dataset;
8351 if (JSCompiler_object_inline_digest_2451) {
8352 JSCompiler_temp = JSCompiler_object_inline_digest_2451.dgst;
8353 var message = JSCompiler_object_inline_digest_2451.msg;
8354 instance = JSCompiler_object_inline_digest_2451.stck;
8355 var componentStack = JSCompiler_object_inline_digest_2451.cstck;
8356 }
8357 JSCompiler_object_inline_message_2450 = message;
8358 JSCompiler_object_inline_digest_2451 = JSCompiler_temp;
8359 JSCompiler_object_inline_stack_2452 = instance;
8360 JSCompiler_temp = JSCompiler_object_inline_componentStack_2453 = componentStack;
8361 JSCompiler_object_inline_componentStack_2453 = JSCompiler_object_inline_message_2450 ? Error(JSCompiler_object_inline_message_2450) : Error(
8362 "The server could not finish this Suspense boundary, likely due to an error during server rendering. Switched to client rendering."
8363 );
8364 JSCompiler_object_inline_componentStack_2453.stack = JSCompiler_object_inline_stack_2452 || "";
8365 JSCompiler_object_inline_componentStack_2453.digest = JSCompiler_object_inline_digest_2451;
8366 JSCompiler_object_inline_digest_2451 = void 0 === JSCompiler_temp ? null : JSCompiler_temp;
8367 JSCompiler_object_inline_stack_2452 = {
8368 value: JSCompiler_object_inline_componentStack_2453,
8369 source: null,
8370 stack: JSCompiler_object_inline_digest_2451
8371 };
8372 "string" === typeof JSCompiler_object_inline_digest_2451 && CapturedStacks.set(
8373 JSCompiler_object_inline_componentStack_2453,
8374 JSCompiler_object_inline_stack_2452
8375 );
8376 queueHydrationError(JSCompiler_object_inline_stack_2452);
8377 workInProgress2 = retrySuspenseComponentWithoutHydrating(
8378 current2,
8379 workInProgress2,
8380 renderLanes2
8381 );
8382 } else if (didReceiveUpdate || propagateParentContextChanges(
8383 current2,
8384 workInProgress2,
8385 renderLanes2,
8386 false
8387 ), JSCompiler_object_inline_digest_2451 = 0 !== (renderLanes2 & current2.childLanes), didReceiveUpdate || JSCompiler_object_inline_digest_2451) {
8388 JSCompiler_object_inline_digest_2451 = workInProgressRoot;
8389 if (null !== JSCompiler_object_inline_digest_2451 && (JSCompiler_object_inline_stack_2452 = renderLanes2 & -renderLanes2, JSCompiler_object_inline_stack_2452 = 0 !== (JSCompiler_object_inline_stack_2452 & 42) ? 1 : getBumpedLaneForHydrationByLane(
8390 JSCompiler_object_inline_stack_2452
8391 ), JSCompiler_object_inline_stack_2452 = 0 !== (JSCompiler_object_inline_stack_2452 & (JSCompiler_object_inline_digest_2451.suspendedLanes | renderLanes2)) ? 0 : JSCompiler_object_inline_stack_2452, 0 !== JSCompiler_object_inline_stack_2452 && JSCompiler_object_inline_stack_2452 !== prevState.retryLane))
8392 throw prevState.retryLane = JSCompiler_object_inline_stack_2452, enqueueConcurrentRenderForLane(
8393 current2,
8394 JSCompiler_object_inline_stack_2452
8395 ), scheduleUpdateOnFiber(
8396 JSCompiler_object_inline_digest_2451,
8397 current2,
8398 JSCompiler_object_inline_stack_2452
8399 ), SelectiveHydrationException;
8400 JSCompiler_object_inline_message_2450.data === SUSPENSE_PENDING_START_DATA || renderDidSuspendDelayIfPossible();
8401 workInProgress2 = retrySuspenseComponentWithoutHydrating(
8402 current2,
8403 workInProgress2,
8404 renderLanes2
8405 );
8406 } else
8407 JSCompiler_object_inline_message_2450.data === SUSPENSE_PENDING_START_DATA ? (workInProgress2.flags |= 192, workInProgress2.child = current2.child, workInProgress2 = null) : (current2 = prevState.treeContext, nextHydratableInstance = getNextHydratable(
8408 JSCompiler_object_inline_message_2450.nextSibling
8409 ), hydrationParentFiber = workInProgress2, isHydrating = true, hydrationErrors = null, didSuspendOrErrorDEV = false, hydrationDiffRootDEV = null, rootOrSingletonContext = false, null !== current2 && (warnIfNotHydrating(), idStack[idStackIndex++] = treeContextId, idStack[idStackIndex++] = treeContextOverflow, idStack[idStackIndex++] = treeContextProvider, treeContextId = current2.id, treeContextOverflow = current2.overflow, treeContextProvider = workInProgress2), workInProgress2 = mountSuspensePrimaryChildren(
8410 workInProgress2,
8411 JSCompiler_object_inline_stack_2452.children
8412 ), workInProgress2.flags |= 4096);
8413 return workInProgress2;
8414 }
8415 if (JSCompiler_object_inline_componentStack_2453)
8416 return reuseSuspenseHandlerOnStack(workInProgress2), JSCompiler_object_inline_componentStack_2453 = JSCompiler_object_inline_stack_2452.fallback, JSCompiler_object_inline_message_2450 = workInProgress2.mode, JSCompiler_temp = current2.child, instance = JSCompiler_temp.sibling, JSCompiler_object_inline_stack_2452 = createWorkInProgress(
8417 JSCompiler_temp,
8418 {
8419 mode: "hidden",
8420 children: JSCompiler_object_inline_stack_2452.children
8421 }
8422 ), JSCompiler_object_inline_stack_2452.subtreeFlags = JSCompiler_temp.subtreeFlags & 65011712, null !== instance ? JSCompiler_object_inline_componentStack_2453 = createWorkInProgress(
8423 instance,
8424 JSCompiler_object_inline_componentStack_2453
8425 ) : (JSCompiler_object_inline_componentStack_2453 = createFiberFromFragment(
8426 JSCompiler_object_inline_componentStack_2453,
8427 JSCompiler_object_inline_message_2450,
8428 renderLanes2,
8429 null
8430 ), JSCompiler_object_inline_componentStack_2453.flags |= 2), JSCompiler_object_inline_componentStack_2453.return = workInProgress2, JSCompiler_object_inline_stack_2452.return = workInProgress2, JSCompiler_object_inline_stack_2452.sibling = JSCompiler_object_inline_componentStack_2453, workInProgress2.child = JSCompiler_object_inline_stack_2452, JSCompiler_object_inline_stack_2452 = JSCompiler_object_inline_componentStack_2453, JSCompiler_object_inline_componentStack_2453 = workInProgress2.child, JSCompiler_object_inline_message_2450 = current2.child.memoizedState, null === JSCompiler_object_inline_message_2450 ? JSCompiler_object_inline_message_2450 = mountSuspenseOffscreenState(renderLanes2) : (JSCompiler_temp = JSCompiler_object_inline_message_2450.cachePool, null !== JSCompiler_temp ? (instance = CacheContext._currentValue, JSCompiler_temp = JSCompiler_temp.parent !== instance ? { parent: instance, pool: instance } : JSCompiler_temp) : JSCompiler_temp = getSuspendedCache(), JSCompiler_object_inline_message_2450 = {
8431 baseLanes: JSCompiler_object_inline_message_2450.baseLanes | renderLanes2,
8432 cachePool: JSCompiler_temp
8433 }), JSCompiler_object_inline_componentStack_2453.memoizedState = JSCompiler_object_inline_message_2450, JSCompiler_object_inline_componentStack_2453.childLanes = getRemainingWorkInPrimaryTree(
8434 current2,
8435 JSCompiler_object_inline_digest_2451,
8436 renderLanes2
8437 ), workInProgress2.memoizedState = SUSPENDED_MARKER, JSCompiler_object_inline_stack_2452;
8438 pushPrimaryTreeSuspenseHandler(workInProgress2);
8439 renderLanes2 = current2.child;
8440 current2 = renderLanes2.sibling;
8441 renderLanes2 = createWorkInProgress(renderLanes2, {
8442 mode: "visible",
8443 children: JSCompiler_object_inline_stack_2452.children
8444 });
8445 renderLanes2.return = workInProgress2;
8446 renderLanes2.sibling = null;
8447 null !== current2 && (JSCompiler_object_inline_digest_2451 = workInProgress2.deletions, null === JSCompiler_object_inline_digest_2451 ? (workInProgress2.deletions = [current2], workInProgress2.flags |= 16) : JSCompiler_object_inline_digest_2451.push(current2));
8448 workInProgress2.child = renderLanes2;
8449 workInProgress2.memoizedState = null;
8450 return renderLanes2;
8451 }
8452 function mountSuspensePrimaryChildren(workInProgress2, primaryChildren) {
8453 primaryChildren = mountWorkInProgressOffscreenFiber(
8454 { mode: "visible", children: primaryChildren },
8455 workInProgress2.mode
8456 );
8457 primaryChildren.return = workInProgress2;
8458 return workInProgress2.child = primaryChildren;
8459 }
8460 function mountWorkInProgressOffscreenFiber(offscreenProps, mode) {
8461 offscreenProps = createFiber(22, offscreenProps, null, mode);
8462 offscreenProps.lanes = 0;
8463 offscreenProps.stateNode = {
8464 _visibility: OffscreenVisible,
8465 _pendingMarkers: null,
8466 _retryCache: null,
8467 _transitions: null
8468 };
8469 return offscreenProps;
8470 }
8471 function retrySuspenseComponentWithoutHydrating(current2, workInProgress2, renderLanes2) {
8472 reconcileChildFibers(workInProgress2, current2.child, null, renderLanes2);
8473 current2 = mountSuspensePrimaryChildren(
8474 workInProgress2,
8475 workInProgress2.pendingProps.children
8476 );
8477 current2.flags |= 2;
8478 workInProgress2.memoizedState = null;
8479 return current2;
8480 }
8481 function scheduleSuspenseWorkOnFiber(fiber, renderLanes2, propagationRoot) {
8482 fiber.lanes |= renderLanes2;
8483 var alternate = fiber.alternate;
8484 null !== alternate && (alternate.lanes |= renderLanes2);
8485 scheduleContextWorkOnParentPath(
8486 fiber.return,
8487 renderLanes2,
8488 propagationRoot
8489 );
8490 }
8491 function validateSuspenseListNestedChild(childSlot, index) {
8492 var isAnArray = isArrayImpl(childSlot);
8493 childSlot = !isAnArray && "function" === typeof getIteratorFn(childSlot);
8494 return isAnArray || childSlot ? (isAnArray = isAnArray ? "array" : "iterable", console.error(
8495 "A nested %s was passed to row #%s in <SuspenseList />. Wrap it in an additional SuspenseList to configure its revealOrder: <SuspenseList revealOrder=...> ... <SuspenseList revealOrder=...>{%s}</SuspenseList> ... </SuspenseList>",
8496 isAnArray,
8497 index,
8498 isAnArray
8499 ), false) : true;
8500 }
8501 function initSuspenseListRenderState(workInProgress2, isBackwards, tail, lastContentRow, tailMode) {
8502 var renderState = workInProgress2.memoizedState;
8503 null === renderState ? workInProgress2.memoizedState = {
8504 isBackwards,
8505 rendering: null,
8506 renderingStartTime: 0,
8507 last: lastContentRow,
8508 tail,
8509 tailMode
8510 } : (renderState.isBackwards = isBackwards, renderState.rendering = null, renderState.renderingStartTime = 0, renderState.last = lastContentRow, renderState.tail = tail, renderState.tailMode = tailMode);
8511 }
8512 function updateSuspenseListComponent(current2, workInProgress2, renderLanes2) {
8513 var nextProps = workInProgress2.pendingProps, revealOrder = nextProps.revealOrder, tailMode = nextProps.tail;
8514 nextProps = nextProps.children;
8515 if (void 0 !== revealOrder && "forwards" !== revealOrder && "backwards" !== revealOrder && "together" !== revealOrder && !didWarnAboutRevealOrder[revealOrder])
8516 if (didWarnAboutRevealOrder[revealOrder] = true, "string" === typeof revealOrder)
8517 switch (revealOrder.toLowerCase()) {
8518 case "together":
8519 case "forwards":
8520 case "backwards":
8521 console.error(
8522 '"%s" is not a valid value for revealOrder on <SuspenseList />. Use lowercase "%s" instead.',
8523 revealOrder,
8524 revealOrder.toLowerCase()
8525 );
8526 break;
8527 case "forward":
8528 case "backward":
8529 console.error(
8530 '"%s" is not a valid value for revealOrder on <SuspenseList />. React uses the -s suffix in the spelling. Use "%ss" instead.',
8531 revealOrder,
8532 revealOrder.toLowerCase()
8533 );
8534 break;
8535 default:
8536 console.error(
8537 '"%s" is not a supported revealOrder on <SuspenseList />. Did you mean "together", "forwards" or "backwards"?',
8538 revealOrder
8539 );
8540 }
8541 else
8542 console.error(
8543 '%s is not a supported value for revealOrder on <SuspenseList />. Did you mean "together", "forwards" or "backwards"?',
8544 revealOrder
8545 );
8546 void 0 === tailMode || didWarnAboutTailOptions[tailMode] || ("collapsed" !== tailMode && "hidden" !== tailMode ? (didWarnAboutTailOptions[tailMode] = true, console.error(
8547 '"%s" is not a supported value for tail on <SuspenseList />. Did you mean "collapsed" or "hidden"?',
8548 tailMode
8549 )) : "forwards" !== revealOrder && "backwards" !== revealOrder && (didWarnAboutTailOptions[tailMode] = true, console.error(
8550 '<SuspenseList tail="%s" /> is only valid if revealOrder is "forwards" or "backwards". Did you mean to specify revealOrder="forwards"?',
8551 tailMode
8552 )));
8553 a: if (("forwards" === revealOrder || "backwards" === revealOrder) && void 0 !== nextProps && null !== nextProps && false !== nextProps)
8554 if (isArrayImpl(nextProps))
8555 for (var i = 0; i < nextProps.length; i++) {
8556 if (!validateSuspenseListNestedChild(nextProps[i], i)) break a;
8557 }
8558 else if (i = getIteratorFn(nextProps), "function" === typeof i) {
8559 if (i = i.call(nextProps))
8560 for (var step = i.next(), _i = 0; !step.done; step = i.next()) {
8561 if (!validateSuspenseListNestedChild(step.value, _i)) break a;
8562 _i++;
8563 }
8564 } else
8565 console.error(
8566 'A single row was passed to a <SuspenseList revealOrder="%s" />. This is not useful since it needs multiple rows. Did you mean to pass multiple children or an array?',
8567 revealOrder
8568 );
8569 reconcileChildren(current2, workInProgress2, nextProps, renderLanes2);
8570 nextProps = suspenseStackCursor.current;
8571 if (0 !== (nextProps & ForceSuspenseFallback))
8572 nextProps = nextProps & SubtreeSuspenseContextMask | ForceSuspenseFallback, workInProgress2.flags |= 128;
8573 else {
8574 if (null !== current2 && 0 !== (current2.flags & 128))
8575 a: for (current2 = workInProgress2.child; null !== current2; ) {
8576 if (13 === current2.tag)
8577 null !== current2.memoizedState && scheduleSuspenseWorkOnFiber(
8578 current2,
8579 renderLanes2,
8580 workInProgress2
8581 );
8582 else if (19 === current2.tag)
8583 scheduleSuspenseWorkOnFiber(current2, renderLanes2, workInProgress2);
8584 else if (null !== current2.child) {
8585 current2.child.return = current2;
8586 current2 = current2.child;
8587 continue;
8588 }
8589 if (current2 === workInProgress2) break a;
8590 for (; null === current2.sibling; ) {
8591 if (null === current2.return || current2.return === workInProgress2)
8592 break a;
8593 current2 = current2.return;
8594 }
8595 current2.sibling.return = current2.return;
8596 current2 = current2.sibling;
8597 }
8598 nextProps &= SubtreeSuspenseContextMask;
8599 }
8600 push(suspenseStackCursor, nextProps, workInProgress2);
8601 switch (revealOrder) {
8602 case "forwards":
8603 renderLanes2 = workInProgress2.child;
8604 for (revealOrder = null; null !== renderLanes2; )
8605 current2 = renderLanes2.alternate, null !== current2 && null === findFirstSuspended(current2) && (revealOrder = renderLanes2), renderLanes2 = renderLanes2.sibling;
8606 renderLanes2 = revealOrder;
8607 null === renderLanes2 ? (revealOrder = workInProgress2.child, workInProgress2.child = null) : (revealOrder = renderLanes2.sibling, renderLanes2.sibling = null);
8608 initSuspenseListRenderState(
8609 workInProgress2,
8610 false,
8611 revealOrder,
8612 renderLanes2,
8613 tailMode
8614 );
8615 break;
8616 case "backwards":
8617 renderLanes2 = null;
8618 revealOrder = workInProgress2.child;
8619 for (workInProgress2.child = null; null !== revealOrder; ) {
8620 current2 = revealOrder.alternate;
8621 if (null !== current2 && null === findFirstSuspended(current2)) {
8622 workInProgress2.child = revealOrder;
8623 break;
8624 }
8625 current2 = revealOrder.sibling;
8626 revealOrder.sibling = renderLanes2;
8627 renderLanes2 = revealOrder;
8628 revealOrder = current2;
8629 }
8630 initSuspenseListRenderState(
8631 workInProgress2,
8632 true,
8633 renderLanes2,
8634 null,
8635 tailMode
8636 );
8637 break;
8638 case "together":
8639 initSuspenseListRenderState(workInProgress2, false, null, null, void 0);
8640 break;
8641 default:
8642 workInProgress2.memoizedState = null;
8643 }
8644 return workInProgress2.child;
8645 }
8646 function bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2) {
8647 null !== current2 && (workInProgress2.dependencies = current2.dependencies);
8648 profilerStartTime = -1;
8649 workInProgressRootSkippedLanes |= workInProgress2.lanes;
8650 if (0 === (renderLanes2 & workInProgress2.childLanes))
8651 if (null !== current2) {
8652 if (propagateParentContextChanges(
8653 current2,
8654 workInProgress2,
8655 renderLanes2,
8656 false
8657 ), 0 === (renderLanes2 & workInProgress2.childLanes))
8658 return null;
8659 } else return null;
8660 if (null !== current2 && workInProgress2.child !== current2.child)
8661 throw Error("Resuming work not yet implemented.");
8662 if (null !== workInProgress2.child) {
8663 current2 = workInProgress2.child;
8664 renderLanes2 = createWorkInProgress(current2, current2.pendingProps);
8665 workInProgress2.child = renderLanes2;
8666 for (renderLanes2.return = workInProgress2; null !== current2.sibling; )
8667 current2 = current2.sibling, renderLanes2 = renderLanes2.sibling = createWorkInProgress(current2, current2.pendingProps), renderLanes2.return = workInProgress2;
8668 renderLanes2.sibling = null;
8669 }
8670 return workInProgress2.child;
8671 }
8672 function checkScheduledUpdateOrContext(current2, renderLanes2) {
8673 if (0 !== (current2.lanes & renderLanes2)) return true;
8674 current2 = current2.dependencies;
8675 return null !== current2 && checkIfContextChanged(current2) ? true : false;
8676 }
8677 function attemptEarlyBailoutIfNoScheduledUpdate(current2, workInProgress2, renderLanes2) {
8678 switch (workInProgress2.tag) {
8679 case 3:
8680 pushHostContainer(
8681 workInProgress2,
8682 workInProgress2.stateNode.containerInfo
8683 );
8684 pushProvider(
8685 workInProgress2,
8686 CacheContext,
8687 current2.memoizedState.cache
8688 );
8689 resetHydrationState();
8690 break;
8691 case 27:
8692 case 5:
8693 pushHostContext(workInProgress2);
8694 break;
8695 case 4:
8696 pushHostContainer(
8697 workInProgress2,
8698 workInProgress2.stateNode.containerInfo
8699 );
8700 break;
8701 case 10:
8702 pushProvider(
8703 workInProgress2,
8704 workInProgress2.type,
8705 workInProgress2.memoizedProps.value
8706 );
8707 break;
8708 case 12:
8709 0 !== (renderLanes2 & workInProgress2.childLanes) && (workInProgress2.flags |= 4);
8710 workInProgress2.flags |= 2048;
8711 var stateNode = workInProgress2.stateNode;
8712 stateNode.effectDuration = -0;
8713 stateNode.passiveEffectDuration = -0;
8714 break;
8715 case 13:
8716 stateNode = workInProgress2.memoizedState;
8717 if (null !== stateNode) {
8718 if (null !== stateNode.dehydrated)
8719 return pushPrimaryTreeSuspenseHandler(workInProgress2), workInProgress2.flags |= 128, null;
8720 if (0 !== (renderLanes2 & workInProgress2.child.childLanes))
8721 return updateSuspenseComponent(
8722 current2,
8723 workInProgress2,
8724 renderLanes2
8725 );
8726 pushPrimaryTreeSuspenseHandler(workInProgress2);
8727 current2 = bailoutOnAlreadyFinishedWork(
8728 current2,
8729 workInProgress2,
8730 renderLanes2
8731 );
8732 return null !== current2 ? current2.sibling : null;
8733 }
8734 pushPrimaryTreeSuspenseHandler(workInProgress2);
8735 break;
8736 case 19:
8737 var didSuspendBefore = 0 !== (current2.flags & 128);
8738 stateNode = 0 !== (renderLanes2 & workInProgress2.childLanes);
8739 stateNode || (propagateParentContextChanges(
8740 current2,
8741 workInProgress2,
8742 renderLanes2,
8743 false
8744 ), stateNode = 0 !== (renderLanes2 & workInProgress2.childLanes));
8745 if (didSuspendBefore) {
8746 if (stateNode)
8747 return updateSuspenseListComponent(
8748 current2,
8749 workInProgress2,
8750 renderLanes2
8751 );
8752 workInProgress2.flags |= 128;
8753 }
8754 didSuspendBefore = workInProgress2.memoizedState;
8755 null !== didSuspendBefore && (didSuspendBefore.rendering = null, didSuspendBefore.tail = null, didSuspendBefore.lastEffect = null);
8756 push(
8757 suspenseStackCursor,
8758 suspenseStackCursor.current,
8759 workInProgress2
8760 );
8761 if (stateNode) break;
8762 else return null;
8763 case 22:
8764 case 23:
8765 return workInProgress2.lanes = 0, updateOffscreenComponent(current2, workInProgress2, renderLanes2);
8766 case 24:
8767 pushProvider(
8768 workInProgress2,
8769 CacheContext,
8770 current2.memoizedState.cache
8771 );
8772 }
8773 return bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2);
8774 }
8775 function beginWork(current2, workInProgress2, renderLanes2) {
8776 if (workInProgress2._debugNeedsRemount && null !== current2) {
8777 renderLanes2 = createFiberFromTypeAndProps(
8778 workInProgress2.type,
8779 workInProgress2.key,
8780 workInProgress2.pendingProps,
8781 workInProgress2._debugOwner || null,
8782 workInProgress2.mode,
8783 workInProgress2.lanes
8784 );
8785 renderLanes2._debugStack = workInProgress2._debugStack;
8786 renderLanes2._debugTask = workInProgress2._debugTask;
8787 var returnFiber = workInProgress2.return;
8788 if (null === returnFiber) throw Error("Cannot swap the root fiber.");
8789 current2.alternate = null;
8790 workInProgress2.alternate = null;
8791 renderLanes2.index = workInProgress2.index;
8792 renderLanes2.sibling = workInProgress2.sibling;
8793 renderLanes2.return = workInProgress2.return;
8794 renderLanes2.ref = workInProgress2.ref;
8795 renderLanes2._debugInfo = workInProgress2._debugInfo;
8796 if (workInProgress2 === returnFiber.child)
8797 returnFiber.child = renderLanes2;
8798 else {
8799 var prevSibling = returnFiber.child;
8800 if (null === prevSibling)
8801 throw Error("Expected parent to have a child.");
8802 for (; prevSibling.sibling !== workInProgress2; )
8803 if (prevSibling = prevSibling.sibling, null === prevSibling)
8804 throw Error("Expected to find the previous sibling.");
8805 prevSibling.sibling = renderLanes2;
8806 }
8807 workInProgress2 = returnFiber.deletions;
8808 null === workInProgress2 ? (returnFiber.deletions = [current2], returnFiber.flags |= 16) : workInProgress2.push(current2);
8809 renderLanes2.flags |= 2;
8810 return renderLanes2;
8811 }
8812 if (null !== current2)
8813 if (current2.memoizedProps !== workInProgress2.pendingProps || workInProgress2.type !== current2.type)
8814 didReceiveUpdate = true;
8815 else {
8816 if (!checkScheduledUpdateOrContext(current2, renderLanes2) && 0 === (workInProgress2.flags & 128))
8817 return didReceiveUpdate = false, attemptEarlyBailoutIfNoScheduledUpdate(
8818 current2,
8819 workInProgress2,
8820 renderLanes2
8821 );
8822 didReceiveUpdate = 0 !== (current2.flags & 131072) ? true : false;
8823 }
8824 else {
8825 didReceiveUpdate = false;
8826 if (returnFiber = isHydrating)
8827 warnIfNotHydrating(), returnFiber = 0 !== (workInProgress2.flags & 1048576);
8828 returnFiber && (returnFiber = workInProgress2.index, warnIfNotHydrating(), pushTreeId(workInProgress2, treeForkCount, returnFiber));
8829 }
8830 workInProgress2.lanes = 0;
8831 switch (workInProgress2.tag) {
8832 case 16:
8833 a: if (returnFiber = workInProgress2.pendingProps, current2 = callLazyInitInDEV(workInProgress2.elementType), workInProgress2.type = current2, "function" === typeof current2)
8834 shouldConstruct(current2) ? (returnFiber = resolveClassComponentProps(
8835 current2,
8836 returnFiber
8837 ), workInProgress2.tag = 1, workInProgress2.type = current2 = resolveFunctionForHotReloading(current2), workInProgress2 = updateClassComponent(
8838 null,
8839 workInProgress2,
8840 current2,
8841 returnFiber,
8842 renderLanes2
8843 )) : (workInProgress2.tag = 0, validateFunctionComponentInDev(workInProgress2, current2), workInProgress2.type = current2 = resolveFunctionForHotReloading(current2), workInProgress2 = updateFunctionComponent(
8844 null,
8845 workInProgress2,
8846 current2,
8847 returnFiber,
8848 renderLanes2
8849 ));
8850 else {
8851 if (void 0 !== current2 && null !== current2) {
8852 if (prevSibling = current2.$$typeof, prevSibling === REACT_FORWARD_REF_TYPE) {
8853 workInProgress2.tag = 11;
8854 workInProgress2.type = current2 = resolveForwardRefForHotReloading(current2);
8855 workInProgress2 = updateForwardRef(
8856 null,
8857 workInProgress2,
8858 current2,
8859 returnFiber,
8860 renderLanes2
8861 );
8862 break a;
8863 } else if (prevSibling === REACT_MEMO_TYPE) {
8864 workInProgress2.tag = 14;
8865 workInProgress2 = updateMemoComponent(
8866 null,
8867 workInProgress2,
8868 current2,
8869 returnFiber,
8870 renderLanes2
8871 );
8872 break a;
8873 }
8874 }
8875 workInProgress2 = "";
8876 null !== current2 && "object" === typeof current2 && current2.$$typeof === REACT_LAZY_TYPE && (workInProgress2 = " Did you wrap a component in React.lazy() more than once?");
8877 current2 = getComponentNameFromType(current2) || current2;
8878 throw Error(
8879 "Element type is invalid. Received a promise that resolves to: " + current2 + ". Lazy element type must resolve to a class or function." + workInProgress2
8880 );
8881 }
8882 return workInProgress2;
8883 case 0:
8884 return updateFunctionComponent(
8885 current2,
8886 workInProgress2,
8887 workInProgress2.type,
8888 workInProgress2.pendingProps,
8889 renderLanes2
8890 );
8891 case 1:
8892 return returnFiber = workInProgress2.type, prevSibling = resolveClassComponentProps(
8893 returnFiber,
8894 workInProgress2.pendingProps
8895 ), updateClassComponent(
8896 current2,
8897 workInProgress2,
8898 returnFiber,
8899 prevSibling,
8900 renderLanes2
8901 );
8902 case 3:
8903 a: {
8904 pushHostContainer(
8905 workInProgress2,
8906 workInProgress2.stateNode.containerInfo
8907 );
8908 if (null === current2)
8909 throw Error(
8910 "Should have a current fiber. This is a bug in React."
8911 );
8912 returnFiber = workInProgress2.pendingProps;
8913 var prevState = workInProgress2.memoizedState;
8914 prevSibling = prevState.element;
8915 cloneUpdateQueue(current2, workInProgress2);
8916 processUpdateQueue(workInProgress2, returnFiber, null, renderLanes2);
8917 var nextState = workInProgress2.memoizedState;
8918 returnFiber = nextState.cache;
8919 pushProvider(workInProgress2, CacheContext, returnFiber);
8920 returnFiber !== prevState.cache && propagateContextChanges(
8921 workInProgress2,
8922 [CacheContext],
8923 renderLanes2,
8924 true
8925 );
8926 suspendIfUpdateReadFromEntangledAsyncAction();
8927 returnFiber = nextState.element;
8928 if (prevState.isDehydrated)
8929 if (prevState = {
8930 element: returnFiber,
8931 isDehydrated: false,
8932 cache: nextState.cache
8933 }, workInProgress2.updateQueue.baseState = prevState, workInProgress2.memoizedState = prevState, workInProgress2.flags & 256) {
8934 workInProgress2 = mountHostRootWithoutHydrating(
8935 current2,
8936 workInProgress2,
8937 returnFiber,
8938 renderLanes2
8939 );
8940 break a;
8941 } else if (returnFiber !== prevSibling) {
8942 prevSibling = createCapturedValueAtFiber(
8943 Error(
8944 "This root received an early update, before anything was able hydrate. Switched the entire root to client rendering."
8945 ),
8946 workInProgress2
8947 );
8948 queueHydrationError(prevSibling);
8949 workInProgress2 = mountHostRootWithoutHydrating(
8950 current2,
8951 workInProgress2,
8952 returnFiber,
8953 renderLanes2
8954 );
8955 break a;
8956 } else {
8957 current2 = workInProgress2.stateNode.containerInfo;
8958 switch (current2.nodeType) {
8959 case 9:
8960 current2 = current2.body;
8961 break;
8962 default:
8963 current2 = "HTML" === current2.nodeName ? current2.ownerDocument.body : current2;
8964 }
8965 nextHydratableInstance = getNextHydratable(current2.firstChild);
8966 hydrationParentFiber = workInProgress2;
8967 isHydrating = true;
8968 hydrationErrors = null;
8969 didSuspendOrErrorDEV = false;
8970 hydrationDiffRootDEV = null;
8971 rootOrSingletonContext = true;
8972 current2 = mountChildFibers(
8973 workInProgress2,
8974 null,
8975 returnFiber,
8976 renderLanes2
8977 );
8978 for (workInProgress2.child = current2; current2; )
8979 current2.flags = current2.flags & -3 | 4096, current2 = current2.sibling;
8980 }
8981 else {
8982 resetHydrationState();
8983 if (returnFiber === prevSibling) {
8984 workInProgress2 = bailoutOnAlreadyFinishedWork(
8985 current2,
8986 workInProgress2,
8987 renderLanes2
8988 );
8989 break a;
8990 }
8991 reconcileChildren(
8992 current2,
8993 workInProgress2,
8994 returnFiber,
8995 renderLanes2
8996 );
8997 }
8998 workInProgress2 = workInProgress2.child;
8999 }
9000 return workInProgress2;
9001 case 26:
9002 return markRef(current2, workInProgress2), null === current2 ? (current2 = getResource(
9003 workInProgress2.type,
9004 null,
9005 workInProgress2.pendingProps,
9006 null
9007 )) ? workInProgress2.memoizedState = current2 : isHydrating || (current2 = workInProgress2.type, renderLanes2 = workInProgress2.pendingProps, returnFiber = requiredContext(
9008 rootInstanceStackCursor.current
9009 ), returnFiber = getOwnerDocumentFromRootContainer(
9010 returnFiber
9011 ).createElement(current2), returnFiber[internalInstanceKey] = workInProgress2, returnFiber[internalPropsKey] = renderLanes2, setInitialProperties(returnFiber, current2, renderLanes2), markNodeAsHoistable(returnFiber), workInProgress2.stateNode = returnFiber) : workInProgress2.memoizedState = getResource(
9012 workInProgress2.type,
9013 current2.memoizedProps,
9014 workInProgress2.pendingProps,
9015 current2.memoizedState
9016 ), null;
9017 case 27:
9018 return pushHostContext(workInProgress2), null === current2 && isHydrating && (returnFiber = requiredContext(rootInstanceStackCursor.current), prevSibling = getHostContext(), returnFiber = workInProgress2.stateNode = resolveSingletonInstance(
9019 workInProgress2.type,
9020 workInProgress2.pendingProps,
9021 returnFiber,
9022 prevSibling,
9023 false
9024 ), didSuspendOrErrorDEV || (prevSibling = diffHydratedProperties(
9025 returnFiber,
9026 workInProgress2.type,
9027 workInProgress2.pendingProps,
9028 prevSibling
9029 ), null !== prevSibling && (buildHydrationDiffNode(workInProgress2, 0).serverProps = prevSibling)), hydrationParentFiber = workInProgress2, rootOrSingletonContext = true, prevSibling = nextHydratableInstance, isSingletonScope(workInProgress2.type) ? (previousHydratableOnEnteringScopedSingleton = prevSibling, nextHydratableInstance = getNextHydratable(
9030 returnFiber.firstChild
9031 )) : nextHydratableInstance = prevSibling), reconcileChildren(
9032 current2,
9033 workInProgress2,
9034 workInProgress2.pendingProps.children,
9035 renderLanes2
9036 ), markRef(current2, workInProgress2), null === current2 && (workInProgress2.flags |= 4194304), workInProgress2.child;
9037 case 5:
9038 return null === current2 && isHydrating && (prevState = getHostContext(), returnFiber = validateDOMNesting(
9039 workInProgress2.type,
9040 prevState.ancestorInfo
9041 ), prevSibling = nextHydratableInstance, (nextState = !prevSibling) || (nextState = canHydrateInstance(
9042 prevSibling,
9043 workInProgress2.type,
9044 workInProgress2.pendingProps,
9045 rootOrSingletonContext
9046 ), null !== nextState ? (workInProgress2.stateNode = nextState, didSuspendOrErrorDEV || (prevState = diffHydratedProperties(
9047 nextState,
9048 workInProgress2.type,
9049 workInProgress2.pendingProps,
9050 prevState
9051 ), null !== prevState && (buildHydrationDiffNode(workInProgress2, 0).serverProps = prevState)), hydrationParentFiber = workInProgress2, nextHydratableInstance = getNextHydratable(
9052 nextState.firstChild
9053 ), rootOrSingletonContext = false, prevState = true) : prevState = false, nextState = !prevState), nextState && (returnFiber && warnNonHydratedInstance(workInProgress2, prevSibling), throwOnHydrationMismatch(workInProgress2))), pushHostContext(workInProgress2), prevSibling = workInProgress2.type, prevState = workInProgress2.pendingProps, nextState = null !== current2 ? current2.memoizedProps : null, returnFiber = prevState.children, shouldSetTextContent(prevSibling, prevState) ? returnFiber = null : null !== nextState && shouldSetTextContent(prevSibling, nextState) && (workInProgress2.flags |= 32), null !== workInProgress2.memoizedState && (prevSibling = renderWithHooks(
9054 current2,
9055 workInProgress2,
9056 TransitionAwareHostComponent,
9057 null,
9058 null,
9059 renderLanes2
9060 ), HostTransitionContext._currentValue = prevSibling), markRef(current2, workInProgress2), reconcileChildren(
9061 current2,
9062 workInProgress2,
9063 returnFiber,
9064 renderLanes2
9065 ), workInProgress2.child;
9066 case 6:
9067 return null === current2 && isHydrating && (current2 = workInProgress2.pendingProps, renderLanes2 = getHostContext(), returnFiber = renderLanes2.ancestorInfo.current, current2 = null != returnFiber ? validateTextNesting(
9068 current2,
9069 returnFiber.tag,
9070 renderLanes2.ancestorInfo.implicitRootScope
9071 ) : true, renderLanes2 = nextHydratableInstance, (returnFiber = !renderLanes2) || (returnFiber = canHydrateTextInstance(
9072 renderLanes2,
9073 workInProgress2.pendingProps,
9074 rootOrSingletonContext
9075 ), null !== returnFiber ? (workInProgress2.stateNode = returnFiber, hydrationParentFiber = workInProgress2, nextHydratableInstance = null, returnFiber = true) : returnFiber = false, returnFiber = !returnFiber), returnFiber && (current2 && warnNonHydratedInstance(workInProgress2, renderLanes2), throwOnHydrationMismatch(workInProgress2))), null;
9076 case 13:
9077 return updateSuspenseComponent(current2, workInProgress2, renderLanes2);
9078 case 4:
9079 return pushHostContainer(
9080 workInProgress2,
9081 workInProgress2.stateNode.containerInfo
9082 ), returnFiber = workInProgress2.pendingProps, null === current2 ? workInProgress2.child = reconcileChildFibers(
9083 workInProgress2,
9084 null,
9085 returnFiber,
9086 renderLanes2
9087 ) : reconcileChildren(
9088 current2,
9089 workInProgress2,
9090 returnFiber,
9091 renderLanes2
9092 ), workInProgress2.child;
9093 case 11:
9094 return updateForwardRef(
9095 current2,
9096 workInProgress2,
9097 workInProgress2.type,
9098 workInProgress2.pendingProps,
9099 renderLanes2
9100 );
9101 case 7:
9102 return reconcileChildren(
9103 current2,
9104 workInProgress2,
9105 workInProgress2.pendingProps,
9106 renderLanes2
9107 ), workInProgress2.child;
9108 case 8:
9109 return reconcileChildren(
9110 current2,
9111 workInProgress2,
9112 workInProgress2.pendingProps.children,
9113 renderLanes2
9114 ), workInProgress2.child;
9115 case 12:
9116 return workInProgress2.flags |= 4, workInProgress2.flags |= 2048, returnFiber = workInProgress2.stateNode, returnFiber.effectDuration = -0, returnFiber.passiveEffectDuration = -0, reconcileChildren(
9117 current2,
9118 workInProgress2,
9119 workInProgress2.pendingProps.children,
9120 renderLanes2
9121 ), workInProgress2.child;
9122 case 10:
9123 return returnFiber = workInProgress2.type, prevSibling = workInProgress2.pendingProps, prevState = prevSibling.value, "value" in prevSibling || hasWarnedAboutUsingNoValuePropOnContextProvider || (hasWarnedAboutUsingNoValuePropOnContextProvider = true, console.error(
9124 "The `value` prop is required for the `<Context.Provider>`. Did you misspell it or forget to pass it?"
9125 )), pushProvider(workInProgress2, returnFiber, prevState), reconcileChildren(
9126 current2,
9127 workInProgress2,
9128 prevSibling.children,
9129 renderLanes2
9130 ), workInProgress2.child;
9131 case 9:
9132 return prevSibling = workInProgress2.type._context, returnFiber = workInProgress2.pendingProps.children, "function" !== typeof returnFiber && console.error(
9133 "A context consumer was rendered with multiple children, or a child that isn't a function. A context consumer expects a single child that is a function. If you did pass a function, make sure there is no trailing or leading whitespace around it."
9134 ), prepareToReadContext(workInProgress2), prevSibling = readContext(prevSibling), markComponentRenderStarted(workInProgress2), returnFiber = callComponentInDEV(
9135 returnFiber,
9136 prevSibling,
9137 void 0
9138 ), markComponentRenderStopped(), workInProgress2.flags |= 1, reconcileChildren(
9139 current2,
9140 workInProgress2,
9141 returnFiber,
9142 renderLanes2
9143 ), workInProgress2.child;
9144 case 14:
9145 return updateMemoComponent(
9146 current2,
9147 workInProgress2,
9148 workInProgress2.type,
9149 workInProgress2.pendingProps,
9150 renderLanes2
9151 );
9152 case 15:
9153 return updateSimpleMemoComponent(
9154 current2,
9155 workInProgress2,
9156 workInProgress2.type,
9157 workInProgress2.pendingProps,
9158 renderLanes2
9159 );
9160 case 19:
9161 return updateSuspenseListComponent(
9162 current2,
9163 workInProgress2,
9164 renderLanes2
9165 );
9166 case 31:
9167 return returnFiber = workInProgress2.pendingProps, renderLanes2 = workInProgress2.mode, returnFiber = {
9168 mode: returnFiber.mode,
9169 children: returnFiber.children
9170 }, null === current2 ? (current2 = mountWorkInProgressOffscreenFiber(
9171 returnFiber,
9172 renderLanes2
9173 ), current2.ref = workInProgress2.ref, workInProgress2.child = current2, current2.return = workInProgress2, workInProgress2 = current2) : (current2 = createWorkInProgress(current2.child, returnFiber), current2.ref = workInProgress2.ref, workInProgress2.child = current2, current2.return = workInProgress2, workInProgress2 = current2), workInProgress2;
9174 case 22:
9175 return updateOffscreenComponent(current2, workInProgress2, renderLanes2);
9176 case 24:
9177 return prepareToReadContext(workInProgress2), returnFiber = readContext(CacheContext), null === current2 ? (prevSibling = peekCacheFromPool(), null === prevSibling && (prevSibling = workInProgressRoot, prevState = createCache(), prevSibling.pooledCache = prevState, retainCache(prevState), null !== prevState && (prevSibling.pooledCacheLanes |= renderLanes2), prevSibling = prevState), workInProgress2.memoizedState = {
9178 parent: returnFiber,
9179 cache: prevSibling
9180 }, initializeUpdateQueue(workInProgress2), pushProvider(workInProgress2, CacheContext, prevSibling)) : (0 !== (current2.lanes & renderLanes2) && (cloneUpdateQueue(current2, workInProgress2), processUpdateQueue(workInProgress2, null, null, renderLanes2), suspendIfUpdateReadFromEntangledAsyncAction()), prevSibling = current2.memoizedState, prevState = workInProgress2.memoizedState, prevSibling.parent !== returnFiber ? (prevSibling = {
9181 parent: returnFiber,
9182 cache: returnFiber
9183 }, workInProgress2.memoizedState = prevSibling, 0 === workInProgress2.lanes && (workInProgress2.memoizedState = workInProgress2.updateQueue.baseState = prevSibling), pushProvider(workInProgress2, CacheContext, returnFiber)) : (returnFiber = prevState.cache, pushProvider(workInProgress2, CacheContext, returnFiber), returnFiber !== prevSibling.cache && propagateContextChanges(
9184 workInProgress2,
9185 [CacheContext],
9186 renderLanes2,
9187 true
9188 ))), reconcileChildren(
9189 current2,
9190 workInProgress2,
9191 workInProgress2.pendingProps.children,
9192 renderLanes2
9193 ), workInProgress2.child;
9194 case 29:
9195 throw workInProgress2.pendingProps;
9196 }
9197 throw Error(
9198 "Unknown unit of work tag (" + workInProgress2.tag + "). This error is likely caused by a bug in React. Please file an issue."
9199 );
9200 }
9201 function markUpdate(workInProgress2) {
9202 workInProgress2.flags |= 4;
9203 }
9204 function preloadResourceAndSuspendIfNeeded(workInProgress2, resource) {
9205 if ("stylesheet" !== resource.type || (resource.state.loading & Inserted) !== NotLoaded)
9206 workInProgress2.flags &= -16777217;
9207 else if (workInProgress2.flags |= 16777216, !preloadResource(resource)) {
9208 resource = suspenseHandlerStackCursor.current;
9209 if (null !== resource && ((workInProgressRootRenderLanes & 4194048) === workInProgressRootRenderLanes ? null !== shellBoundary : (workInProgressRootRenderLanes & 62914560) !== workInProgressRootRenderLanes && 0 === (workInProgressRootRenderLanes & 536870912) || resource !== shellBoundary))
9210 throw suspendedThenable = noopSuspenseyCommitThenable, SuspenseyCommitException;
9211 workInProgress2.flags |= 8192;
9212 }
9213 }
9214 function scheduleRetryEffect(workInProgress2, retryQueue) {
9215 null !== retryQueue && (workInProgress2.flags |= 4);
9216 workInProgress2.flags & 16384 && (retryQueue = 22 !== workInProgress2.tag ? claimNextRetryLane() : 536870912, workInProgress2.lanes |= retryQueue, workInProgressSuspendedRetryLanes |= retryQueue);
9217 }
9218 function cutOffTailIfNeeded(renderState, hasRenderedATailFallback) {
9219 if (!isHydrating)
9220 switch (renderState.tailMode) {
9221 case "hidden":
9222 hasRenderedATailFallback = renderState.tail;
9223 for (var lastTailNode = null; null !== hasRenderedATailFallback; )
9224 null !== hasRenderedATailFallback.alternate && (lastTailNode = hasRenderedATailFallback), hasRenderedATailFallback = hasRenderedATailFallback.sibling;
9225 null === lastTailNode ? renderState.tail = null : lastTailNode.sibling = null;
9226 break;
9227 case "collapsed":
9228 lastTailNode = renderState.tail;
9229 for (var _lastTailNode = null; null !== lastTailNode; )
9230 null !== lastTailNode.alternate && (_lastTailNode = lastTailNode), lastTailNode = lastTailNode.sibling;
9231 null === _lastTailNode ? hasRenderedATailFallback || null === renderState.tail ? renderState.tail = null : renderState.tail.sibling = null : _lastTailNode.sibling = null;
9232 }
9233 }
9234 function bubbleProperties(completedWork) {
9235 var didBailout = null !== completedWork.alternate && completedWork.alternate.child === completedWork.child, newChildLanes = 0, subtreeFlags = 0;
9236 if (didBailout)
9237 if ((completedWork.mode & ProfileMode) !== NoMode) {
9238 for (var _treeBaseDuration = completedWork.selfBaseDuration, _child2 = completedWork.child; null !== _child2; )
9239 newChildLanes |= _child2.lanes | _child2.childLanes, subtreeFlags |= _child2.subtreeFlags & 65011712, subtreeFlags |= _child2.flags & 65011712, _treeBaseDuration += _child2.treeBaseDuration, _child2 = _child2.sibling;
9240 completedWork.treeBaseDuration = _treeBaseDuration;
9241 } else
9242 for (_treeBaseDuration = completedWork.child; null !== _treeBaseDuration; )
9243 newChildLanes |= _treeBaseDuration.lanes | _treeBaseDuration.childLanes, subtreeFlags |= _treeBaseDuration.subtreeFlags & 65011712, subtreeFlags |= _treeBaseDuration.flags & 65011712, _treeBaseDuration.return = completedWork, _treeBaseDuration = _treeBaseDuration.sibling;
9244 else if ((completedWork.mode & ProfileMode) !== NoMode) {
9245 _treeBaseDuration = completedWork.actualDuration;
9246 _child2 = completedWork.selfBaseDuration;
9247 for (var child = completedWork.child; null !== child; )
9248 newChildLanes |= child.lanes | child.childLanes, subtreeFlags |= child.subtreeFlags, subtreeFlags |= child.flags, _treeBaseDuration += child.actualDuration, _child2 += child.treeBaseDuration, child = child.sibling;
9249 completedWork.actualDuration = _treeBaseDuration;
9250 completedWork.treeBaseDuration = _child2;
9251 } else
9252 for (_treeBaseDuration = completedWork.child; null !== _treeBaseDuration; )
9253 newChildLanes |= _treeBaseDuration.lanes | _treeBaseDuration.childLanes, subtreeFlags |= _treeBaseDuration.subtreeFlags, subtreeFlags |= _treeBaseDuration.flags, _treeBaseDuration.return = completedWork, _treeBaseDuration = _treeBaseDuration.sibling;
9254 completedWork.subtreeFlags |= subtreeFlags;
9255 completedWork.childLanes = newChildLanes;
9256 return didBailout;
9257 }
9258 function completeWork(current2, workInProgress2, renderLanes2) {
9259 var newProps = workInProgress2.pendingProps;
9260 popTreeContext(workInProgress2);
9261 switch (workInProgress2.tag) {
9262 case 31:
9263 case 16:
9264 case 15:
9265 case 0:
9266 case 11:
9267 case 7:
9268 case 8:
9269 case 12:
9270 case 9:
9271 case 14:
9272 return bubbleProperties(workInProgress2), null;
9273 case 1:
9274 return bubbleProperties(workInProgress2), null;
9275 case 3:
9276 renderLanes2 = workInProgress2.stateNode;
9277 newProps = null;
9278 null !== current2 && (newProps = current2.memoizedState.cache);
9279 workInProgress2.memoizedState.cache !== newProps && (workInProgress2.flags |= 2048);
9280 popProvider(CacheContext, workInProgress2);
9281 popHostContainer(workInProgress2);
9282 renderLanes2.pendingContext && (renderLanes2.context = renderLanes2.pendingContext, renderLanes2.pendingContext = null);
9283 if (null === current2 || null === current2.child)
9284 popHydrationState(workInProgress2) ? (emitPendingHydrationWarnings(), markUpdate(workInProgress2)) : null === current2 || current2.memoizedState.isDehydrated && 0 === (workInProgress2.flags & 256) || (workInProgress2.flags |= 1024, upgradeHydrationErrorsToRecoverable());
9285 bubbleProperties(workInProgress2);
9286 return null;
9287 case 26:
9288 return renderLanes2 = workInProgress2.memoizedState, null === current2 ? (markUpdate(workInProgress2), null !== renderLanes2 ? (bubbleProperties(workInProgress2), preloadResourceAndSuspendIfNeeded(
9289 workInProgress2,
9290 renderLanes2
9291 )) : (bubbleProperties(workInProgress2), workInProgress2.flags &= -16777217)) : renderLanes2 ? renderLanes2 !== current2.memoizedState ? (markUpdate(workInProgress2), bubbleProperties(workInProgress2), preloadResourceAndSuspendIfNeeded(
9292 workInProgress2,
9293 renderLanes2
9294 )) : (bubbleProperties(workInProgress2), workInProgress2.flags &= -16777217) : (current2.memoizedProps !== newProps && markUpdate(workInProgress2), bubbleProperties(workInProgress2), workInProgress2.flags &= -16777217), null;
9295 case 27:
9296 popHostContext(workInProgress2);
9297 renderLanes2 = requiredContext(rootInstanceStackCursor.current);
9298 var _type = workInProgress2.type;
9299 if (null !== current2 && null != workInProgress2.stateNode)
9300 current2.memoizedProps !== newProps && markUpdate(workInProgress2);
9301 else {
9302 if (!newProps) {
9303 if (null === workInProgress2.stateNode)
9304 throw Error(
9305 "We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue."
9306 );
9307 bubbleProperties(workInProgress2);
9308 return null;
9309 }
9310 current2 = getHostContext();
9311 popHydrationState(workInProgress2) ? prepareToHydrateHostInstance(workInProgress2, current2) : (current2 = resolveSingletonInstance(
9312 _type,
9313 newProps,
9314 renderLanes2,
9315 current2,
9316 true
9317 ), workInProgress2.stateNode = current2, markUpdate(workInProgress2));
9318 }
9319 bubbleProperties(workInProgress2);
9320 return null;
9321 case 5:
9322 popHostContext(workInProgress2);
9323 renderLanes2 = workInProgress2.type;
9324 if (null !== current2 && null != workInProgress2.stateNode)
9325 current2.memoizedProps !== newProps && markUpdate(workInProgress2);
9326 else {
9327 if (!newProps) {
9328 if (null === workInProgress2.stateNode)
9329 throw Error(
9330 "We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue."
9331 );
9332 bubbleProperties(workInProgress2);
9333 return null;
9334 }
9335 _type = getHostContext();
9336 if (popHydrationState(workInProgress2))
9337 prepareToHydrateHostInstance(workInProgress2, _type);
9338 else {
9339 current2 = requiredContext(rootInstanceStackCursor.current);
9340 validateDOMNesting(renderLanes2, _type.ancestorInfo);
9341 _type = _type.context;
9342 current2 = getOwnerDocumentFromRootContainer(current2);
9343 switch (_type) {
9344 case HostContextNamespaceSvg:
9345 current2 = current2.createElementNS(SVG_NAMESPACE, renderLanes2);
9346 break;
9347 case HostContextNamespaceMath:
9348 current2 = current2.createElementNS(
9349 MATH_NAMESPACE,
9350 renderLanes2
9351 );
9352 break;
9353 default:
9354 switch (renderLanes2) {
9355 case "svg":
9356 current2 = current2.createElementNS(
9357 SVG_NAMESPACE,
9358 renderLanes2
9359 );
9360 break;
9361 case "math":
9362 current2 = current2.createElementNS(
9363 MATH_NAMESPACE,
9364 renderLanes2
9365 );
9366 break;
9367 case "script":
9368 current2 = current2.createElement("div");
9369 current2.innerHTML = "<script><\/script>";
9370 current2 = current2.removeChild(current2.firstChild);
9371 break;
9372 case "select":
9373 current2 = "string" === typeof newProps.is ? current2.createElement("select", { is: newProps.is }) : current2.createElement("select");
9374 newProps.multiple ? current2.multiple = true : newProps.size && (current2.size = newProps.size);
9375 break;
9376 default:
9377 current2 = "string" === typeof newProps.is ? current2.createElement(renderLanes2, {
9378 is: newProps.is
9379 }) : current2.createElement(renderLanes2), -1 === renderLanes2.indexOf("-") && (renderLanes2 !== renderLanes2.toLowerCase() && console.error(
9380 "<%s /> is using incorrect casing. Use PascalCase for React components, or lowercase for HTML elements.",
9381 renderLanes2
9382 ), "[object HTMLUnknownElement]" !== Object.prototype.toString.call(current2) || hasOwnProperty.call(
9383 warnedUnknownTags,
9384 renderLanes2
9385 ) || (warnedUnknownTags[renderLanes2] = true, console.error(
9386 "The tag <%s> is unrecognized in this browser. If you meant to render a React component, start its name with an uppercase letter.",
9387 renderLanes2
9388 )));
9389 }
9390 }
9391 current2[internalInstanceKey] = workInProgress2;
9392 current2[internalPropsKey] = newProps;
9393 a: for (_type = workInProgress2.child; null !== _type; ) {
9394 if (5 === _type.tag || 6 === _type.tag)
9395 current2.appendChild(_type.stateNode);
9396 else if (4 !== _type.tag && 27 !== _type.tag && null !== _type.child) {
9397 _type.child.return = _type;
9398 _type = _type.child;
9399 continue;
9400 }
9401 if (_type === workInProgress2) break a;
9402 for (; null === _type.sibling; ) {
9403 if (null === _type.return || _type.return === workInProgress2)
9404 break a;
9405 _type = _type.return;
9406 }
9407 _type.sibling.return = _type.return;
9408 _type = _type.sibling;
9409 }
9410 workInProgress2.stateNode = current2;
9411 a: switch (setInitialProperties(current2, renderLanes2, newProps), renderLanes2) {
9412 case "button":
9413 case "input":
9414 case "select":
9415 case "textarea":
9416 current2 = !!newProps.autoFocus;
9417 break a;
9418 case "img":
9419 current2 = true;
9420 break a;
9421 default:
9422 current2 = false;
9423 }
9424 current2 && markUpdate(workInProgress2);
9425 }
9426 }
9427 bubbleProperties(workInProgress2);
9428 workInProgress2.flags &= -16777217;
9429 return null;
9430 case 6:
9431 if (current2 && null != workInProgress2.stateNode)
9432 current2.memoizedProps !== newProps && markUpdate(workInProgress2);
9433 else {
9434 if ("string" !== typeof newProps && null === workInProgress2.stateNode)
9435 throw Error(
9436 "We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue."
9437 );
9438 current2 = requiredContext(rootInstanceStackCursor.current);
9439 renderLanes2 = getHostContext();
9440 if (popHydrationState(workInProgress2)) {
9441 current2 = workInProgress2.stateNode;
9442 renderLanes2 = workInProgress2.memoizedProps;
9443 _type = !didSuspendOrErrorDEV;
9444 newProps = null;
9445 var returnFiber = hydrationParentFiber;
9446 if (null !== returnFiber)
9447 switch (returnFiber.tag) {
9448 case 3:
9449 _type && (_type = diffHydratedTextForDevWarnings(
9450 current2,
9451 renderLanes2,
9452 newProps
9453 ), null !== _type && (buildHydrationDiffNode(workInProgress2, 0).serverProps = _type));
9454 break;
9455 case 27:
9456 case 5:
9457 newProps = returnFiber.memoizedProps, _type && (_type = diffHydratedTextForDevWarnings(
9458 current2,
9459 renderLanes2,
9460 newProps
9461 ), null !== _type && (buildHydrationDiffNode(
9462 workInProgress2,
9463 0
9464 ).serverProps = _type));
9465 }
9466 current2[internalInstanceKey] = workInProgress2;
9467 current2 = current2.nodeValue === renderLanes2 || null !== newProps && true === newProps.suppressHydrationWarning || checkForUnmatchedText(current2.nodeValue, renderLanes2) ? true : false;
9468 current2 || throwOnHydrationMismatch(workInProgress2);
9469 } else
9470 _type = renderLanes2.ancestorInfo.current, null != _type && validateTextNesting(
9471 newProps,
9472 _type.tag,
9473 renderLanes2.ancestorInfo.implicitRootScope
9474 ), current2 = getOwnerDocumentFromRootContainer(current2).createTextNode(
9475 newProps
9476 ), current2[internalInstanceKey] = workInProgress2, workInProgress2.stateNode = current2;
9477 }
9478 bubbleProperties(workInProgress2);
9479 return null;
9480 case 13:
9481 newProps = workInProgress2.memoizedState;
9482 if (null === current2 || null !== current2.memoizedState && null !== current2.memoizedState.dehydrated) {
9483 _type = popHydrationState(workInProgress2);
9484 if (null !== newProps && null !== newProps.dehydrated) {
9485 if (null === current2) {
9486 if (!_type)
9487 throw Error(
9488 "A dehydrated suspense component was completed without a hydrated node. This is probably a bug in React."
9489 );
9490 _type = workInProgress2.memoizedState;
9491 _type = null !== _type ? _type.dehydrated : null;
9492 if (!_type)
9493 throw Error(
9494 "Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue."
9495 );
9496 _type[internalInstanceKey] = workInProgress2;
9497 bubbleProperties(workInProgress2);
9498 (workInProgress2.mode & ProfileMode) !== NoMode && null !== newProps && (_type = workInProgress2.child, null !== _type && (workInProgress2.treeBaseDuration -= _type.treeBaseDuration));
9499 } else
9500 emitPendingHydrationWarnings(), resetHydrationState(), 0 === (workInProgress2.flags & 128) && (workInProgress2.memoizedState = null), workInProgress2.flags |= 4, bubbleProperties(workInProgress2), (workInProgress2.mode & ProfileMode) !== NoMode && null !== newProps && (_type = workInProgress2.child, null !== _type && (workInProgress2.treeBaseDuration -= _type.treeBaseDuration));
9501 _type = false;
9502 } else
9503 _type = upgradeHydrationErrorsToRecoverable(), null !== current2 && null !== current2.memoizedState && (current2.memoizedState.hydrationErrors = _type), _type = true;
9504 if (!_type) {
9505 if (workInProgress2.flags & 256)
9506 return popSuspenseHandler(workInProgress2), workInProgress2;
9507 popSuspenseHandler(workInProgress2);
9508 return null;
9509 }
9510 }
9511 popSuspenseHandler(workInProgress2);
9512 if (0 !== (workInProgress2.flags & 128))
9513 return workInProgress2.lanes = renderLanes2, (workInProgress2.mode & ProfileMode) !== NoMode && transferActualDuration(workInProgress2), workInProgress2;
9514 renderLanes2 = null !== newProps;
9515 current2 = null !== current2 && null !== current2.memoizedState;
9516 renderLanes2 && (newProps = workInProgress2.child, _type = null, null !== newProps.alternate && null !== newProps.alternate.memoizedState && null !== newProps.alternate.memoizedState.cachePool && (_type = newProps.alternate.memoizedState.cachePool.pool), returnFiber = null, null !== newProps.memoizedState && null !== newProps.memoizedState.cachePool && (returnFiber = newProps.memoizedState.cachePool.pool), returnFiber !== _type && (newProps.flags |= 2048));
9517 renderLanes2 !== current2 && renderLanes2 && (workInProgress2.child.flags |= 8192);
9518 scheduleRetryEffect(workInProgress2, workInProgress2.updateQueue);
9519 bubbleProperties(workInProgress2);
9520 (workInProgress2.mode & ProfileMode) !== NoMode && renderLanes2 && (current2 = workInProgress2.child, null !== current2 && (workInProgress2.treeBaseDuration -= current2.treeBaseDuration));
9521 return null;
9522 case 4:
9523 return popHostContainer(workInProgress2), null === current2 && listenToAllSupportedEvents(
9524 workInProgress2.stateNode.containerInfo
9525 ), bubbleProperties(workInProgress2), null;
9526 case 10:
9527 return popProvider(workInProgress2.type, workInProgress2), bubbleProperties(workInProgress2), null;
9528 case 19:
9529 pop(suspenseStackCursor, workInProgress2);
9530 _type = workInProgress2.memoizedState;
9531 if (null === _type) return bubbleProperties(workInProgress2), null;
9532 newProps = 0 !== (workInProgress2.flags & 128);
9533 returnFiber = _type.rendering;
9534 if (null === returnFiber)
9535 if (newProps) cutOffTailIfNeeded(_type, false);
9536 else {
9537 if (workInProgressRootExitStatus !== RootInProgress || null !== current2 && 0 !== (current2.flags & 128))
9538 for (current2 = workInProgress2.child; null !== current2; ) {
9539 returnFiber = findFirstSuspended(current2);
9540 if (null !== returnFiber) {
9541 workInProgress2.flags |= 128;
9542 cutOffTailIfNeeded(_type, false);
9543 current2 = returnFiber.updateQueue;
9544 workInProgress2.updateQueue = current2;
9545 scheduleRetryEffect(workInProgress2, current2);
9546 workInProgress2.subtreeFlags = 0;
9547 current2 = renderLanes2;
9548 for (renderLanes2 = workInProgress2.child; null !== renderLanes2; )
9549 resetWorkInProgress(renderLanes2, current2), renderLanes2 = renderLanes2.sibling;
9550 push(
9551 suspenseStackCursor,
9552 suspenseStackCursor.current & SubtreeSuspenseContextMask | ForceSuspenseFallback,
9553 workInProgress2
9554 );
9555 return workInProgress2.child;
9556 }
9557 current2 = current2.sibling;
9558 }
9559 null !== _type.tail && now$1() > workInProgressRootRenderTargetTime && (workInProgress2.flags |= 128, newProps = true, cutOffTailIfNeeded(_type, false), workInProgress2.lanes = 4194304);
9560 }
9561 else {
9562 if (!newProps)
9563 if (current2 = findFirstSuspended(returnFiber), null !== current2) {
9564 if (workInProgress2.flags |= 128, newProps = true, current2 = current2.updateQueue, workInProgress2.updateQueue = current2, scheduleRetryEffect(workInProgress2, current2), cutOffTailIfNeeded(_type, true), null === _type.tail && "hidden" === _type.tailMode && !returnFiber.alternate && !isHydrating)
9565 return bubbleProperties(workInProgress2), null;
9566 } else
9567 2 * now$1() - _type.renderingStartTime > workInProgressRootRenderTargetTime && 536870912 !== renderLanes2 && (workInProgress2.flags |= 128, newProps = true, cutOffTailIfNeeded(_type, false), workInProgress2.lanes = 4194304);
9568 _type.isBackwards ? (returnFiber.sibling = workInProgress2.child, workInProgress2.child = returnFiber) : (current2 = _type.last, null !== current2 ? current2.sibling = returnFiber : workInProgress2.child = returnFiber, _type.last = returnFiber);
9569 }
9570 if (null !== _type.tail)
9571 return current2 = _type.tail, _type.rendering = current2, _type.tail = current2.sibling, _type.renderingStartTime = now$1(), current2.sibling = null, renderLanes2 = suspenseStackCursor.current, renderLanes2 = newProps ? renderLanes2 & SubtreeSuspenseContextMask | ForceSuspenseFallback : renderLanes2 & SubtreeSuspenseContextMask, push(suspenseStackCursor, renderLanes2, workInProgress2), current2;
9572 bubbleProperties(workInProgress2);
9573 return null;
9574 case 22:
9575 case 23:
9576 return popSuspenseHandler(workInProgress2), popHiddenContext(workInProgress2), newProps = null !== workInProgress2.memoizedState, null !== current2 ? null !== current2.memoizedState !== newProps && (workInProgress2.flags |= 8192) : newProps && (workInProgress2.flags |= 8192), newProps ? 0 !== (renderLanes2 & 536870912) && 0 === (workInProgress2.flags & 128) && (bubbleProperties(workInProgress2), workInProgress2.subtreeFlags & 6 && (workInProgress2.flags |= 8192)) : bubbleProperties(workInProgress2), renderLanes2 = workInProgress2.updateQueue, null !== renderLanes2 && scheduleRetryEffect(workInProgress2, renderLanes2.retryQueue), renderLanes2 = null, null !== current2 && null !== current2.memoizedState && null !== current2.memoizedState.cachePool && (renderLanes2 = current2.memoizedState.cachePool.pool), newProps = null, null !== workInProgress2.memoizedState && null !== workInProgress2.memoizedState.cachePool && (newProps = workInProgress2.memoizedState.cachePool.pool), newProps !== renderLanes2 && (workInProgress2.flags |= 2048), null !== current2 && pop(resumedCache, workInProgress2), null;
9577 case 24:
9578 return renderLanes2 = null, null !== current2 && (renderLanes2 = current2.memoizedState.cache), workInProgress2.memoizedState.cache !== renderLanes2 && (workInProgress2.flags |= 2048), popProvider(CacheContext, workInProgress2), bubbleProperties(workInProgress2), null;
9579 case 25:
9580 return null;
9581 case 30:
9582 return null;
9583 }
9584 throw Error(
9585 "Unknown unit of work tag (" + workInProgress2.tag + "). This error is likely caused by a bug in React. Please file an issue."
9586 );
9587 }
9588 function unwindWork(current2, workInProgress2) {
9589 popTreeContext(workInProgress2);
9590 switch (workInProgress2.tag) {
9591 case 1:
9592 return current2 = workInProgress2.flags, current2 & 65536 ? (workInProgress2.flags = current2 & -65537 | 128, (workInProgress2.mode & ProfileMode) !== NoMode && transferActualDuration(workInProgress2), workInProgress2) : null;
9593 case 3:
9594 return popProvider(CacheContext, workInProgress2), popHostContainer(workInProgress2), current2 = workInProgress2.flags, 0 !== (current2 & 65536) && 0 === (current2 & 128) ? (workInProgress2.flags = current2 & -65537 | 128, workInProgress2) : null;
9595 case 26:
9596 case 27:
9597 case 5:
9598 return popHostContext(workInProgress2), null;
9599 case 13:
9600 popSuspenseHandler(workInProgress2);
9601 current2 = workInProgress2.memoizedState;
9602 if (null !== current2 && null !== current2.dehydrated) {
9603 if (null === workInProgress2.alternate)
9604 throw Error(
9605 "Threw in newly mounted dehydrated component. This is likely a bug in React. Please file an issue."
9606 );
9607 resetHydrationState();
9608 }
9609 current2 = workInProgress2.flags;
9610 return current2 & 65536 ? (workInProgress2.flags = current2 & -65537 | 128, (workInProgress2.mode & ProfileMode) !== NoMode && transferActualDuration(workInProgress2), workInProgress2) : null;
9611 case 19:
9612 return pop(suspenseStackCursor, workInProgress2), null;
9613 case 4:
9614 return popHostContainer(workInProgress2), null;
9615 case 10:
9616 return popProvider(workInProgress2.type, workInProgress2), null;
9617 case 22:
9618 case 23:
9619 return popSuspenseHandler(workInProgress2), popHiddenContext(workInProgress2), null !== current2 && pop(resumedCache, workInProgress2), current2 = workInProgress2.flags, current2 & 65536 ? (workInProgress2.flags = current2 & -65537 | 128, (workInProgress2.mode & ProfileMode) !== NoMode && transferActualDuration(workInProgress2), workInProgress2) : null;
9620 case 24:
9621 return popProvider(CacheContext, workInProgress2), null;
9622 case 25:
9623 return null;
9624 default:
9625 return null;
9626 }
9627 }
9628 function unwindInterruptedWork(current2, interruptedWork) {
9629 popTreeContext(interruptedWork);
9630 switch (interruptedWork.tag) {
9631 case 3:
9632 popProvider(CacheContext, interruptedWork);
9633 popHostContainer(interruptedWork);
9634 break;
9635 case 26:
9636 case 27:
9637 case 5:
9638 popHostContext(interruptedWork);
9639 break;
9640 case 4:
9641 popHostContainer(interruptedWork);
9642 break;
9643 case 13:
9644 popSuspenseHandler(interruptedWork);
9645 break;
9646 case 19:
9647 pop(suspenseStackCursor, interruptedWork);
9648 break;
9649 case 10:
9650 popProvider(interruptedWork.type, interruptedWork);
9651 break;
9652 case 22:
9653 case 23:
9654 popSuspenseHandler(interruptedWork);
9655 popHiddenContext(interruptedWork);
9656 null !== current2 && pop(resumedCache, interruptedWork);
9657 break;
9658 case 24:
9659 popProvider(CacheContext, interruptedWork);
9660 }
9661 }
9662 function shouldProfile(current2) {
9663 return (current2.mode & ProfileMode) !== NoMode;
9664 }
9665 function commitHookLayoutEffects(finishedWork, hookFlags) {
9666 shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListMount(hookFlags, finishedWork), recordEffectDuration()) : commitHookEffectListMount(hookFlags, finishedWork);
9667 }
9668 function commitHookLayoutUnmountEffects(finishedWork, nearestMountedAncestor, hookFlags) {
9669 shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListUnmount(
9670 hookFlags,
9671 finishedWork,
9672 nearestMountedAncestor
9673 ), recordEffectDuration()) : commitHookEffectListUnmount(
9674 hookFlags,
9675 finishedWork,
9676 nearestMountedAncestor
9677 );
9678 }
9679 function commitHookEffectListMount(flags, finishedWork) {
9680 try {
9681 var updateQueue = finishedWork.updateQueue, lastEffect = null !== updateQueue ? updateQueue.lastEffect : null;
9682 if (null !== lastEffect) {
9683 var firstEffect = lastEffect.next;
9684 updateQueue = firstEffect;
9685 do {
9686 if ((updateQueue.tag & flags) === flags && ((flags & Passive) !== NoFlags ? null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentPassiveEffectMountStarted && injectedProfilingHooks.markComponentPassiveEffectMountStarted(
9687 finishedWork
9688 ) : (flags & Layout) !== NoFlags && null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentLayoutEffectMountStarted && injectedProfilingHooks.markComponentLayoutEffectMountStarted(
9689 finishedWork
9690 ), lastEffect = void 0, (flags & Insertion) !== NoFlags && (isRunningInsertionEffect = true), lastEffect = runWithFiberInDEV(
9691 finishedWork,
9692 callCreateInDEV,
9693 updateQueue
9694 ), (flags & Insertion) !== NoFlags && (isRunningInsertionEffect = false), (flags & Passive) !== NoFlags ? null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentPassiveEffectMountStopped && injectedProfilingHooks.markComponentPassiveEffectMountStopped() : (flags & Layout) !== NoFlags && null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentLayoutEffectMountStopped && injectedProfilingHooks.markComponentLayoutEffectMountStopped(), void 0 !== lastEffect && "function" !== typeof lastEffect)) {
9695 var hookName = void 0;
9696 hookName = 0 !== (updateQueue.tag & Layout) ? "useLayoutEffect" : 0 !== (updateQueue.tag & Insertion) ? "useInsertionEffect" : "useEffect";
9697 var addendum = void 0;
9698 addendum = null === lastEffect ? " You returned null. If your effect does not require clean up, return undefined (or nothing)." : "function" === typeof lastEffect.then ? "\n\nIt looks like you wrote " + hookName + "(async () => ...) or returned a Promise. Instead, write the async function inside your effect and call it immediately:\n\n" + hookName + "(() => {\n async function fetchData() {\n // You can await here\n const response = await MyAPI.getData(someId);\n // ...\n }\n fetchData();\n}, [someId]); // Or [] if effect doesn't need props or state\n\nLearn more about data fetching with Hooks: https://react.dev/link/hooks-data-fetching" : " You returned: " + lastEffect;
9699 runWithFiberInDEV(
9700 finishedWork,
9701 function(n, a) {
9702 console.error(
9703 "%s must not return anything besides a function, which is used for clean-up.%s",
9704 n,
9705 a
9706 );
9707 },
9708 hookName,
9709 addendum
9710 );
9711 }
9712 updateQueue = updateQueue.next;
9713 } while (updateQueue !== firstEffect);
9714 }
9715 } catch (error) {
9716 captureCommitPhaseError(finishedWork, finishedWork.return, error);
9717 }
9718 }
9719 function commitHookEffectListUnmount(flags, finishedWork, nearestMountedAncestor) {
9720 try {
9721 var updateQueue = finishedWork.updateQueue, lastEffect = null !== updateQueue ? updateQueue.lastEffect : null;
9722 if (null !== lastEffect) {
9723 var firstEffect = lastEffect.next;
9724 updateQueue = firstEffect;
9725 do {
9726 if ((updateQueue.tag & flags) === flags) {
9727 var inst = updateQueue.inst, destroy = inst.destroy;
9728 void 0 !== destroy && (inst.destroy = void 0, (flags & Passive) !== NoFlags ? null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentPassiveEffectUnmountStarted && injectedProfilingHooks.markComponentPassiveEffectUnmountStarted(
9729 finishedWork
9730 ) : (flags & Layout) !== NoFlags && null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentLayoutEffectUnmountStarted && injectedProfilingHooks.markComponentLayoutEffectUnmountStarted(
9731 finishedWork
9732 ), (flags & Insertion) !== NoFlags && (isRunningInsertionEffect = true), lastEffect = finishedWork, runWithFiberInDEV(
9733 lastEffect,
9734 callDestroyInDEV,
9735 lastEffect,
9736 nearestMountedAncestor,
9737 destroy
9738 ), (flags & Insertion) !== NoFlags && (isRunningInsertionEffect = false), (flags & Passive) !== NoFlags ? null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentPassiveEffectUnmountStopped && injectedProfilingHooks.markComponentPassiveEffectUnmountStopped() : (flags & Layout) !== NoFlags && null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentLayoutEffectUnmountStopped && injectedProfilingHooks.markComponentLayoutEffectUnmountStopped());
9739 }
9740 updateQueue = updateQueue.next;
9741 } while (updateQueue !== firstEffect);
9742 }
9743 } catch (error) {
9744 captureCommitPhaseError(finishedWork, finishedWork.return, error);
9745 }
9746 }
9747 function commitHookPassiveMountEffects(finishedWork, hookFlags) {
9748 shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListMount(hookFlags, finishedWork), recordEffectDuration()) : commitHookEffectListMount(hookFlags, finishedWork);
9749 }
9750 function commitHookPassiveUnmountEffects(finishedWork, nearestMountedAncestor, hookFlags) {
9751 shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListUnmount(
9752 hookFlags,
9753 finishedWork,
9754 nearestMountedAncestor
9755 ), recordEffectDuration()) : commitHookEffectListUnmount(
9756 hookFlags,
9757 finishedWork,
9758 nearestMountedAncestor
9759 );
9760 }
9761 function commitClassCallbacks(finishedWork) {
9762 var updateQueue = finishedWork.updateQueue;
9763 if (null !== updateQueue) {
9764 var instance = finishedWork.stateNode;
9765 finishedWork.type.defaultProps || "ref" in finishedWork.memoizedProps || didWarnAboutReassigningProps || (instance.props !== finishedWork.memoizedProps && console.error(
9766 "Expected %s props to match memoized props before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",
9767 getComponentNameFromFiber(finishedWork) || "instance"
9768 ), instance.state !== finishedWork.memoizedState && console.error(
9769 "Expected %s state to match memoized state before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.",
9770 getComponentNameFromFiber(finishedWork) || "instance"
9771 ));
9772 try {
9773 runWithFiberInDEV(
9774 finishedWork,
9775 commitCallbacks,
9776 updateQueue,
9777 instance
9778 );
9779 } catch (error) {
9780 captureCommitPhaseError(finishedWork, finishedWork.return, error);
9781 }
9782 }
9783 }
9784 function callGetSnapshotBeforeUpdates(instance, prevProps, prevState) {
9785 return instance.getSnapshotBeforeUpdate(prevProps, prevState);
9786 }
9787 function commitClassSnapshot(finishedWork, current2) {
9788 var prevProps = current2.memoizedProps, prevState = current2.memoizedState;
9789 current2 = finishedWork.stateNode;
9790 finishedWork.type.defaultProps || "ref" in finishedWork.memoizedProps || didWarnAboutReassigningProps || (current2.props !== finishedWork.memoizedProps && console.error(
9791 "Expected %s props to match memoized props before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",
9792 getComponentNameFromFiber(finishedWork) || "instance"
9793 ), current2.state !== finishedWork.memoizedState && console.error(
9794 "Expected %s state to match memoized state before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.",
9795 getComponentNameFromFiber(finishedWork) || "instance"
9796 ));
9797 try {
9798 var resolvedPrevProps = resolveClassComponentProps(
9799 finishedWork.type,
9800 prevProps,
9801 finishedWork.elementType === finishedWork.type
9802 );
9803 var snapshot = runWithFiberInDEV(
9804 finishedWork,
9805 callGetSnapshotBeforeUpdates,
9806 current2,
9807 resolvedPrevProps,
9808 prevState
9809 );
9810 prevProps = didWarnAboutUndefinedSnapshotBeforeUpdate;
9811 void 0 !== snapshot || prevProps.has(finishedWork.type) || (prevProps.add(finishedWork.type), runWithFiberInDEV(finishedWork, function() {
9812 console.error(
9813 "%s.getSnapshotBeforeUpdate(): A snapshot value (or null) must be returned. You have returned undefined.",
9814 getComponentNameFromFiber(finishedWork)
9815 );
9816 }));
9817 current2.__reactInternalSnapshotBeforeUpdate = snapshot;
9818 } catch (error) {
9819 captureCommitPhaseError(finishedWork, finishedWork.return, error);
9820 }
9821 }
9822 function safelyCallComponentWillUnmount(current2, nearestMountedAncestor, instance) {
9823 instance.props = resolveClassComponentProps(
9824 current2.type,
9825 current2.memoizedProps
9826 );
9827 instance.state = current2.memoizedState;
9828 shouldProfile(current2) ? (startEffectTimer(), runWithFiberInDEV(
9829 current2,
9830 callComponentWillUnmountInDEV,
9831 current2,
9832 nearestMountedAncestor,
9833 instance
9834 ), recordEffectDuration()) : runWithFiberInDEV(
9835 current2,
9836 callComponentWillUnmountInDEV,
9837 current2,
9838 nearestMountedAncestor,
9839 instance
9840 );
9841 }
9842 function commitAttachRef(finishedWork) {
9843 var ref = finishedWork.ref;
9844 if (null !== ref) {
9845 switch (finishedWork.tag) {
9846 case 26:
9847 case 27:
9848 case 5:
9849 var instanceToUse = finishedWork.stateNode;
9850 break;
9851 case 30:
9852 instanceToUse = finishedWork.stateNode;
9853 break;
9854 default:
9855 instanceToUse = finishedWork.stateNode;
9856 }
9857 if ("function" === typeof ref)
9858 if (shouldProfile(finishedWork))
9859 try {
9860 startEffectTimer(), finishedWork.refCleanup = ref(instanceToUse);
9861 } finally {
9862 recordEffectDuration();
9863 }
9864 else finishedWork.refCleanup = ref(instanceToUse);
9865 else
9866 "string" === typeof ref ? console.error("String refs are no longer supported.") : ref.hasOwnProperty("current") || console.error(
9867 "Unexpected ref object provided for %s. Use either a ref-setter function or React.createRef().",
9868 getComponentNameFromFiber(finishedWork)
9869 ), ref.current = instanceToUse;
9870 }
9871 }
9872 function safelyAttachRef(current2, nearestMountedAncestor) {
9873 try {
9874 runWithFiberInDEV(current2, commitAttachRef, current2);
9875 } catch (error) {
9876 captureCommitPhaseError(current2, nearestMountedAncestor, error);
9877 }
9878 }
9879 function safelyDetachRef(current2, nearestMountedAncestor) {
9880 var ref = current2.ref, refCleanup = current2.refCleanup;
9881 if (null !== ref)
9882 if ("function" === typeof refCleanup)
9883 try {
9884 if (shouldProfile(current2))
9885 try {
9886 startEffectTimer(), runWithFiberInDEV(current2, refCleanup);
9887 } finally {
9888 recordEffectDuration(current2);
9889 }
9890 else runWithFiberInDEV(current2, refCleanup);
9891 } catch (error) {
9892 captureCommitPhaseError(current2, nearestMountedAncestor, error);
9893 } finally {
9894 current2.refCleanup = null, current2 = current2.alternate, null != current2 && (current2.refCleanup = null);
9895 }
9896 else if ("function" === typeof ref)
9897 try {
9898 if (shouldProfile(current2))
9899 try {
9900 startEffectTimer(), runWithFiberInDEV(current2, ref, null);
9901 } finally {
9902 recordEffectDuration(current2);
9903 }
9904 else runWithFiberInDEV(current2, ref, null);
9905 } catch (error$7) {
9906 captureCommitPhaseError(current2, nearestMountedAncestor, error$7);
9907 }
9908 else ref.current = null;
9909 }
9910 function commitProfiler(finishedWork, current2, commitStartTime2, effectDuration) {
9911 var _finishedWork$memoize = finishedWork.memoizedProps, id = _finishedWork$memoize.id, onCommit = _finishedWork$memoize.onCommit;
9912 _finishedWork$memoize = _finishedWork$memoize.onRender;
9913 current2 = null === current2 ? "mount" : "update";
9914 currentUpdateIsNested && (current2 = "nested-update");
9915 "function" === typeof _finishedWork$memoize && _finishedWork$memoize(
9916 id,
9917 current2,
9918 finishedWork.actualDuration,
9919 finishedWork.treeBaseDuration,
9920 finishedWork.actualStartTime,
9921 commitStartTime2
9922 );
9923 "function" === typeof onCommit && onCommit(
9924 finishedWork.memoizedProps.id,
9925 current2,
9926 effectDuration,
9927 commitStartTime2
9928 );
9929 }
9930 function commitProfilerPostCommitImpl(finishedWork, current2, commitStartTime2, passiveEffectDuration) {
9931 var _finishedWork$memoize2 = finishedWork.memoizedProps;
9932 finishedWork = _finishedWork$memoize2.id;
9933 _finishedWork$memoize2 = _finishedWork$memoize2.onPostCommit;
9934 current2 = null === current2 ? "mount" : "update";
9935 currentUpdateIsNested && (current2 = "nested-update");
9936 "function" === typeof _finishedWork$memoize2 && _finishedWork$memoize2(
9937 finishedWork,
9938 current2,
9939 passiveEffectDuration,
9940 commitStartTime2
9941 );
9942 }
9943 function commitHostMount(finishedWork) {
9944 var type = finishedWork.type, props = finishedWork.memoizedProps, instance = finishedWork.stateNode;
9945 try {
9946 runWithFiberInDEV(
9947 finishedWork,
9948 commitMount,
9949 instance,
9950 type,
9951 props,
9952 finishedWork
9953 );
9954 } catch (error) {
9955 captureCommitPhaseError(finishedWork, finishedWork.return, error);
9956 }
9957 }
9958 function commitHostUpdate(finishedWork, newProps, oldProps) {
9959 try {
9960 runWithFiberInDEV(
9961 finishedWork,
9962 commitUpdate,
9963 finishedWork.stateNode,
9964 finishedWork.type,
9965 oldProps,
9966 newProps,
9967 finishedWork
9968 );
9969 } catch (error) {
9970 captureCommitPhaseError(finishedWork, finishedWork.return, error);
9971 }
9972 }
9973 function isHostParent(fiber) {
9974 return 5 === fiber.tag || 3 === fiber.tag || 26 === fiber.tag || 27 === fiber.tag && isSingletonScope(fiber.type) || 4 === fiber.tag;
9975 }
9976 function getHostSibling(fiber) {
9977 a: for (; ; ) {
9978 for (; null === fiber.sibling; ) {
9979 if (null === fiber.return || isHostParent(fiber.return)) return null;
9980 fiber = fiber.return;
9981 }
9982 fiber.sibling.return = fiber.return;
9983 for (fiber = fiber.sibling; 5 !== fiber.tag && 6 !== fiber.tag && 18 !== fiber.tag; ) {
9984 if (27 === fiber.tag && isSingletonScope(fiber.type)) continue a;
9985 if (fiber.flags & 2) continue a;
9986 if (null === fiber.child || 4 === fiber.tag) continue a;
9987 else fiber.child.return = fiber, fiber = fiber.child;
9988 }
9989 if (!(fiber.flags & 2)) return fiber.stateNode;
9990 }
9991 }
9992 function insertOrAppendPlacementNodeIntoContainer(node, before, parent) {
9993 var tag = node.tag;
9994 if (5 === tag || 6 === tag)
9995 node = node.stateNode, before ? (9 === parent.nodeType ? parent.body : "HTML" === parent.nodeName ? parent.ownerDocument.body : parent).insertBefore(node, before) : (before = 9 === parent.nodeType ? parent.body : "HTML" === parent.nodeName ? parent.ownerDocument.body : parent, before.appendChild(node), parent = parent._reactRootContainer, null !== parent && void 0 !== parent || null !== before.onclick || (before.onclick = noop$1));
9996 else if (4 !== tag && (27 === tag && isSingletonScope(node.type) && (parent = node.stateNode, before = null), node = node.child, null !== node))
9997 for (insertOrAppendPlacementNodeIntoContainer(node, before, parent), node = node.sibling; null !== node; )
9998 insertOrAppendPlacementNodeIntoContainer(node, before, parent), node = node.sibling;
9999 }
10000 function insertOrAppendPlacementNode(node, before, parent) {
10001 var tag = node.tag;
10002 if (5 === tag || 6 === tag)
10003 node = node.stateNode, before ? parent.insertBefore(node, before) : parent.appendChild(node);
10004 else if (4 !== tag && (27 === tag && isSingletonScope(node.type) && (parent = node.stateNode), node = node.child, null !== node))
10005 for (insertOrAppendPlacementNode(node, before, parent), node = node.sibling; null !== node; )
10006 insertOrAppendPlacementNode(node, before, parent), node = node.sibling;
10007 }
10008 function commitPlacement(finishedWork) {
10009 for (var hostParentFiber, parentFiber = finishedWork.return; null !== parentFiber; ) {
10010 if (isHostParent(parentFiber)) {
10011 hostParentFiber = parentFiber;
10012 break;
10013 }
10014 parentFiber = parentFiber.return;
10015 }
10016 if (null == hostParentFiber)
10017 throw Error(
10018 "Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue."
10019 );
10020 switch (hostParentFiber.tag) {
10021 case 27:
10022 hostParentFiber = hostParentFiber.stateNode;
10023 parentFiber = getHostSibling(finishedWork);
10024 insertOrAppendPlacementNode(
10025 finishedWork,
10026 parentFiber,
10027 hostParentFiber
10028 );
10029 break;
10030 case 5:
10031 parentFiber = hostParentFiber.stateNode;
10032 hostParentFiber.flags & 32 && (resetTextContent(parentFiber), hostParentFiber.flags &= -33);
10033 hostParentFiber = getHostSibling(finishedWork);
10034 insertOrAppendPlacementNode(
10035 finishedWork,
10036 hostParentFiber,
10037 parentFiber
10038 );
10039 break;
10040 case 3:
10041 case 4:
10042 hostParentFiber = hostParentFiber.stateNode.containerInfo;
10043 parentFiber = getHostSibling(finishedWork);
10044 insertOrAppendPlacementNodeIntoContainer(
10045 finishedWork,
10046 parentFiber,
10047 hostParentFiber
10048 );
10049 break;
10050 default:
10051 throw Error(
10052 "Invalid host parent fiber. This error is likely caused by a bug in React. Please file an issue."
10053 );
10054 }
10055 }
10056 function commitHostSingletonAcquisition(finishedWork) {
10057 var singleton = finishedWork.stateNode, props = finishedWork.memoizedProps;
10058 try {
10059 runWithFiberInDEV(
10060 finishedWork,
10061 acquireSingletonInstance,
10062 finishedWork.type,
10063 props,
10064 singleton,
10065 finishedWork
10066 );
10067 } catch (error) {
10068 captureCommitPhaseError(finishedWork, finishedWork.return, error);
10069 }
10070 }
10071 function commitBeforeMutationEffects(root2, firstChild) {
10072 root2 = root2.containerInfo;
10073 eventsEnabled = _enabled;
10074 root2 = getActiveElementDeep(root2);
10075 if (hasSelectionCapabilities(root2)) {
10076 if ("selectionStart" in root2)
10077 var JSCompiler_temp = {
10078 start: root2.selectionStart,
10079 end: root2.selectionEnd
10080 };
10081 else
10082 a: {
10083 JSCompiler_temp = (JSCompiler_temp = root2.ownerDocument) && JSCompiler_temp.defaultView || window;
10084 var selection = JSCompiler_temp.getSelection && JSCompiler_temp.getSelection();
10085 if (selection && 0 !== selection.rangeCount) {
10086 JSCompiler_temp = selection.anchorNode;
10087 var anchorOffset = selection.anchorOffset, focusNode = selection.focusNode;
10088 selection = selection.focusOffset;
10089 try {
10090 JSCompiler_temp.nodeType, focusNode.nodeType;
10091 } catch (e$2) {
10092 JSCompiler_temp = null;
10093 break a;
10094 }
10095 var length = 0, start = -1, end = -1, indexWithinAnchor = 0, indexWithinFocus = 0, node = root2, parentNode = null;
10096 b: for (; ; ) {
10097 for (var next; ; ) {
10098 node !== JSCompiler_temp || 0 !== anchorOffset && 3 !== node.nodeType || (start = length + anchorOffset);
10099 node !== focusNode || 0 !== selection && 3 !== node.nodeType || (end = length + selection);
10100 3 === node.nodeType && (length += node.nodeValue.length);
10101 if (null === (next = node.firstChild)) break;
10102 parentNode = node;
10103 node = next;
10104 }
10105 for (; ; ) {
10106 if (node === root2) break b;
10107 parentNode === JSCompiler_temp && ++indexWithinAnchor === anchorOffset && (start = length);
10108 parentNode === focusNode && ++indexWithinFocus === selection && (end = length);
10109 if (null !== (next = node.nextSibling)) break;
10110 node = parentNode;
10111 parentNode = node.parentNode;
10112 }
10113 node = next;
10114 }
10115 JSCompiler_temp = -1 === start || -1 === end ? null : { start, end };
10116 } else JSCompiler_temp = null;
10117 }
10118 JSCompiler_temp = JSCompiler_temp || { start: 0, end: 0 };
10119 } else JSCompiler_temp = null;
10120 selectionInformation = {
10121 focusedElem: root2,
10122 selectionRange: JSCompiler_temp
10123 };
10124 _enabled = false;
10125 for (nextEffect = firstChild; null !== nextEffect; )
10126 if (firstChild = nextEffect, root2 = firstChild.child, 0 !== (firstChild.subtreeFlags & 1024) && null !== root2)
10127 root2.return = firstChild, nextEffect = root2;
10128 else
10129 for (; null !== nextEffect; ) {
10130 root2 = firstChild = nextEffect;
10131 JSCompiler_temp = root2.alternate;
10132 anchorOffset = root2.flags;
10133 switch (root2.tag) {
10134 case 0:
10135 break;
10136 case 11:
10137 case 15:
10138 break;
10139 case 1:
10140 0 !== (anchorOffset & 1024) && null !== JSCompiler_temp && commitClassSnapshot(root2, JSCompiler_temp);
10141 break;
10142 case 3:
10143 if (0 !== (anchorOffset & 1024)) {
10144 if (root2 = root2.stateNode.containerInfo, JSCompiler_temp = root2.nodeType, 9 === JSCompiler_temp)
10145 clearContainerSparingly(root2);
10146 else if (1 === JSCompiler_temp)
10147 switch (root2.nodeName) {
10148 case "HEAD":
10149 case "HTML":
10150 case "BODY":
10151 clearContainerSparingly(root2);
10152 break;
10153 default:
10154 root2.textContent = "";
10155 }
10156 }
10157 break;
10158 case 5:
10159 case 26:
10160 case 27:
10161 case 6:
10162 case 4:
10163 case 17:
10164 break;
10165 default:
10166 if (0 !== (anchorOffset & 1024))
10167 throw Error(
10168 "This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue."
10169 );
10170 }
10171 root2 = firstChild.sibling;
10172 if (null !== root2) {
10173 root2.return = firstChild.return;
10174 nextEffect = root2;
10175 break;
10176 }
10177 nextEffect = firstChild.return;
10178 }
10179 }
10180 function commitLayoutEffectOnFiber(finishedRoot, current2, finishedWork) {
10181 var flags = finishedWork.flags;
10182 switch (finishedWork.tag) {
10183 case 0:
10184 case 11:
10185 case 15:
10186 recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
10187 flags & 4 && commitHookLayoutEffects(finishedWork, Layout | HasEffect);
10188 break;
10189 case 1:
10190 recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
10191 if (flags & 4)
10192 if (finishedRoot = finishedWork.stateNode, null === current2)
10193 finishedWork.type.defaultProps || "ref" in finishedWork.memoizedProps || didWarnAboutReassigningProps || (finishedRoot.props !== finishedWork.memoizedProps && console.error(
10194 "Expected %s props to match memoized props before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",
10195 getComponentNameFromFiber(finishedWork) || "instance"
10196 ), finishedRoot.state !== finishedWork.memoizedState && console.error(
10197 "Expected %s state to match memoized state before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.",
10198 getComponentNameFromFiber(finishedWork) || "instance"
10199 )), shouldProfile(finishedWork) ? (startEffectTimer(), runWithFiberInDEV(
10200 finishedWork,
10201 callComponentDidMountInDEV,
10202 finishedWork,
10203 finishedRoot
10204 ), recordEffectDuration()) : runWithFiberInDEV(
10205 finishedWork,
10206 callComponentDidMountInDEV,
10207 finishedWork,
10208 finishedRoot
10209 );
10210 else {
10211 var prevProps = resolveClassComponentProps(
10212 finishedWork.type,
10213 current2.memoizedProps
10214 );
10215 current2 = current2.memoizedState;
10216 finishedWork.type.defaultProps || "ref" in finishedWork.memoizedProps || didWarnAboutReassigningProps || (finishedRoot.props !== finishedWork.memoizedProps && console.error(
10217 "Expected %s props to match memoized props before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",
10218 getComponentNameFromFiber(finishedWork) || "instance"
10219 ), finishedRoot.state !== finishedWork.memoizedState && console.error(
10220 "Expected %s state to match memoized state before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.",
10221 getComponentNameFromFiber(finishedWork) || "instance"
10222 ));
10223 shouldProfile(finishedWork) ? (startEffectTimer(), runWithFiberInDEV(
10224 finishedWork,
10225 callComponentDidUpdateInDEV,
10226 finishedWork,
10227 finishedRoot,
10228 prevProps,
10229 current2,
10230 finishedRoot.__reactInternalSnapshotBeforeUpdate
10231 ), recordEffectDuration()) : runWithFiberInDEV(
10232 finishedWork,
10233 callComponentDidUpdateInDEV,
10234 finishedWork,
10235 finishedRoot,
10236 prevProps,
10237 current2,
10238 finishedRoot.__reactInternalSnapshotBeforeUpdate
10239 );
10240 }
10241 flags & 64 && commitClassCallbacks(finishedWork);
10242 flags & 512 && safelyAttachRef(finishedWork, finishedWork.return);
10243 break;
10244 case 3:
10245 current2 = pushNestedEffectDurations();
10246 recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
10247 if (flags & 64 && (flags = finishedWork.updateQueue, null !== flags)) {
10248 prevProps = null;
10249 if (null !== finishedWork.child)
10250 switch (finishedWork.child.tag) {
10251 case 27:
10252 case 5:
10253 prevProps = finishedWork.child.stateNode;
10254 break;
10255 case 1:
10256 prevProps = finishedWork.child.stateNode;
10257 }
10258 try {
10259 runWithFiberInDEV(
10260 finishedWork,
10261 commitCallbacks,
10262 flags,
10263 prevProps
10264 );
10265 } catch (error) {
10266 captureCommitPhaseError(finishedWork, finishedWork.return, error);
10267 }
10268 }
10269 finishedRoot.effectDuration += popNestedEffectDurations(current2);
10270 break;
10271 case 27:
10272 null === current2 && flags & 4 && commitHostSingletonAcquisition(finishedWork);
10273 case 26:
10274 case 5:
10275 recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
10276 null === current2 && flags & 4 && commitHostMount(finishedWork);
10277 flags & 512 && safelyAttachRef(finishedWork, finishedWork.return);
10278 break;
10279 case 12:
10280 if (flags & 4) {
10281 flags = pushNestedEffectDurations();
10282 recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
10283 finishedRoot = finishedWork.stateNode;
10284 finishedRoot.effectDuration += bubbleNestedEffectDurations(flags);
10285 try {
10286 runWithFiberInDEV(
10287 finishedWork,
10288 commitProfiler,
10289 finishedWork,
10290 current2,
10291 commitStartTime,
10292 finishedRoot.effectDuration
10293 );
10294 } catch (error) {
10295 captureCommitPhaseError(finishedWork, finishedWork.return, error);
10296 }
10297 } else recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
10298 break;
10299 case 13:
10300 recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
10301 flags & 4 && commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);
10302 flags & 64 && (finishedRoot = finishedWork.memoizedState, null !== finishedRoot && (finishedRoot = finishedRoot.dehydrated, null !== finishedRoot && (finishedWork = retryDehydratedSuspenseBoundary.bind(
10303 null,
10304 finishedWork
10305 ), registerSuspenseInstanceRetry(finishedRoot, finishedWork))));
10306 break;
10307 case 22:
10308 flags = null !== finishedWork.memoizedState || offscreenSubtreeIsHidden;
10309 if (!flags) {
10310 current2 = null !== current2 && null !== current2.memoizedState || offscreenSubtreeWasHidden;
10311 prevProps = offscreenSubtreeIsHidden;
10312 var prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;
10313 offscreenSubtreeIsHidden = flags;
10314 (offscreenSubtreeWasHidden = current2) && !prevOffscreenSubtreeWasHidden ? recursivelyTraverseReappearLayoutEffects(
10315 finishedRoot,
10316 finishedWork,
10317 0 !== (finishedWork.subtreeFlags & 8772)
10318 ) : recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
10319 offscreenSubtreeIsHidden = prevProps;
10320 offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;
10321 }
10322 break;
10323 case 30:
10324 break;
10325 default:
10326 recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
10327 }
10328 }
10329 function detachFiberAfterEffects(fiber) {
10330 var alternate = fiber.alternate;
10331 null !== alternate && (fiber.alternate = null, detachFiberAfterEffects(alternate));
10332 fiber.child = null;
10333 fiber.deletions = null;
10334 fiber.sibling = null;
10335 5 === fiber.tag && (alternate = fiber.stateNode, null !== alternate && detachDeletedInstance(alternate));
10336 fiber.stateNode = null;
10337 fiber._debugOwner = null;
10338 fiber.return = null;
10339 fiber.dependencies = null;
10340 fiber.memoizedProps = null;
10341 fiber.memoizedState = null;
10342 fiber.pendingProps = null;
10343 fiber.stateNode = null;
10344 fiber.updateQueue = null;
10345 }
10346 function recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, parent) {
10347 for (parent = parent.child; null !== parent; )
10348 commitDeletionEffectsOnFiber(
10349 finishedRoot,
10350 nearestMountedAncestor,
10351 parent
10352 ), parent = parent.sibling;
10353 }
10354 function commitDeletionEffectsOnFiber(finishedRoot, nearestMountedAncestor, deletedFiber) {
10355 if (injectedHook && "function" === typeof injectedHook.onCommitFiberUnmount)
10356 try {
10357 injectedHook.onCommitFiberUnmount(rendererID, deletedFiber);
10358 } catch (err) {
10359 hasLoggedError || (hasLoggedError = true, console.error(
10360 "React instrumentation encountered an error: %s",
10361 err
10362 ));
10363 }
10364 switch (deletedFiber.tag) {
10365 case 26:
10366 offscreenSubtreeWasHidden || safelyDetachRef(deletedFiber, nearestMountedAncestor);
10367 recursivelyTraverseDeletionEffects(
10368 finishedRoot,
10369 nearestMountedAncestor,
10370 deletedFiber
10371 );
10372 deletedFiber.memoizedState ? deletedFiber.memoizedState.count-- : deletedFiber.stateNode && (deletedFiber = deletedFiber.stateNode, deletedFiber.parentNode.removeChild(deletedFiber));
10373 break;
10374 case 27:
10375 offscreenSubtreeWasHidden || safelyDetachRef(deletedFiber, nearestMountedAncestor);
10376 var prevHostParent = hostParent, prevHostParentIsContainer = hostParentIsContainer;
10377 isSingletonScope(deletedFiber.type) && (hostParent = deletedFiber.stateNode, hostParentIsContainer = false);
10378 recursivelyTraverseDeletionEffects(
10379 finishedRoot,
10380 nearestMountedAncestor,
10381 deletedFiber
10382 );
10383 runWithFiberInDEV(
10384 deletedFiber,
10385 releaseSingletonInstance,
10386 deletedFiber.stateNode
10387 );
10388 hostParent = prevHostParent;
10389 hostParentIsContainer = prevHostParentIsContainer;
10390 break;
10391 case 5:
10392 offscreenSubtreeWasHidden || safelyDetachRef(deletedFiber, nearestMountedAncestor);
10393 case 6:
10394 prevHostParent = hostParent;
10395 prevHostParentIsContainer = hostParentIsContainer;
10396 hostParent = null;
10397 recursivelyTraverseDeletionEffects(
10398 finishedRoot,
10399 nearestMountedAncestor,
10400 deletedFiber
10401 );
10402 hostParent = prevHostParent;
10403 hostParentIsContainer = prevHostParentIsContainer;
10404 if (null !== hostParent)
10405 if (hostParentIsContainer)
10406 try {
10407 runWithFiberInDEV(
10408 deletedFiber,
10409 removeChildFromContainer,
10410 hostParent,
10411 deletedFiber.stateNode
10412 );
10413 } catch (error) {
10414 captureCommitPhaseError(
10415 deletedFiber,
10416 nearestMountedAncestor,
10417 error
10418 );
10419 }
10420 else
10421 try {
10422 runWithFiberInDEV(
10423 deletedFiber,
10424 removeChild,
10425 hostParent,
10426 deletedFiber.stateNode
10427 );
10428 } catch (error) {
10429 captureCommitPhaseError(
10430 deletedFiber,
10431 nearestMountedAncestor,
10432 error
10433 );
10434 }
10435 break;
10436 case 18:
10437 null !== hostParent && (hostParentIsContainer ? (finishedRoot = hostParent, clearSuspenseBoundary(
10438 9 === finishedRoot.nodeType ? finishedRoot.body : "HTML" === finishedRoot.nodeName ? finishedRoot.ownerDocument.body : finishedRoot,
10439 deletedFiber.stateNode
10440 ), retryIfBlockedOn(finishedRoot)) : clearSuspenseBoundary(hostParent, deletedFiber.stateNode));
10441 break;
10442 case 4:
10443 prevHostParent = hostParent;
10444 prevHostParentIsContainer = hostParentIsContainer;
10445 hostParent = deletedFiber.stateNode.containerInfo;
10446 hostParentIsContainer = true;
10447 recursivelyTraverseDeletionEffects(
10448 finishedRoot,
10449 nearestMountedAncestor,
10450 deletedFiber
10451 );
10452 hostParent = prevHostParent;
10453 hostParentIsContainer = prevHostParentIsContainer;
10454 break;
10455 case 0:
10456 case 11:
10457 case 14:
10458 case 15:
10459 offscreenSubtreeWasHidden || commitHookEffectListUnmount(
10460 Insertion,
10461 deletedFiber,
10462 nearestMountedAncestor
10463 );
10464 offscreenSubtreeWasHidden || commitHookLayoutUnmountEffects(
10465 deletedFiber,
10466 nearestMountedAncestor,
10467 Layout
10468 );
10469 recursivelyTraverseDeletionEffects(
10470 finishedRoot,
10471 nearestMountedAncestor,
10472 deletedFiber
10473 );
10474 break;
10475 case 1:
10476 offscreenSubtreeWasHidden || (safelyDetachRef(deletedFiber, nearestMountedAncestor), prevHostParent = deletedFiber.stateNode, "function" === typeof prevHostParent.componentWillUnmount && safelyCallComponentWillUnmount(
10477 deletedFiber,
10478 nearestMountedAncestor,
10479 prevHostParent
10480 ));
10481 recursivelyTraverseDeletionEffects(
10482 finishedRoot,
10483 nearestMountedAncestor,
10484 deletedFiber
10485 );
10486 break;
10487 case 21:
10488 recursivelyTraverseDeletionEffects(
10489 finishedRoot,
10490 nearestMountedAncestor,
10491 deletedFiber
10492 );
10493 break;
10494 case 22:
10495 offscreenSubtreeWasHidden = (prevHostParent = offscreenSubtreeWasHidden) || null !== deletedFiber.memoizedState;
10496 recursivelyTraverseDeletionEffects(
10497 finishedRoot,
10498 nearestMountedAncestor,
10499 deletedFiber
10500 );
10501 offscreenSubtreeWasHidden = prevHostParent;
10502 break;
10503 default:
10504 recursivelyTraverseDeletionEffects(
10505 finishedRoot,
10506 nearestMountedAncestor,
10507 deletedFiber
10508 );
10509 }
10510 }
10511 function commitSuspenseHydrationCallbacks(finishedRoot, finishedWork) {
10512 if (null === finishedWork.memoizedState && (finishedRoot = finishedWork.alternate, null !== finishedRoot && (finishedRoot = finishedRoot.memoizedState, null !== finishedRoot && (finishedRoot = finishedRoot.dehydrated, null !== finishedRoot))))
10513 try {
10514 runWithFiberInDEV(
10515 finishedWork,
10516 commitHydratedSuspenseInstance,
10517 finishedRoot
10518 );
10519 } catch (error) {
10520 captureCommitPhaseError(finishedWork, finishedWork.return, error);
10521 }
10522 }
10523 function getRetryCache(finishedWork) {
10524 switch (finishedWork.tag) {
10525 case 13:
10526 case 19:
10527 var retryCache = finishedWork.stateNode;
10528 null === retryCache && (retryCache = finishedWork.stateNode = new PossiblyWeakSet());
10529 return retryCache;
10530 case 22:
10531 return finishedWork = finishedWork.stateNode, retryCache = finishedWork._retryCache, null === retryCache && (retryCache = finishedWork._retryCache = new PossiblyWeakSet()), retryCache;
10532 default:
10533 throw Error(
10534 "Unexpected Suspense handler tag (" + finishedWork.tag + "). This is a bug in React."
10535 );
10536 }
10537 }
10538 function attachSuspenseRetryListeners(finishedWork, wakeables) {
10539 var retryCache = getRetryCache(finishedWork);
10540 wakeables.forEach(function(wakeable) {
10541 var retry = resolveRetryWakeable.bind(null, finishedWork, wakeable);
10542 if (!retryCache.has(wakeable)) {
10543 retryCache.add(wakeable);
10544 if (isDevToolsPresent)
10545 if (null !== inProgressLanes && null !== inProgressRoot)
10546 restorePendingUpdaters(inProgressRoot, inProgressLanes);
10547 else
10548 throw Error(
10549 "Expected finished root and lanes to be set. This is a bug in React."
10550 );
10551 wakeable.then(retry, retry);
10552 }
10553 });
10554 }
10555 function recursivelyTraverseMutationEffects(root$jscomp$0, parentFiber) {
10556 var deletions = parentFiber.deletions;
10557 if (null !== deletions)
10558 for (var i = 0; i < deletions.length; i++) {
10559 var root2 = root$jscomp$0, returnFiber = parentFiber, deletedFiber = deletions[i], parent = returnFiber;
10560 a: for (; null !== parent; ) {
10561 switch (parent.tag) {
10562 case 27:
10563 if (isSingletonScope(parent.type)) {
10564 hostParent = parent.stateNode;
10565 hostParentIsContainer = false;
10566 break a;
10567 }
10568 break;
10569 case 5:
10570 hostParent = parent.stateNode;
10571 hostParentIsContainer = false;
10572 break a;
10573 case 3:
10574 case 4:
10575 hostParent = parent.stateNode.containerInfo;
10576 hostParentIsContainer = true;
10577 break a;
10578 }
10579 parent = parent.return;
10580 }
10581 if (null === hostParent)
10582 throw Error(
10583 "Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue."
10584 );
10585 commitDeletionEffectsOnFiber(root2, returnFiber, deletedFiber);
10586 hostParent = null;
10587 hostParentIsContainer = false;
10588 root2 = deletedFiber;
10589 returnFiber = root2.alternate;
10590 null !== returnFiber && (returnFiber.return = null);
10591 root2.return = null;
10592 }
10593 if (parentFiber.subtreeFlags & 13878)
10594 for (parentFiber = parentFiber.child; null !== parentFiber; )
10595 commitMutationEffectsOnFiber(parentFiber, root$jscomp$0), parentFiber = parentFiber.sibling;
10596 }
10597 function commitMutationEffectsOnFiber(finishedWork, root2) {
10598 var current2 = finishedWork.alternate, flags = finishedWork.flags;
10599 switch (finishedWork.tag) {
10600 case 0:
10601 case 11:
10602 case 14:
10603 case 15:
10604 recursivelyTraverseMutationEffects(root2, finishedWork);
10605 commitReconciliationEffects(finishedWork);
10606 flags & 4 && (commitHookEffectListUnmount(
10607 Insertion | HasEffect,
10608 finishedWork,
10609 finishedWork.return
10610 ), commitHookEffectListMount(Insertion | HasEffect, finishedWork), commitHookLayoutUnmountEffects(
10611 finishedWork,
10612 finishedWork.return,
10613 Layout | HasEffect
10614 ));
10615 break;
10616 case 1:
10617 recursivelyTraverseMutationEffects(root2, finishedWork);
10618 commitReconciliationEffects(finishedWork);
10619 flags & 512 && (offscreenSubtreeWasHidden || null === current2 || safelyDetachRef(current2, current2.return));
10620 flags & 64 && offscreenSubtreeIsHidden && (finishedWork = finishedWork.updateQueue, null !== finishedWork && (flags = finishedWork.callbacks, null !== flags && (current2 = finishedWork.shared.hiddenCallbacks, finishedWork.shared.hiddenCallbacks = null === current2 ? flags : current2.concat(flags))));
10621 break;
10622 case 26:
10623 var hoistableRoot = currentHoistableRoot;
10624 recursivelyTraverseMutationEffects(root2, finishedWork);
10625 commitReconciliationEffects(finishedWork);
10626 flags & 512 && (offscreenSubtreeWasHidden || null === current2 || safelyDetachRef(current2, current2.return));
10627 if (flags & 4)
10628 if (root2 = null !== current2 ? current2.memoizedState : null, flags = finishedWork.memoizedState, null === current2)
10629 if (null === flags)
10630 if (null === finishedWork.stateNode) {
10631 a: {
10632 flags = finishedWork.type;
10633 current2 = finishedWork.memoizedProps;
10634 root2 = hoistableRoot.ownerDocument || hoistableRoot;
10635 b: switch (flags) {
10636 case "title":
10637 hoistableRoot = root2.getElementsByTagName("title")[0];
10638 if (!hoistableRoot || hoistableRoot[internalHoistableMarker] || hoistableRoot[internalInstanceKey] || hoistableRoot.namespaceURI === SVG_NAMESPACE || hoistableRoot.hasAttribute("itemprop"))
10639 hoistableRoot = root2.createElement(flags), root2.head.insertBefore(
10640 hoistableRoot,
10641 root2.querySelector("head > title")
10642 );
10643 setInitialProperties(hoistableRoot, flags, current2);
10644 hoistableRoot[internalInstanceKey] = finishedWork;
10645 markNodeAsHoistable(hoistableRoot);
10646 flags = hoistableRoot;
10647 break a;
10648 case "link":
10649 var maybeNodes = getHydratableHoistableCache(
10650 "link",
10651 "href",
10652 root2
10653 ).get(flags + (current2.href || ""));
10654 if (maybeNodes) {
10655 for (var i = 0; i < maybeNodes.length; i++)
10656 if (hoistableRoot = maybeNodes[i], hoistableRoot.getAttribute("href") === (null == current2.href || "" === current2.href ? null : current2.href) && hoistableRoot.getAttribute("rel") === (null == current2.rel ? null : current2.rel) && hoistableRoot.getAttribute("title") === (null == current2.title ? null : current2.title) && hoistableRoot.getAttribute("crossorigin") === (null == current2.crossOrigin ? null : current2.crossOrigin)) {
10657 maybeNodes.splice(i, 1);
10658 break b;
10659 }
10660 }
10661 hoistableRoot = root2.createElement(flags);
10662 setInitialProperties(hoistableRoot, flags, current2);
10663 root2.head.appendChild(hoistableRoot);
10664 break;
10665 case "meta":
10666 if (maybeNodes = getHydratableHoistableCache(
10667 "meta",
10668 "content",
10669 root2
10670 ).get(flags + (current2.content || ""))) {
10671 for (i = 0; i < maybeNodes.length; i++)
10672 if (hoistableRoot = maybeNodes[i], checkAttributeStringCoercion(
10673 current2.content,
10674 "content"
10675 ), hoistableRoot.getAttribute("content") === (null == current2.content ? null : "" + current2.content) && hoistableRoot.getAttribute("name") === (null == current2.name ? null : current2.name) && hoistableRoot.getAttribute("property") === (null == current2.property ? null : current2.property) && hoistableRoot.getAttribute("http-equiv") === (null == current2.httpEquiv ? null : current2.httpEquiv) && hoistableRoot.getAttribute("charset") === (null == current2.charSet ? null : current2.charSet)) {
10676 maybeNodes.splice(i, 1);
10677 break b;
10678 }
10679 }
10680 hoistableRoot = root2.createElement(flags);
10681 setInitialProperties(hoistableRoot, flags, current2);
10682 root2.head.appendChild(hoistableRoot);
10683 break;
10684 default:
10685 throw Error(
10686 'getNodesForType encountered a type it did not expect: "' + flags + '". This is a bug in React.'
10687 );
10688 }
10689 hoistableRoot[internalInstanceKey] = finishedWork;
10690 markNodeAsHoistable(hoistableRoot);
10691 flags = hoistableRoot;
10692 }
10693 finishedWork.stateNode = flags;
10694 } else
10695 mountHoistable(
10696 hoistableRoot,
10697 finishedWork.type,
10698 finishedWork.stateNode
10699 );
10700 else
10701 finishedWork.stateNode = acquireResource(
10702 hoistableRoot,
10703 flags,
10704 finishedWork.memoizedProps
10705 );
10706 else
10707 root2 !== flags ? (null === root2 ? null !== current2.stateNode && (current2 = current2.stateNode, current2.parentNode.removeChild(current2)) : root2.count--, null === flags ? mountHoistable(
10708 hoistableRoot,
10709 finishedWork.type,
10710 finishedWork.stateNode
10711 ) : acquireResource(
10712 hoistableRoot,
10713 flags,
10714 finishedWork.memoizedProps
10715 )) : null === flags && null !== finishedWork.stateNode && commitHostUpdate(
10716 finishedWork,
10717 finishedWork.memoizedProps,
10718 current2.memoizedProps
10719 );
10720 break;
10721 case 27:
10722 recursivelyTraverseMutationEffects(root2, finishedWork);
10723 commitReconciliationEffects(finishedWork);
10724 flags & 512 && (offscreenSubtreeWasHidden || null === current2 || safelyDetachRef(current2, current2.return));
10725 null !== current2 && flags & 4 && commitHostUpdate(
10726 finishedWork,
10727 finishedWork.memoizedProps,
10728 current2.memoizedProps
10729 );
10730 break;
10731 case 5:
10732 recursivelyTraverseMutationEffects(root2, finishedWork);
10733 commitReconciliationEffects(finishedWork);
10734 flags & 512 && (offscreenSubtreeWasHidden || null === current2 || safelyDetachRef(current2, current2.return));
10735 if (finishedWork.flags & 32) {
10736 root2 = finishedWork.stateNode;
10737 try {
10738 runWithFiberInDEV(finishedWork, resetTextContent, root2);
10739 } catch (error) {
10740 captureCommitPhaseError(finishedWork, finishedWork.return, error);
10741 }
10742 }
10743 flags & 4 && null != finishedWork.stateNode && (root2 = finishedWork.memoizedProps, commitHostUpdate(
10744 finishedWork,
10745 root2,
10746 null !== current2 ? current2.memoizedProps : root2
10747 ));
10748 flags & 1024 && (needsFormReset = true, "form" !== finishedWork.type && console.error(
10749 "Unexpected host component type. Expected a form. This is a bug in React."
10750 ));
10751 break;
10752 case 6:
10753 recursivelyTraverseMutationEffects(root2, finishedWork);
10754 commitReconciliationEffects(finishedWork);
10755 if (flags & 4) {
10756 if (null === finishedWork.stateNode)
10757 throw Error(
10758 "This should have a text node initialized. This error is likely caused by a bug in React. Please file an issue."
10759 );
10760 flags = finishedWork.memoizedProps;
10761 current2 = null !== current2 ? current2.memoizedProps : flags;
10762 root2 = finishedWork.stateNode;
10763 try {
10764 runWithFiberInDEV(
10765 finishedWork,
10766 commitTextUpdate,
10767 root2,
10768 current2,
10769 flags
10770 );
10771 } catch (error) {
10772 captureCommitPhaseError(finishedWork, finishedWork.return, error);
10773 }
10774 }
10775 break;
10776 case 3:
10777 hoistableRoot = pushNestedEffectDurations();
10778 tagCaches = null;
10779 maybeNodes = currentHoistableRoot;
10780 currentHoistableRoot = getHoistableRoot(root2.containerInfo);
10781 recursivelyTraverseMutationEffects(root2, finishedWork);
10782 currentHoistableRoot = maybeNodes;
10783 commitReconciliationEffects(finishedWork);
10784 if (flags & 4 && null !== current2 && current2.memoizedState.isDehydrated)
10785 try {
10786 runWithFiberInDEV(
10787 finishedWork,
10788 commitHydratedContainer,
10789 root2.containerInfo
10790 );
10791 } catch (error) {
10792 captureCommitPhaseError(finishedWork, finishedWork.return, error);
10793 }
10794 needsFormReset && (needsFormReset = false, recursivelyResetForms(finishedWork));
10795 root2.effectDuration += popNestedEffectDurations(hoistableRoot);
10796 break;
10797 case 4:
10798 flags = currentHoistableRoot;
10799 currentHoistableRoot = getHoistableRoot(
10800 finishedWork.stateNode.containerInfo
10801 );
10802 recursivelyTraverseMutationEffects(root2, finishedWork);
10803 commitReconciliationEffects(finishedWork);
10804 currentHoistableRoot = flags;
10805 break;
10806 case 12:
10807 flags = pushNestedEffectDurations();
10808 recursivelyTraverseMutationEffects(root2, finishedWork);
10809 commitReconciliationEffects(finishedWork);
10810 finishedWork.stateNode.effectDuration += bubbleNestedEffectDurations(flags);
10811 break;
10812 case 13:
10813 recursivelyTraverseMutationEffects(root2, finishedWork);
10814 commitReconciliationEffects(finishedWork);
10815 finishedWork.child.flags & 8192 && null !== finishedWork.memoizedState !== (null !== current2 && null !== current2.memoizedState) && (globalMostRecentFallbackTime = now$1());
10816 flags & 4 && (flags = finishedWork.updateQueue, null !== flags && (finishedWork.updateQueue = null, attachSuspenseRetryListeners(finishedWork, flags)));
10817 break;
10818 case 22:
10819 hoistableRoot = null !== finishedWork.memoizedState;
10820 var wasHidden = null !== current2 && null !== current2.memoizedState, prevOffscreenSubtreeIsHidden = offscreenSubtreeIsHidden, prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;
10821 offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden || hoistableRoot;
10822 offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden || wasHidden;
10823 recursivelyTraverseMutationEffects(root2, finishedWork);
10824 offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;
10825 offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden;
10826 commitReconciliationEffects(finishedWork);
10827 if (flags & 8192)
10828 a: for (root2 = finishedWork.stateNode, root2._visibility = hoistableRoot ? root2._visibility & ~OffscreenVisible : root2._visibility | OffscreenVisible, hoistableRoot && (null === current2 || wasHidden || offscreenSubtreeIsHidden || offscreenSubtreeWasHidden || recursivelyTraverseDisappearLayoutEffects(finishedWork)), current2 = null, root2 = finishedWork; ; ) {
10829 if (5 === root2.tag || 26 === root2.tag) {
10830 if (null === current2) {
10831 wasHidden = current2 = root2;
10832 try {
10833 maybeNodes = wasHidden.stateNode, hoistableRoot ? runWithFiberInDEV(wasHidden, hideInstance, maybeNodes) : runWithFiberInDEV(
10834 wasHidden,
10835 unhideInstance,
10836 wasHidden.stateNode,
10837 wasHidden.memoizedProps
10838 );
10839 } catch (error) {
10840 captureCommitPhaseError(wasHidden, wasHidden.return, error);
10841 }
10842 }
10843 } else if (6 === root2.tag) {
10844 if (null === current2) {
10845 wasHidden = root2;
10846 try {
10847 i = wasHidden.stateNode, hoistableRoot ? runWithFiberInDEV(wasHidden, hideTextInstance, i) : runWithFiberInDEV(
10848 wasHidden,
10849 unhideTextInstance,
10850 i,
10851 wasHidden.memoizedProps
10852 );
10853 } catch (error) {
10854 captureCommitPhaseError(wasHidden, wasHidden.return, error);
10855 }
10856 }
10857 } else if ((22 !== root2.tag && 23 !== root2.tag || null === root2.memoizedState || root2 === finishedWork) && null !== root2.child) {
10858 root2.child.return = root2;
10859 root2 = root2.child;
10860 continue;
10861 }
10862 if (root2 === finishedWork) break a;
10863 for (; null === root2.sibling; ) {
10864 if (null === root2.return || root2.return === finishedWork)
10865 break a;
10866 current2 === root2 && (current2 = null);
10867 root2 = root2.return;
10868 }
10869 current2 === root2 && (current2 = null);
10870 root2.sibling.return = root2.return;
10871 root2 = root2.sibling;
10872 }
10873 flags & 4 && (flags = finishedWork.updateQueue, null !== flags && (current2 = flags.retryQueue, null !== current2 && (flags.retryQueue = null, attachSuspenseRetryListeners(finishedWork, current2))));
10874 break;
10875 case 19:
10876 recursivelyTraverseMutationEffects(root2, finishedWork);
10877 commitReconciliationEffects(finishedWork);
10878 flags & 4 && (flags = finishedWork.updateQueue, null !== flags && (finishedWork.updateQueue = null, attachSuspenseRetryListeners(finishedWork, flags)));
10879 break;
10880 case 30:
10881 break;
10882 case 21:
10883 break;
10884 default:
10885 recursivelyTraverseMutationEffects(root2, finishedWork), commitReconciliationEffects(finishedWork);
10886 }
10887 }
10888 function commitReconciliationEffects(finishedWork) {
10889 var flags = finishedWork.flags;
10890 if (flags & 2) {
10891 try {
10892 runWithFiberInDEV(finishedWork, commitPlacement, finishedWork);
10893 } catch (error) {
10894 captureCommitPhaseError(finishedWork, finishedWork.return, error);
10895 }
10896 finishedWork.flags &= -3;
10897 }
10898 flags & 4096 && (finishedWork.flags &= -4097);
10899 }
10900 function recursivelyResetForms(parentFiber) {
10901 if (parentFiber.subtreeFlags & 1024)
10902 for (parentFiber = parentFiber.child; null !== parentFiber; ) {
10903 var fiber = parentFiber;
10904 recursivelyResetForms(fiber);
10905 5 === fiber.tag && fiber.flags & 1024 && fiber.stateNode.reset();
10906 parentFiber = parentFiber.sibling;
10907 }
10908 }
10909 function recursivelyTraverseLayoutEffects(root2, parentFiber) {
10910 if (parentFiber.subtreeFlags & 8772)
10911 for (parentFiber = parentFiber.child; null !== parentFiber; )
10912 commitLayoutEffectOnFiber(root2, parentFiber.alternate, parentFiber), parentFiber = parentFiber.sibling;
10913 }
10914 function disappearLayoutEffects(finishedWork) {
10915 switch (finishedWork.tag) {
10916 case 0:
10917 case 11:
10918 case 14:
10919 case 15:
10920 commitHookLayoutUnmountEffects(
10921 finishedWork,
10922 finishedWork.return,
10923 Layout
10924 );
10925 recursivelyTraverseDisappearLayoutEffects(finishedWork);
10926 break;
10927 case 1:
10928 safelyDetachRef(finishedWork, finishedWork.return);
10929 var instance = finishedWork.stateNode;
10930 "function" === typeof instance.componentWillUnmount && safelyCallComponentWillUnmount(
10931 finishedWork,
10932 finishedWork.return,
10933 instance
10934 );
10935 recursivelyTraverseDisappearLayoutEffects(finishedWork);
10936 break;
10937 case 27:
10938 runWithFiberInDEV(
10939 finishedWork,
10940 releaseSingletonInstance,
10941 finishedWork.stateNode
10942 );
10943 case 26:
10944 case 5:
10945 safelyDetachRef(finishedWork, finishedWork.return);
10946 recursivelyTraverseDisappearLayoutEffects(finishedWork);
10947 break;
10948 case 22:
10949 null === finishedWork.memoizedState && recursivelyTraverseDisappearLayoutEffects(finishedWork);
10950 break;
10951 case 30:
10952 recursivelyTraverseDisappearLayoutEffects(finishedWork);
10953 break;
10954 default:
10955 recursivelyTraverseDisappearLayoutEffects(finishedWork);
10956 }
10957 }
10958 function recursivelyTraverseDisappearLayoutEffects(parentFiber) {
10959 for (parentFiber = parentFiber.child; null !== parentFiber; )
10960 disappearLayoutEffects(parentFiber), parentFiber = parentFiber.sibling;
10961 }
10962 function reappearLayoutEffects(finishedRoot, current2, finishedWork, includeWorkInProgressEffects) {
10963 var flags = finishedWork.flags;
10964 switch (finishedWork.tag) {
10965 case 0:
10966 case 11:
10967 case 15:
10968 recursivelyTraverseReappearLayoutEffects(
10969 finishedRoot,
10970 finishedWork,
10971 includeWorkInProgressEffects
10972 );
10973 commitHookLayoutEffects(finishedWork, Layout);
10974 break;
10975 case 1:
10976 recursivelyTraverseReappearLayoutEffects(
10977 finishedRoot,
10978 finishedWork,
10979 includeWorkInProgressEffects
10980 );
10981 current2 = finishedWork.stateNode;
10982 "function" === typeof current2.componentDidMount && runWithFiberInDEV(
10983 finishedWork,
10984 callComponentDidMountInDEV,
10985 finishedWork,
10986 current2
10987 );
10988 current2 = finishedWork.updateQueue;
10989 if (null !== current2) {
10990 finishedRoot = finishedWork.stateNode;
10991 try {
10992 runWithFiberInDEV(
10993 finishedWork,
10994 commitHiddenCallbacks,
10995 current2,
10996 finishedRoot
10997 );
10998 } catch (error) {
10999 captureCommitPhaseError(finishedWork, finishedWork.return, error);
11000 }
11001 }
11002 includeWorkInProgressEffects && flags & 64 && commitClassCallbacks(finishedWork);
11003 safelyAttachRef(finishedWork, finishedWork.return);
11004 break;
11005 case 27:
11006 commitHostSingletonAcquisition(finishedWork);
11007 case 26:
11008 case 5:
11009 recursivelyTraverseReappearLayoutEffects(
11010 finishedRoot,
11011 finishedWork,
11012 includeWorkInProgressEffects
11013 );
11014 includeWorkInProgressEffects && null === current2 && flags & 4 && commitHostMount(finishedWork);
11015 safelyAttachRef(finishedWork, finishedWork.return);
11016 break;
11017 case 12:
11018 if (includeWorkInProgressEffects && flags & 4) {
11019 flags = pushNestedEffectDurations();
11020 recursivelyTraverseReappearLayoutEffects(
11021 finishedRoot,
11022 finishedWork,
11023 includeWorkInProgressEffects
11024 );
11025 includeWorkInProgressEffects = finishedWork.stateNode;
11026 includeWorkInProgressEffects.effectDuration += bubbleNestedEffectDurations(flags);
11027 try {
11028 runWithFiberInDEV(
11029 finishedWork,
11030 commitProfiler,
11031 finishedWork,
11032 current2,
11033 commitStartTime,
11034 includeWorkInProgressEffects.effectDuration
11035 );
11036 } catch (error) {
11037 captureCommitPhaseError(finishedWork, finishedWork.return, error);
11038 }
11039 } else
11040 recursivelyTraverseReappearLayoutEffects(
11041 finishedRoot,
11042 finishedWork,
11043 includeWorkInProgressEffects
11044 );
11045 break;
11046 case 13:
11047 recursivelyTraverseReappearLayoutEffects(
11048 finishedRoot,
11049 finishedWork,
11050 includeWorkInProgressEffects
11051 );
11052 includeWorkInProgressEffects && flags & 4 && commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);
11053 break;
11054 case 22:
11055 null === finishedWork.memoizedState && recursivelyTraverseReappearLayoutEffects(
11056 finishedRoot,
11057 finishedWork,
11058 includeWorkInProgressEffects
11059 );
11060 safelyAttachRef(finishedWork, finishedWork.return);
11061 break;
11062 case 30:
11063 break;
11064 default:
11065 recursivelyTraverseReappearLayoutEffects(
11066 finishedRoot,
11067 finishedWork,
11068 includeWorkInProgressEffects
11069 );
11070 }
11071 }
11072 function recursivelyTraverseReappearLayoutEffects(finishedRoot, parentFiber, includeWorkInProgressEffects) {
11073 includeWorkInProgressEffects = includeWorkInProgressEffects && 0 !== (parentFiber.subtreeFlags & 8772);
11074 for (parentFiber = parentFiber.child; null !== parentFiber; )
11075 reappearLayoutEffects(
11076 finishedRoot,
11077 parentFiber.alternate,
11078 parentFiber,
11079 includeWorkInProgressEffects
11080 ), parentFiber = parentFiber.sibling;
11081 }
11082 function commitOffscreenPassiveMountEffects(current2, finishedWork) {
11083 var previousCache = null;
11084 null !== current2 && null !== current2.memoizedState && null !== current2.memoizedState.cachePool && (previousCache = current2.memoizedState.cachePool.pool);
11085 current2 = null;
11086 null !== finishedWork.memoizedState && null !== finishedWork.memoizedState.cachePool && (current2 = finishedWork.memoizedState.cachePool.pool);
11087 current2 !== previousCache && (null != current2 && retainCache(current2), null != previousCache && releaseCache(previousCache));
11088 }
11089 function commitCachePassiveMountEffect(current2, finishedWork) {
11090 current2 = null;
11091 null !== finishedWork.alternate && (current2 = finishedWork.alternate.memoizedState.cache);
11092 finishedWork = finishedWork.memoizedState.cache;
11093 finishedWork !== current2 && (retainCache(finishedWork), null != current2 && releaseCache(current2));
11094 }
11095 function recursivelyTraversePassiveMountEffects(root2, parentFiber, committedLanes, committedTransitions) {
11096 if (parentFiber.subtreeFlags & 10256)
11097 for (parentFiber = parentFiber.child; null !== parentFiber; )
11098 commitPassiveMountOnFiber(
11099 root2,
11100 parentFiber,
11101 committedLanes,
11102 committedTransitions
11103 ), parentFiber = parentFiber.sibling;
11104 }
11105 function commitPassiveMountOnFiber(finishedRoot, finishedWork, committedLanes, committedTransitions) {
11106 var flags = finishedWork.flags;
11107 switch (finishedWork.tag) {
11108 case 0:
11109 case 11:
11110 case 15:
11111 recursivelyTraversePassiveMountEffects(
11112 finishedRoot,
11113 finishedWork,
11114 committedLanes,
11115 committedTransitions
11116 );
11117 flags & 2048 && commitHookPassiveMountEffects(finishedWork, Passive | HasEffect);
11118 break;
11119 case 1:
11120 recursivelyTraversePassiveMountEffects(
11121 finishedRoot,
11122 finishedWork,
11123 committedLanes,
11124 committedTransitions
11125 );
11126 break;
11127 case 3:
11128 var prevEffectDuration = pushNestedEffectDurations();
11129 recursivelyTraversePassiveMountEffects(
11130 finishedRoot,
11131 finishedWork,
11132 committedLanes,
11133 committedTransitions
11134 );
11135 flags & 2048 && (committedLanes = null, null !== finishedWork.alternate && (committedLanes = finishedWork.alternate.memoizedState.cache), finishedWork = finishedWork.memoizedState.cache, finishedWork !== committedLanes && (retainCache(finishedWork), null != committedLanes && releaseCache(committedLanes)));
11136 finishedRoot.passiveEffectDuration += popNestedEffectDurations(prevEffectDuration);
11137 break;
11138 case 12:
11139 if (flags & 2048) {
11140 flags = pushNestedEffectDurations();
11141 recursivelyTraversePassiveMountEffects(
11142 finishedRoot,
11143 finishedWork,
11144 committedLanes,
11145 committedTransitions
11146 );
11147 finishedRoot = finishedWork.stateNode;
11148 finishedRoot.passiveEffectDuration += bubbleNestedEffectDurations(flags);
11149 try {
11150 runWithFiberInDEV(
11151 finishedWork,
11152 commitProfilerPostCommitImpl,
11153 finishedWork,
11154 finishedWork.alternate,
11155 commitStartTime,
11156 finishedRoot.passiveEffectDuration
11157 );
11158 } catch (error) {
11159 captureCommitPhaseError(finishedWork, finishedWork.return, error);
11160 }
11161 } else
11162 recursivelyTraversePassiveMountEffects(
11163 finishedRoot,
11164 finishedWork,
11165 committedLanes,
11166 committedTransitions
11167 );
11168 break;
11169 case 13:
11170 recursivelyTraversePassiveMountEffects(
11171 finishedRoot,
11172 finishedWork,
11173 committedLanes,
11174 committedTransitions
11175 );
11176 break;
11177 case 23:
11178 break;
11179 case 22:
11180 prevEffectDuration = finishedWork.stateNode;
11181 var _current = finishedWork.alternate;
11182 null !== finishedWork.memoizedState ? prevEffectDuration._visibility & OffscreenPassiveEffectsConnected ? recursivelyTraversePassiveMountEffects(
11183 finishedRoot,
11184 finishedWork,
11185 committedLanes,
11186 committedTransitions
11187 ) : recursivelyTraverseAtomicPassiveEffects(
11188 finishedRoot,
11189 finishedWork
11190 ) : prevEffectDuration._visibility & OffscreenPassiveEffectsConnected ? recursivelyTraversePassiveMountEffects(
11191 finishedRoot,
11192 finishedWork,
11193 committedLanes,
11194 committedTransitions
11195 ) : (prevEffectDuration._visibility |= OffscreenPassiveEffectsConnected, recursivelyTraverseReconnectPassiveEffects(
11196 finishedRoot,
11197 finishedWork,
11198 committedLanes,
11199 committedTransitions,
11200 0 !== (finishedWork.subtreeFlags & 10256)
11201 ));
11202 flags & 2048 && commitOffscreenPassiveMountEffects(_current, finishedWork);
11203 break;
11204 case 24:
11205 recursivelyTraversePassiveMountEffects(
11206 finishedRoot,
11207 finishedWork,
11208 committedLanes,
11209 committedTransitions
11210 );
11211 flags & 2048 && commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);
11212 break;
11213 default:
11214 recursivelyTraversePassiveMountEffects(
11215 finishedRoot,
11216 finishedWork,
11217 committedLanes,
11218 committedTransitions
11219 );
11220 }
11221 }
11222 function recursivelyTraverseReconnectPassiveEffects(finishedRoot, parentFiber, committedLanes, committedTransitions, includeWorkInProgressEffects) {
11223 includeWorkInProgressEffects = includeWorkInProgressEffects && 0 !== (parentFiber.subtreeFlags & 10256);
11224 for (parentFiber = parentFiber.child; null !== parentFiber; )
11225 reconnectPassiveEffects(
11226 finishedRoot,
11227 parentFiber,
11228 committedLanes,
11229 committedTransitions,
11230 includeWorkInProgressEffects
11231 ), parentFiber = parentFiber.sibling;
11232 }
11233 function reconnectPassiveEffects(finishedRoot, finishedWork, committedLanes, committedTransitions, includeWorkInProgressEffects) {
11234 var flags = finishedWork.flags;
11235 switch (finishedWork.tag) {
11236 case 0:
11237 case 11:
11238 case 15:
11239 recursivelyTraverseReconnectPassiveEffects(
11240 finishedRoot,
11241 finishedWork,
11242 committedLanes,
11243 committedTransitions,
11244 includeWorkInProgressEffects
11245 );
11246 commitHookPassiveMountEffects(finishedWork, Passive);
11247 break;
11248 case 23:
11249 break;
11250 case 22:
11251 var _instance2 = finishedWork.stateNode;
11252 null !== finishedWork.memoizedState ? _instance2._visibility & OffscreenPassiveEffectsConnected ? recursivelyTraverseReconnectPassiveEffects(
11253 finishedRoot,
11254 finishedWork,
11255 committedLanes,
11256 committedTransitions,
11257 includeWorkInProgressEffects
11258 ) : recursivelyTraverseAtomicPassiveEffects(
11259 finishedRoot,
11260 finishedWork
11261 ) : (_instance2._visibility |= OffscreenPassiveEffectsConnected, recursivelyTraverseReconnectPassiveEffects(
11262 finishedRoot,
11263 finishedWork,
11264 committedLanes,
11265 committedTransitions,
11266 includeWorkInProgressEffects
11267 ));
11268 includeWorkInProgressEffects && flags & 2048 && commitOffscreenPassiveMountEffects(
11269 finishedWork.alternate,
11270 finishedWork
11271 );
11272 break;
11273 case 24:
11274 recursivelyTraverseReconnectPassiveEffects(
11275 finishedRoot,
11276 finishedWork,
11277 committedLanes,
11278 committedTransitions,
11279 includeWorkInProgressEffects
11280 );
11281 includeWorkInProgressEffects && flags & 2048 && commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);
11282 break;
11283 default:
11284 recursivelyTraverseReconnectPassiveEffects(
11285 finishedRoot,
11286 finishedWork,
11287 committedLanes,
11288 committedTransitions,
11289 includeWorkInProgressEffects
11290 );
11291 }
11292 }
11293 function recursivelyTraverseAtomicPassiveEffects(finishedRoot$jscomp$0, parentFiber) {
11294 if (parentFiber.subtreeFlags & 10256)
11295 for (parentFiber = parentFiber.child; null !== parentFiber; ) {
11296 var finishedRoot = finishedRoot$jscomp$0, finishedWork = parentFiber, flags = finishedWork.flags;
11297 switch (finishedWork.tag) {
11298 case 22:
11299 recursivelyTraverseAtomicPassiveEffects(
11300 finishedRoot,
11301 finishedWork
11302 );
11303 flags & 2048 && commitOffscreenPassiveMountEffects(
11304 finishedWork.alternate,
11305 finishedWork
11306 );
11307 break;
11308 case 24:
11309 recursivelyTraverseAtomicPassiveEffects(
11310 finishedRoot,
11311 finishedWork
11312 );
11313 flags & 2048 && commitCachePassiveMountEffect(
11314 finishedWork.alternate,
11315 finishedWork
11316 );
11317 break;
11318 default:
11319 recursivelyTraverseAtomicPassiveEffects(
11320 finishedRoot,
11321 finishedWork
11322 );
11323 }
11324 parentFiber = parentFiber.sibling;
11325 }
11326 }
11327 function recursivelyAccumulateSuspenseyCommit(parentFiber) {
11328 if (parentFiber.subtreeFlags & suspenseyCommitFlag)
11329 for (parentFiber = parentFiber.child; null !== parentFiber; )
11330 accumulateSuspenseyCommitOnFiber(parentFiber), parentFiber = parentFiber.sibling;
11331 }
11332 function accumulateSuspenseyCommitOnFiber(fiber) {
11333 switch (fiber.tag) {
11334 case 26:
11335 recursivelyAccumulateSuspenseyCommit(fiber);
11336 fiber.flags & suspenseyCommitFlag && null !== fiber.memoizedState && suspendResource(
11337 currentHoistableRoot,
11338 fiber.memoizedState,
11339 fiber.memoizedProps
11340 );
11341 break;
11342 case 5:
11343 recursivelyAccumulateSuspenseyCommit(fiber);
11344 break;
11345 case 3:
11346 case 4:
11347 var previousHoistableRoot = currentHoistableRoot;
11348 currentHoistableRoot = getHoistableRoot(
11349 fiber.stateNode.containerInfo
11350 );
11351 recursivelyAccumulateSuspenseyCommit(fiber);
11352 currentHoistableRoot = previousHoistableRoot;
11353 break;
11354 case 22:
11355 null === fiber.memoizedState && (previousHoistableRoot = fiber.alternate, null !== previousHoistableRoot && null !== previousHoistableRoot.memoizedState ? (previousHoistableRoot = suspenseyCommitFlag, suspenseyCommitFlag = 16777216, recursivelyAccumulateSuspenseyCommit(fiber), suspenseyCommitFlag = previousHoistableRoot) : recursivelyAccumulateSuspenseyCommit(fiber));
11356 break;
11357 default:
11358 recursivelyAccumulateSuspenseyCommit(fiber);
11359 }
11360 }
11361 function detachAlternateSiblings(parentFiber) {
11362 var previousFiber = parentFiber.alternate;
11363 if (null !== previousFiber && (parentFiber = previousFiber.child, null !== parentFiber)) {
11364 previousFiber.child = null;
11365 do
11366 previousFiber = parentFiber.sibling, parentFiber.sibling = null, parentFiber = previousFiber;
11367 while (null !== parentFiber);
11368 }
11369 }
11370 function recursivelyTraversePassiveUnmountEffects(parentFiber) {
11371 var deletions = parentFiber.deletions;
11372 if (0 !== (parentFiber.flags & 16)) {
11373 if (null !== deletions)
11374 for (var i = 0; i < deletions.length; i++) {
11375 var childToDelete = deletions[i];
11376 nextEffect = childToDelete;
11377 commitPassiveUnmountEffectsInsideOfDeletedTree_begin(
11378 childToDelete,
11379 parentFiber
11380 );
11381 }
11382 detachAlternateSiblings(parentFiber);
11383 }
11384 if (parentFiber.subtreeFlags & 10256)
11385 for (parentFiber = parentFiber.child; null !== parentFiber; )
11386 commitPassiveUnmountOnFiber(parentFiber), parentFiber = parentFiber.sibling;
11387 }
11388 function commitPassiveUnmountOnFiber(finishedWork) {
11389 switch (finishedWork.tag) {
11390 case 0:
11391 case 11:
11392 case 15:
11393 recursivelyTraversePassiveUnmountEffects(finishedWork);
11394 finishedWork.flags & 2048 && commitHookPassiveUnmountEffects(
11395 finishedWork,
11396 finishedWork.return,
11397 Passive | HasEffect
11398 );
11399 break;
11400 case 3:
11401 var prevEffectDuration = pushNestedEffectDurations();
11402 recursivelyTraversePassiveUnmountEffects(finishedWork);
11403 finishedWork.stateNode.passiveEffectDuration += popNestedEffectDurations(prevEffectDuration);
11404 break;
11405 case 12:
11406 prevEffectDuration = pushNestedEffectDurations();
11407 recursivelyTraversePassiveUnmountEffects(finishedWork);
11408 finishedWork.stateNode.passiveEffectDuration += bubbleNestedEffectDurations(prevEffectDuration);
11409 break;
11410 case 22:
11411 prevEffectDuration = finishedWork.stateNode;
11412 null !== finishedWork.memoizedState && prevEffectDuration._visibility & OffscreenPassiveEffectsConnected && (null === finishedWork.return || 13 !== finishedWork.return.tag) ? (prevEffectDuration._visibility &= ~OffscreenPassiveEffectsConnected, recursivelyTraverseDisconnectPassiveEffects(finishedWork)) : recursivelyTraversePassiveUnmountEffects(finishedWork);
11413 break;
11414 default:
11415 recursivelyTraversePassiveUnmountEffects(finishedWork);
11416 }
11417 }
11418 function recursivelyTraverseDisconnectPassiveEffects(parentFiber) {
11419 var deletions = parentFiber.deletions;
11420 if (0 !== (parentFiber.flags & 16)) {
11421 if (null !== deletions)
11422 for (var i = 0; i < deletions.length; i++) {
11423 var childToDelete = deletions[i];
11424 nextEffect = childToDelete;
11425 commitPassiveUnmountEffectsInsideOfDeletedTree_begin(
11426 childToDelete,
11427 parentFiber
11428 );
11429 }
11430 detachAlternateSiblings(parentFiber);
11431 }
11432 for (parentFiber = parentFiber.child; null !== parentFiber; )
11433 disconnectPassiveEffect(parentFiber), parentFiber = parentFiber.sibling;
11434 }
11435 function disconnectPassiveEffect(finishedWork) {
11436 switch (finishedWork.tag) {
11437 case 0:
11438 case 11:
11439 case 15:
11440 commitHookPassiveUnmountEffects(
11441 finishedWork,
11442 finishedWork.return,
11443 Passive
11444 );
11445 recursivelyTraverseDisconnectPassiveEffects(finishedWork);
11446 break;
11447 case 22:
11448 var instance = finishedWork.stateNode;
11449 instance._visibility & OffscreenPassiveEffectsConnected && (instance._visibility &= ~OffscreenPassiveEffectsConnected, recursivelyTraverseDisconnectPassiveEffects(finishedWork));
11450 break;
11451 default:
11452 recursivelyTraverseDisconnectPassiveEffects(finishedWork);
11453 }
11454 }
11455 function commitPassiveUnmountEffectsInsideOfDeletedTree_begin(deletedSubtreeRoot, nearestMountedAncestor) {
11456 for (; null !== nextEffect; ) {
11457 var fiber = nextEffect, current2 = fiber;
11458 switch (current2.tag) {
11459 case 0:
11460 case 11:
11461 case 15:
11462 commitHookPassiveUnmountEffects(
11463 current2,
11464 nearestMountedAncestor,
11465 Passive
11466 );
11467 break;
11468 case 23:
11469 case 22:
11470 null !== current2.memoizedState && null !== current2.memoizedState.cachePool && (current2 = current2.memoizedState.cachePool.pool, null != current2 && retainCache(current2));
11471 break;
11472 case 24:
11473 releaseCache(current2.memoizedState.cache);
11474 }
11475 current2 = fiber.child;
11476 if (null !== current2) current2.return = fiber, nextEffect = current2;
11477 else
11478 a: for (fiber = deletedSubtreeRoot; null !== nextEffect; ) {
11479 current2 = nextEffect;
11480 var sibling = current2.sibling, returnFiber = current2.return;
11481 detachFiberAfterEffects(current2);
11482 if (current2 === fiber) {
11483 nextEffect = null;
11484 break a;
11485 }
11486 if (null !== sibling) {
11487 sibling.return = returnFiber;
11488 nextEffect = sibling;
11489 break a;
11490 }
11491 nextEffect = returnFiber;
11492 }
11493 }
11494 }
11495 function onCommitRoot() {
11496 commitHooks.forEach(function(commitHook) {
11497 return commitHook();
11498 });
11499 }
11500 function isConcurrentActEnvironment() {
11501 var isReactActEnvironmentGlobal = "undefined" !== typeof IS_REACT_ACT_ENVIRONMENT ? IS_REACT_ACT_ENVIRONMENT : void 0;
11502 isReactActEnvironmentGlobal || null === ReactSharedInternals.actQueue || console.error(
11503 "The current testing environment is not configured to support act(...)"
11504 );
11505 return isReactActEnvironmentGlobal;
11506 }
11507 function requestUpdateLane(fiber) {
11508 if ((executionContext & RenderContext) !== NoContext && 0 !== workInProgressRootRenderLanes)
11509 return workInProgressRootRenderLanes & -workInProgressRootRenderLanes;
11510 var transition = ReactSharedInternals.T;
11511 return null !== transition ? (transition._updatedFibers || (transition._updatedFibers = /* @__PURE__ */ new Set()), transition._updatedFibers.add(fiber), fiber = currentEntangledLane, 0 !== fiber ? fiber : requestTransitionLane()) : resolveUpdatePriority();
11512 }
11513 function requestDeferredLane() {
11514 0 === workInProgressDeferredLane && (workInProgressDeferredLane = 0 === (workInProgressRootRenderLanes & 536870912) || isHydrating ? claimNextTransitionLane() : 536870912);
11515 var suspenseHandler = suspenseHandlerStackCursor.current;
11516 null !== suspenseHandler && (suspenseHandler.flags |= 32);
11517 return workInProgressDeferredLane;
11518 }
11519 function scheduleUpdateOnFiber(root2, fiber, lane) {
11520 isRunningInsertionEffect && console.error("useInsertionEffect must not schedule updates.");
11521 isFlushingPassiveEffects && (didScheduleUpdateDuringPassiveEffects = true);
11522 if (root2 === workInProgressRoot && (workInProgressSuspendedReason === SuspendedOnData || workInProgressSuspendedReason === SuspendedOnAction) || null !== root2.cancelPendingCommit)
11523 prepareFreshStack(root2, 0), markRootSuspended(
11524 root2,
11525 workInProgressRootRenderLanes,
11526 workInProgressDeferredLane,
11527 false
11528 );
11529 markRootUpdated$1(root2, lane);
11530 if (0 !== (executionContext & RenderContext) && root2 === workInProgressRoot) {
11531 if (isRendering)
11532 switch (fiber.tag) {
11533 case 0:
11534 case 11:
11535 case 15:
11536 root2 = workInProgress && getComponentNameFromFiber(workInProgress) || "Unknown";
11537 didWarnAboutUpdateInRenderForAnotherComponent.has(root2) || (didWarnAboutUpdateInRenderForAnotherComponent.add(root2), fiber = getComponentNameFromFiber(fiber) || "Unknown", console.error(
11538 "Cannot update a component (`%s`) while rendering a different component (`%s`). To locate the bad setState() call inside `%s`, follow the stack trace as described in https://react.dev/link/setstate-in-render",
11539 fiber,
11540 root2,
11541 root2
11542 ));
11543 break;
11544 case 1:
11545 didWarnAboutUpdateInRender || (console.error(
11546 "Cannot update during an existing state transition (such as within `render`). Render methods should be a pure function of props and state."
11547 ), didWarnAboutUpdateInRender = true);
11548 }
11549 } else
11550 isDevToolsPresent && addFiberToLanesMap(root2, fiber, lane), warnIfUpdatesNotWrappedWithActDEV(fiber), root2 === workInProgressRoot && ((executionContext & RenderContext) === NoContext && (workInProgressRootInterleavedUpdatedLanes |= lane), workInProgressRootExitStatus === RootSuspendedWithDelay && markRootSuspended(
11551 root2,
11552 workInProgressRootRenderLanes,
11553 workInProgressDeferredLane,
11554 false
11555 )), ensureRootIsScheduled(root2);
11556 }
11557 function performWorkOnRoot(root2, lanes, forceSync) {
11558 if ((executionContext & (RenderContext | CommitContext)) !== NoContext)
11559 throw Error("Should not already be working.");
11560 var shouldTimeSlice = !forceSync && 0 === (lanes & 124) && 0 === (lanes & root2.expiredLanes) || checkIfRootIsPrerendering(root2, lanes), exitStatus = shouldTimeSlice ? renderRootConcurrent(root2, lanes) : renderRootSync(root2, lanes, true), renderWasConcurrent = shouldTimeSlice;
11561 do {
11562 if (exitStatus === RootInProgress) {
11563 workInProgressRootIsPrerendering && !shouldTimeSlice && markRootSuspended(root2, lanes, 0, false);
11564 break;
11565 } else {
11566 forceSync = root2.current.alternate;
11567 if (renderWasConcurrent && !isRenderConsistentWithExternalStores(forceSync)) {
11568 exitStatus = renderRootSync(root2, lanes, false);
11569 renderWasConcurrent = false;
11570 continue;
11571 }
11572 if (exitStatus === RootErrored) {
11573 renderWasConcurrent = lanes;
11574 if (root2.errorRecoveryDisabledLanes & renderWasConcurrent)
11575 var errorRetryLanes = 0;
11576 else
11577 errorRetryLanes = root2.pendingLanes & -536870913, errorRetryLanes = 0 !== errorRetryLanes ? errorRetryLanes : errorRetryLanes & 536870912 ? 536870912 : 0;
11578 if (0 !== errorRetryLanes) {
11579 lanes = errorRetryLanes;
11580 a: {
11581 exitStatus = root2;
11582 var errorRetryLanes$jscomp$0 = errorRetryLanes;
11583 errorRetryLanes = workInProgressRootConcurrentErrors;
11584 var wasRootDehydrated = exitStatus.current.memoizedState.isDehydrated;
11585 wasRootDehydrated && (prepareFreshStack(
11586 exitStatus,
11587 errorRetryLanes$jscomp$0
11588 ).flags |= 256);
11589 errorRetryLanes$jscomp$0 = renderRootSync(
11590 exitStatus,
11591 errorRetryLanes$jscomp$0,
11592 false
11593 );
11594 if (errorRetryLanes$jscomp$0 !== RootErrored) {
11595 if (workInProgressRootDidAttachPingListener && !wasRootDehydrated) {
11596 exitStatus.errorRecoveryDisabledLanes |= renderWasConcurrent;
11597 workInProgressRootInterleavedUpdatedLanes |= renderWasConcurrent;
11598 exitStatus = RootSuspendedWithDelay;
11599 break a;
11600 }
11601 exitStatus = workInProgressRootRecoverableErrors;
11602 workInProgressRootRecoverableErrors = errorRetryLanes;
11603 null !== exitStatus && (null === workInProgressRootRecoverableErrors ? workInProgressRootRecoverableErrors = exitStatus : workInProgressRootRecoverableErrors.push.apply(
11604 workInProgressRootRecoverableErrors,
11605 exitStatus
11606 ));
11607 }
11608 exitStatus = errorRetryLanes$jscomp$0;
11609 }
11610 renderWasConcurrent = false;
11611 if (exitStatus !== RootErrored) continue;
11612 }
11613 }
11614 if (exitStatus === RootFatalErrored) {
11615 prepareFreshStack(root2, 0);
11616 markRootSuspended(root2, lanes, 0, true);
11617 break;
11618 }
11619 a: {
11620 shouldTimeSlice = root2;
11621 switch (exitStatus) {
11622 case RootInProgress:
11623 case RootFatalErrored:
11624 throw Error("Root did not complete. This is a bug in React.");
11625 case RootSuspendedWithDelay:
11626 if ((lanes & 4194048) !== lanes) break;
11627 case RootSuspendedAtTheShell:
11628 markRootSuspended(
11629 shouldTimeSlice,
11630 lanes,
11631 workInProgressDeferredLane,
11632 !workInProgressRootDidSkipSuspendedSiblings
11633 );
11634 break a;
11635 case RootErrored:
11636 workInProgressRootRecoverableErrors = null;
11637 break;
11638 case RootSuspended:
11639 case RootCompleted:
11640 break;
11641 default:
11642 throw Error("Unknown root exit status.");
11643 }
11644 if (null !== ReactSharedInternals.actQueue)
11645 commitRoot(
11646 shouldTimeSlice,
11647 forceSync,
11648 lanes,
11649 workInProgressRootRecoverableErrors,
11650 workInProgressTransitions,
11651 workInProgressRootDidIncludeRecursiveRenderUpdate,
11652 workInProgressDeferredLane,
11653 workInProgressRootInterleavedUpdatedLanes,
11654 workInProgressSuspendedRetryLanes
11655 );
11656 else {
11657 if ((lanes & 62914560) === lanes && (renderWasConcurrent = globalMostRecentFallbackTime + FALLBACK_THROTTLE_MS - now$1(), 10 < renderWasConcurrent)) {
11658 markRootSuspended(
11659 shouldTimeSlice,
11660 lanes,
11661 workInProgressDeferredLane,
11662 !workInProgressRootDidSkipSuspendedSiblings
11663 );
11664 if (0 !== getNextLanes(shouldTimeSlice, 0, true)) break a;
11665 shouldTimeSlice.timeoutHandle = scheduleTimeout(
11666 commitRootWhenReady.bind(
11667 null,
11668 shouldTimeSlice,
11669 forceSync,
11670 workInProgressRootRecoverableErrors,
11671 workInProgressTransitions,
11672 workInProgressRootDidIncludeRecursiveRenderUpdate,
11673 lanes,
11674 workInProgressDeferredLane,
11675 workInProgressRootInterleavedUpdatedLanes,
11676 workInProgressSuspendedRetryLanes,
11677 workInProgressRootDidSkipSuspendedSiblings,
11678 exitStatus,
11679 THROTTLED_COMMIT,
11680 renderStartTime,
11681 0
11682 ),
11683 renderWasConcurrent
11684 );
11685 break a;
11686 }
11687 commitRootWhenReady(
11688 shouldTimeSlice,
11689 forceSync,
11690 workInProgressRootRecoverableErrors,
11691 workInProgressTransitions,
11692 workInProgressRootDidIncludeRecursiveRenderUpdate,
11693 lanes,
11694 workInProgressDeferredLane,
11695 workInProgressRootInterleavedUpdatedLanes,
11696 workInProgressSuspendedRetryLanes,
11697 workInProgressRootDidSkipSuspendedSiblings,
11698 exitStatus,
11699 IMMEDIATE_COMMIT,
11700 renderStartTime,
11701 0
11702 );
11703 }
11704 }
11705 }
11706 break;
11707 } while (1);
11708 ensureRootIsScheduled(root2);
11709 }
11710 function commitRootWhenReady(root2, finishedWork, recoverableErrors, transitions, didIncludeRenderPhaseUpdate, lanes, spawnedLane, updatedLanes, suspendedRetryLanes, didSkipSuspendedSiblings, exitStatus, suspendedCommitReason, completedRenderStartTime, completedRenderEndTime) {
11711 root2.timeoutHandle = noTimeout;
11712 suspendedCommitReason = finishedWork.subtreeFlags;
11713 if (suspendedCommitReason & 8192 || 16785408 === (suspendedCommitReason & 16785408)) {
11714 if (suspendedState = { stylesheets: null, count: 0, unsuspend: noop }, accumulateSuspenseyCommitOnFiber(finishedWork), suspendedCommitReason = waitForCommitToBeReady(), null !== suspendedCommitReason) {
11715 root2.cancelPendingCommit = suspendedCommitReason(
11716 commitRoot.bind(
11717 null,
11718 root2,
11719 finishedWork,
11720 lanes,
11721 recoverableErrors,
11722 transitions,
11723 didIncludeRenderPhaseUpdate,
11724 spawnedLane,
11725 updatedLanes,
11726 suspendedRetryLanes,
11727 exitStatus,
11728 SUSPENDED_COMMIT,
11729 completedRenderStartTime,
11730 completedRenderEndTime
11731 )
11732 );
11733 markRootSuspended(
11734 root2,
11735 lanes,
11736 spawnedLane,
11737 !didSkipSuspendedSiblings
11738 );
11739 return;
11740 }
11741 }
11742 commitRoot(
11743 root2,
11744 finishedWork,
11745 lanes,
11746 recoverableErrors,
11747 transitions,
11748 didIncludeRenderPhaseUpdate,
11749 spawnedLane,
11750 updatedLanes,
11751 suspendedRetryLanes
11752 );
11753 }
11754 function isRenderConsistentWithExternalStores(finishedWork) {
11755 for (var node = finishedWork; ; ) {
11756 var tag = node.tag;
11757 if ((0 === tag || 11 === tag || 15 === tag) && node.flags & 16384 && (tag = node.updateQueue, null !== tag && (tag = tag.stores, null !== tag)))
11758 for (var i = 0; i < tag.length; i++) {
11759 var check = tag[i], getSnapshot = check.getSnapshot;
11760 check = check.value;
11761 try {
11762 if (!objectIs(getSnapshot(), check)) return false;
11763 } catch (error) {
11764 return false;
11765 }
11766 }
11767 tag = node.child;
11768 if (node.subtreeFlags & 16384 && null !== tag)
11769 tag.return = node, node = tag;
11770 else {
11771 if (node === finishedWork) break;
11772 for (; null === node.sibling; ) {
11773 if (null === node.return || node.return === finishedWork) return true;
11774 node = node.return;
11775 }
11776 node.sibling.return = node.return;
11777 node = node.sibling;
11778 }
11779 }
11780 return true;
11781 }
11782 function markRootSuspended(root2, suspendedLanes, spawnedLane, didAttemptEntireTree) {
11783 suspendedLanes &= ~workInProgressRootPingedLanes;
11784 suspendedLanes &= ~workInProgressRootInterleavedUpdatedLanes;
11785 root2.suspendedLanes |= suspendedLanes;
11786 root2.pingedLanes &= ~suspendedLanes;
11787 didAttemptEntireTree && (root2.warmLanes |= suspendedLanes);
11788 didAttemptEntireTree = root2.expirationTimes;
11789 for (var lanes = suspendedLanes; 0 < lanes; ) {
11790 var index = 31 - clz32(lanes), lane = 1 << index;
11791 didAttemptEntireTree[index] = -1;
11792 lanes &= ~lane;
11793 }
11794 0 !== spawnedLane && markSpawnedDeferredLane(root2, spawnedLane, suspendedLanes);
11795 }
11796 function flushSyncWork$1() {
11797 return (executionContext & (RenderContext | CommitContext)) === NoContext ? (flushSyncWorkAcrossRoots_impl(0, false), false) : true;
11798 }
11799 function resetWorkInProgressStack() {
11800 if (null !== workInProgress) {
11801 if (workInProgressSuspendedReason === NotSuspended)
11802 var interruptedWork = workInProgress.return;
11803 else
11804 interruptedWork = workInProgress, resetContextDependencies(), resetHooksOnUnwind(interruptedWork), thenableState = null, thenableIndexCounter = 0, interruptedWork = workInProgress;
11805 for (; null !== interruptedWork; )
11806 unwindInterruptedWork(interruptedWork.alternate, interruptedWork), interruptedWork = interruptedWork.return;
11807 workInProgress = null;
11808 }
11809 }
11810 function prepareFreshStack(root2, lanes) {
11811 var timeoutHandle = root2.timeoutHandle;
11812 timeoutHandle !== noTimeout && (root2.timeoutHandle = noTimeout, cancelTimeout(timeoutHandle));
11813 timeoutHandle = root2.cancelPendingCommit;
11814 null !== timeoutHandle && (root2.cancelPendingCommit = null, timeoutHandle());
11815 resetWorkInProgressStack();
11816 workInProgressRoot = root2;
11817 workInProgress = timeoutHandle = createWorkInProgress(root2.current, null);
11818 workInProgressRootRenderLanes = lanes;
11819 workInProgressSuspendedReason = NotSuspended;
11820 workInProgressThrownValue = null;
11821 workInProgressRootDidSkipSuspendedSiblings = false;
11822 workInProgressRootIsPrerendering = checkIfRootIsPrerendering(root2, lanes);
11823 workInProgressRootDidAttachPingListener = false;
11824 workInProgressRootExitStatus = RootInProgress;
11825 workInProgressSuspendedRetryLanes = workInProgressDeferredLane = workInProgressRootPingedLanes = workInProgressRootInterleavedUpdatedLanes = workInProgressRootSkippedLanes = 0;
11826 workInProgressRootRecoverableErrors = workInProgressRootConcurrentErrors = null;
11827 workInProgressRootDidIncludeRecursiveRenderUpdate = false;
11828 0 !== (lanes & 8) && (lanes |= lanes & 32);
11829 var allEntangledLanes = root2.entangledLanes;
11830 if (0 !== allEntangledLanes)
11831 for (root2 = root2.entanglements, allEntangledLanes &= lanes; 0 < allEntangledLanes; ) {
11832 var index = 31 - clz32(allEntangledLanes), lane = 1 << index;
11833 lanes |= root2[index];
11834 allEntangledLanes &= ~lane;
11835 }
11836 entangledRenderLanes = lanes;
11837 finishQueueingConcurrentUpdates();
11838 lanes = getCurrentTime();
11839 1e3 < lanes - lastResetTime && (ReactSharedInternals.recentlyCreatedOwnerStacks = 0, lastResetTime = lanes);
11840 ReactStrictModeWarnings.discardPendingWarnings();
11841 return timeoutHandle;
11842 }
11843 function handleThrow(root2, thrownValue) {
11844 currentlyRenderingFiber = null;
11845 ReactSharedInternals.H = ContextOnlyDispatcher;
11846 ReactSharedInternals.getCurrentStack = null;
11847 isRendering = false;
11848 current = null;
11849 thrownValue === SuspenseException || thrownValue === SuspenseActionException ? (thrownValue = getSuspendedThenable(), workInProgressSuspendedReason = SuspendedOnImmediate) : thrownValue === SuspenseyCommitException ? (thrownValue = getSuspendedThenable(), workInProgressSuspendedReason = SuspendedOnInstance) : workInProgressSuspendedReason = thrownValue === SelectiveHydrationException ? SuspendedOnHydration : null !== thrownValue && "object" === typeof thrownValue && "function" === typeof thrownValue.then ? SuspendedOnDeprecatedThrowPromise : SuspendedOnError;
11850 workInProgressThrownValue = thrownValue;
11851 var erroredWork = workInProgress;
11852 if (null === erroredWork)
11853 workInProgressRootExitStatus = RootFatalErrored, logUncaughtError(
11854 root2,
11855 createCapturedValueAtFiber(thrownValue, root2.current)
11856 );
11857 else
11858 switch (erroredWork.mode & ProfileMode && stopProfilerTimerIfRunningAndRecordDuration(erroredWork), markComponentRenderStopped(), workInProgressSuspendedReason) {
11859 case SuspendedOnError:
11860 null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentErrored && injectedProfilingHooks.markComponentErrored(
11861 erroredWork,
11862 thrownValue,
11863 workInProgressRootRenderLanes
11864 );
11865 break;
11866 case SuspendedOnData:
11867 case SuspendedOnAction:
11868 case SuspendedOnImmediate:
11869 case SuspendedOnDeprecatedThrowPromise:
11870 case SuspendedAndReadyToContinue:
11871 null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentSuspended && injectedProfilingHooks.markComponentSuspended(
11872 erroredWork,
11873 thrownValue,
11874 workInProgressRootRenderLanes
11875 );
11876 }
11877 }
11878 function pushDispatcher() {
11879 var prevDispatcher = ReactSharedInternals.H;
11880 ReactSharedInternals.H = ContextOnlyDispatcher;
11881 return null === prevDispatcher ? ContextOnlyDispatcher : prevDispatcher;
11882 }
11883 function pushAsyncDispatcher() {
11884 var prevAsyncDispatcher = ReactSharedInternals.A;
11885 ReactSharedInternals.A = DefaultAsyncDispatcher;
11886 return prevAsyncDispatcher;
11887 }
11888 function renderDidSuspendDelayIfPossible() {
11889 workInProgressRootExitStatus = RootSuspendedWithDelay;
11890 workInProgressRootDidSkipSuspendedSiblings || (workInProgressRootRenderLanes & 4194048) !== workInProgressRootRenderLanes && null !== suspenseHandlerStackCursor.current || (workInProgressRootIsPrerendering = true);
11891 0 === (workInProgressRootSkippedLanes & 134217727) && 0 === (workInProgressRootInterleavedUpdatedLanes & 134217727) || null === workInProgressRoot || markRootSuspended(
11892 workInProgressRoot,
11893 workInProgressRootRenderLanes,
11894 workInProgressDeferredLane,
11895 false
11896 );
11897 }
11898 function renderRootSync(root2, lanes, shouldYieldForPrerendering) {
11899 var prevExecutionContext = executionContext;
11900 executionContext |= RenderContext;
11901 var prevDispatcher = pushDispatcher(), prevAsyncDispatcher = pushAsyncDispatcher();
11902 if (workInProgressRoot !== root2 || workInProgressRootRenderLanes !== lanes) {
11903 if (isDevToolsPresent) {
11904 var memoizedUpdaters = root2.memoizedUpdaters;
11905 0 < memoizedUpdaters.size && (restorePendingUpdaters(root2, workInProgressRootRenderLanes), memoizedUpdaters.clear());
11906 movePendingFibersToMemoized(root2, lanes);
11907 }
11908 workInProgressTransitions = null;
11909 prepareFreshStack(root2, lanes);
11910 }
11911 markRenderStarted(lanes);
11912 lanes = false;
11913 memoizedUpdaters = workInProgressRootExitStatus;
11914 a: do
11915 try {
11916 if (workInProgressSuspendedReason !== NotSuspended && null !== workInProgress) {
11917 var unitOfWork = workInProgress, thrownValue = workInProgressThrownValue;
11918 switch (workInProgressSuspendedReason) {
11919 case SuspendedOnHydration:
11920 resetWorkInProgressStack();
11921 memoizedUpdaters = RootSuspendedAtTheShell;
11922 break a;
11923 case SuspendedOnImmediate:
11924 case SuspendedOnData:
11925 case SuspendedOnAction:
11926 case SuspendedOnDeprecatedThrowPromise:
11927 null === suspenseHandlerStackCursor.current && (lanes = true);
11928 var reason = workInProgressSuspendedReason;
11929 workInProgressSuspendedReason = NotSuspended;
11930 workInProgressThrownValue = null;
11931 throwAndUnwindWorkLoop(root2, unitOfWork, thrownValue, reason);
11932 if (shouldYieldForPrerendering && workInProgressRootIsPrerendering) {
11933 memoizedUpdaters = RootInProgress;
11934 break a;
11935 }
11936 break;
11937 default:
11938 reason = workInProgressSuspendedReason, workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, throwAndUnwindWorkLoop(root2, unitOfWork, thrownValue, reason);
11939 }
11940 }
11941 workLoopSync();
11942 memoizedUpdaters = workInProgressRootExitStatus;
11943 break;
11944 } catch (thrownValue$8) {
11945 handleThrow(root2, thrownValue$8);
11946 }
11947 while (1);
11948 lanes && root2.shellSuspendCounter++;
11949 resetContextDependencies();
11950 executionContext = prevExecutionContext;
11951 ReactSharedInternals.H = prevDispatcher;
11952 ReactSharedInternals.A = prevAsyncDispatcher;
11953 markRenderStopped();
11954 null === workInProgress && (workInProgressRoot = null, workInProgressRootRenderLanes = 0, finishQueueingConcurrentUpdates());
11955 return memoizedUpdaters;
11956 }
11957 function workLoopSync() {
11958 for (; null !== workInProgress; ) performUnitOfWork(workInProgress);
11959 }
11960 function renderRootConcurrent(root2, lanes) {
11961 var prevExecutionContext = executionContext;
11962 executionContext |= RenderContext;
11963 var prevDispatcher = pushDispatcher(), prevAsyncDispatcher = pushAsyncDispatcher();
11964 if (workInProgressRoot !== root2 || workInProgressRootRenderLanes !== lanes) {
11965 if (isDevToolsPresent) {
11966 var memoizedUpdaters = root2.memoizedUpdaters;
11967 0 < memoizedUpdaters.size && (restorePendingUpdaters(root2, workInProgressRootRenderLanes), memoizedUpdaters.clear());
11968 movePendingFibersToMemoized(root2, lanes);
11969 }
11970 workInProgressTransitions = null;
11971 workInProgressRootRenderTargetTime = now$1() + RENDER_TIMEOUT_MS;
11972 prepareFreshStack(root2, lanes);
11973 } else
11974 workInProgressRootIsPrerendering = checkIfRootIsPrerendering(
11975 root2,
11976 lanes
11977 );
11978 markRenderStarted(lanes);
11979 a: do
11980 try {
11981 if (workInProgressSuspendedReason !== NotSuspended && null !== workInProgress)
11982 b: switch (lanes = workInProgress, memoizedUpdaters = workInProgressThrownValue, workInProgressSuspendedReason) {
11983 case SuspendedOnError:
11984 workInProgressSuspendedReason = NotSuspended;
11985 workInProgressThrownValue = null;
11986 throwAndUnwindWorkLoop(
11987 root2,
11988 lanes,
11989 memoizedUpdaters,
11990 SuspendedOnError
11991 );
11992 break;
11993 case SuspendedOnData:
11994 case SuspendedOnAction:
11995 if (isThenableResolved(memoizedUpdaters)) {
11996 workInProgressSuspendedReason = NotSuspended;
11997 workInProgressThrownValue = null;
11998 replaySuspendedUnitOfWork(lanes);
11999 break;
12000 }
12001 lanes = function() {
12002 workInProgressSuspendedReason !== SuspendedOnData && workInProgressSuspendedReason !== SuspendedOnAction || workInProgressRoot !== root2 || (workInProgressSuspendedReason = SuspendedAndReadyToContinue);
12003 ensureRootIsScheduled(root2);
12004 };
12005 memoizedUpdaters.then(lanes, lanes);
12006 break a;
12007 case SuspendedOnImmediate:
12008 workInProgressSuspendedReason = SuspendedAndReadyToContinue;
12009 break a;
12010 case SuspendedOnInstance:
12011 workInProgressSuspendedReason = SuspendedOnInstanceAndReadyToContinue;
12012 break a;
12013 case SuspendedAndReadyToContinue:
12014 isThenableResolved(memoizedUpdaters) ? (workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, replaySuspendedUnitOfWork(lanes)) : (workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, throwAndUnwindWorkLoop(
12015 root2,
12016 lanes,
12017 memoizedUpdaters,
12018 SuspendedAndReadyToContinue
12019 ));
12020 break;
12021 case SuspendedOnInstanceAndReadyToContinue:
12022 var resource = null;
12023 switch (workInProgress.tag) {
12024 case 26:
12025 resource = workInProgress.memoizedState;
12026 case 5:
12027 case 27:
12028 var hostFiber = workInProgress;
12029 if (resource ? preloadResource(resource) : 1) {
12030 workInProgressSuspendedReason = NotSuspended;
12031 workInProgressThrownValue = null;
12032 var sibling = hostFiber.sibling;
12033 if (null !== sibling) workInProgress = sibling;
12034 else {
12035 var returnFiber = hostFiber.return;
12036 null !== returnFiber ? (workInProgress = returnFiber, completeUnitOfWork(returnFiber)) : workInProgress = null;
12037 }
12038 break b;
12039 }
12040 break;
12041 default:
12042 console.error(
12043 "Unexpected type of fiber triggered a suspensey commit. This is a bug in React."
12044 );
12045 }
12046 workInProgressSuspendedReason = NotSuspended;
12047 workInProgressThrownValue = null;
12048 throwAndUnwindWorkLoop(
12049 root2,
12050 lanes,
12051 memoizedUpdaters,
12052 SuspendedOnInstanceAndReadyToContinue
12053 );
12054 break;
12055 case SuspendedOnDeprecatedThrowPromise:
12056 workInProgressSuspendedReason = NotSuspended;
12057 workInProgressThrownValue = null;
12058 throwAndUnwindWorkLoop(
12059 root2,
12060 lanes,
12061 memoizedUpdaters,
12062 SuspendedOnDeprecatedThrowPromise
12063 );
12064 break;
12065 case SuspendedOnHydration:
12066 resetWorkInProgressStack();
12067 workInProgressRootExitStatus = RootSuspendedAtTheShell;
12068 break a;
12069 default:
12070 throw Error(
12071 "Unexpected SuspendedReason. This is a bug in React."
12072 );
12073 }
12074 null !== ReactSharedInternals.actQueue ? workLoopSync() : workLoopConcurrentByScheduler();
12075 break;
12076 } catch (thrownValue$9) {
12077 handleThrow(root2, thrownValue$9);
12078 }
12079 while (1);
12080 resetContextDependencies();
12081 ReactSharedInternals.H = prevDispatcher;
12082 ReactSharedInternals.A = prevAsyncDispatcher;
12083 executionContext = prevExecutionContext;
12084 if (null !== workInProgress)
12085 return null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markRenderYielded && injectedProfilingHooks.markRenderYielded(), RootInProgress;
12086 markRenderStopped();
12087 workInProgressRoot = null;
12088 workInProgressRootRenderLanes = 0;
12089 finishQueueingConcurrentUpdates();
12090 return workInProgressRootExitStatus;
12091 }
12092 function workLoopConcurrentByScheduler() {
12093 for (; null !== workInProgress && !shouldYield(); )
12094 performUnitOfWork(workInProgress);
12095 }
12096 function performUnitOfWork(unitOfWork) {
12097 var current2 = unitOfWork.alternate;
12098 (unitOfWork.mode & ProfileMode) !== NoMode ? (startProfilerTimer(unitOfWork), current2 = runWithFiberInDEV(
12099 unitOfWork,
12100 beginWork,
12101 current2,
12102 unitOfWork,
12103 entangledRenderLanes
12104 ), stopProfilerTimerIfRunningAndRecordDuration(unitOfWork)) : current2 = runWithFiberInDEV(
12105 unitOfWork,
12106 beginWork,
12107 current2,
12108 unitOfWork,
12109 entangledRenderLanes
12110 );
12111 unitOfWork.memoizedProps = unitOfWork.pendingProps;
12112 null === current2 ? completeUnitOfWork(unitOfWork) : workInProgress = current2;
12113 }
12114 function replaySuspendedUnitOfWork(unitOfWork) {
12115 var next = runWithFiberInDEV(unitOfWork, replayBeginWork, unitOfWork);
12116 unitOfWork.memoizedProps = unitOfWork.pendingProps;
12117 null === next ? completeUnitOfWork(unitOfWork) : workInProgress = next;
12118 }
12119 function replayBeginWork(unitOfWork) {
12120 var current2 = unitOfWork.alternate, isProfilingMode = (unitOfWork.mode & ProfileMode) !== NoMode;
12121 isProfilingMode && startProfilerTimer(unitOfWork);
12122 switch (unitOfWork.tag) {
12123 case 15:
12124 case 0:
12125 current2 = replayFunctionComponent(
12126 current2,
12127 unitOfWork,
12128 unitOfWork.pendingProps,
12129 unitOfWork.type,
12130 void 0,
12131 workInProgressRootRenderLanes
12132 );
12133 break;
12134 case 11:
12135 current2 = replayFunctionComponent(
12136 current2,
12137 unitOfWork,
12138 unitOfWork.pendingProps,
12139 unitOfWork.type.render,
12140 unitOfWork.ref,
12141 workInProgressRootRenderLanes
12142 );
12143 break;
12144 case 5:
12145 resetHooksOnUnwind(unitOfWork);
12146 default:
12147 unwindInterruptedWork(current2, unitOfWork), unitOfWork = workInProgress = resetWorkInProgress(unitOfWork, entangledRenderLanes), current2 = beginWork(current2, unitOfWork, entangledRenderLanes);
12148 }
12149 isProfilingMode && stopProfilerTimerIfRunningAndRecordDuration(unitOfWork);
12150 return current2;
12151 }
12152 function throwAndUnwindWorkLoop(root2, unitOfWork, thrownValue, suspendedReason) {
12153 resetContextDependencies();
12154 resetHooksOnUnwind(unitOfWork);
12155 thenableState = null;
12156 thenableIndexCounter = 0;
12157 var returnFiber = unitOfWork.return;
12158 try {
12159 if (throwException(
12160 root2,
12161 returnFiber,
12162 unitOfWork,
12163 thrownValue,
12164 workInProgressRootRenderLanes
12165 )) {
12166 workInProgressRootExitStatus = RootFatalErrored;
12167 logUncaughtError(
12168 root2,
12169 createCapturedValueAtFiber(thrownValue, root2.current)
12170 );
12171 workInProgress = null;
12172 return;
12173 }
12174 } catch (error) {
12175 if (null !== returnFiber) throw workInProgress = returnFiber, error;
12176 workInProgressRootExitStatus = RootFatalErrored;
12177 logUncaughtError(
12178 root2,
12179 createCapturedValueAtFiber(thrownValue, root2.current)
12180 );
12181 workInProgress = null;
12182 return;
12183 }
12184 if (unitOfWork.flags & 32768) {
12185 if (isHydrating || suspendedReason === SuspendedOnError) root2 = true;
12186 else if (workInProgressRootIsPrerendering || 0 !== (workInProgressRootRenderLanes & 536870912))
12187 root2 = false;
12188 else if (workInProgressRootDidSkipSuspendedSiblings = root2 = true, suspendedReason === SuspendedOnData || suspendedReason === SuspendedOnAction || suspendedReason === SuspendedOnImmediate || suspendedReason === SuspendedOnDeprecatedThrowPromise)
12189 suspendedReason = suspenseHandlerStackCursor.current, null !== suspendedReason && 13 === suspendedReason.tag && (suspendedReason.flags |= 16384);
12190 unwindUnitOfWork(unitOfWork, root2);
12191 } else completeUnitOfWork(unitOfWork);
12192 }
12193 function completeUnitOfWork(unitOfWork) {
12194 var completedWork = unitOfWork;
12195 do {
12196 if (0 !== (completedWork.flags & 32768)) {
12197 unwindUnitOfWork(
12198 completedWork,
12199 workInProgressRootDidSkipSuspendedSiblings
12200 );
12201 return;
12202 }
12203 var current2 = completedWork.alternate;
12204 unitOfWork = completedWork.return;
12205 startProfilerTimer(completedWork);
12206 current2 = runWithFiberInDEV(
12207 completedWork,
12208 completeWork,
12209 current2,
12210 completedWork,
12211 entangledRenderLanes
12212 );
12213 (completedWork.mode & ProfileMode) !== NoMode && stopProfilerTimerIfRunningAndRecordIncompleteDuration(completedWork);
12214 if (null !== current2) {
12215 workInProgress = current2;
12216 return;
12217 }
12218 completedWork = completedWork.sibling;
12219 if (null !== completedWork) {
12220 workInProgress = completedWork;
12221 return;
12222 }
12223 workInProgress = completedWork = unitOfWork;
12224 } while (null !== completedWork);
12225 workInProgressRootExitStatus === RootInProgress && (workInProgressRootExitStatus = RootCompleted);
12226 }
12227 function unwindUnitOfWork(unitOfWork, skipSiblings) {
12228 do {
12229 var next = unwindWork(unitOfWork.alternate, unitOfWork);
12230 if (null !== next) {
12231 next.flags &= 32767;
12232 workInProgress = next;
12233 return;
12234 }
12235 if ((unitOfWork.mode & ProfileMode) !== NoMode) {
12236 stopProfilerTimerIfRunningAndRecordIncompleteDuration(unitOfWork);
12237 next = unitOfWork.actualDuration;
12238 for (var child = unitOfWork.child; null !== child; )
12239 next += child.actualDuration, child = child.sibling;
12240 unitOfWork.actualDuration = next;
12241 }
12242 next = unitOfWork.return;
12243 null !== next && (next.flags |= 32768, next.subtreeFlags = 0, next.deletions = null);
12244 if (!skipSiblings && (unitOfWork = unitOfWork.sibling, null !== unitOfWork)) {
12245 workInProgress = unitOfWork;
12246 return;
12247 }
12248 workInProgress = unitOfWork = next;
12249 } while (null !== unitOfWork);
12250 workInProgressRootExitStatus = RootSuspendedAtTheShell;
12251 workInProgress = null;
12252 }
12253 function commitRoot(root2, finishedWork, lanes, recoverableErrors, transitions, didIncludeRenderPhaseUpdate, spawnedLane, updatedLanes, suspendedRetryLanes) {
12254 root2.cancelPendingCommit = null;
12255 do
12256 flushPendingEffects();
12257 while (pendingEffectsStatus !== NO_PENDING_EFFECTS);
12258 ReactStrictModeWarnings.flushLegacyContextWarning();
12259 ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings();
12260 if ((executionContext & (RenderContext | CommitContext)) !== NoContext)
12261 throw Error("Should not already be working.");
12262 null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markCommitStarted && injectedProfilingHooks.markCommitStarted(lanes);
12263 if (null === finishedWork) markCommitStopped();
12264 else {
12265 0 === lanes && console.error(
12266 "finishedLanes should not be empty during a commit. This is a bug in React."
12267 );
12268 if (finishedWork === root2.current)
12269 throw Error(
12270 "Cannot commit the same tree as before. This error is likely caused by a bug in React. Please file an issue."
12271 );
12272 didIncludeRenderPhaseUpdate = finishedWork.lanes | finishedWork.childLanes;
12273 didIncludeRenderPhaseUpdate |= concurrentlyUpdatedLanes;
12274 markRootFinished(
12275 root2,
12276 lanes,
12277 didIncludeRenderPhaseUpdate,
12278 spawnedLane,
12279 updatedLanes,
12280 suspendedRetryLanes
12281 );
12282 root2 === workInProgressRoot && (workInProgress = workInProgressRoot = null, workInProgressRootRenderLanes = 0);
12283 pendingFinishedWork = finishedWork;
12284 pendingEffectsRoot = root2;
12285 pendingEffectsLanes = lanes;
12286 pendingEffectsRemainingLanes = didIncludeRenderPhaseUpdate;
12287 pendingPassiveTransitions = transitions;
12288 pendingRecoverableErrors = recoverableErrors;
12289 0 !== (finishedWork.subtreeFlags & 10256) || 0 !== (finishedWork.flags & 10256) ? (root2.callbackNode = null, root2.callbackPriority = 0, scheduleCallback$1(NormalPriority$1, function() {
12290 flushPassiveEffects(true);
12291 return null;
12292 })) : (root2.callbackNode = null, root2.callbackPriority = 0);
12293 commitStartTime = now();
12294 recoverableErrors = 0 !== (finishedWork.flags & 13878);
12295 if (0 !== (finishedWork.subtreeFlags & 13878) || recoverableErrors) {
12296 recoverableErrors = ReactSharedInternals.T;
12297 ReactSharedInternals.T = null;
12298 transitions = ReactDOMSharedInternals.p;
12299 ReactDOMSharedInternals.p = DiscreteEventPriority;
12300 spawnedLane = executionContext;
12301 executionContext |= CommitContext;
12302 try {
12303 commitBeforeMutationEffects(root2, finishedWork, lanes);
12304 } finally {
12305 executionContext = spawnedLane, ReactDOMSharedInternals.p = transitions, ReactSharedInternals.T = recoverableErrors;
12306 }
12307 }
12308 pendingEffectsStatus = PENDING_MUTATION_PHASE;
12309 flushMutationEffects();
12310 flushLayoutEffects();
12311 flushSpawnedWork();
12312 }
12313 }
12314 function flushMutationEffects() {
12315 if (pendingEffectsStatus === PENDING_MUTATION_PHASE) {
12316 pendingEffectsStatus = NO_PENDING_EFFECTS;
12317 var root2 = pendingEffectsRoot, finishedWork = pendingFinishedWork, lanes = pendingEffectsLanes, rootMutationHasEffect = 0 !== (finishedWork.flags & 13878);
12318 if (0 !== (finishedWork.subtreeFlags & 13878) || rootMutationHasEffect) {
12319 rootMutationHasEffect = ReactSharedInternals.T;
12320 ReactSharedInternals.T = null;
12321 var previousPriority = ReactDOMSharedInternals.p;
12322 ReactDOMSharedInternals.p = DiscreteEventPriority;
12323 var prevExecutionContext = executionContext;
12324 executionContext |= CommitContext;
12325 try {
12326 inProgressLanes = lanes;
12327 inProgressRoot = root2;
12328 commitMutationEffectsOnFiber(finishedWork, root2);
12329 inProgressRoot = inProgressLanes = null;
12330 lanes = selectionInformation;
12331 var curFocusedElem = getActiveElementDeep(root2.containerInfo), priorFocusedElem = lanes.focusedElem, priorSelectionRange = lanes.selectionRange;
12332 if (curFocusedElem !== priorFocusedElem && priorFocusedElem && priorFocusedElem.ownerDocument && containsNode(
12333 priorFocusedElem.ownerDocument.documentElement,
12334 priorFocusedElem
12335 )) {
12336 if (null !== priorSelectionRange && hasSelectionCapabilities(priorFocusedElem)) {
12337 var start = priorSelectionRange.start, end = priorSelectionRange.end;
12338 void 0 === end && (end = start);
12339 if ("selectionStart" in priorFocusedElem)
12340 priorFocusedElem.selectionStart = start, priorFocusedElem.selectionEnd = Math.min(
12341 end,
12342 priorFocusedElem.value.length
12343 );
12344 else {
12345 var doc = priorFocusedElem.ownerDocument || document, win = doc && doc.defaultView || window;
12346 if (win.getSelection) {
12347 var selection = win.getSelection(), length = priorFocusedElem.textContent.length, start$jscomp$0 = Math.min(
12348 priorSelectionRange.start,
12349 length
12350 ), end$jscomp$0 = void 0 === priorSelectionRange.end ? start$jscomp$0 : Math.min(priorSelectionRange.end, length);
12351 !selection.extend && start$jscomp$0 > end$jscomp$0 && (curFocusedElem = end$jscomp$0, end$jscomp$0 = start$jscomp$0, start$jscomp$0 = curFocusedElem);
12352 var startMarker = getNodeForCharacterOffset(
12353 priorFocusedElem,
12354 start$jscomp$0
12355 ), endMarker = getNodeForCharacterOffset(
12356 priorFocusedElem,
12357 end$jscomp$0
12358 );
12359 if (startMarker && endMarker && (1 !== selection.rangeCount || selection.anchorNode !== startMarker.node || selection.anchorOffset !== startMarker.offset || selection.focusNode !== endMarker.node || selection.focusOffset !== endMarker.offset)) {
12360 var range = doc.createRange();
12361 range.setStart(startMarker.node, startMarker.offset);
12362 selection.removeAllRanges();
12363 start$jscomp$0 > end$jscomp$0 ? (selection.addRange(range), selection.extend(endMarker.node, endMarker.offset)) : (range.setEnd(endMarker.node, endMarker.offset), selection.addRange(range));
12364 }
12365 }
12366 }
12367 }
12368 doc = [];
12369 for (selection = priorFocusedElem; selection = selection.parentNode; )
12370 1 === selection.nodeType && doc.push({
12371 element: selection,
12372 left: selection.scrollLeft,
12373 top: selection.scrollTop
12374 });
12375 "function" === typeof priorFocusedElem.focus && priorFocusedElem.focus();
12376 for (priorFocusedElem = 0; priorFocusedElem < doc.length; priorFocusedElem++) {
12377 var info = doc[priorFocusedElem];
12378 info.element.scrollLeft = info.left;
12379 info.element.scrollTop = info.top;
12380 }
12381 }
12382 _enabled = !!eventsEnabled;
12383 selectionInformation = eventsEnabled = null;
12384 } finally {
12385 executionContext = prevExecutionContext, ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = rootMutationHasEffect;
12386 }
12387 }
12388 root2.current = finishedWork;
12389 pendingEffectsStatus = PENDING_LAYOUT_PHASE;
12390 }
12391 }
12392 function flushLayoutEffects() {
12393 if (pendingEffectsStatus === PENDING_LAYOUT_PHASE) {
12394 pendingEffectsStatus = NO_PENDING_EFFECTS;
12395 var root2 = pendingEffectsRoot, finishedWork = pendingFinishedWork, lanes = pendingEffectsLanes, rootHasLayoutEffect = 0 !== (finishedWork.flags & 8772);
12396 if (0 !== (finishedWork.subtreeFlags & 8772) || rootHasLayoutEffect) {
12397 rootHasLayoutEffect = ReactSharedInternals.T;
12398 ReactSharedInternals.T = null;
12399 var previousPriority = ReactDOMSharedInternals.p;
12400 ReactDOMSharedInternals.p = DiscreteEventPriority;
12401 var prevExecutionContext = executionContext;
12402 executionContext |= CommitContext;
12403 try {
12404 null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markLayoutEffectsStarted && injectedProfilingHooks.markLayoutEffectsStarted(lanes), inProgressLanes = lanes, inProgressRoot = root2, commitLayoutEffectOnFiber(
12405 root2,
12406 finishedWork.alternate,
12407 finishedWork
12408 ), inProgressRoot = inProgressLanes = null, null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markLayoutEffectsStopped && injectedProfilingHooks.markLayoutEffectsStopped();
12409 } finally {
12410 executionContext = prevExecutionContext, ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = rootHasLayoutEffect;
12411 }
12412 }
12413 pendingEffectsStatus = PENDING_AFTER_MUTATION_PHASE;
12414 }
12415 }
12416 function flushSpawnedWork() {
12417 if (pendingEffectsStatus === PENDING_SPAWNED_WORK || pendingEffectsStatus === PENDING_AFTER_MUTATION_PHASE) {
12418 pendingEffectsStatus = NO_PENDING_EFFECTS;
12419 requestPaint();
12420 var root2 = pendingEffectsRoot, finishedWork = pendingFinishedWork, lanes = pendingEffectsLanes, recoverableErrors = pendingRecoverableErrors, rootDidHavePassiveEffects = 0 !== (finishedWork.subtreeFlags & 10256) || 0 !== (finishedWork.flags & 10256);
12421 rootDidHavePassiveEffects ? pendingEffectsStatus = PENDING_PASSIVE_PHASE : (pendingEffectsStatus = NO_PENDING_EFFECTS, pendingFinishedWork = pendingEffectsRoot = null, releaseRootPooledCache(root2, root2.pendingLanes), nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = null);
12422 var remainingLanes = root2.pendingLanes;
12423 0 === remainingLanes && (legacyErrorBoundariesThatAlreadyFailed = null);
12424 rootDidHavePassiveEffects || commitDoubleInvokeEffectsInDEV(root2);
12425 rootDidHavePassiveEffects = lanesToEventPriority(lanes);
12426 finishedWork = finishedWork.stateNode;
12427 if (injectedHook && "function" === typeof injectedHook.onCommitFiberRoot)
12428 try {
12429 var didError = 128 === (finishedWork.current.flags & 128);
12430 switch (rootDidHavePassiveEffects) {
12431 case DiscreteEventPriority:
12432 var schedulerPriority = ImmediatePriority;
12433 break;
12434 case ContinuousEventPriority:
12435 schedulerPriority = UserBlockingPriority;
12436 break;
12437 case DefaultEventPriority:
12438 schedulerPriority = NormalPriority$1;
12439 break;
12440 case IdleEventPriority:
12441 schedulerPriority = IdlePriority;
12442 break;
12443 default:
12444 schedulerPriority = NormalPriority$1;
12445 }
12446 injectedHook.onCommitFiberRoot(
12447 rendererID,
12448 finishedWork,
12449 schedulerPriority,
12450 didError
12451 );
12452 } catch (err) {
12453 hasLoggedError || (hasLoggedError = true, console.error(
12454 "React instrumentation encountered an error: %s",
12455 err
12456 ));
12457 }
12458 isDevToolsPresent && root2.memoizedUpdaters.clear();
12459 onCommitRoot();
12460 if (null !== recoverableErrors) {
12461 didError = ReactSharedInternals.T;
12462 schedulerPriority = ReactDOMSharedInternals.p;
12463 ReactDOMSharedInternals.p = DiscreteEventPriority;
12464 ReactSharedInternals.T = null;
12465 try {
12466 var onRecoverableError = root2.onRecoverableError;
12467 for (finishedWork = 0; finishedWork < recoverableErrors.length; finishedWork++) {
12468 var recoverableError = recoverableErrors[finishedWork], errorInfo = makeErrorInfo(recoverableError.stack);
12469 runWithFiberInDEV(
12470 recoverableError.source,
12471 onRecoverableError,
12472 recoverableError.value,
12473 errorInfo
12474 );
12475 }
12476 } finally {
12477 ReactSharedInternals.T = didError, ReactDOMSharedInternals.p = schedulerPriority;
12478 }
12479 }
12480 0 !== (pendingEffectsLanes & 3) && flushPendingEffects();
12481 ensureRootIsScheduled(root2);
12482 remainingLanes = root2.pendingLanes;
12483 0 !== (lanes & 4194090) && 0 !== (remainingLanes & 42) ? (nestedUpdateScheduled = true, root2 === rootWithNestedUpdates ? nestedUpdateCount++ : (nestedUpdateCount = 0, rootWithNestedUpdates = root2)) : nestedUpdateCount = 0;
12484 flushSyncWorkAcrossRoots_impl(0, false);
12485 markCommitStopped();
12486 }
12487 }
12488 function makeErrorInfo(componentStack) {
12489 componentStack = { componentStack };
12490 Object.defineProperty(componentStack, "digest", {
12491 get: function() {
12492 console.error(
12493 'You are accessing "digest" from the errorInfo object passed to onRecoverableError. This property is no longer provided as part of errorInfo but can be accessed as a property of the Error instance itself.'
12494 );
12495 }
12496 });
12497 return componentStack;
12498 }
12499 function releaseRootPooledCache(root2, remainingLanes) {
12500 0 === (root2.pooledCacheLanes &= remainingLanes) && (remainingLanes = root2.pooledCache, null != remainingLanes && (root2.pooledCache = null, releaseCache(remainingLanes)));
12501 }
12502 function flushPendingEffects(wasDelayedCommit) {
12503 flushMutationEffects();
12504 flushLayoutEffects();
12505 flushSpawnedWork();
12506 return flushPassiveEffects(wasDelayedCommit);
12507 }
12508 function flushPassiveEffects() {
12509 if (pendingEffectsStatus !== PENDING_PASSIVE_PHASE) return false;
12510 var root2 = pendingEffectsRoot, remainingLanes = pendingEffectsRemainingLanes;
12511 pendingEffectsRemainingLanes = 0;
12512 var renderPriority = lanesToEventPriority(pendingEffectsLanes), priority = 0 === DefaultEventPriority || DefaultEventPriority > renderPriority ? DefaultEventPriority : renderPriority;
12513 renderPriority = ReactSharedInternals.T;
12514 var previousPriority = ReactDOMSharedInternals.p;
12515 try {
12516 ReactDOMSharedInternals.p = priority;
12517 ReactSharedInternals.T = null;
12518 priority = pendingPassiveTransitions;
12519 pendingPassiveTransitions = null;
12520 var root$jscomp$0 = pendingEffectsRoot, lanes = pendingEffectsLanes;
12521 pendingEffectsStatus = NO_PENDING_EFFECTS;
12522 pendingFinishedWork = pendingEffectsRoot = null;
12523 pendingEffectsLanes = 0;
12524 if ((executionContext & (RenderContext | CommitContext)) !== NoContext)
12525 throw Error("Cannot flush passive effects while already rendering.");
12526 isFlushingPassiveEffects = true;
12527 didScheduleUpdateDuringPassiveEffects = false;
12528 null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markPassiveEffectsStarted && injectedProfilingHooks.markPassiveEffectsStarted(lanes);
12529 var prevExecutionContext = executionContext;
12530 executionContext |= CommitContext;
12531 commitPassiveUnmountOnFiber(root$jscomp$0.current);
12532 commitPassiveMountOnFiber(
12533 root$jscomp$0,
12534 root$jscomp$0.current,
12535 lanes,
12536 priority
12537 );
12538 null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markPassiveEffectsStopped && injectedProfilingHooks.markPassiveEffectsStopped();
12539 commitDoubleInvokeEffectsInDEV(root$jscomp$0);
12540 executionContext = prevExecutionContext;
12541 flushSyncWorkAcrossRoots_impl(0, false);
12542 didScheduleUpdateDuringPassiveEffects ? root$jscomp$0 === rootWithPassiveNestedUpdates ? nestedPassiveUpdateCount++ : (nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = root$jscomp$0) : nestedPassiveUpdateCount = 0;
12543 didScheduleUpdateDuringPassiveEffects = isFlushingPassiveEffects = false;
12544 if (injectedHook && "function" === typeof injectedHook.onPostCommitFiberRoot)
12545 try {
12546 injectedHook.onPostCommitFiberRoot(rendererID, root$jscomp$0);
12547 } catch (err) {
12548 hasLoggedError || (hasLoggedError = true, console.error(
12549 "React instrumentation encountered an error: %s",
12550 err
12551 ));
12552 }
12553 var stateNode = root$jscomp$0.current.stateNode;
12554 stateNode.effectDuration = 0;
12555 stateNode.passiveEffectDuration = 0;
12556 return true;
12557 } finally {
12558 ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = renderPriority, releaseRootPooledCache(root2, remainingLanes);
12559 }
12560 }
12561 function captureCommitPhaseErrorOnRoot(rootFiber, sourceFiber, error) {
12562 sourceFiber = createCapturedValueAtFiber(error, sourceFiber);
12563 sourceFiber = createRootErrorUpdate(rootFiber.stateNode, sourceFiber, 2);
12564 rootFiber = enqueueUpdate(rootFiber, sourceFiber, 2);
12565 null !== rootFiber && (markRootUpdated$1(rootFiber, 2), ensureRootIsScheduled(rootFiber));
12566 }
12567 function captureCommitPhaseError(sourceFiber, nearestMountedAncestor, error) {
12568 isRunningInsertionEffect = false;
12569 if (3 === sourceFiber.tag)
12570 captureCommitPhaseErrorOnRoot(sourceFiber, sourceFiber, error);
12571 else {
12572 for (; null !== nearestMountedAncestor; ) {
12573 if (3 === nearestMountedAncestor.tag) {
12574 captureCommitPhaseErrorOnRoot(
12575 nearestMountedAncestor,
12576 sourceFiber,
12577 error
12578 );
12579 return;
12580 }
12581 if (1 === nearestMountedAncestor.tag) {
12582 var instance = nearestMountedAncestor.stateNode;
12583 if ("function" === typeof nearestMountedAncestor.type.getDerivedStateFromError || "function" === typeof instance.componentDidCatch && (null === legacyErrorBoundariesThatAlreadyFailed || !legacyErrorBoundariesThatAlreadyFailed.has(instance))) {
12584 sourceFiber = createCapturedValueAtFiber(error, sourceFiber);
12585 error = createClassErrorUpdate(2);
12586 instance = enqueueUpdate(nearestMountedAncestor, error, 2);
12587 null !== instance && (initializeClassErrorUpdate(
12588 error,
12589 instance,
12590 nearestMountedAncestor,
12591 sourceFiber
12592 ), markRootUpdated$1(instance, 2), ensureRootIsScheduled(instance));
12593 return;
12594 }
12595 }
12596 nearestMountedAncestor = nearestMountedAncestor.return;
12597 }
12598 console.error(
12599 "Internal React error: Attempted to capture a commit phase error inside a detached tree. This indicates a bug in React. Potential causes include deleting the same fiber more than once, committing an already-finished tree, or an inconsistent return pointer.\n\nError message:\n\n%s",
12600 error
12601 );
12602 }
12603 }
12604 function attachPingListener(root2, wakeable, lanes) {
12605 var pingCache = root2.pingCache;
12606 if (null === pingCache) {
12607 pingCache = root2.pingCache = new PossiblyWeakMap();
12608 var threadIDs = /* @__PURE__ */ new Set();
12609 pingCache.set(wakeable, threadIDs);
12610 } else
12611 threadIDs = pingCache.get(wakeable), void 0 === threadIDs && (threadIDs = /* @__PURE__ */ new Set(), pingCache.set(wakeable, threadIDs));
12612 threadIDs.has(lanes) || (workInProgressRootDidAttachPingListener = true, threadIDs.add(lanes), pingCache = pingSuspendedRoot.bind(null, root2, wakeable, lanes), isDevToolsPresent && restorePendingUpdaters(root2, lanes), wakeable.then(pingCache, pingCache));
12613 }
12614 function pingSuspendedRoot(root2, wakeable, pingedLanes) {
12615 var pingCache = root2.pingCache;
12616 null !== pingCache && pingCache.delete(wakeable);
12617 root2.pingedLanes |= root2.suspendedLanes & pingedLanes;
12618 root2.warmLanes &= ~pingedLanes;
12619 isConcurrentActEnvironment() && null === ReactSharedInternals.actQueue && console.error(
12620 "A suspended resource finished loading inside a test, but the event was not wrapped in act(...).\n\nWhen testing, code that resolves suspended data should be wrapped into act(...):\n\nact(() => {\n /* finish loading suspended data */\n});\n/* assert on the output */\n\nThis ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act"
12621 );
12622 workInProgressRoot === root2 && (workInProgressRootRenderLanes & pingedLanes) === pingedLanes && (workInProgressRootExitStatus === RootSuspendedWithDelay || workInProgressRootExitStatus === RootSuspended && (workInProgressRootRenderLanes & 62914560) === workInProgressRootRenderLanes && now$1() - globalMostRecentFallbackTime < FALLBACK_THROTTLE_MS ? (executionContext & RenderContext) === NoContext && prepareFreshStack(root2, 0) : workInProgressRootPingedLanes |= pingedLanes, workInProgressSuspendedRetryLanes === workInProgressRootRenderLanes && (workInProgressSuspendedRetryLanes = 0));
12623 ensureRootIsScheduled(root2);
12624 }
12625 function retryTimedOutBoundary(boundaryFiber, retryLane) {
12626 0 === retryLane && (retryLane = claimNextRetryLane());
12627 boundaryFiber = enqueueConcurrentRenderForLane(boundaryFiber, retryLane);
12628 null !== boundaryFiber && (markRootUpdated$1(boundaryFiber, retryLane), ensureRootIsScheduled(boundaryFiber));
12629 }
12630 function retryDehydratedSuspenseBoundary(boundaryFiber) {
12631 var suspenseState = boundaryFiber.memoizedState, retryLane = 0;
12632 null !== suspenseState && (retryLane = suspenseState.retryLane);
12633 retryTimedOutBoundary(boundaryFiber, retryLane);
12634 }
12635 function resolveRetryWakeable(boundaryFiber, wakeable) {
12636 var retryLane = 0;
12637 switch (boundaryFiber.tag) {
12638 case 13:
12639 var retryCache = boundaryFiber.stateNode;
12640 var suspenseState = boundaryFiber.memoizedState;
12641 null !== suspenseState && (retryLane = suspenseState.retryLane);
12642 break;
12643 case 19:
12644 retryCache = boundaryFiber.stateNode;
12645 break;
12646 case 22:
12647 retryCache = boundaryFiber.stateNode._retryCache;
12648 break;
12649 default:
12650 throw Error(
12651 "Pinged unknown suspense boundary type. This is probably a bug in React."
12652 );
12653 }
12654 null !== retryCache && retryCache.delete(wakeable);
12655 retryTimedOutBoundary(boundaryFiber, retryLane);
12656 }
12657 function recursivelyTraverseAndDoubleInvokeEffectsInDEV(root$jscomp$0, parentFiber, isInStrictMode) {
12658 if (0 !== (parentFiber.subtreeFlags & 67117056))
12659 for (parentFiber = parentFiber.child; null !== parentFiber; ) {
12660 var root2 = root$jscomp$0, fiber = parentFiber, isStrictModeFiber = fiber.type === REACT_STRICT_MODE_TYPE;
12661 isStrictModeFiber = isInStrictMode || isStrictModeFiber;
12662 22 !== fiber.tag ? fiber.flags & 67108864 ? isStrictModeFiber && runWithFiberInDEV(
12663 fiber,
12664 doubleInvokeEffectsOnFiber,
12665 root2,
12666 fiber,
12667 (fiber.mode & NoStrictPassiveEffectsMode) === NoMode
12668 ) : recursivelyTraverseAndDoubleInvokeEffectsInDEV(
12669 root2,
12670 fiber,
12671 isStrictModeFiber
12672 ) : null === fiber.memoizedState && (isStrictModeFiber && fiber.flags & 8192 ? runWithFiberInDEV(
12673 fiber,
12674 doubleInvokeEffectsOnFiber,
12675 root2,
12676 fiber
12677 ) : fiber.subtreeFlags & 67108864 && runWithFiberInDEV(
12678 fiber,
12679 recursivelyTraverseAndDoubleInvokeEffectsInDEV,
12680 root2,
12681 fiber,
12682 isStrictModeFiber
12683 ));
12684 parentFiber = parentFiber.sibling;
12685 }
12686 }
12687 function doubleInvokeEffectsOnFiber(root2, fiber) {
12688 var shouldDoubleInvokePassiveEffects = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : true;
12689 setIsStrictModeForDevtools(true);
12690 try {
12691 disappearLayoutEffects(fiber), shouldDoubleInvokePassiveEffects && disconnectPassiveEffect(fiber), reappearLayoutEffects(root2, fiber.alternate, fiber, false), shouldDoubleInvokePassiveEffects && reconnectPassiveEffects(root2, fiber, 0, null, false, 0);
12692 } finally {
12693 setIsStrictModeForDevtools(false);
12694 }
12695 }
12696 function commitDoubleInvokeEffectsInDEV(root2) {
12697 var doubleInvokeEffects = true;
12698 root2.current.mode & (StrictLegacyMode | StrictEffectsMode) || (doubleInvokeEffects = false);
12699 recursivelyTraverseAndDoubleInvokeEffectsInDEV(
12700 root2,
12701 root2.current,
12702 doubleInvokeEffects
12703 );
12704 }
12705 function warnAboutUpdateOnNotYetMountedFiberInDEV(fiber) {
12706 if ((executionContext & RenderContext) === NoContext) {
12707 var tag = fiber.tag;
12708 if (3 === tag || 1 === tag || 0 === tag || 11 === tag || 14 === tag || 15 === tag) {
12709 tag = getComponentNameFromFiber(fiber) || "ReactComponent";
12710 if (null !== didWarnStateUpdateForNotYetMountedComponent) {
12711 if (didWarnStateUpdateForNotYetMountedComponent.has(tag)) return;
12712 didWarnStateUpdateForNotYetMountedComponent.add(tag);
12713 } else didWarnStateUpdateForNotYetMountedComponent = /* @__PURE__ */ new Set([tag]);
12714 runWithFiberInDEV(fiber, function() {
12715 console.error(
12716 "Can't perform a React state update on a component that hasn't mounted yet. This indicates that you have a side-effect in your render function that asynchronously later calls tries to update the component. Move this work to useEffect instead."
12717 );
12718 });
12719 }
12720 }
12721 }
12722 function restorePendingUpdaters(root2, lanes) {
12723 isDevToolsPresent && root2.memoizedUpdaters.forEach(function(schedulingFiber) {
12724 addFiberToLanesMap(root2, schedulingFiber, lanes);
12725 });
12726 }
12727 function scheduleCallback$1(priorityLevel, callback) {
12728 var actQueue = ReactSharedInternals.actQueue;
12729 return null !== actQueue ? (actQueue.push(callback), fakeActCallbackNode$1) : scheduleCallback$3(priorityLevel, callback);
12730 }
12731 function warnIfUpdatesNotWrappedWithActDEV(fiber) {
12732 isConcurrentActEnvironment() && null === ReactSharedInternals.actQueue && runWithFiberInDEV(fiber, function() {
12733 console.error(
12734 "An update to %s inside a test was not wrapped in act(...).\n\nWhen testing, code that causes React state updates should be wrapped into act(...):\n\nact(() => {\n /* fire events that update state */\n});\n/* assert on the output */\n\nThis ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act",
12735 getComponentNameFromFiber(fiber)
12736 );
12737 });
12738 }
12739 function ensureRootIsScheduled(root2) {
12740 root2 !== lastScheduledRoot && null === root2.next && (null === lastScheduledRoot ? firstScheduledRoot = lastScheduledRoot = root2 : lastScheduledRoot = lastScheduledRoot.next = root2);
12741 mightHavePendingSyncWork = true;
12742 null !== ReactSharedInternals.actQueue ? didScheduleMicrotask_act || (didScheduleMicrotask_act = true, scheduleImmediateRootScheduleTask()) : didScheduleMicrotask || (didScheduleMicrotask = true, scheduleImmediateRootScheduleTask());
12743 }
12744 function flushSyncWorkAcrossRoots_impl(syncTransitionLanes, onlyLegacy) {
12745 if (!isFlushingWork && mightHavePendingSyncWork) {
12746 isFlushingWork = true;
12747 do {
12748 var didPerformSomeWork = false;
12749 for (var root2 = firstScheduledRoot; null !== root2; ) {
12750 if (!onlyLegacy)
12751 if (0 !== syncTransitionLanes) {
12752 var pendingLanes = root2.pendingLanes;
12753 if (0 === pendingLanes) var nextLanes = 0;
12754 else {
12755 var suspendedLanes = root2.suspendedLanes, pingedLanes = root2.pingedLanes;
12756 nextLanes = (1 << 31 - clz32(42 | syncTransitionLanes) + 1) - 1;
12757 nextLanes &= pendingLanes & ~(suspendedLanes & ~pingedLanes);
12758 nextLanes = nextLanes & 201326741 ? nextLanes & 201326741 | 1 : nextLanes ? nextLanes | 2 : 0;
12759 }
12760 0 !== nextLanes && (didPerformSomeWork = true, performSyncWorkOnRoot(root2, nextLanes));
12761 } else
12762 nextLanes = workInProgressRootRenderLanes, nextLanes = getNextLanes(
12763 root2,
12764 root2 === workInProgressRoot ? nextLanes : 0,
12765 null !== root2.cancelPendingCommit || root2.timeoutHandle !== noTimeout
12766 ), 0 === (nextLanes & 3) || checkIfRootIsPrerendering(root2, nextLanes) || (didPerformSomeWork = true, performSyncWorkOnRoot(root2, nextLanes));
12767 root2 = root2.next;
12768 }
12769 } while (didPerformSomeWork);
12770 isFlushingWork = false;
12771 }
12772 }
12773 function processRootScheduleInImmediateTask() {
12774 processRootScheduleInMicrotask();
12775 }
12776 function processRootScheduleInMicrotask() {
12777 mightHavePendingSyncWork = didScheduleMicrotask_act = didScheduleMicrotask = false;
12778 var syncTransitionLanes = 0;
12779 0 !== currentEventTransitionLane && (shouldAttemptEagerTransition() && (syncTransitionLanes = currentEventTransitionLane), currentEventTransitionLane = 0);
12780 for (var currentTime = now$1(), prev = null, root2 = firstScheduledRoot; null !== root2; ) {
12781 var next = root2.next, nextLanes = scheduleTaskForRootDuringMicrotask(root2, currentTime);
12782 if (0 === nextLanes)
12783 root2.next = null, null === prev ? firstScheduledRoot = next : prev.next = next, null === next && (lastScheduledRoot = prev);
12784 else if (prev = root2, 0 !== syncTransitionLanes || 0 !== (nextLanes & 3))
12785 mightHavePendingSyncWork = true;
12786 root2 = next;
12787 }
12788 flushSyncWorkAcrossRoots_impl(syncTransitionLanes, false);
12789 }
12790 function scheduleTaskForRootDuringMicrotask(root2, currentTime) {
12791 for (var suspendedLanes = root2.suspendedLanes, pingedLanes = root2.pingedLanes, expirationTimes = root2.expirationTimes, lanes = root2.pendingLanes & -62914561; 0 < lanes; ) {
12792 var index = 31 - clz32(lanes), lane = 1 << index, expirationTime = expirationTimes[index];
12793 if (-1 === expirationTime) {
12794 if (0 === (lane & suspendedLanes) || 0 !== (lane & pingedLanes))
12795 expirationTimes[index] = computeExpirationTime(lane, currentTime);
12796 } else expirationTime <= currentTime && (root2.expiredLanes |= lane);
12797 lanes &= ~lane;
12798 }
12799 currentTime = workInProgressRoot;
12800 suspendedLanes = workInProgressRootRenderLanes;
12801 suspendedLanes = getNextLanes(
12802 root2,
12803 root2 === currentTime ? suspendedLanes : 0,
12804 null !== root2.cancelPendingCommit || root2.timeoutHandle !== noTimeout
12805 );
12806 pingedLanes = root2.callbackNode;
12807 if (0 === suspendedLanes || root2 === currentTime && (workInProgressSuspendedReason === SuspendedOnData || workInProgressSuspendedReason === SuspendedOnAction) || null !== root2.cancelPendingCommit)
12808 return null !== pingedLanes && cancelCallback(pingedLanes), root2.callbackNode = null, root2.callbackPriority = 0;
12809 if (0 === (suspendedLanes & 3) || checkIfRootIsPrerendering(root2, suspendedLanes)) {
12810 currentTime = suspendedLanes & -suspendedLanes;
12811 if (currentTime !== root2.callbackPriority || null !== ReactSharedInternals.actQueue && pingedLanes !== fakeActCallbackNode)
12812 cancelCallback(pingedLanes);
12813 else return currentTime;
12814 switch (lanesToEventPriority(suspendedLanes)) {
12815 case DiscreteEventPriority:
12816 case ContinuousEventPriority:
12817 suspendedLanes = UserBlockingPriority;
12818 break;
12819 case DefaultEventPriority:
12820 suspendedLanes = NormalPriority$1;
12821 break;
12822 case IdleEventPriority:
12823 suspendedLanes = IdlePriority;
12824 break;
12825 default:
12826 suspendedLanes = NormalPriority$1;
12827 }
12828 pingedLanes = performWorkOnRootViaSchedulerTask.bind(null, root2);
12829 null !== ReactSharedInternals.actQueue ? (ReactSharedInternals.actQueue.push(pingedLanes), suspendedLanes = fakeActCallbackNode) : suspendedLanes = scheduleCallback$3(suspendedLanes, pingedLanes);
12830 root2.callbackPriority = currentTime;
12831 root2.callbackNode = suspendedLanes;
12832 return currentTime;
12833 }
12834 null !== pingedLanes && cancelCallback(pingedLanes);
12835 root2.callbackPriority = 2;
12836 root2.callbackNode = null;
12837 return 2;
12838 }
12839 function performWorkOnRootViaSchedulerTask(root2, didTimeout) {
12840 nestedUpdateScheduled = currentUpdateIsNested = false;
12841 if (pendingEffectsStatus !== NO_PENDING_EFFECTS && pendingEffectsStatus !== PENDING_PASSIVE_PHASE)
12842 return root2.callbackNode = null, root2.callbackPriority = 0, null;
12843 var originalCallbackNode = root2.callbackNode;
12844 if (flushPendingEffects(true) && root2.callbackNode !== originalCallbackNode)
12845 return null;
12846 var workInProgressRootRenderLanes$jscomp$0 = workInProgressRootRenderLanes;
12847 workInProgressRootRenderLanes$jscomp$0 = getNextLanes(
12848 root2,
12849 root2 === workInProgressRoot ? workInProgressRootRenderLanes$jscomp$0 : 0,
12850 null !== root2.cancelPendingCommit || root2.timeoutHandle !== noTimeout
12851 );
12852 if (0 === workInProgressRootRenderLanes$jscomp$0) return null;
12853 performWorkOnRoot(
12854 root2,
12855 workInProgressRootRenderLanes$jscomp$0,
12856 didTimeout
12857 );
12858 scheduleTaskForRootDuringMicrotask(root2, now$1());
12859 return null != root2.callbackNode && root2.callbackNode === originalCallbackNode ? performWorkOnRootViaSchedulerTask.bind(null, root2) : null;
12860 }
12861 function performSyncWorkOnRoot(root2, lanes) {
12862 if (flushPendingEffects()) return null;
12863 currentUpdateIsNested = nestedUpdateScheduled;
12864 nestedUpdateScheduled = false;
12865 performWorkOnRoot(root2, lanes, true);
12866 }
12867 function cancelCallback(callbackNode) {
12868 callbackNode !== fakeActCallbackNode && null !== callbackNode && cancelCallback$1(callbackNode);
12869 }
12870 function scheduleImmediateRootScheduleTask() {
12871 null !== ReactSharedInternals.actQueue && ReactSharedInternals.actQueue.push(function() {
12872 processRootScheduleInMicrotask();
12873 return null;
12874 });
12875 scheduleMicrotask(function() {
12876 (executionContext & (RenderContext | CommitContext)) !== NoContext ? scheduleCallback$3(
12877 ImmediatePriority,
12878 processRootScheduleInImmediateTask
12879 ) : processRootScheduleInMicrotask();
12880 });
12881 }
12882 function requestTransitionLane() {
12883 0 === currentEventTransitionLane && (currentEventTransitionLane = claimNextTransitionLane());
12884 return currentEventTransitionLane;
12885 }
12886 function coerceFormActionProp(actionProp) {
12887 if (null == actionProp || "symbol" === typeof actionProp || "boolean" === typeof actionProp)
12888 return null;
12889 if ("function" === typeof actionProp) return actionProp;
12890 checkAttributeStringCoercion(actionProp, "action");
12891 return sanitizeURL("" + actionProp);
12892 }
12893 function createFormDataWithSubmitter(form, submitter) {
12894 var temp = submitter.ownerDocument.createElement("input");
12895 temp.name = submitter.name;
12896 temp.value = submitter.value;
12897 form.id && temp.setAttribute("form", form.id);
12898 submitter.parentNode.insertBefore(temp, submitter);
12899 form = new FormData(form);
12900 temp.parentNode.removeChild(temp);
12901 return form;
12902 }
12903 function extractEvents$1(dispatchQueue, domEventName, maybeTargetInst, nativeEvent, nativeEventTarget) {
12904 if ("submit" === domEventName && maybeTargetInst && maybeTargetInst.stateNode === nativeEventTarget) {
12905 var action = coerceFormActionProp(
12906 (nativeEventTarget[internalPropsKey] || null).action
12907 ), submitter = nativeEvent.submitter;
12908 submitter && (domEventName = (domEventName = submitter[internalPropsKey] || null) ? coerceFormActionProp(domEventName.formAction) : submitter.getAttribute("formAction"), null !== domEventName && (action = domEventName, submitter = null));
12909 var event = new SyntheticEvent(
12910 "action",
12911 "action",
12912 null,
12913 nativeEvent,
12914 nativeEventTarget
12915 );
12916 dispatchQueue.push({
12917 event,
12918 listeners: [
12919 {
12920 instance: null,
12921 listener: function() {
12922 if (nativeEvent.defaultPrevented) {
12923 if (0 !== currentEventTransitionLane) {
12924 var formData = submitter ? createFormDataWithSubmitter(
12925 nativeEventTarget,
12926 submitter
12927 ) : new FormData(nativeEventTarget), pendingState = {
12928 pending: true,
12929 data: formData,
12930 method: nativeEventTarget.method,
12931 action
12932 };
12933 Object.freeze(pendingState);
12934 startHostTransition(
12935 maybeTargetInst,
12936 pendingState,
12937 null,
12938 formData
12939 );
12940 }
12941 } else
12942 "function" === typeof action && (event.preventDefault(), formData = submitter ? createFormDataWithSubmitter(
12943 nativeEventTarget,
12944 submitter
12945 ) : new FormData(nativeEventTarget), pendingState = {
12946 pending: true,
12947 data: formData,
12948 method: nativeEventTarget.method,
12949 action
12950 }, Object.freeze(pendingState), startHostTransition(
12951 maybeTargetInst,
12952 pendingState,
12953 action,
12954 formData
12955 ));
12956 },
12957 currentTarget: nativeEventTarget
12958 }
12959 ]
12960 });
12961 }
12962 }
12963 function executeDispatch(event, listener, currentTarget) {
12964 event.currentTarget = currentTarget;
12965 try {
12966 listener(event);
12967 } catch (error) {
12968 reportGlobalError(error);
12969 }
12970 event.currentTarget = null;
12971 }
12972 function processDispatchQueue(dispatchQueue, eventSystemFlags) {
12973 eventSystemFlags = 0 !== (eventSystemFlags & 4);
12974 for (var i = 0; i < dispatchQueue.length; i++) {
12975 var _dispatchQueue$i = dispatchQueue[i];
12976 a: {
12977 var previousInstance = void 0, event = _dispatchQueue$i.event;
12978 _dispatchQueue$i = _dispatchQueue$i.listeners;
12979 if (eventSystemFlags)
12980 for (var i$jscomp$0 = _dispatchQueue$i.length - 1; 0 <= i$jscomp$0; i$jscomp$0--) {
12981 var _dispatchListeners$i = _dispatchQueue$i[i$jscomp$0], instance = _dispatchListeners$i.instance, currentTarget = _dispatchListeners$i.currentTarget;
12982 _dispatchListeners$i = _dispatchListeners$i.listener;
12983 if (instance !== previousInstance && event.isPropagationStopped())
12984 break a;
12985 null !== instance ? runWithFiberInDEV(
12986 instance,
12987 executeDispatch,
12988 event,
12989 _dispatchListeners$i,
12990 currentTarget
12991 ) : executeDispatch(event, _dispatchListeners$i, currentTarget);
12992 previousInstance = instance;
12993 }
12994 else
12995 for (i$jscomp$0 = 0; i$jscomp$0 < _dispatchQueue$i.length; i$jscomp$0++) {
12996 _dispatchListeners$i = _dispatchQueue$i[i$jscomp$0];
12997 instance = _dispatchListeners$i.instance;
12998 currentTarget = _dispatchListeners$i.currentTarget;
12999 _dispatchListeners$i = _dispatchListeners$i.listener;
13000 if (instance !== previousInstance && event.isPropagationStopped())
13001 break a;
13002 null !== instance ? runWithFiberInDEV(
13003 instance,
13004 executeDispatch,
13005 event,
13006 _dispatchListeners$i,
13007 currentTarget
13008 ) : executeDispatch(event, _dispatchListeners$i, currentTarget);
13009 previousInstance = instance;
13010 }
13011 }
13012 }
13013 }
13014 function listenToNonDelegatedEvent(domEventName, targetElement) {
13015 nonDelegatedEvents.has(domEventName) || console.error(
13016 'Did not expect a listenToNonDelegatedEvent() call for "%s". This is a bug in React. Please file an issue.',
13017 domEventName
13018 );
13019 var listenerSet = targetElement[internalEventHandlersKey];
13020 void 0 === listenerSet && (listenerSet = targetElement[internalEventHandlersKey] = /* @__PURE__ */ new Set());
13021 var listenerSetKey = domEventName + "__bubble";
13022 listenerSet.has(listenerSetKey) || (addTrappedEventListener(targetElement, domEventName, 2, false), listenerSet.add(listenerSetKey));
13023 }
13024 function listenToNativeEvent(domEventName, isCapturePhaseListener, target) {
13025 nonDelegatedEvents.has(domEventName) && !isCapturePhaseListener && console.error(
13026 'Did not expect a listenToNativeEvent() call for "%s" in the bubble phase. This is a bug in React. Please file an issue.',
13027 domEventName
13028 );
13029 var eventSystemFlags = 0;
13030 isCapturePhaseListener && (eventSystemFlags |= 4);
13031 addTrappedEventListener(
13032 target,
13033 domEventName,
13034 eventSystemFlags,
13035 isCapturePhaseListener
13036 );
13037 }
13038 function listenToAllSupportedEvents(rootContainerElement) {
13039 if (!rootContainerElement[listeningMarker]) {
13040 rootContainerElement[listeningMarker] = true;
13041 allNativeEvents.forEach(function(domEventName) {
13042 "selectionchange" !== domEventName && (nonDelegatedEvents.has(domEventName) || listenToNativeEvent(domEventName, false, rootContainerElement), listenToNativeEvent(domEventName, true, rootContainerElement));
13043 });
13044 var ownerDocument = 9 === rootContainerElement.nodeType ? rootContainerElement : rootContainerElement.ownerDocument;
13045 null === ownerDocument || ownerDocument[listeningMarker] || (ownerDocument[listeningMarker] = true, listenToNativeEvent("selectionchange", false, ownerDocument));
13046 }
13047 }
13048 function addTrappedEventListener(targetContainer, domEventName, eventSystemFlags, isCapturePhaseListener) {
13049 switch (getEventPriority(domEventName)) {
13050 case DiscreteEventPriority:
13051 var listenerWrapper = dispatchDiscreteEvent;
13052 break;
13053 case ContinuousEventPriority:
13054 listenerWrapper = dispatchContinuousEvent;
13055 break;
13056 default:
13057 listenerWrapper = dispatchEvent;
13058 }
13059 eventSystemFlags = listenerWrapper.bind(
13060 null,
13061 domEventName,
13062 eventSystemFlags,
13063 targetContainer
13064 );
13065 listenerWrapper = void 0;
13066 !passiveBrowserEventsSupported || "touchstart" !== domEventName && "touchmove" !== domEventName && "wheel" !== domEventName || (listenerWrapper = true);
13067 isCapturePhaseListener ? void 0 !== listenerWrapper ? targetContainer.addEventListener(domEventName, eventSystemFlags, {
13068 capture: true,
13069 passive: listenerWrapper
13070 }) : targetContainer.addEventListener(domEventName, eventSystemFlags, true) : void 0 !== listenerWrapper ? targetContainer.addEventListener(domEventName, eventSystemFlags, {
13071 passive: listenerWrapper
13072 }) : targetContainer.addEventListener(
13073 domEventName,
13074 eventSystemFlags,
13075 false
13076 );
13077 }
13078 function dispatchEventForPluginEventSystem(domEventName, eventSystemFlags, nativeEvent, targetInst$jscomp$0, targetContainer) {
13079 var ancestorInst = targetInst$jscomp$0;
13080 if (0 === (eventSystemFlags & 1) && 0 === (eventSystemFlags & 2) && null !== targetInst$jscomp$0)
13081 a: for (; ; ) {
13082 if (null === targetInst$jscomp$0) return;
13083 var nodeTag = targetInst$jscomp$0.tag;
13084 if (3 === nodeTag || 4 === nodeTag) {
13085 var container = targetInst$jscomp$0.stateNode.containerInfo;
13086 if (container === targetContainer) break;
13087 if (4 === nodeTag)
13088 for (nodeTag = targetInst$jscomp$0.return; null !== nodeTag; ) {
13089 var grandTag = nodeTag.tag;
13090 if ((3 === grandTag || 4 === grandTag) && nodeTag.stateNode.containerInfo === targetContainer)
13091 return;
13092 nodeTag = nodeTag.return;
13093 }
13094 for (; null !== container; ) {
13095 nodeTag = getClosestInstanceFromNode(container);
13096 if (null === nodeTag) return;
13097 grandTag = nodeTag.tag;
13098 if (5 === grandTag || 6 === grandTag || 26 === grandTag || 27 === grandTag) {
13099 targetInst$jscomp$0 = ancestorInst = nodeTag;
13100 continue a;
13101 }
13102 container = container.parentNode;
13103 }
13104 }
13105 targetInst$jscomp$0 = targetInst$jscomp$0.return;
13106 }
13107 batchedUpdates$1(function() {
13108 var targetInst = ancestorInst, nativeEventTarget = getEventTarget(nativeEvent), dispatchQueue = [];
13109 a: {
13110 var reactName = topLevelEventsToReactNames.get(domEventName);
13111 if (void 0 !== reactName) {
13112 var SyntheticEventCtor = SyntheticEvent, reactEventType = domEventName;
13113 switch (domEventName) {
13114 case "keypress":
13115 if (0 === getEventCharCode(nativeEvent)) break a;
13116 case "keydown":
13117 case "keyup":
13118 SyntheticEventCtor = SyntheticKeyboardEvent;
13119 break;
13120 case "focusin":
13121 reactEventType = "focus";
13122 SyntheticEventCtor = SyntheticFocusEvent;
13123 break;
13124 case "focusout":
13125 reactEventType = "blur";
13126 SyntheticEventCtor = SyntheticFocusEvent;
13127 break;
13128 case "beforeblur":
13129 case "afterblur":
13130 SyntheticEventCtor = SyntheticFocusEvent;
13131 break;
13132 case "click":
13133 if (2 === nativeEvent.button) break a;
13134 case "auxclick":
13135 case "dblclick":
13136 case "mousedown":
13137 case "mousemove":
13138 case "mouseup":
13139 case "mouseout":
13140 case "mouseover":
13141 case "contextmenu":
13142 SyntheticEventCtor = SyntheticMouseEvent;
13143 break;
13144 case "drag":
13145 case "dragend":
13146 case "dragenter":
13147 case "dragexit":
13148 case "dragleave":
13149 case "dragover":
13150 case "dragstart":
13151 case "drop":
13152 SyntheticEventCtor = SyntheticDragEvent;
13153 break;
13154 case "touchcancel":
13155 case "touchend":
13156 case "touchmove":
13157 case "touchstart":
13158 SyntheticEventCtor = SyntheticTouchEvent;
13159 break;
13160 case ANIMATION_END:
13161 case ANIMATION_ITERATION:
13162 case ANIMATION_START:
13163 SyntheticEventCtor = SyntheticAnimationEvent;
13164 break;
13165 case TRANSITION_END:
13166 SyntheticEventCtor = SyntheticTransitionEvent;
13167 break;
13168 case "scroll":
13169 case "scrollend":
13170 SyntheticEventCtor = SyntheticUIEvent;
13171 break;
13172 case "wheel":
13173 SyntheticEventCtor = SyntheticWheelEvent;
13174 break;
13175 case "copy":
13176 case "cut":
13177 case "paste":
13178 SyntheticEventCtor = SyntheticClipboardEvent;
13179 break;
13180 case "gotpointercapture":
13181 case "lostpointercapture":
13182 case "pointercancel":
13183 case "pointerdown":
13184 case "pointermove":
13185 case "pointerout":
13186 case "pointerover":
13187 case "pointerup":
13188 SyntheticEventCtor = SyntheticPointerEvent;
13189 break;
13190 case "toggle":
13191 case "beforetoggle":
13192 SyntheticEventCtor = SyntheticToggleEvent;
13193 }
13194 var inCapturePhase = 0 !== (eventSystemFlags & 4), accumulateTargetOnly = !inCapturePhase && ("scroll" === domEventName || "scrollend" === domEventName), reactEventName = inCapturePhase ? null !== reactName ? reactName + "Capture" : null : reactName;
13195 inCapturePhase = [];
13196 for (var instance = targetInst, lastHostComponent; null !== instance; ) {
13197 var _instance2 = instance;
13198 lastHostComponent = _instance2.stateNode;
13199 _instance2 = _instance2.tag;
13200 5 !== _instance2 && 26 !== _instance2 && 27 !== _instance2 || null === lastHostComponent || null === reactEventName || (_instance2 = getListener(instance, reactEventName), null != _instance2 && inCapturePhase.push(
13201 createDispatchListener(
13202 instance,
13203 _instance2,
13204 lastHostComponent
13205 )
13206 ));
13207 if (accumulateTargetOnly) break;
13208 instance = instance.return;
13209 }
13210 0 < inCapturePhase.length && (reactName = new SyntheticEventCtor(
13211 reactName,
13212 reactEventType,
13213 null,
13214 nativeEvent,
13215 nativeEventTarget
13216 ), dispatchQueue.push({
13217 event: reactName,
13218 listeners: inCapturePhase
13219 }));
13220 }
13221 }
13222 if (0 === (eventSystemFlags & 7)) {
13223 a: {
13224 reactName = "mouseover" === domEventName || "pointerover" === domEventName;
13225 SyntheticEventCtor = "mouseout" === domEventName || "pointerout" === domEventName;
13226 if (reactName && nativeEvent !== currentReplayingEvent && (reactEventType = nativeEvent.relatedTarget || nativeEvent.fromElement) && (getClosestInstanceFromNode(reactEventType) || reactEventType[internalContainerInstanceKey]))
13227 break a;
13228 if (SyntheticEventCtor || reactName) {
13229 reactName = nativeEventTarget.window === nativeEventTarget ? nativeEventTarget : (reactName = nativeEventTarget.ownerDocument) ? reactName.defaultView || reactName.parentWindow : window;
13230 if (SyntheticEventCtor) {
13231 if (reactEventType = nativeEvent.relatedTarget || nativeEvent.toElement, SyntheticEventCtor = targetInst, reactEventType = reactEventType ? getClosestInstanceFromNode(reactEventType) : null, null !== reactEventType && (accumulateTargetOnly = getNearestMountedFiber(reactEventType), inCapturePhase = reactEventType.tag, reactEventType !== accumulateTargetOnly || 5 !== inCapturePhase && 27 !== inCapturePhase && 6 !== inCapturePhase))
13232 reactEventType = null;
13233 } else SyntheticEventCtor = null, reactEventType = targetInst;
13234 if (SyntheticEventCtor !== reactEventType) {
13235 inCapturePhase = SyntheticMouseEvent;
13236 _instance2 = "onMouseLeave";
13237 reactEventName = "onMouseEnter";
13238 instance = "mouse";
13239 if ("pointerout" === domEventName || "pointerover" === domEventName)
13240 inCapturePhase = SyntheticPointerEvent, _instance2 = "onPointerLeave", reactEventName = "onPointerEnter", instance = "pointer";
13241 accumulateTargetOnly = null == SyntheticEventCtor ? reactName : getNodeFromInstance(SyntheticEventCtor);
13242 lastHostComponent = null == reactEventType ? reactName : getNodeFromInstance(reactEventType);
13243 reactName = new inCapturePhase(
13244 _instance2,
13245 instance + "leave",
13246 SyntheticEventCtor,
13247 nativeEvent,
13248 nativeEventTarget
13249 );
13250 reactName.target = accumulateTargetOnly;
13251 reactName.relatedTarget = lastHostComponent;
13252 _instance2 = null;
13253 getClosestInstanceFromNode(nativeEventTarget) === targetInst && (inCapturePhase = new inCapturePhase(
13254 reactEventName,
13255 instance + "enter",
13256 reactEventType,
13257 nativeEvent,
13258 nativeEventTarget
13259 ), inCapturePhase.target = lastHostComponent, inCapturePhase.relatedTarget = accumulateTargetOnly, _instance2 = inCapturePhase);
13260 accumulateTargetOnly = _instance2;
13261 if (SyntheticEventCtor && reactEventType)
13262 b: {
13263 inCapturePhase = SyntheticEventCtor;
13264 reactEventName = reactEventType;
13265 instance = 0;
13266 for (lastHostComponent = inCapturePhase; lastHostComponent; lastHostComponent = getParent(lastHostComponent))
13267 instance++;
13268 lastHostComponent = 0;
13269 for (_instance2 = reactEventName; _instance2; _instance2 = getParent(_instance2))
13270 lastHostComponent++;
13271 for (; 0 < instance - lastHostComponent; )
13272 inCapturePhase = getParent(inCapturePhase), instance--;
13273 for (; 0 < lastHostComponent - instance; )
13274 reactEventName = getParent(reactEventName), lastHostComponent--;
13275 for (; instance--; ) {
13276 if (inCapturePhase === reactEventName || null !== reactEventName && inCapturePhase === reactEventName.alternate)
13277 break b;
13278 inCapturePhase = getParent(inCapturePhase);
13279 reactEventName = getParent(reactEventName);
13280 }
13281 inCapturePhase = null;
13282 }
13283 else inCapturePhase = null;
13284 null !== SyntheticEventCtor && accumulateEnterLeaveListenersForEvent(
13285 dispatchQueue,
13286 reactName,
13287 SyntheticEventCtor,
13288 inCapturePhase,
13289 false
13290 );
13291 null !== reactEventType && null !== accumulateTargetOnly && accumulateEnterLeaveListenersForEvent(
13292 dispatchQueue,
13293 accumulateTargetOnly,
13294 reactEventType,
13295 inCapturePhase,
13296 true
13297 );
13298 }
13299 }
13300 }
13301 a: {
13302 reactName = targetInst ? getNodeFromInstance(targetInst) : window;
13303 SyntheticEventCtor = reactName.nodeName && reactName.nodeName.toLowerCase();
13304 if ("select" === SyntheticEventCtor || "input" === SyntheticEventCtor && "file" === reactName.type)
13305 var getTargetInstFunc = getTargetInstForChangeEvent;
13306 else if (isTextInputElement(reactName))
13307 if (isInputEventSupported)
13308 getTargetInstFunc = getTargetInstForInputOrChangeEvent;
13309 else {
13310 getTargetInstFunc = getTargetInstForInputEventPolyfill;
13311 var handleEventFunc = handleEventsForInputEventPolyfill;
13312 }
13313 else
13314 SyntheticEventCtor = reactName.nodeName, !SyntheticEventCtor || "input" !== SyntheticEventCtor.toLowerCase() || "checkbox" !== reactName.type && "radio" !== reactName.type ? targetInst && isCustomElement(targetInst.elementType) && (getTargetInstFunc = getTargetInstForChangeEvent) : getTargetInstFunc = getTargetInstForClickEvent;
13315 if (getTargetInstFunc && (getTargetInstFunc = getTargetInstFunc(domEventName, targetInst))) {
13316 createAndAccumulateChangeEvent(
13317 dispatchQueue,
13318 getTargetInstFunc,
13319 nativeEvent,
13320 nativeEventTarget
13321 );
13322 break a;
13323 }
13324 handleEventFunc && handleEventFunc(domEventName, reactName, targetInst);
13325 "focusout" === domEventName && targetInst && "number" === reactName.type && null != targetInst.memoizedProps.value && setDefaultValue(reactName, "number", reactName.value);
13326 }
13327 handleEventFunc = targetInst ? getNodeFromInstance(targetInst) : window;
13328 switch (domEventName) {
13329 case "focusin":
13330 if (isTextInputElement(handleEventFunc) || "true" === handleEventFunc.contentEditable)
13331 activeElement = handleEventFunc, activeElementInst = targetInst, lastSelection = null;
13332 break;
13333 case "focusout":
13334 lastSelection = activeElementInst = activeElement = null;
13335 break;
13336 case "mousedown":
13337 mouseDown = true;
13338 break;
13339 case "contextmenu":
13340 case "mouseup":
13341 case "dragend":
13342 mouseDown = false;
13343 constructSelectEvent(
13344 dispatchQueue,
13345 nativeEvent,
13346 nativeEventTarget
13347 );
13348 break;
13349 case "selectionchange":
13350 if (skipSelectionChangeEvent) break;
13351 case "keydown":
13352 case "keyup":
13353 constructSelectEvent(
13354 dispatchQueue,
13355 nativeEvent,
13356 nativeEventTarget
13357 );
13358 }
13359 var fallbackData;
13360 if (canUseCompositionEvent)
13361 b: {
13362 switch (domEventName) {
13363 case "compositionstart":
13364 var eventType = "onCompositionStart";
13365 break b;
13366 case "compositionend":
13367 eventType = "onCompositionEnd";
13368 break b;
13369 case "compositionupdate":
13370 eventType = "onCompositionUpdate";
13371 break b;
13372 }
13373 eventType = void 0;
13374 }
13375 else
13376 isComposing ? isFallbackCompositionEnd(domEventName, nativeEvent) && (eventType = "onCompositionEnd") : "keydown" === domEventName && nativeEvent.keyCode === START_KEYCODE && (eventType = "onCompositionStart");
13377 eventType && (useFallbackCompositionData && "ko" !== nativeEvent.locale && (isComposing || "onCompositionStart" !== eventType ? "onCompositionEnd" === eventType && isComposing && (fallbackData = getData()) : (root = nativeEventTarget, startText = "value" in root ? root.value : root.textContent, isComposing = true)), handleEventFunc = accumulateTwoPhaseListeners(
13378 targetInst,
13379 eventType
13380 ), 0 < handleEventFunc.length && (eventType = new SyntheticCompositionEvent(
13381 eventType,
13382 domEventName,
13383 null,
13384 nativeEvent,
13385 nativeEventTarget
13386 ), dispatchQueue.push({
13387 event: eventType,
13388 listeners: handleEventFunc
13389 }), fallbackData ? eventType.data = fallbackData : (fallbackData = getDataFromCustomEvent(nativeEvent), null !== fallbackData && (eventType.data = fallbackData))));
13390 if (fallbackData = canUseTextInputEvent ? getNativeBeforeInputChars(domEventName, nativeEvent) : getFallbackBeforeInputChars(domEventName, nativeEvent))
13391 eventType = accumulateTwoPhaseListeners(
13392 targetInst,
13393 "onBeforeInput"
13394 ), 0 < eventType.length && (handleEventFunc = new SyntheticInputEvent(
13395 "onBeforeInput",
13396 "beforeinput",
13397 null,
13398 nativeEvent,
13399 nativeEventTarget
13400 ), dispatchQueue.push({
13401 event: handleEventFunc,
13402 listeners: eventType
13403 }), handleEventFunc.data = fallbackData);
13404 extractEvents$1(
13405 dispatchQueue,
13406 domEventName,
13407 targetInst,
13408 nativeEvent,
13409 nativeEventTarget
13410 );
13411 }
13412 processDispatchQueue(dispatchQueue, eventSystemFlags);
13413 });
13414 }
13415 function createDispatchListener(instance, listener, currentTarget) {
13416 return {
13417 instance,
13418 listener,
13419 currentTarget
13420 };
13421 }
13422 function accumulateTwoPhaseListeners(targetFiber, reactName) {
13423 for (var captureName = reactName + "Capture", listeners = []; null !== targetFiber; ) {
13424 var _instance3 = targetFiber, stateNode = _instance3.stateNode;
13425 _instance3 = _instance3.tag;
13426 5 !== _instance3 && 26 !== _instance3 && 27 !== _instance3 || null === stateNode || (_instance3 = getListener(targetFiber, captureName), null != _instance3 && listeners.unshift(
13427 createDispatchListener(targetFiber, _instance3, stateNode)
13428 ), _instance3 = getListener(targetFiber, reactName), null != _instance3 && listeners.push(
13429 createDispatchListener(targetFiber, _instance3, stateNode)
13430 ));
13431 if (3 === targetFiber.tag) return listeners;
13432 targetFiber = targetFiber.return;
13433 }
13434 return [];
13435 }
13436 function getParent(inst) {
13437 if (null === inst) return null;
13438 do
13439 inst = inst.return;
13440 while (inst && 5 !== inst.tag && 27 !== inst.tag);
13441 return inst ? inst : null;
13442 }
13443 function accumulateEnterLeaveListenersForEvent(dispatchQueue, event, target, common, inCapturePhase) {
13444 for (var registrationName = event._reactName, listeners = []; null !== target && target !== common; ) {
13445 var _instance4 = target, alternate = _instance4.alternate, stateNode = _instance4.stateNode;
13446 _instance4 = _instance4.tag;
13447 if (null !== alternate && alternate === common) break;
13448 5 !== _instance4 && 26 !== _instance4 && 27 !== _instance4 || null === stateNode || (alternate = stateNode, inCapturePhase ? (stateNode = getListener(target, registrationName), null != stateNode && listeners.unshift(
13449 createDispatchListener(target, stateNode, alternate)
13450 )) : inCapturePhase || (stateNode = getListener(target, registrationName), null != stateNode && listeners.push(
13451 createDispatchListener(target, stateNode, alternate)
13452 )));
13453 target = target.return;
13454 }
13455 0 !== listeners.length && dispatchQueue.push({ event, listeners });
13456 }
13457 function validatePropertiesInDevelopment(type, props) {
13458 validateProperties$2(type, props);
13459 "input" !== type && "textarea" !== type && "select" !== type || null == props || null !== props.value || didWarnValueNull || (didWarnValueNull = true, "select" === type && props.multiple ? console.error(
13460 "`value` prop on `%s` should not be null. Consider using an empty array when `multiple` is set to `true` to clear the component or `undefined` for uncontrolled components.",
13461 type
13462 ) : console.error(
13463 "`value` prop on `%s` should not be null. Consider using an empty string to clear the component or `undefined` for uncontrolled components.",
13464 type
13465 ));
13466 var eventRegistry = {
13467 registrationNameDependencies,
13468 possibleRegistrationNames
13469 };
13470 isCustomElement(type) || "string" === typeof props.is || warnUnknownProperties(type, props, eventRegistry);
13471 props.contentEditable && !props.suppressContentEditableWarning && null != props.children && console.error(
13472 "A component is `contentEditable` and contains `children` managed by React. It is now your responsibility to guarantee that none of those nodes are unexpectedly modified or duplicated. This is probably not intentional."
13473 );
13474 }
13475 function warnForPropDifference(propName, serverValue, clientValue, serverDifferences) {
13476 serverValue !== clientValue && (clientValue = normalizeMarkupForTextOrAttribute(clientValue), normalizeMarkupForTextOrAttribute(serverValue) !== clientValue && (serverDifferences[propName] = serverValue));
13477 }
13478 function warnForExtraAttributes(domElement, attributeNames, serverDifferences) {
13479 attributeNames.forEach(function(attributeName) {
13480 serverDifferences[getPropNameFromAttributeName(attributeName)] = "style" === attributeName ? getStylesObjectFromElement(domElement) : domElement.getAttribute(attributeName);
13481 });
13482 }
13483 function warnForInvalidEventListener(registrationName, listener) {
13484 false === listener ? console.error(
13485 "Expected `%s` listener to be a function, instead got `false`.\n\nIf you used to conditionally omit it with %s={condition && value}, pass %s={condition ? value : undefined} instead.",
13486 registrationName,
13487 registrationName,
13488 registrationName
13489 ) : console.error(
13490 "Expected `%s` listener to be a function, instead got a value of `%s` type.",
13491 registrationName,
13492 typeof listener
13493 );
13494 }
13495 function normalizeHTML(parent, html) {
13496 parent = parent.namespaceURI === MATH_NAMESPACE || parent.namespaceURI === SVG_NAMESPACE ? parent.ownerDocument.createElementNS(
13497 parent.namespaceURI,
13498 parent.tagName
13499 ) : parent.ownerDocument.createElement(parent.tagName);
13500 parent.innerHTML = html;
13501 return parent.innerHTML;
13502 }
13503 function normalizeMarkupForTextOrAttribute(markup) {
13504 willCoercionThrow(markup) && (console.error(
13505 "The provided HTML markup uses a value of unsupported type %s. This value must be coerced to a string before using it here.",
13506 typeName(markup)
13507 ), testStringCoercion(markup));
13508 return ("string" === typeof markup ? markup : "" + markup).replace(NORMALIZE_NEWLINES_REGEX, "\n").replace(NORMALIZE_NULL_AND_REPLACEMENT_REGEX, "");
13509 }
13510 function checkForUnmatchedText(serverText, clientText) {
13511 clientText = normalizeMarkupForTextOrAttribute(clientText);
13512 return normalizeMarkupForTextOrAttribute(serverText) === clientText ? true : false;
13513 }
13514 function noop$1() {
13515 }
13516 function setProp(domElement, tag, key, value, props, prevValue) {
13517 switch (key) {
13518 case "children":
13519 if ("string" === typeof value)
13520 validateTextNesting(value, tag, false), "body" === tag || "textarea" === tag && "" === value || setTextContent(domElement, value);
13521 else if ("number" === typeof value || "bigint" === typeof value)
13522 validateTextNesting("" + value, tag, false), "body" !== tag && setTextContent(domElement, "" + value);
13523 break;
13524 case "className":
13525 setValueForKnownAttribute(domElement, "class", value);
13526 break;
13527 case "tabIndex":
13528 setValueForKnownAttribute(domElement, "tabindex", value);
13529 break;
13530 case "dir":
13531 case "role":
13532 case "viewBox":
13533 case "width":
13534 case "height":
13535 setValueForKnownAttribute(domElement, key, value);
13536 break;
13537 case "style":
13538 setValueForStyles(domElement, value, prevValue);
13539 break;
13540 case "data":
13541 if ("object" !== tag) {
13542 setValueForKnownAttribute(domElement, "data", value);
13543 break;
13544 }
13545 case "src":
13546 case "href":
13547 if ("" === value && ("a" !== tag || "href" !== key)) {
13548 "src" === key ? console.error(
13549 'An empty string ("") was passed to the %s attribute. This may cause the browser to download the whole page again over the network. To fix this, either do not render the element at all or pass null to %s instead of an empty string.',
13550 key,
13551 key
13552 ) : console.error(
13553 'An empty string ("") was passed to the %s attribute. To fix this, either do not render the element at all or pass null to %s instead of an empty string.',
13554 key,
13555 key
13556 );
13557 domElement.removeAttribute(key);
13558 break;
13559 }
13560 if (null == value || "function" === typeof value || "symbol" === typeof value || "boolean" === typeof value) {
13561 domElement.removeAttribute(key);
13562 break;
13563 }
13564 checkAttributeStringCoercion(value, key);
13565 value = sanitizeURL("" + value);
13566 domElement.setAttribute(key, value);
13567 break;
13568 case "action":
13569 case "formAction":
13570 null != value && ("form" === tag ? "formAction" === key ? console.error(
13571 "You can only pass the formAction prop to <input> or <button>. Use the action prop on <form>."
13572 ) : "function" === typeof value && (null == props.encType && null == props.method || didWarnFormActionMethod || (didWarnFormActionMethod = true, console.error(
13573 "Cannot specify a encType or method for a form that specifies a function as the action. React provides those automatically. They will get overridden."
13574 )), null == props.target || didWarnFormActionTarget || (didWarnFormActionTarget = true, console.error(
13575 "Cannot specify a target for a form that specifies a function as the action. The function will always be executed in the same window."
13576 ))) : "input" === tag || "button" === tag ? "action" === key ? console.error(
13577 "You can only pass the action prop to <form>. Use the formAction prop on <input> or <button>."
13578 ) : "input" !== tag || "submit" === props.type || "image" === props.type || didWarnFormActionType ? "button" !== tag || null == props.type || "submit" === props.type || didWarnFormActionType ? "function" === typeof value && (null == props.name || didWarnFormActionName || (didWarnFormActionName = true, console.error(
13579 'Cannot specify a "name" prop for a button that specifies a function as a formAction. React needs it to encode which action should be invoked. It will get overridden.'
13580 )), null == props.formEncType && null == props.formMethod || didWarnFormActionMethod || (didWarnFormActionMethod = true, console.error(
13581 "Cannot specify a formEncType or formMethod for a button that specifies a function as a formAction. React provides those automatically. They will get overridden."
13582 )), null == props.formTarget || didWarnFormActionTarget || (didWarnFormActionTarget = true, console.error(
13583 "Cannot specify a formTarget for a button that specifies a function as a formAction. The function will always be executed in the same window."
13584 ))) : (didWarnFormActionType = true, console.error(
13585 'A button can only specify a formAction along with type="submit" or no type.'
13586 )) : (didWarnFormActionType = true, console.error(
13587 'An input can only specify a formAction along with type="submit" or type="image".'
13588 )) : "action" === key ? console.error(
13589 "You can only pass the action prop to <form>."
13590 ) : console.error(
13591 "You can only pass the formAction prop to <input> or <button>."
13592 ));
13593 if ("function" === typeof value) {
13594 domElement.setAttribute(
13595 key,
13596 "javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')"
13597 );
13598 break;
13599 } else
13600 "function" === typeof prevValue && ("formAction" === key ? ("input" !== tag && setProp(domElement, tag, "name", props.name, props, null), setProp(
13601 domElement,
13602 tag,
13603 "formEncType",
13604 props.formEncType,
13605 props,
13606 null
13607 ), setProp(
13608 domElement,
13609 tag,
13610 "formMethod",
13611 props.formMethod,
13612 props,
13613 null
13614 ), setProp(
13615 domElement,
13616 tag,
13617 "formTarget",
13618 props.formTarget,
13619 props,
13620 null
13621 )) : (setProp(
13622 domElement,
13623 tag,
13624 "encType",
13625 props.encType,
13626 props,
13627 null
13628 ), setProp(domElement, tag, "method", props.method, props, null), setProp(
13629 domElement,
13630 tag,
13631 "target",
13632 props.target,
13633 props,
13634 null
13635 )));
13636 if (null == value || "symbol" === typeof value || "boolean" === typeof value) {
13637 domElement.removeAttribute(key);
13638 break;
13639 }
13640 checkAttributeStringCoercion(value, key);
13641 value = sanitizeURL("" + value);
13642 domElement.setAttribute(key, value);
13643 break;
13644 case "onClick":
13645 null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), domElement.onclick = noop$1);
13646 break;
13647 case "onScroll":
13648 null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), listenToNonDelegatedEvent("scroll", domElement));
13649 break;
13650 case "onScrollEnd":
13651 null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), listenToNonDelegatedEvent("scrollend", domElement));
13652 break;
13653 case "dangerouslySetInnerHTML":
13654 if (null != value) {
13655 if ("object" !== typeof value || !("__html" in value))
13656 throw Error(
13657 "`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://react.dev/link/dangerously-set-inner-html for more information."
13658 );
13659 key = value.__html;
13660 if (null != key) {
13661 if (null != props.children)
13662 throw Error(
13663 "Can only set one of `children` or `props.dangerouslySetInnerHTML`."
13664 );
13665 domElement.innerHTML = key;
13666 }
13667 }
13668 break;
13669 case "multiple":
13670 domElement.multiple = value && "function" !== typeof value && "symbol" !== typeof value;
13671 break;
13672 case "muted":
13673 domElement.muted = value && "function" !== typeof value && "symbol" !== typeof value;
13674 break;
13675 case "suppressContentEditableWarning":
13676 case "suppressHydrationWarning":
13677 case "defaultValue":
13678 case "defaultChecked":
13679 case "innerHTML":
13680 case "ref":
13681 break;
13682 case "autoFocus":
13683 break;
13684 case "xlinkHref":
13685 if (null == value || "function" === typeof value || "boolean" === typeof value || "symbol" === typeof value) {
13686 domElement.removeAttribute("xlink:href");
13687 break;
13688 }
13689 checkAttributeStringCoercion(value, key);
13690 key = sanitizeURL("" + value);
13691 domElement.setAttributeNS(xlinkNamespace, "xlink:href", key);
13692 break;
13693 case "contentEditable":
13694 case "spellCheck":
13695 case "draggable":
13696 case "value":
13697 case "autoReverse":
13698 case "externalResourcesRequired":
13699 case "focusable":
13700 case "preserveAlpha":
13701 null != value && "function" !== typeof value && "symbol" !== typeof value ? (checkAttributeStringCoercion(value, key), domElement.setAttribute(key, "" + value)) : domElement.removeAttribute(key);
13702 break;
13703 case "inert":
13704 "" !== value || didWarnForNewBooleanPropsWithEmptyValue[key] || (didWarnForNewBooleanPropsWithEmptyValue[key] = true, console.error(
13705 "Received an empty string for a boolean attribute `%s`. This will treat the attribute as if it were false. Either pass `false` to silence this warning, or pass `true` if you used an empty string in earlier versions of React to indicate this attribute is true.",
13706 key
13707 ));
13708 case "allowFullScreen":
13709 case "async":
13710 case "autoPlay":
13711 case "controls":
13712 case "default":
13713 case "defer":
13714 case "disabled":
13715 case "disablePictureInPicture":
13716 case "disableRemotePlayback":
13717 case "formNoValidate":
13718 case "hidden":
13719 case "loop":
13720 case "noModule":
13721 case "noValidate":
13722 case "open":
13723 case "playsInline":
13724 case "readOnly":
13725 case "required":
13726 case "reversed":
13727 case "scoped":
13728 case "seamless":
13729 case "itemScope":
13730 value && "function" !== typeof value && "symbol" !== typeof value ? domElement.setAttribute(key, "") : domElement.removeAttribute(key);
13731 break;
13732 case "capture":
13733 case "download":
13734 true === value ? domElement.setAttribute(key, "") : false !== value && null != value && "function" !== typeof value && "symbol" !== typeof value ? (checkAttributeStringCoercion(value, key), domElement.setAttribute(key, value)) : domElement.removeAttribute(key);
13735 break;
13736 case "cols":
13737 case "rows":
13738 case "size":
13739 case "span":
13740 null != value && "function" !== typeof value && "symbol" !== typeof value && !isNaN(value) && 1 <= value ? (checkAttributeStringCoercion(value, key), domElement.setAttribute(key, value)) : domElement.removeAttribute(key);
13741 break;
13742 case "rowSpan":
13743 case "start":
13744 null == value || "function" === typeof value || "symbol" === typeof value || isNaN(value) ? domElement.removeAttribute(key) : (checkAttributeStringCoercion(value, key), domElement.setAttribute(key, value));
13745 break;
13746 case "popover":
13747 listenToNonDelegatedEvent("beforetoggle", domElement);
13748 listenToNonDelegatedEvent("toggle", domElement);
13749 setValueForAttribute(domElement, "popover", value);
13750 break;
13751 case "xlinkActuate":
13752 setValueForNamespacedAttribute(
13753 domElement,
13754 xlinkNamespace,
13755 "xlink:actuate",
13756 value
13757 );
13758 break;
13759 case "xlinkArcrole":
13760 setValueForNamespacedAttribute(
13761 domElement,
13762 xlinkNamespace,
13763 "xlink:arcrole",
13764 value
13765 );
13766 break;
13767 case "xlinkRole":
13768 setValueForNamespacedAttribute(
13769 domElement,
13770 xlinkNamespace,
13771 "xlink:role",
13772 value
13773 );
13774 break;
13775 case "xlinkShow":
13776 setValueForNamespacedAttribute(
13777 domElement,
13778 xlinkNamespace,
13779 "xlink:show",
13780 value
13781 );
13782 break;
13783 case "xlinkTitle":
13784 setValueForNamespacedAttribute(
13785 domElement,
13786 xlinkNamespace,
13787 "xlink:title",
13788 value
13789 );
13790 break;
13791 case "xlinkType":
13792 setValueForNamespacedAttribute(
13793 domElement,
13794 xlinkNamespace,
13795 "xlink:type",
13796 value
13797 );
13798 break;
13799 case "xmlBase":
13800 setValueForNamespacedAttribute(
13801 domElement,
13802 xmlNamespace,
13803 "xml:base",
13804 value
13805 );
13806 break;
13807 case "xmlLang":
13808 setValueForNamespacedAttribute(
13809 domElement,
13810 xmlNamespace,
13811 "xml:lang",
13812 value
13813 );
13814 break;
13815 case "xmlSpace":
13816 setValueForNamespacedAttribute(
13817 domElement,
13818 xmlNamespace,
13819 "xml:space",
13820 value
13821 );
13822 break;
13823 case "is":
13824 null != prevValue && console.error(
13825 'Cannot update the "is" prop after it has been initialized.'
13826 );
13827 setValueForAttribute(domElement, "is", value);
13828 break;
13829 case "innerText":
13830 case "textContent":
13831 break;
13832 case "popoverTarget":
13833 didWarnPopoverTargetObject || null == value || "object" !== typeof value || (didWarnPopoverTargetObject = true, console.error(
13834 "The `popoverTarget` prop expects the ID of an Element as a string. Received %s instead.",
13835 value
13836 ));
13837 default:
13838 !(2 < key.length) || "o" !== key[0] && "O" !== key[0] || "n" !== key[1] && "N" !== key[1] ? (key = getAttributeAlias(key), setValueForAttribute(domElement, key, value)) : registrationNameDependencies.hasOwnProperty(key) && null != value && "function" !== typeof value && warnForInvalidEventListener(key, value);
13839 }
13840 }
13841 function setPropOnCustomElement(domElement, tag, key, value, props, prevValue) {
13842 switch (key) {
13843 case "style":
13844 setValueForStyles(domElement, value, prevValue);
13845 break;
13846 case "dangerouslySetInnerHTML":
13847 if (null != value) {
13848 if ("object" !== typeof value || !("__html" in value))
13849 throw Error(
13850 "`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://react.dev/link/dangerously-set-inner-html for more information."
13851 );
13852 key = value.__html;
13853 if (null != key) {
13854 if (null != props.children)
13855 throw Error(
13856 "Can only set one of `children` or `props.dangerouslySetInnerHTML`."
13857 );
13858 domElement.innerHTML = key;
13859 }
13860 }
13861 break;
13862 case "children":
13863 "string" === typeof value ? setTextContent(domElement, value) : ("number" === typeof value || "bigint" === typeof value) && setTextContent(domElement, "" + value);
13864 break;
13865 case "onScroll":
13866 null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), listenToNonDelegatedEvent("scroll", domElement));
13867 break;
13868 case "onScrollEnd":
13869 null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), listenToNonDelegatedEvent("scrollend", domElement));
13870 break;
13871 case "onClick":
13872 null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), domElement.onclick = noop$1);
13873 break;
13874 case "suppressContentEditableWarning":
13875 case "suppressHydrationWarning":
13876 case "innerHTML":
13877 case "ref":
13878 break;
13879 case "innerText":
13880 case "textContent":
13881 break;
13882 default:
13883 if (registrationNameDependencies.hasOwnProperty(key))
13884 null != value && "function" !== typeof value && warnForInvalidEventListener(key, value);
13885 else
13886 a: {
13887 if ("o" === key[0] && "n" === key[1] && (props = key.endsWith("Capture"), tag = key.slice(2, props ? key.length - 7 : void 0), prevValue = domElement[internalPropsKey] || null, prevValue = null != prevValue ? prevValue[key] : null, "function" === typeof prevValue && domElement.removeEventListener(tag, prevValue, props), "function" === typeof value)) {
13888 "function" !== typeof prevValue && null !== prevValue && (key in domElement ? domElement[key] = null : domElement.hasAttribute(key) && domElement.removeAttribute(key));
13889 domElement.addEventListener(tag, value, props);
13890 break a;
13891 }
13892 key in domElement ? domElement[key] = value : true === value ? domElement.setAttribute(key, "") : setValueForAttribute(domElement, key, value);
13893 }
13894 }
13895 }
13896 function setInitialProperties(domElement, tag, props) {
13897 validatePropertiesInDevelopment(tag, props);
13898 switch (tag) {
13899 case "div":
13900 case "span":
13901 case "svg":
13902 case "path":
13903 case "a":
13904 case "g":
13905 case "p":
13906 case "li":
13907 break;
13908 case "img":
13909 listenToNonDelegatedEvent("error", domElement);
13910 listenToNonDelegatedEvent("load", domElement);
13911 var hasSrc = false, hasSrcSet = false, propKey;
13912 for (propKey in props)
13913 if (props.hasOwnProperty(propKey)) {
13914 var propValue = props[propKey];
13915 if (null != propValue)
13916 switch (propKey) {
13917 case "src":
13918 hasSrc = true;
13919 break;
13920 case "srcSet":
13921 hasSrcSet = true;
13922 break;
13923 case "children":
13924 case "dangerouslySetInnerHTML":
13925 throw Error(
13926 tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`."
13927 );
13928 default:
13929 setProp(domElement, tag, propKey, propValue, props, null);
13930 }
13931 }
13932 hasSrcSet && setProp(domElement, tag, "srcSet", props.srcSet, props, null);
13933 hasSrc && setProp(domElement, tag, "src", props.src, props, null);
13934 return;
13935 case "input":
13936 checkControlledValueProps("input", props);
13937 listenToNonDelegatedEvent("invalid", domElement);
13938 var defaultValue = propKey = propValue = hasSrcSet = null, checked = null, defaultChecked = null;
13939 for (hasSrc in props)
13940 if (props.hasOwnProperty(hasSrc)) {
13941 var _propValue = props[hasSrc];
13942 if (null != _propValue)
13943 switch (hasSrc) {
13944 case "name":
13945 hasSrcSet = _propValue;
13946 break;
13947 case "type":
13948 propValue = _propValue;
13949 break;
13950 case "checked":
13951 checked = _propValue;
13952 break;
13953 case "defaultChecked":
13954 defaultChecked = _propValue;
13955 break;
13956 case "value":
13957 propKey = _propValue;
13958 break;
13959 case "defaultValue":
13960 defaultValue = _propValue;
13961 break;
13962 case "children":
13963 case "dangerouslySetInnerHTML":
13964 if (null != _propValue)
13965 throw Error(
13966 tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`."
13967 );
13968 break;
13969 default:
13970 setProp(domElement, tag, hasSrc, _propValue, props, null);
13971 }
13972 }
13973 validateInputProps(domElement, props);
13974 initInput(
13975 domElement,
13976 propKey,
13977 defaultValue,
13978 checked,
13979 defaultChecked,
13980 propValue,
13981 hasSrcSet,
13982 false
13983 );
13984 track(domElement);
13985 return;
13986 case "select":
13987 checkControlledValueProps("select", props);
13988 listenToNonDelegatedEvent("invalid", domElement);
13989 hasSrc = propValue = propKey = null;
13990 for (hasSrcSet in props)
13991 if (props.hasOwnProperty(hasSrcSet) && (defaultValue = props[hasSrcSet], null != defaultValue))
13992 switch (hasSrcSet) {
13993 case "value":
13994 propKey = defaultValue;
13995 break;
13996 case "defaultValue":
13997 propValue = defaultValue;
13998 break;
13999 case "multiple":
14000 hasSrc = defaultValue;
14001 default:
14002 setProp(
14003 domElement,
14004 tag,
14005 hasSrcSet,
14006 defaultValue,
14007 props,
14008 null
14009 );
14010 }
14011 validateSelectProps(domElement, props);
14012 tag = propKey;
14013 props = propValue;
14014 domElement.multiple = !!hasSrc;
14015 null != tag ? updateOptions(domElement, !!hasSrc, tag, false) : null != props && updateOptions(domElement, !!hasSrc, props, true);
14016 return;
14017 case "textarea":
14018 checkControlledValueProps("textarea", props);
14019 listenToNonDelegatedEvent("invalid", domElement);
14020 propKey = hasSrcSet = hasSrc = null;
14021 for (propValue in props)
14022 if (props.hasOwnProperty(propValue) && (defaultValue = props[propValue], null != defaultValue))
14023 switch (propValue) {
14024 case "value":
14025 hasSrc = defaultValue;
14026 break;
14027 case "defaultValue":
14028 hasSrcSet = defaultValue;
14029 break;
14030 case "children":
14031 propKey = defaultValue;
14032 break;
14033 case "dangerouslySetInnerHTML":
14034 if (null != defaultValue)
14035 throw Error(
14036 "`dangerouslySetInnerHTML` does not make sense on <textarea>."
14037 );
14038 break;
14039 default:
14040 setProp(
14041 domElement,
14042 tag,
14043 propValue,
14044 defaultValue,
14045 props,
14046 null
14047 );
14048 }
14049 validateTextareaProps(domElement, props);
14050 initTextarea(domElement, hasSrc, hasSrcSet, propKey);
14051 track(domElement);
14052 return;
14053 case "option":
14054 validateOptionProps(domElement, props);
14055 for (checked in props)
14056 if (props.hasOwnProperty(checked) && (hasSrc = props[checked], null != hasSrc))
14057 switch (checked) {
14058 case "selected":
14059 domElement.selected = hasSrc && "function" !== typeof hasSrc && "symbol" !== typeof hasSrc;
14060 break;
14061 default:
14062 setProp(domElement, tag, checked, hasSrc, props, null);
14063 }
14064 return;
14065 case "dialog":
14066 listenToNonDelegatedEvent("beforetoggle", domElement);
14067 listenToNonDelegatedEvent("toggle", domElement);
14068 listenToNonDelegatedEvent("cancel", domElement);
14069 listenToNonDelegatedEvent("close", domElement);
14070 break;
14071 case "iframe":
14072 case "object":
14073 listenToNonDelegatedEvent("load", domElement);
14074 break;
14075 case "video":
14076 case "audio":
14077 for (hasSrc = 0; hasSrc < mediaEventTypes.length; hasSrc++)
14078 listenToNonDelegatedEvent(mediaEventTypes[hasSrc], domElement);
14079 break;
14080 case "image":
14081 listenToNonDelegatedEvent("error", domElement);
14082 listenToNonDelegatedEvent("load", domElement);
14083 break;
14084 case "details":
14085 listenToNonDelegatedEvent("toggle", domElement);
14086 break;
14087 case "embed":
14088 case "source":
14089 case "link":
14090 listenToNonDelegatedEvent("error", domElement), listenToNonDelegatedEvent("load", domElement);
14091 case "area":
14092 case "base":
14093 case "br":
14094 case "col":
14095 case "hr":
14096 case "keygen":
14097 case "meta":
14098 case "param":
14099 case "track":
14100 case "wbr":
14101 case "menuitem":
14102 for (defaultChecked in props)
14103 if (props.hasOwnProperty(defaultChecked) && (hasSrc = props[defaultChecked], null != hasSrc))
14104 switch (defaultChecked) {
14105 case "children":
14106 case "dangerouslySetInnerHTML":
14107 throw Error(
14108 tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`."
14109 );
14110 default:
14111 setProp(domElement, tag, defaultChecked, hasSrc, props, null);
14112 }
14113 return;
14114 default:
14115 if (isCustomElement(tag)) {
14116 for (_propValue in props)
14117 props.hasOwnProperty(_propValue) && (hasSrc = props[_propValue], void 0 !== hasSrc && setPropOnCustomElement(
14118 domElement,
14119 tag,
14120 _propValue,
14121 hasSrc,
14122 props,
14123 void 0
14124 ));
14125 return;
14126 }
14127 }
14128 for (defaultValue in props)
14129 props.hasOwnProperty(defaultValue) && (hasSrc = props[defaultValue], null != hasSrc && setProp(domElement, tag, defaultValue, hasSrc, props, null));
14130 }
14131 function updateProperties(domElement, tag, lastProps, nextProps) {
14132 validatePropertiesInDevelopment(tag, nextProps);
14133 switch (tag) {
14134 case "div":
14135 case "span":
14136 case "svg":
14137 case "path":
14138 case "a":
14139 case "g":
14140 case "p":
14141 case "li":
14142 break;
14143 case "input":
14144 var name = null, type = null, value = null, defaultValue = null, lastDefaultValue = null, checked = null, defaultChecked = null;
14145 for (propKey in lastProps) {
14146 var lastProp = lastProps[propKey];
14147 if (lastProps.hasOwnProperty(propKey) && null != lastProp)
14148 switch (propKey) {
14149 case "checked":
14150 break;
14151 case "value":
14152 break;
14153 case "defaultValue":
14154 lastDefaultValue = lastProp;
14155 default:
14156 nextProps.hasOwnProperty(propKey) || setProp(
14157 domElement,
14158 tag,
14159 propKey,
14160 null,
14161 nextProps,
14162 lastProp
14163 );
14164 }
14165 }
14166 for (var _propKey8 in nextProps) {
14167 var propKey = nextProps[_propKey8];
14168 lastProp = lastProps[_propKey8];
14169 if (nextProps.hasOwnProperty(_propKey8) && (null != propKey || null != lastProp))
14170 switch (_propKey8) {
14171 case "type":
14172 type = propKey;
14173 break;
14174 case "name":
14175 name = propKey;
14176 break;
14177 case "checked":
14178 checked = propKey;
14179 break;
14180 case "defaultChecked":
14181 defaultChecked = propKey;
14182 break;
14183 case "value":
14184 value = propKey;
14185 break;
14186 case "defaultValue":
14187 defaultValue = propKey;
14188 break;
14189 case "children":
14190 case "dangerouslySetInnerHTML":
14191 if (null != propKey)
14192 throw Error(
14193 tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`."
14194 );
14195 break;
14196 default:
14197 propKey !== lastProp && setProp(
14198 domElement,
14199 tag,
14200 _propKey8,
14201 propKey,
14202 nextProps,
14203 lastProp
14204 );
14205 }
14206 }
14207 tag = "checkbox" === lastProps.type || "radio" === lastProps.type ? null != lastProps.checked : null != lastProps.value;
14208 nextProps = "checkbox" === nextProps.type || "radio" === nextProps.type ? null != nextProps.checked : null != nextProps.value;
14209 tag || !nextProps || didWarnUncontrolledToControlled || (console.error(
14210 "A component is changing an uncontrolled input to be controlled. This is likely caused by the value changing from undefined to a defined value, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://react.dev/link/controlled-components"
14211 ), didWarnUncontrolledToControlled = true);
14212 !tag || nextProps || didWarnControlledToUncontrolled || (console.error(
14213 "A component is changing a controlled input to be uncontrolled. This is likely caused by the value changing from a defined to undefined, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://react.dev/link/controlled-components"
14214 ), didWarnControlledToUncontrolled = true);
14215 updateInput(
14216 domElement,
14217 value,
14218 defaultValue,
14219 lastDefaultValue,
14220 checked,
14221 defaultChecked,
14222 type,
14223 name
14224 );
14225 return;
14226 case "select":
14227 propKey = value = defaultValue = _propKey8 = null;
14228 for (type in lastProps)
14229 if (lastDefaultValue = lastProps[type], lastProps.hasOwnProperty(type) && null != lastDefaultValue)
14230 switch (type) {
14231 case "value":
14232 break;
14233 case "multiple":
14234 propKey = lastDefaultValue;
14235 default:
14236 nextProps.hasOwnProperty(type) || setProp(
14237 domElement,
14238 tag,
14239 type,
14240 null,
14241 nextProps,
14242 lastDefaultValue
14243 );
14244 }
14245 for (name in nextProps)
14246 if (type = nextProps[name], lastDefaultValue = lastProps[name], nextProps.hasOwnProperty(name) && (null != type || null != lastDefaultValue))
14247 switch (name) {
14248 case "value":
14249 _propKey8 = type;
14250 break;
14251 case "defaultValue":
14252 defaultValue = type;
14253 break;
14254 case "multiple":
14255 value = type;
14256 default:
14257 type !== lastDefaultValue && setProp(
14258 domElement,
14259 tag,
14260 name,
14261 type,
14262 nextProps,
14263 lastDefaultValue
14264 );
14265 }
14266 nextProps = defaultValue;
14267 tag = value;
14268 lastProps = propKey;
14269 null != _propKey8 ? updateOptions(domElement, !!tag, _propKey8, false) : !!lastProps !== !!tag && (null != nextProps ? updateOptions(domElement, !!tag, nextProps, true) : updateOptions(domElement, !!tag, tag ? [] : "", false));
14270 return;
14271 case "textarea":
14272 propKey = _propKey8 = null;
14273 for (defaultValue in lastProps)
14274 if (name = lastProps[defaultValue], lastProps.hasOwnProperty(defaultValue) && null != name && !nextProps.hasOwnProperty(defaultValue))
14275 switch (defaultValue) {
14276 case "value":
14277 break;
14278 case "children":
14279 break;
14280 default:
14281 setProp(domElement, tag, defaultValue, null, nextProps, name);
14282 }
14283 for (value in nextProps)
14284 if (name = nextProps[value], type = lastProps[value], nextProps.hasOwnProperty(value) && (null != name || null != type))
14285 switch (value) {
14286 case "value":
14287 _propKey8 = name;
14288 break;
14289 case "defaultValue":
14290 propKey = name;
14291 break;
14292 case "children":
14293 break;
14294 case "dangerouslySetInnerHTML":
14295 if (null != name)
14296 throw Error(
14297 "`dangerouslySetInnerHTML` does not make sense on <textarea>."
14298 );
14299 break;
14300 default:
14301 name !== type && setProp(domElement, tag, value, name, nextProps, type);
14302 }
14303 updateTextarea(domElement, _propKey8, propKey);
14304 return;
14305 case "option":
14306 for (var _propKey13 in lastProps)
14307 if (_propKey8 = lastProps[_propKey13], lastProps.hasOwnProperty(_propKey13) && null != _propKey8 && !nextProps.hasOwnProperty(_propKey13))
14308 switch (_propKey13) {
14309 case "selected":
14310 domElement.selected = false;
14311 break;
14312 default:
14313 setProp(
14314 domElement,
14315 tag,
14316 _propKey13,
14317 null,
14318 nextProps,
14319 _propKey8
14320 );
14321 }
14322 for (lastDefaultValue in nextProps)
14323 if (_propKey8 = nextProps[lastDefaultValue], propKey = lastProps[lastDefaultValue], nextProps.hasOwnProperty(lastDefaultValue) && _propKey8 !== propKey && (null != _propKey8 || null != propKey))
14324 switch (lastDefaultValue) {
14325 case "selected":
14326 domElement.selected = _propKey8 && "function" !== typeof _propKey8 && "symbol" !== typeof _propKey8;
14327 break;
14328 default:
14329 setProp(
14330 domElement,
14331 tag,
14332 lastDefaultValue,
14333 _propKey8,
14334 nextProps,
14335 propKey
14336 );
14337 }
14338 return;
14339 case "img":
14340 case "link":
14341 case "area":
14342 case "base":
14343 case "br":
14344 case "col":
14345 case "embed":
14346 case "hr":
14347 case "keygen":
14348 case "meta":
14349 case "param":
14350 case "source":
14351 case "track":
14352 case "wbr":
14353 case "menuitem":
14354 for (var _propKey15 in lastProps)
14355 _propKey8 = lastProps[_propKey15], lastProps.hasOwnProperty(_propKey15) && null != _propKey8 && !nextProps.hasOwnProperty(_propKey15) && setProp(
14356 domElement,
14357 tag,
14358 _propKey15,
14359 null,
14360 nextProps,
14361 _propKey8
14362 );
14363 for (checked in nextProps)
14364 if (_propKey8 = nextProps[checked], propKey = lastProps[checked], nextProps.hasOwnProperty(checked) && _propKey8 !== propKey && (null != _propKey8 || null != propKey))
14365 switch (checked) {
14366 case "children":
14367 case "dangerouslySetInnerHTML":
14368 if (null != _propKey8)
14369 throw Error(
14370 tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`."
14371 );
14372 break;
14373 default:
14374 setProp(
14375 domElement,
14376 tag,
14377 checked,
14378 _propKey8,
14379 nextProps,
14380 propKey
14381 );
14382 }
14383 return;
14384 default:
14385 if (isCustomElement(tag)) {
14386 for (var _propKey17 in lastProps)
14387 _propKey8 = lastProps[_propKey17], lastProps.hasOwnProperty(_propKey17) && void 0 !== _propKey8 && !nextProps.hasOwnProperty(_propKey17) && setPropOnCustomElement(
14388 domElement,
14389 tag,
14390 _propKey17,
14391 void 0,
14392 nextProps,
14393 _propKey8
14394 );
14395 for (defaultChecked in nextProps)
14396 _propKey8 = nextProps[defaultChecked], propKey = lastProps[defaultChecked], !nextProps.hasOwnProperty(defaultChecked) || _propKey8 === propKey || void 0 === _propKey8 && void 0 === propKey || setPropOnCustomElement(
14397 domElement,
14398 tag,
14399 defaultChecked,
14400 _propKey8,
14401 nextProps,
14402 propKey
14403 );
14404 return;
14405 }
14406 }
14407 for (var _propKey19 in lastProps)
14408 _propKey8 = lastProps[_propKey19], lastProps.hasOwnProperty(_propKey19) && null != _propKey8 && !nextProps.hasOwnProperty(_propKey19) && setProp(domElement, tag, _propKey19, null, nextProps, _propKey8);
14409 for (lastProp in nextProps)
14410 _propKey8 = nextProps[lastProp], propKey = lastProps[lastProp], !nextProps.hasOwnProperty(lastProp) || _propKey8 === propKey || null == _propKey8 && null == propKey || setProp(domElement, tag, lastProp, _propKey8, nextProps, propKey);
14411 }
14412 function getPropNameFromAttributeName(attrName) {
14413 switch (attrName) {
14414 case "class":
14415 return "className";
14416 case "for":
14417 return "htmlFor";
14418 default:
14419 return attrName;
14420 }
14421 }
14422 function getStylesObjectFromElement(domElement) {
14423 var serverValueInObjectForm = {};
14424 domElement = domElement.style;
14425 for (var i = 0; i < domElement.length; i++) {
14426 var styleName = domElement[i];
14427 serverValueInObjectForm[styleName] = domElement.getPropertyValue(styleName);
14428 }
14429 return serverValueInObjectForm;
14430 }
14431 function diffHydratedStyles(domElement, value$jscomp$0, serverDifferences) {
14432 if (null != value$jscomp$0 && "object" !== typeof value$jscomp$0)
14433 console.error(
14434 "The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX."
14435 );
14436 else {
14437 var clientValue;
14438 var delimiter = clientValue = "", styleName;
14439 for (styleName in value$jscomp$0)
14440 if (value$jscomp$0.hasOwnProperty(styleName)) {
14441 var value = value$jscomp$0[styleName];
14442 null != value && "boolean" !== typeof value && "" !== value && (0 === styleName.indexOf("--") ? (checkCSSPropertyStringCoercion(value, styleName), clientValue += delimiter + styleName + ":" + ("" + value).trim()) : "number" !== typeof value || 0 === value || unitlessNumbers.has(styleName) ? (checkCSSPropertyStringCoercion(value, styleName), clientValue += delimiter + styleName.replace(uppercasePattern, "-$1").toLowerCase().replace(msPattern$1, "-ms-") + ":" + ("" + value).trim()) : clientValue += delimiter + styleName.replace(uppercasePattern, "-$1").toLowerCase().replace(msPattern$1, "-ms-") + ":" + value + "px", delimiter = ";");
14443 }
14444 clientValue = clientValue || null;
14445 value$jscomp$0 = domElement.getAttribute("style");
14446 value$jscomp$0 !== clientValue && (clientValue = normalizeMarkupForTextOrAttribute(clientValue), normalizeMarkupForTextOrAttribute(value$jscomp$0) !== clientValue && (serverDifferences.style = getStylesObjectFromElement(domElement)));
14447 }
14448 }
14449 function hydrateAttribute(domElement, propKey, attributeName, value, extraAttributes, serverDifferences) {
14450 extraAttributes.delete(attributeName);
14451 domElement = domElement.getAttribute(attributeName);
14452 if (null === domElement)
14453 switch (typeof value) {
14454 case "undefined":
14455 case "function":
14456 case "symbol":
14457 case "boolean":
14458 return;
14459 }
14460 else if (null != value)
14461 switch (typeof value) {
14462 case "function":
14463 case "symbol":
14464 case "boolean":
14465 break;
14466 default:
14467 if (checkAttributeStringCoercion(value, propKey), domElement === "" + value)
14468 return;
14469 }
14470 warnForPropDifference(propKey, domElement, value, serverDifferences);
14471 }
14472 function hydrateBooleanAttribute(domElement, propKey, attributeName, value, extraAttributes, serverDifferences) {
14473 extraAttributes.delete(attributeName);
14474 domElement = domElement.getAttribute(attributeName);
14475 if (null === domElement) {
14476 switch (typeof value) {
14477 case "function":
14478 case "symbol":
14479 return;
14480 }
14481 if (!value) return;
14482 } else
14483 switch (typeof value) {
14484 case "function":
14485 case "symbol":
14486 break;
14487 default:
14488 if (value) return;
14489 }
14490 warnForPropDifference(propKey, domElement, value, serverDifferences);
14491 }
14492 function hydrateBooleanishAttribute(domElement, propKey, attributeName, value, extraAttributes, serverDifferences) {
14493 extraAttributes.delete(attributeName);
14494 domElement = domElement.getAttribute(attributeName);
14495 if (null === domElement)
14496 switch (typeof value) {
14497 case "undefined":
14498 case "function":
14499 case "symbol":
14500 return;
14501 }
14502 else if (null != value)
14503 switch (typeof value) {
14504 case "function":
14505 case "symbol":
14506 break;
14507 default:
14508 if (checkAttributeStringCoercion(value, attributeName), domElement === "" + value)
14509 return;
14510 }
14511 warnForPropDifference(propKey, domElement, value, serverDifferences);
14512 }
14513 function hydrateNumericAttribute(domElement, propKey, attributeName, value, extraAttributes, serverDifferences) {
14514 extraAttributes.delete(attributeName);
14515 domElement = domElement.getAttribute(attributeName);
14516 if (null === domElement)
14517 switch (typeof value) {
14518 case "undefined":
14519 case "function":
14520 case "symbol":
14521 case "boolean":
14522 return;
14523 default:
14524 if (isNaN(value)) return;
14525 }
14526 else if (null != value)
14527 switch (typeof value) {
14528 case "function":
14529 case "symbol":
14530 case "boolean":
14531 break;
14532 default:
14533 if (!isNaN(value) && (checkAttributeStringCoercion(value, propKey), domElement === "" + value))
14534 return;
14535 }
14536 warnForPropDifference(propKey, domElement, value, serverDifferences);
14537 }
14538 function hydrateSanitizedAttribute(domElement, propKey, attributeName, value, extraAttributes, serverDifferences) {
14539 extraAttributes.delete(attributeName);
14540 domElement = domElement.getAttribute(attributeName);
14541 if (null === domElement)
14542 switch (typeof value) {
14543 case "undefined":
14544 case "function":
14545 case "symbol":
14546 case "boolean":
14547 return;
14548 }
14549 else if (null != value)
14550 switch (typeof value) {
14551 case "function":
14552 case "symbol":
14553 case "boolean":
14554 break;
14555 default:
14556 if (checkAttributeStringCoercion(value, propKey), attributeName = sanitizeURL("" + value), domElement === attributeName)
14557 return;
14558 }
14559 warnForPropDifference(propKey, domElement, value, serverDifferences);
14560 }
14561 function diffHydratedProperties(domElement, tag, props, hostContext) {
14562 for (var serverDifferences = {}, extraAttributes = /* @__PURE__ */ new Set(), attributes = domElement.attributes, i = 0; i < attributes.length; i++)
14563 switch (attributes[i].name.toLowerCase()) {
14564 case "value":
14565 break;
14566 case "checked":
14567 break;
14568 case "selected":
14569 break;
14570 default:
14571 extraAttributes.add(attributes[i].name);
14572 }
14573 if (isCustomElement(tag))
14574 for (var propKey in props) {
14575 if (props.hasOwnProperty(propKey)) {
14576 var value = props[propKey];
14577 if (null != value) {
14578 if (registrationNameDependencies.hasOwnProperty(propKey))
14579 "function" !== typeof value && warnForInvalidEventListener(propKey, value);
14580 else if (true !== props.suppressHydrationWarning)
14581 switch (propKey) {
14582 case "children":
14583 "string" !== typeof value && "number" !== typeof value || warnForPropDifference(
14584 "children",
14585 domElement.textContent,
14586 value,
14587 serverDifferences
14588 );
14589 continue;
14590 case "suppressContentEditableWarning":
14591 case "suppressHydrationWarning":
14592 case "defaultValue":
14593 case "defaultChecked":
14594 case "innerHTML":
14595 case "ref":
14596 continue;
14597 case "dangerouslySetInnerHTML":
14598 attributes = domElement.innerHTML;
14599 value = value ? value.__html : void 0;
14600 null != value && (value = normalizeHTML(domElement, value), warnForPropDifference(
14601 propKey,
14602 attributes,
14603 value,
14604 serverDifferences
14605 ));
14606 continue;
14607 case "style":
14608 extraAttributes.delete(propKey);
14609 diffHydratedStyles(domElement, value, serverDifferences);
14610 continue;
14611 case "offsetParent":
14612 case "offsetTop":
14613 case "offsetLeft":
14614 case "offsetWidth":
14615 case "offsetHeight":
14616 case "isContentEditable":
14617 case "outerText":
14618 case "outerHTML":
14619 extraAttributes.delete(propKey.toLowerCase());
14620 console.error(
14621 "Assignment to read-only property will result in a no-op: `%s`",
14622 propKey
14623 );
14624 continue;
14625 case "className":
14626 extraAttributes.delete("class");
14627 attributes = getValueForAttributeOnCustomComponent(
14628 domElement,
14629 "class",
14630 value
14631 );
14632 warnForPropDifference(
14633 "className",
14634 attributes,
14635 value,
14636 serverDifferences
14637 );
14638 continue;
14639 default:
14640 hostContext.context === HostContextNamespaceNone && "svg" !== tag && "math" !== tag ? extraAttributes.delete(propKey.toLowerCase()) : extraAttributes.delete(propKey), attributes = getValueForAttributeOnCustomComponent(
14641 domElement,
14642 propKey,
14643 value
14644 ), warnForPropDifference(
14645 propKey,
14646 attributes,
14647 value,
14648 serverDifferences
14649 );
14650 }
14651 }
14652 }
14653 }
14654 else
14655 for (value in props)
14656 if (props.hasOwnProperty(value) && (propKey = props[value], null != propKey)) {
14657 if (registrationNameDependencies.hasOwnProperty(value))
14658 "function" !== typeof propKey && warnForInvalidEventListener(value, propKey);
14659 else if (true !== props.suppressHydrationWarning)
14660 switch (value) {
14661 case "children":
14662 "string" !== typeof propKey && "number" !== typeof propKey || warnForPropDifference(
14663 "children",
14664 domElement.textContent,
14665 propKey,
14666 serverDifferences
14667 );
14668 continue;
14669 case "suppressContentEditableWarning":
14670 case "suppressHydrationWarning":
14671 case "value":
14672 case "checked":
14673 case "selected":
14674 case "defaultValue":
14675 case "defaultChecked":
14676 case "innerHTML":
14677 case "ref":
14678 continue;
14679 case "dangerouslySetInnerHTML":
14680 attributes = domElement.innerHTML;
14681 propKey = propKey ? propKey.__html : void 0;
14682 null != propKey && (propKey = normalizeHTML(domElement, propKey), attributes !== propKey && (serverDifferences[value] = { __html: attributes }));
14683 continue;
14684 case "className":
14685 hydrateAttribute(
14686 domElement,
14687 value,
14688 "class",
14689 propKey,
14690 extraAttributes,
14691 serverDifferences
14692 );
14693 continue;
14694 case "tabIndex":
14695 hydrateAttribute(
14696 domElement,
14697 value,
14698 "tabindex",
14699 propKey,
14700 extraAttributes,
14701 serverDifferences
14702 );
14703 continue;
14704 case "style":
14705 extraAttributes.delete(value);
14706 diffHydratedStyles(domElement, propKey, serverDifferences);
14707 continue;
14708 case "multiple":
14709 extraAttributes.delete(value);
14710 warnForPropDifference(
14711 value,
14712 domElement.multiple,
14713 propKey,
14714 serverDifferences
14715 );
14716 continue;
14717 case "muted":
14718 extraAttributes.delete(value);
14719 warnForPropDifference(
14720 value,
14721 domElement.muted,
14722 propKey,
14723 serverDifferences
14724 );
14725 continue;
14726 case "autoFocus":
14727 extraAttributes.delete("autofocus");
14728 warnForPropDifference(
14729 value,
14730 domElement.autofocus,
14731 propKey,
14732 serverDifferences
14733 );
14734 continue;
14735 case "data":
14736 if ("object" !== tag) {
14737 extraAttributes.delete(value);
14738 attributes = domElement.getAttribute("data");
14739 warnForPropDifference(
14740 value,
14741 attributes,
14742 propKey,
14743 serverDifferences
14744 );
14745 continue;
14746 }
14747 case "src":
14748 case "href":
14749 if (!("" !== propKey || "a" === tag && "href" === value || "object" === tag && "data" === value)) {
14750 "src" === value ? console.error(
14751 'An empty string ("") was passed to the %s attribute. This may cause the browser to download the whole page again over the network. To fix this, either do not render the element at all or pass null to %s instead of an empty string.',
14752 value,
14753 value
14754 ) : console.error(
14755 'An empty string ("") was passed to the %s attribute. To fix this, either do not render the element at all or pass null to %s instead of an empty string.',
14756 value,
14757 value
14758 );
14759 continue;
14760 }
14761 hydrateSanitizedAttribute(
14762 domElement,
14763 value,
14764 value,
14765 propKey,
14766 extraAttributes,
14767 serverDifferences
14768 );
14769 continue;
14770 case "action":
14771 case "formAction":
14772 attributes = domElement.getAttribute(value);
14773 if ("function" === typeof propKey) {
14774 extraAttributes.delete(value.toLowerCase());
14775 "formAction" === value ? (extraAttributes.delete("name"), extraAttributes.delete("formenctype"), extraAttributes.delete("formmethod"), extraAttributes.delete("formtarget")) : (extraAttributes.delete("enctype"), extraAttributes.delete("method"), extraAttributes.delete("target"));
14776 continue;
14777 } else if (attributes === EXPECTED_FORM_ACTION_URL) {
14778 extraAttributes.delete(value.toLowerCase());
14779 warnForPropDifference(
14780 value,
14781 "function",
14782 propKey,
14783 serverDifferences
14784 );
14785 continue;
14786 }
14787 hydrateSanitizedAttribute(
14788 domElement,
14789 value,
14790 value.toLowerCase(),
14791 propKey,
14792 extraAttributes,
14793 serverDifferences
14794 );
14795 continue;
14796 case "xlinkHref":
14797 hydrateSanitizedAttribute(
14798 domElement,
14799 value,
14800 "xlink:href",
14801 propKey,
14802 extraAttributes,
14803 serverDifferences
14804 );
14805 continue;
14806 case "contentEditable":
14807 hydrateBooleanishAttribute(
14808 domElement,
14809 value,
14810 "contenteditable",
14811 propKey,
14812 extraAttributes,
14813 serverDifferences
14814 );
14815 continue;
14816 case "spellCheck":
14817 hydrateBooleanishAttribute(
14818 domElement,
14819 value,
14820 "spellcheck",
14821 propKey,
14822 extraAttributes,
14823 serverDifferences
14824 );
14825 continue;
14826 case "draggable":
14827 case "autoReverse":
14828 case "externalResourcesRequired":
14829 case "focusable":
14830 case "preserveAlpha":
14831 hydrateBooleanishAttribute(
14832 domElement,
14833 value,
14834 value,
14835 propKey,
14836 extraAttributes,
14837 serverDifferences
14838 );
14839 continue;
14840 case "allowFullScreen":
14841 case "async":
14842 case "autoPlay":
14843 case "controls":
14844 case "default":
14845 case "defer":
14846 case "disabled":
14847 case "disablePictureInPicture":
14848 case "disableRemotePlayback":
14849 case "formNoValidate":
14850 case "hidden":
14851 case "loop":
14852 case "noModule":
14853 case "noValidate":
14854 case "open":
14855 case "playsInline":
14856 case "readOnly":
14857 case "required":
14858 case "reversed":
14859 case "scoped":
14860 case "seamless":
14861 case "itemScope":
14862 hydrateBooleanAttribute(
14863 domElement,
14864 value,
14865 value.toLowerCase(),
14866 propKey,
14867 extraAttributes,
14868 serverDifferences
14869 );
14870 continue;
14871 case "capture":
14872 case "download":
14873 a: {
14874 i = domElement;
14875 var attributeName = attributes = value, serverDifferences$jscomp$0 = serverDifferences;
14876 extraAttributes.delete(attributeName);
14877 i = i.getAttribute(attributeName);
14878 if (null === i)
14879 switch (typeof propKey) {
14880 case "undefined":
14881 case "function":
14882 case "symbol":
14883 break a;
14884 default:
14885 if (false === propKey) break a;
14886 }
14887 else if (null != propKey)
14888 switch (typeof propKey) {
14889 case "function":
14890 case "symbol":
14891 break;
14892 case "boolean":
14893 if (true === propKey && "" === i) break a;
14894 break;
14895 default:
14896 if (checkAttributeStringCoercion(propKey, attributes), i === "" + propKey)
14897 break a;
14898 }
14899 warnForPropDifference(
14900 attributes,
14901 i,
14902 propKey,
14903 serverDifferences$jscomp$0
14904 );
14905 }
14906 continue;
14907 case "cols":
14908 case "rows":
14909 case "size":
14910 case "span":
14911 a: {
14912 i = domElement;
14913 attributeName = attributes = value;
14914 serverDifferences$jscomp$0 = serverDifferences;
14915 extraAttributes.delete(attributeName);
14916 i = i.getAttribute(attributeName);
14917 if (null === i)
14918 switch (typeof propKey) {
14919 case "undefined":
14920 case "function":
14921 case "symbol":
14922 case "boolean":
14923 break a;
14924 default:
14925 if (isNaN(propKey) || 1 > propKey) break a;
14926 }
14927 else if (null != propKey)
14928 switch (typeof propKey) {
14929 case "function":
14930 case "symbol":
14931 case "boolean":
14932 break;
14933 default:
14934 if (!(isNaN(propKey) || 1 > propKey) && (checkAttributeStringCoercion(propKey, attributes), i === "" + propKey))
14935 break a;
14936 }
14937 warnForPropDifference(
14938 attributes,
14939 i,
14940 propKey,
14941 serverDifferences$jscomp$0
14942 );
14943 }
14944 continue;
14945 case "rowSpan":
14946 hydrateNumericAttribute(
14947 domElement,
14948 value,
14949 "rowspan",
14950 propKey,
14951 extraAttributes,
14952 serverDifferences
14953 );
14954 continue;
14955 case "start":
14956 hydrateNumericAttribute(
14957 domElement,
14958 value,
14959 value,
14960 propKey,
14961 extraAttributes,
14962 serverDifferences
14963 );
14964 continue;
14965 case "xHeight":
14966 hydrateAttribute(
14967 domElement,
14968 value,
14969 "x-height",
14970 propKey,
14971 extraAttributes,
14972 serverDifferences
14973 );
14974 continue;
14975 case "xlinkActuate":
14976 hydrateAttribute(
14977 domElement,
14978 value,
14979 "xlink:actuate",
14980 propKey,
14981 extraAttributes,
14982 serverDifferences
14983 );
14984 continue;
14985 case "xlinkArcrole":
14986 hydrateAttribute(
14987 domElement,
14988 value,
14989 "xlink:arcrole",
14990 propKey,
14991 extraAttributes,
14992 serverDifferences
14993 );
14994 continue;
14995 case "xlinkRole":
14996 hydrateAttribute(
14997 domElement,
14998 value,
14999 "xlink:role",
15000 propKey,
15001 extraAttributes,
15002 serverDifferences
15003 );
15004 continue;
15005 case "xlinkShow":
15006 hydrateAttribute(
15007 domElement,
15008 value,
15009 "xlink:show",
15010 propKey,
15011 extraAttributes,
15012 serverDifferences
15013 );
15014 continue;
15015 case "xlinkTitle":
15016 hydrateAttribute(
15017 domElement,
15018 value,
15019 "xlink:title",
15020 propKey,
15021 extraAttributes,
15022 serverDifferences
15023 );
15024 continue;
15025 case "xlinkType":
15026 hydrateAttribute(
15027 domElement,
15028 value,
15029 "xlink:type",
15030 propKey,
15031 extraAttributes,
15032 serverDifferences
15033 );
15034 continue;
15035 case "xmlBase":
15036 hydrateAttribute(
15037 domElement,
15038 value,
15039 "xml:base",
15040 propKey,
15041 extraAttributes,
15042 serverDifferences
15043 );
15044 continue;
15045 case "xmlLang":
15046 hydrateAttribute(
15047 domElement,
15048 value,
15049 "xml:lang",
15050 propKey,
15051 extraAttributes,
15052 serverDifferences
15053 );
15054 continue;
15055 case "xmlSpace":
15056 hydrateAttribute(
15057 domElement,
15058 value,
15059 "xml:space",
15060 propKey,
15061 extraAttributes,
15062 serverDifferences
15063 );
15064 continue;
15065 case "inert":
15066 "" !== propKey || didWarnForNewBooleanPropsWithEmptyValue[value] || (didWarnForNewBooleanPropsWithEmptyValue[value] = true, console.error(
15067 "Received an empty string for a boolean attribute `%s`. This will treat the attribute as if it were false. Either pass `false` to silence this warning, or pass `true` if you used an empty string in earlier versions of React to indicate this attribute is true.",
15068 value
15069 ));
15070 hydrateBooleanAttribute(
15071 domElement,
15072 value,
15073 value,
15074 propKey,
15075 extraAttributes,
15076 serverDifferences
15077 );
15078 continue;
15079 default:
15080 if (!(2 < value.length) || "o" !== value[0] && "O" !== value[0] || "n" !== value[1] && "N" !== value[1]) {
15081 i = getAttributeAlias(value);
15082 attributes = false;
15083 hostContext.context === HostContextNamespaceNone && "svg" !== tag && "math" !== tag ? extraAttributes.delete(i.toLowerCase()) : (attributeName = value.toLowerCase(), attributeName = possibleStandardNames.hasOwnProperty(
15084 attributeName
15085 ) ? possibleStandardNames[attributeName] || null : null, null !== attributeName && attributeName !== value && (attributes = true, extraAttributes.delete(attributeName)), extraAttributes.delete(i));
15086 a: if (attributeName = domElement, serverDifferences$jscomp$0 = i, i = propKey, isAttributeNameSafe(serverDifferences$jscomp$0))
15087 if (attributeName.hasAttribute(serverDifferences$jscomp$0))
15088 attributeName = attributeName.getAttribute(
15089 serverDifferences$jscomp$0
15090 ), checkAttributeStringCoercion(
15091 i,
15092 serverDifferences$jscomp$0
15093 ), i = attributeName === "" + i ? i : attributeName;
15094 else {
15095 switch (typeof i) {
15096 case "function":
15097 case "symbol":
15098 break a;
15099 case "boolean":
15100 if (attributeName = serverDifferences$jscomp$0.toLowerCase().slice(0, 5), "data-" !== attributeName && "aria-" !== attributeName)
15101 break a;
15102 }
15103 i = void 0 === i ? void 0 : null;
15104 }
15105 else i = void 0;
15106 attributes || warnForPropDifference(
15107 value,
15108 i,
15109 propKey,
15110 serverDifferences
15111 );
15112 }
15113 }
15114 }
15115 0 < extraAttributes.size && true !== props.suppressHydrationWarning && warnForExtraAttributes(domElement, extraAttributes, serverDifferences);
15116 return 0 === Object.keys(serverDifferences).length ? null : serverDifferences;
15117 }
15118 function propNamesListJoin(list, combinator) {
15119 switch (list.length) {
15120 case 0:
15121 return "";
15122 case 1:
15123 return list[0];
15124 case 2:
15125 return list[0] + " " + combinator + " " + list[1];
15126 default:
15127 return list.slice(0, -1).join(", ") + ", " + combinator + " " + list[list.length - 1];
15128 }
15129 }
15130 function getOwnerDocumentFromRootContainer(rootContainerElement) {
15131 return 9 === rootContainerElement.nodeType ? rootContainerElement : rootContainerElement.ownerDocument;
15132 }
15133 function getOwnHostContext(namespaceURI) {
15134 switch (namespaceURI) {
15135 case SVG_NAMESPACE:
15136 return HostContextNamespaceSvg;
15137 case MATH_NAMESPACE:
15138 return HostContextNamespaceMath;
15139 default:
15140 return HostContextNamespaceNone;
15141 }
15142 }
15143 function getChildHostContextProd(parentNamespace, type) {
15144 if (parentNamespace === HostContextNamespaceNone)
15145 switch (type) {
15146 case "svg":
15147 return HostContextNamespaceSvg;
15148 case "math":
15149 return HostContextNamespaceMath;
15150 default:
15151 return HostContextNamespaceNone;
15152 }
15153 return parentNamespace === HostContextNamespaceSvg && "foreignObject" === type ? HostContextNamespaceNone : parentNamespace;
15154 }
15155 function shouldSetTextContent(type, props) {
15156 return "textarea" === type || "noscript" === type || "string" === typeof props.children || "number" === typeof props.children || "bigint" === typeof props.children || "object" === typeof props.dangerouslySetInnerHTML && null !== props.dangerouslySetInnerHTML && null != props.dangerouslySetInnerHTML.__html;
15157 }
15158 function shouldAttemptEagerTransition() {
15159 var event = window.event;
15160 if (event && "popstate" === event.type) {
15161 if (event === currentPopstateTransitionEvent) return false;
15162 currentPopstateTransitionEvent = event;
15163 return true;
15164 }
15165 currentPopstateTransitionEvent = null;
15166 return false;
15167 }
15168 function handleErrorInNextTick(error) {
15169 setTimeout(function() {
15170 throw error;
15171 });
15172 }
15173 function commitMount(domElement, type, newProps) {
15174 switch (type) {
15175 case "button":
15176 case "input":
15177 case "select":
15178 case "textarea":
15179 newProps.autoFocus && domElement.focus();
15180 break;
15181 case "img":
15182 newProps.src ? domElement.src = newProps.src : newProps.srcSet && (domElement.srcset = newProps.srcSet);
15183 }
15184 }
15185 function commitUpdate(domElement, type, oldProps, newProps) {
15186 updateProperties(domElement, type, oldProps, newProps);
15187 domElement[internalPropsKey] = newProps;
15188 }
15189 function resetTextContent(domElement) {
15190 setTextContent(domElement, "");
15191 }
15192 function commitTextUpdate(textInstance, oldText, newText) {
15193 textInstance.nodeValue = newText;
15194 }
15195 function isSingletonScope(type) {
15196 return "head" === type;
15197 }
15198 function removeChild(parentInstance, child) {
15199 parentInstance.removeChild(child);
15200 }
15201 function removeChildFromContainer(container, child) {
15202 (9 === container.nodeType ? container.body : "HTML" === container.nodeName ? container.ownerDocument.body : container).removeChild(child);
15203 }
15204 function clearSuspenseBoundary(parentInstance, suspenseInstance) {
15205 var node = suspenseInstance, possiblePreambleContribution = 0, depth = 0;
15206 do {
15207 var nextNode = node.nextSibling;
15208 parentInstance.removeChild(node);
15209 if (nextNode && 8 === nextNode.nodeType)
15210 if (node = nextNode.data, node === SUSPENSE_END_DATA) {
15211 if (0 < possiblePreambleContribution && 8 > possiblePreambleContribution) {
15212 node = possiblePreambleContribution;
15213 var ownerDocument = parentInstance.ownerDocument;
15214 node & PREAMBLE_CONTRIBUTION_HTML && releaseSingletonInstance(ownerDocument.documentElement);
15215 node & PREAMBLE_CONTRIBUTION_BODY && releaseSingletonInstance(ownerDocument.body);
15216 if (node & PREAMBLE_CONTRIBUTION_HEAD)
15217 for (node = ownerDocument.head, releaseSingletonInstance(node), ownerDocument = node.firstChild; ownerDocument; ) {
15218 var nextNode$jscomp$0 = ownerDocument.nextSibling, nodeName = ownerDocument.nodeName;
15219 ownerDocument[internalHoistableMarker] || "SCRIPT" === nodeName || "STYLE" === nodeName || "LINK" === nodeName && "stylesheet" === ownerDocument.rel.toLowerCase() || node.removeChild(ownerDocument);
15220 ownerDocument = nextNode$jscomp$0;
15221 }
15222 }
15223 if (0 === depth) {
15224 parentInstance.removeChild(nextNode);
15225 retryIfBlockedOn(suspenseInstance);
15226 return;
15227 }
15228 depth--;
15229 } else
15230 node === SUSPENSE_START_DATA || node === SUSPENSE_PENDING_START_DATA || node === SUSPENSE_FALLBACK_START_DATA ? depth++ : possiblePreambleContribution = node.charCodeAt(0) - 48;
15231 else possiblePreambleContribution = 0;
15232 node = nextNode;
15233 } while (node);
15234 retryIfBlockedOn(suspenseInstance);
15235 }
15236 function hideInstance(instance) {
15237 instance = instance.style;
15238 "function" === typeof instance.setProperty ? instance.setProperty("display", "none", "important") : instance.display = "none";
15239 }
15240 function hideTextInstance(textInstance) {
15241 textInstance.nodeValue = "";
15242 }
15243 function unhideInstance(instance, props) {
15244 props = props[STYLE];
15245 props = void 0 !== props && null !== props && props.hasOwnProperty("display") ? props.display : null;
15246 instance.style.display = null == props || "boolean" === typeof props ? "" : ("" + props).trim();
15247 }
15248 function unhideTextInstance(textInstance, text) {
15249 textInstance.nodeValue = text;
15250 }
15251 function clearContainerSparingly(container) {
15252 var nextNode = container.firstChild;
15253 nextNode && 10 === nextNode.nodeType && (nextNode = nextNode.nextSibling);
15254 for (; nextNode; ) {
15255 var node = nextNode;
15256 nextNode = nextNode.nextSibling;
15257 switch (node.nodeName) {
15258 case "HTML":
15259 case "HEAD":
15260 case "BODY":
15261 clearContainerSparingly(node);
15262 detachDeletedInstance(node);
15263 continue;
15264 case "SCRIPT":
15265 case "STYLE":
15266 continue;
15267 case "LINK":
15268 if ("stylesheet" === node.rel.toLowerCase()) continue;
15269 }
15270 container.removeChild(node);
15271 }
15272 }
15273 function canHydrateInstance(instance, type, props, inRootOrSingleton) {
15274 for (; 1 === instance.nodeType; ) {
15275 var anyProps = props;
15276 if (instance.nodeName.toLowerCase() !== type.toLowerCase()) {
15277 if (!inRootOrSingleton && ("INPUT" !== instance.nodeName || "hidden" !== instance.type))
15278 break;
15279 } else if (!inRootOrSingleton)
15280 if ("input" === type && "hidden" === instance.type) {
15281 checkAttributeStringCoercion(anyProps.name, "name");
15282 var name = null == anyProps.name ? null : "" + anyProps.name;
15283 if ("hidden" === anyProps.type && instance.getAttribute("name") === name)
15284 return instance;
15285 } else return instance;
15286 else if (!instance[internalHoistableMarker])
15287 switch (type) {
15288 case "meta":
15289 if (!instance.hasAttribute("itemprop")) break;
15290 return instance;
15291 case "link":
15292 name = instance.getAttribute("rel");
15293 if ("stylesheet" === name && instance.hasAttribute("data-precedence"))
15294 break;
15295 else if (name !== anyProps.rel || instance.getAttribute("href") !== (null == anyProps.href || "" === anyProps.href ? null : anyProps.href) || instance.getAttribute("crossorigin") !== (null == anyProps.crossOrigin ? null : anyProps.crossOrigin) || instance.getAttribute("title") !== (null == anyProps.title ? null : anyProps.title))
15296 break;
15297 return instance;
15298 case "style":
15299 if (instance.hasAttribute("data-precedence")) break;
15300 return instance;
15301 case "script":
15302 name = instance.getAttribute("src");
15303 if ((name !== (null == anyProps.src ? null : anyProps.src) || instance.getAttribute("type") !== (null == anyProps.type ? null : anyProps.type) || instance.getAttribute("crossorigin") !== (null == anyProps.crossOrigin ? null : anyProps.crossOrigin)) && name && instance.hasAttribute("async") && !instance.hasAttribute("itemprop"))
15304 break;
15305 return instance;
15306 default:
15307 return instance;
15308 }
15309 instance = getNextHydratable(instance.nextSibling);
15310 if (null === instance) break;
15311 }
15312 return null;
15313 }
15314 function canHydrateTextInstance(instance, text, inRootOrSingleton) {
15315 if ("" === text) return null;
15316 for (; 3 !== instance.nodeType; ) {
15317 if ((1 !== instance.nodeType || "INPUT" !== instance.nodeName || "hidden" !== instance.type) && !inRootOrSingleton)
15318 return null;
15319 instance = getNextHydratable(instance.nextSibling);
15320 if (null === instance) return null;
15321 }
15322 return instance;
15323 }
15324 function isSuspenseInstanceFallback(instance) {
15325 return instance.data === SUSPENSE_FALLBACK_START_DATA || instance.data === SUSPENSE_PENDING_START_DATA && instance.ownerDocument.readyState === DOCUMENT_READY_STATE_COMPLETE;
15326 }
15327 function registerSuspenseInstanceRetry(instance, callback) {
15328 var ownerDocument = instance.ownerDocument;
15329 if (instance.data !== SUSPENSE_PENDING_START_DATA || ownerDocument.readyState === DOCUMENT_READY_STATE_COMPLETE)
15330 callback();
15331 else {
15332 var listener = function() {
15333 callback();
15334 ownerDocument.removeEventListener("DOMContentLoaded", listener);
15335 };
15336 ownerDocument.addEventListener("DOMContentLoaded", listener);
15337 instance._reactRetry = listener;
15338 }
15339 }
15340 function getNextHydratable(node) {
15341 for (; null != node; node = node.nextSibling) {
15342 var nodeType = node.nodeType;
15343 if (1 === nodeType || 3 === nodeType) break;
15344 if (8 === nodeType) {
15345 nodeType = node.data;
15346 if (nodeType === SUSPENSE_START_DATA || nodeType === SUSPENSE_FALLBACK_START_DATA || nodeType === SUSPENSE_PENDING_START_DATA || nodeType === FORM_STATE_IS_MATCHING || nodeType === FORM_STATE_IS_NOT_MATCHING)
15347 break;
15348 if (nodeType === SUSPENSE_END_DATA) return null;
15349 }
15350 }
15351 return node;
15352 }
15353 function describeHydratableInstanceForDevWarnings(instance) {
15354 if (1 === instance.nodeType) {
15355 for (var JSCompiler_temp_const = instance.nodeName.toLowerCase(), serverDifferences = {}, attributes = instance.attributes, i = 0; i < attributes.length; i++) {
15356 var attr = attributes[i];
15357 serverDifferences[getPropNameFromAttributeName(attr.name)] = "style" === attr.name.toLowerCase() ? getStylesObjectFromElement(instance) : attr.value;
15358 }
15359 return { type: JSCompiler_temp_const, props: serverDifferences };
15360 }
15361 return 8 === instance.nodeType ? { type: "Suspense", props: {} } : instance.nodeValue;
15362 }
15363 function diffHydratedTextForDevWarnings(textInstance, text, parentProps) {
15364 return null === parentProps || true !== parentProps[SUPPRESS_HYDRATION_WARNING] ? (textInstance.nodeValue === text ? textInstance = null : (text = normalizeMarkupForTextOrAttribute(text), textInstance = normalizeMarkupForTextOrAttribute(textInstance.nodeValue) === text ? null : textInstance.nodeValue), textInstance) : null;
15365 }
15366 function getNextHydratableInstanceAfterSuspenseInstance(suspenseInstance) {
15367 suspenseInstance = suspenseInstance.nextSibling;
15368 for (var depth = 0; suspenseInstance; ) {
15369 if (8 === suspenseInstance.nodeType) {
15370 var data = suspenseInstance.data;
15371 if (data === SUSPENSE_END_DATA) {
15372 if (0 === depth)
15373 return getNextHydratable(suspenseInstance.nextSibling);
15374 depth--;
15375 } else
15376 data !== SUSPENSE_START_DATA && data !== SUSPENSE_FALLBACK_START_DATA && data !== SUSPENSE_PENDING_START_DATA || depth++;
15377 }
15378 suspenseInstance = suspenseInstance.nextSibling;
15379 }
15380 return null;
15381 }
15382 function getParentSuspenseInstance(targetInstance) {
15383 targetInstance = targetInstance.previousSibling;
15384 for (var depth = 0; targetInstance; ) {
15385 if (8 === targetInstance.nodeType) {
15386 var data = targetInstance.data;
15387 if (data === SUSPENSE_START_DATA || data === SUSPENSE_FALLBACK_START_DATA || data === SUSPENSE_PENDING_START_DATA) {
15388 if (0 === depth) return targetInstance;
15389 depth--;
15390 } else data === SUSPENSE_END_DATA && depth++;
15391 }
15392 targetInstance = targetInstance.previousSibling;
15393 }
15394 return null;
15395 }
15396 function commitHydratedContainer(container) {
15397 retryIfBlockedOn(container);
15398 }
15399 function commitHydratedSuspenseInstance(suspenseInstance) {
15400 retryIfBlockedOn(suspenseInstance);
15401 }
15402 function resolveSingletonInstance(type, props, rootContainerInstance, hostContext, validateDOMNestingDev) {
15403 validateDOMNestingDev && validateDOMNesting(type, hostContext.ancestorInfo);
15404 props = getOwnerDocumentFromRootContainer(rootContainerInstance);
15405 switch (type) {
15406 case "html":
15407 type = props.documentElement;
15408 if (!type)
15409 throw Error(
15410 "React expected an <html> element (document.documentElement) to exist in the Document but one was not found. React never removes the documentElement for any Document it renders into so the cause is likely in some other script running on this page."
15411 );
15412 return type;
15413 case "head":
15414 type = props.head;
15415 if (!type)
15416 throw Error(
15417 "React expected a <head> element (document.head) to exist in the Document but one was not found. React never removes the head for any Document it renders into so the cause is likely in some other script running on this page."
15418 );
15419 return type;
15420 case "body":
15421 type = props.body;
15422 if (!type)
15423 throw Error(
15424 "React expected a <body> element (document.body) to exist in the Document but one was not found. React never removes the body for any Document it renders into so the cause is likely in some other script running on this page."
15425 );
15426 return type;
15427 default:
15428 throw Error(
15429 "resolveSingletonInstance was called with an element type that is not supported. This is a bug in React."
15430 );
15431 }
15432 }
15433 function acquireSingletonInstance(type, props, instance, internalInstanceHandle) {
15434 if (!instance[internalContainerInstanceKey] && getInstanceFromNode(instance)) {
15435 var tagName = instance.tagName.toLowerCase();
15436 console.error(
15437 "You are mounting a new %s component when a previous one has not first unmounted. It is an error to render more than one %s component at a time and attributes and children of these components will likely fail in unpredictable ways. Please only render a single instance of <%s> and if you need to mount a new one, ensure any previous ones have unmounted first.",
15438 tagName,
15439 tagName,
15440 tagName
15441 );
15442 }
15443 switch (type) {
15444 case "html":
15445 case "head":
15446 case "body":
15447 break;
15448 default:
15449 console.error(
15450 "acquireSingletonInstance was called with an element type that is not supported. This is a bug in React."
15451 );
15452 }
15453 for (tagName = instance.attributes; tagName.length; )
15454 instance.removeAttributeNode(tagName[0]);
15455 setInitialProperties(instance, type, props);
15456 instance[internalInstanceKey] = internalInstanceHandle;
15457 instance[internalPropsKey] = props;
15458 }
15459 function releaseSingletonInstance(instance) {
15460 for (var attributes = instance.attributes; attributes.length; )
15461 instance.removeAttributeNode(attributes[0]);
15462 detachDeletedInstance(instance);
15463 }
15464 function getHoistableRoot(container) {
15465 return "function" === typeof container.getRootNode ? container.getRootNode() : 9 === container.nodeType ? container : container.ownerDocument;
15466 }
15467 function preconnectAs(rel, href, crossOrigin) {
15468 var ownerDocument = globalDocument;
15469 if (ownerDocument && "string" === typeof href && href) {
15470 var limitedEscapedHref = escapeSelectorAttributeValueInsideDoubleQuotes(href);
15471 limitedEscapedHref = 'link[rel="' + rel + '"][href="' + limitedEscapedHref + '"]';
15472 "string" === typeof crossOrigin && (limitedEscapedHref += '[crossorigin="' + crossOrigin + '"]');
15473 preconnectsSet.has(limitedEscapedHref) || (preconnectsSet.add(limitedEscapedHref), rel = { rel, crossOrigin, href }, null === ownerDocument.querySelector(limitedEscapedHref) && (href = ownerDocument.createElement("link"), setInitialProperties(href, "link", rel), markNodeAsHoistable(href), ownerDocument.head.appendChild(href)));
15474 }
15475 }
15476 function getResource(type, currentProps, pendingProps, currentResource) {
15477 var resourceRoot = (resourceRoot = rootInstanceStackCursor.current) ? getHoistableRoot(resourceRoot) : null;
15478 if (!resourceRoot)
15479 throw Error(
15480 '"resourceRoot" was expected to exist. This is a bug in React.'
15481 );
15482 switch (type) {
15483 case "meta":
15484 case "title":
15485 return null;
15486 case "style":
15487 return "string" === typeof pendingProps.precedence && "string" === typeof pendingProps.href ? (pendingProps = getStyleKey(pendingProps.href), currentProps = getResourcesFromRoot(resourceRoot).hoistableStyles, currentResource = currentProps.get(pendingProps), currentResource || (currentResource = {
15488 type: "style",
15489 instance: null,
15490 count: 0,
15491 state: null
15492 }, currentProps.set(pendingProps, currentResource)), currentResource) : { type: "void", instance: null, count: 0, state: null };
15493 case "link":
15494 if ("stylesheet" === pendingProps.rel && "string" === typeof pendingProps.href && "string" === typeof pendingProps.precedence) {
15495 type = getStyleKey(pendingProps.href);
15496 var _styles = getResourcesFromRoot(resourceRoot).hoistableStyles, _resource = _styles.get(type);
15497 if (!_resource && (resourceRoot = resourceRoot.ownerDocument || resourceRoot, _resource = {
15498 type: "stylesheet",
15499 instance: null,
15500 count: 0,
15501 state: { loading: NotLoaded, preload: null }
15502 }, _styles.set(type, _resource), (_styles = resourceRoot.querySelector(
15503 getStylesheetSelectorFromKey(type)
15504 )) && !_styles._p && (_resource.instance = _styles, _resource.state.loading = Loaded | Inserted), !preloadPropsMap.has(type))) {
15505 var preloadProps = {
15506 rel: "preload",
15507 as: "style",
15508 href: pendingProps.href,
15509 crossOrigin: pendingProps.crossOrigin,
15510 integrity: pendingProps.integrity,
15511 media: pendingProps.media,
15512 hrefLang: pendingProps.hrefLang,
15513 referrerPolicy: pendingProps.referrerPolicy
15514 };
15515 preloadPropsMap.set(type, preloadProps);
15516 _styles || preloadStylesheet(
15517 resourceRoot,
15518 type,
15519 preloadProps,
15520 _resource.state
15521 );
15522 }
15523 if (currentProps && null === currentResource)
15524 throw pendingProps = "\n\n - " + describeLinkForResourceErrorDEV(currentProps) + "\n + " + describeLinkForResourceErrorDEV(pendingProps), Error(
15525 "Expected <link> not to update to be updated to a stylesheet with precedence. Check the `rel`, `href`, and `precedence` props of this component. Alternatively, check whether two different <link> components render in the same slot or share the same key." + pendingProps
15526 );
15527 return _resource;
15528 }
15529 if (currentProps && null !== currentResource)
15530 throw pendingProps = "\n\n - " + describeLinkForResourceErrorDEV(currentProps) + "\n + " + describeLinkForResourceErrorDEV(pendingProps), Error(
15531 "Expected stylesheet with precedence to not be updated to a different kind of <link>. Check the `rel`, `href`, and `precedence` props of this component. Alternatively, check whether two different <link> components render in the same slot or share the same key." + pendingProps
15532 );
15533 return null;
15534 case "script":
15535 return currentProps = pendingProps.async, pendingProps = pendingProps.src, "string" === typeof pendingProps && currentProps && "function" !== typeof currentProps && "symbol" !== typeof currentProps ? (pendingProps = getScriptKey(pendingProps), currentProps = getResourcesFromRoot(resourceRoot).hoistableScripts, currentResource = currentProps.get(pendingProps), currentResource || (currentResource = {
15536 type: "script",
15537 instance: null,
15538 count: 0,
15539 state: null
15540 }, currentProps.set(pendingProps, currentResource)), currentResource) : { type: "void", instance: null, count: 0, state: null };
15541 default:
15542 throw Error(
15543 'getResource encountered a type it did not expect: "' + type + '". this is a bug in React.'
15544 );
15545 }
15546 }
15547 function describeLinkForResourceErrorDEV(props) {
15548 var describedProps = 0, description = "<link";
15549 "string" === typeof props.rel ? (describedProps++, description += ' rel="' + props.rel + '"') : hasOwnProperty.call(props, "rel") && (describedProps++, description += ' rel="' + (null === props.rel ? "null" : "invalid type " + typeof props.rel) + '"');
15550 "string" === typeof props.href ? (describedProps++, description += ' href="' + props.href + '"') : hasOwnProperty.call(props, "href") && (describedProps++, description += ' href="' + (null === props.href ? "null" : "invalid type " + typeof props.href) + '"');
15551 "string" === typeof props.precedence ? (describedProps++, description += ' precedence="' + props.precedence + '"') : hasOwnProperty.call(props, "precedence") && (describedProps++, description += " precedence={" + (null === props.precedence ? "null" : "invalid type " + typeof props.precedence) + "}");
15552 Object.getOwnPropertyNames(props).length > describedProps && (description += " ...");
15553 return description + " />";
15554 }
15555 function getStyleKey(href) {
15556 return 'href="' + escapeSelectorAttributeValueInsideDoubleQuotes(href) + '"';
15557 }
15558 function getStylesheetSelectorFromKey(key) {
15559 return 'link[rel="stylesheet"][' + key + "]";
15560 }
15561 function stylesheetPropsFromRawProps(rawProps) {
15562 return assign({}, rawProps, {
15563 "data-precedence": rawProps.precedence,
15564 precedence: null
15565 });
15566 }
15567 function preloadStylesheet(ownerDocument, key, preloadProps, state) {
15568 ownerDocument.querySelector(
15569 'link[rel="preload"][as="style"][' + key + "]"
15570 ) ? state.loading = Loaded : (key = ownerDocument.createElement("link"), state.preload = key, key.addEventListener("load", function() {
15571 return state.loading |= Loaded;
15572 }), key.addEventListener("error", function() {
15573 return state.loading |= Errored;
15574 }), setInitialProperties(key, "link", preloadProps), markNodeAsHoistable(key), ownerDocument.head.appendChild(key));
15575 }
15576 function getScriptKey(src) {
15577 return '[src="' + escapeSelectorAttributeValueInsideDoubleQuotes(src) + '"]';
15578 }
15579 function getScriptSelectorFromKey(key) {
15580 return "script[async]" + key;
15581 }
15582 function acquireResource(hoistableRoot, resource, props) {
15583 resource.count++;
15584 if (null === resource.instance)
15585 switch (resource.type) {
15586 case "style":
15587 var instance = hoistableRoot.querySelector(
15588 'style[data-href~="' + escapeSelectorAttributeValueInsideDoubleQuotes(props.href) + '"]'
15589 );
15590 if (instance)
15591 return resource.instance = instance, markNodeAsHoistable(instance), instance;
15592 var styleProps = assign({}, props, {
15593 "data-href": props.href,
15594 "data-precedence": props.precedence,
15595 href: null,
15596 precedence: null
15597 });
15598 instance = (hoistableRoot.ownerDocument || hoistableRoot).createElement("style");
15599 markNodeAsHoistable(instance);
15600 setInitialProperties(instance, "style", styleProps);
15601 insertStylesheet(instance, props.precedence, hoistableRoot);
15602 return resource.instance = instance;
15603 case "stylesheet":
15604 styleProps = getStyleKey(props.href);
15605 var _instance = hoistableRoot.querySelector(
15606 getStylesheetSelectorFromKey(styleProps)
15607 );
15608 if (_instance)
15609 return resource.state.loading |= Inserted, resource.instance = _instance, markNodeAsHoistable(_instance), _instance;
15610 instance = stylesheetPropsFromRawProps(props);
15611 (styleProps = preloadPropsMap.get(styleProps)) && adoptPreloadPropsForStylesheet(instance, styleProps);
15612 _instance = (hoistableRoot.ownerDocument || hoistableRoot).createElement("link");
15613 markNodeAsHoistable(_instance);
15614 var linkInstance = _instance;
15615 linkInstance._p = new Promise(function(resolve, reject) {
15616 linkInstance.onload = resolve;
15617 linkInstance.onerror = reject;
15618 });
15619 setInitialProperties(_instance, "link", instance);
15620 resource.state.loading |= Inserted;
15621 insertStylesheet(_instance, props.precedence, hoistableRoot);
15622 return resource.instance = _instance;
15623 case "script":
15624 _instance = getScriptKey(props.src);
15625 if (styleProps = hoistableRoot.querySelector(
15626 getScriptSelectorFromKey(_instance)
15627 ))
15628 return resource.instance = styleProps, markNodeAsHoistable(styleProps), styleProps;
15629 instance = props;
15630 if (styleProps = preloadPropsMap.get(_instance))
15631 instance = assign({}, props), adoptPreloadPropsForScript(instance, styleProps);
15632 hoistableRoot = hoistableRoot.ownerDocument || hoistableRoot;
15633 styleProps = hoistableRoot.createElement("script");
15634 markNodeAsHoistable(styleProps);
15635 setInitialProperties(styleProps, "link", instance);
15636 hoistableRoot.head.appendChild(styleProps);
15637 return resource.instance = styleProps;
15638 case "void":
15639 return null;
15640 default:
15641 throw Error(
15642 'acquireResource encountered a resource type it did not expect: "' + resource.type + '". this is a bug in React.'
15643 );
15644 }
15645 else
15646 "stylesheet" === resource.type && (resource.state.loading & Inserted) === NotLoaded && (instance = resource.instance, resource.state.loading |= Inserted, insertStylesheet(instance, props.precedence, hoistableRoot));
15647 return resource.instance;
15648 }
15649 function insertStylesheet(instance, precedence, root2) {
15650 for (var nodes = root2.querySelectorAll(
15651 'link[rel="stylesheet"][data-precedence],style[data-precedence]'
15652 ), last = nodes.length ? nodes[nodes.length - 1] : null, prior = last, i = 0; i < nodes.length; i++) {
15653 var node = nodes[i];
15654 if (node.dataset.precedence === precedence) prior = node;
15655 else if (prior !== last) break;
15656 }
15657 prior ? prior.parentNode.insertBefore(instance, prior.nextSibling) : (precedence = 9 === root2.nodeType ? root2.head : root2, precedence.insertBefore(instance, precedence.firstChild));
15658 }
15659 function adoptPreloadPropsForStylesheet(stylesheetProps, preloadProps) {
15660 null == stylesheetProps.crossOrigin && (stylesheetProps.crossOrigin = preloadProps.crossOrigin);
15661 null == stylesheetProps.referrerPolicy && (stylesheetProps.referrerPolicy = preloadProps.referrerPolicy);
15662 null == stylesheetProps.title && (stylesheetProps.title = preloadProps.title);
15663 }
15664 function adoptPreloadPropsForScript(scriptProps, preloadProps) {
15665 null == scriptProps.crossOrigin && (scriptProps.crossOrigin = preloadProps.crossOrigin);
15666 null == scriptProps.referrerPolicy && (scriptProps.referrerPolicy = preloadProps.referrerPolicy);
15667 null == scriptProps.integrity && (scriptProps.integrity = preloadProps.integrity);
15668 }
15669 function getHydratableHoistableCache(type, keyAttribute, ownerDocument) {
15670 if (null === tagCaches) {
15671 var cache = /* @__PURE__ */ new Map();
15672 var caches = tagCaches = /* @__PURE__ */ new Map();
15673 caches.set(ownerDocument, cache);
15674 } else
15675 caches = tagCaches, cache = caches.get(ownerDocument), cache || (cache = /* @__PURE__ */ new Map(), caches.set(ownerDocument, cache));
15676 if (cache.has(type)) return cache;
15677 cache.set(type, null);
15678 ownerDocument = ownerDocument.getElementsByTagName(type);
15679 for (caches = 0; caches < ownerDocument.length; caches++) {
15680 var node = ownerDocument[caches];
15681 if (!(node[internalHoistableMarker] || node[internalInstanceKey] || "link" === type && "stylesheet" === node.getAttribute("rel")) && node.namespaceURI !== SVG_NAMESPACE) {
15682 var nodeKey = node.getAttribute(keyAttribute) || "";
15683 nodeKey = type + nodeKey;
15684 var existing = cache.get(nodeKey);
15685 existing ? existing.push(node) : cache.set(nodeKey, [node]);
15686 }
15687 }
15688 return cache;
15689 }
15690 function mountHoistable(hoistableRoot, type, instance) {
15691 hoistableRoot = hoistableRoot.ownerDocument || hoistableRoot;
15692 hoistableRoot.head.insertBefore(
15693 instance,
15694 "title" === type ? hoistableRoot.querySelector("head > title") : null
15695 );
15696 }
15697 function isHostHoistableType(type, props, hostContext) {
15698 var outsideHostContainerContext = !hostContext.ancestorInfo.containerTagInScope;
15699 if (hostContext.context === HostContextNamespaceSvg || null != props.itemProp)
15700 return !outsideHostContainerContext || null == props.itemProp || "meta" !== type && "title" !== type && "style" !== type && "link" !== type && "script" !== type || console.error(
15701 "Cannot render a <%s> outside the main document if it has an `itemProp` prop. `itemProp` suggests the tag belongs to an `itemScope` which can appear anywhere in the DOM. If you were intending for React to hoist this <%s> remove the `itemProp` prop. Otherwise, try moving this tag into the <head> or <body> of the Document.",
15702 type,
15703 type
15704 ), false;
15705 switch (type) {
15706 case "meta":
15707 case "title":
15708 return true;
15709 case "style":
15710 if ("string" !== typeof props.precedence || "string" !== typeof props.href || "" === props.href) {
15711 outsideHostContainerContext && console.error(
15712 'Cannot render a <style> outside the main document without knowing its precedence and a unique href key. React can hoist and deduplicate <style> tags if you provide a `precedence` prop along with an `href` prop that does not conflict with the `href` values used in any other hoisted <style> or <link rel="stylesheet" ...> tags. Note that hoisting <style> tags is considered an advanced feature that most will not use directly. Consider moving the <style> tag to the <head> or consider adding a `precedence="default"` and `href="some unique resource identifier"`.'
15713 );
15714 break;
15715 }
15716 return true;
15717 case "link":
15718 if ("string" !== typeof props.rel || "string" !== typeof props.href || "" === props.href || props.onLoad || props.onError) {
15719 if ("stylesheet" === props.rel && "string" === typeof props.precedence) {
15720 type = props.href;
15721 var onError = props.onError, disabled = props.disabled;
15722 hostContext = [];
15723 props.onLoad && hostContext.push("`onLoad`");
15724 onError && hostContext.push("`onError`");
15725 null != disabled && hostContext.push("`disabled`");
15726 onError = propNamesListJoin(hostContext, "and");
15727 onError += 1 === hostContext.length ? " prop" : " props";
15728 disabled = 1 === hostContext.length ? "an " + onError : "the " + onError;
15729 hostContext.length && console.error(
15730 'React encountered a <link rel="stylesheet" href="%s" ... /> with a `precedence` prop that also included %s. The presence of loading and error handlers indicates an intent to manage the stylesheet loading state from your from your Component code and React will not hoist or deduplicate this stylesheet. If your intent was to have React hoist and deduplciate this stylesheet using the `precedence` prop remove the %s, otherwise remove the `precedence` prop.',
15731 type,
15732 disabled,
15733 onError
15734 );
15735 }
15736 outsideHostContainerContext && ("string" !== typeof props.rel || "string" !== typeof props.href || "" === props.href ? console.error(
15737 "Cannot render a <link> outside the main document without a `rel` and `href` prop. Try adding a `rel` and/or `href` prop to this <link> or moving the link into the <head> tag"
15738 ) : (props.onError || props.onLoad) && console.error(
15739 "Cannot render a <link> with onLoad or onError listeners outside the main document. Try removing onLoad={...} and onError={...} or moving it into the root <head> tag or somewhere in the <body>."
15740 ));
15741 break;
15742 }
15743 switch (props.rel) {
15744 case "stylesheet":
15745 return type = props.precedence, props = props.disabled, "string" !== typeof type && outsideHostContainerContext && console.error(
15746 'Cannot render a <link rel="stylesheet" /> outside the main document without knowing its precedence. Consider adding precedence="default" or moving it into the root <head> tag.'
15747 ), "string" === typeof type && null == props;
15748 default:
15749 return true;
15750 }
15751 case "script":
15752 type = props.async && "function" !== typeof props.async && "symbol" !== typeof props.async;
15753 if (!type || props.onLoad || props.onError || !props.src || "string" !== typeof props.src) {
15754 outsideHostContainerContext && (type ? props.onLoad || props.onError ? console.error(
15755 "Cannot render a <script> with onLoad or onError listeners outside the main document. Try removing onLoad={...} and onError={...} or moving it into the root <head> tag or somewhere in the <body>."
15756 ) : console.error(
15757 "Cannot render a <script> outside the main document without `async={true}` and a non-empty `src` prop. Ensure there is a valid `src` and either make the script async or move it into the root <head> tag or somewhere in the <body>."
15758 ) : console.error(
15759 'Cannot render a sync or defer <script> outside the main document without knowing its order. Try adding async="" or moving it into the root <head> tag.'
15760 ));
15761 break;
15762 }
15763 return true;
15764 case "noscript":
15765 case "template":
15766 outsideHostContainerContext && console.error(
15767 "Cannot render <%s> outside the main document. Try moving it into the root <head> tag.",
15768 type
15769 );
15770 }
15771 return false;
15772 }
15773 function preloadResource(resource) {
15774 return "stylesheet" === resource.type && (resource.state.loading & Settled) === NotLoaded ? false : true;
15775 }
15776 function noop() {
15777 }
15778 function suspendResource(hoistableRoot, resource, props) {
15779 if (null === suspendedState)
15780 throw Error(
15781 "Internal React Error: suspendedState null when it was expected to exists. Please report this as a React bug."
15782 );
15783 var state = suspendedState;
15784 if ("stylesheet" === resource.type && ("string" !== typeof props.media || false !== matchMedia(props.media).matches) && (resource.state.loading & Inserted) === NotLoaded) {
15785 if (null === resource.instance) {
15786 var key = getStyleKey(props.href), instance = hoistableRoot.querySelector(
15787 getStylesheetSelectorFromKey(key)
15788 );
15789 if (instance) {
15790 hoistableRoot = instance._p;
15791 null !== hoistableRoot && "object" === typeof hoistableRoot && "function" === typeof hoistableRoot.then && (state.count++, state = onUnsuspend.bind(state), hoistableRoot.then(state, state));
15792 resource.state.loading |= Inserted;
15793 resource.instance = instance;
15794 markNodeAsHoistable(instance);
15795 return;
15796 }
15797 instance = hoistableRoot.ownerDocument || hoistableRoot;
15798 props = stylesheetPropsFromRawProps(props);
15799 (key = preloadPropsMap.get(key)) && adoptPreloadPropsForStylesheet(props, key);
15800 instance = instance.createElement("link");
15801 markNodeAsHoistable(instance);
15802 var linkInstance = instance;
15803 linkInstance._p = new Promise(function(resolve, reject) {
15804 linkInstance.onload = resolve;
15805 linkInstance.onerror = reject;
15806 });
15807 setInitialProperties(instance, "link", props);
15808 resource.instance = instance;
15809 }
15810 null === state.stylesheets && (state.stylesheets = /* @__PURE__ */ new Map());
15811 state.stylesheets.set(resource, hoistableRoot);
15812 (hoistableRoot = resource.state.preload) && (resource.state.loading & Settled) === NotLoaded && (state.count++, resource = onUnsuspend.bind(state), hoistableRoot.addEventListener("load", resource), hoistableRoot.addEventListener("error", resource));
15813 }
15814 }
15815 function waitForCommitToBeReady() {
15816 if (null === suspendedState)
15817 throw Error(
15818 "Internal React Error: suspendedState null when it was expected to exists. Please report this as a React bug."
15819 );
15820 var state = suspendedState;
15821 state.stylesheets && 0 === state.count && insertSuspendedStylesheets(state, state.stylesheets);
15822 return 0 < state.count ? function(commit) {
15823 var stylesheetTimer = setTimeout(function() {
15824 state.stylesheets && insertSuspendedStylesheets(state, state.stylesheets);
15825 if (state.unsuspend) {
15826 var unsuspend = state.unsuspend;
15827 state.unsuspend = null;
15828 unsuspend();
15829 }
15830 }, 6e4);
15831 state.unsuspend = commit;
15832 return function() {
15833 state.unsuspend = null;
15834 clearTimeout(stylesheetTimer);
15835 };
15836 } : null;
15837 }
15838 function onUnsuspend() {
15839 this.count--;
15840 if (0 === this.count) {
15841 if (this.stylesheets)
15842 insertSuspendedStylesheets(this, this.stylesheets);
15843 else if (this.unsuspend) {
15844 var unsuspend = this.unsuspend;
15845 this.unsuspend = null;
15846 unsuspend();
15847 }
15848 }
15849 }
15850 function insertSuspendedStylesheets(state, resources) {
15851 state.stylesheets = null;
15852 null !== state.unsuspend && (state.count++, precedencesByRoot = /* @__PURE__ */ new Map(), resources.forEach(insertStylesheetIntoRoot, state), precedencesByRoot = null, onUnsuspend.call(state));
15853 }
15854 function insertStylesheetIntoRoot(root2, resource) {
15855 if (!(resource.state.loading & Inserted)) {
15856 var precedences = precedencesByRoot.get(root2);
15857 if (precedences) var last = precedences.get(LAST_PRECEDENCE);
15858 else {
15859 precedences = /* @__PURE__ */ new Map();
15860 precedencesByRoot.set(root2, precedences);
15861 for (var nodes = root2.querySelectorAll(
15862 "link[data-precedence],style[data-precedence]"
15863 ), i = 0; i < nodes.length; i++) {
15864 var node = nodes[i];
15865 if ("LINK" === node.nodeName || "not all" !== node.getAttribute("media"))
15866 precedences.set(node.dataset.precedence, node), last = node;
15867 }
15868 last && precedences.set(LAST_PRECEDENCE, last);
15869 }
15870 nodes = resource.instance;
15871 node = nodes.getAttribute("data-precedence");
15872 i = precedences.get(node) || last;
15873 i === last && precedences.set(LAST_PRECEDENCE, nodes);
15874 precedences.set(node, nodes);
15875 this.count++;
15876 last = onUnsuspend.bind(this);
15877 nodes.addEventListener("load", last);
15878 nodes.addEventListener("error", last);
15879 i ? i.parentNode.insertBefore(nodes, i.nextSibling) : (root2 = 9 === root2.nodeType ? root2.head : root2, root2.insertBefore(nodes, root2.firstChild));
15880 resource.state.loading |= Inserted;
15881 }
15882 }
15883 function FiberRootNode(containerInfo, tag, hydrate, identifierPrefix, onUncaughtError, onCaughtError, onRecoverableError, formState) {
15884 this.tag = 1;
15885 this.containerInfo = containerInfo;
15886 this.pingCache = this.current = this.pendingChildren = null;
15887 this.timeoutHandle = noTimeout;
15888 this.callbackNode = this.next = this.pendingContext = this.context = this.cancelPendingCommit = null;
15889 this.callbackPriority = 0;
15890 this.expirationTimes = createLaneMap(-1);
15891 this.entangledLanes = this.shellSuspendCounter = this.errorRecoveryDisabledLanes = this.expiredLanes = this.warmLanes = this.pingedLanes = this.suspendedLanes = this.pendingLanes = 0;
15892 this.entanglements = createLaneMap(0);
15893 this.hiddenUpdates = createLaneMap(null);
15894 this.identifierPrefix = identifierPrefix;
15895 this.onUncaughtError = onUncaughtError;
15896 this.onCaughtError = onCaughtError;
15897 this.onRecoverableError = onRecoverableError;
15898 this.pooledCache = null;
15899 this.pooledCacheLanes = 0;
15900 this.formState = formState;
15901 this.incompleteTransitions = /* @__PURE__ */ new Map();
15902 this.passiveEffectDuration = this.effectDuration = -0;
15903 this.memoizedUpdaters = /* @__PURE__ */ new Set();
15904 containerInfo = this.pendingUpdatersLaneMap = [];
15905 for (tag = 0; 31 > tag; tag++) containerInfo.push(/* @__PURE__ */ new Set());
15906 this._debugRootType = hydrate ? "hydrateRoot()" : "createRoot()";
15907 }
15908 function createFiberRoot(containerInfo, tag, hydrate, initialChildren, hydrationCallbacks, isStrictMode, identifierPrefix, onUncaughtError, onCaughtError, onRecoverableError, transitionCallbacks, formState) {
15909 containerInfo = new FiberRootNode(
15910 containerInfo,
15911 tag,
15912 hydrate,
15913 identifierPrefix,
15914 onUncaughtError,
15915 onCaughtError,
15916 onRecoverableError,
15917 formState
15918 );
15919 tag = ConcurrentMode;
15920 true === isStrictMode && (tag |= StrictLegacyMode | StrictEffectsMode);
15921 isDevToolsPresent && (tag |= ProfileMode);
15922 isStrictMode = createFiber(3, null, null, tag);
15923 containerInfo.current = isStrictMode;
15924 isStrictMode.stateNode = containerInfo;
15925 tag = createCache();
15926 retainCache(tag);
15927 containerInfo.pooledCache = tag;
15928 retainCache(tag);
15929 isStrictMode.memoizedState = {
15930 element: initialChildren,
15931 isDehydrated: hydrate,
15932 cache: tag
15933 };
15934 initializeUpdateQueue(isStrictMode);
15935 return containerInfo;
15936 }
15937 function getContextForSubtree(parentComponent) {
15938 if (!parentComponent) return emptyContextObject;
15939 parentComponent = emptyContextObject;
15940 return parentComponent;
15941 }
15942 function updateContainerImpl(rootFiber, lane, element, container, parentComponent, callback) {
15943 if (injectedHook && "function" === typeof injectedHook.onScheduleFiberRoot)
15944 try {
15945 injectedHook.onScheduleFiberRoot(rendererID, container, element);
15946 } catch (err) {
15947 hasLoggedError || (hasLoggedError = true, console.error(
15948 "React instrumentation encountered an error: %s",
15949 err
15950 ));
15951 }
15952 null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markRenderScheduled && injectedProfilingHooks.markRenderScheduled(lane);
15953 parentComponent = getContextForSubtree(parentComponent);
15954 null === container.context ? container.context = parentComponent : container.pendingContext = parentComponent;
15955 isRendering && null !== current && !didWarnAboutNestedUpdates && (didWarnAboutNestedUpdates = true, console.error(
15956 "Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate.\n\nCheck the render method of %s.",
15957 getComponentNameFromFiber(current) || "Unknown"
15958 ));
15959 container = createUpdate(lane);
15960 container.payload = { element };
15961 callback = void 0 === callback ? null : callback;
15962 null !== callback && ("function" !== typeof callback && console.error(
15963 "Expected the last optional `callback` argument to be a function. Instead received: %s.",
15964 callback
15965 ), container.callback = callback);
15966 element = enqueueUpdate(rootFiber, container, lane);
15967 null !== element && (scheduleUpdateOnFiber(element, rootFiber, lane), entangleTransitions(element, rootFiber, lane));
15968 }
15969 function markRetryLaneImpl(fiber, retryLane) {
15970 fiber = fiber.memoizedState;
15971 if (null !== fiber && null !== fiber.dehydrated) {
15972 var a = fiber.retryLane;
15973 fiber.retryLane = 0 !== a && a < retryLane ? a : retryLane;
15974 }
15975 }
15976 function markRetryLaneIfNotHydrated(fiber, retryLane) {
15977 markRetryLaneImpl(fiber, retryLane);
15978 (fiber = fiber.alternate) && markRetryLaneImpl(fiber, retryLane);
15979 }
15980 function attemptContinuousHydration(fiber) {
15981 if (13 === fiber.tag) {
15982 var root2 = enqueueConcurrentRenderForLane(fiber, 67108864);
15983 null !== root2 && scheduleUpdateOnFiber(root2, fiber, 67108864);
15984 markRetryLaneIfNotHydrated(fiber, 67108864);
15985 }
15986 }
15987 function getCurrentFiberForDevTools() {
15988 return current;
15989 }
15990 function getLaneLabelMap() {
15991 for (var map = /* @__PURE__ */ new Map(), lane = 1, index = 0; 31 > index; index++) {
15992 var label = getLabelForLane(lane);
15993 map.set(lane, label);
15994 lane *= 2;
15995 }
15996 return map;
15997 }
15998 function dispatchDiscreteEvent(domEventName, eventSystemFlags, container, nativeEvent) {
15999 var prevTransition = ReactSharedInternals.T;
16000 ReactSharedInternals.T = null;
16001 var previousPriority = ReactDOMSharedInternals.p;
16002 try {
16003 ReactDOMSharedInternals.p = DiscreteEventPriority, dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent);
16004 } finally {
16005 ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = prevTransition;
16006 }
16007 }
16008 function dispatchContinuousEvent(domEventName, eventSystemFlags, container, nativeEvent) {
16009 var prevTransition = ReactSharedInternals.T;
16010 ReactSharedInternals.T = null;
16011 var previousPriority = ReactDOMSharedInternals.p;
16012 try {
16013 ReactDOMSharedInternals.p = ContinuousEventPriority, dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent);
16014 } finally {
16015 ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = prevTransition;
16016 }
16017 }
16018 function dispatchEvent(domEventName, eventSystemFlags, targetContainer, nativeEvent) {
16019 if (_enabled) {
16020 var blockedOn = findInstanceBlockingEvent(nativeEvent);
16021 if (null === blockedOn)
16022 dispatchEventForPluginEventSystem(
16023 domEventName,
16024 eventSystemFlags,
16025 nativeEvent,
16026 return_targetInst,
16027 targetContainer
16028 ), clearIfContinuousEvent(domEventName, nativeEvent);
16029 else if (queueIfContinuousEvent(
16030 blockedOn,
16031 domEventName,
16032 eventSystemFlags,
16033 targetContainer,
16034 nativeEvent
16035 ))
16036 nativeEvent.stopPropagation();
16037 else if (clearIfContinuousEvent(domEventName, nativeEvent), eventSystemFlags & 4 && -1 < discreteReplayableEvents.indexOf(domEventName)) {
16038 for (; null !== blockedOn; ) {
16039 var fiber = getInstanceFromNode(blockedOn);
16040 if (null !== fiber)
16041 switch (fiber.tag) {
16042 case 3:
16043 fiber = fiber.stateNode;
16044 if (fiber.current.memoizedState.isDehydrated) {
16045 var lanes = getHighestPriorityLanes(fiber.pendingLanes);
16046 if (0 !== lanes) {
16047 var root2 = fiber;
16048 root2.pendingLanes |= 2;
16049 for (root2.entangledLanes |= 2; lanes; ) {
16050 var lane = 1 << 31 - clz32(lanes);
16051 root2.entanglements[1] |= lane;
16052 lanes &= ~lane;
16053 }
16054 ensureRootIsScheduled(fiber);
16055 (executionContext & (RenderContext | CommitContext)) === NoContext && (workInProgressRootRenderTargetTime = now$1() + RENDER_TIMEOUT_MS, flushSyncWorkAcrossRoots_impl(0, false));
16056 }
16057 }
16058 break;
16059 case 13:
16060 root2 = enqueueConcurrentRenderForLane(fiber, 2), null !== root2 && scheduleUpdateOnFiber(root2, fiber, 2), flushSyncWork$1(), markRetryLaneIfNotHydrated(fiber, 2);
16061 }
16062 fiber = findInstanceBlockingEvent(nativeEvent);
16063 null === fiber && dispatchEventForPluginEventSystem(
16064 domEventName,
16065 eventSystemFlags,
16066 nativeEvent,
16067 return_targetInst,
16068 targetContainer
16069 );
16070 if (fiber === blockedOn) break;
16071 blockedOn = fiber;
16072 }
16073 null !== blockedOn && nativeEvent.stopPropagation();
16074 } else
16075 dispatchEventForPluginEventSystem(
16076 domEventName,
16077 eventSystemFlags,
16078 nativeEvent,
16079 null,
16080 targetContainer
16081 );
16082 }
16083 }
16084 function findInstanceBlockingEvent(nativeEvent) {
16085 nativeEvent = getEventTarget(nativeEvent);
16086 return findInstanceBlockingTarget(nativeEvent);
16087 }
16088 function findInstanceBlockingTarget(targetNode) {
16089 return_targetInst = null;
16090 targetNode = getClosestInstanceFromNode(targetNode);
16091 if (null !== targetNode) {
16092 var nearestMounted = getNearestMountedFiber(targetNode);
16093 if (null === nearestMounted) targetNode = null;
16094 else {
16095 var tag = nearestMounted.tag;
16096 if (13 === tag) {
16097 targetNode = getSuspenseInstanceFromFiber(nearestMounted);
16098 if (null !== targetNode) return targetNode;
16099 targetNode = null;
16100 } else if (3 === tag) {
16101 if (nearestMounted.stateNode.current.memoizedState.isDehydrated)
16102 return 3 === nearestMounted.tag ? nearestMounted.stateNode.containerInfo : null;
16103 targetNode = null;
16104 } else nearestMounted !== targetNode && (targetNode = null);
16105 }
16106 }
16107 return_targetInst = targetNode;
16108 return null;
16109 }
16110 function getEventPriority(domEventName) {
16111 switch (domEventName) {
16112 case "beforetoggle":
16113 case "cancel":
16114 case "click":
16115 case "close":
16116 case "contextmenu":
16117 case "copy":
16118 case "cut":
16119 case "auxclick":
16120 case "dblclick":
16121 case "dragend":
16122 case "dragstart":
16123 case "drop":
16124 case "focusin":
16125 case "focusout":
16126 case "input":
16127 case "invalid":
16128 case "keydown":
16129 case "keypress":
16130 case "keyup":
16131 case "mousedown":
16132 case "mouseup":
16133 case "paste":
16134 case "pause":
16135 case "play":
16136 case "pointercancel":
16137 case "pointerdown":
16138 case "pointerup":
16139 case "ratechange":
16140 case "reset":
16141 case "resize":
16142 case "seeked":
16143 case "submit":
16144 case "toggle":
16145 case "touchcancel":
16146 case "touchend":
16147 case "touchstart":
16148 case "volumechange":
16149 case "change":
16150 case "selectionchange":
16151 case "textInput":
16152 case "compositionstart":
16153 case "compositionend":
16154 case "compositionupdate":
16155 case "beforeblur":
16156 case "afterblur":
16157 case "beforeinput":
16158 case "blur":
16159 case "fullscreenchange":
16160 case "focus":
16161 case "hashchange":
16162 case "popstate":
16163 case "select":
16164 case "selectstart":
16165 return DiscreteEventPriority;
16166 case "drag":
16167 case "dragenter":
16168 case "dragexit":
16169 case "dragleave":
16170 case "dragover":
16171 case "mousemove":
16172 case "mouseout":
16173 case "mouseover":
16174 case "pointermove":
16175 case "pointerout":
16176 case "pointerover":
16177 case "scroll":
16178 case "touchmove":
16179 case "wheel":
16180 case "mouseenter":
16181 case "mouseleave":
16182 case "pointerenter":
16183 case "pointerleave":
16184 return ContinuousEventPriority;
16185 case "message":
16186 switch (getCurrentPriorityLevel()) {
16187 case ImmediatePriority:
16188 return DiscreteEventPriority;
16189 case UserBlockingPriority:
16190 return ContinuousEventPriority;
16191 case NormalPriority$1:
16192 case LowPriority:
16193 return DefaultEventPriority;
16194 case IdlePriority:
16195 return IdleEventPriority;
16196 default:
16197 return DefaultEventPriority;
16198 }
16199 default:
16200 return DefaultEventPriority;
16201 }
16202 }
16203 function clearIfContinuousEvent(domEventName, nativeEvent) {
16204 switch (domEventName) {
16205 case "focusin":
16206 case "focusout":
16207 queuedFocus = null;
16208 break;
16209 case "dragenter":
16210 case "dragleave":
16211 queuedDrag = null;
16212 break;
16213 case "mouseover":
16214 case "mouseout":
16215 queuedMouse = null;
16216 break;
16217 case "pointerover":
16218 case "pointerout":
16219 queuedPointers.delete(nativeEvent.pointerId);
16220 break;
16221 case "gotpointercapture":
16222 case "lostpointercapture":
16223 queuedPointerCaptures.delete(nativeEvent.pointerId);
16224 }
16225 }
16226 function accumulateOrCreateContinuousQueuedReplayableEvent(existingQueuedEvent, blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent) {
16227 if (null === existingQueuedEvent || existingQueuedEvent.nativeEvent !== nativeEvent)
16228 return existingQueuedEvent = {
16229 blockedOn,
16230 domEventName,
16231 eventSystemFlags,
16232 nativeEvent,
16233 targetContainers: [targetContainer]
16234 }, null !== blockedOn && (blockedOn = getInstanceFromNode(blockedOn), null !== blockedOn && attemptContinuousHydration(blockedOn)), existingQueuedEvent;
16235 existingQueuedEvent.eventSystemFlags |= eventSystemFlags;
16236 blockedOn = existingQueuedEvent.targetContainers;
16237 null !== targetContainer && -1 === blockedOn.indexOf(targetContainer) && blockedOn.push(targetContainer);
16238 return existingQueuedEvent;
16239 }
16240 function queueIfContinuousEvent(blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent) {
16241 switch (domEventName) {
16242 case "focusin":
16243 return queuedFocus = accumulateOrCreateContinuousQueuedReplayableEvent(
16244 queuedFocus,
16245 blockedOn,
16246 domEventName,
16247 eventSystemFlags,
16248 targetContainer,
16249 nativeEvent
16250 ), true;
16251 case "dragenter":
16252 return queuedDrag = accumulateOrCreateContinuousQueuedReplayableEvent(
16253 queuedDrag,
16254 blockedOn,
16255 domEventName,
16256 eventSystemFlags,
16257 targetContainer,
16258 nativeEvent
16259 ), true;
16260 case "mouseover":
16261 return queuedMouse = accumulateOrCreateContinuousQueuedReplayableEvent(
16262 queuedMouse,
16263 blockedOn,
16264 domEventName,
16265 eventSystemFlags,
16266 targetContainer,
16267 nativeEvent
16268 ), true;
16269 case "pointerover":
16270 var pointerId = nativeEvent.pointerId;
16271 queuedPointers.set(
16272 pointerId,
16273 accumulateOrCreateContinuousQueuedReplayableEvent(
16274 queuedPointers.get(pointerId) || null,
16275 blockedOn,
16276 domEventName,
16277 eventSystemFlags,
16278 targetContainer,
16279 nativeEvent
16280 )
16281 );
16282 return true;
16283 case "gotpointercapture":
16284 return pointerId = nativeEvent.pointerId, queuedPointerCaptures.set(
16285 pointerId,
16286 accumulateOrCreateContinuousQueuedReplayableEvent(
16287 queuedPointerCaptures.get(pointerId) || null,
16288 blockedOn,
16289 domEventName,
16290 eventSystemFlags,
16291 targetContainer,
16292 nativeEvent
16293 )
16294 ), true;
16295 }
16296 return false;
16297 }
16298 function attemptExplicitHydrationTarget(queuedTarget) {
16299 var targetInst = getClosestInstanceFromNode(queuedTarget.target);
16300 if (null !== targetInst) {
16301 var nearestMounted = getNearestMountedFiber(targetInst);
16302 if (null !== nearestMounted) {
16303 if (targetInst = nearestMounted.tag, 13 === targetInst) {
16304 if (targetInst = getSuspenseInstanceFromFiber(nearestMounted), null !== targetInst) {
16305 queuedTarget.blockedOn = targetInst;
16306 runWithPriority(queuedTarget.priority, function() {
16307 if (13 === nearestMounted.tag) {
16308 var lane = requestUpdateLane(nearestMounted);
16309 lane = getBumpedLaneForHydrationByLane(lane);
16310 var root2 = enqueueConcurrentRenderForLane(
16311 nearestMounted,
16312 lane
16313 );
16314 null !== root2 && scheduleUpdateOnFiber(root2, nearestMounted, lane);
16315 markRetryLaneIfNotHydrated(nearestMounted, lane);
16316 }
16317 });
16318 return;
16319 }
16320 } else if (3 === targetInst && nearestMounted.stateNode.current.memoizedState.isDehydrated) {
16321 queuedTarget.blockedOn = 3 === nearestMounted.tag ? nearestMounted.stateNode.containerInfo : null;
16322 return;
16323 }
16324 }
16325 }
16326 queuedTarget.blockedOn = null;
16327 }
16328 function attemptReplayContinuousQueuedEvent(queuedEvent) {
16329 if (null !== queuedEvent.blockedOn) return false;
16330 for (var targetContainers = queuedEvent.targetContainers; 0 < targetContainers.length; ) {
16331 var nextBlockedOn = findInstanceBlockingEvent(queuedEvent.nativeEvent);
16332 if (null === nextBlockedOn) {
16333 nextBlockedOn = queuedEvent.nativeEvent;
16334 var nativeEventClone = new nextBlockedOn.constructor(
16335 nextBlockedOn.type,
16336 nextBlockedOn
16337 ), event = nativeEventClone;
16338 null !== currentReplayingEvent && console.error(
16339 "Expected currently replaying event to be null. This error is likely caused by a bug in React. Please file an issue."
16340 );
16341 currentReplayingEvent = event;
16342 nextBlockedOn.target.dispatchEvent(nativeEventClone);
16343 null === currentReplayingEvent && console.error(
16344 "Expected currently replaying event to not be null. This error is likely caused by a bug in React. Please file an issue."
16345 );
16346 currentReplayingEvent = null;
16347 } else
16348 return targetContainers = getInstanceFromNode(nextBlockedOn), null !== targetContainers && attemptContinuousHydration(targetContainers), queuedEvent.blockedOn = nextBlockedOn, false;
16349 targetContainers.shift();
16350 }
16351 return true;
16352 }
16353 function attemptReplayContinuousQueuedEventInMap(queuedEvent, key, map) {
16354 attemptReplayContinuousQueuedEvent(queuedEvent) && map.delete(key);
16355 }
16356 function replayUnblockedEvents() {
16357 hasScheduledReplayAttempt = false;
16358 null !== queuedFocus && attemptReplayContinuousQueuedEvent(queuedFocus) && (queuedFocus = null);
16359 null !== queuedDrag && attemptReplayContinuousQueuedEvent(queuedDrag) && (queuedDrag = null);
16360 null !== queuedMouse && attemptReplayContinuousQueuedEvent(queuedMouse) && (queuedMouse = null);
16361 queuedPointers.forEach(attemptReplayContinuousQueuedEventInMap);
16362 queuedPointerCaptures.forEach(attemptReplayContinuousQueuedEventInMap);
16363 }
16364 function scheduleCallbackIfUnblocked(queuedEvent, unblocked) {
16365 queuedEvent.blockedOn === unblocked && (queuedEvent.blockedOn = null, hasScheduledReplayAttempt || (hasScheduledReplayAttempt = true, Scheduler.unstable_scheduleCallback(
16366 Scheduler.unstable_NormalPriority,
16367 replayUnblockedEvents
16368 )));
16369 }
16370 function scheduleReplayQueueIfNeeded(formReplayingQueue) {
16371 lastScheduledReplayQueue !== formReplayingQueue && (lastScheduledReplayQueue = formReplayingQueue, Scheduler.unstable_scheduleCallback(
16372 Scheduler.unstable_NormalPriority,
16373 function() {
16374 lastScheduledReplayQueue === formReplayingQueue && (lastScheduledReplayQueue = null);
16375 for (var i = 0; i < formReplayingQueue.length; i += 3) {
16376 var form = formReplayingQueue[i], submitterOrAction = formReplayingQueue[i + 1], formData = formReplayingQueue[i + 2];
16377 if ("function" !== typeof submitterOrAction)
16378 if (null === findInstanceBlockingTarget(submitterOrAction || form))
16379 continue;
16380 else break;
16381 var formInst = getInstanceFromNode(form);
16382 null !== formInst && (formReplayingQueue.splice(i, 3), i -= 3, form = {
16383 pending: true,
16384 data: formData,
16385 method: form.method,
16386 action: submitterOrAction
16387 }, Object.freeze(form), startHostTransition(
16388 formInst,
16389 form,
16390 submitterOrAction,
16391 formData
16392 ));
16393 }
16394 }
16395 ));
16396 }
16397 function retryIfBlockedOn(unblocked) {
16398 function unblock(queuedEvent) {
16399 return scheduleCallbackIfUnblocked(queuedEvent, unblocked);
16400 }
16401 null !== queuedFocus && scheduleCallbackIfUnblocked(queuedFocus, unblocked);
16402 null !== queuedDrag && scheduleCallbackIfUnblocked(queuedDrag, unblocked);
16403 null !== queuedMouse && scheduleCallbackIfUnblocked(queuedMouse, unblocked);
16404 queuedPointers.forEach(unblock);
16405 queuedPointerCaptures.forEach(unblock);
16406 for (var i = 0; i < queuedExplicitHydrationTargets.length; i++) {
16407 var queuedTarget = queuedExplicitHydrationTargets[i];
16408 queuedTarget.blockedOn === unblocked && (queuedTarget.blockedOn = null);
16409 }
16410 for (; 0 < queuedExplicitHydrationTargets.length && (i = queuedExplicitHydrationTargets[0], null === i.blockedOn); )
16411 attemptExplicitHydrationTarget(i), null === i.blockedOn && queuedExplicitHydrationTargets.shift();
16412 i = (unblocked.ownerDocument || unblocked).$$reactFormReplay;
16413 if (null != i)
16414 for (queuedTarget = 0; queuedTarget < i.length; queuedTarget += 3) {
16415 var form = i[queuedTarget], submitterOrAction = i[queuedTarget + 1], formProps = form[internalPropsKey] || null;
16416 if ("function" === typeof submitterOrAction)
16417 formProps || scheduleReplayQueueIfNeeded(i);
16418 else if (formProps) {
16419 var action = null;
16420 if (submitterOrAction && submitterOrAction.hasAttribute("formAction"))
16421 if (form = submitterOrAction, formProps = submitterOrAction[internalPropsKey] || null)
16422 action = formProps.formAction;
16423 else {
16424 if (null !== findInstanceBlockingTarget(form)) continue;
16425 }
16426 else action = formProps.action;
16427 "function" === typeof action ? i[queuedTarget + 1] = action : (i.splice(queuedTarget, 3), queuedTarget -= 3);
16428 scheduleReplayQueueIfNeeded(i);
16429 }
16430 }
16431 }
16432 function ReactDOMRoot(internalRoot) {
16433 this._internalRoot = internalRoot;
16434 }
16435 function ReactDOMHydrationRoot(internalRoot) {
16436 this._internalRoot = internalRoot;
16437 }
16438 function warnIfReactDOMContainerInDEV(container) {
16439 container[internalContainerInstanceKey] && (container._reactRootContainer ? console.error(
16440 "You are calling ReactDOMClient.createRoot() on a container that was previously passed to ReactDOM.render(). This is not supported."
16441 ) : console.error(
16442 "You are calling ReactDOMClient.createRoot() on a container that has already been passed to createRoot() before. Instead, call root.render() on the existing root instead if you want to update it."
16443 ));
16444 }
16445 "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
16446 var Scheduler = require_scheduler(), React = require_react(), ReactDOM = require_react_dom(), 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_PROVIDER_TYPE = Symbol.for("react.provider"), 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");
16447 Symbol.for("react.scope");
16448 var REACT_ACTIVITY_TYPE = Symbol.for("react.activity");
16449 Symbol.for("react.legacy_hidden");
16450 Symbol.for("react.tracing_marker");
16451 var REACT_MEMO_CACHE_SENTINEL = Symbol.for("react.memo_cache_sentinel");
16452 Symbol.for("react.view_transition");
16453 var MAYBE_ITERATOR_SYMBOL = Symbol.iterator, REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), 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, NotPending = Object.freeze({
16454 pending: false,
16455 data: null,
16456 method: null,
16457 action: null
16458 }), valueStack = [];
16459 var fiberStack = [];
16460 var index$jscomp$0 = -1, contextStackCursor = createCursor(null), contextFiberStackCursor = createCursor(null), rootInstanceStackCursor = createCursor(null), hostTransitionProviderCursor = createCursor(null), hasOwnProperty = Object.prototype.hasOwnProperty, scheduleCallback$3 = Scheduler.unstable_scheduleCallback, cancelCallback$1 = Scheduler.unstable_cancelCallback, shouldYield = Scheduler.unstable_shouldYield, requestPaint = Scheduler.unstable_requestPaint, now$1 = 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, injectedProfilingHooks = null, hasLoggedError = false, isDevToolsPresent = "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__, clz32 = Math.clz32 ? Math.clz32 : clz32Fallback, log = Math.log, LN2 = Math.LN2, nextTransitionLane = 256, nextRetryLane = 4194304, DiscreteEventPriority = 2, ContinuousEventPriority = 8, DefaultEventPriority = 32, IdleEventPriority = 268435456, 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, allNativeEvents = /* @__PURE__ */ new Set(), registrationNameDependencies = {}, possibleRegistrationNames = {}, hasReadOnlyValue = {
16461 button: true,
16462 checkbox: true,
16463 image: true,
16464 hidden: true,
16465 radio: true,
16466 reset: true,
16467 submit: true
16468 }, VALID_ATTRIBUTE_NAME_REGEX = RegExp(
16469 "^[: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]*$"
16470 ), illegalAttributeNameCache = {}, validatedAttributeNameCache = {}, disabledDepth = 0, prevLog, prevInfo, prevWarn, prevError, prevGroup, prevGroupCollapsed, prevGroupEnd;
16471 disabledLog.__reactDisabledLog = true;
16472 var prefix, suffix, reentry = false;
16473 var componentFrameCache = new ("function" === typeof WeakMap ? WeakMap : Map)();
16474 var current = null, isRendering = false, escapeSelectorAttributeValueInsideDoubleQuotesRegex = /[\n"\\]/g, didWarnValueDefaultValue$1 = false, didWarnCheckedDefaultChecked = false, didWarnSelectedSetOnOption = false, didWarnInvalidChild = false, didWarnInvalidInnerHTML = false;
16475 var didWarnValueDefaultValue = false;
16476 var valuePropNames = ["value", "defaultValue"], didWarnValDefaultVal = false, needsEscaping = /["'&<>\n\t]|^\s|\s$/, specialTags = "address applet area article aside base basefont bgsound blockquote body br button caption center col colgroup dd details dir div dl dt embed fieldset figcaption figure footer form frame frameset h1 h2 h3 h4 h5 h6 head header hgroup hr html iframe img input isindex li link listing main marquee menu menuitem meta nav noembed noframes noscript object ol p param plaintext pre script section select source style summary table tbody td template textarea tfoot th thead title tr track ul wbr xmp".split(
16477 " "
16478 ), inScopeTags = "applet caption html table td th marquee object template foreignObject desc title".split(
16479 " "
16480 ), buttonScopeTags = inScopeTags.concat(["button"]), impliedEndTags = "dd dt li option optgroup p rp rt".split(" "), emptyAncestorInfoDev = {
16481 current: null,
16482 formTag: null,
16483 aTagInScope: null,
16484 buttonTagInScope: null,
16485 nobrTagInScope: null,
16486 pTagInButtonScope: null,
16487 listItemTagAutoclosing: null,
16488 dlItemTagAutoclosing: null,
16489 containerTagInScope: null,
16490 implicitRootScope: false
16491 }, didWarn = {}, shorthandToLonghand = {
16492 animation: "animationDelay animationDirection animationDuration animationFillMode animationIterationCount animationName animationPlayState animationTimingFunction".split(
16493 " "
16494 ),
16495 background: "backgroundAttachment backgroundClip backgroundColor backgroundImage backgroundOrigin backgroundPositionX backgroundPositionY backgroundRepeat backgroundSize".split(
16496 " "
16497 ),
16498 backgroundPosition: ["backgroundPositionX", "backgroundPositionY"],
16499 border: "borderBottomColor borderBottomStyle borderBottomWidth borderImageOutset borderImageRepeat borderImageSlice borderImageSource borderImageWidth borderLeftColor borderLeftStyle borderLeftWidth borderRightColor borderRightStyle borderRightWidth borderTopColor borderTopStyle borderTopWidth".split(
16500 " "
16501 ),
16502 borderBlockEnd: [
16503 "borderBlockEndColor",
16504 "borderBlockEndStyle",
16505 "borderBlockEndWidth"
16506 ],
16507 borderBlockStart: [
16508 "borderBlockStartColor",
16509 "borderBlockStartStyle",
16510 "borderBlockStartWidth"
16511 ],
16512 borderBottom: [
16513 "borderBottomColor",
16514 "borderBottomStyle",
16515 "borderBottomWidth"
16516 ],
16517 borderColor: [
16518 "borderBottomColor",
16519 "borderLeftColor",
16520 "borderRightColor",
16521 "borderTopColor"
16522 ],
16523 borderImage: [
16524 "borderImageOutset",
16525 "borderImageRepeat",
16526 "borderImageSlice",
16527 "borderImageSource",
16528 "borderImageWidth"
16529 ],
16530 borderInlineEnd: [
16531 "borderInlineEndColor",
16532 "borderInlineEndStyle",
16533 "borderInlineEndWidth"
16534 ],
16535 borderInlineStart: [
16536 "borderInlineStartColor",
16537 "borderInlineStartStyle",
16538 "borderInlineStartWidth"
16539 ],
16540 borderLeft: ["borderLeftColor", "borderLeftStyle", "borderLeftWidth"],
16541 borderRadius: [
16542 "borderBottomLeftRadius",
16543 "borderBottomRightRadius",
16544 "borderTopLeftRadius",
16545 "borderTopRightRadius"
16546 ],
16547 borderRight: [
16548 "borderRightColor",
16549 "borderRightStyle",
16550 "borderRightWidth"
16551 ],
16552 borderStyle: [
16553 "borderBottomStyle",
16554 "borderLeftStyle",
16555 "borderRightStyle",
16556 "borderTopStyle"
16557 ],
16558 borderTop: ["borderTopColor", "borderTopStyle", "borderTopWidth"],
16559 borderWidth: [
16560 "borderBottomWidth",
16561 "borderLeftWidth",
16562 "borderRightWidth",
16563 "borderTopWidth"
16564 ],
16565 columnRule: ["columnRuleColor", "columnRuleStyle", "columnRuleWidth"],
16566 columns: ["columnCount", "columnWidth"],
16567 flex: ["flexBasis", "flexGrow", "flexShrink"],
16568 flexFlow: ["flexDirection", "flexWrap"],
16569 font: "fontFamily fontFeatureSettings fontKerning fontLanguageOverride fontSize fontSizeAdjust fontStretch fontStyle fontVariant fontVariantAlternates fontVariantCaps fontVariantEastAsian fontVariantLigatures fontVariantNumeric fontVariantPosition fontWeight lineHeight".split(
16570 " "
16571 ),
16572 fontVariant: "fontVariantAlternates fontVariantCaps fontVariantEastAsian fontVariantLigatures fontVariantNumeric fontVariantPosition".split(
16573 " "
16574 ),
16575 gap: ["columnGap", "rowGap"],
16576 grid: "gridAutoColumns gridAutoFlow gridAutoRows gridTemplateAreas gridTemplateColumns gridTemplateRows".split(
16577 " "
16578 ),
16579 gridArea: [
16580 "gridColumnEnd",
16581 "gridColumnStart",
16582 "gridRowEnd",
16583 "gridRowStart"
16584 ],
16585 gridColumn: ["gridColumnEnd", "gridColumnStart"],
16586 gridColumnGap: ["columnGap"],
16587 gridGap: ["columnGap", "rowGap"],
16588 gridRow: ["gridRowEnd", "gridRowStart"],
16589 gridRowGap: ["rowGap"],
16590 gridTemplate: [
16591 "gridTemplateAreas",
16592 "gridTemplateColumns",
16593 "gridTemplateRows"
16594 ],
16595 listStyle: ["listStyleImage", "listStylePosition", "listStyleType"],
16596 margin: ["marginBottom", "marginLeft", "marginRight", "marginTop"],
16597 marker: ["markerEnd", "markerMid", "markerStart"],
16598 mask: "maskClip maskComposite maskImage maskMode maskOrigin maskPositionX maskPositionY maskRepeat maskSize".split(
16599 " "
16600 ),
16601 maskPosition: ["maskPositionX", "maskPositionY"],
16602 outline: ["outlineColor", "outlineStyle", "outlineWidth"],
16603 overflow: ["overflowX", "overflowY"],
16604 padding: ["paddingBottom", "paddingLeft", "paddingRight", "paddingTop"],
16605 placeContent: ["alignContent", "justifyContent"],
16606 placeItems: ["alignItems", "justifyItems"],
16607 placeSelf: ["alignSelf", "justifySelf"],
16608 textDecoration: [
16609 "textDecorationColor",
16610 "textDecorationLine",
16611 "textDecorationStyle"
16612 ],
16613 textEmphasis: ["textEmphasisColor", "textEmphasisStyle"],
16614 transition: [
16615 "transitionDelay",
16616 "transitionDuration",
16617 "transitionProperty",
16618 "transitionTimingFunction"
16619 ],
16620 wordWrap: ["overflowWrap"]
16621 }, uppercasePattern = /([A-Z])/g, msPattern$1 = /^ms-/, badVendoredStyleNamePattern = /^(?:webkit|moz|o)[A-Z]/, msPattern = /^-ms-/, hyphenPattern = /-(.)/g, badStyleValueWithSemicolonPattern = /;\s*$/, warnedStyleNames = {}, warnedStyleValues = {}, warnedForNaNValue = false, warnedForInfinityValue = false, unitlessNumbers = new Set(
16622 "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(
16623 " "
16624 )
16625 ), MATH_NAMESPACE = "http://www.w3.org/1998/Math/MathML", SVG_NAMESPACE = "http://www.w3.org/2000/svg", aliases = /* @__PURE__ */ new Map([
16626 ["acceptCharset", "accept-charset"],
16627 ["htmlFor", "for"],
16628 ["httpEquiv", "http-equiv"],
16629 ["crossOrigin", "crossorigin"],
16630 ["accentHeight", "accent-height"],
16631 ["alignmentBaseline", "alignment-baseline"],
16632 ["arabicForm", "arabic-form"],
16633 ["baselineShift", "baseline-shift"],
16634 ["capHeight", "cap-height"],
16635 ["clipPath", "clip-path"],
16636 ["clipRule", "clip-rule"],
16637 ["colorInterpolation", "color-interpolation"],
16638 ["colorInterpolationFilters", "color-interpolation-filters"],
16639 ["colorProfile", "color-profile"],
16640 ["colorRendering", "color-rendering"],
16641 ["dominantBaseline", "dominant-baseline"],
16642 ["enableBackground", "enable-background"],
16643 ["fillOpacity", "fill-opacity"],
16644 ["fillRule", "fill-rule"],
16645 ["floodColor", "flood-color"],
16646 ["floodOpacity", "flood-opacity"],
16647 ["fontFamily", "font-family"],
16648 ["fontSize", "font-size"],
16649 ["fontSizeAdjust", "font-size-adjust"],
16650 ["fontStretch", "font-stretch"],
16651 ["fontStyle", "font-style"],
16652 ["fontVariant", "font-variant"],
16653 ["fontWeight", "font-weight"],
16654 ["glyphName", "glyph-name"],
16655 ["glyphOrientationHorizontal", "glyph-orientation-horizontal"],
16656 ["glyphOrientationVertical", "glyph-orientation-vertical"],
16657 ["horizAdvX", "horiz-adv-x"],
16658 ["horizOriginX", "horiz-origin-x"],
16659 ["imageRendering", "image-rendering"],
16660 ["letterSpacing", "letter-spacing"],
16661 ["lightingColor", "lighting-color"],
16662 ["markerEnd", "marker-end"],
16663 ["markerMid", "marker-mid"],
16664 ["markerStart", "marker-start"],
16665 ["overlinePosition", "overline-position"],
16666 ["overlineThickness", "overline-thickness"],
16667 ["paintOrder", "paint-order"],
16668 ["panose-1", "panose-1"],
16669 ["pointerEvents", "pointer-events"],
16670 ["renderingIntent", "rendering-intent"],
16671 ["shapeRendering", "shape-rendering"],
16672 ["stopColor", "stop-color"],
16673 ["stopOpacity", "stop-opacity"],
16674 ["strikethroughPosition", "strikethrough-position"],
16675 ["strikethroughThickness", "strikethrough-thickness"],
16676 ["strokeDasharray", "stroke-dasharray"],
16677 ["strokeDashoffset", "stroke-dashoffset"],
16678 ["strokeLinecap", "stroke-linecap"],
16679 ["strokeLinejoin", "stroke-linejoin"],
16680 ["strokeMiterlimit", "stroke-miterlimit"],
16681 ["strokeOpacity", "stroke-opacity"],
16682 ["strokeWidth", "stroke-width"],
16683 ["textAnchor", "text-anchor"],
16684 ["textDecoration", "text-decoration"],
16685 ["textRendering", "text-rendering"],
16686 ["transformOrigin", "transform-origin"],
16687 ["underlinePosition", "underline-position"],
16688 ["underlineThickness", "underline-thickness"],
16689 ["unicodeBidi", "unicode-bidi"],
16690 ["unicodeRange", "unicode-range"],
16691 ["unitsPerEm", "units-per-em"],
16692 ["vAlphabetic", "v-alphabetic"],
16693 ["vHanging", "v-hanging"],
16694 ["vIdeographic", "v-ideographic"],
16695 ["vMathematical", "v-mathematical"],
16696 ["vectorEffect", "vector-effect"],
16697 ["vertAdvY", "vert-adv-y"],
16698 ["vertOriginX", "vert-origin-x"],
16699 ["vertOriginY", "vert-origin-y"],
16700 ["wordSpacing", "word-spacing"],
16701 ["writingMode", "writing-mode"],
16702 ["xmlnsXlink", "xmlns:xlink"],
16703 ["xHeight", "x-height"]
16704 ]), possibleStandardNames = {
16705 accept: "accept",
16706 acceptcharset: "acceptCharset",
16707 "accept-charset": "acceptCharset",
16708 accesskey: "accessKey",
16709 action: "action",
16710 allowfullscreen: "allowFullScreen",
16711 alt: "alt",
16712 as: "as",
16713 async: "async",
16714 autocapitalize: "autoCapitalize",
16715 autocomplete: "autoComplete",
16716 autocorrect: "autoCorrect",
16717 autofocus: "autoFocus",
16718 autoplay: "autoPlay",
16719 autosave: "autoSave",
16720 capture: "capture",
16721 cellpadding: "cellPadding",
16722 cellspacing: "cellSpacing",
16723 challenge: "challenge",
16724 charset: "charSet",
16725 checked: "checked",
16726 children: "children",
16727 cite: "cite",
16728 class: "className",
16729 classid: "classID",
16730 classname: "className",
16731 cols: "cols",
16732 colspan: "colSpan",
16733 content: "content",
16734 contenteditable: "contentEditable",
16735 contextmenu: "contextMenu",
16736 controls: "controls",
16737 controlslist: "controlsList",
16738 coords: "coords",
16739 crossorigin: "crossOrigin",
16740 dangerouslysetinnerhtml: "dangerouslySetInnerHTML",
16741 data: "data",
16742 datetime: "dateTime",
16743 default: "default",
16744 defaultchecked: "defaultChecked",
16745 defaultvalue: "defaultValue",
16746 defer: "defer",
16747 dir: "dir",
16748 disabled: "disabled",
16749 disablepictureinpicture: "disablePictureInPicture",
16750 disableremoteplayback: "disableRemotePlayback",
16751 download: "download",
16752 draggable: "draggable",
16753 enctype: "encType",
16754 enterkeyhint: "enterKeyHint",
16755 fetchpriority: "fetchPriority",
16756 for: "htmlFor",
16757 form: "form",
16758 formmethod: "formMethod",
16759 formaction: "formAction",
16760 formenctype: "formEncType",
16761 formnovalidate: "formNoValidate",
16762 formtarget: "formTarget",
16763 frameborder: "frameBorder",
16764 headers: "headers",
16765 height: "height",
16766 hidden: "hidden",
16767 high: "high",
16768 href: "href",
16769 hreflang: "hrefLang",
16770 htmlfor: "htmlFor",
16771 httpequiv: "httpEquiv",
16772 "http-equiv": "httpEquiv",
16773 icon: "icon",
16774 id: "id",
16775 imagesizes: "imageSizes",
16776 imagesrcset: "imageSrcSet",
16777 inert: "inert",
16778 innerhtml: "innerHTML",
16779 inputmode: "inputMode",
16780 integrity: "integrity",
16781 is: "is",
16782 itemid: "itemID",
16783 itemprop: "itemProp",
16784 itemref: "itemRef",
16785 itemscope: "itemScope",
16786 itemtype: "itemType",
16787 keyparams: "keyParams",
16788 keytype: "keyType",
16789 kind: "kind",
16790 label: "label",
16791 lang: "lang",
16792 list: "list",
16793 loop: "loop",
16794 low: "low",
16795 manifest: "manifest",
16796 marginwidth: "marginWidth",
16797 marginheight: "marginHeight",
16798 max: "max",
16799 maxlength: "maxLength",
16800 media: "media",
16801 mediagroup: "mediaGroup",
16802 method: "method",
16803 min: "min",
16804 minlength: "minLength",
16805 multiple: "multiple",
16806 muted: "muted",
16807 name: "name",
16808 nomodule: "noModule",
16809 nonce: "nonce",
16810 novalidate: "noValidate",
16811 open: "open",
16812 optimum: "optimum",
16813 pattern: "pattern",
16814 placeholder: "placeholder",
16815 playsinline: "playsInline",
16816 poster: "poster",
16817 preload: "preload",
16818 profile: "profile",
16819 radiogroup: "radioGroup",
16820 readonly: "readOnly",
16821 referrerpolicy: "referrerPolicy",
16822 rel: "rel",
16823 required: "required",
16824 reversed: "reversed",
16825 role: "role",
16826 rows: "rows",
16827 rowspan: "rowSpan",
16828 sandbox: "sandbox",
16829 scope: "scope",
16830 scoped: "scoped",
16831 scrolling: "scrolling",
16832 seamless: "seamless",
16833 selected: "selected",
16834 shape: "shape",
16835 size: "size",
16836 sizes: "sizes",
16837 span: "span",
16838 spellcheck: "spellCheck",
16839 src: "src",
16840 srcdoc: "srcDoc",
16841 srclang: "srcLang",
16842 srcset: "srcSet",
16843 start: "start",
16844 step: "step",
16845 style: "style",
16846 summary: "summary",
16847 tabindex: "tabIndex",
16848 target: "target",
16849 title: "title",
16850 type: "type",
16851 usemap: "useMap",
16852 value: "value",
16853 width: "width",
16854 wmode: "wmode",
16855 wrap: "wrap",
16856 about: "about",
16857 accentheight: "accentHeight",
16858 "accent-height": "accentHeight",
16859 accumulate: "accumulate",
16860 additive: "additive",
16861 alignmentbaseline: "alignmentBaseline",
16862 "alignment-baseline": "alignmentBaseline",
16863 allowreorder: "allowReorder",
16864 alphabetic: "alphabetic",
16865 amplitude: "amplitude",
16866 arabicform: "arabicForm",
16867 "arabic-form": "arabicForm",
16868 ascent: "ascent",
16869 attributename: "attributeName",
16870 attributetype: "attributeType",
16871 autoreverse: "autoReverse",
16872 azimuth: "azimuth",
16873 basefrequency: "baseFrequency",
16874 baselineshift: "baselineShift",
16875 "baseline-shift": "baselineShift",
16876 baseprofile: "baseProfile",
16877 bbox: "bbox",
16878 begin: "begin",
16879 bias: "bias",
16880 by: "by",
16881 calcmode: "calcMode",
16882 capheight: "capHeight",
16883 "cap-height": "capHeight",
16884 clip: "clip",
16885 clippath: "clipPath",
16886 "clip-path": "clipPath",
16887 clippathunits: "clipPathUnits",
16888 cliprule: "clipRule",
16889 "clip-rule": "clipRule",
16890 color: "color",
16891 colorinterpolation: "colorInterpolation",
16892 "color-interpolation": "colorInterpolation",
16893 colorinterpolationfilters: "colorInterpolationFilters",
16894 "color-interpolation-filters": "colorInterpolationFilters",
16895 colorprofile: "colorProfile",
16896 "color-profile": "colorProfile",
16897 colorrendering: "colorRendering",
16898 "color-rendering": "colorRendering",
16899 contentscripttype: "contentScriptType",
16900 contentstyletype: "contentStyleType",
16901 cursor: "cursor",
16902 cx: "cx",
16903 cy: "cy",
16904 d: "d",
16905 datatype: "datatype",
16906 decelerate: "decelerate",
16907 descent: "descent",
16908 diffuseconstant: "diffuseConstant",
16909 direction: "direction",
16910 display: "display",
16911 divisor: "divisor",
16912 dominantbaseline: "dominantBaseline",
16913 "dominant-baseline": "dominantBaseline",
16914 dur: "dur",
16915 dx: "dx",
16916 dy: "dy",
16917 edgemode: "edgeMode",
16918 elevation: "elevation",
16919 enablebackground: "enableBackground",
16920 "enable-background": "enableBackground",
16921 end: "end",
16922 exponent: "exponent",
16923 externalresourcesrequired: "externalResourcesRequired",
16924 fill: "fill",
16925 fillopacity: "fillOpacity",
16926 "fill-opacity": "fillOpacity",
16927 fillrule: "fillRule",
16928 "fill-rule": "fillRule",
16929 filter: "filter",
16930 filterres: "filterRes",
16931 filterunits: "filterUnits",
16932 floodopacity: "floodOpacity",
16933 "flood-opacity": "floodOpacity",
16934 floodcolor: "floodColor",
16935 "flood-color": "floodColor",
16936 focusable: "focusable",
16937 fontfamily: "fontFamily",
16938 "font-family": "fontFamily",
16939 fontsize: "fontSize",
16940 "font-size": "fontSize",
16941 fontsizeadjust: "fontSizeAdjust",
16942 "font-size-adjust": "fontSizeAdjust",
16943 fontstretch: "fontStretch",
16944 "font-stretch": "fontStretch",
16945 fontstyle: "fontStyle",
16946 "font-style": "fontStyle",
16947 fontvariant: "fontVariant",
16948 "font-variant": "fontVariant",
16949 fontweight: "fontWeight",
16950 "font-weight": "fontWeight",
16951 format: "format",
16952 from: "from",
16953 fx: "fx",
16954 fy: "fy",
16955 g1: "g1",
16956 g2: "g2",
16957 glyphname: "glyphName",
16958 "glyph-name": "glyphName",
16959 glyphorientationhorizontal: "glyphOrientationHorizontal",
16960 "glyph-orientation-horizontal": "glyphOrientationHorizontal",
16961 glyphorientationvertical: "glyphOrientationVertical",
16962 "glyph-orientation-vertical": "glyphOrientationVertical",
16963 glyphref: "glyphRef",
16964 gradienttransform: "gradientTransform",
16965 gradientunits: "gradientUnits",
16966 hanging: "hanging",
16967 horizadvx: "horizAdvX",
16968 "horiz-adv-x": "horizAdvX",
16969 horizoriginx: "horizOriginX",
16970 "horiz-origin-x": "horizOriginX",
16971 ideographic: "ideographic",
16972 imagerendering: "imageRendering",
16973 "image-rendering": "imageRendering",
16974 in2: "in2",
16975 in: "in",
16976 inlist: "inlist",
16977 intercept: "intercept",
16978 k1: "k1",
16979 k2: "k2",
16980 k3: "k3",
16981 k4: "k4",
16982 k: "k",
16983 kernelmatrix: "kernelMatrix",
16984 kernelunitlength: "kernelUnitLength",
16985 kerning: "kerning",
16986 keypoints: "keyPoints",
16987 keysplines: "keySplines",
16988 keytimes: "keyTimes",
16989 lengthadjust: "lengthAdjust",
16990 letterspacing: "letterSpacing",
16991 "letter-spacing": "letterSpacing",
16992 lightingcolor: "lightingColor",
16993 "lighting-color": "lightingColor",
16994 limitingconeangle: "limitingConeAngle",
16995 local: "local",
16996 markerend: "markerEnd",
16997 "marker-end": "markerEnd",
16998 markerheight: "markerHeight",
16999 markermid: "markerMid",
17000 "marker-mid": "markerMid",
17001 markerstart: "markerStart",
17002 "marker-start": "markerStart",
17003 markerunits: "markerUnits",
17004 markerwidth: "markerWidth",
17005 mask: "mask",
17006 maskcontentunits: "maskContentUnits",
17007 maskunits: "maskUnits",
17008 mathematical: "mathematical",
17009 mode: "mode",
17010 numoctaves: "numOctaves",
17011 offset: "offset",
17012 opacity: "opacity",
17013 operator: "operator",
17014 order: "order",
17015 orient: "orient",
17016 orientation: "orientation",
17017 origin: "origin",
17018 overflow: "overflow",
17019 overlineposition: "overlinePosition",
17020 "overline-position": "overlinePosition",
17021 overlinethickness: "overlineThickness",
17022 "overline-thickness": "overlineThickness",
17023 paintorder: "paintOrder",
17024 "paint-order": "paintOrder",
17025 panose1: "panose1",
17026 "panose-1": "panose1",
17027 pathlength: "pathLength",
17028 patterncontentunits: "patternContentUnits",
17029 patterntransform: "patternTransform",
17030 patternunits: "patternUnits",
17031 pointerevents: "pointerEvents",
17032 "pointer-events": "pointerEvents",
17033 points: "points",
17034 pointsatx: "pointsAtX",
17035 pointsaty: "pointsAtY",
17036 pointsatz: "pointsAtZ",
17037 popover: "popover",
17038 popovertarget: "popoverTarget",
17039 popovertargetaction: "popoverTargetAction",
17040 prefix: "prefix",
17041 preservealpha: "preserveAlpha",
17042 preserveaspectratio: "preserveAspectRatio",
17043 primitiveunits: "primitiveUnits",
17044 property: "property",
17045 r: "r",
17046 radius: "radius",
17047 refx: "refX",
17048 refy: "refY",
17049 renderingintent: "renderingIntent",
17050 "rendering-intent": "renderingIntent",
17051 repeatcount: "repeatCount",
17052 repeatdur: "repeatDur",
17053 requiredextensions: "requiredExtensions",
17054 requiredfeatures: "requiredFeatures",
17055 resource: "resource",
17056 restart: "restart",
17057 result: "result",
17058 results: "results",
17059 rotate: "rotate",
17060 rx: "rx",
17061 ry: "ry",
17062 scale: "scale",
17063 security: "security",
17064 seed: "seed",
17065 shaperendering: "shapeRendering",
17066 "shape-rendering": "shapeRendering",
17067 slope: "slope",
17068 spacing: "spacing",
17069 specularconstant: "specularConstant",
17070 specularexponent: "specularExponent",
17071 speed: "speed",
17072 spreadmethod: "spreadMethod",
17073 startoffset: "startOffset",
17074 stddeviation: "stdDeviation",
17075 stemh: "stemh",
17076 stemv: "stemv",
17077 stitchtiles: "stitchTiles",
17078 stopcolor: "stopColor",
17079 "stop-color": "stopColor",
17080 stopopacity: "stopOpacity",
17081 "stop-opacity": "stopOpacity",
17082 strikethroughposition: "strikethroughPosition",
17083 "strikethrough-position": "strikethroughPosition",
17084 strikethroughthickness: "strikethroughThickness",
17085 "strikethrough-thickness": "strikethroughThickness",
17086 string: "string",
17087 stroke: "stroke",
17088 strokedasharray: "strokeDasharray",
17089 "stroke-dasharray": "strokeDasharray",
17090 strokedashoffset: "strokeDashoffset",
17091 "stroke-dashoffset": "strokeDashoffset",
17092 strokelinecap: "strokeLinecap",
17093 "stroke-linecap": "strokeLinecap",
17094 strokelinejoin: "strokeLinejoin",
17095 "stroke-linejoin": "strokeLinejoin",
17096 strokemiterlimit: "strokeMiterlimit",
17097 "stroke-miterlimit": "strokeMiterlimit",
17098 strokewidth: "strokeWidth",
17099 "stroke-width": "strokeWidth",
17100 strokeopacity: "strokeOpacity",
17101 "stroke-opacity": "strokeOpacity",
17102 suppresscontenteditablewarning: "suppressContentEditableWarning",
17103 suppresshydrationwarning: "suppressHydrationWarning",
17104 surfacescale: "surfaceScale",
17105 systemlanguage: "systemLanguage",
17106 tablevalues: "tableValues",
17107 targetx: "targetX",
17108 targety: "targetY",
17109 textanchor: "textAnchor",
17110 "text-anchor": "textAnchor",
17111 textdecoration: "textDecoration",
17112 "text-decoration": "textDecoration",
17113 textlength: "textLength",
17114 textrendering: "textRendering",
17115 "text-rendering": "textRendering",
17116 to: "to",
17117 transform: "transform",
17118 transformorigin: "transformOrigin",
17119 "transform-origin": "transformOrigin",
17120 typeof: "typeof",
17121 u1: "u1",
17122 u2: "u2",
17123 underlineposition: "underlinePosition",
17124 "underline-position": "underlinePosition",
17125 underlinethickness: "underlineThickness",
17126 "underline-thickness": "underlineThickness",
17127 unicode: "unicode",
17128 unicodebidi: "unicodeBidi",
17129 "unicode-bidi": "unicodeBidi",
17130 unicoderange: "unicodeRange",
17131 "unicode-range": "unicodeRange",
17132 unitsperem: "unitsPerEm",
17133 "units-per-em": "unitsPerEm",
17134 unselectable: "unselectable",
17135 valphabetic: "vAlphabetic",
17136 "v-alphabetic": "vAlphabetic",
17137 values: "values",
17138 vectoreffect: "vectorEffect",
17139 "vector-effect": "vectorEffect",
17140 version: "version",
17141 vertadvy: "vertAdvY",
17142 "vert-adv-y": "vertAdvY",
17143 vertoriginx: "vertOriginX",
17144 "vert-origin-x": "vertOriginX",
17145 vertoriginy: "vertOriginY",
17146 "vert-origin-y": "vertOriginY",
17147 vhanging: "vHanging",
17148 "v-hanging": "vHanging",
17149 videographic: "vIdeographic",
17150 "v-ideographic": "vIdeographic",
17151 viewbox: "viewBox",
17152 viewtarget: "viewTarget",
17153 visibility: "visibility",
17154 vmathematical: "vMathematical",
17155 "v-mathematical": "vMathematical",
17156 vocab: "vocab",
17157 widths: "widths",
17158 wordspacing: "wordSpacing",
17159 "word-spacing": "wordSpacing",
17160 writingmode: "writingMode",
17161 "writing-mode": "writingMode",
17162 x1: "x1",
17163 x2: "x2",
17164 x: "x",
17165 xchannelselector: "xChannelSelector",
17166 xheight: "xHeight",
17167 "x-height": "xHeight",
17168 xlinkactuate: "xlinkActuate",
17169 "xlink:actuate": "xlinkActuate",
17170 xlinkarcrole: "xlinkArcrole",
17171 "xlink:arcrole": "xlinkArcrole",
17172 xlinkhref: "xlinkHref",
17173 "xlink:href": "xlinkHref",
17174 xlinkrole: "xlinkRole",
17175 "xlink:role": "xlinkRole",
17176 xlinkshow: "xlinkShow",
17177 "xlink:show": "xlinkShow",
17178 xlinktitle: "xlinkTitle",
17179 "xlink:title": "xlinkTitle",
17180 xlinktype: "xlinkType",
17181 "xlink:type": "xlinkType",
17182 xmlbase: "xmlBase",
17183 "xml:base": "xmlBase",
17184 xmllang: "xmlLang",
17185 "xml:lang": "xmlLang",
17186 xmlns: "xmlns",
17187 "xml:space": "xmlSpace",
17188 xmlnsxlink: "xmlnsXlink",
17189 "xmlns:xlink": "xmlnsXlink",
17190 xmlspace: "xmlSpace",
17191 y1: "y1",
17192 y2: "y2",
17193 y: "y",
17194 ychannelselector: "yChannelSelector",
17195 z: "z",
17196 zoomandpan: "zoomAndPan"
17197 }, ariaProperties = {
17198 "aria-current": 0,
17199 "aria-description": 0,
17200 "aria-details": 0,
17201 "aria-disabled": 0,
17202 "aria-hidden": 0,
17203 "aria-invalid": 0,
17204 "aria-keyshortcuts": 0,
17205 "aria-label": 0,
17206 "aria-roledescription": 0,
17207 "aria-autocomplete": 0,
17208 "aria-checked": 0,
17209 "aria-expanded": 0,
17210 "aria-haspopup": 0,
17211 "aria-level": 0,
17212 "aria-modal": 0,
17213 "aria-multiline": 0,
17214 "aria-multiselectable": 0,
17215 "aria-orientation": 0,
17216 "aria-placeholder": 0,
17217 "aria-pressed": 0,
17218 "aria-readonly": 0,
17219 "aria-required": 0,
17220 "aria-selected": 0,
17221 "aria-sort": 0,
17222 "aria-valuemax": 0,
17223 "aria-valuemin": 0,
17224 "aria-valuenow": 0,
17225 "aria-valuetext": 0,
17226 "aria-atomic": 0,
17227 "aria-busy": 0,
17228 "aria-live": 0,
17229 "aria-relevant": 0,
17230 "aria-dropeffect": 0,
17231 "aria-grabbed": 0,
17232 "aria-activedescendant": 0,
17233 "aria-colcount": 0,
17234 "aria-colindex": 0,
17235 "aria-colspan": 0,
17236 "aria-controls": 0,
17237 "aria-describedby": 0,
17238 "aria-errormessage": 0,
17239 "aria-flowto": 0,
17240 "aria-labelledby": 0,
17241 "aria-owns": 0,
17242 "aria-posinset": 0,
17243 "aria-rowcount": 0,
17244 "aria-rowindex": 0,
17245 "aria-rowspan": 0,
17246 "aria-setsize": 0
17247 }, warnedProperties$1 = {}, rARIA$1 = RegExp(
17248 "^(aria)-[: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]*$"
17249 ), rARIACamel$1 = RegExp(
17250 "^(aria)[A-Z][: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]*$"
17251 ), didWarnValueNull = false, warnedProperties = {}, EVENT_NAME_REGEX = /^on./, INVALID_EVENT_NAME_REGEX = /^on[^A-Z]/, rARIA = RegExp(
17252 "^(aria)-[: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]*$"
17253 ), rARIACamel = RegExp(
17254 "^(aria)[A-Z][: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]*$"
17255 ), 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, currentReplayingEvent = null, restoreTarget = null, restoreQueue = null, isInsideEventHandler = false, canUseDOM = !("undefined" === typeof window || "undefined" === typeof window.document || "undefined" === typeof window.document.createElement), passiveBrowserEventsSupported = false;
17256 if (canUseDOM)
17257 try {
17258 var options$jscomp$0 = {};
17259 Object.defineProperty(options$jscomp$0, "passive", {
17260 get: function() {
17261 passiveBrowserEventsSupported = true;
17262 }
17263 });
17264 window.addEventListener("test", options$jscomp$0, options$jscomp$0);
17265 window.removeEventListener("test", options$jscomp$0, options$jscomp$0);
17266 } catch (e) {
17267 passiveBrowserEventsSupported = false;
17268 }
17269 var root = null, startText = null, fallbackText = null, EventInterface = {
17270 eventPhase: 0,
17271 bubbles: 0,
17272 cancelable: 0,
17273 timeStamp: function(event) {
17274 return event.timeStamp || Date.now();
17275 },
17276 defaultPrevented: 0,
17277 isTrusted: 0
17278 }, SyntheticEvent = createSyntheticEvent(EventInterface), UIEventInterface = assign({}, EventInterface, { view: 0, detail: 0 }), SyntheticUIEvent = createSyntheticEvent(UIEventInterface), lastMovementX, lastMovementY, lastMouseEvent, MouseEventInterface = assign({}, UIEventInterface, {
17279 screenX: 0,
17280 screenY: 0,
17281 clientX: 0,
17282 clientY: 0,
17283 pageX: 0,
17284 pageY: 0,
17285 ctrlKey: 0,
17286 shiftKey: 0,
17287 altKey: 0,
17288 metaKey: 0,
17289 getModifierState: getEventModifierState,
17290 button: 0,
17291 buttons: 0,
17292 relatedTarget: function(event) {
17293 return void 0 === event.relatedTarget ? event.fromElement === event.srcElement ? event.toElement : event.fromElement : event.relatedTarget;
17294 },
17295 movementX: function(event) {
17296 if ("movementX" in event) return event.movementX;
17297 event !== lastMouseEvent && (lastMouseEvent && "mousemove" === event.type ? (lastMovementX = event.screenX - lastMouseEvent.screenX, lastMovementY = event.screenY - lastMouseEvent.screenY) : lastMovementY = lastMovementX = 0, lastMouseEvent = event);
17298 return lastMovementX;
17299 },
17300 movementY: function(event) {
17301 return "movementY" in event ? event.movementY : lastMovementY;
17302 }
17303 }), SyntheticMouseEvent = createSyntheticEvent(MouseEventInterface), DragEventInterface = assign({}, MouseEventInterface, { dataTransfer: 0 }), SyntheticDragEvent = createSyntheticEvent(DragEventInterface), FocusEventInterface = assign({}, UIEventInterface, { relatedTarget: 0 }), SyntheticFocusEvent = createSyntheticEvent(FocusEventInterface), AnimationEventInterface = assign({}, EventInterface, {
17304 animationName: 0,
17305 elapsedTime: 0,
17306 pseudoElement: 0
17307 }), SyntheticAnimationEvent = createSyntheticEvent(AnimationEventInterface), ClipboardEventInterface = assign({}, EventInterface, {
17308 clipboardData: function(event) {
17309 return "clipboardData" in event ? event.clipboardData : window.clipboardData;
17310 }
17311 }), SyntheticClipboardEvent = createSyntheticEvent(ClipboardEventInterface), CompositionEventInterface = assign({}, EventInterface, { data: 0 }), SyntheticCompositionEvent = createSyntheticEvent(
17312 CompositionEventInterface
17313 ), SyntheticInputEvent = SyntheticCompositionEvent, normalizeKey = {
17314 Esc: "Escape",
17315 Spacebar: " ",
17316 Left: "ArrowLeft",
17317 Up: "ArrowUp",
17318 Right: "ArrowRight",
17319 Down: "ArrowDown",
17320 Del: "Delete",
17321 Win: "OS",
17322 Menu: "ContextMenu",
17323 Apps: "ContextMenu",
17324 Scroll: "ScrollLock",
17325 MozPrintableKey: "Unidentified"
17326 }, translateToKey = {
17327 8: "Backspace",
17328 9: "Tab",
17329 12: "Clear",
17330 13: "Enter",
17331 16: "Shift",
17332 17: "Control",
17333 18: "Alt",
17334 19: "Pause",
17335 20: "CapsLock",
17336 27: "Escape",
17337 32: " ",
17338 33: "PageUp",
17339 34: "PageDown",
17340 35: "End",
17341 36: "Home",
17342 37: "ArrowLeft",
17343 38: "ArrowUp",
17344 39: "ArrowRight",
17345 40: "ArrowDown",
17346 45: "Insert",
17347 46: "Delete",
17348 112: "F1",
17349 113: "F2",
17350 114: "F3",
17351 115: "F4",
17352 116: "F5",
17353 117: "F6",
17354 118: "F7",
17355 119: "F8",
17356 120: "F9",
17357 121: "F10",
17358 122: "F11",
17359 123: "F12",
17360 144: "NumLock",
17361 145: "ScrollLock",
17362 224: "Meta"
17363 }, modifierKeyToProp = {
17364 Alt: "altKey",
17365 Control: "ctrlKey",
17366 Meta: "metaKey",
17367 Shift: "shiftKey"
17368 }, KeyboardEventInterface = assign({}, UIEventInterface, {
17369 key: function(nativeEvent) {
17370 if (nativeEvent.key) {
17371 var key = normalizeKey[nativeEvent.key] || nativeEvent.key;
17372 if ("Unidentified" !== key) return key;
17373 }
17374 return "keypress" === nativeEvent.type ? (nativeEvent = getEventCharCode(nativeEvent), 13 === nativeEvent ? "Enter" : String.fromCharCode(nativeEvent)) : "keydown" === nativeEvent.type || "keyup" === nativeEvent.type ? translateToKey[nativeEvent.keyCode] || "Unidentified" : "";
17375 },
17376 code: 0,
17377 location: 0,
17378 ctrlKey: 0,
17379 shiftKey: 0,
17380 altKey: 0,
17381 metaKey: 0,
17382 repeat: 0,
17383 locale: 0,
17384 getModifierState: getEventModifierState,
17385 charCode: function(event) {
17386 return "keypress" === event.type ? getEventCharCode(event) : 0;
17387 },
17388 keyCode: function(event) {
17389 return "keydown" === event.type || "keyup" === event.type ? event.keyCode : 0;
17390 },
17391 which: function(event) {
17392 return "keypress" === event.type ? getEventCharCode(event) : "keydown" === event.type || "keyup" === event.type ? event.keyCode : 0;
17393 }
17394 }), SyntheticKeyboardEvent = createSyntheticEvent(KeyboardEventInterface), PointerEventInterface = assign({}, MouseEventInterface, {
17395 pointerId: 0,
17396 width: 0,
17397 height: 0,
17398 pressure: 0,
17399 tangentialPressure: 0,
17400 tiltX: 0,
17401 tiltY: 0,
17402 twist: 0,
17403 pointerType: 0,
17404 isPrimary: 0
17405 }), SyntheticPointerEvent = createSyntheticEvent(PointerEventInterface), TouchEventInterface = assign({}, UIEventInterface, {
17406 touches: 0,
17407 targetTouches: 0,
17408 changedTouches: 0,
17409 altKey: 0,
17410 metaKey: 0,
17411 ctrlKey: 0,
17412 shiftKey: 0,
17413 getModifierState: getEventModifierState
17414 }), SyntheticTouchEvent = createSyntheticEvent(TouchEventInterface), TransitionEventInterface = assign({}, EventInterface, {
17415 propertyName: 0,
17416 elapsedTime: 0,
17417 pseudoElement: 0
17418 }), SyntheticTransitionEvent = createSyntheticEvent(TransitionEventInterface), WheelEventInterface = assign({}, MouseEventInterface, {
17419 deltaX: function(event) {
17420 return "deltaX" in event ? event.deltaX : "wheelDeltaX" in event ? -event.wheelDeltaX : 0;
17421 },
17422 deltaY: function(event) {
17423 return "deltaY" in event ? event.deltaY : "wheelDeltaY" in event ? -event.wheelDeltaY : "wheelDelta" in event ? -event.wheelDelta : 0;
17424 },
17425 deltaZ: 0,
17426 deltaMode: 0
17427 }), SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface), ToggleEventInterface = assign({}, EventInterface, {
17428 newState: 0,
17429 oldState: 0
17430 }), SyntheticToggleEvent = createSyntheticEvent(ToggleEventInterface), END_KEYCODES = [9, 13, 27, 32], START_KEYCODE = 229, canUseCompositionEvent = canUseDOM && "CompositionEvent" in window, documentMode = null;
17431 canUseDOM && "documentMode" in document && (documentMode = document.documentMode);
17432 var canUseTextInputEvent = canUseDOM && "TextEvent" in window && !documentMode, useFallbackCompositionData = canUseDOM && (!canUseCompositionEvent || documentMode && 8 < documentMode && 11 >= documentMode), SPACEBAR_CODE = 32, SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE), hasSpaceKeypress = false, isComposing = false, supportedInputTypes = {
17433 color: true,
17434 date: true,
17435 datetime: true,
17436 "datetime-local": true,
17437 email: true,
17438 month: true,
17439 number: true,
17440 password: true,
17441 range: true,
17442 search: true,
17443 tel: true,
17444 text: true,
17445 time: true,
17446 url: true,
17447 week: true
17448 }, activeElement$1 = null, activeElementInst$1 = null, isInputEventSupported = false;
17449 canUseDOM && (isInputEventSupported = isEventSupported("input") && (!document.documentMode || 9 < document.documentMode));
17450 var objectIs = "function" === typeof Object.is ? Object.is : is, skipSelectionChangeEvent = canUseDOM && "documentMode" in document && 11 >= document.documentMode, activeElement = null, activeElementInst = null, lastSelection = null, mouseDown = false, vendorPrefixes = {
17451 animationend: makePrefixMap("Animation", "AnimationEnd"),
17452 animationiteration: makePrefixMap("Animation", "AnimationIteration"),
17453 animationstart: makePrefixMap("Animation", "AnimationStart"),
17454 transitionrun: makePrefixMap("Transition", "TransitionRun"),
17455 transitionstart: makePrefixMap("Transition", "TransitionStart"),
17456 transitioncancel: makePrefixMap("Transition", "TransitionCancel"),
17457 transitionend: makePrefixMap("Transition", "TransitionEnd")
17458 }, prefixedEventNames = {}, style = {};
17459 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);
17460 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 = /* @__PURE__ */ 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(
17461 " "
17462 );
17463 simpleEventPluginEvents.push("scrollEnd");
17464 var CapturedStacks = /* @__PURE__ */ new WeakMap(), OffscreenVisible = 1, OffscreenPassiveEffectsConnected = 2, concurrentQueues = [], concurrentQueuesIndex = 0, concurrentlyUpdatedLanes = 0, emptyContextObject = {};
17465 Object.freeze(emptyContextObject);
17466 var resolveFamily = null, failedBoundaries = null, NoMode = 0, ConcurrentMode = 1, ProfileMode = 2, StrictLegacyMode = 8, StrictEffectsMode = 16, NoStrictPassiveEffectsMode = 64;
17467 var hasBadMapPolyfill = false;
17468 try {
17469 var nonExtensibleObject = Object.preventExtensions({});
17470 /* @__PURE__ */ new Map([[nonExtensibleObject, null]]);
17471 /* @__PURE__ */ new Set([nonExtensibleObject]);
17472 } catch (e$3) {
17473 hasBadMapPolyfill = true;
17474 }
17475 var forkStack = [], forkStackIndex = 0, treeForkProvider = null, treeForkCount = 0, idStack = [], idStackIndex = 0, treeContextProvider = null, treeContextId = 1, treeContextOverflow = "", hydrationParentFiber = null, nextHydratableInstance = null, isHydrating = false, didSuspendOrErrorDEV = false, hydrationDiffRootDEV = null, hydrationErrors = null, rootOrSingletonContext = false, HydrationMismatchException = Error(
17476 "Hydration Mismatch Exception: This is not a real error, and should not leak into userspace. If you're seeing this, it's likely a bug in React."
17477 ), lastResetTime = 0;
17478 if ("object" === typeof performance && "function" === typeof performance.now) {
17479 var localPerformance = performance;
17480 var getCurrentTime = function() {
17481 return localPerformance.now();
17482 };
17483 } else {
17484 var localDate = Date;
17485 getCurrentTime = function() {
17486 return localDate.now();
17487 };
17488 }
17489 var valueCursor = createCursor(null);
17490 var rendererCursorDEV = createCursor(null);
17491 var rendererSigil = {};
17492 var currentlyRenderingFiber$1 = null, lastContextDependency = null, isDisallowedContextReadInDEV = false, AbortControllerLocal = "undefined" !== typeof AbortController ? AbortController : function() {
17493 var listeners = [], signal = this.signal = {
17494 aborted: false,
17495 addEventListener: function(type, listener) {
17496 listeners.push(listener);
17497 }
17498 };
17499 this.abort = function() {
17500 signal.aborted = true;
17501 listeners.forEach(function(listener) {
17502 return listener();
17503 });
17504 };
17505 }, scheduleCallback$2 = Scheduler.unstable_scheduleCallback, NormalPriority = Scheduler.unstable_NormalPriority, CacheContext = {
17506 $$typeof: REACT_CONTEXT_TYPE,
17507 Consumer: null,
17508 Provider: null,
17509 _currentValue: null,
17510 _currentValue2: null,
17511 _threadCount: 0,
17512 _currentRenderer: null,
17513 _currentRenderer2: null
17514 }, now = Scheduler.unstable_now, renderStartTime = -0, commitStartTime = -0, profilerStartTime = -1.1, profilerEffectDuration = -0, currentUpdateIsNested = false, nestedUpdateScheduled = false, currentEntangledListeners = null, currentEntangledPendingCount = 0, currentEntangledLane = 0, currentEntangledActionThenable = null, prevOnStartTransitionFinish = ReactSharedInternals.S;
17515 ReactSharedInternals.S = function(transition, returnValue) {
17516 "object" === typeof returnValue && null !== returnValue && "function" === typeof returnValue.then && entangleAsyncAction(transition, returnValue);
17517 null !== prevOnStartTransitionFinish && prevOnStartTransitionFinish(transition, returnValue);
17518 };
17519 var resumedCache = createCursor(null), ReactStrictModeWarnings = {
17520 recordUnsafeLifecycleWarnings: function() {
17521 },
17522 flushPendingUnsafeLifecycleWarnings: function() {
17523 },
17524 recordLegacyContextWarning: function() {
17525 },
17526 flushLegacyContextWarning: function() {
17527 },
17528 discardPendingWarnings: function() {
17529 }
17530 }, pendingComponentWillMountWarnings = [], pendingUNSAFE_ComponentWillMountWarnings = [], pendingComponentWillReceivePropsWarnings = [], pendingUNSAFE_ComponentWillReceivePropsWarnings = [], pendingComponentWillUpdateWarnings = [], pendingUNSAFE_ComponentWillUpdateWarnings = [], didWarnAboutUnsafeLifecycles = /* @__PURE__ */ new Set();
17531 ReactStrictModeWarnings.recordUnsafeLifecycleWarnings = function(fiber, instance) {
17532 didWarnAboutUnsafeLifecycles.has(fiber.type) || ("function" === typeof instance.componentWillMount && true !== instance.componentWillMount.__suppressDeprecationWarning && pendingComponentWillMountWarnings.push(fiber), fiber.mode & StrictLegacyMode && "function" === typeof instance.UNSAFE_componentWillMount && pendingUNSAFE_ComponentWillMountWarnings.push(fiber), "function" === typeof instance.componentWillReceiveProps && true !== instance.componentWillReceiveProps.__suppressDeprecationWarning && pendingComponentWillReceivePropsWarnings.push(fiber), fiber.mode & StrictLegacyMode && "function" === typeof instance.UNSAFE_componentWillReceiveProps && pendingUNSAFE_ComponentWillReceivePropsWarnings.push(fiber), "function" === typeof instance.componentWillUpdate && true !== instance.componentWillUpdate.__suppressDeprecationWarning && pendingComponentWillUpdateWarnings.push(fiber), fiber.mode & StrictLegacyMode && "function" === typeof instance.UNSAFE_componentWillUpdate && pendingUNSAFE_ComponentWillUpdateWarnings.push(fiber));
17533 };
17534 ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings = function() {
17535 var componentWillMountUniqueNames = /* @__PURE__ */ new Set();
17536 0 < pendingComponentWillMountWarnings.length && (pendingComponentWillMountWarnings.forEach(function(fiber) {
17537 componentWillMountUniqueNames.add(
17538 getComponentNameFromFiber(fiber) || "Component"
17539 );
17540 didWarnAboutUnsafeLifecycles.add(fiber.type);
17541 }), pendingComponentWillMountWarnings = []);
17542 var UNSAFE_componentWillMountUniqueNames = /* @__PURE__ */ new Set();
17543 0 < pendingUNSAFE_ComponentWillMountWarnings.length && (pendingUNSAFE_ComponentWillMountWarnings.forEach(function(fiber) {
17544 UNSAFE_componentWillMountUniqueNames.add(
17545 getComponentNameFromFiber(fiber) || "Component"
17546 );
17547 didWarnAboutUnsafeLifecycles.add(fiber.type);
17548 }), pendingUNSAFE_ComponentWillMountWarnings = []);
17549 var componentWillReceivePropsUniqueNames = /* @__PURE__ */ new Set();
17550 0 < pendingComponentWillReceivePropsWarnings.length && (pendingComponentWillReceivePropsWarnings.forEach(function(fiber) {
17551 componentWillReceivePropsUniqueNames.add(
17552 getComponentNameFromFiber(fiber) || "Component"
17553 );
17554 didWarnAboutUnsafeLifecycles.add(fiber.type);
17555 }), pendingComponentWillReceivePropsWarnings = []);
17556 var UNSAFE_componentWillReceivePropsUniqueNames = /* @__PURE__ */ new Set();
17557 0 < pendingUNSAFE_ComponentWillReceivePropsWarnings.length && (pendingUNSAFE_ComponentWillReceivePropsWarnings.forEach(
17558 function(fiber) {
17559 UNSAFE_componentWillReceivePropsUniqueNames.add(
17560 getComponentNameFromFiber(fiber) || "Component"
17561 );
17562 didWarnAboutUnsafeLifecycles.add(fiber.type);
17563 }
17564 ), pendingUNSAFE_ComponentWillReceivePropsWarnings = []);
17565 var componentWillUpdateUniqueNames = /* @__PURE__ */ new Set();
17566 0 < pendingComponentWillUpdateWarnings.length && (pendingComponentWillUpdateWarnings.forEach(function(fiber) {
17567 componentWillUpdateUniqueNames.add(
17568 getComponentNameFromFiber(fiber) || "Component"
17569 );
17570 didWarnAboutUnsafeLifecycles.add(fiber.type);
17571 }), pendingComponentWillUpdateWarnings = []);
17572 var UNSAFE_componentWillUpdateUniqueNames = /* @__PURE__ */ new Set();
17573 0 < pendingUNSAFE_ComponentWillUpdateWarnings.length && (pendingUNSAFE_ComponentWillUpdateWarnings.forEach(function(fiber) {
17574 UNSAFE_componentWillUpdateUniqueNames.add(
17575 getComponentNameFromFiber(fiber) || "Component"
17576 );
17577 didWarnAboutUnsafeLifecycles.add(fiber.type);
17578 }), pendingUNSAFE_ComponentWillUpdateWarnings = []);
17579 if (0 < UNSAFE_componentWillMountUniqueNames.size) {
17580 var sortedNames = setToSortedString(
17581 UNSAFE_componentWillMountUniqueNames
17582 );
17583 console.error(
17584 "Using UNSAFE_componentWillMount in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move code with side effects to componentDidMount, and set initial state in the constructor.\n\nPlease update the following components: %s",
17585 sortedNames
17586 );
17587 }
17588 0 < UNSAFE_componentWillReceivePropsUniqueNames.size && (sortedNames = setToSortedString(
17589 UNSAFE_componentWillReceivePropsUniqueNames
17590 ), console.error(
17591 "Using UNSAFE_componentWillReceiveProps in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://react.dev/link/derived-state\n\nPlease update the following components: %s",
17592 sortedNames
17593 ));
17594 0 < UNSAFE_componentWillUpdateUniqueNames.size && (sortedNames = setToSortedString(
17595 UNSAFE_componentWillUpdateUniqueNames
17596 ), console.error(
17597 "Using UNSAFE_componentWillUpdate in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n\nPlease update the following components: %s",
17598 sortedNames
17599 ));
17600 0 < componentWillMountUniqueNames.size && (sortedNames = setToSortedString(componentWillMountUniqueNames), console.warn(
17601 "componentWillMount has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move code with side effects to componentDidMount, and set initial state in the constructor.\n* Rename componentWillMount to UNSAFE_componentWillMount to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.\n\nPlease update the following components: %s",
17602 sortedNames
17603 ));
17604 0 < componentWillReceivePropsUniqueNames.size && (sortedNames = setToSortedString(
17605 componentWillReceivePropsUniqueNames
17606 ), console.warn(
17607 "componentWillReceiveProps has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://react.dev/link/derived-state\n* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.\n\nPlease update the following components: %s",
17608 sortedNames
17609 ));
17610 0 < componentWillUpdateUniqueNames.size && (sortedNames = setToSortedString(componentWillUpdateUniqueNames), console.warn(
17611 "componentWillUpdate has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n* Rename componentWillUpdate to UNSAFE_componentWillUpdate to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.\n\nPlease update the following components: %s",
17612 sortedNames
17613 ));
17614 };
17615 var pendingLegacyContextWarning = /* @__PURE__ */ new Map(), didWarnAboutLegacyContext = /* @__PURE__ */ new Set();
17616 ReactStrictModeWarnings.recordLegacyContextWarning = function(fiber, instance) {
17617 var strictRoot = null;
17618 for (var node = fiber; null !== node; )
17619 node.mode & StrictLegacyMode && (strictRoot = node), node = node.return;
17620 null === strictRoot ? console.error(
17621 "Expected to find a StrictMode component in a strict mode tree. This error is likely caused by a bug in React. Please file an issue."
17622 ) : !didWarnAboutLegacyContext.has(fiber.type) && (node = pendingLegacyContextWarning.get(strictRoot), null != fiber.type.contextTypes || null != fiber.type.childContextTypes || null !== instance && "function" === typeof instance.getChildContext) && (void 0 === node && (node = [], pendingLegacyContextWarning.set(strictRoot, node)), node.push(fiber));
17623 };
17624 ReactStrictModeWarnings.flushLegacyContextWarning = function() {
17625 pendingLegacyContextWarning.forEach(function(fiberArray) {
17626 if (0 !== fiberArray.length) {
17627 var firstFiber = fiberArray[0], uniqueNames = /* @__PURE__ */ new Set();
17628 fiberArray.forEach(function(fiber) {
17629 uniqueNames.add(getComponentNameFromFiber(fiber) || "Component");
17630 didWarnAboutLegacyContext.add(fiber.type);
17631 });
17632 var sortedNames = setToSortedString(uniqueNames);
17633 runWithFiberInDEV(firstFiber, function() {
17634 console.error(
17635 "Legacy context API has been detected within a strict-mode tree.\n\nThe old API will be supported in all 16.x releases, but applications using it should migrate to the new version.\n\nPlease update the following components: %s\n\nLearn more about this warning here: https://react.dev/link/legacy-context",
17636 sortedNames
17637 );
17638 });
17639 }
17640 });
17641 };
17642 ReactStrictModeWarnings.discardPendingWarnings = function() {
17643 pendingComponentWillMountWarnings = [];
17644 pendingUNSAFE_ComponentWillMountWarnings = [];
17645 pendingComponentWillReceivePropsWarnings = [];
17646 pendingUNSAFE_ComponentWillReceivePropsWarnings = [];
17647 pendingComponentWillUpdateWarnings = [];
17648 pendingUNSAFE_ComponentWillUpdateWarnings = [];
17649 pendingLegacyContextWarning = /* @__PURE__ */ new Map();
17650 };
17651 var SuspenseException = Error(
17652 "Suspense Exception: This is not a real error! It's an implementation detail of `use` to interrupt the current render. You must either rethrow it immediately, or move the `use` call outside of the `try/catch` block. Capturing without rethrowing will lead to unexpected behavior.\n\nTo handle async errors, wrap your component in an error boundary, or call the promise's `.catch` method and pass the result to `use`."
17653 ), SuspenseyCommitException = Error(
17654 "Suspense Exception: This is not a real error, and should not leak into userspace. If you're seeing this, it's likely a bug in React."
17655 ), SuspenseActionException = Error(
17656 "Suspense Exception: This is not a real error! It's an implementation detail of `useActionState` to interrupt the current render. You must either rethrow it immediately, or move the `useActionState` call outside of the `try/catch` block. Capturing without rethrowing will lead to unexpected behavior.\n\nTo handle async errors, wrap your component in an error boundary."
17657 ), noopSuspenseyCommitThenable = {
17658 then: function() {
17659 console.error(
17660 'Internal React error: A listener was unexpectedly attached to a "noop" thenable. This is a bug in React. Please file an issue.'
17661 );
17662 }
17663 }, suspendedThenable = null, needsToResetSuspendedThenableDEV = false, NoFlags = 0, HasEffect = 1, Insertion = 2, Layout = 4, Passive = 8, UpdateState = 0, ReplaceState = 1, ForceUpdate = 2, CaptureUpdate = 3, hasForceUpdate = false;
17664 var didWarnUpdateInsideUpdate = false;
17665 var currentlyProcessingQueue = null;
17666 var didReadFromEntangledAsyncAction = false, currentTreeHiddenStackCursor = createCursor(null), prevEntangledRenderLanesCursor = createCursor(0), didWarnUncachedGetSnapshot;
17667 var didWarnAboutMismatchedHooksForComponent = /* @__PURE__ */ new Set();
17668 var didWarnAboutUseWrappedInTryCatch = /* @__PURE__ */ new Set();
17669 var didWarnAboutAsyncClientComponent = /* @__PURE__ */ new Set();
17670 var didWarnAboutUseFormState = /* @__PURE__ */ new Set();
17671 var renderLanes = 0, currentlyRenderingFiber = null, currentHook = null, workInProgressHook = null, didScheduleRenderPhaseUpdate = false, didScheduleRenderPhaseUpdateDuringThisPass = false, shouldDoubleInvokeUserFnsInHooksDEV = false, localIdCounter = 0, thenableIndexCounter$1 = 0, thenableState$1 = null, globalClientIdCounter = 0, RE_RENDER_LIMIT = 25, currentHookNameInDev = null, hookTypesDev = null, hookTypesUpdateIndexDev = -1, ignorePreviousDependencies = false, ContextOnlyDispatcher = {
17672 readContext,
17673 use,
17674 useCallback: throwInvalidHookError,
17675 useContext: throwInvalidHookError,
17676 useEffect: throwInvalidHookError,
17677 useImperativeHandle: throwInvalidHookError,
17678 useLayoutEffect: throwInvalidHookError,
17679 useInsertionEffect: throwInvalidHookError,
17680 useMemo: throwInvalidHookError,
17681 useReducer: throwInvalidHookError,
17682 useRef: throwInvalidHookError,
17683 useState: throwInvalidHookError,
17684 useDebugValue: throwInvalidHookError,
17685 useDeferredValue: throwInvalidHookError,
17686 useTransition: throwInvalidHookError,
17687 useSyncExternalStore: throwInvalidHookError,
17688 useId: throwInvalidHookError,
17689 useHostTransitionStatus: throwInvalidHookError,
17690 useFormState: throwInvalidHookError,
17691 useActionState: throwInvalidHookError,
17692 useOptimistic: throwInvalidHookError,
17693 useMemoCache: throwInvalidHookError,
17694 useCacheRefresh: throwInvalidHookError
17695 }, HooksDispatcherOnMountInDEV = null, HooksDispatcherOnMountWithHookTypesInDEV = null, HooksDispatcherOnUpdateInDEV = null, HooksDispatcherOnRerenderInDEV = null, InvalidNestedHooksDispatcherOnMountInDEV = null, InvalidNestedHooksDispatcherOnUpdateInDEV = null, InvalidNestedHooksDispatcherOnRerenderInDEV = null;
17696 HooksDispatcherOnMountInDEV = {
17697 readContext: function(context) {
17698 return readContext(context);
17699 },
17700 use,
17701 useCallback: function(callback, deps) {
17702 currentHookNameInDev = "useCallback";
17703 mountHookTypesDev();
17704 checkDepsAreArrayDev(deps);
17705 return mountCallback(callback, deps);
17706 },
17707 useContext: function(context) {
17708 currentHookNameInDev = "useContext";
17709 mountHookTypesDev();
17710 return readContext(context);
17711 },
17712 useEffect: function(create, createDeps) {
17713 currentHookNameInDev = "useEffect";
17714 mountHookTypesDev();
17715 checkDepsAreArrayDev(createDeps);
17716 return mountEffect(create, createDeps);
17717 },
17718 useImperativeHandle: function(ref, create, deps) {
17719 currentHookNameInDev = "useImperativeHandle";
17720 mountHookTypesDev();
17721 checkDepsAreArrayDev(deps);
17722 return mountImperativeHandle(ref, create, deps);
17723 },
17724 useInsertionEffect: function(create, deps) {
17725 currentHookNameInDev = "useInsertionEffect";
17726 mountHookTypesDev();
17727 checkDepsAreArrayDev(deps);
17728 mountEffectImpl(4, Insertion, create, deps);
17729 },
17730 useLayoutEffect: function(create, deps) {
17731 currentHookNameInDev = "useLayoutEffect";
17732 mountHookTypesDev();
17733 checkDepsAreArrayDev(deps);
17734 return mountLayoutEffect(create, deps);
17735 },
17736 useMemo: function(create, deps) {
17737 currentHookNameInDev = "useMemo";
17738 mountHookTypesDev();
17739 checkDepsAreArrayDev(deps);
17740 var prevDispatcher = ReactSharedInternals.H;
17741 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
17742 try {
17743 return mountMemo(create, deps);
17744 } finally {
17745 ReactSharedInternals.H = prevDispatcher;
17746 }
17747 },
17748 useReducer: function(reducer, initialArg, init) {
17749 currentHookNameInDev = "useReducer";
17750 mountHookTypesDev();
17751 var prevDispatcher = ReactSharedInternals.H;
17752 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
17753 try {
17754 return mountReducer(reducer, initialArg, init);
17755 } finally {
17756 ReactSharedInternals.H = prevDispatcher;
17757 }
17758 },
17759 useRef: function(initialValue) {
17760 currentHookNameInDev = "useRef";
17761 mountHookTypesDev();
17762 return mountRef(initialValue);
17763 },
17764 useState: function(initialState) {
17765 currentHookNameInDev = "useState";
17766 mountHookTypesDev();
17767 var prevDispatcher = ReactSharedInternals.H;
17768 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
17769 try {
17770 return mountState(initialState);
17771 } finally {
17772 ReactSharedInternals.H = prevDispatcher;
17773 }
17774 },
17775 useDebugValue: function() {
17776 currentHookNameInDev = "useDebugValue";
17777 mountHookTypesDev();
17778 },
17779 useDeferredValue: function(value, initialValue) {
17780 currentHookNameInDev = "useDeferredValue";
17781 mountHookTypesDev();
17782 return mountDeferredValue(value, initialValue);
17783 },
17784 useTransition: function() {
17785 currentHookNameInDev = "useTransition";
17786 mountHookTypesDev();
17787 return mountTransition();
17788 },
17789 useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) {
17790 currentHookNameInDev = "useSyncExternalStore";
17791 mountHookTypesDev();
17792 return mountSyncExternalStore(
17793 subscribe,
17794 getSnapshot,
17795 getServerSnapshot
17796 );
17797 },
17798 useId: function() {
17799 currentHookNameInDev = "useId";
17800 mountHookTypesDev();
17801 return mountId();
17802 },
17803 useFormState: function(action, initialState) {
17804 currentHookNameInDev = "useFormState";
17805 mountHookTypesDev();
17806 warnOnUseFormStateInDev();
17807 return mountActionState(action, initialState);
17808 },
17809 useActionState: function(action, initialState) {
17810 currentHookNameInDev = "useActionState";
17811 mountHookTypesDev();
17812 return mountActionState(action, initialState);
17813 },
17814 useOptimistic: function(passthrough) {
17815 currentHookNameInDev = "useOptimistic";
17816 mountHookTypesDev();
17817 return mountOptimistic(passthrough);
17818 },
17819 useHostTransitionStatus,
17820 useMemoCache,
17821 useCacheRefresh: function() {
17822 currentHookNameInDev = "useCacheRefresh";
17823 mountHookTypesDev();
17824 return mountRefresh();
17825 }
17826 };
17827 HooksDispatcherOnMountWithHookTypesInDEV = {
17828 readContext: function(context) {
17829 return readContext(context);
17830 },
17831 use,
17832 useCallback: function(callback, deps) {
17833 currentHookNameInDev = "useCallback";
17834 updateHookTypesDev();
17835 return mountCallback(callback, deps);
17836 },
17837 useContext: function(context) {
17838 currentHookNameInDev = "useContext";
17839 updateHookTypesDev();
17840 return readContext(context);
17841 },
17842 useEffect: function(create, createDeps) {
17843 currentHookNameInDev = "useEffect";
17844 updateHookTypesDev();
17845 return mountEffect(create, createDeps);
17846 },
17847 useImperativeHandle: function(ref, create, deps) {
17848 currentHookNameInDev = "useImperativeHandle";
17849 updateHookTypesDev();
17850 return mountImperativeHandle(ref, create, deps);
17851 },
17852 useInsertionEffect: function(create, deps) {
17853 currentHookNameInDev = "useInsertionEffect";
17854 updateHookTypesDev();
17855 mountEffectImpl(4, Insertion, create, deps);
17856 },
17857 useLayoutEffect: function(create, deps) {
17858 currentHookNameInDev = "useLayoutEffect";
17859 updateHookTypesDev();
17860 return mountLayoutEffect(create, deps);
17861 },
17862 useMemo: function(create, deps) {
17863 currentHookNameInDev = "useMemo";
17864 updateHookTypesDev();
17865 var prevDispatcher = ReactSharedInternals.H;
17866 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
17867 try {
17868 return mountMemo(create, deps);
17869 } finally {
17870 ReactSharedInternals.H = prevDispatcher;
17871 }
17872 },
17873 useReducer: function(reducer, initialArg, init) {
17874 currentHookNameInDev = "useReducer";
17875 updateHookTypesDev();
17876 var prevDispatcher = ReactSharedInternals.H;
17877 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
17878 try {
17879 return mountReducer(reducer, initialArg, init);
17880 } finally {
17881 ReactSharedInternals.H = prevDispatcher;
17882 }
17883 },
17884 useRef: function(initialValue) {
17885 currentHookNameInDev = "useRef";
17886 updateHookTypesDev();
17887 return mountRef(initialValue);
17888 },
17889 useState: function(initialState) {
17890 currentHookNameInDev = "useState";
17891 updateHookTypesDev();
17892 var prevDispatcher = ReactSharedInternals.H;
17893 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
17894 try {
17895 return mountState(initialState);
17896 } finally {
17897 ReactSharedInternals.H = prevDispatcher;
17898 }
17899 },
17900 useDebugValue: function() {
17901 currentHookNameInDev = "useDebugValue";
17902 updateHookTypesDev();
17903 },
17904 useDeferredValue: function(value, initialValue) {
17905 currentHookNameInDev = "useDeferredValue";
17906 updateHookTypesDev();
17907 return mountDeferredValue(value, initialValue);
17908 },
17909 useTransition: function() {
17910 currentHookNameInDev = "useTransition";
17911 updateHookTypesDev();
17912 return mountTransition();
17913 },
17914 useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) {
17915 currentHookNameInDev = "useSyncExternalStore";
17916 updateHookTypesDev();
17917 return mountSyncExternalStore(
17918 subscribe,
17919 getSnapshot,
17920 getServerSnapshot
17921 );
17922 },
17923 useId: function() {
17924 currentHookNameInDev = "useId";
17925 updateHookTypesDev();
17926 return mountId();
17927 },
17928 useActionState: function(action, initialState) {
17929 currentHookNameInDev = "useActionState";
17930 updateHookTypesDev();
17931 return mountActionState(action, initialState);
17932 },
17933 useFormState: function(action, initialState) {
17934 currentHookNameInDev = "useFormState";
17935 updateHookTypesDev();
17936 warnOnUseFormStateInDev();
17937 return mountActionState(action, initialState);
17938 },
17939 useOptimistic: function(passthrough) {
17940 currentHookNameInDev = "useOptimistic";
17941 updateHookTypesDev();
17942 return mountOptimistic(passthrough);
17943 },
17944 useHostTransitionStatus,
17945 useMemoCache,
17946 useCacheRefresh: function() {
17947 currentHookNameInDev = "useCacheRefresh";
17948 updateHookTypesDev();
17949 return mountRefresh();
17950 }
17951 };
17952 HooksDispatcherOnUpdateInDEV = {
17953 readContext: function(context) {
17954 return readContext(context);
17955 },
17956 use,
17957 useCallback: function(callback, deps) {
17958 currentHookNameInDev = "useCallback";
17959 updateHookTypesDev();
17960 return updateCallback(callback, deps);
17961 },
17962 useContext: function(context) {
17963 currentHookNameInDev = "useContext";
17964 updateHookTypesDev();
17965 return readContext(context);
17966 },
17967 useEffect: function(create, createDeps) {
17968 currentHookNameInDev = "useEffect";
17969 updateHookTypesDev();
17970 updateEffectImpl(2048, Passive, create, createDeps);
17971 },
17972 useImperativeHandle: function(ref, create, deps) {
17973 currentHookNameInDev = "useImperativeHandle";
17974 updateHookTypesDev();
17975 return updateImperativeHandle(ref, create, deps);
17976 },
17977 useInsertionEffect: function(create, deps) {
17978 currentHookNameInDev = "useInsertionEffect";
17979 updateHookTypesDev();
17980 return updateEffectImpl(4, Insertion, create, deps);
17981 },
17982 useLayoutEffect: function(create, deps) {
17983 currentHookNameInDev = "useLayoutEffect";
17984 updateHookTypesDev();
17985 return updateEffectImpl(4, Layout, create, deps);
17986 },
17987 useMemo: function(create, deps) {
17988 currentHookNameInDev = "useMemo";
17989 updateHookTypesDev();
17990 var prevDispatcher = ReactSharedInternals.H;
17991 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
17992 try {
17993 return updateMemo(create, deps);
17994 } finally {
17995 ReactSharedInternals.H = prevDispatcher;
17996 }
17997 },
17998 useReducer: function(reducer, initialArg, init) {
17999 currentHookNameInDev = "useReducer";
18000 updateHookTypesDev();
18001 var prevDispatcher = ReactSharedInternals.H;
18002 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
18003 try {
18004 return updateReducer(reducer, initialArg, init);
18005 } finally {
18006 ReactSharedInternals.H = prevDispatcher;
18007 }
18008 },
18009 useRef: function() {
18010 currentHookNameInDev = "useRef";
18011 updateHookTypesDev();
18012 return updateWorkInProgressHook().memoizedState;
18013 },
18014 useState: function() {
18015 currentHookNameInDev = "useState";
18016 updateHookTypesDev();
18017 var prevDispatcher = ReactSharedInternals.H;
18018 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
18019 try {
18020 return updateReducer(basicStateReducer);
18021 } finally {
18022 ReactSharedInternals.H = prevDispatcher;
18023 }
18024 },
18025 useDebugValue: function() {
18026 currentHookNameInDev = "useDebugValue";
18027 updateHookTypesDev();
18028 },
18029 useDeferredValue: function(value, initialValue) {
18030 currentHookNameInDev = "useDeferredValue";
18031 updateHookTypesDev();
18032 return updateDeferredValue(value, initialValue);
18033 },
18034 useTransition: function() {
18035 currentHookNameInDev = "useTransition";
18036 updateHookTypesDev();
18037 return updateTransition();
18038 },
18039 useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) {
18040 currentHookNameInDev = "useSyncExternalStore";
18041 updateHookTypesDev();
18042 return updateSyncExternalStore(
18043 subscribe,
18044 getSnapshot,
18045 getServerSnapshot
18046 );
18047 },
18048 useId: function() {
18049 currentHookNameInDev = "useId";
18050 updateHookTypesDev();
18051 return updateWorkInProgressHook().memoizedState;
18052 },
18053 useFormState: function(action) {
18054 currentHookNameInDev = "useFormState";
18055 updateHookTypesDev();
18056 warnOnUseFormStateInDev();
18057 return updateActionState(action);
18058 },
18059 useActionState: function(action) {
18060 currentHookNameInDev = "useActionState";
18061 updateHookTypesDev();
18062 return updateActionState(action);
18063 },
18064 useOptimistic: function(passthrough, reducer) {
18065 currentHookNameInDev = "useOptimistic";
18066 updateHookTypesDev();
18067 return updateOptimistic(passthrough, reducer);
18068 },
18069 useHostTransitionStatus,
18070 useMemoCache,
18071 useCacheRefresh: function() {
18072 currentHookNameInDev = "useCacheRefresh";
18073 updateHookTypesDev();
18074 return updateWorkInProgressHook().memoizedState;
18075 }
18076 };
18077 HooksDispatcherOnRerenderInDEV = {
18078 readContext: function(context) {
18079 return readContext(context);
18080 },
18081 use,
18082 useCallback: function(callback, deps) {
18083 currentHookNameInDev = "useCallback";
18084 updateHookTypesDev();
18085 return updateCallback(callback, deps);
18086 },
18087 useContext: function(context) {
18088 currentHookNameInDev = "useContext";
18089 updateHookTypesDev();
18090 return readContext(context);
18091 },
18092 useEffect: function(create, createDeps) {
18093 currentHookNameInDev = "useEffect";
18094 updateHookTypesDev();
18095 updateEffectImpl(2048, Passive, create, createDeps);
18096 },
18097 useImperativeHandle: function(ref, create, deps) {
18098 currentHookNameInDev = "useImperativeHandle";
18099 updateHookTypesDev();
18100 return updateImperativeHandle(ref, create, deps);
18101 },
18102 useInsertionEffect: function(create, deps) {
18103 currentHookNameInDev = "useInsertionEffect";
18104 updateHookTypesDev();
18105 return updateEffectImpl(4, Insertion, create, deps);
18106 },
18107 useLayoutEffect: function(create, deps) {
18108 currentHookNameInDev = "useLayoutEffect";
18109 updateHookTypesDev();
18110 return updateEffectImpl(4, Layout, create, deps);
18111 },
18112 useMemo: function(create, deps) {
18113 currentHookNameInDev = "useMemo";
18114 updateHookTypesDev();
18115 var prevDispatcher = ReactSharedInternals.H;
18116 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnRerenderInDEV;
18117 try {
18118 return updateMemo(create, deps);
18119 } finally {
18120 ReactSharedInternals.H = prevDispatcher;
18121 }
18122 },
18123 useReducer: function(reducer, initialArg, init) {
18124 currentHookNameInDev = "useReducer";
18125 updateHookTypesDev();
18126 var prevDispatcher = ReactSharedInternals.H;
18127 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnRerenderInDEV;
18128 try {
18129 return rerenderReducer(reducer, initialArg, init);
18130 } finally {
18131 ReactSharedInternals.H = prevDispatcher;
18132 }
18133 },
18134 useRef: function() {
18135 currentHookNameInDev = "useRef";
18136 updateHookTypesDev();
18137 return updateWorkInProgressHook().memoizedState;
18138 },
18139 useState: function() {
18140 currentHookNameInDev = "useState";
18141 updateHookTypesDev();
18142 var prevDispatcher = ReactSharedInternals.H;
18143 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnRerenderInDEV;
18144 try {
18145 return rerenderReducer(basicStateReducer);
18146 } finally {
18147 ReactSharedInternals.H = prevDispatcher;
18148 }
18149 },
18150 useDebugValue: function() {
18151 currentHookNameInDev = "useDebugValue";
18152 updateHookTypesDev();
18153 },
18154 useDeferredValue: function(value, initialValue) {
18155 currentHookNameInDev = "useDeferredValue";
18156 updateHookTypesDev();
18157 return rerenderDeferredValue(value, initialValue);
18158 },
18159 useTransition: function() {
18160 currentHookNameInDev = "useTransition";
18161 updateHookTypesDev();
18162 return rerenderTransition();
18163 },
18164 useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) {
18165 currentHookNameInDev = "useSyncExternalStore";
18166 updateHookTypesDev();
18167 return updateSyncExternalStore(
18168 subscribe,
18169 getSnapshot,
18170 getServerSnapshot
18171 );
18172 },
18173 useId: function() {
18174 currentHookNameInDev = "useId";
18175 updateHookTypesDev();
18176 return updateWorkInProgressHook().memoizedState;
18177 },
18178 useFormState: function(action) {
18179 currentHookNameInDev = "useFormState";
18180 updateHookTypesDev();
18181 warnOnUseFormStateInDev();
18182 return rerenderActionState(action);
18183 },
18184 useActionState: function(action) {
18185 currentHookNameInDev = "useActionState";
18186 updateHookTypesDev();
18187 return rerenderActionState(action);
18188 },
18189 useOptimistic: function(passthrough, reducer) {
18190 currentHookNameInDev = "useOptimistic";
18191 updateHookTypesDev();
18192 return rerenderOptimistic(passthrough, reducer);
18193 },
18194 useHostTransitionStatus,
18195 useMemoCache,
18196 useCacheRefresh: function() {
18197 currentHookNameInDev = "useCacheRefresh";
18198 updateHookTypesDev();
18199 return updateWorkInProgressHook().memoizedState;
18200 }
18201 };
18202 InvalidNestedHooksDispatcherOnMountInDEV = {
18203 readContext: function(context) {
18204 warnInvalidContextAccess();
18205 return readContext(context);
18206 },
18207 use: function(usable) {
18208 warnInvalidHookAccess();
18209 return use(usable);
18210 },
18211 useCallback: function(callback, deps) {
18212 currentHookNameInDev = "useCallback";
18213 warnInvalidHookAccess();
18214 mountHookTypesDev();
18215 return mountCallback(callback, deps);
18216 },
18217 useContext: function(context) {
18218 currentHookNameInDev = "useContext";
18219 warnInvalidHookAccess();
18220 mountHookTypesDev();
18221 return readContext(context);
18222 },
18223 useEffect: function(create, createDeps) {
18224 currentHookNameInDev = "useEffect";
18225 warnInvalidHookAccess();
18226 mountHookTypesDev();
18227 return mountEffect(create, createDeps);
18228 },
18229 useImperativeHandle: function(ref, create, deps) {
18230 currentHookNameInDev = "useImperativeHandle";
18231 warnInvalidHookAccess();
18232 mountHookTypesDev();
18233 return mountImperativeHandle(ref, create, deps);
18234 },
18235 useInsertionEffect: function(create, deps) {
18236 currentHookNameInDev = "useInsertionEffect";
18237 warnInvalidHookAccess();
18238 mountHookTypesDev();
18239 mountEffectImpl(4, Insertion, create, deps);
18240 },
18241 useLayoutEffect: function(create, deps) {
18242 currentHookNameInDev = "useLayoutEffect";
18243 warnInvalidHookAccess();
18244 mountHookTypesDev();
18245 return mountLayoutEffect(create, deps);
18246 },
18247 useMemo: function(create, deps) {
18248 currentHookNameInDev = "useMemo";
18249 warnInvalidHookAccess();
18250 mountHookTypesDev();
18251 var prevDispatcher = ReactSharedInternals.H;
18252 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
18253 try {
18254 return mountMemo(create, deps);
18255 } finally {
18256 ReactSharedInternals.H = prevDispatcher;
18257 }
18258 },
18259 useReducer: function(reducer, initialArg, init) {
18260 currentHookNameInDev = "useReducer";
18261 warnInvalidHookAccess();
18262 mountHookTypesDev();
18263 var prevDispatcher = ReactSharedInternals.H;
18264 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
18265 try {
18266 return mountReducer(reducer, initialArg, init);
18267 } finally {
18268 ReactSharedInternals.H = prevDispatcher;
18269 }
18270 },
18271 useRef: function(initialValue) {
18272 currentHookNameInDev = "useRef";
18273 warnInvalidHookAccess();
18274 mountHookTypesDev();
18275 return mountRef(initialValue);
18276 },
18277 useState: function(initialState) {
18278 currentHookNameInDev = "useState";
18279 warnInvalidHookAccess();
18280 mountHookTypesDev();
18281 var prevDispatcher = ReactSharedInternals.H;
18282 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
18283 try {
18284 return mountState(initialState);
18285 } finally {
18286 ReactSharedInternals.H = prevDispatcher;
18287 }
18288 },
18289 useDebugValue: function() {
18290 currentHookNameInDev = "useDebugValue";
18291 warnInvalidHookAccess();
18292 mountHookTypesDev();
18293 },
18294 useDeferredValue: function(value, initialValue) {
18295 currentHookNameInDev = "useDeferredValue";
18296 warnInvalidHookAccess();
18297 mountHookTypesDev();
18298 return mountDeferredValue(value, initialValue);
18299 },
18300 useTransition: function() {
18301 currentHookNameInDev = "useTransition";
18302 warnInvalidHookAccess();
18303 mountHookTypesDev();
18304 return mountTransition();
18305 },
18306 useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) {
18307 currentHookNameInDev = "useSyncExternalStore";
18308 warnInvalidHookAccess();
18309 mountHookTypesDev();
18310 return mountSyncExternalStore(
18311 subscribe,
18312 getSnapshot,
18313 getServerSnapshot
18314 );
18315 },
18316 useId: function() {
18317 currentHookNameInDev = "useId";
18318 warnInvalidHookAccess();
18319 mountHookTypesDev();
18320 return mountId();
18321 },
18322 useFormState: function(action, initialState) {
18323 currentHookNameInDev = "useFormState";
18324 warnInvalidHookAccess();
18325 mountHookTypesDev();
18326 return mountActionState(action, initialState);
18327 },
18328 useActionState: function(action, initialState) {
18329 currentHookNameInDev = "useActionState";
18330 warnInvalidHookAccess();
18331 mountHookTypesDev();
18332 return mountActionState(action, initialState);
18333 },
18334 useOptimistic: function(passthrough) {
18335 currentHookNameInDev = "useOptimistic";
18336 warnInvalidHookAccess();
18337 mountHookTypesDev();
18338 return mountOptimistic(passthrough);
18339 },
18340 useMemoCache: function(size) {
18341 warnInvalidHookAccess();
18342 return useMemoCache(size);
18343 },
18344 useHostTransitionStatus,
18345 useCacheRefresh: function() {
18346 currentHookNameInDev = "useCacheRefresh";
18347 mountHookTypesDev();
18348 return mountRefresh();
18349 }
18350 };
18351 InvalidNestedHooksDispatcherOnUpdateInDEV = {
18352 readContext: function(context) {
18353 warnInvalidContextAccess();
18354 return readContext(context);
18355 },
18356 use: function(usable) {
18357 warnInvalidHookAccess();
18358 return use(usable);
18359 },
18360 useCallback: function(callback, deps) {
18361 currentHookNameInDev = "useCallback";
18362 warnInvalidHookAccess();
18363 updateHookTypesDev();
18364 return updateCallback(callback, deps);
18365 },
18366 useContext: function(context) {
18367 currentHookNameInDev = "useContext";
18368 warnInvalidHookAccess();
18369 updateHookTypesDev();
18370 return readContext(context);
18371 },
18372 useEffect: function(create, createDeps) {
18373 currentHookNameInDev = "useEffect";
18374 warnInvalidHookAccess();
18375 updateHookTypesDev();
18376 updateEffectImpl(2048, Passive, create, createDeps);
18377 },
18378 useImperativeHandle: function(ref, create, deps) {
18379 currentHookNameInDev = "useImperativeHandle";
18380 warnInvalidHookAccess();
18381 updateHookTypesDev();
18382 return updateImperativeHandle(ref, create, deps);
18383 },
18384 useInsertionEffect: function(create, deps) {
18385 currentHookNameInDev = "useInsertionEffect";
18386 warnInvalidHookAccess();
18387 updateHookTypesDev();
18388 return updateEffectImpl(4, Insertion, create, deps);
18389 },
18390 useLayoutEffect: function(create, deps) {
18391 currentHookNameInDev = "useLayoutEffect";
18392 warnInvalidHookAccess();
18393 updateHookTypesDev();
18394 return updateEffectImpl(4, Layout, create, deps);
18395 },
18396 useMemo: function(create, deps) {
18397 currentHookNameInDev = "useMemo";
18398 warnInvalidHookAccess();
18399 updateHookTypesDev();
18400 var prevDispatcher = ReactSharedInternals.H;
18401 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
18402 try {
18403 return updateMemo(create, deps);
18404 } finally {
18405 ReactSharedInternals.H = prevDispatcher;
18406 }
18407 },
18408 useReducer: function(reducer, initialArg, init) {
18409 currentHookNameInDev = "useReducer";
18410 warnInvalidHookAccess();
18411 updateHookTypesDev();
18412 var prevDispatcher = ReactSharedInternals.H;
18413 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
18414 try {
18415 return updateReducer(reducer, initialArg, init);
18416 } finally {
18417 ReactSharedInternals.H = prevDispatcher;
18418 }
18419 },
18420 useRef: function() {
18421 currentHookNameInDev = "useRef";
18422 warnInvalidHookAccess();
18423 updateHookTypesDev();
18424 return updateWorkInProgressHook().memoizedState;
18425 },
18426 useState: function() {
18427 currentHookNameInDev = "useState";
18428 warnInvalidHookAccess();
18429 updateHookTypesDev();
18430 var prevDispatcher = ReactSharedInternals.H;
18431 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
18432 try {
18433 return updateReducer(basicStateReducer);
18434 } finally {
18435 ReactSharedInternals.H = prevDispatcher;
18436 }
18437 },
18438 useDebugValue: function() {
18439 currentHookNameInDev = "useDebugValue";
18440 warnInvalidHookAccess();
18441 updateHookTypesDev();
18442 },
18443 useDeferredValue: function(value, initialValue) {
18444 currentHookNameInDev = "useDeferredValue";
18445 warnInvalidHookAccess();
18446 updateHookTypesDev();
18447 return updateDeferredValue(value, initialValue);
18448 },
18449 useTransition: function() {
18450 currentHookNameInDev = "useTransition";
18451 warnInvalidHookAccess();
18452 updateHookTypesDev();
18453 return updateTransition();
18454 },
18455 useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) {
18456 currentHookNameInDev = "useSyncExternalStore";
18457 warnInvalidHookAccess();
18458 updateHookTypesDev();
18459 return updateSyncExternalStore(
18460 subscribe,
18461 getSnapshot,
18462 getServerSnapshot
18463 );
18464 },
18465 useId: function() {
18466 currentHookNameInDev = "useId";
18467 warnInvalidHookAccess();
18468 updateHookTypesDev();
18469 return updateWorkInProgressHook().memoizedState;
18470 },
18471 useFormState: function(action) {
18472 currentHookNameInDev = "useFormState";
18473 warnInvalidHookAccess();
18474 updateHookTypesDev();
18475 return updateActionState(action);
18476 },
18477 useActionState: function(action) {
18478 currentHookNameInDev = "useActionState";
18479 warnInvalidHookAccess();
18480 updateHookTypesDev();
18481 return updateActionState(action);
18482 },
18483 useOptimistic: function(passthrough, reducer) {
18484 currentHookNameInDev = "useOptimistic";
18485 warnInvalidHookAccess();
18486 updateHookTypesDev();
18487 return updateOptimistic(passthrough, reducer);
18488 },
18489 useMemoCache: function(size) {
18490 warnInvalidHookAccess();
18491 return useMemoCache(size);
18492 },
18493 useHostTransitionStatus,
18494 useCacheRefresh: function() {
18495 currentHookNameInDev = "useCacheRefresh";
18496 updateHookTypesDev();
18497 return updateWorkInProgressHook().memoizedState;
18498 }
18499 };
18500 InvalidNestedHooksDispatcherOnRerenderInDEV = {
18501 readContext: function(context) {
18502 warnInvalidContextAccess();
18503 return readContext(context);
18504 },
18505 use: function(usable) {
18506 warnInvalidHookAccess();
18507 return use(usable);
18508 },
18509 useCallback: function(callback, deps) {
18510 currentHookNameInDev = "useCallback";
18511 warnInvalidHookAccess();
18512 updateHookTypesDev();
18513 return updateCallback(callback, deps);
18514 },
18515 useContext: function(context) {
18516 currentHookNameInDev = "useContext";
18517 warnInvalidHookAccess();
18518 updateHookTypesDev();
18519 return readContext(context);
18520 },
18521 useEffect: function(create, createDeps) {
18522 currentHookNameInDev = "useEffect";
18523 warnInvalidHookAccess();
18524 updateHookTypesDev();
18525 updateEffectImpl(2048, Passive, create, createDeps);
18526 },
18527 useImperativeHandle: function(ref, create, deps) {
18528 currentHookNameInDev = "useImperativeHandle";
18529 warnInvalidHookAccess();
18530 updateHookTypesDev();
18531 return updateImperativeHandle(ref, create, deps);
18532 },
18533 useInsertionEffect: function(create, deps) {
18534 currentHookNameInDev = "useInsertionEffect";
18535 warnInvalidHookAccess();
18536 updateHookTypesDev();
18537 return updateEffectImpl(4, Insertion, create, deps);
18538 },
18539 useLayoutEffect: function(create, deps) {
18540 currentHookNameInDev = "useLayoutEffect";
18541 warnInvalidHookAccess();
18542 updateHookTypesDev();
18543 return updateEffectImpl(4, Layout, create, deps);
18544 },
18545 useMemo: function(create, deps) {
18546 currentHookNameInDev = "useMemo";
18547 warnInvalidHookAccess();
18548 updateHookTypesDev();
18549 var prevDispatcher = ReactSharedInternals.H;
18550 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
18551 try {
18552 return updateMemo(create, deps);
18553 } finally {
18554 ReactSharedInternals.H = prevDispatcher;
18555 }
18556 },
18557 useReducer: function(reducer, initialArg, init) {
18558 currentHookNameInDev = "useReducer";
18559 warnInvalidHookAccess();
18560 updateHookTypesDev();
18561 var prevDispatcher = ReactSharedInternals.H;
18562 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
18563 try {
18564 return rerenderReducer(reducer, initialArg, init);
18565 } finally {
18566 ReactSharedInternals.H = prevDispatcher;
18567 }
18568 },
18569 useRef: function() {
18570 currentHookNameInDev = "useRef";
18571 warnInvalidHookAccess();
18572 updateHookTypesDev();
18573 return updateWorkInProgressHook().memoizedState;
18574 },
18575 useState: function() {
18576 currentHookNameInDev = "useState";
18577 warnInvalidHookAccess();
18578 updateHookTypesDev();
18579 var prevDispatcher = ReactSharedInternals.H;
18580 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
18581 try {
18582 return rerenderReducer(basicStateReducer);
18583 } finally {
18584 ReactSharedInternals.H = prevDispatcher;
18585 }
18586 },
18587 useDebugValue: function() {
18588 currentHookNameInDev = "useDebugValue";
18589 warnInvalidHookAccess();
18590 updateHookTypesDev();
18591 },
18592 useDeferredValue: function(value, initialValue) {
18593 currentHookNameInDev = "useDeferredValue";
18594 warnInvalidHookAccess();
18595 updateHookTypesDev();
18596 return rerenderDeferredValue(value, initialValue);
18597 },
18598 useTransition: function() {
18599 currentHookNameInDev = "useTransition";
18600 warnInvalidHookAccess();
18601 updateHookTypesDev();
18602 return rerenderTransition();
18603 },
18604 useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) {
18605 currentHookNameInDev = "useSyncExternalStore";
18606 warnInvalidHookAccess();
18607 updateHookTypesDev();
18608 return updateSyncExternalStore(
18609 subscribe,
18610 getSnapshot,
18611 getServerSnapshot
18612 );
18613 },
18614 useId: function() {
18615 currentHookNameInDev = "useId";
18616 warnInvalidHookAccess();
18617 updateHookTypesDev();
18618 return updateWorkInProgressHook().memoizedState;
18619 },
18620 useFormState: function(action) {
18621 currentHookNameInDev = "useFormState";
18622 warnInvalidHookAccess();
18623 updateHookTypesDev();
18624 return rerenderActionState(action);
18625 },
18626 useActionState: function(action) {
18627 currentHookNameInDev = "useActionState";
18628 warnInvalidHookAccess();
18629 updateHookTypesDev();
18630 return rerenderActionState(action);
18631 },
18632 useOptimistic: function(passthrough, reducer) {
18633 currentHookNameInDev = "useOptimistic";
18634 warnInvalidHookAccess();
18635 updateHookTypesDev();
18636 return rerenderOptimistic(passthrough, reducer);
18637 },
18638 useMemoCache: function(size) {
18639 warnInvalidHookAccess();
18640 return useMemoCache(size);
18641 },
18642 useHostTransitionStatus,
18643 useCacheRefresh: function() {
18644 currentHookNameInDev = "useCacheRefresh";
18645 updateHookTypesDev();
18646 return updateWorkInProgressHook().memoizedState;
18647 }
18648 };
18649 var callComponent = {
18650 react_stack_bottom_frame: function(Component, props, secondArg) {
18651 var wasRendering = isRendering;
18652 isRendering = true;
18653 try {
18654 return Component(props, secondArg);
18655 } finally {
18656 isRendering = wasRendering;
18657 }
18658 }
18659 }, callComponentInDEV = callComponent.react_stack_bottom_frame.bind(callComponent), callRender = {
18660 react_stack_bottom_frame: function(instance) {
18661 var wasRendering = isRendering;
18662 isRendering = true;
18663 try {
18664 return instance.render();
18665 } finally {
18666 isRendering = wasRendering;
18667 }
18668 }
18669 }, callRenderInDEV = callRender.react_stack_bottom_frame.bind(callRender), callComponentDidMount = {
18670 react_stack_bottom_frame: function(finishedWork, instance) {
18671 try {
18672 instance.componentDidMount();
18673 } catch (error) {
18674 captureCommitPhaseError(finishedWork, finishedWork.return, error);
18675 }
18676 }
18677 }, callComponentDidMountInDEV = callComponentDidMount.react_stack_bottom_frame.bind(
18678 callComponentDidMount
18679 ), callComponentDidUpdate = {
18680 react_stack_bottom_frame: function(finishedWork, instance, prevProps, prevState, snapshot) {
18681 try {
18682 instance.componentDidUpdate(prevProps, prevState, snapshot);
18683 } catch (error) {
18684 captureCommitPhaseError(finishedWork, finishedWork.return, error);
18685 }
18686 }
18687 }, callComponentDidUpdateInDEV = callComponentDidUpdate.react_stack_bottom_frame.bind(
18688 callComponentDidUpdate
18689 ), callComponentDidCatch = {
18690 react_stack_bottom_frame: function(instance, errorInfo) {
18691 var stack = errorInfo.stack;
18692 instance.componentDidCatch(errorInfo.value, {
18693 componentStack: null !== stack ? stack : ""
18694 });
18695 }
18696 }, callComponentDidCatchInDEV = callComponentDidCatch.react_stack_bottom_frame.bind(
18697 callComponentDidCatch
18698 ), callComponentWillUnmount = {
18699 react_stack_bottom_frame: function(current2, nearestMountedAncestor, instance) {
18700 try {
18701 instance.componentWillUnmount();
18702 } catch (error) {
18703 captureCommitPhaseError(current2, nearestMountedAncestor, error);
18704 }
18705 }
18706 }, callComponentWillUnmountInDEV = callComponentWillUnmount.react_stack_bottom_frame.bind(
18707 callComponentWillUnmount
18708 ), callCreate = {
18709 react_stack_bottom_frame: function(effect) {
18710 null != effect.resourceKind && console.error(
18711 "Expected only SimpleEffects when enableUseEffectCRUDOverload is disabled, got %s",
18712 effect.resourceKind
18713 );
18714 var create = effect.create;
18715 effect = effect.inst;
18716 create = create();
18717 return effect.destroy = create;
18718 }
18719 }, callCreateInDEV = callCreate.react_stack_bottom_frame.bind(callCreate), callDestroy = {
18720 react_stack_bottom_frame: function(current2, nearestMountedAncestor, destroy) {
18721 try {
18722 destroy();
18723 } catch (error) {
18724 captureCommitPhaseError(current2, nearestMountedAncestor, error);
18725 }
18726 }
18727 }, callDestroyInDEV = callDestroy.react_stack_bottom_frame.bind(callDestroy), callLazyInit = {
18728 react_stack_bottom_frame: function(lazy) {
18729 var init = lazy._init;
18730 return init(lazy._payload);
18731 }
18732 }, callLazyInitInDEV = callLazyInit.react_stack_bottom_frame.bind(callLazyInit), thenableState = null, thenableIndexCounter = 0, currentDebugInfo = null, didWarnAboutMaps;
18733 var didWarnAboutGenerators = didWarnAboutMaps = false;
18734 var ownerHasKeyUseWarning = {};
18735 var ownerHasFunctionTypeWarning = {};
18736 var ownerHasSymbolTypeWarning = {};
18737 warnForMissingKey = function(returnFiber, workInProgress2, child) {
18738 if (null !== child && "object" === typeof child && child._store && (!child._store.validated && null == child.key || 2 === child._store.validated)) {
18739 if ("object" !== typeof child._store)
18740 throw Error(
18741 "React Component in warnForMissingKey should have a _store. This error is likely caused by a bug in React. Please file an issue."
18742 );
18743 child._store.validated = 1;
18744 var componentName2 = getComponentNameFromFiber(returnFiber), componentKey = componentName2 || "null";
18745 if (!ownerHasKeyUseWarning[componentKey]) {
18746 ownerHasKeyUseWarning[componentKey] = true;
18747 child = child._owner;
18748 returnFiber = returnFiber._debugOwner;
18749 var currentComponentErrorInfo = "";
18750 returnFiber && "number" === typeof returnFiber.tag && (componentKey = getComponentNameFromFiber(returnFiber)) && (currentComponentErrorInfo = "\n\nCheck the render method of `" + componentKey + "`.");
18751 currentComponentErrorInfo || componentName2 && (currentComponentErrorInfo = "\n\nCheck the top-level render call using <" + componentName2 + ">.");
18752 var childOwnerAppendix = "";
18753 null != child && returnFiber !== child && (componentName2 = null, "number" === typeof child.tag ? componentName2 = getComponentNameFromFiber(child) : "string" === typeof child.name && (componentName2 = child.name), componentName2 && (childOwnerAppendix = " It was passed a child from " + componentName2 + "."));
18754 runWithFiberInDEV(workInProgress2, function() {
18755 console.error(
18756 'Each child in a list should have a unique "key" prop.%s%s See https://react.dev/link/warning-keys for more information.',
18757 currentComponentErrorInfo,
18758 childOwnerAppendix
18759 );
18760 });
18761 }
18762 }
18763 };
18764 var reconcileChildFibers = createChildReconciler(true), mountChildFibers = createChildReconciler(false), suspenseHandlerStackCursor = createCursor(null), shellBoundary = null, SubtreeSuspenseContextMask = 1, ForceSuspenseFallback = 2, suspenseStackCursor = createCursor(0), fakeInternalInstance = {};
18765 var didWarnAboutStateAssignmentForComponent = /* @__PURE__ */ new Set();
18766 var didWarnAboutUninitializedState = /* @__PURE__ */ new Set();
18767 var didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate = /* @__PURE__ */ new Set();
18768 var didWarnAboutLegacyLifecyclesAndDerivedState = /* @__PURE__ */ new Set();
18769 var didWarnAboutDirectlyAssigningPropsToState = /* @__PURE__ */ new Set();
18770 var didWarnAboutUndefinedDerivedState = /* @__PURE__ */ new Set();
18771 var didWarnAboutContextTypes$1 = /* @__PURE__ */ new Set();
18772 var didWarnAboutChildContextTypes = /* @__PURE__ */ new Set();
18773 var didWarnAboutInvalidateContextType = /* @__PURE__ */ new Set();
18774 var didWarnOnInvalidCallback = /* @__PURE__ */ new Set();
18775 Object.freeze(fakeInternalInstance);
18776 var classComponentUpdater = {
18777 enqueueSetState: function(inst, payload, callback) {
18778 inst = inst._reactInternals;
18779 var lane = requestUpdateLane(inst), update = createUpdate(lane);
18780 update.payload = payload;
18781 void 0 !== callback && null !== callback && (warnOnInvalidCallback(callback), update.callback = callback);
18782 payload = enqueueUpdate(inst, update, lane);
18783 null !== payload && (scheduleUpdateOnFiber(payload, inst, lane), entangleTransitions(payload, inst, lane));
18784 markStateUpdateScheduled(inst, lane);
18785 },
18786 enqueueReplaceState: function(inst, payload, callback) {
18787 inst = inst._reactInternals;
18788 var lane = requestUpdateLane(inst), update = createUpdate(lane);
18789 update.tag = ReplaceState;
18790 update.payload = payload;
18791 void 0 !== callback && null !== callback && (warnOnInvalidCallback(callback), update.callback = callback);
18792 payload = enqueueUpdate(inst, update, lane);
18793 null !== payload && (scheduleUpdateOnFiber(payload, inst, lane), entangleTransitions(payload, inst, lane));
18794 markStateUpdateScheduled(inst, lane);
18795 },
18796 enqueueForceUpdate: function(inst, callback) {
18797 inst = inst._reactInternals;
18798 var lane = requestUpdateLane(inst), update = createUpdate(lane);
18799 update.tag = ForceUpdate;
18800 void 0 !== callback && null !== callback && (warnOnInvalidCallback(callback), update.callback = callback);
18801 callback = enqueueUpdate(inst, update, lane);
18802 null !== callback && (scheduleUpdateOnFiber(callback, inst, lane), entangleTransitions(callback, inst, lane));
18803 null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markForceUpdateScheduled && injectedProfilingHooks.markForceUpdateScheduled(inst, lane);
18804 }
18805 }, reportGlobalError = "function" === typeof reportError ? reportError : function(error) {
18806 if ("object" === typeof window && "function" === typeof window.ErrorEvent) {
18807 var event = new window.ErrorEvent("error", {
18808 bubbles: true,
18809 cancelable: true,
18810 message: "object" === typeof error && null !== error && "string" === typeof error.message ? String(error.message) : String(error),
18811 error
18812 });
18813 if (!window.dispatchEvent(event)) return;
18814 } else if ("object" === typeof process && "function" === typeof process.emit) {
18815 process.emit("uncaughtException", error);
18816 return;
18817 }
18818 console.error(error);
18819 }, componentName = null, errorBoundaryName = null, SelectiveHydrationException = Error(
18820 "This is not a real error. It's an implementation detail of React's selective hydration feature. If this leaks into userspace, it's a bug in React. Please file an issue."
18821 ), didReceiveUpdate = false;
18822 var didWarnAboutBadClass = {};
18823 var didWarnAboutContextTypeOnFunctionComponent = {};
18824 var didWarnAboutContextTypes = {};
18825 var didWarnAboutGetDerivedStateOnFunctionComponent = {};
18826 var didWarnAboutReassigningProps = false;
18827 var didWarnAboutRevealOrder = {};
18828 var didWarnAboutTailOptions = {};
18829 var SUSPENDED_MARKER = {
18830 dehydrated: null,
18831 treeContext: null,
18832 retryLane: 0,
18833 hydrationErrors: null
18834 }, hasWarnedAboutUsingNoValuePropOnContextProvider = false, didWarnAboutUndefinedSnapshotBeforeUpdate = null;
18835 didWarnAboutUndefinedSnapshotBeforeUpdate = /* @__PURE__ */ new Set();
18836 var offscreenSubtreeIsHidden = false, offscreenSubtreeWasHidden = false, needsFormReset = false, PossiblyWeakSet = "function" === typeof WeakSet ? WeakSet : Set, nextEffect = null, inProgressLanes = null, inProgressRoot = null, hostParent = null, hostParentIsContainer = false, currentHoistableRoot = null, suspenseyCommitFlag = 8192, DefaultAsyncDispatcher = {
18837 getCacheForType: function(resourceType) {
18838 var cache = readContext(CacheContext), cacheForType = cache.data.get(resourceType);
18839 void 0 === cacheForType && (cacheForType = resourceType(), cache.data.set(resourceType, cacheForType));
18840 return cacheForType;
18841 },
18842 getOwner: function() {
18843 return current;
18844 }
18845 };
18846 if ("function" === typeof Symbol && Symbol.for) {
18847 var symbolFor = Symbol.for;
18848 symbolFor("selector.component");
18849 symbolFor("selector.has_pseudo_class");
18850 symbolFor("selector.role");
18851 symbolFor("selector.test_id");
18852 symbolFor("selector.text");
18853 }
18854 var commitHooks = [], PossiblyWeakMap = "function" === typeof WeakMap ? WeakMap : Map, NoContext = 0, RenderContext = 2, CommitContext = 4, RootInProgress = 0, RootFatalErrored = 1, RootErrored = 2, RootSuspended = 3, RootSuspendedWithDelay = 4, RootSuspendedAtTheShell = 6, RootCompleted = 5, executionContext = NoContext, workInProgressRoot = null, workInProgress = null, workInProgressRootRenderLanes = 0, NotSuspended = 0, SuspendedOnError = 1, SuspendedOnData = 2, SuspendedOnImmediate = 3, SuspendedOnInstance = 4, SuspendedOnInstanceAndReadyToContinue = 5, SuspendedOnDeprecatedThrowPromise = 6, SuspendedAndReadyToContinue = 7, SuspendedOnHydration = 8, SuspendedOnAction = 9, workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, workInProgressRootDidSkipSuspendedSiblings = false, workInProgressRootIsPrerendering = false, workInProgressRootDidAttachPingListener = false, entangledRenderLanes = 0, workInProgressRootExitStatus = RootInProgress, workInProgressRootSkippedLanes = 0, workInProgressRootInterleavedUpdatedLanes = 0, workInProgressRootPingedLanes = 0, workInProgressDeferredLane = 0, workInProgressSuspendedRetryLanes = 0, workInProgressRootConcurrentErrors = null, workInProgressRootRecoverableErrors = null, workInProgressRootDidIncludeRecursiveRenderUpdate = false, globalMostRecentFallbackTime = 0, FALLBACK_THROTTLE_MS = 300, workInProgressRootRenderTargetTime = Infinity, RENDER_TIMEOUT_MS = 500, workInProgressTransitions = null, legacyErrorBoundariesThatAlreadyFailed = null, IMMEDIATE_COMMIT = 0, SUSPENDED_COMMIT = 1, THROTTLED_COMMIT = 2, NO_PENDING_EFFECTS = 0, PENDING_MUTATION_PHASE = 1, PENDING_LAYOUT_PHASE = 2, PENDING_AFTER_MUTATION_PHASE = 3, PENDING_SPAWNED_WORK = 4, PENDING_PASSIVE_PHASE = 5, pendingEffectsStatus = 0, pendingEffectsRoot = null, pendingFinishedWork = null, pendingEffectsLanes = 0, pendingEffectsRemainingLanes = 0, pendingPassiveTransitions = null, pendingRecoverableErrors = null, NESTED_UPDATE_LIMIT = 50, nestedUpdateCount = 0, rootWithNestedUpdates = null, isFlushingPassiveEffects = false, didScheduleUpdateDuringPassiveEffects = false, NESTED_PASSIVE_UPDATE_LIMIT = 50, nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = null, isRunningInsertionEffect = false, didWarnStateUpdateForNotYetMountedComponent = null, didWarnAboutUpdateInRender = false;
18855 var didWarnAboutUpdateInRenderForAnotherComponent = /* @__PURE__ */ new Set();
18856 var fakeActCallbackNode$1 = {}, firstScheduledRoot = null, lastScheduledRoot = null, didScheduleMicrotask = false, didScheduleMicrotask_act = false, mightHavePendingSyncWork = false, isFlushingWork = false, currentEventTransitionLane = 0, fakeActCallbackNode = {};
18857 (function() {
18858 for (var i = 0; i < simpleEventPluginEvents.length; i++) {
18859 var eventName = simpleEventPluginEvents[i], domEventName = eventName.toLowerCase();
18860 eventName = eventName[0].toUpperCase() + eventName.slice(1);
18861 registerSimpleEvent(domEventName, "on" + eventName);
18862 }
18863 registerSimpleEvent(ANIMATION_END, "onAnimationEnd");
18864 registerSimpleEvent(ANIMATION_ITERATION, "onAnimationIteration");
18865 registerSimpleEvent(ANIMATION_START, "onAnimationStart");
18866 registerSimpleEvent("dblclick", "onDoubleClick");
18867 registerSimpleEvent("focusin", "onFocus");
18868 registerSimpleEvent("focusout", "onBlur");
18869 registerSimpleEvent(TRANSITION_RUN, "onTransitionRun");
18870 registerSimpleEvent(TRANSITION_START, "onTransitionStart");
18871 registerSimpleEvent(TRANSITION_CANCEL, "onTransitionCancel");
18872 registerSimpleEvent(TRANSITION_END, "onTransitionEnd");
18873 })();
18874 registerDirectEvent("onMouseEnter", ["mouseout", "mouseover"]);
18875 registerDirectEvent("onMouseLeave", ["mouseout", "mouseover"]);
18876 registerDirectEvent("onPointerEnter", ["pointerout", "pointerover"]);
18877 registerDirectEvent("onPointerLeave", ["pointerout", "pointerover"]);
18878 registerTwoPhaseEvent(
18879 "onChange",
18880 "change click focusin focusout input keydown keyup selectionchange".split(
18881 " "
18882 )
18883 );
18884 registerTwoPhaseEvent(
18885 "onSelect",
18886 "focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(
18887 " "
18888 )
18889 );
18890 registerTwoPhaseEvent("onBeforeInput", [
18891 "compositionend",
18892 "keypress",
18893 "textInput",
18894 "paste"
18895 ]);
18896 registerTwoPhaseEvent(
18897 "onCompositionEnd",
18898 "compositionend focusout keydown keypress keyup mousedown".split(" ")
18899 );
18900 registerTwoPhaseEvent(
18901 "onCompositionStart",
18902 "compositionstart focusout keydown keypress keyup mousedown".split(" ")
18903 );
18904 registerTwoPhaseEvent(
18905 "onCompositionUpdate",
18906 "compositionupdate focusout keydown keypress keyup mousedown".split(" ")
18907 );
18908 var mediaEventTypes = "abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(
18909 " "
18910 ), nonDelegatedEvents = new Set(
18911 "beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(mediaEventTypes)
18912 ), listeningMarker = "_reactListening" + Math.random().toString(36).slice(2), didWarnControlledToUncontrolled = false, didWarnUncontrolledToControlled = false, didWarnFormActionType = false, didWarnFormActionName = false, didWarnFormActionTarget = false, didWarnFormActionMethod = false, didWarnPopoverTargetObject = false;
18913 var didWarnForNewBooleanPropsWithEmptyValue = {};
18914 var NORMALIZE_NEWLINES_REGEX = /\r\n?/g, NORMALIZE_NULL_AND_REPLACEMENT_REGEX = /\u0000|\uFFFD/g, xlinkNamespace = "http://www.w3.org/1999/xlink", xmlNamespace = "http://www.w3.org/XML/1998/namespace", EXPECTED_FORM_ACTION_URL = "javascript:throw new Error('React form unexpectedly submitted.')", SUPPRESS_HYDRATION_WARNING = "suppressHydrationWarning", SUSPENSE_START_DATA = "$", SUSPENSE_END_DATA = "/$", SUSPENSE_PENDING_START_DATA = "$?", SUSPENSE_FALLBACK_START_DATA = "$!", PREAMBLE_CONTRIBUTION_HTML = 1, PREAMBLE_CONTRIBUTION_BODY = 2, PREAMBLE_CONTRIBUTION_HEAD = 4, FORM_STATE_IS_MATCHING = "F!", FORM_STATE_IS_NOT_MATCHING = "F", DOCUMENT_READY_STATE_COMPLETE = "complete", STYLE = "style", HostContextNamespaceNone = 0, HostContextNamespaceSvg = 1, HostContextNamespaceMath = 2, eventsEnabled = null, selectionInformation = null, warnedUnknownTags = { dialog: true, webview: true }, currentPopstateTransitionEvent = null, scheduleTimeout = "function" === typeof setTimeout ? setTimeout : void 0, cancelTimeout = "function" === typeof clearTimeout ? clearTimeout : void 0, noTimeout = -1, localPromise = "function" === typeof Promise ? Promise : void 0, scheduleMicrotask = "function" === typeof queueMicrotask ? queueMicrotask : "undefined" !== typeof localPromise ? function(callback) {
18915 return localPromise.resolve(null).then(callback).catch(handleErrorInNextTick);
18916 } : scheduleTimeout, previousHydratableOnEnteringScopedSingleton = null, NotLoaded = 0, Loaded = 1, Errored = 2, Settled = 3, Inserted = 4, preloadPropsMap = /* @__PURE__ */ new Map(), preconnectsSet = /* @__PURE__ */ new Set(), previousDispatcher = ReactDOMSharedInternals.d;
18917 ReactDOMSharedInternals.d = {
18918 f: function() {
18919 var previousWasRendering = previousDispatcher.f(), wasRendering = flushSyncWork$1();
18920 return previousWasRendering || wasRendering;
18921 },
18922 r: function(form) {
18923 var formInst = getInstanceFromNode(form);
18924 null !== formInst && 5 === formInst.tag && "form" === formInst.type ? requestFormReset$1(formInst) : previousDispatcher.r(form);
18925 },
18926 D: function(href) {
18927 previousDispatcher.D(href);
18928 preconnectAs("dns-prefetch", href, null);
18929 },
18930 C: function(href, crossOrigin) {
18931 previousDispatcher.C(href, crossOrigin);
18932 preconnectAs("preconnect", href, crossOrigin);
18933 },
18934 L: function(href, as, options) {
18935 previousDispatcher.L(href, as, options);
18936 var ownerDocument = globalDocument;
18937 if (ownerDocument && href && as) {
18938 var preloadSelector = 'link[rel="preload"][as="' + escapeSelectorAttributeValueInsideDoubleQuotes(as) + '"]';
18939 "image" === as ? options && options.imageSrcSet ? (preloadSelector += '[imagesrcset="' + escapeSelectorAttributeValueInsideDoubleQuotes(
18940 options.imageSrcSet
18941 ) + '"]', "string" === typeof options.imageSizes && (preloadSelector += '[imagesizes="' + escapeSelectorAttributeValueInsideDoubleQuotes(
18942 options.imageSizes
18943 ) + '"]')) : preloadSelector += '[href="' + escapeSelectorAttributeValueInsideDoubleQuotes(href) + '"]' : preloadSelector += '[href="' + escapeSelectorAttributeValueInsideDoubleQuotes(href) + '"]';
18944 var key = preloadSelector;
18945 switch (as) {
18946 case "style":
18947 key = getStyleKey(href);
18948 break;
18949 case "script":
18950 key = getScriptKey(href);
18951 }
18952 preloadPropsMap.has(key) || (href = assign(
18953 {
18954 rel: "preload",
18955 href: "image" === as && options && options.imageSrcSet ? void 0 : href,
18956 as
18957 },
18958 options
18959 ), preloadPropsMap.set(key, href), null !== ownerDocument.querySelector(preloadSelector) || "style" === as && ownerDocument.querySelector(
18960 getStylesheetSelectorFromKey(key)
18961 ) || "script" === as && ownerDocument.querySelector(getScriptSelectorFromKey(key)) || (as = ownerDocument.createElement("link"), setInitialProperties(as, "link", href), markNodeAsHoistable(as), ownerDocument.head.appendChild(as)));
18962 }
18963 },
18964 m: function(href, options) {
18965 previousDispatcher.m(href, options);
18966 var ownerDocument = globalDocument;
18967 if (ownerDocument && href) {
18968 var as = options && "string" === typeof options.as ? options.as : "script", preloadSelector = 'link[rel="modulepreload"][as="' + escapeSelectorAttributeValueInsideDoubleQuotes(as) + '"][href="' + escapeSelectorAttributeValueInsideDoubleQuotes(href) + '"]', key = preloadSelector;
18969 switch (as) {
18970 case "audioworklet":
18971 case "paintworklet":
18972 case "serviceworker":
18973 case "sharedworker":
18974 case "worker":
18975 case "script":
18976 key = getScriptKey(href);
18977 }
18978 if (!preloadPropsMap.has(key) && (href = assign({ rel: "modulepreload", href }, options), preloadPropsMap.set(key, href), null === ownerDocument.querySelector(preloadSelector))) {
18979 switch (as) {
18980 case "audioworklet":
18981 case "paintworklet":
18982 case "serviceworker":
18983 case "sharedworker":
18984 case "worker":
18985 case "script":
18986 if (ownerDocument.querySelector(getScriptSelectorFromKey(key)))
18987 return;
18988 }
18989 as = ownerDocument.createElement("link");
18990 setInitialProperties(as, "link", href);
18991 markNodeAsHoistable(as);
18992 ownerDocument.head.appendChild(as);
18993 }
18994 }
18995 },
18996 X: function(src, options) {
18997 previousDispatcher.X(src, options);
18998 var ownerDocument = globalDocument;
18999 if (ownerDocument && src) {
19000 var scripts = getResourcesFromRoot(ownerDocument).hoistableScripts, key = getScriptKey(src), resource = scripts.get(key);
19001 resource || (resource = ownerDocument.querySelector(
19002 getScriptSelectorFromKey(key)
19003 ), resource || (src = assign({ src, async: true }, options), (options = preloadPropsMap.get(key)) && adoptPreloadPropsForScript(src, options), resource = ownerDocument.createElement("script"), markNodeAsHoistable(resource), setInitialProperties(resource, "link", src), ownerDocument.head.appendChild(resource)), resource = {
19004 type: "script",
19005 instance: resource,
19006 count: 1,
19007 state: null
19008 }, scripts.set(key, resource));
19009 }
19010 },
19011 S: function(href, precedence, options) {
19012 previousDispatcher.S(href, precedence, options);
19013 var ownerDocument = globalDocument;
19014 if (ownerDocument && href) {
19015 var styles = getResourcesFromRoot(ownerDocument).hoistableStyles, key = getStyleKey(href);
19016 precedence = precedence || "default";
19017 var resource = styles.get(key);
19018 if (!resource) {
19019 var state = { loading: NotLoaded, preload: null };
19020 if (resource = ownerDocument.querySelector(
19021 getStylesheetSelectorFromKey(key)
19022 ))
19023 state.loading = Loaded | Inserted;
19024 else {
19025 href = assign(
19026 {
19027 rel: "stylesheet",
19028 href,
19029 "data-precedence": precedence
19030 },
19031 options
19032 );
19033 (options = preloadPropsMap.get(key)) && adoptPreloadPropsForStylesheet(href, options);
19034 var link = resource = ownerDocument.createElement("link");
19035 markNodeAsHoistable(link);
19036 setInitialProperties(link, "link", href);
19037 link._p = new Promise(function(resolve, reject) {
19038 link.onload = resolve;
19039 link.onerror = reject;
19040 });
19041 link.addEventListener("load", function() {
19042 state.loading |= Loaded;
19043 });
19044 link.addEventListener("error", function() {
19045 state.loading |= Errored;
19046 });
19047 state.loading |= Inserted;
19048 insertStylesheet(resource, precedence, ownerDocument);
19049 }
19050 resource = {
19051 type: "stylesheet",
19052 instance: resource,
19053 count: 1,
19054 state
19055 };
19056 styles.set(key, resource);
19057 }
19058 }
19059 },
19060 M: function(src, options) {
19061 previousDispatcher.M(src, options);
19062 var ownerDocument = globalDocument;
19063 if (ownerDocument && src) {
19064 var scripts = getResourcesFromRoot(ownerDocument).hoistableScripts, key = getScriptKey(src), resource = scripts.get(key);
19065 resource || (resource = ownerDocument.querySelector(
19066 getScriptSelectorFromKey(key)
19067 ), resource || (src = assign({ src, async: true, type: "module" }, options), (options = preloadPropsMap.get(key)) && adoptPreloadPropsForScript(src, options), resource = ownerDocument.createElement("script"), markNodeAsHoistable(resource), setInitialProperties(resource, "link", src), ownerDocument.head.appendChild(resource)), resource = {
19068 type: "script",
19069 instance: resource,
19070 count: 1,
19071 state: null
19072 }, scripts.set(key, resource));
19073 }
19074 }
19075 };
19076 var globalDocument = "undefined" === typeof document ? null : document, tagCaches = null, suspendedState = null, LAST_PRECEDENCE = null, precedencesByRoot = null, NotPendingTransition = NotPending, HostTransitionContext = {
19077 $$typeof: REACT_CONTEXT_TYPE,
19078 Provider: null,
19079 Consumer: null,
19080 _currentValue: NotPendingTransition,
19081 _currentValue2: NotPendingTransition,
19082 _threadCount: 0
19083 }, badgeFormat = "%c%s%c ", badgeStyle = "background: #e6e6e6;background: light-dark(rgba(0,0,0,0.1), rgba(255,255,255,0.25));color: #000000;color: light-dark(#000000, #ffffff);border-radius: 2px", resetStyle = "", pad = " ", bind = Function.prototype.bind;
19084 var didWarnAboutNestedUpdates = false;
19085 var overrideHookState = null, overrideHookStateDeletePath = null, overrideHookStateRenamePath = null, overrideProps = null, overridePropsDeletePath = null, overridePropsRenamePath = null, scheduleUpdate = null, setErrorHandler = null, setSuspenseHandler = null;
19086 overrideHookState = function(fiber, id, path, value) {
19087 id = findHook(fiber, id);
19088 null !== id && (path = copyWithSetImpl(id.memoizedState, path, 0, value), id.memoizedState = path, id.baseState = path, fiber.memoizedProps = assign({}, fiber.memoizedProps), path = enqueueConcurrentRenderForLane(fiber, 2), null !== path && scheduleUpdateOnFiber(path, fiber, 2));
19089 };
19090 overrideHookStateDeletePath = function(fiber, id, path) {
19091 id = findHook(fiber, id);
19092 null !== id && (path = copyWithDeleteImpl(id.memoizedState, path, 0), id.memoizedState = path, id.baseState = path, fiber.memoizedProps = assign({}, fiber.memoizedProps), path = enqueueConcurrentRenderForLane(fiber, 2), null !== path && scheduleUpdateOnFiber(path, fiber, 2));
19093 };
19094 overrideHookStateRenamePath = function(fiber, id, oldPath, newPath) {
19095 id = findHook(fiber, id);
19096 null !== id && (oldPath = copyWithRename(id.memoizedState, oldPath, newPath), id.memoizedState = oldPath, id.baseState = oldPath, fiber.memoizedProps = assign({}, fiber.memoizedProps), oldPath = enqueueConcurrentRenderForLane(fiber, 2), null !== oldPath && scheduleUpdateOnFiber(oldPath, fiber, 2));
19097 };
19098 overrideProps = function(fiber, path, value) {
19099 fiber.pendingProps = copyWithSetImpl(fiber.memoizedProps, path, 0, value);
19100 fiber.alternate && (fiber.alternate.pendingProps = fiber.pendingProps);
19101 path = enqueueConcurrentRenderForLane(fiber, 2);
19102 null !== path && scheduleUpdateOnFiber(path, fiber, 2);
19103 };
19104 overridePropsDeletePath = function(fiber, path) {
19105 fiber.pendingProps = copyWithDeleteImpl(fiber.memoizedProps, path, 0);
19106 fiber.alternate && (fiber.alternate.pendingProps = fiber.pendingProps);
19107 path = enqueueConcurrentRenderForLane(fiber, 2);
19108 null !== path && scheduleUpdateOnFiber(path, fiber, 2);
19109 };
19110 overridePropsRenamePath = function(fiber, oldPath, newPath) {
19111 fiber.pendingProps = copyWithRename(
19112 fiber.memoizedProps,
19113 oldPath,
19114 newPath
19115 );
19116 fiber.alternate && (fiber.alternate.pendingProps = fiber.pendingProps);
19117 oldPath = enqueueConcurrentRenderForLane(fiber, 2);
19118 null !== oldPath && scheduleUpdateOnFiber(oldPath, fiber, 2);
19119 };
19120 scheduleUpdate = function(fiber) {
19121 var root2 = enqueueConcurrentRenderForLane(fiber, 2);
19122 null !== root2 && scheduleUpdateOnFiber(root2, fiber, 2);
19123 };
19124 setErrorHandler = function(newShouldErrorImpl) {
19125 shouldErrorImpl = newShouldErrorImpl;
19126 };
19127 setSuspenseHandler = function(newShouldSuspendImpl) {
19128 shouldSuspendImpl = newShouldSuspendImpl;
19129 };
19130 var _enabled = true, return_targetInst = null, hasScheduledReplayAttempt = false, queuedFocus = null, queuedDrag = null, queuedMouse = null, queuedPointers = /* @__PURE__ */ new Map(), queuedPointerCaptures = /* @__PURE__ */ new Map(), queuedExplicitHydrationTargets = [], discreteReplayableEvents = "mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(
19131 " "
19132 ), lastScheduledReplayQueue = null;
19133 ReactDOMHydrationRoot.prototype.render = ReactDOMRoot.prototype.render = function(children) {
19134 var root2 = this._internalRoot;
19135 if (null === root2) throw Error("Cannot update an unmounted root.");
19136 var args = arguments;
19137 "function" === typeof args[1] ? console.error(
19138 "does not support the second callback argument. To execute a side effect after rendering, declare it in a component body with useEffect()."
19139 ) : isValidContainer(args[1]) ? console.error(
19140 "You passed a container to the second argument of root.render(...). You don't need to pass it again since you already passed it to create the root."
19141 ) : "undefined" !== typeof args[1] && console.error(
19142 "You passed a second argument to root.render(...) but it only accepts one argument."
19143 );
19144 args = children;
19145 var current2 = root2.current, lane = requestUpdateLane(current2);
19146 updateContainerImpl(current2, lane, args, root2, null, null);
19147 };
19148 ReactDOMHydrationRoot.prototype.unmount = ReactDOMRoot.prototype.unmount = function() {
19149 var args = arguments;
19150 "function" === typeof args[0] && console.error(
19151 "does not support a callback argument. To execute a side effect after rendering, declare it in a component body with useEffect()."
19152 );
19153 args = this._internalRoot;
19154 if (null !== args) {
19155 this._internalRoot = null;
19156 var container = args.containerInfo;
19157 (executionContext & (RenderContext | CommitContext)) !== NoContext && console.error(
19158 "Attempted to synchronously unmount a root while React was already rendering. React cannot finish unmounting the root until the current render has completed, which may lead to a race condition."
19159 );
19160 updateContainerImpl(args.current, 2, null, args, null, null);
19161 flushSyncWork$1();
19162 container[internalContainerInstanceKey] = null;
19163 }
19164 };
19165 ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function(target) {
19166 if (target) {
19167 var updatePriority = resolveUpdatePriority();
19168 target = { blockedOn: null, target, priority: updatePriority };
19169 for (var i = 0; i < queuedExplicitHydrationTargets.length && 0 !== updatePriority && updatePriority < queuedExplicitHydrationTargets[i].priority; i++) ;
19170 queuedExplicitHydrationTargets.splice(i, 0, target);
19171 0 === i && attemptExplicitHydrationTarget(target);
19172 }
19173 };
19174 (function() {
19175 var isomorphicReactPackageVersion = React.version;
19176 if ("19.1.1" !== isomorphicReactPackageVersion)
19177 throw Error(
19178 'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' + (isomorphicReactPackageVersion + "\n - react-dom: 19.1.1\nLearn more: https://react.dev/warnings/version-mismatch")
19179 );
19180 })();
19181 "function" === typeof Map && null != Map.prototype && "function" === typeof Map.prototype.forEach && "function" === typeof Set && null != Set.prototype && "function" === typeof Set.prototype.clear && "function" === typeof Set.prototype.forEach || console.error(
19182 "React depends on Map and Set built-in types. Make sure that you load a polyfill in older browsers. https://react.dev/link/react-polyfills"
19183 );
19184 ReactDOMSharedInternals.findDOMNode = function(componentOrElement) {
19185 var fiber = componentOrElement._reactInternals;
19186 if (void 0 === fiber) {
19187 if ("function" === typeof componentOrElement.render)
19188 throw Error("Unable to find node on an unmounted component.");
19189 componentOrElement = Object.keys(componentOrElement).join(",");
19190 throw Error(
19191 "Argument appears to not be a ReactComponent. Keys: " + componentOrElement
19192 );
19193 }
19194 componentOrElement = findCurrentFiberUsingSlowPath(fiber);
19195 componentOrElement = null !== componentOrElement ? findCurrentHostFiberImpl(componentOrElement) : null;
19196 componentOrElement = null === componentOrElement ? null : componentOrElement.stateNode;
19197 return componentOrElement;
19198 };
19199 if (!function() {
19200 var internals = {
19201 bundleType: 1,
19202 version: "19.1.1",
19203 rendererPackageName: "react-dom",
19204 currentDispatcherRef: ReactSharedInternals,
19205 reconcilerVersion: "19.1.1"
19206 };
19207 internals.overrideHookState = overrideHookState;
19208 internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
19209 internals.overrideHookStateRenamePath = overrideHookStateRenamePath;
19210 internals.overrideProps = overrideProps;
19211 internals.overridePropsDeletePath = overridePropsDeletePath;
19212 internals.overridePropsRenamePath = overridePropsRenamePath;
19213 internals.scheduleUpdate = scheduleUpdate;
19214 internals.setErrorHandler = setErrorHandler;
19215 internals.setSuspenseHandler = setSuspenseHandler;
19216 internals.scheduleRefresh = scheduleRefresh;
19217 internals.scheduleRoot = scheduleRoot;
19218 internals.setRefreshHandler = setRefreshHandler;
19219 internals.getCurrentFiber = getCurrentFiberForDevTools;
19220 internals.getLaneLabelMap = getLaneLabelMap;
19221 internals.injectProfilingHooks = injectProfilingHooks;
19222 return injectInternals(internals);
19223 }() && canUseDOM && window.top === window.self && (-1 < navigator.userAgent.indexOf("Chrome") && -1 === navigator.userAgent.indexOf("Edge") || -1 < navigator.userAgent.indexOf("Firefox"))) {
19224 var protocol = window.location.protocol;
19225 /^(https?|file):$/.test(protocol) && console.info(
19226 "%cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools" + ("file:" === protocol ? "\nYou might need to use a local HTTP server (instead of file://): https://react.dev/link/react-devtools-faq" : ""),
19227 "font-weight:bold"
19228 );
19229 }
19230 exports.createRoot = function(container, options) {
19231 if (!isValidContainer(container))
19232 throw Error("Target container is not a DOM element.");
19233 warnIfReactDOMContainerInDEV(container);
19234 var isStrictMode = false, identifierPrefix = "", onUncaughtError = defaultOnUncaughtError, onCaughtError = defaultOnCaughtError, onRecoverableError = defaultOnRecoverableError, transitionCallbacks = null;
19235 null !== options && void 0 !== options && (options.hydrate ? console.warn(
19236 "hydrate through createRoot is deprecated. Use ReactDOMClient.hydrateRoot(container, <App />) instead."
19237 ) : "object" === typeof options && null !== options && options.$$typeof === REACT_ELEMENT_TYPE && console.error(
19238 "You passed a JSX element to createRoot. You probably meant to call root.render instead. Example usage:\n\n let root = createRoot(domContainer);\n root.render(<App />);"
19239 ), true === options.unstable_strictMode && (isStrictMode = true), void 0 !== options.identifierPrefix && (identifierPrefix = options.identifierPrefix), void 0 !== options.onUncaughtError && (onUncaughtError = options.onUncaughtError), void 0 !== options.onCaughtError && (onCaughtError = options.onCaughtError), void 0 !== options.onRecoverableError && (onRecoverableError = options.onRecoverableError), void 0 !== options.unstable_transitionCallbacks && (transitionCallbacks = options.unstable_transitionCallbacks));
19240 options = createFiberRoot(
19241 container,
19242 1,
19243 false,
19244 null,
19245 null,
19246 isStrictMode,
19247 identifierPrefix,
19248 onUncaughtError,
19249 onCaughtError,
19250 onRecoverableError,
19251 transitionCallbacks,
19252 null
19253 );
19254 container[internalContainerInstanceKey] = options.current;
19255 listenToAllSupportedEvents(container);
19256 return new ReactDOMRoot(options);
19257 };
19258 exports.hydrateRoot = function(container, initialChildren, options) {
19259 if (!isValidContainer(container))
19260 throw Error("Target container is not a DOM element.");
19261 warnIfReactDOMContainerInDEV(container);
19262 void 0 === initialChildren && console.error(
19263 "Must provide initial children as second argument to hydrateRoot. Example usage: hydrateRoot(domContainer, <App />)"
19264 );
19265 var isStrictMode = false, identifierPrefix = "", onUncaughtError = defaultOnUncaughtError, onCaughtError = defaultOnCaughtError, onRecoverableError = defaultOnRecoverableError, transitionCallbacks = null, formState = null;
19266 null !== options && void 0 !== options && (true === options.unstable_strictMode && (isStrictMode = true), void 0 !== options.identifierPrefix && (identifierPrefix = options.identifierPrefix), void 0 !== options.onUncaughtError && (onUncaughtError = options.onUncaughtError), void 0 !== options.onCaughtError && (onCaughtError = options.onCaughtError), void 0 !== options.onRecoverableError && (onRecoverableError = options.onRecoverableError), void 0 !== options.unstable_transitionCallbacks && (transitionCallbacks = options.unstable_transitionCallbacks), void 0 !== options.formState && (formState = options.formState));
19267 initialChildren = createFiberRoot(
19268 container,
19269 1,
19270 true,
19271 initialChildren,
19272 null != options ? options : null,
19273 isStrictMode,
19274 identifierPrefix,
19275 onUncaughtError,
19276 onCaughtError,
19277 onRecoverableError,
19278 transitionCallbacks,
19279 formState
19280 );
19281 initialChildren.context = getContextForSubtree(null);
19282 options = initialChildren.current;
19283 isStrictMode = requestUpdateLane(options);
19284 isStrictMode = getBumpedLaneForHydrationByLane(isStrictMode);
19285 identifierPrefix = createUpdate(isStrictMode);
19286 identifierPrefix.callback = null;
19287 enqueueUpdate(options, identifierPrefix, isStrictMode);
19288 options = isStrictMode;
19289 initialChildren.current.lanes = options;
19290 markRootUpdated$1(initialChildren, options);
19291 ensureRootIsScheduled(initialChildren);
19292 container[internalContainerInstanceKey] = initialChildren.current;
19293 listenToAllSupportedEvents(container);
19294 return new ReactDOMHydrationRoot(initialChildren);
19295 };
19296 exports.version = "19.1.1";
19297 "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
19298 })();
19299 }
19300 });
19301
19302 // node_modules/react-dom/client.js
19303 var require_client = __commonJS({
19304 "node_modules/react-dom/client.js"(exports, module) {
19305 "use strict";
19306 if (false) {
19307 checkDCE();
19308 module.exports = null;
19309 } else {
19310 module.exports = require_react_dom_client_development();
19311 }
19312 }
19313 });
19314
19315 // node_modules/react/cjs/react-jsx-runtime.development.js
19316 var require_react_jsx_runtime_development = __commonJS({
19317 "node_modules/react/cjs/react-jsx-runtime.development.js"(exports) {
19318 "use strict";
19319 (function() {
19320 function getComponentNameFromType(type) {
19321 if (null == type) return null;
19322 if ("function" === typeof type)
19323 return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null;
19324 if ("string" === typeof type) return type;
19325 switch (type) {
19326 case REACT_FRAGMENT_TYPE:
19327 return "Fragment";
19328 case REACT_PROFILER_TYPE:
19329 return "Profiler";
19330 case REACT_STRICT_MODE_TYPE:
19331 return "StrictMode";
19332 case REACT_SUSPENSE_TYPE:
19333 return "Suspense";
19334 case REACT_SUSPENSE_LIST_TYPE:
19335 return "SuspenseList";
19336 case REACT_ACTIVITY_TYPE:
19337 return "Activity";
19338 }
19339 if ("object" === typeof type)
19340 switch ("number" === typeof type.tag && console.error(
19341 "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
19342 ), type.$$typeof) {
19343 case REACT_PORTAL_TYPE:
19344 return "Portal";
19345 case REACT_CONTEXT_TYPE:
19346 return (type.displayName || "Context") + ".Provider";
19347 case REACT_CONSUMER_TYPE:
19348 return (type._context.displayName || "Context") + ".Consumer";
19349 case REACT_FORWARD_REF_TYPE:
19350 var innerType = type.render;
19351 type = type.displayName;
19352 type || (type = innerType.displayName || innerType.name || "", type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef");
19353 return type;
19354 case REACT_MEMO_TYPE:
19355 return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || "Memo";
19356 case REACT_LAZY_TYPE:
19357 innerType = type._payload;
19358 type = type._init;
19359 try {
19360 return getComponentNameFromType(type(innerType));
19361 } catch (x) {
19362 }
19363 }
19364 return null;
19365 }
19366 function testStringCoercion(value) {
19367 return "" + value;
19368 }
19369 function checkKeyStringCoercion(value) {
19370 try {
19371 testStringCoercion(value);
19372 var JSCompiler_inline_result = false;
19373 } catch (e) {
19374 JSCompiler_inline_result = true;
19375 }
19376 if (JSCompiler_inline_result) {
19377 JSCompiler_inline_result = console;
19378 var JSCompiler_temp_const = JSCompiler_inline_result.error;
19379 var JSCompiler_inline_result$jscomp$0 = "function" === typeof Symbol && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object";
19380 JSCompiler_temp_const.call(
19381 JSCompiler_inline_result,
19382 "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
19383 JSCompiler_inline_result$jscomp$0
19384 );
19385 return testStringCoercion(value);
19386 }
19387 }
19388 function getTaskName(type) {
19389 if (type === REACT_FRAGMENT_TYPE) return "<>";
19390 if ("object" === typeof type && null !== type && type.$$typeof === REACT_LAZY_TYPE)
19391 return "<...>";
19392 try {
19393 var name = getComponentNameFromType(type);
19394 return name ? "<" + name + ">" : "<...>";
19395 } catch (x) {
19396 return "<...>";
19397 }
19398 }
19399 function getOwner() {
19400 var dispatcher = ReactSharedInternals.A;
19401 return null === dispatcher ? null : dispatcher.getOwner();
19402 }
19403 function UnknownOwner() {
19404 return Error("react-stack-top-frame");
19405 }
19406 function hasValidKey(config) {
19407 if (hasOwnProperty.call(config, "key")) {
19408 var getter = Object.getOwnPropertyDescriptor(config, "key").get;
19409 if (getter && getter.isReactWarning) return false;
19410 }
19411 return void 0 !== config.key;
19412 }
19413 function defineKeyPropWarningGetter(props, displayName) {
19414 function warnAboutAccessingKey() {
19415 specialPropKeyWarningShown || (specialPropKeyWarningShown = true, console.error(
19416 "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
19417 displayName
19418 ));
19419 }
19420 warnAboutAccessingKey.isReactWarning = true;
19421 Object.defineProperty(props, "key", {
19422 get: warnAboutAccessingKey,
19423 configurable: true
19424 });
19425 }
19426 function elementRefGetterWithDeprecationWarning() {
19427 var componentName = getComponentNameFromType(this.type);
19428 didWarnAboutElementRef[componentName] || (didWarnAboutElementRef[componentName] = true, console.error(
19429 "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
19430 ));
19431 componentName = this.props.ref;
19432 return void 0 !== componentName ? componentName : null;
19433 }
19434 function ReactElement(type, key, self, source, owner, props, debugStack, debugTask) {
19435 self = props.ref;
19436 type = {
19437 $$typeof: REACT_ELEMENT_TYPE,
19438 type,
19439 key,
19440 props,
19441 _owner: owner
19442 };
19443 null !== (void 0 !== self ? self : null) ? Object.defineProperty(type, "ref", {
19444 enumerable: false,
19445 get: elementRefGetterWithDeprecationWarning
19446 }) : Object.defineProperty(type, "ref", { enumerable: false, value: null });
19447 type._store = {};
19448 Object.defineProperty(type._store, "validated", {
19449 configurable: false,
19450 enumerable: false,
19451 writable: true,
19452 value: 0
19453 });
19454 Object.defineProperty(type, "_debugInfo", {
19455 configurable: false,
19456 enumerable: false,
19457 writable: true,
19458 value: null
19459 });
19460 Object.defineProperty(type, "_debugStack", {
19461 configurable: false,
19462 enumerable: false,
19463 writable: true,
19464 value: debugStack
19465 });
19466 Object.defineProperty(type, "_debugTask", {
19467 configurable: false,
19468 enumerable: false,
19469 writable: true,
19470 value: debugTask
19471 });
19472 Object.freeze && (Object.freeze(type.props), Object.freeze(type));
19473 return type;
19474 }
19475 function jsxDEVImpl(type, config, maybeKey, isStaticChildren, source, self, debugStack, debugTask) {
19476 var children = config.children;
19477 if (void 0 !== children)
19478 if (isStaticChildren)
19479 if (isArrayImpl(children)) {
19480 for (isStaticChildren = 0; isStaticChildren < children.length; isStaticChildren++)
19481 validateChildKeys(children[isStaticChildren]);
19482 Object.freeze && Object.freeze(children);
19483 } else
19484 console.error(
19485 "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
19486 );
19487 else validateChildKeys(children);
19488 if (hasOwnProperty.call(config, "key")) {
19489 children = getComponentNameFromType(type);
19490 var keys = Object.keys(config).filter(function(k) {
19491 return "key" !== k;
19492 });
19493 isStaticChildren = 0 < keys.length ? "{key: someKey, " + keys.join(": ..., ") + ": ...}" : "{key: someKey}";
19494 didWarnAboutKeySpread[children + isStaticChildren] || (keys = 0 < keys.length ? "{" + keys.join(": ..., ") + ": ...}" : "{}", console.error(
19495 'A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />',
19496 isStaticChildren,
19497 children,
19498 keys,
19499 children
19500 ), didWarnAboutKeySpread[children + isStaticChildren] = true);
19501 }
19502 children = null;
19503 void 0 !== maybeKey && (checkKeyStringCoercion(maybeKey), children = "" + maybeKey);
19504 hasValidKey(config) && (checkKeyStringCoercion(config.key), children = "" + config.key);
19505 if ("key" in config) {
19506 maybeKey = {};
19507 for (var propName in config)
19508 "key" !== propName && (maybeKey[propName] = config[propName]);
19509 } else maybeKey = config;
19510 children && defineKeyPropWarningGetter(
19511 maybeKey,
19512 "function" === typeof type ? type.displayName || type.name || "Unknown" : type
19513 );
19514 return ReactElement(
19515 type,
19516 children,
19517 self,
19518 source,
19519 getOwner(),
19520 maybeKey,
19521 debugStack,
19522 debugTask
19523 );
19524 }
19525 function validateChildKeys(node) {
19526 "object" === typeof node && null !== node && node.$$typeof === REACT_ELEMENT_TYPE && node._store && (node._store.validated = 1);
19527 }
19528 var React = require_react(), 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");
19529 Symbol.for("react.provider");
19530 var 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"), REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, hasOwnProperty = Object.prototype.hasOwnProperty, isArrayImpl = Array.isArray, createTask = console.createTask ? console.createTask : function() {
19531 return null;
19532 };
19533 React = {
19534 react_stack_bottom_frame: function(callStackForError) {
19535 return callStackForError();
19536 }
19537 };
19538 var specialPropKeyWarningShown;
19539 var didWarnAboutElementRef = {};
19540 var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(
19541 React,
19542 UnknownOwner
19543 )();
19544 var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));
19545 var didWarnAboutKeySpread = {};
19546 exports.Fragment = REACT_FRAGMENT_TYPE;
19547 exports.jsx = function(type, config, maybeKey, source, self) {
19548 var trackActualOwner = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;
19549 return jsxDEVImpl(
19550 type,
19551 config,
19552 maybeKey,
19553 false,
19554 source,
19555 self,
19556 trackActualOwner ? Error("react-stack-top-frame") : unknownOwnerDebugStack,
19557 trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask
19558 );
19559 };
19560 exports.jsxs = function(type, config, maybeKey, source, self) {
19561 var trackActualOwner = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;
19562 return jsxDEVImpl(
19563 type,
19564 config,
19565 maybeKey,
19566 true,
19567 source,
19568 self,
19569 trackActualOwner ? Error("react-stack-top-frame") : unknownOwnerDebugStack,
19570 trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask
19571 );
19572 };
19573 })();
19574 }
19575 });
19576
19577 // node_modules/react/jsx-runtime.js
19578 var require_jsx_runtime = __commonJS({
19579 "node_modules/react/jsx-runtime.js"(exports, module) {
19580 "use strict";
19581 if (false) {
19582 module.exports = null;
19583 } else {
19584 module.exports = require_react_jsx_runtime_development();
19585 }
19586 }
19587 });
19588
19589 // src/Todo.tsx
19590 var require_Todo = __commonJS({
19591 "src/Todo.tsx"() {
19592 var import_client = __toESM(require_client());
19593 var import_react = __toESM(require_react());
19594 var import_jsx_runtime = __toESM(require_jsx_runtime());
19595 var colors = {
19596 bg: "#0b1220",
19597 surface: "#0f172a",
19598 card: "#111827",
19599 border: "#1f2937",
19600 text: "#e5e7eb",
19601 muted: "#9ca3af",
19602 accent: "#4f46e5",
19603 accent2: "#10b981",
19604 danger: "#ef4444"
19605 };
19606 var shadow = "0 10px 20px rgba(0,0,0,.25)";
19607 var styles = {
19608 page: {
19609 minHeight: "100vh",
19610 display: "grid",
19611 placeItems: "center",
19612 padding: 32,
19613 background: colors.bg,
19614 color: colors.text,
19615 fontFamily: "system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial, 'Apple Color Emoji','Segoe UI Emoji'"
19616 },
19617 card: {
19618 minWidth: 400,
19619 maxWidth: "92vw",
19620 background: colors.surface,
19621 border: `1px solid ${colors.border}`,
19622 borderRadius: 16,
19623 boxShadow: shadow,
19624 padding: "24px 24px 20px"
19625 },
19626 header: {
19627 display: "flex",
19628 alignItems: "center",
19629 justifyContent: "space-between",
19630 gap: 12,
19631 marginBottom: 16
19632 },
19633 title: { margin: 0, fontSize: 24, letterSpacing: 0.2 },
19634 form: { display: "flex", gap: 10, marginBottom: 14 },
19635 input: {
19636 flex: 1,
19637 height: 40,
19638 padding: "0 12px",
19639 border: `1px solid ${colors.border}`,
19640 borderRadius: 10,
19641 background: colors.card,
19642 color: colors.text,
19643 outline: "none"
19644 },
19645 btn: {
19646 appearance: "none",
19647 border: `1px solid ${colors.border}`,
19648 background: colors.card,
19649 color: colors.text,
19650 padding: "10px 14px",
19651 borderRadius: 10,
19652 cursor: "pointer",
19653 fontSize: 14,
19654 userSelect: "none",
19655 transition: "transform .05s ease, background .15s, border-color .15s"
19656 },
19657 btnPrimary: { background: colors.accent, borderColor: colors.accent, color: "#fff" },
19658 btnSuccess: { background: colors.accent2, borderColor: colors.accent2, color: "#fff" },
19659 btnDanger: { background: colors.danger, borderColor: colors.danger, color: "#fff" },
19660 btnSm: { padding: "8px 10px", fontSize: 13, borderRadius: 8 },
19661 filterBar: { display: "flex", gap: 8, marginTop: 8, marginBottom: 18 },
19662 filterBtn: {
19663 appearance: "none",
19664 border: `1px solid ${colors.border}`,
19665 background: colors.card,
19666 color: colors.text,
19667 padding: "8px 12px",
19668 fontSize: 13,
19669 borderRadius: 9999,
19670 cursor: "pointer"
19671 },
19672 filterActive: {
19673 background: "#1a2140",
19674 // subtle “active” fill
19675 borderColor: "#2a3a8a"
19676 },
19677 list: { display: "grid", gap: 10 },
19678 todo: {
19679 display: "grid",
19680 gridTemplateColumns: "1fr auto auto",
19681 gap: 10,
19682 alignItems: "center",
19683 background: colors.card,
19684 border: `1px solid ${colors.border}`,
19685 borderRadius: 12,
19686 padding: "12px 12px"
19687 },
19688 todoBusy: { opacity: 0.75 },
19689 todoText: { display: "flex", alignItems: "center", gap: 8, fontSize: 16 },
19690 todoCompleted: { textDecoration: "line-through", color: colors.muted },
19691 badge: {
19692 display: "inline-flex",
19693 alignItems: "center",
19694 gap: 6,
19695 padding: "2px 8px",
19696 fontSize: 12,
19697 borderRadius: 9999,
19698 border: `1px solid ${colors.border}`
19699 },
19700 badgeDot: {
19701 width: 8,
19702 height: 8,
19703 borderRadius: 9999,
19704 display: "inline-block"
19705 },
19706 actions: { display: "flex", gap: 8 }
19707 };
19708 var TodoComponent = (0, import_react.memo)(({ todo, handleOnClickButton }) => {
19709 const statusLabel = todo.status === 0 /* IN_PROGRESS */ ? "In progress" : todo.status === 1 /* COMPLETED */ ? "Completed" : "Deleted";
19710 const badgeDotColor = todo.status === 0 /* IN_PROGRESS */ ? "#f59e0b" : todo.status === 1 /* COMPLETED */ ? "#10b981" : "#6b7280";
19711 return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { style: { ...styles.todo, ...todo.isOptimistic ? styles.todoBusy : null }, "aria-busy": todo.isOptimistic, children: [
19712 /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
19713 "div",
19714 {
19715 style: {
19716 ...styles.todoText,
19717 ...todo.status === 1 /* COMPLETED */ ? styles.todoCompleted : null
19718 },
19719 children: [
19720 /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { style: styles.badge, children: [
19721 /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { style: { ...styles.badgeDot, background: badgeDotColor } }),
19722 statusLabel
19723 ] }),
19724 /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { style: todo.isOptimistic ? { fontSize: 12, color: colors.muted } : {}, children: todo.value })
19725 ]
19726 }
19727 ),
19728 /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { style: styles.actions, children: [
19729 todo.status !== 1 /* COMPLETED */ && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
19730 "button",
19731 {
19732 style: { ...styles.btn, ...styles.btnSm, ...styles.btnSuccess },
19733 onClick: () => handleOnClickButton(todo.id, 1 /* COMPLETED */, 1 /* COMPLETED */),
19734 children: "Complete"
19735 }
19736 ),
19737 todo.status !== 2 /* DELETED */ && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
19738 "button",
19739 {
19740 style: { ...styles.btn, ...styles.btnSm, ...styles.btnDanger },
19741 onClick: () => handleOnClickButton(todo.id, 2 /* DELETED */, 2 /* REMOVED */),
19742 children: "Delete"
19743 }
19744 )
19745 ] })
19746 ] });
19747 });
19748 var todoTableCss = { display: "grid", gridTemplateColumns: "1fr", gap: 10, width: "100%" };
19749 var todoReducer = (state, action) => {
19750 switch (action.type) {
19751 case 0 /* ADD */:
19752 return [...state, action.todo];
19753 case 1 /* COMPLETED */:
19754 return state.map((t) => t.id === action.todoId ? { ...t, status: 1 /* COMPLETED */ } : t);
19755 case 2 /* REMOVED */:
19756 return state.map((t) => t.id === action.todoId ? { ...t, status: 2 /* DELETED */ } : t);
19757 case 3 /* CONFRIM_FROM_BE */:
19758 return state.map((t) => t.id === action.todoId ? { ...t, isOptimistic: false } : t);
19759 case 4 /* REVERT_FROM_BE */:
19760 return state.filter((t) => t.id !== action.todoId);
19761 case 5 /* HYDRATE */:
19762 return action.todos.map((todo) => ({
19763 ...todo,
19764 isOptimistic: false
19765 }));
19766 default:
19767 return state;
19768 }
19769 };
19770 var TodoPageComponent = ({ userKeyword }) => {
19771 const [todos, dispatch] = (0, import_react.useReducer)(todoReducer, []);
19772 const [todoTypes, setTodoTypes] = (0, import_react.useState)(0 /* IN_PROGRESS */);
19773 const todoInputRef = (0, import_react.useRef)(null);
19774 (0, import_react.useEffect)(() => {
19775 const ctrl = new AbortController();
19776 (async () => {
19777 try {
19778 const res = await fetch(
19779 `/api/v1/todo?key=${userKeyword}`,
19780 { signal: ctrl.signal }
19781 );
19782 if (!res.ok) return;
19783 const todos2 = (await res.json()).todos;
19784 dispatch({ type: 5 /* HYDRATE */, todos: todos2 });
19785 } catch (e) {
19786 console.log(e);
19787 }
19788 })();
19789 return () => ctrl.abort();
19790 }, []);
19791 const buckets = (0, import_react.useMemo)(() => {
19792 const r = {
19793 [0 /* IN_PROGRESS */]: [],
19794 [1 /* COMPLETED */]: [],
19795 [2 /* DELETED */]: []
19796 };
19797 for (const t of todos) r[t.status].push(t);
19798 return r;
19799 }, [todos]);
19800 const visibleTodos = buckets[todoTypes];
19801 const handleSubmit = (0, import_react.useCallback)((event) => {
19802 event.preventDefault();
19803 const todoInput = todoInputRef.current;
19804 if (!todoInput) return;
19805 const value = todoInput.value.trim();
19806 if (!value) return;
19807 const newTodo = {
19808 id: crypto.randomUUID(),
19809 value,
19810 status: 0 /* IN_PROGRESS */,
19811 isOptimistic: true
19812 };
19813 dispatch({ type: 0 /* ADD */, todo: newTodo });
19814 todoInput.value = "";
19815 (0, import_react.startTransition)(async () => {
19816 try {
19817 const res = await fetch(`/api/v1/todo?key=${userKeyword}`, {
19818 method: "POST",
19819 headers: { "Content-Type": "application/json" },
19820 body: JSON.stringify({ newTodo })
19821 });
19822 if (res.ok) dispatch({ type: 3 /* CONFRIM_FROM_BE */, todoId: newTodo.id });
19823 else dispatch({ type: 4 /* REVERT_FROM_BE */, todoId: newTodo.id });
19824 } catch {
19825 dispatch({ type: 4 /* REVERT_FROM_BE */, todoId: newTodo.id });
19826 }
19827 });
19828 }, []);
19829 const onClickUpdate = (0, import_react.useCallback)(
19830 (todoId, status, type) => {
19831 dispatch({ type, todoId });
19832 (0, import_react.startTransition)(async () => {
19833 try {
19834 const res = await fetch(`/api/v1/todo?key=${userKeyword}`, {
19835 method: "PATCH",
19836 headers: { "Content-Type": "application/json" },
19837 body: JSON.stringify({ todoId, status })
19838 });
19839 if (res.ok) dispatch({ type: 3 /* CONFRIM_FROM_BE */, todoId });
19840 else dispatch({ type: 4 /* REVERT_FROM_BE */, todoId });
19841 } catch {
19842 dispatch({ type: 4 /* REVERT_FROM_BE */, todoId });
19843 }
19844 });
19845 },
19846 [dispatch]
19847 );
19848 return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
19849 /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { style: styles.header, children: [
19850 /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h1", { style: styles.title, children: "TODO!" }),
19851 /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { style: styles.filterBar, role: "tablist", "aria-label": "Filter", children: [
19852 /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
19853 "button",
19854 {
19855 style: { ...styles.filterBtn, ...todoTypes === 0 /* IN_PROGRESS */ ? styles.filterActive : null },
19856 onClick: () => setTodoTypes(0 /* IN_PROGRESS */),
19857 children: "In progress"
19858 }
19859 ),
19860 /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
19861 "button",
19862 {
19863 style: { ...styles.filterBtn, ...todoTypes === 2 /* DELETED */ ? styles.filterActive : null },
19864 onClick: () => setTodoTypes(2 /* DELETED */),
19865 children: "Deleted"
19866 }
19867 ),
19868 /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
19869 "button",
19870 {
19871 style: { ...styles.filterBtn, ...todoTypes === 1 /* COMPLETED */ ? styles.filterActive : null },
19872 onClick: () => setTodoTypes(1 /* COMPLETED */),
19873 children: "Completed"
19874 }
19875 )
19876 ] })
19877 ] }),
19878 /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("form", { style: styles.form, onSubmit: handleSubmit, children: [
19879 /* @__PURE__ */ (0, import_jsx_runtime.jsx)("input", { ref: todoInputRef, style: styles.input, placeholder: "Add a task\u2026" }),
19880 /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", { style: { ...styles.btn, ...styles.btnPrimary }, type: "submit", children: "Add" })
19881 ] }),
19882 /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { style: todoTableCss, children: visibleTodos.map((todo) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TodoComponent, { todo, handleOnClickButton: onClickUpdate }, todo.id)) })
19883 ] });
19884 };
19885 var SetUserKeywordInput = ({ setUserKeyword }) => {
19886 const inputRef = (0, import_react.useRef)(null);
19887 const handleSubmit = (0, import_react.useCallback)(() => {
19888 const inputEle = inputRef.current;
19889 if (!inputEle || !inputEle.value.trim()) return;
19890 setUserKeyword(inputEle.value.trim());
19891 const params = new URLSearchParams(window.location.search);
19892 params.set("key", inputEle.value.trim());
19893 history.replaceState(null, "", `${location.pathname}?${params}${location.hash}`);
19894 inputEle.value = "";
19895 }, [setUserKeyword]);
19896 return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
19897 /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h1", { style: styles.title, children: "What is your keyword?" }),
19898 /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", { children: "If it doesn't exist, it will start a new TODO list and used the keyword to encrypt the values." }),
19899 /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("form", { style: styles.form, onSubmit: handleSubmit, children: [
19900 /* @__PURE__ */ (0, import_jsx_runtime.jsx)("input", { ref: inputRef, style: styles.input, placeholder: "What is your Keyword?" }),
19901 /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", { style: { ...styles.btn, ...styles.btnPrimary }, type: "submit", children: "Confirm" })
19902 ] })
19903 ] });
19904 };
19905 var Todo = () => {
19906 const [userKeyword, setUserKeyword] = (0, import_react.useState)(() => {
19907 const params = new URLSearchParams(window.location.search);
19908 console.log();
19909 return params.get("key") || "";
19910 });
19911 return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { style: styles.page, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { style: styles.card, children: userKeyword ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TodoPageComponent, { userKeyword }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SetUserKeywordInput, { setUserKeyword }) }) });
19912 };
19913 import_client.default.createRoot(document.getElementById("root")).render(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Todo, {}));
19914 }
19915 });
19916 require_Todo();
19917 })();
19918 /*! Bundled license information:
19919
19920 scheduler/cjs/scheduler.development.js:
19921 (**
19922 * @license React
19923 * scheduler.development.js
19924 *
19925 * Copyright (c) Meta Platforms, Inc. and affiliates.
19926 *
19927 * This source code is licensed under the MIT license found in the
19928 * LICENSE file in the root directory of this source tree.
19929 *)
19930
19931 react/cjs/react.development.js:
19932 (**
19933 * @license React
19934 * react.development.js
19935 *
19936 * Copyright (c) Meta Platforms, Inc. and affiliates.
19937 *
19938 * This source code is licensed under the MIT license found in the
19939 * LICENSE file in the root directory of this source tree.
19940 *)
19941
19942 react-dom/cjs/react-dom.development.js:
19943 (**
19944 * @license React
19945 * react-dom.development.js
19946 *
19947 * Copyright (c) Meta Platforms, Inc. and affiliates.
19948 *
19949 * This source code is licensed under the MIT license found in the
19950 * LICENSE file in the root directory of this source tree.
19951 *)
19952
19953 react-dom/cjs/react-dom-client.development.js:
19954 (**
19955 * @license React
19956 * react-dom-client.development.js
19957 *
19958 * Copyright (c) Meta Platforms, Inc. and affiliates.
19959 *
19960 * This source code is licensed under the MIT license found in the
19961 * LICENSE file in the root directory of this source tree.
19962 *)
19963
19964 react/cjs/react-jsx-runtime.development.js:
19965 (**
19966 * @license React
19967 * react-jsx-runtime.development.js
19968 *
19969 * Copyright (c) Meta Platforms, Inc. and affiliates.
19970 *
19971 * This source code is licensed under the MIT license found in the
19972 * LICENSE file in the root directory of this source tree.
19973 *)
19974 */