11297 lines
579 KiB
JavaScript
11297 lines
579 KiB
JavaScript
import assetsManifest from "./__vite_rsc_assets_manifest.js";
|
|
import require$$0 from "node:async_hooks";
|
|
let Children, renderHtmlFallback, renderHtmlStream, Slot, jsxRuntimeExports, reactExports;
|
|
let __tla = (async () => {
|
|
var jsxRuntime = {
|
|
exports: {}
|
|
};
|
|
var reactJsxRuntime_production = {};
|
|
var hasRequiredReactJsxRuntime_production;
|
|
function requireReactJsxRuntime_production() {
|
|
if (hasRequiredReactJsxRuntime_production) return reactJsxRuntime_production;
|
|
hasRequiredReactJsxRuntime_production = 1;
|
|
var REACT_ELEMENT_TYPE = /* @__PURE__ */ Symbol.for("react.transitional.element"), REACT_FRAGMENT_TYPE = /* @__PURE__ */ Symbol.for("react.fragment");
|
|
function jsxProd(type, config, maybeKey) {
|
|
var key = null;
|
|
void 0 !== maybeKey && (key = "" + maybeKey);
|
|
void 0 !== config.key && (key = "" + config.key);
|
|
if ("key" in config) {
|
|
maybeKey = {};
|
|
for (var propName in config) "key" !== propName && (maybeKey[propName] = config[propName]);
|
|
} else maybeKey = config;
|
|
config = maybeKey.ref;
|
|
return {
|
|
$$typeof: REACT_ELEMENT_TYPE,
|
|
type,
|
|
key,
|
|
ref: void 0 !== config ? config : null,
|
|
props: maybeKey
|
|
};
|
|
}
|
|
reactJsxRuntime_production.Fragment = REACT_FRAGMENT_TYPE;
|
|
reactJsxRuntime_production.jsx = jsxProd;
|
|
reactJsxRuntime_production.jsxs = jsxProd;
|
|
return reactJsxRuntime_production;
|
|
}
|
|
var hasRequiredJsxRuntime;
|
|
function requireJsxRuntime() {
|
|
if (hasRequiredJsxRuntime) return jsxRuntime.exports;
|
|
hasRequiredJsxRuntime = 1;
|
|
{
|
|
jsxRuntime.exports = requireReactJsxRuntime_production();
|
|
}
|
|
return jsxRuntime.exports;
|
|
}
|
|
jsxRuntimeExports = requireJsxRuntime();
|
|
var react = {
|
|
exports: {}
|
|
};
|
|
var react_production = {};
|
|
var hasRequiredReact_production;
|
|
function requireReact_production() {
|
|
if (hasRequiredReact_production) return react_production;
|
|
hasRequiredReact_production = 1;
|
|
var REACT_ELEMENT_TYPE = /* @__PURE__ */ Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = /* @__PURE__ */ Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = /* @__PURE__ */ Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = /* @__PURE__ */ Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = /* @__PURE__ */ Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = /* @__PURE__ */ Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = /* @__PURE__ */ Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = /* @__PURE__ */ Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = /* @__PURE__ */ Symbol.for("react.suspense"), REACT_MEMO_TYPE = /* @__PURE__ */ Symbol.for("react.memo"), REACT_LAZY_TYPE = /* @__PURE__ */ Symbol.for("react.lazy"), REACT_ACTIVITY_TYPE = /* @__PURE__ */ Symbol.for("react.activity"), MAYBE_ITERATOR_SYMBOL = Symbol.iterator;
|
|
function getIteratorFn(maybeIterable) {
|
|
if (null === maybeIterable || "object" !== typeof maybeIterable) return null;
|
|
maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable["@@iterator"];
|
|
return "function" === typeof maybeIterable ? maybeIterable : null;
|
|
}
|
|
var ReactNoopUpdateQueue = {
|
|
isMounted: function() {
|
|
return false;
|
|
},
|
|
enqueueForceUpdate: function() {
|
|
},
|
|
enqueueReplaceState: function() {
|
|
},
|
|
enqueueSetState: function() {
|
|
}
|
|
}, assign = Object.assign, emptyObject = {};
|
|
function Component(props, context, updater) {
|
|
this.props = props;
|
|
this.context = context;
|
|
this.refs = emptyObject;
|
|
this.updater = updater || ReactNoopUpdateQueue;
|
|
}
|
|
Component.prototype.isReactComponent = {};
|
|
Component.prototype.setState = function(partialState, callback) {
|
|
if ("object" !== typeof partialState && "function" !== typeof partialState && null != partialState) throw Error("takes an object of state variables to update or a function which returns an object of state variables.");
|
|
this.updater.enqueueSetState(this, partialState, callback, "setState");
|
|
};
|
|
Component.prototype.forceUpdate = function(callback) {
|
|
this.updater.enqueueForceUpdate(this, callback, "forceUpdate");
|
|
};
|
|
function ComponentDummy() {
|
|
}
|
|
ComponentDummy.prototype = Component.prototype;
|
|
function PureComponent(props, context, updater) {
|
|
this.props = props;
|
|
this.context = context;
|
|
this.refs = emptyObject;
|
|
this.updater = updater || ReactNoopUpdateQueue;
|
|
}
|
|
var pureComponentPrototype = PureComponent.prototype = new ComponentDummy();
|
|
pureComponentPrototype.constructor = PureComponent;
|
|
assign(pureComponentPrototype, Component.prototype);
|
|
pureComponentPrototype.isPureReactComponent = true;
|
|
var isArrayImpl = Array.isArray;
|
|
function noop() {
|
|
}
|
|
var ReactSharedInternals = {
|
|
H: null,
|
|
A: null,
|
|
T: null,
|
|
S: null
|
|
}, hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
function ReactElement(type, key, props) {
|
|
var refProp = props.ref;
|
|
return {
|
|
$$typeof: REACT_ELEMENT_TYPE,
|
|
type,
|
|
key,
|
|
ref: void 0 !== refProp ? refProp : null,
|
|
props
|
|
};
|
|
}
|
|
function cloneAndReplaceKey(oldElement, newKey) {
|
|
return ReactElement(oldElement.type, newKey, oldElement.props);
|
|
}
|
|
function isValidElement(object) {
|
|
return "object" === typeof object && null !== object && object.$$typeof === REACT_ELEMENT_TYPE;
|
|
}
|
|
function escape(key) {
|
|
var escaperLookup = {
|
|
"=": "=0",
|
|
":": "=2"
|
|
};
|
|
return "$" + key.replace(/[=:]/g, function(match) {
|
|
return escaperLookup[match];
|
|
});
|
|
}
|
|
var userProvidedKeyEscapeRegex = /\/+/g;
|
|
function getElementKey(element, index) {
|
|
return "object" === typeof element && null !== element && null != element.key ? escape("" + element.key) : index.toString(36);
|
|
}
|
|
function resolveThenable(thenable) {
|
|
switch (thenable.status) {
|
|
case "fulfilled":
|
|
return thenable.value;
|
|
case "rejected":
|
|
throw thenable.reason;
|
|
default:
|
|
switch ("string" === typeof thenable.status ? thenable.then(noop, noop) : (thenable.status = "pending", thenable.then(function(fulfilledValue) {
|
|
"pending" === thenable.status && (thenable.status = "fulfilled", thenable.value = fulfilledValue);
|
|
}, function(error) {
|
|
"pending" === thenable.status && (thenable.status = "rejected", thenable.reason = error);
|
|
})), thenable.status) {
|
|
case "fulfilled":
|
|
return thenable.value;
|
|
case "rejected":
|
|
throw thenable.reason;
|
|
}
|
|
}
|
|
throw thenable;
|
|
}
|
|
function mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {
|
|
var type = typeof children;
|
|
if ("undefined" === type || "boolean" === type) children = null;
|
|
var invokeCallback = false;
|
|
if (null === children) invokeCallback = true;
|
|
else switch (type) {
|
|
case "bigint":
|
|
case "string":
|
|
case "number":
|
|
invokeCallback = true;
|
|
break;
|
|
case "object":
|
|
switch (children.$$typeof) {
|
|
case REACT_ELEMENT_TYPE:
|
|
case REACT_PORTAL_TYPE:
|
|
invokeCallback = true;
|
|
break;
|
|
case REACT_LAZY_TYPE:
|
|
return invokeCallback = children._init, mapIntoArray(invokeCallback(children._payload), array, escapedPrefix, nameSoFar, callback);
|
|
}
|
|
}
|
|
if (invokeCallback) return callback = callback(children), invokeCallback = "" === nameSoFar ? "." + getElementKey(children, 0) : nameSoFar, isArrayImpl(callback) ? (escapedPrefix = "", null != invokeCallback && (escapedPrefix = invokeCallback.replace(userProvidedKeyEscapeRegex, "$&/") + "/"), mapIntoArray(callback, array, escapedPrefix, "", function(c) {
|
|
return c;
|
|
})) : null != callback && (isValidElement(callback) && (callback = cloneAndReplaceKey(callback, escapedPrefix + (null == callback.key || children && children.key === callback.key ? "" : ("" + callback.key).replace(userProvidedKeyEscapeRegex, "$&/") + "/") + invokeCallback)), array.push(callback)), 1;
|
|
invokeCallback = 0;
|
|
var nextNamePrefix = "" === nameSoFar ? "." : nameSoFar + ":";
|
|
if (isArrayImpl(children)) for (var i = 0; i < children.length; i++) nameSoFar = children[i], type = nextNamePrefix + getElementKey(nameSoFar, i), invokeCallback += mapIntoArray(nameSoFar, array, escapedPrefix, type, callback);
|
|
else if (i = getIteratorFn(children), "function" === typeof i) for (children = i.call(children), i = 0; !(nameSoFar = children.next()).done; ) nameSoFar = nameSoFar.value, type = nextNamePrefix + getElementKey(nameSoFar, i++), invokeCallback += mapIntoArray(nameSoFar, array, escapedPrefix, type, callback);
|
|
else if ("object" === type) {
|
|
if ("function" === typeof children.then) return mapIntoArray(resolveThenable(children), array, escapedPrefix, nameSoFar, callback);
|
|
array = String(children);
|
|
throw Error("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.");
|
|
}
|
|
return invokeCallback;
|
|
}
|
|
function mapChildren(children, func, context) {
|
|
if (null == children) return children;
|
|
var result = [], count = 0;
|
|
mapIntoArray(children, result, "", "", function(child) {
|
|
return func.call(context, child, count++);
|
|
});
|
|
return result;
|
|
}
|
|
function lazyInitializer(payload) {
|
|
if (-1 === payload._status) {
|
|
var ctor = payload._result;
|
|
ctor = ctor();
|
|
ctor.then(function(moduleObject) {
|
|
if (0 === payload._status || -1 === payload._status) payload._status = 1, payload._result = moduleObject;
|
|
}, function(error) {
|
|
if (0 === payload._status || -1 === payload._status) payload._status = 2, payload._result = error;
|
|
});
|
|
-1 === payload._status && (payload._status = 0, payload._result = ctor);
|
|
}
|
|
if (1 === payload._status) return payload._result.default;
|
|
throw payload._result;
|
|
}
|
|
var reportGlobalError = "function" === typeof reportError ? reportError : function(error) {
|
|
if ("object" === typeof window && "function" === typeof window.ErrorEvent) {
|
|
var event = new window.ErrorEvent("error", {
|
|
bubbles: true,
|
|
cancelable: true,
|
|
message: "object" === typeof error && null !== error && "string" === typeof error.message ? String(error.message) : String(error),
|
|
error
|
|
});
|
|
if (!window.dispatchEvent(event)) return;
|
|
} else if ("object" === typeof process && "function" === typeof process.emit) {
|
|
process.emit("uncaughtException", error);
|
|
return;
|
|
}
|
|
console.error(error);
|
|
}, Children2 = {
|
|
map: mapChildren,
|
|
forEach: function(children, forEachFunc, forEachContext) {
|
|
mapChildren(children, function() {
|
|
forEachFunc.apply(this, arguments);
|
|
}, forEachContext);
|
|
},
|
|
count: function(children) {
|
|
var n = 0;
|
|
mapChildren(children, function() {
|
|
n++;
|
|
});
|
|
return n;
|
|
},
|
|
toArray: function(children) {
|
|
return mapChildren(children, function(child) {
|
|
return child;
|
|
}) || [];
|
|
},
|
|
only: function(children) {
|
|
if (!isValidElement(children)) throw Error("React.Children.only expected to receive a single React element child.");
|
|
return children;
|
|
}
|
|
};
|
|
react_production.Activity = REACT_ACTIVITY_TYPE;
|
|
react_production.Children = Children2;
|
|
react_production.Component = Component;
|
|
react_production.Fragment = REACT_FRAGMENT_TYPE;
|
|
react_production.Profiler = REACT_PROFILER_TYPE;
|
|
react_production.PureComponent = PureComponent;
|
|
react_production.StrictMode = REACT_STRICT_MODE_TYPE;
|
|
react_production.Suspense = REACT_SUSPENSE_TYPE;
|
|
react_production.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = ReactSharedInternals;
|
|
react_production.__COMPILER_RUNTIME = {
|
|
__proto__: null,
|
|
c: function(size) {
|
|
return ReactSharedInternals.H.useMemoCache(size);
|
|
}
|
|
};
|
|
react_production.cache = function(fn) {
|
|
return function() {
|
|
return fn.apply(null, arguments);
|
|
};
|
|
};
|
|
react_production.cacheSignal = function() {
|
|
return null;
|
|
};
|
|
react_production.cloneElement = function(element, config, children) {
|
|
if (null === element || void 0 === element) throw Error("The argument must be a React element, but you passed " + element + ".");
|
|
var props = assign({}, element.props), key = element.key;
|
|
if (null != config) for (propName in void 0 !== config.key && (key = "" + config.key), config) !hasOwnProperty.call(config, propName) || "key" === propName || "__self" === propName || "__source" === propName || "ref" === propName && void 0 === config.ref || (props[propName] = config[propName]);
|
|
var propName = arguments.length - 2;
|
|
if (1 === propName) props.children = children;
|
|
else if (1 < propName) {
|
|
for (var childArray = Array(propName), i = 0; i < propName; i++) childArray[i] = arguments[i + 2];
|
|
props.children = childArray;
|
|
}
|
|
return ReactElement(element.type, key, props);
|
|
};
|
|
react_production.createContext = function(defaultValue) {
|
|
defaultValue = {
|
|
$$typeof: REACT_CONTEXT_TYPE,
|
|
_currentValue: defaultValue,
|
|
_currentValue2: defaultValue,
|
|
_threadCount: 0,
|
|
Provider: null,
|
|
Consumer: null
|
|
};
|
|
defaultValue.Provider = defaultValue;
|
|
defaultValue.Consumer = {
|
|
$$typeof: REACT_CONSUMER_TYPE,
|
|
_context: defaultValue
|
|
};
|
|
return defaultValue;
|
|
};
|
|
react_production.createElement = function(type, config, children) {
|
|
var propName, props = {}, key = null;
|
|
if (null != config) for (propName in void 0 !== config.key && (key = "" + config.key), config) hasOwnProperty.call(config, propName) && "key" !== propName && "__self" !== propName && "__source" !== propName && (props[propName] = config[propName]);
|
|
var childrenLength = arguments.length - 2;
|
|
if (1 === childrenLength) props.children = children;
|
|
else if (1 < childrenLength) {
|
|
for (var childArray = Array(childrenLength), i = 0; i < childrenLength; i++) childArray[i] = arguments[i + 2];
|
|
props.children = childArray;
|
|
}
|
|
if (type && type.defaultProps) for (propName in childrenLength = type.defaultProps, childrenLength) void 0 === props[propName] && (props[propName] = childrenLength[propName]);
|
|
return ReactElement(type, key, props);
|
|
};
|
|
react_production.createRef = function() {
|
|
return {
|
|
current: null
|
|
};
|
|
};
|
|
react_production.forwardRef = function(render) {
|
|
return {
|
|
$$typeof: REACT_FORWARD_REF_TYPE,
|
|
render
|
|
};
|
|
};
|
|
react_production.isValidElement = isValidElement;
|
|
react_production.lazy = function(ctor) {
|
|
return {
|
|
$$typeof: REACT_LAZY_TYPE,
|
|
_payload: {
|
|
_status: -1,
|
|
_result: ctor
|
|
},
|
|
_init: lazyInitializer
|
|
};
|
|
};
|
|
react_production.memo = function(type, compare) {
|
|
return {
|
|
$$typeof: REACT_MEMO_TYPE,
|
|
type,
|
|
compare: void 0 === compare ? null : compare
|
|
};
|
|
};
|
|
react_production.startTransition = function(scope) {
|
|
var prevTransition = ReactSharedInternals.T, currentTransition = {};
|
|
ReactSharedInternals.T = currentTransition;
|
|
try {
|
|
var returnValue = scope(), onStartTransitionFinish = ReactSharedInternals.S;
|
|
null !== onStartTransitionFinish && onStartTransitionFinish(currentTransition, returnValue);
|
|
"object" === typeof returnValue && null !== returnValue && "function" === typeof returnValue.then && returnValue.then(noop, reportGlobalError);
|
|
} catch (error) {
|
|
reportGlobalError(error);
|
|
} finally {
|
|
null !== prevTransition && null !== currentTransition.types && (prevTransition.types = currentTransition.types), ReactSharedInternals.T = prevTransition;
|
|
}
|
|
};
|
|
react_production.unstable_useCacheRefresh = function() {
|
|
return ReactSharedInternals.H.useCacheRefresh();
|
|
};
|
|
react_production.use = function(usable) {
|
|
return ReactSharedInternals.H.use(usable);
|
|
};
|
|
react_production.useActionState = function(action, initialState, permalink) {
|
|
return ReactSharedInternals.H.useActionState(action, initialState, permalink);
|
|
};
|
|
react_production.useCallback = function(callback, deps) {
|
|
return ReactSharedInternals.H.useCallback(callback, deps);
|
|
};
|
|
react_production.useContext = function(Context) {
|
|
return ReactSharedInternals.H.useContext(Context);
|
|
};
|
|
react_production.useDebugValue = function() {
|
|
};
|
|
react_production.useDeferredValue = function(value, initialValue) {
|
|
return ReactSharedInternals.H.useDeferredValue(value, initialValue);
|
|
};
|
|
react_production.useEffect = function(create, deps) {
|
|
return ReactSharedInternals.H.useEffect(create, deps);
|
|
};
|
|
react_production.useEffectEvent = function(callback) {
|
|
return ReactSharedInternals.H.useEffectEvent(callback);
|
|
};
|
|
react_production.useId = function() {
|
|
return ReactSharedInternals.H.useId();
|
|
};
|
|
react_production.useImperativeHandle = function(ref, create, deps) {
|
|
return ReactSharedInternals.H.useImperativeHandle(ref, create, deps);
|
|
};
|
|
react_production.useInsertionEffect = function(create, deps) {
|
|
return ReactSharedInternals.H.useInsertionEffect(create, deps);
|
|
};
|
|
react_production.useLayoutEffect = function(create, deps) {
|
|
return ReactSharedInternals.H.useLayoutEffect(create, deps);
|
|
};
|
|
react_production.useMemo = function(create, deps) {
|
|
return ReactSharedInternals.H.useMemo(create, deps);
|
|
};
|
|
react_production.useOptimistic = function(passthrough, reducer) {
|
|
return ReactSharedInternals.H.useOptimistic(passthrough, reducer);
|
|
};
|
|
react_production.useReducer = function(reducer, initialArg, init2) {
|
|
return ReactSharedInternals.H.useReducer(reducer, initialArg, init2);
|
|
};
|
|
react_production.useRef = function(initialValue) {
|
|
return ReactSharedInternals.H.useRef(initialValue);
|
|
};
|
|
react_production.useState = function(initialState) {
|
|
return ReactSharedInternals.H.useState(initialState);
|
|
};
|
|
react_production.useSyncExternalStore = function(subscribe, getSnapshot, getServerSnapshot) {
|
|
return ReactSharedInternals.H.useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);
|
|
};
|
|
react_production.useTransition = function() {
|
|
return ReactSharedInternals.H.useTransition();
|
|
};
|
|
react_production.version = "19.2.4";
|
|
return react_production;
|
|
}
|
|
var hasRequiredReact;
|
|
function requireReact() {
|
|
if (hasRequiredReact) return react.exports;
|
|
hasRequiredReact = 1;
|
|
{
|
|
react.exports = requireReact_production();
|
|
}
|
|
return react.exports;
|
|
}
|
|
reactExports = requireReact();
|
|
function safeFunctionCast(f) {
|
|
return f;
|
|
}
|
|
function memoize(f, options) {
|
|
const keyFn = ((...args) => args[0]);
|
|
const cache = /* @__PURE__ */ new Map();
|
|
return safeFunctionCast(function(...args) {
|
|
const key = keyFn(...args);
|
|
const value = cache.get(key);
|
|
if (typeof value !== "undefined") return value;
|
|
const newValue = f.apply(this, args);
|
|
cache.set(key, newValue);
|
|
return newValue;
|
|
});
|
|
}
|
|
const SERVER_REFERENCE_PREFIX = "$$server:";
|
|
function removeReferenceCacheTag(id) {
|
|
return id.split("$$cache=")[0];
|
|
}
|
|
function setInternalRequire() {
|
|
globalThis.__vite_rsc_require__ = (id) => {
|
|
if (id.startsWith(SERVER_REFERENCE_PREFIX)) {
|
|
id = id.slice(9);
|
|
return globalThis.__vite_rsc_server_require__(id);
|
|
}
|
|
return globalThis.__vite_rsc_client_require__(id);
|
|
};
|
|
}
|
|
let init = false;
|
|
function setRequireModule(options) {
|
|
if (init) return;
|
|
init = true;
|
|
const requireModule = memoize((id) => {
|
|
return options.load(removeReferenceCacheTag(id));
|
|
});
|
|
globalThis.__vite_rsc_client_require__ = requireModule;
|
|
setInternalRequire();
|
|
}
|
|
function createServerConsumerManifest() {
|
|
return {};
|
|
}
|
|
var client_edge = {
|
|
exports: {}
|
|
};
|
|
var reactServerDomWebpackClient_edge_production = {};
|
|
var reactDom = {
|
|
exports: {}
|
|
};
|
|
var reactDom_production = {};
|
|
var hasRequiredReactDom_production;
|
|
function requireReactDom_production() {
|
|
if (hasRequiredReactDom_production) return reactDom_production;
|
|
hasRequiredReactDom_production = 1;
|
|
var React = requireReact();
|
|
function formatProdErrorMessage(code) {
|
|
var url = "https://react.dev/errors/" + code;
|
|
if (1 < arguments.length) {
|
|
url += "?args[]=" + encodeURIComponent(arguments[1]);
|
|
for (var i = 2; i < arguments.length; i++) url += "&args[]=" + encodeURIComponent(arguments[i]);
|
|
}
|
|
return "Minified React error #" + code + "; visit " + url + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";
|
|
}
|
|
function noop() {
|
|
}
|
|
var Internals = {
|
|
d: {
|
|
f: noop,
|
|
r: function() {
|
|
throw Error(formatProdErrorMessage(522));
|
|
},
|
|
D: noop,
|
|
C: noop,
|
|
L: noop,
|
|
m: noop,
|
|
X: noop,
|
|
S: noop,
|
|
M: noop
|
|
},
|
|
p: 0,
|
|
findDOMNode: null
|
|
}, REACT_PORTAL_TYPE = /* @__PURE__ */ Symbol.for("react.portal");
|
|
function createPortal$1(children, containerInfo, implementation) {
|
|
var key = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;
|
|
return {
|
|
$$typeof: REACT_PORTAL_TYPE,
|
|
key: null == key ? null : "" + key,
|
|
children,
|
|
containerInfo,
|
|
implementation
|
|
};
|
|
}
|
|
var ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
|
|
function getCrossOriginStringAs(as, input) {
|
|
if ("font" === as) return "";
|
|
if ("string" === typeof input) return "use-credentials" === input ? input : "";
|
|
}
|
|
reactDom_production.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = Internals;
|
|
reactDom_production.createPortal = function(children, container) {
|
|
var key = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;
|
|
if (!container || 1 !== container.nodeType && 9 !== container.nodeType && 11 !== container.nodeType) throw Error(formatProdErrorMessage(299));
|
|
return createPortal$1(children, container, null, key);
|
|
};
|
|
reactDom_production.flushSync = function(fn) {
|
|
var previousTransition = ReactSharedInternals.T, previousUpdatePriority = Internals.p;
|
|
try {
|
|
if (ReactSharedInternals.T = null, Internals.p = 2, fn) return fn();
|
|
} finally {
|
|
ReactSharedInternals.T = previousTransition, Internals.p = previousUpdatePriority, Internals.d.f();
|
|
}
|
|
};
|
|
reactDom_production.preconnect = function(href, options) {
|
|
"string" === typeof href && (options ? (options = options.crossOrigin, options = "string" === typeof options ? "use-credentials" === options ? options : "" : void 0) : options = null, Internals.d.C(href, options));
|
|
};
|
|
reactDom_production.prefetchDNS = function(href) {
|
|
"string" === typeof href && Internals.d.D(href);
|
|
};
|
|
reactDom_production.preinit = function(href, options) {
|
|
if ("string" === typeof href && options && "string" === typeof options.as) {
|
|
var as = options.as, crossOrigin = getCrossOriginStringAs(as, options.crossOrigin), integrity = "string" === typeof options.integrity ? options.integrity : void 0, fetchPriority = "string" === typeof options.fetchPriority ? options.fetchPriority : void 0;
|
|
"style" === as ? Internals.d.S(href, "string" === typeof options.precedence ? options.precedence : void 0, {
|
|
crossOrigin,
|
|
integrity,
|
|
fetchPriority
|
|
}) : "script" === as && Internals.d.X(href, {
|
|
crossOrigin,
|
|
integrity,
|
|
fetchPriority,
|
|
nonce: "string" === typeof options.nonce ? options.nonce : void 0
|
|
});
|
|
}
|
|
};
|
|
reactDom_production.preinitModule = function(href, options) {
|
|
if ("string" === typeof href) if ("object" === typeof options && null !== options) {
|
|
if (null == options.as || "script" === options.as) {
|
|
var crossOrigin = getCrossOriginStringAs(options.as, options.crossOrigin);
|
|
Internals.d.M(href, {
|
|
crossOrigin,
|
|
integrity: "string" === typeof options.integrity ? options.integrity : void 0,
|
|
nonce: "string" === typeof options.nonce ? options.nonce : void 0
|
|
});
|
|
}
|
|
} else null == options && Internals.d.M(href);
|
|
};
|
|
reactDom_production.preload = function(href, options) {
|
|
if ("string" === typeof href && "object" === typeof options && null !== options && "string" === typeof options.as) {
|
|
var as = options.as, crossOrigin = getCrossOriginStringAs(as, options.crossOrigin);
|
|
Internals.d.L(href, as, {
|
|
crossOrigin,
|
|
integrity: "string" === typeof options.integrity ? options.integrity : void 0,
|
|
nonce: "string" === typeof options.nonce ? options.nonce : void 0,
|
|
type: "string" === typeof options.type ? options.type : void 0,
|
|
fetchPriority: "string" === typeof options.fetchPriority ? options.fetchPriority : void 0,
|
|
referrerPolicy: "string" === typeof options.referrerPolicy ? options.referrerPolicy : void 0,
|
|
imageSrcSet: "string" === typeof options.imageSrcSet ? options.imageSrcSet : void 0,
|
|
imageSizes: "string" === typeof options.imageSizes ? options.imageSizes : void 0,
|
|
media: "string" === typeof options.media ? options.media : void 0
|
|
});
|
|
}
|
|
};
|
|
reactDom_production.preloadModule = function(href, options) {
|
|
if ("string" === typeof href) if (options) {
|
|
var crossOrigin = getCrossOriginStringAs(options.as, options.crossOrigin);
|
|
Internals.d.m(href, {
|
|
as: "string" === typeof options.as && "script" !== options.as ? options.as : void 0,
|
|
crossOrigin,
|
|
integrity: "string" === typeof options.integrity ? options.integrity : void 0
|
|
});
|
|
} else Internals.d.m(href);
|
|
};
|
|
reactDom_production.requestFormReset = function(form) {
|
|
Internals.d.r(form);
|
|
};
|
|
reactDom_production.unstable_batchedUpdates = function(fn, a) {
|
|
return fn(a);
|
|
};
|
|
reactDom_production.useFormState = function(action, initialState, permalink) {
|
|
return ReactSharedInternals.H.useFormState(action, initialState, permalink);
|
|
};
|
|
reactDom_production.useFormStatus = function() {
|
|
return ReactSharedInternals.H.useHostTransitionStatus();
|
|
};
|
|
reactDom_production.version = "19.2.4";
|
|
return reactDom_production;
|
|
}
|
|
var hasRequiredReactDom;
|
|
function requireReactDom() {
|
|
if (hasRequiredReactDom) return reactDom.exports;
|
|
hasRequiredReactDom = 1;
|
|
function checkDCE() {
|
|
if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === "undefined" || typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== "function") {
|
|
return;
|
|
}
|
|
try {
|
|
__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);
|
|
} catch (err) {
|
|
console.error(err);
|
|
}
|
|
}
|
|
{
|
|
checkDCE();
|
|
reactDom.exports = requireReactDom_production();
|
|
}
|
|
return reactDom.exports;
|
|
}
|
|
var hasRequiredReactServerDomWebpackClient_edge_production;
|
|
function requireReactServerDomWebpackClient_edge_production() {
|
|
if (hasRequiredReactServerDomWebpackClient_edge_production) return reactServerDomWebpackClient_edge_production;
|
|
hasRequiredReactServerDomWebpackClient_edge_production = 1;
|
|
var ReactDOM = requireReactDom(), decoderOptions = {
|
|
stream: true
|
|
}, hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
function resolveClientReference(bundlerConfig, metadata) {
|
|
if (bundlerConfig) {
|
|
var moduleExports = bundlerConfig[metadata[0]];
|
|
if (bundlerConfig = moduleExports && moduleExports[metadata[2]]) moduleExports = bundlerConfig.name;
|
|
else {
|
|
bundlerConfig = moduleExports && moduleExports["*"];
|
|
if (!bundlerConfig) throw Error('Could not find the module "' + metadata[0] + '" in the React Server Consumer Manifest. This is probably a bug in the React Server Components bundler.');
|
|
moduleExports = metadata[2];
|
|
}
|
|
return 4 === metadata.length ? [
|
|
bundlerConfig.id,
|
|
bundlerConfig.chunks,
|
|
moduleExports,
|
|
1
|
|
] : [
|
|
bundlerConfig.id,
|
|
bundlerConfig.chunks,
|
|
moduleExports
|
|
];
|
|
}
|
|
return metadata;
|
|
}
|
|
function resolveServerReference(bundlerConfig, id) {
|
|
var name = "", resolvedModuleData = bundlerConfig[id];
|
|
if (resolvedModuleData) name = resolvedModuleData.name;
|
|
else {
|
|
var idx = id.lastIndexOf("#");
|
|
-1 !== idx && (name = id.slice(idx + 1), resolvedModuleData = bundlerConfig[id.slice(0, idx)]);
|
|
if (!resolvedModuleData) throw Error('Could not find the module "' + id + '" in the React Server Manifest. This is probably a bug in the React Server Components bundler.');
|
|
}
|
|
return resolvedModuleData.async ? [
|
|
resolvedModuleData.id,
|
|
resolvedModuleData.chunks,
|
|
name,
|
|
1
|
|
] : [
|
|
resolvedModuleData.id,
|
|
resolvedModuleData.chunks,
|
|
name
|
|
];
|
|
}
|
|
var chunkCache = /* @__PURE__ */ new Map();
|
|
function requireAsyncModule(id) {
|
|
var promise = __vite_rsc_require__(id);
|
|
if ("function" !== typeof promise.then || "fulfilled" === promise.status) return null;
|
|
promise.then(function(value) {
|
|
promise.status = "fulfilled";
|
|
promise.value = value;
|
|
}, function(reason) {
|
|
promise.status = "rejected";
|
|
promise.reason = reason;
|
|
});
|
|
return promise;
|
|
}
|
|
function ignoreReject() {
|
|
}
|
|
function preloadModule(metadata) {
|
|
for (var chunks = metadata[1], promises = [], i = 0; i < chunks.length; ) {
|
|
var chunkId = chunks[i++];
|
|
chunks[i++];
|
|
var entry = chunkCache.get(chunkId);
|
|
if (void 0 === entry) {
|
|
entry = __webpack_chunk_load__(chunkId);
|
|
promises.push(entry);
|
|
var resolve = chunkCache.set.bind(chunkCache, chunkId, null);
|
|
entry.then(resolve, ignoreReject);
|
|
chunkCache.set(chunkId, entry);
|
|
} else null !== entry && promises.push(entry);
|
|
}
|
|
return 4 === metadata.length ? 0 === promises.length ? requireAsyncModule(metadata[0]) : Promise.all(promises).then(function() {
|
|
return requireAsyncModule(metadata[0]);
|
|
}) : 0 < promises.length ? Promise.all(promises) : null;
|
|
}
|
|
function requireModule(metadata) {
|
|
var moduleExports = __vite_rsc_require__(metadata[0]);
|
|
if (4 === metadata.length && "function" === typeof moduleExports.then) if ("fulfilled" === moduleExports.status) moduleExports = moduleExports.value;
|
|
else throw moduleExports.reason;
|
|
if ("*" === metadata[2]) return moduleExports;
|
|
if ("" === metadata[2]) return moduleExports.__esModule ? moduleExports.default : moduleExports;
|
|
if (hasOwnProperty.call(moduleExports, metadata[2])) return moduleExports[metadata[2]];
|
|
}
|
|
function prepareDestinationWithChunks(moduleLoading, chunks, nonce$jscomp$0) {
|
|
if (null !== moduleLoading) for (var i = 1; i < chunks.length; i += 2) {
|
|
var nonce = nonce$jscomp$0, JSCompiler_temp_const = ReactDOMSharedInternals.d, JSCompiler_temp_const$jscomp$0 = JSCompiler_temp_const.X, JSCompiler_temp_const$jscomp$1 = moduleLoading.prefix + chunks[i];
|
|
var JSCompiler_inline_result = moduleLoading.crossOrigin;
|
|
JSCompiler_inline_result = "string" === typeof JSCompiler_inline_result ? "use-credentials" === JSCompiler_inline_result ? JSCompiler_inline_result : "" : void 0;
|
|
JSCompiler_temp_const$jscomp$0.call(JSCompiler_temp_const, JSCompiler_temp_const$jscomp$1, {
|
|
crossOrigin: JSCompiler_inline_result,
|
|
nonce
|
|
});
|
|
}
|
|
}
|
|
var ReactDOMSharedInternals = ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, REACT_ELEMENT_TYPE = /* @__PURE__ */ Symbol.for("react.transitional.element"), REACT_LAZY_TYPE = /* @__PURE__ */ Symbol.for("react.lazy"), MAYBE_ITERATOR_SYMBOL = Symbol.iterator;
|
|
function getIteratorFn(maybeIterable) {
|
|
if (null === maybeIterable || "object" !== typeof maybeIterable) return null;
|
|
maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable["@@iterator"];
|
|
return "function" === typeof maybeIterable ? maybeIterable : null;
|
|
}
|
|
var ASYNC_ITERATOR = Symbol.asyncIterator, isArrayImpl = Array.isArray, getPrototypeOf = Object.getPrototypeOf, ObjectPrototype = Object.prototype, knownServerReferences = /* @__PURE__ */ new WeakMap();
|
|
function serializeNumber(number) {
|
|
return Number.isFinite(number) ? 0 === number && -Infinity === 1 / number ? "$-0" : number : Infinity === number ? "$Infinity" : -Infinity === number ? "$-Infinity" : "$NaN";
|
|
}
|
|
function processReply(root, formFieldPrefix, temporaryReferences, resolve, reject) {
|
|
function serializeTypedArray(tag, typedArray) {
|
|
typedArray = new Blob([
|
|
new Uint8Array(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength)
|
|
]);
|
|
var blobId = nextPartId++;
|
|
null === formData && (formData = new FormData());
|
|
formData.append(formFieldPrefix + blobId, typedArray);
|
|
return "$" + tag + blobId.toString(16);
|
|
}
|
|
function serializeBinaryReader(reader) {
|
|
function progress(entry) {
|
|
entry.done ? (entry = nextPartId++, data.append(formFieldPrefix + entry, new Blob(buffer)), data.append(formFieldPrefix + streamId, '"$o' + entry.toString(16) + '"'), data.append(formFieldPrefix + streamId, "C"), pendingParts--, 0 === pendingParts && resolve(data)) : (buffer.push(entry.value), reader.read(new Uint8Array(1024)).then(progress, reject));
|
|
}
|
|
null === formData && (formData = new FormData());
|
|
var data = formData;
|
|
pendingParts++;
|
|
var streamId = nextPartId++, buffer = [];
|
|
reader.read(new Uint8Array(1024)).then(progress, reject);
|
|
return "$r" + streamId.toString(16);
|
|
}
|
|
function serializeReader(reader) {
|
|
function progress(entry) {
|
|
if (entry.done) data.append(formFieldPrefix + streamId, "C"), pendingParts--, 0 === pendingParts && resolve(data);
|
|
else try {
|
|
var partJSON = JSON.stringify(entry.value, resolveToJSON);
|
|
data.append(formFieldPrefix + streamId, partJSON);
|
|
reader.read().then(progress, reject);
|
|
} catch (x) {
|
|
reject(x);
|
|
}
|
|
}
|
|
null === formData && (formData = new FormData());
|
|
var data = formData;
|
|
pendingParts++;
|
|
var streamId = nextPartId++;
|
|
reader.read().then(progress, reject);
|
|
return "$R" + streamId.toString(16);
|
|
}
|
|
function serializeReadableStream(stream) {
|
|
try {
|
|
var binaryReader = stream.getReader({
|
|
mode: "byob"
|
|
});
|
|
} catch (x) {
|
|
return serializeReader(stream.getReader());
|
|
}
|
|
return serializeBinaryReader(binaryReader);
|
|
}
|
|
function serializeAsyncIterable(iterable, iterator) {
|
|
function progress(entry) {
|
|
if (entry.done) {
|
|
if (void 0 === entry.value) data.append(formFieldPrefix + streamId, "C");
|
|
else try {
|
|
var partJSON = JSON.stringify(entry.value, resolveToJSON);
|
|
data.append(formFieldPrefix + streamId, "C" + partJSON);
|
|
} catch (x) {
|
|
reject(x);
|
|
return;
|
|
}
|
|
pendingParts--;
|
|
0 === pendingParts && resolve(data);
|
|
} else try {
|
|
var partJSON$21 = JSON.stringify(entry.value, resolveToJSON);
|
|
data.append(formFieldPrefix + streamId, partJSON$21);
|
|
iterator.next().then(progress, reject);
|
|
} catch (x$22) {
|
|
reject(x$22);
|
|
}
|
|
}
|
|
null === formData && (formData = new FormData());
|
|
var data = formData;
|
|
pendingParts++;
|
|
var streamId = nextPartId++;
|
|
iterable = iterable === iterator;
|
|
iterator.next().then(progress, reject);
|
|
return "$" + (iterable ? "x" : "X") + streamId.toString(16);
|
|
}
|
|
function resolveToJSON(key, value) {
|
|
if (null === value) return null;
|
|
if ("object" === typeof value) {
|
|
switch (value.$$typeof) {
|
|
case REACT_ELEMENT_TYPE:
|
|
if (void 0 !== temporaryReferences && -1 === key.indexOf(":")) {
|
|
var parentReference = writtenObjects.get(this);
|
|
if (void 0 !== parentReference) return temporaryReferences.set(parentReference + ":" + key, value), "$T";
|
|
}
|
|
throw Error("React Element cannot be passed to Server Functions from the Client without a temporary reference set. Pass a TemporaryReferenceSet to the options.");
|
|
case REACT_LAZY_TYPE:
|
|
parentReference = value._payload;
|
|
var init2 = value._init;
|
|
null === formData && (formData = new FormData());
|
|
pendingParts++;
|
|
try {
|
|
var resolvedModel = init2(parentReference), lazyId = nextPartId++, partJSON = serializeModel(resolvedModel, lazyId);
|
|
formData.append(formFieldPrefix + lazyId, partJSON);
|
|
return "$" + lazyId.toString(16);
|
|
} catch (x) {
|
|
if ("object" === typeof x && null !== x && "function" === typeof x.then) {
|
|
pendingParts++;
|
|
var lazyId$23 = nextPartId++;
|
|
parentReference = function() {
|
|
try {
|
|
var partJSON$24 = serializeModel(value, lazyId$23), data$25 = formData;
|
|
data$25.append(formFieldPrefix + lazyId$23, partJSON$24);
|
|
pendingParts--;
|
|
0 === pendingParts && resolve(data$25);
|
|
} catch (reason) {
|
|
reject(reason);
|
|
}
|
|
};
|
|
x.then(parentReference, parentReference);
|
|
return "$" + lazyId$23.toString(16);
|
|
}
|
|
reject(x);
|
|
return null;
|
|
} finally {
|
|
pendingParts--;
|
|
}
|
|
}
|
|
parentReference = writtenObjects.get(value);
|
|
if ("function" === typeof value.then) {
|
|
if (void 0 !== parentReference) if (modelRoot === value) modelRoot = null;
|
|
else return parentReference;
|
|
null === formData && (formData = new FormData());
|
|
pendingParts++;
|
|
var promiseId = nextPartId++;
|
|
key = "$@" + promiseId.toString(16);
|
|
writtenObjects.set(value, key);
|
|
value.then(function(partValue) {
|
|
try {
|
|
var previousReference = writtenObjects.get(partValue);
|
|
var partJSON$27 = void 0 !== previousReference ? JSON.stringify(previousReference) : serializeModel(partValue, promiseId);
|
|
partValue = formData;
|
|
partValue.append(formFieldPrefix + promiseId, partJSON$27);
|
|
pendingParts--;
|
|
0 === pendingParts && resolve(partValue);
|
|
} catch (reason) {
|
|
reject(reason);
|
|
}
|
|
}, reject);
|
|
return key;
|
|
}
|
|
if (void 0 !== parentReference) if (modelRoot === value) modelRoot = null;
|
|
else return parentReference;
|
|
else -1 === key.indexOf(":") && (parentReference = writtenObjects.get(this), void 0 !== parentReference && (key = parentReference + ":" + key, writtenObjects.set(value, key), void 0 !== temporaryReferences && temporaryReferences.set(key, value)));
|
|
if (isArrayImpl(value)) return value;
|
|
if (value instanceof FormData) {
|
|
null === formData && (formData = new FormData());
|
|
var data$31 = formData;
|
|
key = nextPartId++;
|
|
var prefix2 = formFieldPrefix + key + "_";
|
|
value.forEach(function(originalValue, originalKey) {
|
|
data$31.append(prefix2 + originalKey, originalValue);
|
|
});
|
|
return "$K" + key.toString(16);
|
|
}
|
|
if (value instanceof Map) return key = nextPartId++, parentReference = serializeModel(Array.from(value), key), null === formData && (formData = new FormData()), formData.append(formFieldPrefix + key, parentReference), "$Q" + key.toString(16);
|
|
if (value instanceof Set) return key = nextPartId++, parentReference = serializeModel(Array.from(value), key), null === formData && (formData = new FormData()), formData.append(formFieldPrefix + key, parentReference), "$W" + key.toString(16);
|
|
if (value instanceof ArrayBuffer) return key = new Blob([
|
|
value
|
|
]), parentReference = nextPartId++, null === formData && (formData = new FormData()), formData.append(formFieldPrefix + parentReference, key), "$A" + parentReference.toString(16);
|
|
if (value instanceof Int8Array) return serializeTypedArray("O", value);
|
|
if (value instanceof Uint8Array) return serializeTypedArray("o", value);
|
|
if (value instanceof Uint8ClampedArray) return serializeTypedArray("U", value);
|
|
if (value instanceof Int16Array) return serializeTypedArray("S", value);
|
|
if (value instanceof Uint16Array) return serializeTypedArray("s", value);
|
|
if (value instanceof Int32Array) return serializeTypedArray("L", value);
|
|
if (value instanceof Uint32Array) return serializeTypedArray("l", value);
|
|
if (value instanceof Float32Array) return serializeTypedArray("G", value);
|
|
if (value instanceof Float64Array) return serializeTypedArray("g", value);
|
|
if (value instanceof BigInt64Array) return serializeTypedArray("M", value);
|
|
if (value instanceof BigUint64Array) return serializeTypedArray("m", value);
|
|
if (value instanceof DataView) return serializeTypedArray("V", value);
|
|
if ("function" === typeof Blob && value instanceof Blob) return null === formData && (formData = new FormData()), key = nextPartId++, formData.append(formFieldPrefix + key, value), "$B" + key.toString(16);
|
|
if (key = getIteratorFn(value)) return parentReference = key.call(value), parentReference === value ? (key = nextPartId++, parentReference = serializeModel(Array.from(parentReference), key), null === formData && (formData = new FormData()), formData.append(formFieldPrefix + key, parentReference), "$i" + key.toString(16)) : Array.from(parentReference);
|
|
if ("function" === typeof ReadableStream && value instanceof ReadableStream) return serializeReadableStream(value);
|
|
key = value[ASYNC_ITERATOR];
|
|
if ("function" === typeof key) return serializeAsyncIterable(value, key.call(value));
|
|
key = getPrototypeOf(value);
|
|
if (key !== ObjectPrototype && (null === key || null !== getPrototypeOf(key))) {
|
|
if (void 0 === temporaryReferences) throw Error("Only plain objects, and a few built-ins, can be passed to Server Functions. Classes or null prototypes are not supported.");
|
|
return "$T";
|
|
}
|
|
return value;
|
|
}
|
|
if ("string" === typeof value) {
|
|
if ("Z" === value[value.length - 1] && this[key] instanceof Date) return "$D" + value;
|
|
key = "$" === value[0] ? "$" + value : value;
|
|
return key;
|
|
}
|
|
if ("boolean" === typeof value) return value;
|
|
if ("number" === typeof value) return serializeNumber(value);
|
|
if ("undefined" === typeof value) return "$undefined";
|
|
if ("function" === typeof value) {
|
|
parentReference = knownServerReferences.get(value);
|
|
if (void 0 !== parentReference) {
|
|
key = writtenObjects.get(value);
|
|
if (void 0 !== key) return key;
|
|
key = JSON.stringify({
|
|
id: parentReference.id,
|
|
bound: parentReference.bound
|
|
}, resolveToJSON);
|
|
null === formData && (formData = new FormData());
|
|
parentReference = nextPartId++;
|
|
formData.set(formFieldPrefix + parentReference, key);
|
|
key = "$h" + parentReference.toString(16);
|
|
writtenObjects.set(value, key);
|
|
return key;
|
|
}
|
|
if (void 0 !== temporaryReferences && -1 === key.indexOf(":") && (parentReference = writtenObjects.get(this), void 0 !== parentReference)) return temporaryReferences.set(parentReference + ":" + key, value), "$T";
|
|
throw Error("Client Functions cannot be passed directly to Server Functions. Only Functions passed from the Server can be passed back again.");
|
|
}
|
|
if ("symbol" === typeof value) {
|
|
if (void 0 !== temporaryReferences && -1 === key.indexOf(":") && (parentReference = writtenObjects.get(this), void 0 !== parentReference)) return temporaryReferences.set(parentReference + ":" + key, value), "$T";
|
|
throw Error("Symbols cannot be passed to a Server Function without a temporary reference set. Pass a TemporaryReferenceSet to the options.");
|
|
}
|
|
if ("bigint" === typeof value) return "$n" + value.toString(10);
|
|
throw Error("Type " + typeof value + " is not supported as an argument to a Server Function.");
|
|
}
|
|
function serializeModel(model, id) {
|
|
"object" === typeof model && null !== model && (id = "$" + id.toString(16), writtenObjects.set(model, id), void 0 !== temporaryReferences && temporaryReferences.set(id, model));
|
|
modelRoot = model;
|
|
return JSON.stringify(model, resolveToJSON);
|
|
}
|
|
var nextPartId = 1, pendingParts = 0, formData = null, writtenObjects = /* @__PURE__ */ new WeakMap(), modelRoot = root, json = serializeModel(root, 0);
|
|
null === formData ? resolve(json) : (formData.set(formFieldPrefix + "0", json), 0 === pendingParts && resolve(formData));
|
|
return function() {
|
|
0 < pendingParts && (pendingParts = 0, null === formData ? resolve(json) : resolve(formData));
|
|
};
|
|
}
|
|
var boundCache = /* @__PURE__ */ new WeakMap();
|
|
function encodeFormData(reference) {
|
|
var resolve, reject, thenable = new Promise(function(res, rej) {
|
|
resolve = res;
|
|
reject = rej;
|
|
});
|
|
processReply(reference, "", void 0, function(body) {
|
|
if ("string" === typeof body) {
|
|
var data = new FormData();
|
|
data.append("0", body);
|
|
body = data;
|
|
}
|
|
thenable.status = "fulfilled";
|
|
thenable.value = body;
|
|
resolve(body);
|
|
}, function(e) {
|
|
thenable.status = "rejected";
|
|
thenable.reason = e;
|
|
reject(e);
|
|
});
|
|
return thenable;
|
|
}
|
|
function defaultEncodeFormAction(identifierPrefix) {
|
|
var referenceClosure = knownServerReferences.get(this);
|
|
if (!referenceClosure) throw Error("Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React.");
|
|
var data = null;
|
|
if (null !== referenceClosure.bound) {
|
|
data = boundCache.get(referenceClosure);
|
|
data || (data = encodeFormData({
|
|
id: referenceClosure.id,
|
|
bound: referenceClosure.bound
|
|
}), boundCache.set(referenceClosure, data));
|
|
if ("rejected" === data.status) throw data.reason;
|
|
if ("fulfilled" !== data.status) throw data;
|
|
referenceClosure = data.value;
|
|
var prefixedData = new FormData();
|
|
referenceClosure.forEach(function(value, key) {
|
|
prefixedData.append("$ACTION_" + identifierPrefix + ":" + key, value);
|
|
});
|
|
data = prefixedData;
|
|
referenceClosure = "$ACTION_REF_" + identifierPrefix;
|
|
} else referenceClosure = "$ACTION_ID_" + referenceClosure.id;
|
|
return {
|
|
name: referenceClosure,
|
|
method: "POST",
|
|
encType: "multipart/form-data",
|
|
data
|
|
};
|
|
}
|
|
function isSignatureEqual(referenceId, numberOfBoundArgs) {
|
|
var referenceClosure = knownServerReferences.get(this);
|
|
if (!referenceClosure) throw Error("Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React.");
|
|
if (referenceClosure.id !== referenceId) return false;
|
|
var boundPromise = referenceClosure.bound;
|
|
if (null === boundPromise) return 0 === numberOfBoundArgs;
|
|
switch (boundPromise.status) {
|
|
case "fulfilled":
|
|
return boundPromise.value.length === numberOfBoundArgs;
|
|
case "pending":
|
|
throw boundPromise;
|
|
case "rejected":
|
|
throw boundPromise.reason;
|
|
default:
|
|
throw "string" !== typeof boundPromise.status && (boundPromise.status = "pending", boundPromise.then(function(boundArgs) {
|
|
boundPromise.status = "fulfilled";
|
|
boundPromise.value = boundArgs;
|
|
}, function(error) {
|
|
boundPromise.status = "rejected";
|
|
boundPromise.reason = error;
|
|
})), boundPromise;
|
|
}
|
|
}
|
|
function registerBoundServerReference(reference, id, bound, encodeFormAction) {
|
|
knownServerReferences.has(reference) || (knownServerReferences.set(reference, {
|
|
id,
|
|
originalBind: reference.bind,
|
|
bound
|
|
}), Object.defineProperties(reference, {
|
|
$$FORM_ACTION: {
|
|
value: void 0 === encodeFormAction ? defaultEncodeFormAction : function() {
|
|
var referenceClosure = knownServerReferences.get(this);
|
|
if (!referenceClosure) throw Error("Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React.");
|
|
var boundPromise = referenceClosure.bound;
|
|
null === boundPromise && (boundPromise = Promise.resolve([]));
|
|
return encodeFormAction(referenceClosure.id, boundPromise);
|
|
}
|
|
},
|
|
$$IS_SIGNATURE_EQUAL: {
|
|
value: isSignatureEqual
|
|
},
|
|
bind: {
|
|
value: bind
|
|
}
|
|
}));
|
|
}
|
|
var FunctionBind = Function.prototype.bind, ArraySlice = Array.prototype.slice;
|
|
function bind() {
|
|
var referenceClosure = knownServerReferences.get(this);
|
|
if (!referenceClosure) return FunctionBind.apply(this, arguments);
|
|
var newFn = referenceClosure.originalBind.apply(this, arguments), args = ArraySlice.call(arguments, 1), boundPromise = null;
|
|
boundPromise = null !== referenceClosure.bound ? Promise.resolve(referenceClosure.bound).then(function(boundArgs) {
|
|
return boundArgs.concat(args);
|
|
}) : Promise.resolve(args);
|
|
knownServerReferences.set(newFn, {
|
|
id: referenceClosure.id,
|
|
originalBind: newFn.bind,
|
|
bound: boundPromise
|
|
});
|
|
Object.defineProperties(newFn, {
|
|
$$FORM_ACTION: {
|
|
value: this.$$FORM_ACTION
|
|
},
|
|
$$IS_SIGNATURE_EQUAL: {
|
|
value: isSignatureEqual
|
|
},
|
|
bind: {
|
|
value: bind
|
|
}
|
|
});
|
|
return newFn;
|
|
}
|
|
function createBoundServerReference(metaData, callServer, encodeFormAction) {
|
|
function action() {
|
|
var args = Array.prototype.slice.call(arguments);
|
|
return bound ? "fulfilled" === bound.status ? callServer(id, bound.value.concat(args)) : Promise.resolve(bound).then(function(boundArgs) {
|
|
return callServer(id, boundArgs.concat(args));
|
|
}) : callServer(id, args);
|
|
}
|
|
var id = metaData.id, bound = metaData.bound;
|
|
registerBoundServerReference(action, id, bound, encodeFormAction);
|
|
return action;
|
|
}
|
|
function createServerReference$1(id, callServer, encodeFormAction) {
|
|
function action() {
|
|
var args = Array.prototype.slice.call(arguments);
|
|
return callServer(id, args);
|
|
}
|
|
registerBoundServerReference(action, id, null, encodeFormAction);
|
|
return action;
|
|
}
|
|
function ReactPromise(status, value, reason) {
|
|
this.status = status;
|
|
this.value = value;
|
|
this.reason = reason;
|
|
}
|
|
ReactPromise.prototype = Object.create(Promise.prototype);
|
|
ReactPromise.prototype.then = function(resolve, reject) {
|
|
switch (this.status) {
|
|
case "resolved_model":
|
|
initializeModelChunk(this);
|
|
break;
|
|
case "resolved_module":
|
|
initializeModuleChunk(this);
|
|
}
|
|
switch (this.status) {
|
|
case "fulfilled":
|
|
"function" === typeof resolve && resolve(this.value);
|
|
break;
|
|
case "pending":
|
|
case "blocked":
|
|
"function" === typeof resolve && (null === this.value && (this.value = []), this.value.push(resolve));
|
|
"function" === typeof reject && (null === this.reason && (this.reason = []), this.reason.push(reject));
|
|
break;
|
|
case "halted":
|
|
break;
|
|
default:
|
|
"function" === typeof reject && reject(this.reason);
|
|
}
|
|
};
|
|
function readChunk(chunk) {
|
|
switch (chunk.status) {
|
|
case "resolved_model":
|
|
initializeModelChunk(chunk);
|
|
break;
|
|
case "resolved_module":
|
|
initializeModuleChunk(chunk);
|
|
}
|
|
switch (chunk.status) {
|
|
case "fulfilled":
|
|
return chunk.value;
|
|
case "pending":
|
|
case "blocked":
|
|
case "halted":
|
|
throw chunk;
|
|
default:
|
|
throw chunk.reason;
|
|
}
|
|
}
|
|
function wakeChunk(listeners, value, chunk) {
|
|
for (var i = 0; i < listeners.length; i++) {
|
|
var listener = listeners[i];
|
|
"function" === typeof listener ? listener(value) : fulfillReference(listener, value);
|
|
}
|
|
}
|
|
function rejectChunk(listeners, error) {
|
|
for (var i = 0; i < listeners.length; i++) {
|
|
var listener = listeners[i];
|
|
"function" === typeof listener ? listener(error) : rejectReference(listener, error);
|
|
}
|
|
}
|
|
function resolveBlockedCycle(resolvedChunk, reference) {
|
|
var referencedChunk = reference.handler.chunk;
|
|
if (null === referencedChunk) return null;
|
|
if (referencedChunk === resolvedChunk) return reference.handler;
|
|
reference = referencedChunk.value;
|
|
if (null !== reference) for (referencedChunk = 0; referencedChunk < reference.length; referencedChunk++) {
|
|
var listener = reference[referencedChunk];
|
|
if ("function" !== typeof listener && (listener = resolveBlockedCycle(resolvedChunk, listener), null !== listener)) return listener;
|
|
}
|
|
return null;
|
|
}
|
|
function wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners) {
|
|
switch (chunk.status) {
|
|
case "fulfilled":
|
|
wakeChunk(resolveListeners, chunk.value);
|
|
break;
|
|
case "blocked":
|
|
for (var i = 0; i < resolveListeners.length; i++) {
|
|
var listener = resolveListeners[i];
|
|
if ("function" !== typeof listener) {
|
|
var cyclicHandler = resolveBlockedCycle(chunk, listener);
|
|
if (null !== cyclicHandler) switch (fulfillReference(listener, cyclicHandler.value), resolveListeners.splice(i, 1), i--, null !== rejectListeners && (listener = rejectListeners.indexOf(listener), -1 !== listener && rejectListeners.splice(listener, 1)), chunk.status) {
|
|
case "fulfilled":
|
|
wakeChunk(resolveListeners, chunk.value);
|
|
return;
|
|
case "rejected":
|
|
null !== rejectListeners && rejectChunk(rejectListeners, chunk.reason);
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
case "pending":
|
|
if (chunk.value) for (i = 0; i < resolveListeners.length; i++) chunk.value.push(resolveListeners[i]);
|
|
else chunk.value = resolveListeners;
|
|
if (chunk.reason) {
|
|
if (rejectListeners) for (resolveListeners = 0; resolveListeners < rejectListeners.length; resolveListeners++) chunk.reason.push(rejectListeners[resolveListeners]);
|
|
} else chunk.reason = rejectListeners;
|
|
break;
|
|
case "rejected":
|
|
rejectListeners && rejectChunk(rejectListeners, chunk.reason);
|
|
}
|
|
}
|
|
function triggerErrorOnChunk(response, chunk, error) {
|
|
"pending" !== chunk.status && "blocked" !== chunk.status ? chunk.reason.error(error) : (response = chunk.reason, chunk.status = "rejected", chunk.reason = error, null !== response && rejectChunk(response, error));
|
|
}
|
|
function createResolvedIteratorResultChunk(response, value, done) {
|
|
return new ReactPromise("resolved_model", (done ? '{"done":true,"value":' : '{"done":false,"value":') + value + "}", response);
|
|
}
|
|
function resolveIteratorResultChunk(response, chunk, value, done) {
|
|
resolveModelChunk(response, chunk, (done ? '{"done":true,"value":' : '{"done":false,"value":') + value + "}");
|
|
}
|
|
function resolveModelChunk(response, chunk, value) {
|
|
if ("pending" !== chunk.status) chunk.reason.enqueueModel(value);
|
|
else {
|
|
var resolveListeners = chunk.value, rejectListeners = chunk.reason;
|
|
chunk.status = "resolved_model";
|
|
chunk.value = value;
|
|
chunk.reason = response;
|
|
null !== resolveListeners && (initializeModelChunk(chunk), wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners));
|
|
}
|
|
}
|
|
function resolveModuleChunk(response, chunk, value) {
|
|
if ("pending" === chunk.status || "blocked" === chunk.status) {
|
|
response = chunk.value;
|
|
var rejectListeners = chunk.reason;
|
|
chunk.status = "resolved_module";
|
|
chunk.value = value;
|
|
chunk.reason = null;
|
|
null !== response && (initializeModuleChunk(chunk), wakeChunkIfInitialized(chunk, response, rejectListeners));
|
|
}
|
|
}
|
|
var initializingHandler = null;
|
|
function initializeModelChunk(chunk) {
|
|
var prevHandler = initializingHandler;
|
|
initializingHandler = null;
|
|
var resolvedModel = chunk.value, response = chunk.reason;
|
|
chunk.status = "blocked";
|
|
chunk.value = null;
|
|
chunk.reason = null;
|
|
try {
|
|
var value = JSON.parse(resolvedModel, response._fromJSON), resolveListeners = chunk.value;
|
|
if (null !== resolveListeners) for (chunk.value = null, chunk.reason = null, resolvedModel = 0; resolvedModel < resolveListeners.length; resolvedModel++) {
|
|
var listener = resolveListeners[resolvedModel];
|
|
"function" === typeof listener ? listener(value) : fulfillReference(listener, value, chunk);
|
|
}
|
|
if (null !== initializingHandler) {
|
|
if (initializingHandler.errored) throw initializingHandler.reason;
|
|
if (0 < initializingHandler.deps) {
|
|
initializingHandler.value = value;
|
|
initializingHandler.chunk = chunk;
|
|
return;
|
|
}
|
|
}
|
|
chunk.status = "fulfilled";
|
|
chunk.value = value;
|
|
} catch (error) {
|
|
chunk.status = "rejected", chunk.reason = error;
|
|
} finally {
|
|
initializingHandler = prevHandler;
|
|
}
|
|
}
|
|
function initializeModuleChunk(chunk) {
|
|
try {
|
|
var value = requireModule(chunk.value);
|
|
chunk.status = "fulfilled";
|
|
chunk.value = value;
|
|
} catch (error) {
|
|
chunk.status = "rejected", chunk.reason = error;
|
|
}
|
|
}
|
|
function reportGlobalError(weakResponse, error) {
|
|
weakResponse._closed = true;
|
|
weakResponse._closedReason = error;
|
|
weakResponse._chunks.forEach(function(chunk) {
|
|
"pending" === chunk.status ? triggerErrorOnChunk(weakResponse, chunk, error) : "fulfilled" === chunk.status && null !== chunk.reason && chunk.reason.error(error);
|
|
});
|
|
}
|
|
function createLazyChunkWrapper(chunk) {
|
|
return {
|
|
$$typeof: REACT_LAZY_TYPE,
|
|
_payload: chunk,
|
|
_init: readChunk
|
|
};
|
|
}
|
|
function getChunk(response, id) {
|
|
var chunks = response._chunks, chunk = chunks.get(id);
|
|
chunk || (chunk = response._closed ? new ReactPromise("rejected", null, response._closedReason) : new ReactPromise("pending", null, null), chunks.set(id, chunk));
|
|
return chunk;
|
|
}
|
|
function fulfillReference(reference, value) {
|
|
var response = reference.response, handler = reference.handler, parentObject = reference.parentObject, key = reference.key, map = reference.map, path = reference.path;
|
|
try {
|
|
for (var i = 1; i < path.length; i++) {
|
|
for (; "object" === typeof value && null !== value && value.$$typeof === REACT_LAZY_TYPE; ) {
|
|
var referencedChunk = value._payload;
|
|
if (referencedChunk === handler.chunk) value = handler.value;
|
|
else {
|
|
switch (referencedChunk.status) {
|
|
case "resolved_model":
|
|
initializeModelChunk(referencedChunk);
|
|
break;
|
|
case "resolved_module":
|
|
initializeModuleChunk(referencedChunk);
|
|
}
|
|
switch (referencedChunk.status) {
|
|
case "fulfilled":
|
|
value = referencedChunk.value;
|
|
continue;
|
|
case "blocked":
|
|
var cyclicHandler = resolveBlockedCycle(referencedChunk, reference);
|
|
if (null !== cyclicHandler) {
|
|
value = cyclicHandler.value;
|
|
continue;
|
|
}
|
|
case "pending":
|
|
path.splice(0, i - 1);
|
|
null === referencedChunk.value ? referencedChunk.value = [
|
|
reference
|
|
] : referencedChunk.value.push(reference);
|
|
null === referencedChunk.reason ? referencedChunk.reason = [
|
|
reference
|
|
] : referencedChunk.reason.push(reference);
|
|
return;
|
|
case "halted":
|
|
return;
|
|
default:
|
|
rejectReference(reference, referencedChunk.reason);
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
var name = path[i];
|
|
if ("object" === typeof value && null !== value && hasOwnProperty.call(value, name)) value = value[name];
|
|
else throw Error("Invalid reference.");
|
|
}
|
|
for (; "object" === typeof value && null !== value && value.$$typeof === REACT_LAZY_TYPE; ) {
|
|
var referencedChunk$44 = value._payload;
|
|
if (referencedChunk$44 === handler.chunk) value = handler.value;
|
|
else {
|
|
switch (referencedChunk$44.status) {
|
|
case "resolved_model":
|
|
initializeModelChunk(referencedChunk$44);
|
|
break;
|
|
case "resolved_module":
|
|
initializeModuleChunk(referencedChunk$44);
|
|
}
|
|
switch (referencedChunk$44.status) {
|
|
case "fulfilled":
|
|
value = referencedChunk$44.value;
|
|
continue;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
var mappedValue = map(response, value, parentObject, key);
|
|
"__proto__" !== key && (parentObject[key] = mappedValue);
|
|
"" === key && null === handler.value && (handler.value = mappedValue);
|
|
if (parentObject[0] === REACT_ELEMENT_TYPE && "object" === typeof handler.value && null !== handler.value && handler.value.$$typeof === REACT_ELEMENT_TYPE) {
|
|
var element = handler.value;
|
|
switch (key) {
|
|
case "3":
|
|
element.props = mappedValue;
|
|
}
|
|
}
|
|
} catch (error) {
|
|
rejectReference(reference, error);
|
|
return;
|
|
}
|
|
handler.deps--;
|
|
0 === handler.deps && (reference = handler.chunk, null !== reference && "blocked" === reference.status && (value = reference.value, reference.status = "fulfilled", reference.value = handler.value, reference.reason = handler.reason, null !== value && wakeChunk(value, handler.value)));
|
|
}
|
|
function rejectReference(reference, error) {
|
|
var handler = reference.handler;
|
|
reference = reference.response;
|
|
handler.errored || (handler.errored = true, handler.value = null, handler.reason = error, handler = handler.chunk, null !== handler && "blocked" === handler.status && triggerErrorOnChunk(reference, handler, error));
|
|
}
|
|
function waitForReference(referencedChunk, parentObject, key, response, map, path) {
|
|
if (initializingHandler) {
|
|
var handler = initializingHandler;
|
|
handler.deps++;
|
|
} else handler = initializingHandler = {
|
|
parent: null,
|
|
chunk: null,
|
|
value: null,
|
|
reason: null,
|
|
deps: 1,
|
|
errored: false
|
|
};
|
|
parentObject = {
|
|
response,
|
|
handler,
|
|
parentObject,
|
|
key,
|
|
map,
|
|
path
|
|
};
|
|
null === referencedChunk.value ? referencedChunk.value = [
|
|
parentObject
|
|
] : referencedChunk.value.push(parentObject);
|
|
null === referencedChunk.reason ? referencedChunk.reason = [
|
|
parentObject
|
|
] : referencedChunk.reason.push(parentObject);
|
|
return null;
|
|
}
|
|
function loadServerReference(response, metaData, parentObject, key) {
|
|
if (!response._serverReferenceConfig) return createBoundServerReference(metaData, response._callServer, response._encodeFormAction);
|
|
var serverReference = resolveServerReference(response._serverReferenceConfig, metaData.id), promise = preloadModule(serverReference);
|
|
if (promise) metaData.bound && (promise = Promise.all([
|
|
promise,
|
|
metaData.bound
|
|
]));
|
|
else if (metaData.bound) promise = Promise.resolve(metaData.bound);
|
|
else return promise = requireModule(serverReference), registerBoundServerReference(promise, metaData.id, metaData.bound, response._encodeFormAction), promise;
|
|
if (initializingHandler) {
|
|
var handler = initializingHandler;
|
|
handler.deps++;
|
|
} else handler = initializingHandler = {
|
|
parent: null,
|
|
chunk: null,
|
|
value: null,
|
|
reason: null,
|
|
deps: 1,
|
|
errored: false
|
|
};
|
|
promise.then(function() {
|
|
var resolvedValue = requireModule(serverReference);
|
|
if (metaData.bound) {
|
|
var boundArgs = metaData.bound.value.slice(0);
|
|
boundArgs.unshift(null);
|
|
resolvedValue = resolvedValue.bind.apply(resolvedValue, boundArgs);
|
|
}
|
|
registerBoundServerReference(resolvedValue, metaData.id, metaData.bound, response._encodeFormAction);
|
|
"__proto__" !== key && (parentObject[key] = resolvedValue);
|
|
"" === key && null === handler.value && (handler.value = resolvedValue);
|
|
if (parentObject[0] === REACT_ELEMENT_TYPE && "object" === typeof handler.value && null !== handler.value && handler.value.$$typeof === REACT_ELEMENT_TYPE) switch (boundArgs = handler.value, key) {
|
|
case "3":
|
|
boundArgs.props = resolvedValue;
|
|
}
|
|
handler.deps--;
|
|
0 === handler.deps && (resolvedValue = handler.chunk, null !== resolvedValue && "blocked" === resolvedValue.status && (boundArgs = resolvedValue.value, resolvedValue.status = "fulfilled", resolvedValue.value = handler.value, resolvedValue.reason = null, null !== boundArgs && wakeChunk(boundArgs, handler.value)));
|
|
}, function(error) {
|
|
if (!handler.errored) {
|
|
handler.errored = true;
|
|
handler.value = null;
|
|
handler.reason = error;
|
|
var chunk = handler.chunk;
|
|
null !== chunk && "blocked" === chunk.status && triggerErrorOnChunk(response, chunk, error);
|
|
}
|
|
});
|
|
return null;
|
|
}
|
|
function getOutlinedModel(response, reference, parentObject, key, map) {
|
|
reference = reference.split(":");
|
|
var id = parseInt(reference[0], 16);
|
|
id = getChunk(response, id);
|
|
switch (id.status) {
|
|
case "resolved_model":
|
|
initializeModelChunk(id);
|
|
break;
|
|
case "resolved_module":
|
|
initializeModuleChunk(id);
|
|
}
|
|
switch (id.status) {
|
|
case "fulfilled":
|
|
id = id.value;
|
|
for (var i = 1; i < reference.length; i++) {
|
|
for (; "object" === typeof id && null !== id && id.$$typeof === REACT_LAZY_TYPE; ) {
|
|
id = id._payload;
|
|
switch (id.status) {
|
|
case "resolved_model":
|
|
initializeModelChunk(id);
|
|
break;
|
|
case "resolved_module":
|
|
initializeModuleChunk(id);
|
|
}
|
|
switch (id.status) {
|
|
case "fulfilled":
|
|
id = id.value;
|
|
break;
|
|
case "blocked":
|
|
case "pending":
|
|
return waitForReference(id, parentObject, key, response, map, reference.slice(i - 1));
|
|
case "halted":
|
|
return initializingHandler ? (response = initializingHandler, response.deps++) : initializingHandler = {
|
|
parent: null,
|
|
chunk: null,
|
|
value: null,
|
|
reason: null,
|
|
deps: 1,
|
|
errored: false
|
|
}, null;
|
|
default:
|
|
return initializingHandler ? (initializingHandler.errored = true, initializingHandler.value = null, initializingHandler.reason = id.reason) : initializingHandler = {
|
|
parent: null,
|
|
chunk: null,
|
|
value: null,
|
|
reason: id.reason,
|
|
deps: 0,
|
|
errored: true
|
|
}, null;
|
|
}
|
|
}
|
|
id = id[reference[i]];
|
|
}
|
|
for (; "object" === typeof id && null !== id && id.$$typeof === REACT_LAZY_TYPE; ) {
|
|
reference = id._payload;
|
|
switch (reference.status) {
|
|
case "resolved_model":
|
|
initializeModelChunk(reference);
|
|
break;
|
|
case "resolved_module":
|
|
initializeModuleChunk(reference);
|
|
}
|
|
switch (reference.status) {
|
|
case "fulfilled":
|
|
id = reference.value;
|
|
continue;
|
|
}
|
|
break;
|
|
}
|
|
return map(response, id, parentObject, key);
|
|
case "pending":
|
|
case "blocked":
|
|
return waitForReference(id, parentObject, key, response, map, reference);
|
|
case "halted":
|
|
return initializingHandler ? (response = initializingHandler, response.deps++) : initializingHandler = {
|
|
parent: null,
|
|
chunk: null,
|
|
value: null,
|
|
reason: null,
|
|
deps: 1,
|
|
errored: false
|
|
}, null;
|
|
default:
|
|
return initializingHandler ? (initializingHandler.errored = true, initializingHandler.value = null, initializingHandler.reason = id.reason) : initializingHandler = {
|
|
parent: null,
|
|
chunk: null,
|
|
value: null,
|
|
reason: id.reason,
|
|
deps: 0,
|
|
errored: true
|
|
}, null;
|
|
}
|
|
}
|
|
function createMap(response, model) {
|
|
return new Map(model);
|
|
}
|
|
function createSet(response, model) {
|
|
return new Set(model);
|
|
}
|
|
function createBlob(response, model) {
|
|
return new Blob(model.slice(1), {
|
|
type: model[0]
|
|
});
|
|
}
|
|
function createFormData(response, model) {
|
|
response = new FormData();
|
|
for (var i = 0; i < model.length; i++) response.append(model[i][0], model[i][1]);
|
|
return response;
|
|
}
|
|
function extractIterator(response, model) {
|
|
return model[Symbol.iterator]();
|
|
}
|
|
function createModel(response, model) {
|
|
return model;
|
|
}
|
|
function parseModelString(response, parentObject, key, value) {
|
|
if ("$" === value[0]) {
|
|
if ("$" === value) return null !== initializingHandler && "0" === key && (initializingHandler = {
|
|
parent: initializingHandler,
|
|
chunk: null,
|
|
value: null,
|
|
reason: null,
|
|
deps: 0,
|
|
errored: false
|
|
}), REACT_ELEMENT_TYPE;
|
|
switch (value[1]) {
|
|
case "$":
|
|
return value.slice(1);
|
|
case "L":
|
|
return parentObject = parseInt(value.slice(2), 16), response = getChunk(response, parentObject), createLazyChunkWrapper(response);
|
|
case "@":
|
|
return parentObject = parseInt(value.slice(2), 16), getChunk(response, parentObject);
|
|
case "S":
|
|
return Symbol.for(value.slice(2));
|
|
case "h":
|
|
return value = value.slice(2), getOutlinedModel(response, value, parentObject, key, loadServerReference);
|
|
case "T":
|
|
parentObject = "$" + value.slice(2);
|
|
response = response._tempRefs;
|
|
if (null == response) throw Error("Missing a temporary reference set but the RSC response returned a temporary reference. Pass a temporaryReference option with the set that was used with the reply.");
|
|
return response.get(parentObject);
|
|
case "Q":
|
|
return value = value.slice(2), getOutlinedModel(response, value, parentObject, key, createMap);
|
|
case "W":
|
|
return value = value.slice(2), getOutlinedModel(response, value, parentObject, key, createSet);
|
|
case "B":
|
|
return value = value.slice(2), getOutlinedModel(response, value, parentObject, key, createBlob);
|
|
case "K":
|
|
return value = value.slice(2), getOutlinedModel(response, value, parentObject, key, createFormData);
|
|
case "Z":
|
|
return resolveErrorProd();
|
|
case "i":
|
|
return value = value.slice(2), getOutlinedModel(response, value, parentObject, key, extractIterator);
|
|
case "I":
|
|
return Infinity;
|
|
case "-":
|
|
return "$-0" === value ? -0 : -Infinity;
|
|
case "N":
|
|
return NaN;
|
|
case "u":
|
|
return;
|
|
case "D":
|
|
return new Date(Date.parse(value.slice(2)));
|
|
case "n":
|
|
return BigInt(value.slice(2));
|
|
default:
|
|
return value = value.slice(1), getOutlinedModel(response, value, parentObject, key, createModel);
|
|
}
|
|
}
|
|
return value;
|
|
}
|
|
function missingCall() {
|
|
throw Error('Trying to call a function from "use server" but the callServer option was not implemented in your router runtime.');
|
|
}
|
|
function ResponseInstance(bundlerConfig, serverReferenceConfig, moduleLoading, callServer, encodeFormAction, nonce, temporaryReferences) {
|
|
var chunks = /* @__PURE__ */ new Map();
|
|
this._bundlerConfig = bundlerConfig;
|
|
this._serverReferenceConfig = serverReferenceConfig;
|
|
this._moduleLoading = moduleLoading;
|
|
this._callServer = void 0 !== callServer ? callServer : missingCall;
|
|
this._encodeFormAction = encodeFormAction;
|
|
this._nonce = nonce;
|
|
this._chunks = chunks;
|
|
this._stringDecoder = new TextDecoder();
|
|
this._fromJSON = null;
|
|
this._closed = false;
|
|
this._closedReason = null;
|
|
this._tempRefs = temporaryReferences;
|
|
this._fromJSON = createFromJSONCallback(this);
|
|
}
|
|
function resolveBuffer(response, id, buffer) {
|
|
response = response._chunks;
|
|
var chunk = response.get(id);
|
|
chunk && "pending" !== chunk.status ? chunk.reason.enqueueValue(buffer) : (buffer = new ReactPromise("fulfilled", buffer, null), response.set(id, buffer));
|
|
}
|
|
function resolveModule(response, id, model) {
|
|
var chunks = response._chunks, chunk = chunks.get(id);
|
|
model = JSON.parse(model, response._fromJSON);
|
|
var clientReference = resolveClientReference(response._bundlerConfig, model);
|
|
prepareDestinationWithChunks(response._moduleLoading, model[1], response._nonce);
|
|
if (model = preloadModule(clientReference)) {
|
|
if (chunk) {
|
|
var blockedChunk = chunk;
|
|
blockedChunk.status = "blocked";
|
|
} else blockedChunk = new ReactPromise("blocked", null, null), chunks.set(id, blockedChunk);
|
|
model.then(function() {
|
|
return resolveModuleChunk(response, blockedChunk, clientReference);
|
|
}, function(error) {
|
|
return triggerErrorOnChunk(response, blockedChunk, error);
|
|
});
|
|
} else chunk ? resolveModuleChunk(response, chunk, clientReference) : (chunk = new ReactPromise("resolved_module", clientReference, null), chunks.set(id, chunk));
|
|
}
|
|
function resolveStream(response, id, stream, controller) {
|
|
response = response._chunks;
|
|
var chunk = response.get(id);
|
|
chunk ? "pending" === chunk.status && (id = chunk.value, chunk.status = "fulfilled", chunk.value = stream, chunk.reason = controller, null !== id && wakeChunk(id, chunk.value)) : (stream = new ReactPromise("fulfilled", stream, controller), response.set(id, stream));
|
|
}
|
|
function startReadableStream(response, id, type) {
|
|
var controller = null, closed = false;
|
|
type = new ReadableStream({
|
|
type,
|
|
start: function(c) {
|
|
controller = c;
|
|
}
|
|
});
|
|
var previousBlockedChunk = null;
|
|
resolveStream(response, id, type, {
|
|
enqueueValue: function(value) {
|
|
null === previousBlockedChunk ? controller.enqueue(value) : previousBlockedChunk.then(function() {
|
|
controller.enqueue(value);
|
|
});
|
|
},
|
|
enqueueModel: function(json) {
|
|
if (null === previousBlockedChunk) {
|
|
var chunk = new ReactPromise("resolved_model", json, response);
|
|
initializeModelChunk(chunk);
|
|
"fulfilled" === chunk.status ? controller.enqueue(chunk.value) : (chunk.then(function(v) {
|
|
return controller.enqueue(v);
|
|
}, function(e) {
|
|
return controller.error(e);
|
|
}), previousBlockedChunk = chunk);
|
|
} else {
|
|
chunk = previousBlockedChunk;
|
|
var chunk$55 = new ReactPromise("pending", null, null);
|
|
chunk$55.then(function(v) {
|
|
return controller.enqueue(v);
|
|
}, function(e) {
|
|
return controller.error(e);
|
|
});
|
|
previousBlockedChunk = chunk$55;
|
|
chunk.then(function() {
|
|
previousBlockedChunk === chunk$55 && (previousBlockedChunk = null);
|
|
resolveModelChunk(response, chunk$55, json);
|
|
});
|
|
}
|
|
},
|
|
close: function() {
|
|
if (!closed) if (closed = true, null === previousBlockedChunk) controller.close();
|
|
else {
|
|
var blockedChunk = previousBlockedChunk;
|
|
previousBlockedChunk = null;
|
|
blockedChunk.then(function() {
|
|
return controller.close();
|
|
});
|
|
}
|
|
},
|
|
error: function(error) {
|
|
if (!closed) if (closed = true, null === previousBlockedChunk) controller.error(error);
|
|
else {
|
|
var blockedChunk = previousBlockedChunk;
|
|
previousBlockedChunk = null;
|
|
blockedChunk.then(function() {
|
|
return controller.error(error);
|
|
});
|
|
}
|
|
}
|
|
});
|
|
}
|
|
function asyncIterator() {
|
|
return this;
|
|
}
|
|
function createIterator(next) {
|
|
next = {
|
|
next
|
|
};
|
|
next[ASYNC_ITERATOR] = asyncIterator;
|
|
return next;
|
|
}
|
|
function startAsyncIterable(response, id, iterator) {
|
|
var buffer = [], closed = false, nextWriteIndex = 0, iterable = {};
|
|
iterable[ASYNC_ITERATOR] = function() {
|
|
var nextReadIndex = 0;
|
|
return createIterator(function(arg) {
|
|
if (void 0 !== arg) throw Error("Values cannot be passed to next() of AsyncIterables passed to Client Components.");
|
|
if (nextReadIndex === buffer.length) {
|
|
if (closed) return new ReactPromise("fulfilled", {
|
|
done: true,
|
|
value: void 0
|
|
}, null);
|
|
buffer[nextReadIndex] = new ReactPromise("pending", null, null);
|
|
}
|
|
return buffer[nextReadIndex++];
|
|
});
|
|
};
|
|
resolveStream(response, id, iterator ? iterable[ASYNC_ITERATOR]() : iterable, {
|
|
enqueueValue: function(value) {
|
|
if (nextWriteIndex === buffer.length) buffer[nextWriteIndex] = new ReactPromise("fulfilled", {
|
|
done: false,
|
|
value
|
|
}, null);
|
|
else {
|
|
var chunk = buffer[nextWriteIndex], resolveListeners = chunk.value, rejectListeners = chunk.reason;
|
|
chunk.status = "fulfilled";
|
|
chunk.value = {
|
|
done: false,
|
|
value
|
|
};
|
|
chunk.reason = null;
|
|
null !== resolveListeners && wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners);
|
|
}
|
|
nextWriteIndex++;
|
|
},
|
|
enqueueModel: function(value) {
|
|
nextWriteIndex === buffer.length ? buffer[nextWriteIndex] = createResolvedIteratorResultChunk(response, value, false) : resolveIteratorResultChunk(response, buffer[nextWriteIndex], value, false);
|
|
nextWriteIndex++;
|
|
},
|
|
close: function(value) {
|
|
if (!closed) for (closed = true, nextWriteIndex === buffer.length ? buffer[nextWriteIndex] = createResolvedIteratorResultChunk(response, value, true) : resolveIteratorResultChunk(response, buffer[nextWriteIndex], value, true), nextWriteIndex++; nextWriteIndex < buffer.length; ) resolveIteratorResultChunk(response, buffer[nextWriteIndex++], '"$undefined"', true);
|
|
},
|
|
error: function(error) {
|
|
if (!closed) for (closed = true, nextWriteIndex === buffer.length && (buffer[nextWriteIndex] = new ReactPromise("pending", null, null)); nextWriteIndex < buffer.length; ) triggerErrorOnChunk(response, buffer[nextWriteIndex++], error);
|
|
}
|
|
});
|
|
}
|
|
function resolveErrorProd() {
|
|
var error = Error("An error occurred in the Server Components render. The specific message is omitted in production builds to avoid leaking sensitive details. A digest property is included on this error instance which may provide additional details about the nature of the error.");
|
|
error.stack = "Error: " + error.message;
|
|
return error;
|
|
}
|
|
function mergeBuffer(buffer, lastChunk) {
|
|
for (var l = buffer.length, byteLength = lastChunk.length, i = 0; i < l; i++) byteLength += buffer[i].byteLength;
|
|
byteLength = new Uint8Array(byteLength);
|
|
for (var i$56 = i = 0; i$56 < l; i$56++) {
|
|
var chunk = buffer[i$56];
|
|
byteLength.set(chunk, i);
|
|
i += chunk.byteLength;
|
|
}
|
|
byteLength.set(lastChunk, i);
|
|
return byteLength;
|
|
}
|
|
function resolveTypedArray(response, id, buffer, lastChunk, constructor, bytesPerElement) {
|
|
buffer = 0 === buffer.length && 0 === lastChunk.byteOffset % bytesPerElement ? lastChunk : mergeBuffer(buffer, lastChunk);
|
|
constructor = new constructor(buffer.buffer, buffer.byteOffset, buffer.byteLength / bytesPerElement);
|
|
resolveBuffer(response, id, constructor);
|
|
}
|
|
function processFullBinaryRow(response, streamState, id, tag, buffer, chunk) {
|
|
switch (tag) {
|
|
case 65:
|
|
resolveBuffer(response, id, mergeBuffer(buffer, chunk).buffer);
|
|
return;
|
|
case 79:
|
|
resolveTypedArray(response, id, buffer, chunk, Int8Array, 1);
|
|
return;
|
|
case 111:
|
|
resolveBuffer(response, id, 0 === buffer.length ? chunk : mergeBuffer(buffer, chunk));
|
|
return;
|
|
case 85:
|
|
resolveTypedArray(response, id, buffer, chunk, Uint8ClampedArray, 1);
|
|
return;
|
|
case 83:
|
|
resolveTypedArray(response, id, buffer, chunk, Int16Array, 2);
|
|
return;
|
|
case 115:
|
|
resolveTypedArray(response, id, buffer, chunk, Uint16Array, 2);
|
|
return;
|
|
case 76:
|
|
resolveTypedArray(response, id, buffer, chunk, Int32Array, 4);
|
|
return;
|
|
case 108:
|
|
resolveTypedArray(response, id, buffer, chunk, Uint32Array, 4);
|
|
return;
|
|
case 71:
|
|
resolveTypedArray(response, id, buffer, chunk, Float32Array, 4);
|
|
return;
|
|
case 103:
|
|
resolveTypedArray(response, id, buffer, chunk, Float64Array, 8);
|
|
return;
|
|
case 77:
|
|
resolveTypedArray(response, id, buffer, chunk, BigInt64Array, 8);
|
|
return;
|
|
case 109:
|
|
resolveTypedArray(response, id, buffer, chunk, BigUint64Array, 8);
|
|
return;
|
|
case 86:
|
|
resolveTypedArray(response, id, buffer, chunk, DataView, 1);
|
|
return;
|
|
}
|
|
streamState = response._stringDecoder;
|
|
for (var row = "", i = 0; i < buffer.length; i++) row += streamState.decode(buffer[i], decoderOptions);
|
|
buffer = row += streamState.decode(chunk);
|
|
switch (tag) {
|
|
case 73:
|
|
resolveModule(response, id, buffer);
|
|
break;
|
|
case 72:
|
|
id = buffer[0];
|
|
buffer = buffer.slice(1);
|
|
response = JSON.parse(buffer, response._fromJSON);
|
|
buffer = ReactDOMSharedInternals.d;
|
|
switch (id) {
|
|
case "D":
|
|
buffer.D(response);
|
|
break;
|
|
case "C":
|
|
"string" === typeof response ? buffer.C(response) : buffer.C(response[0], response[1]);
|
|
break;
|
|
case "L":
|
|
id = response[0];
|
|
tag = response[1];
|
|
3 === response.length ? buffer.L(id, tag, response[2]) : buffer.L(id, tag);
|
|
break;
|
|
case "m":
|
|
"string" === typeof response ? buffer.m(response) : buffer.m(response[0], response[1]);
|
|
break;
|
|
case "X":
|
|
"string" === typeof response ? buffer.X(response) : buffer.X(response[0], response[1]);
|
|
break;
|
|
case "S":
|
|
"string" === typeof response ? buffer.S(response) : buffer.S(response[0], 0 === response[1] ? void 0 : response[1], 3 === response.length ? response[2] : void 0);
|
|
break;
|
|
case "M":
|
|
"string" === typeof response ? buffer.M(response) : buffer.M(response[0], response[1]);
|
|
}
|
|
break;
|
|
case 69:
|
|
tag = response._chunks;
|
|
chunk = tag.get(id);
|
|
buffer = JSON.parse(buffer);
|
|
streamState = resolveErrorProd();
|
|
streamState.digest = buffer.digest;
|
|
chunk ? triggerErrorOnChunk(response, chunk, streamState) : (response = new ReactPromise("rejected", null, streamState), tag.set(id, response));
|
|
break;
|
|
case 84:
|
|
response = response._chunks;
|
|
(tag = response.get(id)) && "pending" !== tag.status ? tag.reason.enqueueValue(buffer) : (buffer = new ReactPromise("fulfilled", buffer, null), response.set(id, buffer));
|
|
break;
|
|
case 78:
|
|
case 68:
|
|
case 74:
|
|
case 87:
|
|
throw Error("Failed to read a RSC payload created by a development version of React on the server while using a production version on the client. Always use matching versions on the server and the client.");
|
|
case 82:
|
|
startReadableStream(response, id, void 0);
|
|
break;
|
|
case 114:
|
|
startReadableStream(response, id, "bytes");
|
|
break;
|
|
case 88:
|
|
startAsyncIterable(response, id, false);
|
|
break;
|
|
case 120:
|
|
startAsyncIterable(response, id, true);
|
|
break;
|
|
case 67:
|
|
(id = response._chunks.get(id)) && "fulfilled" === id.status && id.reason.close("" === buffer ? '"$undefined"' : buffer);
|
|
break;
|
|
default:
|
|
tag = response._chunks, (chunk = tag.get(id)) ? resolveModelChunk(response, chunk, buffer) : (response = new ReactPromise("resolved_model", buffer, response), tag.set(id, response));
|
|
}
|
|
}
|
|
function createFromJSONCallback(response) {
|
|
return function(key, value) {
|
|
if ("__proto__" !== key) {
|
|
if ("string" === typeof value) return parseModelString(response, this, key, value);
|
|
if ("object" === typeof value && null !== value) {
|
|
if (value[0] === REACT_ELEMENT_TYPE) {
|
|
if (key = {
|
|
$$typeof: REACT_ELEMENT_TYPE,
|
|
type: value[1],
|
|
key: value[2],
|
|
ref: null,
|
|
props: value[3]
|
|
}, null !== initializingHandler) {
|
|
if (value = initializingHandler, initializingHandler = value.parent, value.errored) key = new ReactPromise("rejected", null, value.reason), key = createLazyChunkWrapper(key);
|
|
else if (0 < value.deps) {
|
|
var blockedChunk = new ReactPromise("blocked", null, null);
|
|
value.value = key;
|
|
value.chunk = blockedChunk;
|
|
key = createLazyChunkWrapper(blockedChunk);
|
|
}
|
|
}
|
|
} else key = value;
|
|
return key;
|
|
}
|
|
return value;
|
|
}
|
|
};
|
|
}
|
|
function close(weakResponse) {
|
|
reportGlobalError(weakResponse, Error("Connection closed."));
|
|
}
|
|
function noServerCall() {
|
|
throw Error("Server Functions cannot be called during initial render. This would create a fetch waterfall. Try to use a Server Component to pass data to Client Components instead.");
|
|
}
|
|
function createResponseFromOptions(options) {
|
|
return new ResponseInstance(options.serverConsumerManifest.moduleMap, options.serverConsumerManifest.serverModuleMap, options.serverConsumerManifest.moduleLoading, noServerCall, options.encodeFormAction, "string" === typeof options.nonce ? options.nonce : void 0, options && options.temporaryReferences ? options.temporaryReferences : void 0);
|
|
}
|
|
function startReadingFromStream(response, stream, onDone) {
|
|
function progress(_ref) {
|
|
var value = _ref.value;
|
|
if (_ref.done) return onDone();
|
|
var i = 0, rowState = streamState._rowState;
|
|
_ref = streamState._rowID;
|
|
for (var rowTag = streamState._rowTag, rowLength = streamState._rowLength, buffer = streamState._buffer, chunkLength = value.length; i < chunkLength; ) {
|
|
var lastIdx = -1;
|
|
switch (rowState) {
|
|
case 0:
|
|
lastIdx = value[i++];
|
|
58 === lastIdx ? rowState = 1 : _ref = _ref << 4 | (96 < lastIdx ? lastIdx - 87 : lastIdx - 48);
|
|
continue;
|
|
case 1:
|
|
rowState = value[i];
|
|
84 === rowState || 65 === rowState || 79 === rowState || 111 === rowState || 85 === rowState || 83 === rowState || 115 === rowState || 76 === rowState || 108 === rowState || 71 === rowState || 103 === rowState || 77 === rowState || 109 === rowState || 86 === rowState ? (rowTag = rowState, rowState = 2, i++) : 64 < rowState && 91 > rowState || 35 === rowState || 114 === rowState || 120 === rowState ? (rowTag = rowState, rowState = 3, i++) : (rowTag = 0, rowState = 3);
|
|
continue;
|
|
case 2:
|
|
lastIdx = value[i++];
|
|
44 === lastIdx ? rowState = 4 : rowLength = rowLength << 4 | (96 < lastIdx ? lastIdx - 87 : lastIdx - 48);
|
|
continue;
|
|
case 3:
|
|
lastIdx = value.indexOf(10, i);
|
|
break;
|
|
case 4:
|
|
lastIdx = i + rowLength, lastIdx > value.length && (lastIdx = -1);
|
|
}
|
|
var offset = value.byteOffset + i;
|
|
if (-1 < lastIdx) rowLength = new Uint8Array(value.buffer, offset, lastIdx - i), processFullBinaryRow(response, streamState, _ref, rowTag, buffer, rowLength), i = lastIdx, 3 === rowState && i++, rowLength = _ref = rowTag = rowState = 0, buffer.length = 0;
|
|
else {
|
|
value = new Uint8Array(value.buffer, offset, value.byteLength - i);
|
|
buffer.push(value);
|
|
rowLength -= value.byteLength;
|
|
break;
|
|
}
|
|
}
|
|
streamState._rowState = rowState;
|
|
streamState._rowID = _ref;
|
|
streamState._rowTag = rowTag;
|
|
streamState._rowLength = rowLength;
|
|
return reader.read().then(progress).catch(error);
|
|
}
|
|
function error(e) {
|
|
reportGlobalError(response, e);
|
|
}
|
|
var streamState = {
|
|
_rowState: 0,
|
|
_rowID: 0,
|
|
_rowTag: 0,
|
|
_rowLength: 0,
|
|
_buffer: []
|
|
}, reader = stream.getReader();
|
|
reader.read().then(progress).catch(error);
|
|
}
|
|
reactServerDomWebpackClient_edge_production.createFromFetch = function(promiseForResponse, options) {
|
|
var response = createResponseFromOptions(options);
|
|
promiseForResponse.then(function(r) {
|
|
startReadingFromStream(response, r.body, close.bind(null, response));
|
|
}, function(e) {
|
|
reportGlobalError(response, e);
|
|
});
|
|
return getChunk(response, 0);
|
|
};
|
|
reactServerDomWebpackClient_edge_production.createFromReadableStream = function(stream, options) {
|
|
options = createResponseFromOptions(options);
|
|
startReadingFromStream(options, stream, close.bind(null, options));
|
|
return getChunk(options, 0);
|
|
};
|
|
reactServerDomWebpackClient_edge_production.createServerReference = function(id) {
|
|
return createServerReference$1(id, noServerCall);
|
|
};
|
|
reactServerDomWebpackClient_edge_production.createTemporaryReferenceSet = function() {
|
|
return /* @__PURE__ */ new Map();
|
|
};
|
|
reactServerDomWebpackClient_edge_production.encodeReply = function(value, options) {
|
|
return new Promise(function(resolve, reject) {
|
|
var abort = processReply(value, "", options && options.temporaryReferences ? options.temporaryReferences : void 0, resolve, reject);
|
|
if (options && options.signal) {
|
|
var signal = options.signal;
|
|
if (signal.aborted) abort(signal.reason);
|
|
else {
|
|
var listener = function() {
|
|
abort(signal.reason);
|
|
signal.removeEventListener("abort", listener);
|
|
};
|
|
signal.addEventListener("abort", listener);
|
|
}
|
|
}
|
|
});
|
|
};
|
|
reactServerDomWebpackClient_edge_production.registerServerReference = function(reference, id, encodeFormAction) {
|
|
registerBoundServerReference(reference, id, null, encodeFormAction);
|
|
return reference;
|
|
};
|
|
return reactServerDomWebpackClient_edge_production;
|
|
}
|
|
var hasRequiredClient_edge;
|
|
function requireClient_edge() {
|
|
if (hasRequiredClient_edge) return client_edge.exports;
|
|
hasRequiredClient_edge = 1;
|
|
{
|
|
client_edge.exports = requireReactServerDomWebpackClient_edge_production();
|
|
}
|
|
return client_edge.exports;
|
|
}
|
|
var client_edgeExports = requireClient_edge();
|
|
function createFromReadableStream(stream, options = {}) {
|
|
return client_edgeExports.createFromReadableStream(stream, {
|
|
serverConsumerManifest: createServerConsumerManifest(),
|
|
...options
|
|
});
|
|
}
|
|
const clientReferences = {
|
|
"847a2b1045ef": async () => {
|
|
const m = await import("./assets/client-CeLGCvkj.js");
|
|
return m.export_847a2b1045ef;
|
|
},
|
|
"6d786e16fc6b": async () => {
|
|
const m = await import("./assets/client-CeLGCvkj.js");
|
|
return m.export_6d786e16fc6b;
|
|
},
|
|
"5ce7e027532e": async () => {
|
|
const m = await import("./assets/index-CNRWZdhS.js");
|
|
return m.export_5ce7e027532e;
|
|
},
|
|
"4af94835fa0f": async () => {
|
|
const m = await import("./assets/_id_-BAEItp57.js");
|
|
return m.export_4af94835fa0f;
|
|
},
|
|
"125820ecd802": async () => {
|
|
const m = await import("./assets/_layout-DwifDpT-.js").then(async (m2) => {
|
|
await m2.__tla;
|
|
return m2;
|
|
});
|
|
return m.export_125820ecd802;
|
|
}
|
|
};
|
|
var reactDomExports = requireReactDom();
|
|
initialize();
|
|
function initialize() {
|
|
setRequireModule({
|
|
load: async (id) => {
|
|
{
|
|
const import_ = clientReferences[id];
|
|
if (!import_) throw new Error(`client reference not found '${id}'`);
|
|
const deps = assetsManifest.clientReferenceDeps[id] ?? {
|
|
js: [],
|
|
css: []
|
|
};
|
|
preloadDeps(deps);
|
|
return wrapResourceProxy(await import_(), id, deps);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
function wrapResourceProxy(mod, id, deps) {
|
|
return new Proxy(mod, {
|
|
get(target, p, receiver) {
|
|
if (p in mod) {
|
|
preloadDeps(deps);
|
|
}
|
|
return Reflect.get(target, p, receiver);
|
|
}
|
|
});
|
|
}
|
|
function preloadDeps(deps) {
|
|
for (const href of deps.js) reactDomExports.preloadModule(href, {
|
|
as: "script",
|
|
crossOrigin: ""
|
|
});
|
|
for (const href of deps.css) reactDomExports.preinit(href, {
|
|
as: "style",
|
|
precedence: assetsManifest.cssLinkPrecedence !== false ? "vite-rsc/client-reference" : void 0
|
|
});
|
|
}
|
|
var server_edge = {};
|
|
var reactDomServer_edge_production = {};
|
|
var hasRequiredReactDomServer_edge_production;
|
|
function requireReactDomServer_edge_production() {
|
|
if (hasRequiredReactDomServer_edge_production) return reactDomServer_edge_production;
|
|
hasRequiredReactDomServer_edge_production = 1;
|
|
const __viteRscAsyncHooks = require$$0;
|
|
globalThis.AsyncLocalStorage = __viteRscAsyncHooks.AsyncLocalStorage;
|
|
var React = requireReact(), ReactDOM = requireReactDom(), REACT_ELEMENT_TYPE = /* @__PURE__ */ Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = /* @__PURE__ */ Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = /* @__PURE__ */ Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = /* @__PURE__ */ Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = /* @__PURE__ */ Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = /* @__PURE__ */ Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = /* @__PURE__ */ Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = /* @__PURE__ */ Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = /* @__PURE__ */ Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = /* @__PURE__ */ Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = /* @__PURE__ */ Symbol.for("react.memo"), REACT_LAZY_TYPE = /* @__PURE__ */ Symbol.for("react.lazy"), REACT_SCOPE_TYPE = /* @__PURE__ */ Symbol.for("react.scope"), REACT_ACTIVITY_TYPE = /* @__PURE__ */ Symbol.for("react.activity"), REACT_LEGACY_HIDDEN_TYPE = /* @__PURE__ */ Symbol.for("react.legacy_hidden"), REACT_MEMO_CACHE_SENTINEL = /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel"), REACT_VIEW_TRANSITION_TYPE = /* @__PURE__ */ Symbol.for("react.view_transition"), MAYBE_ITERATOR_SYMBOL = Symbol.iterator;
|
|
function getIteratorFn(maybeIterable) {
|
|
if (null === maybeIterable || "object" !== typeof maybeIterable) return null;
|
|
maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable["@@iterator"];
|
|
return "function" === typeof maybeIterable ? maybeIterable : null;
|
|
}
|
|
var isArrayImpl = Array.isArray;
|
|
function murmurhash3_32_gc(key, seed) {
|
|
var remainder = key.length & 3;
|
|
var bytes = key.length - remainder;
|
|
var h1 = seed;
|
|
for (seed = 0; seed < bytes; ) {
|
|
var k1 = key.charCodeAt(seed) & 255 | (key.charCodeAt(++seed) & 255) << 8 | (key.charCodeAt(++seed) & 255) << 16 | (key.charCodeAt(++seed) & 255) << 24;
|
|
++seed;
|
|
k1 = 3432918353 * (k1 & 65535) + ((3432918353 * (k1 >>> 16) & 65535) << 16) & 4294967295;
|
|
k1 = k1 << 15 | k1 >>> 17;
|
|
k1 = 461845907 * (k1 & 65535) + ((461845907 * (k1 >>> 16) & 65535) << 16) & 4294967295;
|
|
h1 ^= k1;
|
|
h1 = h1 << 13 | h1 >>> 19;
|
|
h1 = 5 * (h1 & 65535) + ((5 * (h1 >>> 16) & 65535) << 16) & 4294967295;
|
|
h1 = (h1 & 65535) + 27492 + (((h1 >>> 16) + 58964 & 65535) << 16);
|
|
}
|
|
k1 = 0;
|
|
switch (remainder) {
|
|
case 3:
|
|
k1 ^= (key.charCodeAt(seed + 2) & 255) << 16;
|
|
case 2:
|
|
k1 ^= (key.charCodeAt(seed + 1) & 255) << 8;
|
|
case 1:
|
|
k1 ^= key.charCodeAt(seed) & 255, k1 = 3432918353 * (k1 & 65535) + ((3432918353 * (k1 >>> 16) & 65535) << 16) & 4294967295, k1 = k1 << 15 | k1 >>> 17, h1 ^= 461845907 * (k1 & 65535) + ((461845907 * (k1 >>> 16) & 65535) << 16) & 4294967295;
|
|
}
|
|
h1 ^= key.length;
|
|
h1 ^= h1 >>> 16;
|
|
h1 = 2246822507 * (h1 & 65535) + ((2246822507 * (h1 >>> 16) & 65535) << 16) & 4294967295;
|
|
h1 ^= h1 >>> 13;
|
|
h1 = 3266489909 * (h1 & 65535) + ((3266489909 * (h1 >>> 16) & 65535) << 16) & 4294967295;
|
|
return (h1 ^ h1 >>> 16) >>> 0;
|
|
}
|
|
function handleErrorInNextTick(error) {
|
|
setTimeout(function() {
|
|
throw error;
|
|
});
|
|
}
|
|
var LocalPromise = Promise, scheduleMicrotask = "function" === typeof queueMicrotask ? queueMicrotask : function(callback) {
|
|
LocalPromise.resolve(null).then(callback).catch(handleErrorInNextTick);
|
|
}, currentView = null, writtenBytes = 0;
|
|
function writeChunk2(destination, chunk) {
|
|
if (0 !== chunk.byteLength) if (2048 < chunk.byteLength) 0 < writtenBytes && (destination.enqueue(new Uint8Array(currentView.buffer, 0, writtenBytes)), currentView = new Uint8Array(2048), writtenBytes = 0), destination.enqueue(chunk);
|
|
else {
|
|
var allowableBytes = currentView.length - writtenBytes;
|
|
allowableBytes < chunk.byteLength && (0 === allowableBytes ? destination.enqueue(currentView) : (currentView.set(chunk.subarray(0, allowableBytes), writtenBytes), destination.enqueue(currentView), chunk = chunk.subarray(allowableBytes)), currentView = new Uint8Array(2048), writtenBytes = 0);
|
|
currentView.set(chunk, writtenBytes);
|
|
writtenBytes += chunk.byteLength;
|
|
}
|
|
}
|
|
function writeChunkAndReturn(destination, chunk) {
|
|
writeChunk2(destination, chunk);
|
|
return true;
|
|
}
|
|
function completeWriting(destination) {
|
|
currentView && 0 < writtenBytes && (destination.enqueue(new Uint8Array(currentView.buffer, 0, writtenBytes)), currentView = null, writtenBytes = 0);
|
|
}
|
|
var textEncoder = new TextEncoder();
|
|
function stringToChunk(content) {
|
|
return textEncoder.encode(content);
|
|
}
|
|
function stringToPrecomputedChunk(content) {
|
|
return textEncoder.encode(content);
|
|
}
|
|
function byteLengthOfChunk(chunk) {
|
|
return chunk.byteLength;
|
|
}
|
|
function closeWithError(destination, error) {
|
|
"function" === typeof destination.error ? destination.error(error) : destination.close();
|
|
}
|
|
var assign = Object.assign, hasOwnProperty = Object.prototype.hasOwnProperty, VALID_ATTRIBUTE_NAME_REGEX = RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"), illegalAttributeNameCache = {}, validatedAttributeNameCache = {};
|
|
function isAttributeNameSafe(attributeName) {
|
|
if (hasOwnProperty.call(validatedAttributeNameCache, attributeName)) return true;
|
|
if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) return false;
|
|
if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) return validatedAttributeNameCache[attributeName] = true;
|
|
illegalAttributeNameCache[attributeName] = true;
|
|
return false;
|
|
}
|
|
var unitlessNumbers = new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" ")), aliases = /* @__PURE__ */ new Map([
|
|
[
|
|
"acceptCharset",
|
|
"accept-charset"
|
|
],
|
|
[
|
|
"htmlFor",
|
|
"for"
|
|
],
|
|
[
|
|
"httpEquiv",
|
|
"http-equiv"
|
|
],
|
|
[
|
|
"crossOrigin",
|
|
"crossorigin"
|
|
],
|
|
[
|
|
"accentHeight",
|
|
"accent-height"
|
|
],
|
|
[
|
|
"alignmentBaseline",
|
|
"alignment-baseline"
|
|
],
|
|
[
|
|
"arabicForm",
|
|
"arabic-form"
|
|
],
|
|
[
|
|
"baselineShift",
|
|
"baseline-shift"
|
|
],
|
|
[
|
|
"capHeight",
|
|
"cap-height"
|
|
],
|
|
[
|
|
"clipPath",
|
|
"clip-path"
|
|
],
|
|
[
|
|
"clipRule",
|
|
"clip-rule"
|
|
],
|
|
[
|
|
"colorInterpolation",
|
|
"color-interpolation"
|
|
],
|
|
[
|
|
"colorInterpolationFilters",
|
|
"color-interpolation-filters"
|
|
],
|
|
[
|
|
"colorProfile",
|
|
"color-profile"
|
|
],
|
|
[
|
|
"colorRendering",
|
|
"color-rendering"
|
|
],
|
|
[
|
|
"dominantBaseline",
|
|
"dominant-baseline"
|
|
],
|
|
[
|
|
"enableBackground",
|
|
"enable-background"
|
|
],
|
|
[
|
|
"fillOpacity",
|
|
"fill-opacity"
|
|
],
|
|
[
|
|
"fillRule",
|
|
"fill-rule"
|
|
],
|
|
[
|
|
"floodColor",
|
|
"flood-color"
|
|
],
|
|
[
|
|
"floodOpacity",
|
|
"flood-opacity"
|
|
],
|
|
[
|
|
"fontFamily",
|
|
"font-family"
|
|
],
|
|
[
|
|
"fontSize",
|
|
"font-size"
|
|
],
|
|
[
|
|
"fontSizeAdjust",
|
|
"font-size-adjust"
|
|
],
|
|
[
|
|
"fontStretch",
|
|
"font-stretch"
|
|
],
|
|
[
|
|
"fontStyle",
|
|
"font-style"
|
|
],
|
|
[
|
|
"fontVariant",
|
|
"font-variant"
|
|
],
|
|
[
|
|
"fontWeight",
|
|
"font-weight"
|
|
],
|
|
[
|
|
"glyphName",
|
|
"glyph-name"
|
|
],
|
|
[
|
|
"glyphOrientationHorizontal",
|
|
"glyph-orientation-horizontal"
|
|
],
|
|
[
|
|
"glyphOrientationVertical",
|
|
"glyph-orientation-vertical"
|
|
],
|
|
[
|
|
"horizAdvX",
|
|
"horiz-adv-x"
|
|
],
|
|
[
|
|
"horizOriginX",
|
|
"horiz-origin-x"
|
|
],
|
|
[
|
|
"imageRendering",
|
|
"image-rendering"
|
|
],
|
|
[
|
|
"letterSpacing",
|
|
"letter-spacing"
|
|
],
|
|
[
|
|
"lightingColor",
|
|
"lighting-color"
|
|
],
|
|
[
|
|
"markerEnd",
|
|
"marker-end"
|
|
],
|
|
[
|
|
"markerMid",
|
|
"marker-mid"
|
|
],
|
|
[
|
|
"markerStart",
|
|
"marker-start"
|
|
],
|
|
[
|
|
"overlinePosition",
|
|
"overline-position"
|
|
],
|
|
[
|
|
"overlineThickness",
|
|
"overline-thickness"
|
|
],
|
|
[
|
|
"paintOrder",
|
|
"paint-order"
|
|
],
|
|
[
|
|
"panose-1",
|
|
"panose-1"
|
|
],
|
|
[
|
|
"pointerEvents",
|
|
"pointer-events"
|
|
],
|
|
[
|
|
"renderingIntent",
|
|
"rendering-intent"
|
|
],
|
|
[
|
|
"shapeRendering",
|
|
"shape-rendering"
|
|
],
|
|
[
|
|
"stopColor",
|
|
"stop-color"
|
|
],
|
|
[
|
|
"stopOpacity",
|
|
"stop-opacity"
|
|
],
|
|
[
|
|
"strikethroughPosition",
|
|
"strikethrough-position"
|
|
],
|
|
[
|
|
"strikethroughThickness",
|
|
"strikethrough-thickness"
|
|
],
|
|
[
|
|
"strokeDasharray",
|
|
"stroke-dasharray"
|
|
],
|
|
[
|
|
"strokeDashoffset",
|
|
"stroke-dashoffset"
|
|
],
|
|
[
|
|
"strokeLinecap",
|
|
"stroke-linecap"
|
|
],
|
|
[
|
|
"strokeLinejoin",
|
|
"stroke-linejoin"
|
|
],
|
|
[
|
|
"strokeMiterlimit",
|
|
"stroke-miterlimit"
|
|
],
|
|
[
|
|
"strokeOpacity",
|
|
"stroke-opacity"
|
|
],
|
|
[
|
|
"strokeWidth",
|
|
"stroke-width"
|
|
],
|
|
[
|
|
"textAnchor",
|
|
"text-anchor"
|
|
],
|
|
[
|
|
"textDecoration",
|
|
"text-decoration"
|
|
],
|
|
[
|
|
"textRendering",
|
|
"text-rendering"
|
|
],
|
|
[
|
|
"transformOrigin",
|
|
"transform-origin"
|
|
],
|
|
[
|
|
"underlinePosition",
|
|
"underline-position"
|
|
],
|
|
[
|
|
"underlineThickness",
|
|
"underline-thickness"
|
|
],
|
|
[
|
|
"unicodeBidi",
|
|
"unicode-bidi"
|
|
],
|
|
[
|
|
"unicodeRange",
|
|
"unicode-range"
|
|
],
|
|
[
|
|
"unitsPerEm",
|
|
"units-per-em"
|
|
],
|
|
[
|
|
"vAlphabetic",
|
|
"v-alphabetic"
|
|
],
|
|
[
|
|
"vHanging",
|
|
"v-hanging"
|
|
],
|
|
[
|
|
"vIdeographic",
|
|
"v-ideographic"
|
|
],
|
|
[
|
|
"vMathematical",
|
|
"v-mathematical"
|
|
],
|
|
[
|
|
"vectorEffect",
|
|
"vector-effect"
|
|
],
|
|
[
|
|
"vertAdvY",
|
|
"vert-adv-y"
|
|
],
|
|
[
|
|
"vertOriginX",
|
|
"vert-origin-x"
|
|
],
|
|
[
|
|
"vertOriginY",
|
|
"vert-origin-y"
|
|
],
|
|
[
|
|
"wordSpacing",
|
|
"word-spacing"
|
|
],
|
|
[
|
|
"writingMode",
|
|
"writing-mode"
|
|
],
|
|
[
|
|
"xmlnsXlink",
|
|
"xmlns:xlink"
|
|
],
|
|
[
|
|
"xHeight",
|
|
"x-height"
|
|
]
|
|
]), matchHtmlRegExp = /["'&<>]/;
|
|
function escapeTextForBrowser(text) {
|
|
if ("boolean" === typeof text || "number" === typeof text || "bigint" === typeof text) return "" + text;
|
|
text = "" + text;
|
|
var match = matchHtmlRegExp.exec(text);
|
|
if (match) {
|
|
var html = "", index, lastIndex = 0;
|
|
for (index = match.index; index < text.length; index++) {
|
|
switch (text.charCodeAt(index)) {
|
|
case 34:
|
|
match = """;
|
|
break;
|
|
case 38:
|
|
match = "&";
|
|
break;
|
|
case 39:
|
|
match = "'";
|
|
break;
|
|
case 60:
|
|
match = "<";
|
|
break;
|
|
case 62:
|
|
match = ">";
|
|
break;
|
|
default:
|
|
continue;
|
|
}
|
|
lastIndex !== index && (html += text.slice(lastIndex, index));
|
|
lastIndex = index + 1;
|
|
html += match;
|
|
}
|
|
text = lastIndex !== index ? html + text.slice(lastIndex, index) : html;
|
|
}
|
|
return text;
|
|
}
|
|
var uppercasePattern = /([A-Z])/g, msPattern = /^ms-/, isJavaScriptProtocol = /^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;
|
|
function sanitizeURL(url) {
|
|
return isJavaScriptProtocol.test("" + url) ? "javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')" : url;
|
|
}
|
|
var ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, ReactDOMSharedInternals = ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, sharedNotPendingObject = {
|
|
pending: false,
|
|
data: null,
|
|
method: null,
|
|
action: null
|
|
}, previousDispatcher = ReactDOMSharedInternals.d;
|
|
ReactDOMSharedInternals.d = {
|
|
f: previousDispatcher.f,
|
|
r: previousDispatcher.r,
|
|
D: prefetchDNS,
|
|
C: preconnect,
|
|
L: preload,
|
|
m: preloadModule,
|
|
X: preinitScript,
|
|
S: preinitStyle,
|
|
M: preinitModuleScript
|
|
};
|
|
var PRELOAD_NO_CREDS = [], currentlyFlushingRenderState = null;
|
|
stringToPrecomputedChunk('"></template>');
|
|
var startInlineScript = stringToPrecomputedChunk("<script"), endInlineScript = stringToPrecomputedChunk("<\/script>"), startScriptSrc = stringToPrecomputedChunk('<script src="'), startModuleSrc = stringToPrecomputedChunk('<script type="module" src="'), scriptNonce = stringToPrecomputedChunk(' nonce="'), scriptIntegirty = stringToPrecomputedChunk(' integrity="'), scriptCrossOrigin = stringToPrecomputedChunk(' crossorigin="'), endAsyncScript = stringToPrecomputedChunk(' async=""><\/script>'), startInlineStyle = stringToPrecomputedChunk("<style"), scriptRegex = /(<\/|<)(s)(cript)/gi;
|
|
function scriptReplacer(match, prefix3, s, suffix2) {
|
|
return "" + prefix3 + ("s" === s ? "\\u0073" : "\\u0053") + suffix2;
|
|
}
|
|
var importMapScriptStart = stringToPrecomputedChunk('<script type="importmap">'), importMapScriptEnd = stringToPrecomputedChunk("<\/script>");
|
|
function createRenderState(resumableState, nonce, externalRuntimeConfig, importMap, onHeaders, maxHeadersLength) {
|
|
externalRuntimeConfig = "string" === typeof nonce ? nonce : nonce && nonce.script;
|
|
var inlineScriptWithNonce = void 0 === externalRuntimeConfig ? startInlineScript : stringToPrecomputedChunk('<script nonce="' + escapeTextForBrowser(externalRuntimeConfig) + '"'), nonceStyle = "string" === typeof nonce ? void 0 : nonce && nonce.style, inlineStyleWithNonce = void 0 === nonceStyle ? startInlineStyle : stringToPrecomputedChunk('<style nonce="' + escapeTextForBrowser(nonceStyle) + '"'), idPrefix = resumableState.idPrefix, bootstrapChunks = [], bootstrapScriptContent = resumableState.bootstrapScriptContent, bootstrapScripts = resumableState.bootstrapScripts, bootstrapModules = resumableState.bootstrapModules;
|
|
void 0 !== bootstrapScriptContent && (bootstrapChunks.push(inlineScriptWithNonce), pushCompletedShellIdAttribute(bootstrapChunks, resumableState), bootstrapChunks.push(endOfStartTag, stringToChunk(("" + bootstrapScriptContent).replace(scriptRegex, scriptReplacer)), endInlineScript));
|
|
bootstrapScriptContent = [];
|
|
void 0 !== importMap && (bootstrapScriptContent.push(importMapScriptStart), bootstrapScriptContent.push(stringToChunk(("" + JSON.stringify(importMap)).replace(scriptRegex, scriptReplacer))), bootstrapScriptContent.push(importMapScriptEnd));
|
|
importMap = onHeaders ? {
|
|
preconnects: "",
|
|
fontPreloads: "",
|
|
highImagePreloads: "",
|
|
remainingCapacity: 2 + ("number" === typeof maxHeadersLength ? maxHeadersLength : 2e3)
|
|
} : null;
|
|
onHeaders = {
|
|
placeholderPrefix: stringToPrecomputedChunk(idPrefix + "P:"),
|
|
segmentPrefix: stringToPrecomputedChunk(idPrefix + "S:"),
|
|
boundaryPrefix: stringToPrecomputedChunk(idPrefix + "B:"),
|
|
startInlineScript: inlineScriptWithNonce,
|
|
startInlineStyle: inlineStyleWithNonce,
|
|
preamble: createPreambleState(),
|
|
externalRuntimeScript: null,
|
|
bootstrapChunks,
|
|
importMapChunks: bootstrapScriptContent,
|
|
onHeaders,
|
|
headers: importMap,
|
|
resets: {
|
|
font: {},
|
|
dns: {},
|
|
connect: {
|
|
default: {},
|
|
anonymous: {},
|
|
credentials: {}
|
|
},
|
|
image: {},
|
|
style: {}
|
|
},
|
|
charsetChunks: [],
|
|
viewportChunks: [],
|
|
hoistableChunks: [],
|
|
preconnects: /* @__PURE__ */ new Set(),
|
|
fontPreloads: /* @__PURE__ */ new Set(),
|
|
highImagePreloads: /* @__PURE__ */ new Set(),
|
|
styles: /* @__PURE__ */ new Map(),
|
|
bootstrapScripts: /* @__PURE__ */ new Set(),
|
|
scripts: /* @__PURE__ */ new Set(),
|
|
bulkPreloads: /* @__PURE__ */ new Set(),
|
|
preloads: {
|
|
images: /* @__PURE__ */ new Map(),
|
|
stylesheets: /* @__PURE__ */ new Map(),
|
|
scripts: /* @__PURE__ */ new Map(),
|
|
moduleScripts: /* @__PURE__ */ new Map()
|
|
},
|
|
nonce: {
|
|
script: externalRuntimeConfig,
|
|
style: nonceStyle
|
|
},
|
|
hoistableState: null,
|
|
stylesToHoist: false
|
|
};
|
|
if (void 0 !== bootstrapScripts) for (importMap = 0; importMap < bootstrapScripts.length; importMap++) idPrefix = bootstrapScripts[importMap], nonceStyle = inlineScriptWithNonce = void 0, inlineStyleWithNonce = {
|
|
rel: "preload",
|
|
as: "script",
|
|
fetchPriority: "low",
|
|
nonce
|
|
}, "string" === typeof idPrefix ? inlineStyleWithNonce.href = maxHeadersLength = idPrefix : (inlineStyleWithNonce.href = maxHeadersLength = idPrefix.src, inlineStyleWithNonce.integrity = nonceStyle = "string" === typeof idPrefix.integrity ? idPrefix.integrity : void 0, inlineStyleWithNonce.crossOrigin = inlineScriptWithNonce = "string" === typeof idPrefix || null == idPrefix.crossOrigin ? void 0 : "use-credentials" === idPrefix.crossOrigin ? "use-credentials" : ""), idPrefix = resumableState, bootstrapScriptContent = maxHeadersLength, idPrefix.scriptResources[bootstrapScriptContent] = null, idPrefix.moduleScriptResources[bootstrapScriptContent] = null, idPrefix = [], pushLinkImpl(idPrefix, inlineStyleWithNonce), onHeaders.bootstrapScripts.add(idPrefix), bootstrapChunks.push(startScriptSrc, stringToChunk(escapeTextForBrowser(maxHeadersLength)), attributeEnd), externalRuntimeConfig && bootstrapChunks.push(scriptNonce, stringToChunk(escapeTextForBrowser(externalRuntimeConfig)), attributeEnd), "string" === typeof nonceStyle && bootstrapChunks.push(scriptIntegirty, stringToChunk(escapeTextForBrowser(nonceStyle)), attributeEnd), "string" === typeof inlineScriptWithNonce && bootstrapChunks.push(scriptCrossOrigin, stringToChunk(escapeTextForBrowser(inlineScriptWithNonce)), attributeEnd), pushCompletedShellIdAttribute(bootstrapChunks, resumableState), bootstrapChunks.push(endAsyncScript);
|
|
if (void 0 !== bootstrapModules) for (nonce = 0; nonce < bootstrapModules.length; nonce++) nonceStyle = bootstrapModules[nonce], maxHeadersLength = importMap = void 0, inlineScriptWithNonce = {
|
|
rel: "modulepreload",
|
|
fetchPriority: "low",
|
|
nonce: externalRuntimeConfig
|
|
}, "string" === typeof nonceStyle ? inlineScriptWithNonce.href = bootstrapScripts = nonceStyle : (inlineScriptWithNonce.href = bootstrapScripts = nonceStyle.src, inlineScriptWithNonce.integrity = maxHeadersLength = "string" === typeof nonceStyle.integrity ? nonceStyle.integrity : void 0, inlineScriptWithNonce.crossOrigin = importMap = "string" === typeof nonceStyle || null == nonceStyle.crossOrigin ? void 0 : "use-credentials" === nonceStyle.crossOrigin ? "use-credentials" : ""), nonceStyle = resumableState, inlineStyleWithNonce = bootstrapScripts, nonceStyle.scriptResources[inlineStyleWithNonce] = null, nonceStyle.moduleScriptResources[inlineStyleWithNonce] = null, nonceStyle = [], pushLinkImpl(nonceStyle, inlineScriptWithNonce), onHeaders.bootstrapScripts.add(nonceStyle), bootstrapChunks.push(startModuleSrc, stringToChunk(escapeTextForBrowser(bootstrapScripts)), attributeEnd), externalRuntimeConfig && bootstrapChunks.push(scriptNonce, stringToChunk(escapeTextForBrowser(externalRuntimeConfig)), attributeEnd), "string" === typeof maxHeadersLength && bootstrapChunks.push(scriptIntegirty, stringToChunk(escapeTextForBrowser(maxHeadersLength)), attributeEnd), "string" === typeof importMap && bootstrapChunks.push(scriptCrossOrigin, stringToChunk(escapeTextForBrowser(importMap)), attributeEnd), pushCompletedShellIdAttribute(bootstrapChunks, resumableState), bootstrapChunks.push(endAsyncScript);
|
|
return onHeaders;
|
|
}
|
|
function createResumableState(identifierPrefix, externalRuntimeConfig, bootstrapScriptContent, bootstrapScripts, bootstrapModules) {
|
|
return {
|
|
idPrefix: void 0 === identifierPrefix ? "" : identifierPrefix,
|
|
nextFormID: 0,
|
|
streamingFormat: 0,
|
|
bootstrapScriptContent,
|
|
bootstrapScripts,
|
|
bootstrapModules,
|
|
instructions: 0,
|
|
hasBody: false,
|
|
hasHtml: false,
|
|
unknownResources: {},
|
|
dnsResources: {},
|
|
connectResources: {
|
|
default: {},
|
|
anonymous: {},
|
|
credentials: {}
|
|
},
|
|
imageResources: {},
|
|
styleResources: {},
|
|
scriptResources: {},
|
|
moduleUnknownResources: {},
|
|
moduleScriptResources: {}
|
|
};
|
|
}
|
|
function createPreambleState() {
|
|
return {
|
|
htmlChunks: null,
|
|
headChunks: null,
|
|
bodyChunks: null
|
|
};
|
|
}
|
|
function createFormatContext(insertionMode, selectedValue, tagScope, viewTransition) {
|
|
return {
|
|
insertionMode,
|
|
selectedValue,
|
|
tagScope,
|
|
viewTransition
|
|
};
|
|
}
|
|
function createRootFormatContext(namespaceURI) {
|
|
return createFormatContext("http://www.w3.org/2000/svg" === namespaceURI ? 4 : "http://www.w3.org/1998/Math/MathML" === namespaceURI ? 5 : 0, null, 0, null);
|
|
}
|
|
function getChildFormatContext(parentContext, type, props) {
|
|
var subtreeScope = parentContext.tagScope & -25;
|
|
switch (type) {
|
|
case "noscript":
|
|
return createFormatContext(2, null, subtreeScope | 1, null);
|
|
case "select":
|
|
return createFormatContext(2, null != props.value ? props.value : props.defaultValue, subtreeScope, null);
|
|
case "svg":
|
|
return createFormatContext(4, null, subtreeScope, null);
|
|
case "picture":
|
|
return createFormatContext(2, null, subtreeScope | 2, null);
|
|
case "math":
|
|
return createFormatContext(5, null, subtreeScope, null);
|
|
case "foreignObject":
|
|
return createFormatContext(2, null, subtreeScope, null);
|
|
case "table":
|
|
return createFormatContext(6, null, subtreeScope, null);
|
|
case "thead":
|
|
case "tbody":
|
|
case "tfoot":
|
|
return createFormatContext(7, null, subtreeScope, null);
|
|
case "colgroup":
|
|
return createFormatContext(9, null, subtreeScope, null);
|
|
case "tr":
|
|
return createFormatContext(8, null, subtreeScope, null);
|
|
case "head":
|
|
if (2 > parentContext.insertionMode) return createFormatContext(3, null, subtreeScope, null);
|
|
break;
|
|
case "html":
|
|
if (0 === parentContext.insertionMode) return createFormatContext(1, null, subtreeScope, null);
|
|
}
|
|
return 6 <= parentContext.insertionMode || 2 > parentContext.insertionMode ? createFormatContext(2, null, subtreeScope, null) : parentContext.tagScope !== subtreeScope ? createFormatContext(parentContext.insertionMode, parentContext.selectedValue, subtreeScope, null) : parentContext;
|
|
}
|
|
function getSuspenseViewTransition(parentViewTransition) {
|
|
return null === parentViewTransition ? null : {
|
|
update: parentViewTransition.update,
|
|
enter: "none",
|
|
exit: "none",
|
|
share: parentViewTransition.update,
|
|
name: parentViewTransition.autoName,
|
|
autoName: parentViewTransition.autoName,
|
|
nameIdx: 0
|
|
};
|
|
}
|
|
function getSuspenseFallbackFormatContext(resumableState, parentContext) {
|
|
parentContext.tagScope & 32 && (resumableState.instructions |= 128);
|
|
return createFormatContext(parentContext.insertionMode, parentContext.selectedValue, parentContext.tagScope | 12, getSuspenseViewTransition(parentContext.viewTransition));
|
|
}
|
|
function getSuspenseContentFormatContext(resumableState, parentContext) {
|
|
resumableState = getSuspenseViewTransition(parentContext.viewTransition);
|
|
var subtreeScope = parentContext.tagScope | 16;
|
|
null !== resumableState && "none" !== resumableState.share && (subtreeScope |= 64);
|
|
return createFormatContext(parentContext.insertionMode, parentContext.selectedValue, subtreeScope, resumableState);
|
|
}
|
|
var textSeparator = stringToPrecomputedChunk("<!-- -->");
|
|
function pushTextInstance(target, text, renderState, textEmbedded) {
|
|
if ("" === text) return textEmbedded;
|
|
textEmbedded && target.push(textSeparator);
|
|
target.push(stringToChunk(escapeTextForBrowser(text)));
|
|
return true;
|
|
}
|
|
var styleNameCache = /* @__PURE__ */ new Map(), styleAttributeStart = stringToPrecomputedChunk(' style="'), styleAssign = stringToPrecomputedChunk(":"), styleSeparator = stringToPrecomputedChunk(";");
|
|
function pushStyleAttribute(target, style) {
|
|
if ("object" !== typeof style) throw Error("The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX.");
|
|
var isFirst = true, styleName;
|
|
for (styleName in style) if (hasOwnProperty.call(style, styleName)) {
|
|
var styleValue = style[styleName];
|
|
if (null != styleValue && "boolean" !== typeof styleValue && "" !== styleValue) {
|
|
if (0 === styleName.indexOf("--")) {
|
|
var nameChunk = stringToChunk(escapeTextForBrowser(styleName));
|
|
styleValue = stringToChunk(escapeTextForBrowser(("" + styleValue).trim()));
|
|
} else nameChunk = styleNameCache.get(styleName), void 0 === nameChunk && (nameChunk = stringToPrecomputedChunk(escapeTextForBrowser(styleName.replace(uppercasePattern, "-$1").toLowerCase().replace(msPattern, "-ms-"))), styleNameCache.set(styleName, nameChunk)), styleValue = "number" === typeof styleValue ? 0 === styleValue || unitlessNumbers.has(styleName) ? stringToChunk("" + styleValue) : stringToChunk(styleValue + "px") : stringToChunk(escapeTextForBrowser(("" + styleValue).trim()));
|
|
isFirst ? (isFirst = false, target.push(styleAttributeStart, nameChunk, styleAssign, styleValue)) : target.push(styleSeparator, nameChunk, styleAssign, styleValue);
|
|
}
|
|
}
|
|
isFirst || target.push(attributeEnd);
|
|
}
|
|
var attributeSeparator = stringToPrecomputedChunk(" "), attributeAssign = stringToPrecomputedChunk('="'), attributeEnd = stringToPrecomputedChunk('"'), attributeEmptyString = stringToPrecomputedChunk('=""');
|
|
function pushBooleanAttribute(target, name, value) {
|
|
value && "function" !== typeof value && "symbol" !== typeof value && target.push(attributeSeparator, stringToChunk(name), attributeEmptyString);
|
|
}
|
|
function pushStringAttribute(target, name, value) {
|
|
"function" !== typeof value && "symbol" !== typeof value && "boolean" !== typeof value && target.push(attributeSeparator, stringToChunk(name), attributeAssign, stringToChunk(escapeTextForBrowser(value)), attributeEnd);
|
|
}
|
|
var actionJavaScriptURL = stringToPrecomputedChunk(escapeTextForBrowser("javascript:throw new Error('React form unexpectedly submitted.')")), startHiddenInputChunk = stringToPrecomputedChunk('<input type="hidden"');
|
|
function pushAdditionalFormField(value, key) {
|
|
this.push(startHiddenInputChunk);
|
|
validateAdditionalFormField(value);
|
|
pushStringAttribute(this, "name", key);
|
|
pushStringAttribute(this, "value", value);
|
|
this.push(endOfStartTagSelfClosing);
|
|
}
|
|
function validateAdditionalFormField(value) {
|
|
if ("string" !== typeof value) throw Error("File/Blob fields are not yet supported in progressive forms. Will fallback to client hydration.");
|
|
}
|
|
function getCustomFormFields(resumableState, formAction) {
|
|
if ("function" === typeof formAction.$$FORM_ACTION) {
|
|
var id = resumableState.nextFormID++;
|
|
resumableState = resumableState.idPrefix + id;
|
|
try {
|
|
var customFields = formAction.$$FORM_ACTION(resumableState);
|
|
if (customFields) {
|
|
var formData = customFields.data;
|
|
null != formData && formData.forEach(validateAdditionalFormField);
|
|
}
|
|
return customFields;
|
|
} catch (x) {
|
|
if ("object" === typeof x && null !== x && "function" === typeof x.then) throw x;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
function pushFormActionAttribute(target, resumableState, renderState, formAction, formEncType, formMethod, formTarget, name) {
|
|
var formData = null;
|
|
if ("function" === typeof formAction) {
|
|
var customFields = getCustomFormFields(resumableState, formAction);
|
|
null !== customFields ? (name = customFields.name, formAction = customFields.action || "", formEncType = customFields.encType, formMethod = customFields.method, formTarget = customFields.target, formData = customFields.data) : (target.push(attributeSeparator, stringToChunk("formAction"), attributeAssign, actionJavaScriptURL, attributeEnd), formTarget = formMethod = formEncType = formAction = name = null, injectFormReplayingRuntime(resumableState, renderState));
|
|
}
|
|
null != name && pushAttribute(target, "name", name);
|
|
null != formAction && pushAttribute(target, "formAction", formAction);
|
|
null != formEncType && pushAttribute(target, "formEncType", formEncType);
|
|
null != formMethod && pushAttribute(target, "formMethod", formMethod);
|
|
null != formTarget && pushAttribute(target, "formTarget", formTarget);
|
|
return formData;
|
|
}
|
|
function pushAttribute(target, name, value) {
|
|
switch (name) {
|
|
case "className":
|
|
pushStringAttribute(target, "class", value);
|
|
break;
|
|
case "tabIndex":
|
|
pushStringAttribute(target, "tabindex", value);
|
|
break;
|
|
case "dir":
|
|
case "role":
|
|
case "viewBox":
|
|
case "width":
|
|
case "height":
|
|
pushStringAttribute(target, name, value);
|
|
break;
|
|
case "style":
|
|
pushStyleAttribute(target, value);
|
|
break;
|
|
case "src":
|
|
case "href":
|
|
if ("" === value) break;
|
|
case "action":
|
|
case "formAction":
|
|
if (null == value || "function" === typeof value || "symbol" === typeof value || "boolean" === typeof value) break;
|
|
value = sanitizeURL("" + value);
|
|
target.push(attributeSeparator, stringToChunk(name), attributeAssign, stringToChunk(escapeTextForBrowser(value)), attributeEnd);
|
|
break;
|
|
case "defaultValue":
|
|
case "defaultChecked":
|
|
case "innerHTML":
|
|
case "suppressContentEditableWarning":
|
|
case "suppressHydrationWarning":
|
|
case "ref":
|
|
break;
|
|
case "autoFocus":
|
|
case "multiple":
|
|
case "muted":
|
|
pushBooleanAttribute(target, name.toLowerCase(), value);
|
|
break;
|
|
case "xlinkHref":
|
|
if ("function" === typeof value || "symbol" === typeof value || "boolean" === typeof value) break;
|
|
value = sanitizeURL("" + value);
|
|
target.push(attributeSeparator, stringToChunk("xlink:href"), attributeAssign, stringToChunk(escapeTextForBrowser(value)), attributeEnd);
|
|
break;
|
|
case "contentEditable":
|
|
case "spellCheck":
|
|
case "draggable":
|
|
case "value":
|
|
case "autoReverse":
|
|
case "externalResourcesRequired":
|
|
case "focusable":
|
|
case "preserveAlpha":
|
|
"function" !== typeof value && "symbol" !== typeof value && target.push(attributeSeparator, stringToChunk(name), attributeAssign, stringToChunk(escapeTextForBrowser(value)), attributeEnd);
|
|
break;
|
|
case "inert":
|
|
case "allowFullScreen":
|
|
case "async":
|
|
case "autoPlay":
|
|
case "controls":
|
|
case "default":
|
|
case "defer":
|
|
case "disabled":
|
|
case "disablePictureInPicture":
|
|
case "disableRemotePlayback":
|
|
case "formNoValidate":
|
|
case "hidden":
|
|
case "loop":
|
|
case "noModule":
|
|
case "noValidate":
|
|
case "open":
|
|
case "playsInline":
|
|
case "readOnly":
|
|
case "required":
|
|
case "reversed":
|
|
case "scoped":
|
|
case "seamless":
|
|
case "itemScope":
|
|
value && "function" !== typeof value && "symbol" !== typeof value && target.push(attributeSeparator, stringToChunk(name), attributeEmptyString);
|
|
break;
|
|
case "capture":
|
|
case "download":
|
|
true === value ? target.push(attributeSeparator, stringToChunk(name), attributeEmptyString) : false !== value && "function" !== typeof value && "symbol" !== typeof value && target.push(attributeSeparator, stringToChunk(name), attributeAssign, stringToChunk(escapeTextForBrowser(value)), attributeEnd);
|
|
break;
|
|
case "cols":
|
|
case "rows":
|
|
case "size":
|
|
case "span":
|
|
"function" !== typeof value && "symbol" !== typeof value && !isNaN(value) && 1 <= value && target.push(attributeSeparator, stringToChunk(name), attributeAssign, stringToChunk(escapeTextForBrowser(value)), attributeEnd);
|
|
break;
|
|
case "rowSpan":
|
|
case "start":
|
|
"function" === typeof value || "symbol" === typeof value || isNaN(value) || target.push(attributeSeparator, stringToChunk(name), attributeAssign, stringToChunk(escapeTextForBrowser(value)), attributeEnd);
|
|
break;
|
|
case "xlinkActuate":
|
|
pushStringAttribute(target, "xlink:actuate", value);
|
|
break;
|
|
case "xlinkArcrole":
|
|
pushStringAttribute(target, "xlink:arcrole", value);
|
|
break;
|
|
case "xlinkRole":
|
|
pushStringAttribute(target, "xlink:role", value);
|
|
break;
|
|
case "xlinkShow":
|
|
pushStringAttribute(target, "xlink:show", value);
|
|
break;
|
|
case "xlinkTitle":
|
|
pushStringAttribute(target, "xlink:title", value);
|
|
break;
|
|
case "xlinkType":
|
|
pushStringAttribute(target, "xlink:type", value);
|
|
break;
|
|
case "xmlBase":
|
|
pushStringAttribute(target, "xml:base", value);
|
|
break;
|
|
case "xmlLang":
|
|
pushStringAttribute(target, "xml:lang", value);
|
|
break;
|
|
case "xmlSpace":
|
|
pushStringAttribute(target, "xml:space", value);
|
|
break;
|
|
default:
|
|
if (!(2 < name.length) || "o" !== name[0] && "O" !== name[0] || "n" !== name[1] && "N" !== name[1]) {
|
|
if (name = aliases.get(name) || name, isAttributeNameSafe(name)) {
|
|
switch (typeof value) {
|
|
case "function":
|
|
case "symbol":
|
|
return;
|
|
case "boolean":
|
|
var prefix$8 = name.toLowerCase().slice(0, 5);
|
|
if ("data-" !== prefix$8 && "aria-" !== prefix$8) return;
|
|
}
|
|
target.push(attributeSeparator, stringToChunk(name), attributeAssign, stringToChunk(escapeTextForBrowser(value)), attributeEnd);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
var endOfStartTag = stringToPrecomputedChunk(">"), endOfStartTagSelfClosing = stringToPrecomputedChunk("/>");
|
|
function pushInnerHTML(target, innerHTML, children) {
|
|
if (null != innerHTML) {
|
|
if (null != children) throw Error("Can only set one of `children` or `props.dangerouslySetInnerHTML`.");
|
|
if ("object" !== typeof innerHTML || !("__html" in innerHTML)) throw Error("`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://react.dev/link/dangerously-set-inner-html for more information.");
|
|
innerHTML = innerHTML.__html;
|
|
null !== innerHTML && void 0 !== innerHTML && target.push(stringToChunk("" + innerHTML));
|
|
}
|
|
}
|
|
function flattenOptionChildren(children) {
|
|
var content = "";
|
|
React.Children.forEach(children, function(child) {
|
|
null != child && (content += child);
|
|
});
|
|
return content;
|
|
}
|
|
var selectedMarkerAttribute = stringToPrecomputedChunk(' selected=""'), formReplayingRuntimeScript = stringToPrecomputedChunk(`addEventListener("submit",function(a){if(!a.defaultPrevented){var c=a.target,d=a.submitter,e=c.action,b=d;if(d){var f=d.getAttribute("formAction");null!=f&&(e=f,b=null)}"javascript:throw new Error('React form unexpectedly submitted.')"===e&&(a.preventDefault(),b?(a=document.createElement("input"),a.name=b.name,a.value=b.value,b.parentNode.insertBefore(a,b),b=new FormData(c),a.parentNode.removeChild(a)):b=new FormData(c),a=c.ownerDocument||c,(a.$$reactFormReplay=a.$$reactFormReplay||[]).push(c,d,b))}});`);
|
|
function injectFormReplayingRuntime(resumableState, renderState) {
|
|
if (0 === (resumableState.instructions & 16)) {
|
|
resumableState.instructions |= 16;
|
|
var preamble = renderState.preamble, bootstrapChunks = renderState.bootstrapChunks;
|
|
(preamble.htmlChunks || preamble.headChunks) && 0 === bootstrapChunks.length ? (bootstrapChunks.push(renderState.startInlineScript), pushCompletedShellIdAttribute(bootstrapChunks, resumableState), bootstrapChunks.push(endOfStartTag, formReplayingRuntimeScript, endInlineScript)) : bootstrapChunks.unshift(renderState.startInlineScript, endOfStartTag, formReplayingRuntimeScript, endInlineScript);
|
|
}
|
|
}
|
|
var formStateMarkerIsMatching = stringToPrecomputedChunk("<!--F!-->"), formStateMarkerIsNotMatching = stringToPrecomputedChunk("<!--F-->");
|
|
function pushLinkImpl(target, props) {
|
|
target.push(startChunkForTag("link"));
|
|
for (var propKey in props) if (hasOwnProperty.call(props, propKey)) {
|
|
var propValue = props[propKey];
|
|
if (null != propValue) switch (propKey) {
|
|
case "children":
|
|
case "dangerouslySetInnerHTML":
|
|
throw Error("link is a self-closing tag and must neither have `children` nor use `dangerouslySetInnerHTML`.");
|
|
default:
|
|
pushAttribute(target, propKey, propValue);
|
|
}
|
|
}
|
|
target.push(endOfStartTagSelfClosing);
|
|
return null;
|
|
}
|
|
var styleRegex = /(<\/|<)(s)(tyle)/gi;
|
|
function styleReplacer(match, prefix3, s, suffix2) {
|
|
return "" + prefix3 + ("s" === s ? "\\73 " : "\\53 ") + suffix2;
|
|
}
|
|
function pushSelfClosing(target, props, tag) {
|
|
target.push(startChunkForTag(tag));
|
|
for (var propKey in props) if (hasOwnProperty.call(props, propKey)) {
|
|
var propValue = props[propKey];
|
|
if (null != propValue) switch (propKey) {
|
|
case "children":
|
|
case "dangerouslySetInnerHTML":
|
|
throw Error(tag + " is a self-closing tag and must neither have `children` nor use `dangerouslySetInnerHTML`.");
|
|
default:
|
|
pushAttribute(target, propKey, propValue);
|
|
}
|
|
}
|
|
target.push(endOfStartTagSelfClosing);
|
|
return null;
|
|
}
|
|
function pushTitleImpl(target, props) {
|
|
target.push(startChunkForTag("title"));
|
|
var children = null, innerHTML = null, propKey;
|
|
for (propKey in props) if (hasOwnProperty.call(props, propKey)) {
|
|
var propValue = props[propKey];
|
|
if (null != propValue) switch (propKey) {
|
|
case "children":
|
|
children = propValue;
|
|
break;
|
|
case "dangerouslySetInnerHTML":
|
|
innerHTML = propValue;
|
|
break;
|
|
default:
|
|
pushAttribute(target, propKey, propValue);
|
|
}
|
|
}
|
|
target.push(endOfStartTag);
|
|
props = Array.isArray(children) ? 2 > children.length ? children[0] : null : children;
|
|
"function" !== typeof props && "symbol" !== typeof props && null !== props && void 0 !== props && target.push(stringToChunk(escapeTextForBrowser("" + props)));
|
|
pushInnerHTML(target, innerHTML, children);
|
|
target.push(endChunkForTag("title"));
|
|
return null;
|
|
}
|
|
var headPreambleContributionChunk = stringToPrecomputedChunk("<!--head-->"), bodyPreambleContributionChunk = stringToPrecomputedChunk("<!--body-->"), htmlPreambleContributionChunk = stringToPrecomputedChunk("<!--html-->");
|
|
function pushScriptImpl(target, props) {
|
|
target.push(startChunkForTag("script"));
|
|
var children = null, innerHTML = null, propKey;
|
|
for (propKey in props) if (hasOwnProperty.call(props, propKey)) {
|
|
var propValue = props[propKey];
|
|
if (null != propValue) switch (propKey) {
|
|
case "children":
|
|
children = propValue;
|
|
break;
|
|
case "dangerouslySetInnerHTML":
|
|
innerHTML = propValue;
|
|
break;
|
|
default:
|
|
pushAttribute(target, propKey, propValue);
|
|
}
|
|
}
|
|
target.push(endOfStartTag);
|
|
pushInnerHTML(target, innerHTML, children);
|
|
"string" === typeof children && target.push(stringToChunk(("" + children).replace(scriptRegex, scriptReplacer)));
|
|
target.push(endChunkForTag("script"));
|
|
return null;
|
|
}
|
|
function pushStartSingletonElement(target, props, tag) {
|
|
target.push(startChunkForTag(tag));
|
|
var innerHTML = tag = null, propKey;
|
|
for (propKey in props) if (hasOwnProperty.call(props, propKey)) {
|
|
var propValue = props[propKey];
|
|
if (null != propValue) switch (propKey) {
|
|
case "children":
|
|
tag = propValue;
|
|
break;
|
|
case "dangerouslySetInnerHTML":
|
|
innerHTML = propValue;
|
|
break;
|
|
default:
|
|
pushAttribute(target, propKey, propValue);
|
|
}
|
|
}
|
|
target.push(endOfStartTag);
|
|
pushInnerHTML(target, innerHTML, tag);
|
|
return tag;
|
|
}
|
|
function pushStartGenericElement(target, props, tag) {
|
|
target.push(startChunkForTag(tag));
|
|
var innerHTML = tag = null, propKey;
|
|
for (propKey in props) if (hasOwnProperty.call(props, propKey)) {
|
|
var propValue = props[propKey];
|
|
if (null != propValue) switch (propKey) {
|
|
case "children":
|
|
tag = propValue;
|
|
break;
|
|
case "dangerouslySetInnerHTML":
|
|
innerHTML = propValue;
|
|
break;
|
|
default:
|
|
pushAttribute(target, propKey, propValue);
|
|
}
|
|
}
|
|
target.push(endOfStartTag);
|
|
pushInnerHTML(target, innerHTML, tag);
|
|
return "string" === typeof tag ? (target.push(stringToChunk(escapeTextForBrowser(tag))), null) : tag;
|
|
}
|
|
var leadingNewline = stringToPrecomputedChunk("\n"), VALID_TAG_REGEX = /^[a-zA-Z][a-zA-Z:_\.\-\d]*$/, validatedTagCache = /* @__PURE__ */ new Map();
|
|
function startChunkForTag(tag) {
|
|
var tagStartChunk = validatedTagCache.get(tag);
|
|
if (void 0 === tagStartChunk) {
|
|
if (!VALID_TAG_REGEX.test(tag)) throw Error("Invalid tag: " + tag);
|
|
tagStartChunk = stringToPrecomputedChunk("<" + tag);
|
|
validatedTagCache.set(tag, tagStartChunk);
|
|
}
|
|
return tagStartChunk;
|
|
}
|
|
var doctypeChunk = stringToPrecomputedChunk("<!DOCTYPE html>");
|
|
function pushStartInstance(target$jscomp$0, type, props, resumableState, renderState, preambleState, hoistableState, formatContext, textEmbedded) {
|
|
switch (type) {
|
|
case "div":
|
|
case "span":
|
|
case "svg":
|
|
case "path":
|
|
break;
|
|
case "a":
|
|
target$jscomp$0.push(startChunkForTag("a"));
|
|
var children = null, innerHTML = null, propKey;
|
|
for (propKey in props) if (hasOwnProperty.call(props, propKey)) {
|
|
var propValue = props[propKey];
|
|
if (null != propValue) switch (propKey) {
|
|
case "children":
|
|
children = propValue;
|
|
break;
|
|
case "dangerouslySetInnerHTML":
|
|
innerHTML = propValue;
|
|
break;
|
|
case "href":
|
|
"" === propValue ? pushStringAttribute(target$jscomp$0, "href", "") : pushAttribute(target$jscomp$0, propKey, propValue);
|
|
break;
|
|
default:
|
|
pushAttribute(target$jscomp$0, propKey, propValue);
|
|
}
|
|
}
|
|
target$jscomp$0.push(endOfStartTag);
|
|
pushInnerHTML(target$jscomp$0, innerHTML, children);
|
|
if ("string" === typeof children) {
|
|
target$jscomp$0.push(stringToChunk(escapeTextForBrowser(children)));
|
|
var JSCompiler_inline_result = null;
|
|
} else JSCompiler_inline_result = children;
|
|
return JSCompiler_inline_result;
|
|
case "g":
|
|
case "p":
|
|
case "li":
|
|
break;
|
|
case "select":
|
|
target$jscomp$0.push(startChunkForTag("select"));
|
|
var children$jscomp$0 = null, innerHTML$jscomp$0 = null, propKey$jscomp$0;
|
|
for (propKey$jscomp$0 in props) if (hasOwnProperty.call(props, propKey$jscomp$0)) {
|
|
var propValue$jscomp$0 = props[propKey$jscomp$0];
|
|
if (null != propValue$jscomp$0) switch (propKey$jscomp$0) {
|
|
case "children":
|
|
children$jscomp$0 = propValue$jscomp$0;
|
|
break;
|
|
case "dangerouslySetInnerHTML":
|
|
innerHTML$jscomp$0 = propValue$jscomp$0;
|
|
break;
|
|
case "defaultValue":
|
|
case "value":
|
|
break;
|
|
default:
|
|
pushAttribute(target$jscomp$0, propKey$jscomp$0, propValue$jscomp$0);
|
|
}
|
|
}
|
|
target$jscomp$0.push(endOfStartTag);
|
|
pushInnerHTML(target$jscomp$0, innerHTML$jscomp$0, children$jscomp$0);
|
|
return children$jscomp$0;
|
|
case "option":
|
|
var selectedValue = formatContext.selectedValue;
|
|
target$jscomp$0.push(startChunkForTag("option"));
|
|
var children$jscomp$1 = null, value = null, selected = null, innerHTML$jscomp$1 = null, propKey$jscomp$1;
|
|
for (propKey$jscomp$1 in props) if (hasOwnProperty.call(props, propKey$jscomp$1)) {
|
|
var propValue$jscomp$1 = props[propKey$jscomp$1];
|
|
if (null != propValue$jscomp$1) switch (propKey$jscomp$1) {
|
|
case "children":
|
|
children$jscomp$1 = propValue$jscomp$1;
|
|
break;
|
|
case "selected":
|
|
selected = propValue$jscomp$1;
|
|
break;
|
|
case "dangerouslySetInnerHTML":
|
|
innerHTML$jscomp$1 = propValue$jscomp$1;
|
|
break;
|
|
case "value":
|
|
value = propValue$jscomp$1;
|
|
default:
|
|
pushAttribute(target$jscomp$0, propKey$jscomp$1, propValue$jscomp$1);
|
|
}
|
|
}
|
|
if (null != selectedValue) {
|
|
var stringValue = null !== value ? "" + value : flattenOptionChildren(children$jscomp$1);
|
|
if (isArrayImpl(selectedValue)) for (var i = 0; i < selectedValue.length; i++) {
|
|
if ("" + selectedValue[i] === stringValue) {
|
|
target$jscomp$0.push(selectedMarkerAttribute);
|
|
break;
|
|
}
|
|
}
|
|
else "" + selectedValue === stringValue && target$jscomp$0.push(selectedMarkerAttribute);
|
|
} else selected && target$jscomp$0.push(selectedMarkerAttribute);
|
|
target$jscomp$0.push(endOfStartTag);
|
|
pushInnerHTML(target$jscomp$0, innerHTML$jscomp$1, children$jscomp$1);
|
|
return children$jscomp$1;
|
|
case "textarea":
|
|
target$jscomp$0.push(startChunkForTag("textarea"));
|
|
var value$jscomp$0 = null, defaultValue = null, children$jscomp$2 = null, propKey$jscomp$2;
|
|
for (propKey$jscomp$2 in props) if (hasOwnProperty.call(props, propKey$jscomp$2)) {
|
|
var propValue$jscomp$2 = props[propKey$jscomp$2];
|
|
if (null != propValue$jscomp$2) switch (propKey$jscomp$2) {
|
|
case "children":
|
|
children$jscomp$2 = propValue$jscomp$2;
|
|
break;
|
|
case "value":
|
|
value$jscomp$0 = propValue$jscomp$2;
|
|
break;
|
|
case "defaultValue":
|
|
defaultValue = propValue$jscomp$2;
|
|
break;
|
|
case "dangerouslySetInnerHTML":
|
|
throw Error("`dangerouslySetInnerHTML` does not make sense on <textarea>.");
|
|
default:
|
|
pushAttribute(target$jscomp$0, propKey$jscomp$2, propValue$jscomp$2);
|
|
}
|
|
}
|
|
null === value$jscomp$0 && null !== defaultValue && (value$jscomp$0 = defaultValue);
|
|
target$jscomp$0.push(endOfStartTag);
|
|
if (null != children$jscomp$2) {
|
|
if (null != value$jscomp$0) throw Error("If you supply `defaultValue` on a <textarea>, do not pass children.");
|
|
if (isArrayImpl(children$jscomp$2)) {
|
|
if (1 < children$jscomp$2.length) throw Error("<textarea> can only have at most one child.");
|
|
value$jscomp$0 = "" + children$jscomp$2[0];
|
|
}
|
|
value$jscomp$0 = "" + children$jscomp$2;
|
|
}
|
|
"string" === typeof value$jscomp$0 && "\n" === value$jscomp$0[0] && target$jscomp$0.push(leadingNewline);
|
|
null !== value$jscomp$0 && target$jscomp$0.push(stringToChunk(escapeTextForBrowser("" + value$jscomp$0)));
|
|
return null;
|
|
case "input":
|
|
target$jscomp$0.push(startChunkForTag("input"));
|
|
var name = null, formAction = null, formEncType = null, formMethod = null, formTarget = null, value$jscomp$1 = null, defaultValue$jscomp$0 = null, checked = null, defaultChecked = null, propKey$jscomp$3;
|
|
for (propKey$jscomp$3 in props) if (hasOwnProperty.call(props, propKey$jscomp$3)) {
|
|
var propValue$jscomp$3 = props[propKey$jscomp$3];
|
|
if (null != propValue$jscomp$3) switch (propKey$jscomp$3) {
|
|
case "children":
|
|
case "dangerouslySetInnerHTML":
|
|
throw Error("input is a self-closing tag and must neither have `children` nor use `dangerouslySetInnerHTML`.");
|
|
case "name":
|
|
name = propValue$jscomp$3;
|
|
break;
|
|
case "formAction":
|
|
formAction = propValue$jscomp$3;
|
|
break;
|
|
case "formEncType":
|
|
formEncType = propValue$jscomp$3;
|
|
break;
|
|
case "formMethod":
|
|
formMethod = propValue$jscomp$3;
|
|
break;
|
|
case "formTarget":
|
|
formTarget = propValue$jscomp$3;
|
|
break;
|
|
case "defaultChecked":
|
|
defaultChecked = propValue$jscomp$3;
|
|
break;
|
|
case "defaultValue":
|
|
defaultValue$jscomp$0 = propValue$jscomp$3;
|
|
break;
|
|
case "checked":
|
|
checked = propValue$jscomp$3;
|
|
break;
|
|
case "value":
|
|
value$jscomp$1 = propValue$jscomp$3;
|
|
break;
|
|
default:
|
|
pushAttribute(target$jscomp$0, propKey$jscomp$3, propValue$jscomp$3);
|
|
}
|
|
}
|
|
var formData = pushFormActionAttribute(target$jscomp$0, resumableState, renderState, formAction, formEncType, formMethod, formTarget, name);
|
|
null !== checked ? pushBooleanAttribute(target$jscomp$0, "checked", checked) : null !== defaultChecked && pushBooleanAttribute(target$jscomp$0, "checked", defaultChecked);
|
|
null !== value$jscomp$1 ? pushAttribute(target$jscomp$0, "value", value$jscomp$1) : null !== defaultValue$jscomp$0 && pushAttribute(target$jscomp$0, "value", defaultValue$jscomp$0);
|
|
target$jscomp$0.push(endOfStartTagSelfClosing);
|
|
null != formData && formData.forEach(pushAdditionalFormField, target$jscomp$0);
|
|
return null;
|
|
case "button":
|
|
target$jscomp$0.push(startChunkForTag("button"));
|
|
var children$jscomp$3 = null, innerHTML$jscomp$2 = null, name$jscomp$0 = null, formAction$jscomp$0 = null, formEncType$jscomp$0 = null, formMethod$jscomp$0 = null, formTarget$jscomp$0 = null, propKey$jscomp$4;
|
|
for (propKey$jscomp$4 in props) if (hasOwnProperty.call(props, propKey$jscomp$4)) {
|
|
var propValue$jscomp$4 = props[propKey$jscomp$4];
|
|
if (null != propValue$jscomp$4) switch (propKey$jscomp$4) {
|
|
case "children":
|
|
children$jscomp$3 = propValue$jscomp$4;
|
|
break;
|
|
case "dangerouslySetInnerHTML":
|
|
innerHTML$jscomp$2 = propValue$jscomp$4;
|
|
break;
|
|
case "name":
|
|
name$jscomp$0 = propValue$jscomp$4;
|
|
break;
|
|
case "formAction":
|
|
formAction$jscomp$0 = propValue$jscomp$4;
|
|
break;
|
|
case "formEncType":
|
|
formEncType$jscomp$0 = propValue$jscomp$4;
|
|
break;
|
|
case "formMethod":
|
|
formMethod$jscomp$0 = propValue$jscomp$4;
|
|
break;
|
|
case "formTarget":
|
|
formTarget$jscomp$0 = propValue$jscomp$4;
|
|
break;
|
|
default:
|
|
pushAttribute(target$jscomp$0, propKey$jscomp$4, propValue$jscomp$4);
|
|
}
|
|
}
|
|
var formData$jscomp$0 = pushFormActionAttribute(target$jscomp$0, resumableState, renderState, formAction$jscomp$0, formEncType$jscomp$0, formMethod$jscomp$0, formTarget$jscomp$0, name$jscomp$0);
|
|
target$jscomp$0.push(endOfStartTag);
|
|
null != formData$jscomp$0 && formData$jscomp$0.forEach(pushAdditionalFormField, target$jscomp$0);
|
|
pushInnerHTML(target$jscomp$0, innerHTML$jscomp$2, children$jscomp$3);
|
|
if ("string" === typeof children$jscomp$3) {
|
|
target$jscomp$0.push(stringToChunk(escapeTextForBrowser(children$jscomp$3)));
|
|
var JSCompiler_inline_result$jscomp$0 = null;
|
|
} else JSCompiler_inline_result$jscomp$0 = children$jscomp$3;
|
|
return JSCompiler_inline_result$jscomp$0;
|
|
case "form":
|
|
target$jscomp$0.push(startChunkForTag("form"));
|
|
var children$jscomp$4 = null, innerHTML$jscomp$3 = null, formAction$jscomp$1 = null, formEncType$jscomp$1 = null, formMethod$jscomp$1 = null, formTarget$jscomp$1 = null, propKey$jscomp$5;
|
|
for (propKey$jscomp$5 in props) if (hasOwnProperty.call(props, propKey$jscomp$5)) {
|
|
var propValue$jscomp$5 = props[propKey$jscomp$5];
|
|
if (null != propValue$jscomp$5) switch (propKey$jscomp$5) {
|
|
case "children":
|
|
children$jscomp$4 = propValue$jscomp$5;
|
|
break;
|
|
case "dangerouslySetInnerHTML":
|
|
innerHTML$jscomp$3 = propValue$jscomp$5;
|
|
break;
|
|
case "action":
|
|
formAction$jscomp$1 = propValue$jscomp$5;
|
|
break;
|
|
case "encType":
|
|
formEncType$jscomp$1 = propValue$jscomp$5;
|
|
break;
|
|
case "method":
|
|
formMethod$jscomp$1 = propValue$jscomp$5;
|
|
break;
|
|
case "target":
|
|
formTarget$jscomp$1 = propValue$jscomp$5;
|
|
break;
|
|
default:
|
|
pushAttribute(target$jscomp$0, propKey$jscomp$5, propValue$jscomp$5);
|
|
}
|
|
}
|
|
var formData$jscomp$1 = null, formActionName = null;
|
|
if ("function" === typeof formAction$jscomp$1) {
|
|
var customFields = getCustomFormFields(resumableState, formAction$jscomp$1);
|
|
null !== customFields ? (formAction$jscomp$1 = customFields.action || "", formEncType$jscomp$1 = customFields.encType, formMethod$jscomp$1 = customFields.method, formTarget$jscomp$1 = customFields.target, formData$jscomp$1 = customFields.data, formActionName = customFields.name) : (target$jscomp$0.push(attributeSeparator, stringToChunk("action"), attributeAssign, actionJavaScriptURL, attributeEnd), formTarget$jscomp$1 = formMethod$jscomp$1 = formEncType$jscomp$1 = formAction$jscomp$1 = null, injectFormReplayingRuntime(resumableState, renderState));
|
|
}
|
|
null != formAction$jscomp$1 && pushAttribute(target$jscomp$0, "action", formAction$jscomp$1);
|
|
null != formEncType$jscomp$1 && pushAttribute(target$jscomp$0, "encType", formEncType$jscomp$1);
|
|
null != formMethod$jscomp$1 && pushAttribute(target$jscomp$0, "method", formMethod$jscomp$1);
|
|
null != formTarget$jscomp$1 && pushAttribute(target$jscomp$0, "target", formTarget$jscomp$1);
|
|
target$jscomp$0.push(endOfStartTag);
|
|
null !== formActionName && (target$jscomp$0.push(startHiddenInputChunk), pushStringAttribute(target$jscomp$0, "name", formActionName), target$jscomp$0.push(endOfStartTagSelfClosing), null != formData$jscomp$1 && formData$jscomp$1.forEach(pushAdditionalFormField, target$jscomp$0));
|
|
pushInnerHTML(target$jscomp$0, innerHTML$jscomp$3, children$jscomp$4);
|
|
if ("string" === typeof children$jscomp$4) {
|
|
target$jscomp$0.push(stringToChunk(escapeTextForBrowser(children$jscomp$4)));
|
|
var JSCompiler_inline_result$jscomp$1 = null;
|
|
} else JSCompiler_inline_result$jscomp$1 = children$jscomp$4;
|
|
return JSCompiler_inline_result$jscomp$1;
|
|
case "menuitem":
|
|
target$jscomp$0.push(startChunkForTag("menuitem"));
|
|
for (var propKey$jscomp$6 in props) if (hasOwnProperty.call(props, propKey$jscomp$6)) {
|
|
var propValue$jscomp$6 = props[propKey$jscomp$6];
|
|
if (null != propValue$jscomp$6) switch (propKey$jscomp$6) {
|
|
case "children":
|
|
case "dangerouslySetInnerHTML":
|
|
throw Error("menuitems cannot have `children` nor `dangerouslySetInnerHTML`.");
|
|
default:
|
|
pushAttribute(target$jscomp$0, propKey$jscomp$6, propValue$jscomp$6);
|
|
}
|
|
}
|
|
target$jscomp$0.push(endOfStartTag);
|
|
return null;
|
|
case "object":
|
|
target$jscomp$0.push(startChunkForTag("object"));
|
|
var children$jscomp$5 = null, innerHTML$jscomp$4 = null, propKey$jscomp$7;
|
|
for (propKey$jscomp$7 in props) if (hasOwnProperty.call(props, propKey$jscomp$7)) {
|
|
var propValue$jscomp$7 = props[propKey$jscomp$7];
|
|
if (null != propValue$jscomp$7) switch (propKey$jscomp$7) {
|
|
case "children":
|
|
children$jscomp$5 = propValue$jscomp$7;
|
|
break;
|
|
case "dangerouslySetInnerHTML":
|
|
innerHTML$jscomp$4 = propValue$jscomp$7;
|
|
break;
|
|
case "data":
|
|
var sanitizedValue = sanitizeURL("" + propValue$jscomp$7);
|
|
if ("" === sanitizedValue) break;
|
|
target$jscomp$0.push(attributeSeparator, stringToChunk("data"), attributeAssign, stringToChunk(escapeTextForBrowser(sanitizedValue)), attributeEnd);
|
|
break;
|
|
default:
|
|
pushAttribute(target$jscomp$0, propKey$jscomp$7, propValue$jscomp$7);
|
|
}
|
|
}
|
|
target$jscomp$0.push(endOfStartTag);
|
|
pushInnerHTML(target$jscomp$0, innerHTML$jscomp$4, children$jscomp$5);
|
|
if ("string" === typeof children$jscomp$5) {
|
|
target$jscomp$0.push(stringToChunk(escapeTextForBrowser(children$jscomp$5)));
|
|
var JSCompiler_inline_result$jscomp$2 = null;
|
|
} else JSCompiler_inline_result$jscomp$2 = children$jscomp$5;
|
|
return JSCompiler_inline_result$jscomp$2;
|
|
case "title":
|
|
var noscriptTagInScope = formatContext.tagScope & 1, isFallback = formatContext.tagScope & 4;
|
|
if (4 === formatContext.insertionMode || noscriptTagInScope || null != props.itemProp) var JSCompiler_inline_result$jscomp$3 = pushTitleImpl(target$jscomp$0, props);
|
|
else isFallback ? JSCompiler_inline_result$jscomp$3 = null : (pushTitleImpl(renderState.hoistableChunks, props), JSCompiler_inline_result$jscomp$3 = void 0);
|
|
return JSCompiler_inline_result$jscomp$3;
|
|
case "link":
|
|
var noscriptTagInScope$jscomp$0 = formatContext.tagScope & 1, isFallback$jscomp$0 = formatContext.tagScope & 4, rel = props.rel, href = props.href, precedence = props.precedence;
|
|
if (4 === formatContext.insertionMode || noscriptTagInScope$jscomp$0 || null != props.itemProp || "string" !== typeof rel || "string" !== typeof href || "" === href) {
|
|
pushLinkImpl(target$jscomp$0, props);
|
|
var JSCompiler_inline_result$jscomp$4 = null;
|
|
} else if ("stylesheet" === props.rel) if ("string" !== typeof precedence || null != props.disabled || props.onLoad || props.onError) JSCompiler_inline_result$jscomp$4 = pushLinkImpl(target$jscomp$0, props);
|
|
else {
|
|
var styleQueue = renderState.styles.get(precedence), resourceState = resumableState.styleResources.hasOwnProperty(href) ? resumableState.styleResources[href] : void 0;
|
|
if (null !== resourceState) {
|
|
resumableState.styleResources[href] = null;
|
|
styleQueue || (styleQueue = {
|
|
precedence: stringToChunk(escapeTextForBrowser(precedence)),
|
|
rules: [],
|
|
hrefs: [],
|
|
sheets: /* @__PURE__ */ new Map()
|
|
}, renderState.styles.set(precedence, styleQueue));
|
|
var resource = {
|
|
state: 0,
|
|
props: assign({}, props, {
|
|
"data-precedence": props.precedence,
|
|
precedence: null
|
|
})
|
|
};
|
|
if (resourceState) {
|
|
2 === resourceState.length && adoptPreloadCredentials(resource.props, resourceState);
|
|
var preloadResource = renderState.preloads.stylesheets.get(href);
|
|
preloadResource && 0 < preloadResource.length ? preloadResource.length = 0 : resource.state = 1;
|
|
}
|
|
styleQueue.sheets.set(href, resource);
|
|
hoistableState && hoistableState.stylesheets.add(resource);
|
|
} else if (styleQueue) {
|
|
var resource$9 = styleQueue.sheets.get(href);
|
|
resource$9 && hoistableState && hoistableState.stylesheets.add(resource$9);
|
|
}
|
|
textEmbedded && target$jscomp$0.push(textSeparator);
|
|
JSCompiler_inline_result$jscomp$4 = null;
|
|
}
|
|
else props.onLoad || props.onError ? JSCompiler_inline_result$jscomp$4 = pushLinkImpl(target$jscomp$0, props) : (textEmbedded && target$jscomp$0.push(textSeparator), JSCompiler_inline_result$jscomp$4 = isFallback$jscomp$0 ? null : pushLinkImpl(renderState.hoistableChunks, props));
|
|
return JSCompiler_inline_result$jscomp$4;
|
|
case "script":
|
|
var noscriptTagInScope$jscomp$1 = formatContext.tagScope & 1, asyncProp = props.async;
|
|
if ("string" !== typeof props.src || !props.src || !asyncProp || "function" === typeof asyncProp || "symbol" === typeof asyncProp || props.onLoad || props.onError || 4 === formatContext.insertionMode || noscriptTagInScope$jscomp$1 || null != props.itemProp) var JSCompiler_inline_result$jscomp$5 = pushScriptImpl(target$jscomp$0, props);
|
|
else {
|
|
var key = props.src;
|
|
if ("module" === props.type) {
|
|
var resources = resumableState.moduleScriptResources;
|
|
var preloads = renderState.preloads.moduleScripts;
|
|
} else resources = resumableState.scriptResources, preloads = renderState.preloads.scripts;
|
|
var resourceState$jscomp$0 = resources.hasOwnProperty(key) ? resources[key] : void 0;
|
|
if (null !== resourceState$jscomp$0) {
|
|
resources[key] = null;
|
|
var scriptProps = props;
|
|
if (resourceState$jscomp$0) {
|
|
2 === resourceState$jscomp$0.length && (scriptProps = assign({}, props), adoptPreloadCredentials(scriptProps, resourceState$jscomp$0));
|
|
var preloadResource$jscomp$0 = preloads.get(key);
|
|
preloadResource$jscomp$0 && (preloadResource$jscomp$0.length = 0);
|
|
}
|
|
var resource$jscomp$0 = [];
|
|
renderState.scripts.add(resource$jscomp$0);
|
|
pushScriptImpl(resource$jscomp$0, scriptProps);
|
|
}
|
|
textEmbedded && target$jscomp$0.push(textSeparator);
|
|
JSCompiler_inline_result$jscomp$5 = null;
|
|
}
|
|
return JSCompiler_inline_result$jscomp$5;
|
|
case "style":
|
|
var noscriptTagInScope$jscomp$2 = formatContext.tagScope & 1, precedence$jscomp$0 = props.precedence, href$jscomp$0 = props.href, nonce = props.nonce;
|
|
if (4 === formatContext.insertionMode || noscriptTagInScope$jscomp$2 || null != props.itemProp || "string" !== typeof precedence$jscomp$0 || "string" !== typeof href$jscomp$0 || "" === href$jscomp$0) {
|
|
target$jscomp$0.push(startChunkForTag("style"));
|
|
var children$jscomp$6 = null, innerHTML$jscomp$5 = null, propKey$jscomp$8;
|
|
for (propKey$jscomp$8 in props) if (hasOwnProperty.call(props, propKey$jscomp$8)) {
|
|
var propValue$jscomp$8 = props[propKey$jscomp$8];
|
|
if (null != propValue$jscomp$8) switch (propKey$jscomp$8) {
|
|
case "children":
|
|
children$jscomp$6 = propValue$jscomp$8;
|
|
break;
|
|
case "dangerouslySetInnerHTML":
|
|
innerHTML$jscomp$5 = propValue$jscomp$8;
|
|
break;
|
|
default:
|
|
pushAttribute(target$jscomp$0, propKey$jscomp$8, propValue$jscomp$8);
|
|
}
|
|
}
|
|
target$jscomp$0.push(endOfStartTag);
|
|
var child = Array.isArray(children$jscomp$6) ? 2 > children$jscomp$6.length ? children$jscomp$6[0] : null : children$jscomp$6;
|
|
"function" !== typeof child && "symbol" !== typeof child && null !== child && void 0 !== child && target$jscomp$0.push(stringToChunk(("" + child).replace(styleRegex, styleReplacer)));
|
|
pushInnerHTML(target$jscomp$0, innerHTML$jscomp$5, children$jscomp$6);
|
|
target$jscomp$0.push(endChunkForTag("style"));
|
|
var JSCompiler_inline_result$jscomp$6 = null;
|
|
} else {
|
|
var styleQueue$jscomp$0 = renderState.styles.get(precedence$jscomp$0);
|
|
if (null !== (resumableState.styleResources.hasOwnProperty(href$jscomp$0) ? resumableState.styleResources[href$jscomp$0] : void 0)) {
|
|
resumableState.styleResources[href$jscomp$0] = null;
|
|
styleQueue$jscomp$0 || (styleQueue$jscomp$0 = {
|
|
precedence: stringToChunk(escapeTextForBrowser(precedence$jscomp$0)),
|
|
rules: [],
|
|
hrefs: [],
|
|
sheets: /* @__PURE__ */ new Map()
|
|
}, renderState.styles.set(precedence$jscomp$0, styleQueue$jscomp$0));
|
|
var nonceStyle = renderState.nonce.style;
|
|
if (!nonceStyle || nonceStyle === nonce) {
|
|
styleQueue$jscomp$0.hrefs.push(stringToChunk(escapeTextForBrowser(href$jscomp$0)));
|
|
var target = styleQueue$jscomp$0.rules, children$jscomp$7 = null, innerHTML$jscomp$6 = null, propKey$jscomp$9;
|
|
for (propKey$jscomp$9 in props) if (hasOwnProperty.call(props, propKey$jscomp$9)) {
|
|
var propValue$jscomp$9 = props[propKey$jscomp$9];
|
|
if (null != propValue$jscomp$9) switch (propKey$jscomp$9) {
|
|
case "children":
|
|
children$jscomp$7 = propValue$jscomp$9;
|
|
break;
|
|
case "dangerouslySetInnerHTML":
|
|
innerHTML$jscomp$6 = propValue$jscomp$9;
|
|
}
|
|
}
|
|
var child$jscomp$0 = Array.isArray(children$jscomp$7) ? 2 > children$jscomp$7.length ? children$jscomp$7[0] : null : children$jscomp$7;
|
|
"function" !== typeof child$jscomp$0 && "symbol" !== typeof child$jscomp$0 && null !== child$jscomp$0 && void 0 !== child$jscomp$0 && target.push(stringToChunk(("" + child$jscomp$0).replace(styleRegex, styleReplacer)));
|
|
pushInnerHTML(target, innerHTML$jscomp$6, children$jscomp$7);
|
|
}
|
|
}
|
|
styleQueue$jscomp$0 && hoistableState && hoistableState.styles.add(styleQueue$jscomp$0);
|
|
textEmbedded && target$jscomp$0.push(textSeparator);
|
|
JSCompiler_inline_result$jscomp$6 = void 0;
|
|
}
|
|
return JSCompiler_inline_result$jscomp$6;
|
|
case "meta":
|
|
var noscriptTagInScope$jscomp$3 = formatContext.tagScope & 1, isFallback$jscomp$1 = formatContext.tagScope & 4;
|
|
if (4 === formatContext.insertionMode || noscriptTagInScope$jscomp$3 || null != props.itemProp) var JSCompiler_inline_result$jscomp$7 = pushSelfClosing(target$jscomp$0, props, "meta");
|
|
else textEmbedded && target$jscomp$0.push(textSeparator), JSCompiler_inline_result$jscomp$7 = isFallback$jscomp$1 ? null : "string" === typeof props.charSet ? pushSelfClosing(renderState.charsetChunks, props, "meta") : "viewport" === props.name ? pushSelfClosing(renderState.viewportChunks, props, "meta") : pushSelfClosing(renderState.hoistableChunks, props, "meta");
|
|
return JSCompiler_inline_result$jscomp$7;
|
|
case "listing":
|
|
case "pre":
|
|
target$jscomp$0.push(startChunkForTag(type));
|
|
var children$jscomp$8 = null, innerHTML$jscomp$7 = null, propKey$jscomp$10;
|
|
for (propKey$jscomp$10 in props) if (hasOwnProperty.call(props, propKey$jscomp$10)) {
|
|
var propValue$jscomp$10 = props[propKey$jscomp$10];
|
|
if (null != propValue$jscomp$10) switch (propKey$jscomp$10) {
|
|
case "children":
|
|
children$jscomp$8 = propValue$jscomp$10;
|
|
break;
|
|
case "dangerouslySetInnerHTML":
|
|
innerHTML$jscomp$7 = propValue$jscomp$10;
|
|
break;
|
|
default:
|
|
pushAttribute(target$jscomp$0, propKey$jscomp$10, propValue$jscomp$10);
|
|
}
|
|
}
|
|
target$jscomp$0.push(endOfStartTag);
|
|
if (null != innerHTML$jscomp$7) {
|
|
if (null != children$jscomp$8) throw Error("Can only set one of `children` or `props.dangerouslySetInnerHTML`.");
|
|
if ("object" !== typeof innerHTML$jscomp$7 || !("__html" in innerHTML$jscomp$7)) throw Error("`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://react.dev/link/dangerously-set-inner-html for more information.");
|
|
var html = innerHTML$jscomp$7.__html;
|
|
null !== html && void 0 !== html && ("string" === typeof html && 0 < html.length && "\n" === html[0] ? target$jscomp$0.push(leadingNewline, stringToChunk(html)) : target$jscomp$0.push(stringToChunk("" + html)));
|
|
}
|
|
"string" === typeof children$jscomp$8 && "\n" === children$jscomp$8[0] && target$jscomp$0.push(leadingNewline);
|
|
return children$jscomp$8;
|
|
case "img":
|
|
var pictureOrNoScriptTagInScope = formatContext.tagScope & 3, src = props.src, srcSet = props.srcSet;
|
|
if (!("lazy" === props.loading || !src && !srcSet || "string" !== typeof src && null != src || "string" !== typeof srcSet && null != srcSet || "low" === props.fetchPriority || pictureOrNoScriptTagInScope) && ("string" !== typeof src || ":" !== src[4] || "d" !== src[0] && "D" !== src[0] || "a" !== src[1] && "A" !== src[1] || "t" !== src[2] && "T" !== src[2] || "a" !== src[3] && "A" !== src[3]) && ("string" !== typeof srcSet || ":" !== srcSet[4] || "d" !== srcSet[0] && "D" !== srcSet[0] || "a" !== srcSet[1] && "A" !== srcSet[1] || "t" !== srcSet[2] && "T" !== srcSet[2] || "a" !== srcSet[3] && "A" !== srcSet[3])) {
|
|
null !== hoistableState && formatContext.tagScope & 64 && (hoistableState.suspenseyImages = true);
|
|
var sizes = "string" === typeof props.sizes ? props.sizes : void 0, key$jscomp$0 = srcSet ? srcSet + "\n" + (sizes || "") : src, promotablePreloads = renderState.preloads.images, resource$jscomp$1 = promotablePreloads.get(key$jscomp$0);
|
|
if (resource$jscomp$1) {
|
|
if ("high" === props.fetchPriority || 10 > renderState.highImagePreloads.size) promotablePreloads.delete(key$jscomp$0), renderState.highImagePreloads.add(resource$jscomp$1);
|
|
} else if (!resumableState.imageResources.hasOwnProperty(key$jscomp$0)) {
|
|
resumableState.imageResources[key$jscomp$0] = PRELOAD_NO_CREDS;
|
|
var input = props.crossOrigin;
|
|
var JSCompiler_inline_result$jscomp$8 = "string" === typeof input ? "use-credentials" === input ? input : "" : void 0;
|
|
var headers = renderState.headers, header;
|
|
headers && 0 < headers.remainingCapacity && "string" !== typeof props.srcSet && ("high" === props.fetchPriority || 500 > headers.highImagePreloads.length) && (header = getPreloadAsHeader(src, "image", {
|
|
imageSrcSet: props.srcSet,
|
|
imageSizes: props.sizes,
|
|
crossOrigin: JSCompiler_inline_result$jscomp$8,
|
|
integrity: props.integrity,
|
|
nonce: props.nonce,
|
|
type: props.type,
|
|
fetchPriority: props.fetchPriority,
|
|
referrerPolicy: props.refererPolicy
|
|
}), 0 <= (headers.remainingCapacity -= header.length + 2)) ? (renderState.resets.image[key$jscomp$0] = PRELOAD_NO_CREDS, headers.highImagePreloads && (headers.highImagePreloads += ", "), headers.highImagePreloads += header) : (resource$jscomp$1 = [], pushLinkImpl(resource$jscomp$1, {
|
|
rel: "preload",
|
|
as: "image",
|
|
href: srcSet ? void 0 : src,
|
|
imageSrcSet: srcSet,
|
|
imageSizes: sizes,
|
|
crossOrigin: JSCompiler_inline_result$jscomp$8,
|
|
integrity: props.integrity,
|
|
type: props.type,
|
|
fetchPriority: props.fetchPriority,
|
|
referrerPolicy: props.referrerPolicy
|
|
}), "high" === props.fetchPriority || 10 > renderState.highImagePreloads.size ? renderState.highImagePreloads.add(resource$jscomp$1) : (renderState.bulkPreloads.add(resource$jscomp$1), promotablePreloads.set(key$jscomp$0, resource$jscomp$1)));
|
|
}
|
|
}
|
|
return pushSelfClosing(target$jscomp$0, props, "img");
|
|
case "base":
|
|
case "area":
|
|
case "br":
|
|
case "col":
|
|
case "embed":
|
|
case "hr":
|
|
case "keygen":
|
|
case "param":
|
|
case "source":
|
|
case "track":
|
|
case "wbr":
|
|
return pushSelfClosing(target$jscomp$0, props, type);
|
|
case "annotation-xml":
|
|
case "color-profile":
|
|
case "font-face":
|
|
case "font-face-src":
|
|
case "font-face-uri":
|
|
case "font-face-format":
|
|
case "font-face-name":
|
|
case "missing-glyph":
|
|
break;
|
|
case "head":
|
|
if (2 > formatContext.insertionMode) {
|
|
var preamble = preambleState || renderState.preamble;
|
|
if (preamble.headChunks) throw Error("The `<head>` tag may only be rendered once.");
|
|
null !== preambleState && target$jscomp$0.push(headPreambleContributionChunk);
|
|
preamble.headChunks = [];
|
|
var JSCompiler_inline_result$jscomp$9 = pushStartSingletonElement(preamble.headChunks, props, "head");
|
|
} else JSCompiler_inline_result$jscomp$9 = pushStartGenericElement(target$jscomp$0, props, "head");
|
|
return JSCompiler_inline_result$jscomp$9;
|
|
case "body":
|
|
if (2 > formatContext.insertionMode) {
|
|
var preamble$jscomp$0 = preambleState || renderState.preamble;
|
|
if (preamble$jscomp$0.bodyChunks) throw Error("The `<body>` tag may only be rendered once.");
|
|
null !== preambleState && target$jscomp$0.push(bodyPreambleContributionChunk);
|
|
preamble$jscomp$0.bodyChunks = [];
|
|
var JSCompiler_inline_result$jscomp$10 = pushStartSingletonElement(preamble$jscomp$0.bodyChunks, props, "body");
|
|
} else JSCompiler_inline_result$jscomp$10 = pushStartGenericElement(target$jscomp$0, props, "body");
|
|
return JSCompiler_inline_result$jscomp$10;
|
|
case "html":
|
|
if (0 === formatContext.insertionMode) {
|
|
var preamble$jscomp$1 = preambleState || renderState.preamble;
|
|
if (preamble$jscomp$1.htmlChunks) throw Error("The `<html>` tag may only be rendered once.");
|
|
null !== preambleState && target$jscomp$0.push(htmlPreambleContributionChunk);
|
|
preamble$jscomp$1.htmlChunks = [
|
|
doctypeChunk
|
|
];
|
|
var JSCompiler_inline_result$jscomp$11 = pushStartSingletonElement(preamble$jscomp$1.htmlChunks, props, "html");
|
|
} else JSCompiler_inline_result$jscomp$11 = pushStartGenericElement(target$jscomp$0, props, "html");
|
|
return JSCompiler_inline_result$jscomp$11;
|
|
default:
|
|
if (-1 !== type.indexOf("-")) {
|
|
target$jscomp$0.push(startChunkForTag(type));
|
|
var children$jscomp$9 = null, innerHTML$jscomp$8 = null, propKey$jscomp$11;
|
|
for (propKey$jscomp$11 in props) if (hasOwnProperty.call(props, propKey$jscomp$11)) {
|
|
var propValue$jscomp$11 = props[propKey$jscomp$11];
|
|
if (null != propValue$jscomp$11) {
|
|
var attributeName = propKey$jscomp$11;
|
|
switch (propKey$jscomp$11) {
|
|
case "children":
|
|
children$jscomp$9 = propValue$jscomp$11;
|
|
break;
|
|
case "dangerouslySetInnerHTML":
|
|
innerHTML$jscomp$8 = propValue$jscomp$11;
|
|
break;
|
|
case "style":
|
|
pushStyleAttribute(target$jscomp$0, propValue$jscomp$11);
|
|
break;
|
|
case "suppressContentEditableWarning":
|
|
case "suppressHydrationWarning":
|
|
case "ref":
|
|
break;
|
|
case "className":
|
|
attributeName = "class";
|
|
default:
|
|
if (isAttributeNameSafe(propKey$jscomp$11) && "function" !== typeof propValue$jscomp$11 && "symbol" !== typeof propValue$jscomp$11 && false !== propValue$jscomp$11) {
|
|
if (true === propValue$jscomp$11) propValue$jscomp$11 = "";
|
|
else if ("object" === typeof propValue$jscomp$11) continue;
|
|
target$jscomp$0.push(attributeSeparator, stringToChunk(attributeName), attributeAssign, stringToChunk(escapeTextForBrowser(propValue$jscomp$11)), attributeEnd);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
target$jscomp$0.push(endOfStartTag);
|
|
pushInnerHTML(target$jscomp$0, innerHTML$jscomp$8, children$jscomp$9);
|
|
return children$jscomp$9;
|
|
}
|
|
}
|
|
return pushStartGenericElement(target$jscomp$0, props, type);
|
|
}
|
|
var endTagCache = /* @__PURE__ */ new Map();
|
|
function endChunkForTag(tag) {
|
|
var chunk = endTagCache.get(tag);
|
|
void 0 === chunk && (chunk = stringToPrecomputedChunk("</" + tag + ">"), endTagCache.set(tag, chunk));
|
|
return chunk;
|
|
}
|
|
function hoistPreambleState(renderState, preambleState) {
|
|
renderState = renderState.preamble;
|
|
null === renderState.htmlChunks && preambleState.htmlChunks && (renderState.htmlChunks = preambleState.htmlChunks);
|
|
null === renderState.headChunks && preambleState.headChunks && (renderState.headChunks = preambleState.headChunks);
|
|
null === renderState.bodyChunks && preambleState.bodyChunks && (renderState.bodyChunks = preambleState.bodyChunks);
|
|
}
|
|
function writeBootstrap(destination, renderState) {
|
|
renderState = renderState.bootstrapChunks;
|
|
for (var i = 0; i < renderState.length - 1; i++) writeChunk2(destination, renderState[i]);
|
|
return i < renderState.length ? (i = renderState[i], renderState.length = 0, writeChunkAndReturn(destination, i)) : true;
|
|
}
|
|
var shellTimeRuntimeScript = stringToPrecomputedChunk("requestAnimationFrame(function(){$RT=performance.now()});"), placeholder1 = stringToPrecomputedChunk('<template id="'), placeholder2 = stringToPrecomputedChunk('"></template>'), startActivityBoundary = stringToPrecomputedChunk("<!--&-->"), endActivityBoundary = stringToPrecomputedChunk("<!--/&-->"), startCompletedSuspenseBoundary = stringToPrecomputedChunk("<!--$-->"), startPendingSuspenseBoundary1 = stringToPrecomputedChunk('<!--$?--><template id="'), startPendingSuspenseBoundary2 = stringToPrecomputedChunk('"></template>'), startClientRenderedSuspenseBoundary = stringToPrecomputedChunk("<!--$!-->"), endSuspenseBoundary = stringToPrecomputedChunk("<!--/$-->"), clientRenderedSuspenseBoundaryError1 = stringToPrecomputedChunk("<template"), clientRenderedSuspenseBoundaryErrorAttrInterstitial = stringToPrecomputedChunk('"'), clientRenderedSuspenseBoundaryError1A = stringToPrecomputedChunk(' data-dgst="');
|
|
stringToPrecomputedChunk(' data-msg="');
|
|
stringToPrecomputedChunk(' data-stck="');
|
|
stringToPrecomputedChunk(' data-cstck="');
|
|
var clientRenderedSuspenseBoundaryError2 = stringToPrecomputedChunk("></template>");
|
|
function writeStartPendingSuspenseBoundary(destination, renderState, id) {
|
|
writeChunk2(destination, startPendingSuspenseBoundary1);
|
|
if (null === id) throw Error("An ID must have been assigned before we can complete the boundary.");
|
|
writeChunk2(destination, renderState.boundaryPrefix);
|
|
writeChunk2(destination, stringToChunk(id.toString(16)));
|
|
return writeChunkAndReturn(destination, startPendingSuspenseBoundary2);
|
|
}
|
|
var startSegmentHTML = stringToPrecomputedChunk('<div hidden id="'), startSegmentHTML2 = stringToPrecomputedChunk('">'), endSegmentHTML = stringToPrecomputedChunk("</div>"), startSegmentSVG = stringToPrecomputedChunk('<svg aria-hidden="true" style="display:none" id="'), startSegmentSVG2 = stringToPrecomputedChunk('">'), endSegmentSVG = stringToPrecomputedChunk("</svg>"), startSegmentMathML = stringToPrecomputedChunk('<math aria-hidden="true" style="display:none" id="'), startSegmentMathML2 = stringToPrecomputedChunk('">'), endSegmentMathML = stringToPrecomputedChunk("</math>"), startSegmentTable = stringToPrecomputedChunk('<table hidden id="'), startSegmentTable2 = stringToPrecomputedChunk('">'), endSegmentTable = stringToPrecomputedChunk("</table>"), startSegmentTableBody = stringToPrecomputedChunk('<table hidden><tbody id="'), startSegmentTableBody2 = stringToPrecomputedChunk('">'), endSegmentTableBody = stringToPrecomputedChunk("</tbody></table>"), startSegmentTableRow = stringToPrecomputedChunk('<table hidden><tr id="'), startSegmentTableRow2 = stringToPrecomputedChunk('">'), endSegmentTableRow = stringToPrecomputedChunk("</tr></table>"), startSegmentColGroup = stringToPrecomputedChunk('<table hidden><colgroup id="'), startSegmentColGroup2 = stringToPrecomputedChunk('">'), endSegmentColGroup = stringToPrecomputedChunk("</colgroup></table>");
|
|
function writeStartSegment(destination, renderState, formatContext, id) {
|
|
switch (formatContext.insertionMode) {
|
|
case 0:
|
|
case 1:
|
|
case 3:
|
|
case 2:
|
|
return writeChunk2(destination, startSegmentHTML), writeChunk2(destination, renderState.segmentPrefix), writeChunk2(destination, stringToChunk(id.toString(16))), writeChunkAndReturn(destination, startSegmentHTML2);
|
|
case 4:
|
|
return writeChunk2(destination, startSegmentSVG), writeChunk2(destination, renderState.segmentPrefix), writeChunk2(destination, stringToChunk(id.toString(16))), writeChunkAndReturn(destination, startSegmentSVG2);
|
|
case 5:
|
|
return writeChunk2(destination, startSegmentMathML), writeChunk2(destination, renderState.segmentPrefix), writeChunk2(destination, stringToChunk(id.toString(16))), writeChunkAndReturn(destination, startSegmentMathML2);
|
|
case 6:
|
|
return writeChunk2(destination, startSegmentTable), writeChunk2(destination, renderState.segmentPrefix), writeChunk2(destination, stringToChunk(id.toString(16))), writeChunkAndReturn(destination, startSegmentTable2);
|
|
case 7:
|
|
return writeChunk2(destination, startSegmentTableBody), writeChunk2(destination, renderState.segmentPrefix), writeChunk2(destination, stringToChunk(id.toString(16))), writeChunkAndReturn(destination, startSegmentTableBody2);
|
|
case 8:
|
|
return writeChunk2(destination, startSegmentTableRow), writeChunk2(destination, renderState.segmentPrefix), writeChunk2(destination, stringToChunk(id.toString(16))), writeChunkAndReturn(destination, startSegmentTableRow2);
|
|
case 9:
|
|
return writeChunk2(destination, startSegmentColGroup), writeChunk2(destination, renderState.segmentPrefix), writeChunk2(destination, stringToChunk(id.toString(16))), writeChunkAndReturn(destination, startSegmentColGroup2);
|
|
default:
|
|
throw Error("Unknown insertion mode. This is a bug in React.");
|
|
}
|
|
}
|
|
function writeEndSegment(destination, formatContext) {
|
|
switch (formatContext.insertionMode) {
|
|
case 0:
|
|
case 1:
|
|
case 3:
|
|
case 2:
|
|
return writeChunkAndReturn(destination, endSegmentHTML);
|
|
case 4:
|
|
return writeChunkAndReturn(destination, endSegmentSVG);
|
|
case 5:
|
|
return writeChunkAndReturn(destination, endSegmentMathML);
|
|
case 6:
|
|
return writeChunkAndReturn(destination, endSegmentTable);
|
|
case 7:
|
|
return writeChunkAndReturn(destination, endSegmentTableBody);
|
|
case 8:
|
|
return writeChunkAndReturn(destination, endSegmentTableRow);
|
|
case 9:
|
|
return writeChunkAndReturn(destination, endSegmentColGroup);
|
|
default:
|
|
throw Error("Unknown insertion mode. This is a bug in React.");
|
|
}
|
|
}
|
|
var completeSegmentScript1Full = stringToPrecomputedChunk('$RS=function(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS("'), completeSegmentScript1Partial = stringToPrecomputedChunk('$RS("'), completeSegmentScript2 = stringToPrecomputedChunk('","'), completeSegmentScriptEnd = stringToPrecomputedChunk('")<\/script>');
|
|
stringToPrecomputedChunk('<template data-rsi="" data-sid="');
|
|
stringToPrecomputedChunk('" data-pid="');
|
|
var completeBoundaryScriptFunctionOnly = stringToPrecomputedChunk('$RB=[];$RV=function(a){$RT=performance.now();for(var b=0;b<a.length;b+=2){var c=a[b],e=a[b+1];null!==e.parentNode&&e.parentNode.removeChild(e);var f=c.parentNode;if(f){var g=c.previousSibling,h=0;do{if(c&&8===c.nodeType){var d=c.data;if("/$"===d||"/&"===d)if(0===h)break;else h--;else"$"!==d&&"$?"!==d&&"$~"!==d&&"$!"!==d&&"&"!==d||h++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data="$";g._reactRetry&&requestAnimationFrame(g._reactRetry)}}a.length=0};\n$RC=function(a,b){if(b=document.getElementById(b))(a=document.getElementById(a))?(a.previousSibling.data="$~",$RB.push(a,b),2===$RB.length&&("number"!==typeof $RT?requestAnimationFrame($RV.bind(null,$RB)):(a=performance.now(),setTimeout($RV.bind(null,$RB),2300>a&&2E3<a?2300-a:$RT+300-a)))):b.parentNode.removeChild(b)};');
|
|
stringToChunk(`$RV=function(A,g){function k(a,b){var e=a.getAttribute(b);e&&(b=a.style,l.push(a,b.viewTransitionName,b.viewTransitionClass),"auto"!==e&&(b.viewTransitionClass=e),(a=a.getAttribute("vt-name"))||(a="_T_"+K++ +"_"),b.viewTransitionName=a,B=!0)}var B=!1,K=0,l=[];try{var f=document.__reactViewTransition;if(f){f.finished.finally($RV.bind(null,g));return}var m=new Map;for(f=1;f<g.length;f+=2)for(var h=g[f].querySelectorAll("[vt-share]"),d=0;d<h.length;d++){var c=h[d];m.set(c.getAttribute("vt-name"),c)}var u=[];for(h=0;h<g.length;h+=2){var C=g[h],x=C.parentNode;if(x){var v=x.getBoundingClientRect();if(v.left||v.top||v.width||v.height){c=C;for(f=0;c;){if(8===c.nodeType){var r=c.data;if("/$"===r)if(0===f)break;else f--;else"$"!==r&&"$?"!==r&&"$~"!==r&&"$!"!==r||f++}else if(1===c.nodeType){d=c;var D=d.getAttribute("vt-name"),y=m.get(D);k(d,y?"vt-share":"vt-exit");y&&(k(y,"vt-share"),m.set(D,null));var E=d.querySelectorAll("[vt-share]");for(d=0;d<E.length;d++){var F=E[d],G=F.getAttribute("vt-name"),
|
|
H=m.get(G);H&&(k(F,"vt-share"),k(H,"vt-share"),m.set(G,null))}}c=c.nextSibling}for(var I=g[h+1],t=I.firstElementChild;t;)null!==m.get(t.getAttribute("vt-name"))&&k(t,"vt-enter"),t=t.nextElementSibling;c=x;do for(var n=c.firstElementChild;n;){var J=n.getAttribute("vt-update");J&&"none"!==J&&!l.includes(n)&&k(n,"vt-update");n=n.nextElementSibling}while((c=c.parentNode)&&1===c.nodeType&&"none"!==c.getAttribute("vt-update"));u.push.apply(u,I.querySelectorAll('img[src]:not([loading="lazy"])'))}}}if(B){var z=
|
|
document.__reactViewTransition=document.startViewTransition({update:function(){A(g);for(var a=[document.documentElement.clientHeight,document.fonts.ready],b={},e=0;e<u.length;b={g:b.g},e++)if(b.g=u[e],!b.g.complete){var p=b.g.getBoundingClientRect();0<p.bottom&&0<p.right&&p.top<window.innerHeight&&p.left<window.innerWidth&&(p=new Promise(function(w){return function(q){w.g.addEventListener("load",q);w.g.addEventListener("error",q)}}(b)),a.push(p))}return Promise.race([Promise.all(a),new Promise(function(w){var q=
|
|
performance.now();setTimeout(w,2300>q&&2E3<q?2300-q:500)})])},types:[]});z.ready.finally(function(){for(var a=l.length-3;0<=a;a-=3){var b=l[a],e=b.style;e.viewTransitionName=l[a+1];e.viewTransitionClass=l[a+1];""===b.getAttribute("style")&&b.removeAttribute("style")}});z.finished.finally(function(){document.__reactViewTransition===z&&(document.__reactViewTransition=null)});$RB=[];return}}catch(a){}A(g)}.bind(null,$RV);`);
|
|
var completeBoundaryScript1Partial = stringToPrecomputedChunk('$RC("'), completeBoundaryWithStylesScript1FullPartial = stringToPrecomputedChunk('$RM=new Map;$RR=function(n,w,p){function u(q){this._p=null;q()}for(var r=new Map,t=document,h,b,e=t.querySelectorAll("link[data-precedence],style[data-precedence]"),v=[],k=0;b=e[k++];)"not all"===b.getAttribute("media")?v.push(b):("LINK"===b.tagName&&$RM.set(b.getAttribute("href"),b),r.set(b.dataset.precedence,h=b));e=0;b=[];var l,a;for(k=!0;;){if(k){var f=p[e++];if(!f){k=!1;e=0;continue}var c=!1,m=0;var d=f[m++];if(a=$RM.get(d)){var g=a._p;c=!0}else{a=t.createElement("link");a.href=d;a.rel=\n"stylesheet";for(a.dataset.precedence=l=f[m++];g=f[m++];)a.setAttribute(g,f[m++]);g=a._p=new Promise(function(q,x){a.onload=u.bind(a,q);a.onerror=u.bind(a,x)});$RM.set(d,a)}d=a.getAttribute("media");!g||d&&!matchMedia(d).matches||b.push(g);if(c)continue}else{a=v[e++];if(!a)break;l=a.getAttribute("data-precedence");a.removeAttribute("media")}c=r.get(l)||h;c===h&&(h=a);r.set(l,a);c?c.parentNode.insertBefore(a,c.nextSibling):(c=t.head,c.insertBefore(a,c.firstChild))}if(p=document.getElementById(n))p.previousSibling.data=\n"$~";Promise.all(b).then($RC.bind(null,n,w),$RX.bind(null,n,"CSS failed to load"))};$RR("'), completeBoundaryWithStylesScript1Partial = stringToPrecomputedChunk('$RR("'), completeBoundaryScript2 = stringToPrecomputedChunk('","'), completeBoundaryScript3a = stringToPrecomputedChunk('",'), completeBoundaryScript3b = stringToPrecomputedChunk('"'), completeBoundaryScriptEnd = stringToPrecomputedChunk(")<\/script>");
|
|
stringToPrecomputedChunk('<template data-rci="" data-bid="');
|
|
stringToPrecomputedChunk('<template data-rri="" data-bid="');
|
|
stringToPrecomputedChunk('" data-sid="');
|
|
stringToPrecomputedChunk('" data-sty="');
|
|
var clientRenderScriptFunctionOnly = stringToPrecomputedChunk('$RX=function(b,c,d,e,f){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data="$!",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),f&&(a.cstck=f),b._reactRetry&&b._reactRetry())};'), clientRenderScript1Full = stringToPrecomputedChunk('$RX=function(b,c,d,e,f){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data="$!",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),f&&(a.cstck=f),b._reactRetry&&b._reactRetry())};;$RX("'), clientRenderScript1Partial = stringToPrecomputedChunk('$RX("'), clientRenderScript1A = stringToPrecomputedChunk('"'), clientRenderErrorScriptArgInterstitial = stringToPrecomputedChunk(","), clientRenderScriptEnd = stringToPrecomputedChunk(")<\/script>");
|
|
stringToPrecomputedChunk('<template data-rxi="" data-bid="');
|
|
stringToPrecomputedChunk('" data-dgst="');
|
|
stringToPrecomputedChunk('" data-msg="');
|
|
stringToPrecomputedChunk('" data-stck="');
|
|
stringToPrecomputedChunk('" data-cstck="');
|
|
var regexForJSStringsInInstructionScripts = /[<\u2028\u2029]/g;
|
|
function escapeJSStringsForInstructionScripts(input) {
|
|
return JSON.stringify(input).replace(regexForJSStringsInInstructionScripts, function(match) {
|
|
switch (match) {
|
|
case "<":
|
|
return "\\u003c";
|
|
case "\u2028":
|
|
return "\\u2028";
|
|
case "\u2029":
|
|
return "\\u2029";
|
|
default:
|
|
throw Error("escapeJSStringsForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React");
|
|
}
|
|
});
|
|
}
|
|
var regexForJSStringsInScripts = /[&><\u2028\u2029]/g;
|
|
function escapeJSObjectForInstructionScripts(input) {
|
|
return JSON.stringify(input).replace(regexForJSStringsInScripts, function(match) {
|
|
switch (match) {
|
|
case "&":
|
|
return "\\u0026";
|
|
case ">":
|
|
return "\\u003e";
|
|
case "<":
|
|
return "\\u003c";
|
|
case "\u2028":
|
|
return "\\u2028";
|
|
case "\u2029":
|
|
return "\\u2029";
|
|
default:
|
|
throw Error("escapeJSObjectForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React");
|
|
}
|
|
});
|
|
}
|
|
var lateStyleTagResourceOpen1 = stringToPrecomputedChunk(' media="not all" data-precedence="'), lateStyleTagResourceOpen2 = stringToPrecomputedChunk('" data-href="'), lateStyleTagResourceOpen3 = stringToPrecomputedChunk('">'), lateStyleTagTemplateClose = stringToPrecomputedChunk("</style>"), currentlyRenderingBoundaryHasStylesToHoist = false, destinationHasCapacity = true;
|
|
function flushStyleTagsLateForBoundary(styleQueue) {
|
|
var rules = styleQueue.rules, hrefs = styleQueue.hrefs, i = 0;
|
|
if (hrefs.length) {
|
|
writeChunk2(this, currentlyFlushingRenderState.startInlineStyle);
|
|
writeChunk2(this, lateStyleTagResourceOpen1);
|
|
writeChunk2(this, styleQueue.precedence);
|
|
for (writeChunk2(this, lateStyleTagResourceOpen2); i < hrefs.length - 1; i++) writeChunk2(this, hrefs[i]), writeChunk2(this, spaceSeparator);
|
|
writeChunk2(this, hrefs[i]);
|
|
writeChunk2(this, lateStyleTagResourceOpen3);
|
|
for (i = 0; i < rules.length; i++) writeChunk2(this, rules[i]);
|
|
destinationHasCapacity = writeChunkAndReturn(this, lateStyleTagTemplateClose);
|
|
currentlyRenderingBoundaryHasStylesToHoist = true;
|
|
rules.length = 0;
|
|
hrefs.length = 0;
|
|
}
|
|
}
|
|
function hasStylesToHoist(stylesheet) {
|
|
return 2 !== stylesheet.state ? currentlyRenderingBoundaryHasStylesToHoist = true : false;
|
|
}
|
|
function writeHoistablesForBoundary(destination, hoistableState, renderState) {
|
|
currentlyRenderingBoundaryHasStylesToHoist = false;
|
|
destinationHasCapacity = true;
|
|
currentlyFlushingRenderState = renderState;
|
|
hoistableState.styles.forEach(flushStyleTagsLateForBoundary, destination);
|
|
currentlyFlushingRenderState = null;
|
|
hoistableState.stylesheets.forEach(hasStylesToHoist);
|
|
currentlyRenderingBoundaryHasStylesToHoist && (renderState.stylesToHoist = true);
|
|
return destinationHasCapacity;
|
|
}
|
|
function flushResource(resource) {
|
|
for (var i = 0; i < resource.length; i++) writeChunk2(this, resource[i]);
|
|
resource.length = 0;
|
|
}
|
|
var stylesheetFlushingQueue = [];
|
|
function flushStyleInPreamble(stylesheet) {
|
|
pushLinkImpl(stylesheetFlushingQueue, stylesheet.props);
|
|
for (var i = 0; i < stylesheetFlushingQueue.length; i++) writeChunk2(this, stylesheetFlushingQueue[i]);
|
|
stylesheetFlushingQueue.length = 0;
|
|
stylesheet.state = 2;
|
|
}
|
|
var styleTagResourceOpen1 = stringToPrecomputedChunk(' data-precedence="'), styleTagResourceOpen2 = stringToPrecomputedChunk('" data-href="'), spaceSeparator = stringToPrecomputedChunk(" "), styleTagResourceOpen3 = stringToPrecomputedChunk('">'), styleTagResourceClose = stringToPrecomputedChunk("</style>");
|
|
function flushStylesInPreamble(styleQueue) {
|
|
var hasStylesheets = 0 < styleQueue.sheets.size;
|
|
styleQueue.sheets.forEach(flushStyleInPreamble, this);
|
|
styleQueue.sheets.clear();
|
|
var rules = styleQueue.rules, hrefs = styleQueue.hrefs;
|
|
if (!hasStylesheets || hrefs.length) {
|
|
writeChunk2(this, currentlyFlushingRenderState.startInlineStyle);
|
|
writeChunk2(this, styleTagResourceOpen1);
|
|
writeChunk2(this, styleQueue.precedence);
|
|
styleQueue = 0;
|
|
if (hrefs.length) {
|
|
for (writeChunk2(this, styleTagResourceOpen2); styleQueue < hrefs.length - 1; styleQueue++) writeChunk2(this, hrefs[styleQueue]), writeChunk2(this, spaceSeparator);
|
|
writeChunk2(this, hrefs[styleQueue]);
|
|
}
|
|
writeChunk2(this, styleTagResourceOpen3);
|
|
for (styleQueue = 0; styleQueue < rules.length; styleQueue++) writeChunk2(this, rules[styleQueue]);
|
|
writeChunk2(this, styleTagResourceClose);
|
|
rules.length = 0;
|
|
hrefs.length = 0;
|
|
}
|
|
}
|
|
function preloadLateStyle(stylesheet) {
|
|
if (0 === stylesheet.state) {
|
|
stylesheet.state = 1;
|
|
var props = stylesheet.props;
|
|
pushLinkImpl(stylesheetFlushingQueue, {
|
|
rel: "preload",
|
|
as: "style",
|
|
href: stylesheet.props.href,
|
|
crossOrigin: props.crossOrigin,
|
|
fetchPriority: props.fetchPriority,
|
|
integrity: props.integrity,
|
|
media: props.media,
|
|
hrefLang: props.hrefLang,
|
|
referrerPolicy: props.referrerPolicy
|
|
});
|
|
for (stylesheet = 0; stylesheet < stylesheetFlushingQueue.length; stylesheet++) writeChunk2(this, stylesheetFlushingQueue[stylesheet]);
|
|
stylesheetFlushingQueue.length = 0;
|
|
}
|
|
}
|
|
function preloadLateStyles(styleQueue) {
|
|
styleQueue.sheets.forEach(preloadLateStyle, this);
|
|
styleQueue.sheets.clear();
|
|
}
|
|
stringToPrecomputedChunk('<link rel="expect" href="#');
|
|
stringToPrecomputedChunk('" blocking="render"/>');
|
|
var completedShellIdAttributeStart = stringToPrecomputedChunk(' id="');
|
|
function pushCompletedShellIdAttribute(target, resumableState) {
|
|
0 === (resumableState.instructions & 32) && (resumableState.instructions |= 32, target.push(completedShellIdAttributeStart, stringToChunk(escapeTextForBrowser("_" + resumableState.idPrefix + "R_")), attributeEnd));
|
|
}
|
|
var arrayFirstOpenBracket = stringToPrecomputedChunk("["), arraySubsequentOpenBracket = stringToPrecomputedChunk(",["), arrayInterstitial = stringToPrecomputedChunk(","), arrayCloseBracket = stringToPrecomputedChunk("]");
|
|
function writeStyleResourceDependenciesInJS(destination, hoistableState) {
|
|
writeChunk2(destination, arrayFirstOpenBracket);
|
|
var nextArrayOpenBrackChunk = arrayFirstOpenBracket;
|
|
hoistableState.stylesheets.forEach(function(resource) {
|
|
if (2 !== resource.state) if (3 === resource.state) writeChunk2(destination, nextArrayOpenBrackChunk), writeChunk2(destination, stringToChunk(escapeJSObjectForInstructionScripts("" + resource.props.href))), writeChunk2(destination, arrayCloseBracket), nextArrayOpenBrackChunk = arraySubsequentOpenBracket;
|
|
else {
|
|
writeChunk2(destination, nextArrayOpenBrackChunk);
|
|
var precedence = resource.props["data-precedence"], props = resource.props, coercedHref = sanitizeURL("" + resource.props.href);
|
|
writeChunk2(destination, stringToChunk(escapeJSObjectForInstructionScripts(coercedHref)));
|
|
precedence = "" + precedence;
|
|
writeChunk2(destination, arrayInterstitial);
|
|
writeChunk2(destination, stringToChunk(escapeJSObjectForInstructionScripts(precedence)));
|
|
for (var propKey in props) if (hasOwnProperty.call(props, propKey) && (precedence = props[propKey], null != precedence)) switch (propKey) {
|
|
case "href":
|
|
case "rel":
|
|
case "precedence":
|
|
case "data-precedence":
|
|
break;
|
|
case "children":
|
|
case "dangerouslySetInnerHTML":
|
|
throw Error("link is a self-closing tag and must neither have `children` nor use `dangerouslySetInnerHTML`.");
|
|
default:
|
|
writeStyleResourceAttributeInJS(destination, propKey, precedence);
|
|
}
|
|
writeChunk2(destination, arrayCloseBracket);
|
|
nextArrayOpenBrackChunk = arraySubsequentOpenBracket;
|
|
resource.state = 3;
|
|
}
|
|
});
|
|
writeChunk2(destination, arrayCloseBracket);
|
|
}
|
|
function writeStyleResourceAttributeInJS(destination, name, value) {
|
|
var attributeName = name.toLowerCase();
|
|
switch (typeof value) {
|
|
case "function":
|
|
case "symbol":
|
|
return;
|
|
}
|
|
switch (name) {
|
|
case "innerHTML":
|
|
case "dangerouslySetInnerHTML":
|
|
case "suppressContentEditableWarning":
|
|
case "suppressHydrationWarning":
|
|
case "style":
|
|
case "ref":
|
|
return;
|
|
case "className":
|
|
attributeName = "class";
|
|
name = "" + value;
|
|
break;
|
|
case "hidden":
|
|
if (false === value) return;
|
|
name = "";
|
|
break;
|
|
case "src":
|
|
case "href":
|
|
value = sanitizeURL(value);
|
|
name = "" + value;
|
|
break;
|
|
default:
|
|
if (2 < name.length && ("o" === name[0] || "O" === name[0]) && ("n" === name[1] || "N" === name[1]) || !isAttributeNameSafe(name)) return;
|
|
name = "" + value;
|
|
}
|
|
writeChunk2(destination, arrayInterstitial);
|
|
writeChunk2(destination, stringToChunk(escapeJSObjectForInstructionScripts(attributeName)));
|
|
writeChunk2(destination, arrayInterstitial);
|
|
writeChunk2(destination, stringToChunk(escapeJSObjectForInstructionScripts(name)));
|
|
}
|
|
function createHoistableState() {
|
|
return {
|
|
styles: /* @__PURE__ */ new Set(),
|
|
stylesheets: /* @__PURE__ */ new Set(),
|
|
suspenseyImages: false
|
|
};
|
|
}
|
|
function prefetchDNS(href) {
|
|
var request = resolveRequest();
|
|
if (request) {
|
|
var resumableState = request.resumableState, renderState = request.renderState;
|
|
if ("string" === typeof href && href) {
|
|
if (!resumableState.dnsResources.hasOwnProperty(href)) {
|
|
resumableState.dnsResources[href] = null;
|
|
resumableState = renderState.headers;
|
|
var header, JSCompiler_temp;
|
|
if (JSCompiler_temp = resumableState && 0 < resumableState.remainingCapacity) JSCompiler_temp = (header = "<" + ("" + href).replace(regexForHrefInLinkHeaderURLContext, escapeHrefForLinkHeaderURLContextReplacer) + ">; rel=dns-prefetch", 0 <= (resumableState.remainingCapacity -= header.length + 2));
|
|
JSCompiler_temp ? (renderState.resets.dns[href] = null, resumableState.preconnects && (resumableState.preconnects += ", "), resumableState.preconnects += header) : (header = [], pushLinkImpl(header, {
|
|
href,
|
|
rel: "dns-prefetch"
|
|
}), renderState.preconnects.add(header));
|
|
}
|
|
enqueueFlush(request);
|
|
}
|
|
} else previousDispatcher.D(href);
|
|
}
|
|
function preconnect(href, crossOrigin) {
|
|
var request = resolveRequest();
|
|
if (request) {
|
|
var resumableState = request.resumableState, renderState = request.renderState;
|
|
if ("string" === typeof href && href) {
|
|
var bucket = "use-credentials" === crossOrigin ? "credentials" : "string" === typeof crossOrigin ? "anonymous" : "default";
|
|
if (!resumableState.connectResources[bucket].hasOwnProperty(href)) {
|
|
resumableState.connectResources[bucket][href] = null;
|
|
resumableState = renderState.headers;
|
|
var header, JSCompiler_temp;
|
|
if (JSCompiler_temp = resumableState && 0 < resumableState.remainingCapacity) {
|
|
JSCompiler_temp = "<" + ("" + href).replace(regexForHrefInLinkHeaderURLContext, escapeHrefForLinkHeaderURLContextReplacer) + ">; rel=preconnect";
|
|
if ("string" === typeof crossOrigin) {
|
|
var escapedCrossOrigin = ("" + crossOrigin).replace(regexForLinkHeaderQuotedParamValueContext, escapeStringForLinkHeaderQuotedParamValueContextReplacer);
|
|
JSCompiler_temp += '; crossorigin="' + escapedCrossOrigin + '"';
|
|
}
|
|
JSCompiler_temp = (header = JSCompiler_temp, 0 <= (resumableState.remainingCapacity -= header.length + 2));
|
|
}
|
|
JSCompiler_temp ? (renderState.resets.connect[bucket][href] = null, resumableState.preconnects && (resumableState.preconnects += ", "), resumableState.preconnects += header) : (bucket = [], pushLinkImpl(bucket, {
|
|
rel: "preconnect",
|
|
href,
|
|
crossOrigin
|
|
}), renderState.preconnects.add(bucket));
|
|
}
|
|
enqueueFlush(request);
|
|
}
|
|
} else previousDispatcher.C(href, crossOrigin);
|
|
}
|
|
function preload(href, as, options) {
|
|
var request = resolveRequest();
|
|
if (request) {
|
|
var resumableState = request.resumableState, renderState = request.renderState;
|
|
if (as && href) {
|
|
switch (as) {
|
|
case "image":
|
|
if (options) {
|
|
var imageSrcSet = options.imageSrcSet;
|
|
var imageSizes = options.imageSizes;
|
|
var fetchPriority = options.fetchPriority;
|
|
}
|
|
var key = imageSrcSet ? imageSrcSet + "\n" + (imageSizes || "") : href;
|
|
if (resumableState.imageResources.hasOwnProperty(key)) return;
|
|
resumableState.imageResources[key] = PRELOAD_NO_CREDS;
|
|
resumableState = renderState.headers;
|
|
var header;
|
|
resumableState && 0 < resumableState.remainingCapacity && "string" !== typeof imageSrcSet && "high" === fetchPriority && (header = getPreloadAsHeader(href, as, options), 0 <= (resumableState.remainingCapacity -= header.length + 2)) ? (renderState.resets.image[key] = PRELOAD_NO_CREDS, resumableState.highImagePreloads && (resumableState.highImagePreloads += ", "), resumableState.highImagePreloads += header) : (resumableState = [], pushLinkImpl(resumableState, assign({
|
|
rel: "preload",
|
|
href: imageSrcSet ? void 0 : href,
|
|
as
|
|
}, options)), "high" === fetchPriority ? renderState.highImagePreloads.add(resumableState) : (renderState.bulkPreloads.add(resumableState), renderState.preloads.images.set(key, resumableState)));
|
|
break;
|
|
case "style":
|
|
if (resumableState.styleResources.hasOwnProperty(href)) return;
|
|
imageSrcSet = [];
|
|
pushLinkImpl(imageSrcSet, assign({
|
|
rel: "preload",
|
|
href,
|
|
as
|
|
}, options));
|
|
resumableState.styleResources[href] = !options || "string" !== typeof options.crossOrigin && "string" !== typeof options.integrity ? PRELOAD_NO_CREDS : [
|
|
options.crossOrigin,
|
|
options.integrity
|
|
];
|
|
renderState.preloads.stylesheets.set(href, imageSrcSet);
|
|
renderState.bulkPreloads.add(imageSrcSet);
|
|
break;
|
|
case "script":
|
|
if (resumableState.scriptResources.hasOwnProperty(href)) return;
|
|
imageSrcSet = [];
|
|
renderState.preloads.scripts.set(href, imageSrcSet);
|
|
renderState.bulkPreloads.add(imageSrcSet);
|
|
pushLinkImpl(imageSrcSet, assign({
|
|
rel: "preload",
|
|
href,
|
|
as
|
|
}, options));
|
|
resumableState.scriptResources[href] = !options || "string" !== typeof options.crossOrigin && "string" !== typeof options.integrity ? PRELOAD_NO_CREDS : [
|
|
options.crossOrigin,
|
|
options.integrity
|
|
];
|
|
break;
|
|
default:
|
|
if (resumableState.unknownResources.hasOwnProperty(as)) {
|
|
if (imageSrcSet = resumableState.unknownResources[as], imageSrcSet.hasOwnProperty(href)) return;
|
|
} else imageSrcSet = {}, resumableState.unknownResources[as] = imageSrcSet;
|
|
imageSrcSet[href] = PRELOAD_NO_CREDS;
|
|
if ((resumableState = renderState.headers) && 0 < resumableState.remainingCapacity && "font" === as && (key = getPreloadAsHeader(href, as, options), 0 <= (resumableState.remainingCapacity -= key.length + 2))) renderState.resets.font[href] = PRELOAD_NO_CREDS, resumableState.fontPreloads && (resumableState.fontPreloads += ", "), resumableState.fontPreloads += key;
|
|
else switch (resumableState = [], href = assign({
|
|
rel: "preload",
|
|
href,
|
|
as
|
|
}, options), pushLinkImpl(resumableState, href), as) {
|
|
case "font":
|
|
renderState.fontPreloads.add(resumableState);
|
|
break;
|
|
default:
|
|
renderState.bulkPreloads.add(resumableState);
|
|
}
|
|
}
|
|
enqueueFlush(request);
|
|
}
|
|
} else previousDispatcher.L(href, as, options);
|
|
}
|
|
function preloadModule(href, options) {
|
|
var request = resolveRequest();
|
|
if (request) {
|
|
var resumableState = request.resumableState, renderState = request.renderState;
|
|
if (href) {
|
|
var as = options && "string" === typeof options.as ? options.as : "script";
|
|
switch (as) {
|
|
case "script":
|
|
if (resumableState.moduleScriptResources.hasOwnProperty(href)) return;
|
|
as = [];
|
|
resumableState.moduleScriptResources[href] = !options || "string" !== typeof options.crossOrigin && "string" !== typeof options.integrity ? PRELOAD_NO_CREDS : [
|
|
options.crossOrigin,
|
|
options.integrity
|
|
];
|
|
renderState.preloads.moduleScripts.set(href, as);
|
|
break;
|
|
default:
|
|
if (resumableState.moduleUnknownResources.hasOwnProperty(as)) {
|
|
var resources = resumableState.unknownResources[as];
|
|
if (resources.hasOwnProperty(href)) return;
|
|
} else resources = {}, resumableState.moduleUnknownResources[as] = resources;
|
|
as = [];
|
|
resources[href] = PRELOAD_NO_CREDS;
|
|
}
|
|
pushLinkImpl(as, assign({
|
|
rel: "modulepreload",
|
|
href
|
|
}, options));
|
|
renderState.bulkPreloads.add(as);
|
|
enqueueFlush(request);
|
|
}
|
|
} else previousDispatcher.m(href, options);
|
|
}
|
|
function preinitStyle(href, precedence, options) {
|
|
var request = resolveRequest();
|
|
if (request) {
|
|
var resumableState = request.resumableState, renderState = request.renderState;
|
|
if (href) {
|
|
precedence = precedence || "default";
|
|
var styleQueue = renderState.styles.get(precedence), resourceState = resumableState.styleResources.hasOwnProperty(href) ? resumableState.styleResources[href] : void 0;
|
|
null !== resourceState && (resumableState.styleResources[href] = null, styleQueue || (styleQueue = {
|
|
precedence: stringToChunk(escapeTextForBrowser(precedence)),
|
|
rules: [],
|
|
hrefs: [],
|
|
sheets: /* @__PURE__ */ new Map()
|
|
}, renderState.styles.set(precedence, styleQueue)), precedence = {
|
|
state: 0,
|
|
props: assign({
|
|
rel: "stylesheet",
|
|
href,
|
|
"data-precedence": precedence
|
|
}, options)
|
|
}, resourceState && (2 === resourceState.length && adoptPreloadCredentials(precedence.props, resourceState), (renderState = renderState.preloads.stylesheets.get(href)) && 0 < renderState.length ? renderState.length = 0 : precedence.state = 1), styleQueue.sheets.set(href, precedence), enqueueFlush(request));
|
|
}
|
|
} else previousDispatcher.S(href, precedence, options);
|
|
}
|
|
function preinitScript(src, options) {
|
|
var request = resolveRequest();
|
|
if (request) {
|
|
var resumableState = request.resumableState, renderState = request.renderState;
|
|
if (src) {
|
|
var resourceState = resumableState.scriptResources.hasOwnProperty(src) ? resumableState.scriptResources[src] : void 0;
|
|
null !== resourceState && (resumableState.scriptResources[src] = null, options = assign({
|
|
src,
|
|
async: true
|
|
}, options), resourceState && (2 === resourceState.length && adoptPreloadCredentials(options, resourceState), src = renderState.preloads.scripts.get(src)) && (src.length = 0), src = [], renderState.scripts.add(src), pushScriptImpl(src, options), enqueueFlush(request));
|
|
}
|
|
} else previousDispatcher.X(src, options);
|
|
}
|
|
function preinitModuleScript(src, options) {
|
|
var request = resolveRequest();
|
|
if (request) {
|
|
var resumableState = request.resumableState, renderState = request.renderState;
|
|
if (src) {
|
|
var resourceState = resumableState.moduleScriptResources.hasOwnProperty(src) ? resumableState.moduleScriptResources[src] : void 0;
|
|
null !== resourceState && (resumableState.moduleScriptResources[src] = null, options = assign({
|
|
src,
|
|
type: "module",
|
|
async: true
|
|
}, options), resourceState && (2 === resourceState.length && adoptPreloadCredentials(options, resourceState), src = renderState.preloads.moduleScripts.get(src)) && (src.length = 0), src = [], renderState.scripts.add(src), pushScriptImpl(src, options), enqueueFlush(request));
|
|
}
|
|
} else previousDispatcher.M(src, options);
|
|
}
|
|
function adoptPreloadCredentials(target, preloadState) {
|
|
null == target.crossOrigin && (target.crossOrigin = preloadState[0]);
|
|
null == target.integrity && (target.integrity = preloadState[1]);
|
|
}
|
|
function getPreloadAsHeader(href, as, params) {
|
|
href = ("" + href).replace(regexForHrefInLinkHeaderURLContext, escapeHrefForLinkHeaderURLContextReplacer);
|
|
as = ("" + as).replace(regexForLinkHeaderQuotedParamValueContext, escapeStringForLinkHeaderQuotedParamValueContextReplacer);
|
|
as = "<" + href + '>; rel=preload; as="' + as + '"';
|
|
for (var paramName in params) hasOwnProperty.call(params, paramName) && (href = params[paramName], "string" === typeof href && (as += "; " + paramName.toLowerCase() + '="' + ("" + href).replace(regexForLinkHeaderQuotedParamValueContext, escapeStringForLinkHeaderQuotedParamValueContextReplacer) + '"'));
|
|
return as;
|
|
}
|
|
var regexForHrefInLinkHeaderURLContext = /[<>\r\n]/g;
|
|
function escapeHrefForLinkHeaderURLContextReplacer(match) {
|
|
switch (match) {
|
|
case "<":
|
|
return "%3C";
|
|
case ">":
|
|
return "%3E";
|
|
case "\n":
|
|
return "%0A";
|
|
case "\r":
|
|
return "%0D";
|
|
default:
|
|
throw Error("escapeLinkHrefForHeaderContextReplacer encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React");
|
|
}
|
|
}
|
|
var regexForLinkHeaderQuotedParamValueContext = /["';,\r\n]/g;
|
|
function escapeStringForLinkHeaderQuotedParamValueContextReplacer(match) {
|
|
switch (match) {
|
|
case '"':
|
|
return "%22";
|
|
case "'":
|
|
return "%27";
|
|
case ";":
|
|
return "%3B";
|
|
case ",":
|
|
return "%2C";
|
|
case "\n":
|
|
return "%0A";
|
|
case "\r":
|
|
return "%0D";
|
|
default:
|
|
throw Error("escapeStringForLinkHeaderQuotedParamValueContextReplacer encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React");
|
|
}
|
|
}
|
|
function hoistStyleQueueDependency(styleQueue) {
|
|
this.styles.add(styleQueue);
|
|
}
|
|
function hoistStylesheetDependency(stylesheet) {
|
|
this.stylesheets.add(stylesheet);
|
|
}
|
|
function hoistHoistables(parentState, childState) {
|
|
childState.styles.forEach(hoistStyleQueueDependency, parentState);
|
|
childState.stylesheets.forEach(hoistStylesheetDependency, parentState);
|
|
childState.suspenseyImages && (parentState.suspenseyImages = true);
|
|
}
|
|
function hasSuspenseyContent(hoistableState) {
|
|
return 0 < hoistableState.stylesheets.size || hoistableState.suspenseyImages;
|
|
}
|
|
var bind = Function.prototype.bind, supportsRequestStorage = "function" === typeof AsyncLocalStorage, requestStorage = supportsRequestStorage ? new AsyncLocalStorage() : null, REACT_CLIENT_REFERENCE = /* @__PURE__ */ Symbol.for("react.client.reference");
|
|
function getComponentNameFromType(type) {
|
|
if (null == type) return null;
|
|
if ("function" === typeof type) return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null;
|
|
if ("string" === typeof type) return type;
|
|
switch (type) {
|
|
case REACT_FRAGMENT_TYPE:
|
|
return "Fragment";
|
|
case REACT_PROFILER_TYPE:
|
|
return "Profiler";
|
|
case REACT_STRICT_MODE_TYPE:
|
|
return "StrictMode";
|
|
case REACT_SUSPENSE_TYPE:
|
|
return "Suspense";
|
|
case REACT_SUSPENSE_LIST_TYPE:
|
|
return "SuspenseList";
|
|
case REACT_ACTIVITY_TYPE:
|
|
return "Activity";
|
|
}
|
|
if ("object" === typeof type) switch (type.$$typeof) {
|
|
case REACT_PORTAL_TYPE:
|
|
return "Portal";
|
|
case REACT_CONTEXT_TYPE:
|
|
return type.displayName || "Context";
|
|
case REACT_CONSUMER_TYPE:
|
|
return (type._context.displayName || "Context") + ".Consumer";
|
|
case REACT_FORWARD_REF_TYPE:
|
|
var innerType = type.render;
|
|
type = type.displayName;
|
|
type || (type = innerType.displayName || innerType.name || "", type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef");
|
|
return type;
|
|
case REACT_MEMO_TYPE:
|
|
return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || "Memo";
|
|
case REACT_LAZY_TYPE:
|
|
innerType = type._payload;
|
|
type = type._init;
|
|
try {
|
|
return getComponentNameFromType(type(innerType));
|
|
} catch (x) {
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
var emptyContextObject = {}, currentActiveSnapshot = null;
|
|
function popToNearestCommonAncestor(prev, next) {
|
|
if (prev !== next) {
|
|
prev.context._currentValue = prev.parentValue;
|
|
prev = prev.parent;
|
|
var parentNext = next.parent;
|
|
if (null === prev) {
|
|
if (null !== parentNext) throw Error("The stacks must reach the root at the same time. This is a bug in React.");
|
|
} else {
|
|
if (null === parentNext) throw Error("The stacks must reach the root at the same time. This is a bug in React.");
|
|
popToNearestCommonAncestor(prev, parentNext);
|
|
}
|
|
next.context._currentValue = next.value;
|
|
}
|
|
}
|
|
function popAllPrevious(prev) {
|
|
prev.context._currentValue = prev.parentValue;
|
|
prev = prev.parent;
|
|
null !== prev && popAllPrevious(prev);
|
|
}
|
|
function pushAllNext(next) {
|
|
var parentNext = next.parent;
|
|
null !== parentNext && pushAllNext(parentNext);
|
|
next.context._currentValue = next.value;
|
|
}
|
|
function popPreviousToCommonLevel(prev, next) {
|
|
prev.context._currentValue = prev.parentValue;
|
|
prev = prev.parent;
|
|
if (null === prev) throw Error("The depth must equal at least at zero before reaching the root. This is a bug in React.");
|
|
prev.depth === next.depth ? popToNearestCommonAncestor(prev, next) : popPreviousToCommonLevel(prev, next);
|
|
}
|
|
function popNextToCommonLevel(prev, next) {
|
|
var parentNext = next.parent;
|
|
if (null === parentNext) throw Error("The depth must equal at least at zero before reaching the root. This is a bug in React.");
|
|
prev.depth === parentNext.depth ? popToNearestCommonAncestor(prev, parentNext) : popNextToCommonLevel(prev, parentNext);
|
|
next.context._currentValue = next.value;
|
|
}
|
|
function switchContext(newSnapshot) {
|
|
var prev = currentActiveSnapshot;
|
|
prev !== newSnapshot && (null === prev ? pushAllNext(newSnapshot) : null === newSnapshot ? popAllPrevious(prev) : prev.depth === newSnapshot.depth ? popToNearestCommonAncestor(prev, newSnapshot) : prev.depth > newSnapshot.depth ? popPreviousToCommonLevel(prev, newSnapshot) : popNextToCommonLevel(prev, newSnapshot), currentActiveSnapshot = newSnapshot);
|
|
}
|
|
var classComponentUpdater = {
|
|
enqueueSetState: function(inst, payload) {
|
|
inst = inst._reactInternals;
|
|
null !== inst.queue && inst.queue.push(payload);
|
|
},
|
|
enqueueReplaceState: function(inst, payload) {
|
|
inst = inst._reactInternals;
|
|
inst.replace = true;
|
|
inst.queue = [
|
|
payload
|
|
];
|
|
},
|
|
enqueueForceUpdate: function() {
|
|
}
|
|
}, emptyTreeContext = {
|
|
id: 1,
|
|
overflow: ""
|
|
};
|
|
function pushTreeContext(baseContext, totalChildren, index) {
|
|
var baseIdWithLeadingBit = baseContext.id;
|
|
baseContext = baseContext.overflow;
|
|
var baseLength = 32 - clz32(baseIdWithLeadingBit) - 1;
|
|
baseIdWithLeadingBit &= ~(1 << baseLength);
|
|
index += 1;
|
|
var length = 32 - clz32(totalChildren) + baseLength;
|
|
if (30 < length) {
|
|
var numberOfOverflowBits = baseLength - baseLength % 5;
|
|
length = (baseIdWithLeadingBit & (1 << numberOfOverflowBits) - 1).toString(32);
|
|
baseIdWithLeadingBit >>= numberOfOverflowBits;
|
|
baseLength -= numberOfOverflowBits;
|
|
return {
|
|
id: 1 << 32 - clz32(totalChildren) + baseLength | index << baseLength | baseIdWithLeadingBit,
|
|
overflow: length + baseContext
|
|
};
|
|
}
|
|
return {
|
|
id: 1 << length | index << baseLength | baseIdWithLeadingBit,
|
|
overflow: baseContext
|
|
};
|
|
}
|
|
var clz32 = Math.clz32 ? Math.clz32 : clz32Fallback, log = Math.log, LN2 = Math.LN2;
|
|
function clz32Fallback(x) {
|
|
x >>>= 0;
|
|
return 0 === x ? 32 : 31 - (log(x) / LN2 | 0) | 0;
|
|
}
|
|
function noop() {
|
|
}
|
|
var SuspenseException = Error("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`.");
|
|
function trackUsedThenable(thenableState2, thenable, index) {
|
|
index = thenableState2[index];
|
|
void 0 === index ? thenableState2.push(thenable) : index !== thenable && (thenable.then(noop, noop), thenable = index);
|
|
switch (thenable.status) {
|
|
case "fulfilled":
|
|
return thenable.value;
|
|
case "rejected":
|
|
throw thenable.reason;
|
|
default:
|
|
"string" === typeof thenable.status ? thenable.then(noop, noop) : (thenableState2 = thenable, thenableState2.status = "pending", thenableState2.then(function(fulfilledValue) {
|
|
if ("pending" === thenable.status) {
|
|
var fulfilledThenable = thenable;
|
|
fulfilledThenable.status = "fulfilled";
|
|
fulfilledThenable.value = fulfilledValue;
|
|
}
|
|
}, function(error) {
|
|
if ("pending" === thenable.status) {
|
|
var rejectedThenable = thenable;
|
|
rejectedThenable.status = "rejected";
|
|
rejectedThenable.reason = error;
|
|
}
|
|
}));
|
|
switch (thenable.status) {
|
|
case "fulfilled":
|
|
return thenable.value;
|
|
case "rejected":
|
|
throw thenable.reason;
|
|
}
|
|
suspendedThenable = thenable;
|
|
throw SuspenseException;
|
|
}
|
|
}
|
|
var suspendedThenable = null;
|
|
function getSuspendedThenable() {
|
|
if (null === suspendedThenable) throw Error("Expected a suspended thenable. This is a bug in React. Please file an issue.");
|
|
var thenable = suspendedThenable;
|
|
suspendedThenable = null;
|
|
return thenable;
|
|
}
|
|
function is(x, y) {
|
|
return x === y && (0 !== x || 1 / x === 1 / y) || x !== x && y !== y;
|
|
}
|
|
var objectIs = "function" === typeof Object.is ? Object.is : is, currentlyRenderingComponent = null, currentlyRenderingTask = null, currentlyRenderingRequest = null, currentlyRenderingKeyPath = null, firstWorkInProgressHook = null, workInProgressHook = null, isReRender = false, didScheduleRenderPhaseUpdate = false, localIdCounter = 0, actionStateCounter = 0, actionStateMatchingIndex = -1, thenableIndexCounter = 0, thenableState = null, renderPhaseUpdates = null, numberOfReRenders = 0;
|
|
function resolveCurrentlyRenderingComponent() {
|
|
if (null === currentlyRenderingComponent) throw Error("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.");
|
|
return currentlyRenderingComponent;
|
|
}
|
|
function createHook() {
|
|
if (0 < numberOfReRenders) throw Error("Rendered more hooks than during the previous render");
|
|
return {
|
|
memoizedState: null,
|
|
queue: null,
|
|
next: null
|
|
};
|
|
}
|
|
function createWorkInProgressHook() {
|
|
null === workInProgressHook ? null === firstWorkInProgressHook ? (isReRender = false, firstWorkInProgressHook = workInProgressHook = createHook()) : (isReRender = true, workInProgressHook = firstWorkInProgressHook) : null === workInProgressHook.next ? (isReRender = false, workInProgressHook = workInProgressHook.next = createHook()) : (isReRender = true, workInProgressHook = workInProgressHook.next);
|
|
return workInProgressHook;
|
|
}
|
|
function getThenableStateAfterSuspending() {
|
|
var state = thenableState;
|
|
thenableState = null;
|
|
return state;
|
|
}
|
|
function resetHooksState() {
|
|
currentlyRenderingKeyPath = currentlyRenderingRequest = currentlyRenderingTask = currentlyRenderingComponent = null;
|
|
didScheduleRenderPhaseUpdate = false;
|
|
firstWorkInProgressHook = null;
|
|
numberOfReRenders = 0;
|
|
workInProgressHook = renderPhaseUpdates = null;
|
|
}
|
|
function basicStateReducer(state, action) {
|
|
return "function" === typeof action ? action(state) : action;
|
|
}
|
|
function useReducer(reducer, initialArg, init2) {
|
|
currentlyRenderingComponent = resolveCurrentlyRenderingComponent();
|
|
workInProgressHook = createWorkInProgressHook();
|
|
if (isReRender) {
|
|
var queue = workInProgressHook.queue;
|
|
initialArg = queue.dispatch;
|
|
if (null !== renderPhaseUpdates && (init2 = renderPhaseUpdates.get(queue), void 0 !== init2)) {
|
|
renderPhaseUpdates.delete(queue);
|
|
queue = workInProgressHook.memoizedState;
|
|
do
|
|
queue = reducer(queue, init2.action), init2 = init2.next;
|
|
while (null !== init2);
|
|
workInProgressHook.memoizedState = queue;
|
|
return [
|
|
queue,
|
|
initialArg
|
|
];
|
|
}
|
|
return [
|
|
workInProgressHook.memoizedState,
|
|
initialArg
|
|
];
|
|
}
|
|
reducer = reducer === basicStateReducer ? "function" === typeof initialArg ? initialArg() : initialArg : void 0 !== init2 ? init2(initialArg) : initialArg;
|
|
workInProgressHook.memoizedState = reducer;
|
|
reducer = workInProgressHook.queue = {
|
|
last: null,
|
|
dispatch: null
|
|
};
|
|
reducer = reducer.dispatch = dispatchAction.bind(null, currentlyRenderingComponent, reducer);
|
|
return [
|
|
workInProgressHook.memoizedState,
|
|
reducer
|
|
];
|
|
}
|
|
function useMemo(nextCreate, deps) {
|
|
currentlyRenderingComponent = resolveCurrentlyRenderingComponent();
|
|
workInProgressHook = createWorkInProgressHook();
|
|
deps = void 0 === deps ? null : deps;
|
|
if (null !== workInProgressHook) {
|
|
var prevState = workInProgressHook.memoizedState;
|
|
if (null !== prevState && null !== deps) {
|
|
var prevDeps = prevState[1];
|
|
a: if (null === prevDeps) prevDeps = false;
|
|
else {
|
|
for (var i = 0; i < prevDeps.length && i < deps.length; i++) if (!objectIs(deps[i], prevDeps[i])) {
|
|
prevDeps = false;
|
|
break a;
|
|
}
|
|
prevDeps = true;
|
|
}
|
|
if (prevDeps) return prevState[0];
|
|
}
|
|
}
|
|
nextCreate = nextCreate();
|
|
workInProgressHook.memoizedState = [
|
|
nextCreate,
|
|
deps
|
|
];
|
|
return nextCreate;
|
|
}
|
|
function dispatchAction(componentIdentity, queue, action) {
|
|
if (25 <= numberOfReRenders) throw Error("Too many re-renders. React limits the number of renders to prevent an infinite loop.");
|
|
if (componentIdentity === currentlyRenderingComponent) if (didScheduleRenderPhaseUpdate = true, componentIdentity = {
|
|
action,
|
|
next: null
|
|
}, null === renderPhaseUpdates && (renderPhaseUpdates = /* @__PURE__ */ new Map()), action = renderPhaseUpdates.get(queue), void 0 === action) renderPhaseUpdates.set(queue, componentIdentity);
|
|
else {
|
|
for (queue = action; null !== queue.next; ) queue = queue.next;
|
|
queue.next = componentIdentity;
|
|
}
|
|
}
|
|
function throwOnUseEffectEventCall() {
|
|
throw Error("A function wrapped in useEffectEvent can't be called during rendering.");
|
|
}
|
|
function unsupportedStartTransition() {
|
|
throw Error("startTransition cannot be called during server rendering.");
|
|
}
|
|
function unsupportedSetOptimisticState() {
|
|
throw Error("Cannot update optimistic state while rendering.");
|
|
}
|
|
function useActionState(action, initialState, permalink) {
|
|
resolveCurrentlyRenderingComponent();
|
|
var actionStateHookIndex = actionStateCounter++, request = currentlyRenderingRequest;
|
|
if ("function" === typeof action.$$FORM_ACTION) {
|
|
var nextPostbackStateKey = null, componentKeyPath = currentlyRenderingKeyPath;
|
|
request = request.formState;
|
|
var isSignatureEqual = action.$$IS_SIGNATURE_EQUAL;
|
|
if (null !== request && "function" === typeof isSignatureEqual) {
|
|
var postbackKey = request[1];
|
|
isSignatureEqual.call(action, request[2], request[3]) && (nextPostbackStateKey = void 0 !== permalink ? "p" + permalink : "k" + murmurhash3_32_gc(JSON.stringify([
|
|
componentKeyPath,
|
|
null,
|
|
actionStateHookIndex
|
|
]), 0), postbackKey === nextPostbackStateKey && (actionStateMatchingIndex = actionStateHookIndex, initialState = request[0]));
|
|
}
|
|
var boundAction = action.bind(null, initialState);
|
|
action = function(payload) {
|
|
boundAction(payload);
|
|
};
|
|
"function" === typeof boundAction.$$FORM_ACTION && (action.$$FORM_ACTION = function(prefix3) {
|
|
prefix3 = boundAction.$$FORM_ACTION(prefix3);
|
|
void 0 !== permalink && (permalink += "", prefix3.action = permalink);
|
|
var formData = prefix3.data;
|
|
formData && (null === nextPostbackStateKey && (nextPostbackStateKey = void 0 !== permalink ? "p" + permalink : "k" + murmurhash3_32_gc(JSON.stringify([
|
|
componentKeyPath,
|
|
null,
|
|
actionStateHookIndex
|
|
]), 0)), formData.append("$ACTION_KEY", nextPostbackStateKey));
|
|
return prefix3;
|
|
});
|
|
return [
|
|
initialState,
|
|
action,
|
|
false
|
|
];
|
|
}
|
|
var boundAction$22 = action.bind(null, initialState);
|
|
return [
|
|
initialState,
|
|
function(payload) {
|
|
boundAction$22(payload);
|
|
},
|
|
false
|
|
];
|
|
}
|
|
function unwrapThenable(thenable) {
|
|
var index = thenableIndexCounter;
|
|
thenableIndexCounter += 1;
|
|
null === thenableState && (thenableState = []);
|
|
return trackUsedThenable(thenableState, thenable, index);
|
|
}
|
|
function unsupportedRefresh() {
|
|
throw Error("Cache cannot be refreshed during server rendering.");
|
|
}
|
|
var HooksDispatcher = {
|
|
readContext: function(context) {
|
|
return context._currentValue;
|
|
},
|
|
use: function(usable) {
|
|
if (null !== usable && "object" === typeof usable) {
|
|
if ("function" === typeof usable.then) return unwrapThenable(usable);
|
|
if (usable.$$typeof === REACT_CONTEXT_TYPE) return usable._currentValue;
|
|
}
|
|
throw Error("An unsupported type was passed to use(): " + String(usable));
|
|
},
|
|
useContext: function(context) {
|
|
resolveCurrentlyRenderingComponent();
|
|
return context._currentValue;
|
|
},
|
|
useMemo,
|
|
useReducer,
|
|
useRef: function(initialValue) {
|
|
currentlyRenderingComponent = resolveCurrentlyRenderingComponent();
|
|
workInProgressHook = createWorkInProgressHook();
|
|
var previousRef = workInProgressHook.memoizedState;
|
|
return null === previousRef ? (initialValue = {
|
|
current: initialValue
|
|
}, workInProgressHook.memoizedState = initialValue) : previousRef;
|
|
},
|
|
useState: function(initialState) {
|
|
return useReducer(basicStateReducer, initialState);
|
|
},
|
|
useInsertionEffect: noop,
|
|
useLayoutEffect: noop,
|
|
useCallback: function(callback, deps) {
|
|
return useMemo(function() {
|
|
return callback;
|
|
}, deps);
|
|
},
|
|
useImperativeHandle: noop,
|
|
useEffect: noop,
|
|
useDebugValue: noop,
|
|
useDeferredValue: function(value, initialValue) {
|
|
resolveCurrentlyRenderingComponent();
|
|
return void 0 !== initialValue ? initialValue : value;
|
|
},
|
|
useTransition: function() {
|
|
resolveCurrentlyRenderingComponent();
|
|
return [
|
|
false,
|
|
unsupportedStartTransition
|
|
];
|
|
},
|
|
useId: function() {
|
|
var JSCompiler_inline_result = currentlyRenderingTask.treeContext;
|
|
var overflow = JSCompiler_inline_result.overflow;
|
|
JSCompiler_inline_result = JSCompiler_inline_result.id;
|
|
JSCompiler_inline_result = (JSCompiler_inline_result & ~(1 << 32 - clz32(JSCompiler_inline_result) - 1)).toString(32) + overflow;
|
|
var resumableState = currentResumableState;
|
|
if (null === resumableState) throw Error("Invalid hook call. Hooks can only be called inside of the body of a function component.");
|
|
overflow = localIdCounter++;
|
|
JSCompiler_inline_result = "_" + resumableState.idPrefix + "R_" + JSCompiler_inline_result;
|
|
0 < overflow && (JSCompiler_inline_result += "H" + overflow.toString(32));
|
|
return JSCompiler_inline_result + "_";
|
|
},
|
|
useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) {
|
|
if (void 0 === getServerSnapshot) throw Error("Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering.");
|
|
return getServerSnapshot();
|
|
},
|
|
useOptimistic: function(passthrough) {
|
|
resolveCurrentlyRenderingComponent();
|
|
return [
|
|
passthrough,
|
|
unsupportedSetOptimisticState
|
|
];
|
|
},
|
|
useActionState,
|
|
useFormState: useActionState,
|
|
useHostTransitionStatus: function() {
|
|
resolveCurrentlyRenderingComponent();
|
|
return sharedNotPendingObject;
|
|
},
|
|
useMemoCache: function(size) {
|
|
for (var data = Array(size), i = 0; i < size; i++) data[i] = REACT_MEMO_CACHE_SENTINEL;
|
|
return data;
|
|
},
|
|
useCacheRefresh: function() {
|
|
return unsupportedRefresh;
|
|
},
|
|
useEffectEvent: function() {
|
|
return throwOnUseEffectEventCall;
|
|
}
|
|
}, currentResumableState = null, DefaultAsyncDispatcher = {
|
|
getCacheForType: function() {
|
|
throw Error("Not implemented.");
|
|
},
|
|
cacheSignal: function() {
|
|
throw Error("Not implemented.");
|
|
}
|
|
};
|
|
function prepareStackTrace(error, structuredStackTrace) {
|
|
error = (error.name || "Error") + ": " + (error.message || "");
|
|
for (var i = 0; i < structuredStackTrace.length; i++) error += "\n at " + structuredStackTrace[i].toString();
|
|
return error;
|
|
}
|
|
var prefix2, suffix;
|
|
function describeBuiltInComponentFrame(name) {
|
|
if (void 0 === prefix2) try {
|
|
throw Error();
|
|
} catch (x) {
|
|
var match = x.stack.trim().match(/\n( *(at )?)/);
|
|
prefix2 = match && match[1] || "";
|
|
suffix = -1 < x.stack.indexOf("\n at") ? " (<anonymous>)" : -1 < x.stack.indexOf("@") ? "@unknown:0:0" : "";
|
|
}
|
|
return "\n" + prefix2 + name + suffix;
|
|
}
|
|
var reentry = false;
|
|
function describeNativeComponentFrame(fn, construct) {
|
|
if (!fn || reentry) return "";
|
|
reentry = true;
|
|
var previousPrepareStackTrace = Error.prepareStackTrace;
|
|
Error.prepareStackTrace = prepareStackTrace;
|
|
try {
|
|
var RunInRootFrame = {
|
|
DetermineComponentFrameRoot: function() {
|
|
try {
|
|
if (construct) {
|
|
var Fake = function() {
|
|
throw Error();
|
|
};
|
|
Object.defineProperty(Fake.prototype, "props", {
|
|
set: function() {
|
|
throw Error();
|
|
}
|
|
});
|
|
if ("object" === typeof Reflect && Reflect.construct) {
|
|
try {
|
|
Reflect.construct(Fake, []);
|
|
} catch (x) {
|
|
var control = x;
|
|
}
|
|
Reflect.construct(fn, [], Fake);
|
|
} else {
|
|
try {
|
|
Fake.call();
|
|
} catch (x$24) {
|
|
control = x$24;
|
|
}
|
|
fn.call(Fake.prototype);
|
|
}
|
|
} else {
|
|
try {
|
|
throw Error();
|
|
} catch (x$25) {
|
|
control = x$25;
|
|
}
|
|
(Fake = fn()) && "function" === typeof Fake.catch && Fake.catch(function() {
|
|
});
|
|
}
|
|
} catch (sample) {
|
|
if (sample && control && "string" === typeof sample.stack) return [
|
|
sample.stack,
|
|
control.stack
|
|
];
|
|
}
|
|
return [
|
|
null,
|
|
null
|
|
];
|
|
}
|
|
};
|
|
RunInRootFrame.DetermineComponentFrameRoot.displayName = "DetermineComponentFrameRoot";
|
|
var namePropDescriptor = Object.getOwnPropertyDescriptor(RunInRootFrame.DetermineComponentFrameRoot, "name");
|
|
namePropDescriptor && namePropDescriptor.configurable && Object.defineProperty(RunInRootFrame.DetermineComponentFrameRoot, "name", {
|
|
value: "DetermineComponentFrameRoot"
|
|
});
|
|
var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(), sampleStack = _RunInRootFrame$Deter[0], controlStack = _RunInRootFrame$Deter[1];
|
|
if (sampleStack && controlStack) {
|
|
var sampleLines = sampleStack.split("\n"), controlLines = controlStack.split("\n");
|
|
for (namePropDescriptor = RunInRootFrame = 0; RunInRootFrame < sampleLines.length && !sampleLines[RunInRootFrame].includes("DetermineComponentFrameRoot"); ) RunInRootFrame++;
|
|
for (; namePropDescriptor < controlLines.length && !controlLines[namePropDescriptor].includes("DetermineComponentFrameRoot"); ) namePropDescriptor++;
|
|
if (RunInRootFrame === sampleLines.length || namePropDescriptor === controlLines.length) for (RunInRootFrame = sampleLines.length - 1, namePropDescriptor = controlLines.length - 1; 1 <= RunInRootFrame && 0 <= namePropDescriptor && sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]; ) namePropDescriptor--;
|
|
for (; 1 <= RunInRootFrame && 0 <= namePropDescriptor; RunInRootFrame--, namePropDescriptor--) if (sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]) {
|
|
if (1 !== RunInRootFrame || 1 !== namePropDescriptor) {
|
|
do
|
|
if (RunInRootFrame--, namePropDescriptor--, 0 > namePropDescriptor || sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]) {
|
|
var frame = "\n" + sampleLines[RunInRootFrame].replace(" at new ", " at ");
|
|
fn.displayName && frame.includes("<anonymous>") && (frame = frame.replace("<anonymous>", fn.displayName));
|
|
return frame;
|
|
}
|
|
while (1 <= RunInRootFrame && 0 <= namePropDescriptor);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
} finally {
|
|
reentry = false, Error.prepareStackTrace = previousPrepareStackTrace;
|
|
}
|
|
return (previousPrepareStackTrace = fn ? fn.displayName || fn.name : "") ? describeBuiltInComponentFrame(previousPrepareStackTrace) : "";
|
|
}
|
|
function describeComponentStackByType(type) {
|
|
if ("string" === typeof type) return describeBuiltInComponentFrame(type);
|
|
if ("function" === typeof type) return type.prototype && type.prototype.isReactComponent ? describeNativeComponentFrame(type, true) : describeNativeComponentFrame(type, false);
|
|
if ("object" === typeof type && null !== type) {
|
|
switch (type.$$typeof) {
|
|
case REACT_FORWARD_REF_TYPE:
|
|
return describeNativeComponentFrame(type.render, false);
|
|
case REACT_MEMO_TYPE:
|
|
return describeNativeComponentFrame(type.type, false);
|
|
case REACT_LAZY_TYPE:
|
|
var lazyComponent = type, payload = lazyComponent._payload;
|
|
lazyComponent = lazyComponent._init;
|
|
try {
|
|
type = lazyComponent(payload);
|
|
} catch (x) {
|
|
return describeBuiltInComponentFrame("Lazy");
|
|
}
|
|
return describeComponentStackByType(type);
|
|
}
|
|
if ("string" === typeof type.name) {
|
|
a: {
|
|
payload = type.name;
|
|
lazyComponent = type.env;
|
|
var location = type.debugLocation;
|
|
if (null != location && (type = Error.prepareStackTrace, Error.prepareStackTrace = prepareStackTrace, location = location.stack, Error.prepareStackTrace = type, location.startsWith("Error: react-stack-top-frame\n") && (location = location.slice(29)), type = location.indexOf("\n"), -1 !== type && (location = location.slice(type + 1)), type = location.indexOf("react_stack_bottom_frame"), -1 !== type && (type = location.lastIndexOf("\n", type)), type = -1 !== type ? location = location.slice(0, type) : "", location = type.lastIndexOf("\n"), type = -1 === location ? type : type.slice(location + 1), -1 !== type.indexOf(payload))) {
|
|
payload = "\n" + type;
|
|
break a;
|
|
}
|
|
payload = describeBuiltInComponentFrame(payload + (lazyComponent ? " [" + lazyComponent + "]" : ""));
|
|
}
|
|
return payload;
|
|
}
|
|
}
|
|
switch (type) {
|
|
case REACT_SUSPENSE_LIST_TYPE:
|
|
return describeBuiltInComponentFrame("SuspenseList");
|
|
case REACT_SUSPENSE_TYPE:
|
|
return describeBuiltInComponentFrame("Suspense");
|
|
}
|
|
return "";
|
|
}
|
|
function isEligibleForOutlining(request, boundary) {
|
|
return (500 < boundary.byteSize || hasSuspenseyContent(boundary.contentState)) && null === boundary.contentPreamble;
|
|
}
|
|
function defaultErrorHandler(error) {
|
|
if ("object" === typeof error && null !== error && "string" === typeof error.environmentName) {
|
|
var JSCompiler_inline_result = error.environmentName;
|
|
error = [
|
|
error
|
|
].slice(0);
|
|
"string" === typeof error[0] ? error.splice(0, 1, "\x1B[0m\x1B[7m%c%s\x1B[0m%c " + error[0], "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", " " + JSCompiler_inline_result + " ", "") : error.splice(0, 0, "\x1B[0m\x1B[7m%c%s\x1B[0m%c", "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", " " + JSCompiler_inline_result + " ", "");
|
|
error.unshift(console);
|
|
JSCompiler_inline_result = bind.apply(console.error, error);
|
|
JSCompiler_inline_result();
|
|
} else console.error(error);
|
|
return null;
|
|
}
|
|
function RequestInstance(resumableState, renderState, rootFormatContext, progressiveChunkSize, onError, onAllReady, onShellReady, onShellError, onFatalError, onPostpone, formState) {
|
|
var abortSet = /* @__PURE__ */ new Set();
|
|
this.destination = null;
|
|
this.flushScheduled = false;
|
|
this.resumableState = resumableState;
|
|
this.renderState = renderState;
|
|
this.rootFormatContext = rootFormatContext;
|
|
this.progressiveChunkSize = void 0 === progressiveChunkSize ? 12800 : progressiveChunkSize;
|
|
this.status = 10;
|
|
this.fatalError = null;
|
|
this.pendingRootTasks = this.allPendingTasks = this.nextSegmentId = 0;
|
|
this.completedPreambleSegments = this.completedRootSegment = null;
|
|
this.byteSize = 0;
|
|
this.abortableTasks = abortSet;
|
|
this.pingedTasks = [];
|
|
this.clientRenderedBoundaries = [];
|
|
this.completedBoundaries = [];
|
|
this.partialBoundaries = [];
|
|
this.trackedPostpones = null;
|
|
this.onError = void 0 === onError ? defaultErrorHandler : onError;
|
|
this.onPostpone = void 0 === onPostpone ? noop : onPostpone;
|
|
this.onAllReady = void 0 === onAllReady ? noop : onAllReady;
|
|
this.onShellReady = void 0 === onShellReady ? noop : onShellReady;
|
|
this.onShellError = void 0 === onShellError ? noop : onShellError;
|
|
this.onFatalError = void 0 === onFatalError ? noop : onFatalError;
|
|
this.formState = void 0 === formState ? null : formState;
|
|
}
|
|
function createRequest(children, resumableState, renderState, rootFormatContext, progressiveChunkSize, onError, onAllReady, onShellReady, onShellError, onFatalError, onPostpone, formState) {
|
|
resumableState = new RequestInstance(resumableState, renderState, rootFormatContext, progressiveChunkSize, onError, onAllReady, onShellReady, onShellError, onFatalError, onPostpone, formState);
|
|
renderState = createPendingSegment(resumableState, 0, null, rootFormatContext, false, false);
|
|
renderState.parentFlushed = true;
|
|
children = createRenderTask(resumableState, null, children, -1, null, renderState, null, null, resumableState.abortableTasks, null, rootFormatContext, null, emptyTreeContext, null, null);
|
|
pushComponentStack(children);
|
|
resumableState.pingedTasks.push(children);
|
|
return resumableState;
|
|
}
|
|
function createPrerenderRequest(children, resumableState, renderState, rootFormatContext, progressiveChunkSize, onError, onAllReady, onShellReady, onShellError, onFatalError, onPostpone) {
|
|
children = createRequest(children, resumableState, renderState, rootFormatContext, progressiveChunkSize, onError, onAllReady, onShellReady, onShellError, onFatalError, onPostpone, void 0);
|
|
children.trackedPostpones = {
|
|
workingMap: /* @__PURE__ */ new Map(),
|
|
rootNodes: [],
|
|
rootSlots: null
|
|
};
|
|
return children;
|
|
}
|
|
function resumeRequest(children, postponedState, renderState, onError, onAllReady, onShellReady, onShellError, onFatalError, onPostpone) {
|
|
renderState = new RequestInstance(postponedState.resumableState, renderState, postponedState.rootFormatContext, postponedState.progressiveChunkSize, onError, onAllReady, onShellReady, onShellError, onFatalError, onPostpone, null);
|
|
renderState.nextSegmentId = postponedState.nextSegmentId;
|
|
if ("number" === typeof postponedState.replaySlots) return onError = createPendingSegment(renderState, 0, null, postponedState.rootFormatContext, false, false), onError.parentFlushed = true, children = createRenderTask(renderState, null, children, -1, null, onError, null, null, renderState.abortableTasks, null, postponedState.rootFormatContext, null, emptyTreeContext, null, null), pushComponentStack(children), renderState.pingedTasks.push(children), renderState;
|
|
children = createReplayTask(renderState, null, {
|
|
nodes: postponedState.replayNodes,
|
|
slots: postponedState.replaySlots,
|
|
pendingTasks: 0
|
|
}, children, -1, null, null, renderState.abortableTasks, null, postponedState.rootFormatContext, null, emptyTreeContext, null, null);
|
|
pushComponentStack(children);
|
|
renderState.pingedTasks.push(children);
|
|
return renderState;
|
|
}
|
|
function resumeAndPrerenderRequest(children, postponedState, renderState, onError, onAllReady, onShellReady, onShellError, onFatalError, onPostpone) {
|
|
children = resumeRequest(children, postponedState, renderState, onError, onAllReady, onShellReady, onShellError, onFatalError, onPostpone);
|
|
children.trackedPostpones = {
|
|
workingMap: /* @__PURE__ */ new Map(),
|
|
rootNodes: [],
|
|
rootSlots: null
|
|
};
|
|
return children;
|
|
}
|
|
var currentRequest = null;
|
|
function resolveRequest() {
|
|
if (currentRequest) return currentRequest;
|
|
if (supportsRequestStorage) {
|
|
var store = requestStorage.getStore();
|
|
if (store) return store;
|
|
}
|
|
return null;
|
|
}
|
|
function pingTask(request, task) {
|
|
request.pingedTasks.push(task);
|
|
1 === request.pingedTasks.length && (request.flushScheduled = null !== request.destination, null !== request.trackedPostpones || 10 === request.status ? scheduleMicrotask(function() {
|
|
return performWork(request);
|
|
}) : setTimeout(function() {
|
|
return performWork(request);
|
|
}, 0));
|
|
}
|
|
function createSuspenseBoundary(request, row, fallbackAbortableTasks, contentPreamble, fallbackPreamble) {
|
|
fallbackAbortableTasks = {
|
|
status: 0,
|
|
rootSegmentID: -1,
|
|
parentFlushed: false,
|
|
pendingTasks: 0,
|
|
row,
|
|
completedSegments: [],
|
|
byteSize: 0,
|
|
fallbackAbortableTasks,
|
|
errorDigest: null,
|
|
contentState: createHoistableState(),
|
|
fallbackState: createHoistableState(),
|
|
contentPreamble,
|
|
fallbackPreamble,
|
|
trackedContentKeyPath: null,
|
|
trackedFallbackNode: null
|
|
};
|
|
null !== row && (row.pendingTasks++, contentPreamble = row.boundaries, null !== contentPreamble && (request.allPendingTasks++, fallbackAbortableTasks.pendingTasks++, contentPreamble.push(fallbackAbortableTasks)), request = row.inheritedHoistables, null !== request && hoistHoistables(fallbackAbortableTasks.contentState, request));
|
|
return fallbackAbortableTasks;
|
|
}
|
|
function createRenderTask(request, thenableState2, node, childIndex, blockedBoundary, blockedSegment, blockedPreamble, hoistableState, abortSet, keyPath, formatContext, context, treeContext, row, componentStack) {
|
|
request.allPendingTasks++;
|
|
null === blockedBoundary ? request.pendingRootTasks++ : blockedBoundary.pendingTasks++;
|
|
null !== row && row.pendingTasks++;
|
|
var task = {
|
|
replay: null,
|
|
node,
|
|
childIndex,
|
|
ping: function() {
|
|
return pingTask(request, task);
|
|
},
|
|
blockedBoundary,
|
|
blockedSegment,
|
|
blockedPreamble,
|
|
hoistableState,
|
|
abortSet,
|
|
keyPath,
|
|
formatContext,
|
|
context,
|
|
treeContext,
|
|
row,
|
|
componentStack,
|
|
thenableState: thenableState2
|
|
};
|
|
abortSet.add(task);
|
|
return task;
|
|
}
|
|
function createReplayTask(request, thenableState2, replay, node, childIndex, blockedBoundary, hoistableState, abortSet, keyPath, formatContext, context, treeContext, row, componentStack) {
|
|
request.allPendingTasks++;
|
|
null === blockedBoundary ? request.pendingRootTasks++ : blockedBoundary.pendingTasks++;
|
|
null !== row && row.pendingTasks++;
|
|
replay.pendingTasks++;
|
|
var task = {
|
|
replay,
|
|
node,
|
|
childIndex,
|
|
ping: function() {
|
|
return pingTask(request, task);
|
|
},
|
|
blockedBoundary,
|
|
blockedSegment: null,
|
|
blockedPreamble: null,
|
|
hoistableState,
|
|
abortSet,
|
|
keyPath,
|
|
formatContext,
|
|
context,
|
|
treeContext,
|
|
row,
|
|
componentStack,
|
|
thenableState: thenableState2
|
|
};
|
|
abortSet.add(task);
|
|
return task;
|
|
}
|
|
function createPendingSegment(request, index, boundary, parentFormatContext, lastPushedText, textEmbedded) {
|
|
return {
|
|
status: 0,
|
|
parentFlushed: false,
|
|
id: -1,
|
|
index,
|
|
chunks: [],
|
|
children: [],
|
|
preambleChildren: [],
|
|
parentFormatContext,
|
|
boundary,
|
|
lastPushedText,
|
|
textEmbedded
|
|
};
|
|
}
|
|
function pushComponentStack(task) {
|
|
var node = task.node;
|
|
if ("object" === typeof node && null !== node) switch (node.$$typeof) {
|
|
case REACT_ELEMENT_TYPE:
|
|
task.componentStack = {
|
|
parent: task.componentStack,
|
|
type: node.type
|
|
};
|
|
}
|
|
}
|
|
function replaceSuspenseComponentStackWithSuspenseFallbackStack(componentStack) {
|
|
return null === componentStack ? null : {
|
|
parent: componentStack.parent,
|
|
type: "Suspense Fallback"
|
|
};
|
|
}
|
|
function getThrownInfo(node$jscomp$0) {
|
|
var errorInfo = {};
|
|
node$jscomp$0 && Object.defineProperty(errorInfo, "componentStack", {
|
|
configurable: true,
|
|
enumerable: true,
|
|
get: function() {
|
|
try {
|
|
var info = "", node = node$jscomp$0;
|
|
do
|
|
info += describeComponentStackByType(node.type), node = node.parent;
|
|
while (node);
|
|
var JSCompiler_inline_result = info;
|
|
} catch (x) {
|
|
JSCompiler_inline_result = "\nError generating stack: " + x.message + "\n" + x.stack;
|
|
}
|
|
Object.defineProperty(errorInfo, "componentStack", {
|
|
value: JSCompiler_inline_result
|
|
});
|
|
return JSCompiler_inline_result;
|
|
}
|
|
});
|
|
return errorInfo;
|
|
}
|
|
function logRecoverableError(request, error, errorInfo) {
|
|
request = request.onError;
|
|
error = request(error, errorInfo);
|
|
if (null == error || "string" === typeof error) return error;
|
|
}
|
|
function fatalError(request, error) {
|
|
var onShellError = request.onShellError, onFatalError = request.onFatalError;
|
|
onShellError(error);
|
|
onFatalError(error);
|
|
null !== request.destination ? (request.status = 14, closeWithError(request.destination, error)) : (request.status = 13, request.fatalError = error);
|
|
}
|
|
function finishSuspenseListRow(request, row) {
|
|
unblockSuspenseListRow(request, row.next, row.hoistables);
|
|
}
|
|
function unblockSuspenseListRow(request, unblockedRow, inheritedHoistables) {
|
|
for (; null !== unblockedRow; ) {
|
|
null !== inheritedHoistables && (hoistHoistables(unblockedRow.hoistables, inheritedHoistables), unblockedRow.inheritedHoistables = inheritedHoistables);
|
|
var unblockedBoundaries = unblockedRow.boundaries;
|
|
if (null !== unblockedBoundaries) {
|
|
unblockedRow.boundaries = null;
|
|
for (var i = 0; i < unblockedBoundaries.length; i++) {
|
|
var unblockedBoundary = unblockedBoundaries[i];
|
|
null !== inheritedHoistables && hoistHoistables(unblockedBoundary.contentState, inheritedHoistables);
|
|
finishedTask(request, unblockedBoundary, null, null);
|
|
}
|
|
}
|
|
unblockedRow.pendingTasks--;
|
|
if (0 < unblockedRow.pendingTasks) break;
|
|
inheritedHoistables = unblockedRow.hoistables;
|
|
unblockedRow = unblockedRow.next;
|
|
}
|
|
}
|
|
function tryToResolveTogetherRow(request, togetherRow) {
|
|
var boundaries = togetherRow.boundaries;
|
|
if (null !== boundaries && togetherRow.pendingTasks === boundaries.length) {
|
|
for (var allCompleteAndInlinable = true, i = 0; i < boundaries.length; i++) {
|
|
var rowBoundary = boundaries[i];
|
|
if (1 !== rowBoundary.pendingTasks || rowBoundary.parentFlushed || isEligibleForOutlining(request, rowBoundary)) {
|
|
allCompleteAndInlinable = false;
|
|
break;
|
|
}
|
|
}
|
|
allCompleteAndInlinable && unblockSuspenseListRow(request, togetherRow, togetherRow.hoistables);
|
|
}
|
|
}
|
|
function createSuspenseListRow(previousRow) {
|
|
var newRow = {
|
|
pendingTasks: 1,
|
|
boundaries: null,
|
|
hoistables: createHoistableState(),
|
|
inheritedHoistables: null,
|
|
together: false,
|
|
next: null
|
|
};
|
|
null !== previousRow && 0 < previousRow.pendingTasks && (newRow.pendingTasks++, newRow.boundaries = [], previousRow.next = newRow);
|
|
return newRow;
|
|
}
|
|
function renderSuspenseListRows(request, task, keyPath, rows, revealOrder) {
|
|
var prevKeyPath = task.keyPath, prevTreeContext = task.treeContext, prevRow = task.row;
|
|
task.keyPath = keyPath;
|
|
keyPath = rows.length;
|
|
var previousSuspenseListRow = null;
|
|
if (null !== task.replay) {
|
|
var resumeSlots = task.replay.slots;
|
|
if (null !== resumeSlots && "object" === typeof resumeSlots) for (var n = 0; n < keyPath; n++) {
|
|
var i = "backwards" !== revealOrder && "unstable_legacy-backwards" !== revealOrder ? n : keyPath - 1 - n, node = rows[i];
|
|
task.row = previousSuspenseListRow = createSuspenseListRow(previousSuspenseListRow);
|
|
task.treeContext = pushTreeContext(prevTreeContext, keyPath, i);
|
|
var resumeSegmentID = resumeSlots[i];
|
|
"number" === typeof resumeSegmentID ? (resumeNode(request, task, resumeSegmentID, node, i), delete resumeSlots[i]) : renderNode(request, task, node, i);
|
|
0 === --previousSuspenseListRow.pendingTasks && finishSuspenseListRow(request, previousSuspenseListRow);
|
|
}
|
|
else for (resumeSlots = 0; resumeSlots < keyPath; resumeSlots++) n = "backwards" !== revealOrder && "unstable_legacy-backwards" !== revealOrder ? resumeSlots : keyPath - 1 - resumeSlots, i = rows[n], task.row = previousSuspenseListRow = createSuspenseListRow(previousSuspenseListRow), task.treeContext = pushTreeContext(prevTreeContext, keyPath, n), renderNode(request, task, i, n), 0 === --previousSuspenseListRow.pendingTasks && finishSuspenseListRow(request, previousSuspenseListRow);
|
|
} else if ("backwards" !== revealOrder && "unstable_legacy-backwards" !== revealOrder) for (revealOrder = 0; revealOrder < keyPath; revealOrder++) resumeSlots = rows[revealOrder], task.row = previousSuspenseListRow = createSuspenseListRow(previousSuspenseListRow), task.treeContext = pushTreeContext(prevTreeContext, keyPath, revealOrder), renderNode(request, task, resumeSlots, revealOrder), 0 === --previousSuspenseListRow.pendingTasks && finishSuspenseListRow(request, previousSuspenseListRow);
|
|
else {
|
|
revealOrder = task.blockedSegment;
|
|
resumeSlots = revealOrder.children.length;
|
|
n = revealOrder.chunks.length;
|
|
for (i = keyPath - 1; 0 <= i; i--) {
|
|
node = rows[i];
|
|
task.row = previousSuspenseListRow = createSuspenseListRow(previousSuspenseListRow);
|
|
task.treeContext = pushTreeContext(prevTreeContext, keyPath, i);
|
|
resumeSegmentID = createPendingSegment(request, n, null, task.formatContext, 0 === i ? revealOrder.lastPushedText : true, true);
|
|
revealOrder.children.splice(resumeSlots, 0, resumeSegmentID);
|
|
task.blockedSegment = resumeSegmentID;
|
|
try {
|
|
renderNode(request, task, node, i), resumeSegmentID.lastPushedText && resumeSegmentID.textEmbedded && resumeSegmentID.chunks.push(textSeparator), resumeSegmentID.status = 1, finishedSegment(request, task.blockedBoundary, resumeSegmentID), 0 === --previousSuspenseListRow.pendingTasks && finishSuspenseListRow(request, previousSuspenseListRow);
|
|
} catch (thrownValue) {
|
|
throw resumeSegmentID.status = 12 === request.status ? 3 : 4, thrownValue;
|
|
}
|
|
}
|
|
task.blockedSegment = revealOrder;
|
|
revealOrder.lastPushedText = false;
|
|
}
|
|
null !== prevRow && null !== previousSuspenseListRow && 0 < previousSuspenseListRow.pendingTasks && (prevRow.pendingTasks++, previousSuspenseListRow.next = prevRow);
|
|
task.treeContext = prevTreeContext;
|
|
task.row = prevRow;
|
|
task.keyPath = prevKeyPath;
|
|
}
|
|
function renderWithHooks(request, task, keyPath, Component, props, secondArg) {
|
|
var prevThenableState = task.thenableState;
|
|
task.thenableState = null;
|
|
currentlyRenderingComponent = {};
|
|
currentlyRenderingTask = task;
|
|
currentlyRenderingRequest = request;
|
|
currentlyRenderingKeyPath = keyPath;
|
|
actionStateCounter = localIdCounter = 0;
|
|
actionStateMatchingIndex = -1;
|
|
thenableIndexCounter = 0;
|
|
thenableState = prevThenableState;
|
|
for (request = Component(props, secondArg); didScheduleRenderPhaseUpdate; ) didScheduleRenderPhaseUpdate = false, actionStateCounter = localIdCounter = 0, actionStateMatchingIndex = -1, thenableIndexCounter = 0, numberOfReRenders += 1, workInProgressHook = null, request = Component(props, secondArg);
|
|
resetHooksState();
|
|
return request;
|
|
}
|
|
function finishFunctionComponent(request, task, keyPath, children, hasId, actionStateCount, actionStateMatchingIndex2) {
|
|
var didEmitActionStateMarkers = false;
|
|
if (0 !== actionStateCount && null !== request.formState) {
|
|
var segment = task.blockedSegment;
|
|
if (null !== segment) {
|
|
didEmitActionStateMarkers = true;
|
|
segment = segment.chunks;
|
|
for (var i = 0; i < actionStateCount; i++) i === actionStateMatchingIndex2 ? segment.push(formStateMarkerIsMatching) : segment.push(formStateMarkerIsNotMatching);
|
|
}
|
|
}
|
|
actionStateCount = task.keyPath;
|
|
task.keyPath = keyPath;
|
|
hasId ? (keyPath = task.treeContext, task.treeContext = pushTreeContext(keyPath, 1, 0), renderNode(request, task, children, -1), task.treeContext = keyPath) : didEmitActionStateMarkers ? renderNode(request, task, children, -1) : renderNodeDestructive(request, task, children, -1);
|
|
task.keyPath = actionStateCount;
|
|
}
|
|
function renderElement(request, task, keyPath, type, props, ref) {
|
|
if ("function" === typeof type) if (type.prototype && type.prototype.isReactComponent) {
|
|
var newProps = props;
|
|
if ("ref" in props) {
|
|
newProps = {};
|
|
for (var propName in props) "ref" !== propName && (newProps[propName] = props[propName]);
|
|
}
|
|
var defaultProps = type.defaultProps;
|
|
if (defaultProps) {
|
|
newProps === props && (newProps = assign({}, newProps, props));
|
|
for (var propName$44 in defaultProps) void 0 === newProps[propName$44] && (newProps[propName$44] = defaultProps[propName$44]);
|
|
}
|
|
props = newProps;
|
|
newProps = emptyContextObject;
|
|
defaultProps = type.contextType;
|
|
"object" === typeof defaultProps && null !== defaultProps && (newProps = defaultProps._currentValue);
|
|
newProps = new type(props, newProps);
|
|
var initialState = void 0 !== newProps.state ? newProps.state : null;
|
|
newProps.updater = classComponentUpdater;
|
|
newProps.props = props;
|
|
newProps.state = initialState;
|
|
defaultProps = {
|
|
queue: [],
|
|
replace: false
|
|
};
|
|
newProps._reactInternals = defaultProps;
|
|
ref = type.contextType;
|
|
newProps.context = "object" === typeof ref && null !== ref ? ref._currentValue : emptyContextObject;
|
|
ref = type.getDerivedStateFromProps;
|
|
"function" === typeof ref && (ref = ref(props, initialState), initialState = null === ref || void 0 === ref ? initialState : assign({}, initialState, ref), newProps.state = initialState);
|
|
if ("function" !== typeof type.getDerivedStateFromProps && "function" !== typeof newProps.getSnapshotBeforeUpdate && ("function" === typeof newProps.UNSAFE_componentWillMount || "function" === typeof newProps.componentWillMount)) if (type = newProps.state, "function" === typeof newProps.componentWillMount && newProps.componentWillMount(), "function" === typeof newProps.UNSAFE_componentWillMount && newProps.UNSAFE_componentWillMount(), type !== newProps.state && classComponentUpdater.enqueueReplaceState(newProps, newProps.state, null), null !== defaultProps.queue && 0 < defaultProps.queue.length) if (type = defaultProps.queue, ref = defaultProps.replace, defaultProps.queue = null, defaultProps.replace = false, ref && 1 === type.length) newProps.state = type[0];
|
|
else {
|
|
defaultProps = ref ? type[0] : newProps.state;
|
|
initialState = true;
|
|
for (ref = ref ? 1 : 0; ref < type.length; ref++) propName$44 = type[ref], propName$44 = "function" === typeof propName$44 ? propName$44.call(newProps, defaultProps, props, void 0) : propName$44, null != propName$44 && (initialState ? (initialState = false, defaultProps = assign({}, defaultProps, propName$44)) : assign(defaultProps, propName$44));
|
|
newProps.state = defaultProps;
|
|
}
|
|
else defaultProps.queue = null;
|
|
type = newProps.render();
|
|
if (12 === request.status) throw null;
|
|
props = task.keyPath;
|
|
task.keyPath = keyPath;
|
|
renderNodeDestructive(request, task, type, -1);
|
|
task.keyPath = props;
|
|
} else {
|
|
type = renderWithHooks(request, task, keyPath, type, props, void 0);
|
|
if (12 === request.status) throw null;
|
|
finishFunctionComponent(request, task, keyPath, type, 0 !== localIdCounter, actionStateCounter, actionStateMatchingIndex);
|
|
}
|
|
else if ("string" === typeof type) if (newProps = task.blockedSegment, null === newProps) newProps = props.children, defaultProps = task.formatContext, initialState = task.keyPath, task.formatContext = getChildFormatContext(defaultProps, type, props), task.keyPath = keyPath, renderNode(request, task, newProps, -1), task.formatContext = defaultProps, task.keyPath = initialState;
|
|
else {
|
|
initialState = pushStartInstance(newProps.chunks, type, props, request.resumableState, request.renderState, task.blockedPreamble, task.hoistableState, task.formatContext, newProps.lastPushedText);
|
|
newProps.lastPushedText = false;
|
|
defaultProps = task.formatContext;
|
|
ref = task.keyPath;
|
|
task.keyPath = keyPath;
|
|
if (3 === (task.formatContext = getChildFormatContext(defaultProps, type, props)).insertionMode) {
|
|
keyPath = createPendingSegment(request, 0, null, task.formatContext, false, false);
|
|
newProps.preambleChildren.push(keyPath);
|
|
task.blockedSegment = keyPath;
|
|
try {
|
|
keyPath.status = 6, renderNode(request, task, initialState, -1), keyPath.lastPushedText && keyPath.textEmbedded && keyPath.chunks.push(textSeparator), keyPath.status = 1, finishedSegment(request, task.blockedBoundary, keyPath);
|
|
} finally {
|
|
task.blockedSegment = newProps;
|
|
}
|
|
} else renderNode(request, task, initialState, -1);
|
|
task.formatContext = defaultProps;
|
|
task.keyPath = ref;
|
|
a: {
|
|
task = newProps.chunks;
|
|
request = request.resumableState;
|
|
switch (type) {
|
|
case "title":
|
|
case "style":
|
|
case "script":
|
|
case "area":
|
|
case "base":
|
|
case "br":
|
|
case "col":
|
|
case "embed":
|
|
case "hr":
|
|
case "img":
|
|
case "input":
|
|
case "keygen":
|
|
case "link":
|
|
case "meta":
|
|
case "param":
|
|
case "source":
|
|
case "track":
|
|
case "wbr":
|
|
break a;
|
|
case "body":
|
|
if (1 >= defaultProps.insertionMode) {
|
|
request.hasBody = true;
|
|
break a;
|
|
}
|
|
break;
|
|
case "html":
|
|
if (0 === defaultProps.insertionMode) {
|
|
request.hasHtml = true;
|
|
break a;
|
|
}
|
|
break;
|
|
case "head":
|
|
if (1 >= defaultProps.insertionMode) break a;
|
|
}
|
|
task.push(endChunkForTag(type));
|
|
}
|
|
newProps.lastPushedText = false;
|
|
}
|
|
else {
|
|
switch (type) {
|
|
case REACT_LEGACY_HIDDEN_TYPE:
|
|
case REACT_STRICT_MODE_TYPE:
|
|
case REACT_PROFILER_TYPE:
|
|
case REACT_FRAGMENT_TYPE:
|
|
type = task.keyPath;
|
|
task.keyPath = keyPath;
|
|
renderNodeDestructive(request, task, props.children, -1);
|
|
task.keyPath = type;
|
|
return;
|
|
case REACT_ACTIVITY_TYPE:
|
|
type = task.blockedSegment;
|
|
null === type ? "hidden" !== props.mode && (type = task.keyPath, task.keyPath = keyPath, renderNode(request, task, props.children, -1), task.keyPath = type) : "hidden" !== props.mode && (type.chunks.push(startActivityBoundary), type.lastPushedText = false, newProps = task.keyPath, task.keyPath = keyPath, renderNode(request, task, props.children, -1), task.keyPath = newProps, type.chunks.push(endActivityBoundary), type.lastPushedText = false);
|
|
return;
|
|
case REACT_SUSPENSE_LIST_TYPE:
|
|
a: {
|
|
type = props.children;
|
|
props = props.revealOrder;
|
|
if ("forwards" === props || "backwards" === props || "unstable_legacy-backwards" === props) {
|
|
if (isArrayImpl(type)) {
|
|
renderSuspenseListRows(request, task, keyPath, type, props);
|
|
break a;
|
|
}
|
|
if (newProps = getIteratorFn(type)) {
|
|
if (newProps = newProps.call(type)) {
|
|
defaultProps = newProps.next();
|
|
if (!defaultProps.done) {
|
|
do
|
|
defaultProps = newProps.next();
|
|
while (!defaultProps.done);
|
|
renderSuspenseListRows(request, task, keyPath, type, props);
|
|
}
|
|
break a;
|
|
}
|
|
}
|
|
}
|
|
"together" === props ? (props = task.keyPath, newProps = task.row, defaultProps = task.row = createSuspenseListRow(null), defaultProps.boundaries = [], defaultProps.together = true, task.keyPath = keyPath, renderNodeDestructive(request, task, type, -1), 0 === --defaultProps.pendingTasks && finishSuspenseListRow(request, defaultProps), task.keyPath = props, task.row = newProps, null !== newProps && 0 < defaultProps.pendingTasks && (newProps.pendingTasks++, defaultProps.next = newProps)) : (props = task.keyPath, task.keyPath = keyPath, renderNodeDestructive(request, task, type, -1), task.keyPath = props);
|
|
}
|
|
return;
|
|
case REACT_VIEW_TRANSITION_TYPE:
|
|
case REACT_SCOPE_TYPE:
|
|
throw Error("ReactDOMServer does not yet support scope components.");
|
|
case REACT_SUSPENSE_TYPE:
|
|
a: if (null !== task.replay) {
|
|
type = task.keyPath;
|
|
newProps = task.formatContext;
|
|
defaultProps = task.row;
|
|
task.keyPath = keyPath;
|
|
task.formatContext = getSuspenseContentFormatContext(request.resumableState, newProps);
|
|
task.row = null;
|
|
keyPath = props.children;
|
|
try {
|
|
renderNode(request, task, keyPath, -1);
|
|
} finally {
|
|
task.keyPath = type, task.formatContext = newProps, task.row = defaultProps;
|
|
}
|
|
} else {
|
|
type = task.keyPath;
|
|
ref = task.formatContext;
|
|
var prevRow = task.row;
|
|
propName$44 = task.blockedBoundary;
|
|
propName = task.blockedPreamble;
|
|
var parentHoistableState = task.hoistableState, parentSegment = task.blockedSegment, fallback = props.fallback;
|
|
props = props.children;
|
|
var fallbackAbortSet = /* @__PURE__ */ new Set();
|
|
var newBoundary = 2 > task.formatContext.insertionMode ? createSuspenseBoundary(request, task.row, fallbackAbortSet, createPreambleState(), createPreambleState()) : createSuspenseBoundary(request, task.row, fallbackAbortSet, null, null);
|
|
null !== request.trackedPostpones && (newBoundary.trackedContentKeyPath = keyPath);
|
|
var boundarySegment = createPendingSegment(request, parentSegment.chunks.length, newBoundary, task.formatContext, false, false);
|
|
parentSegment.children.push(boundarySegment);
|
|
parentSegment.lastPushedText = false;
|
|
var contentRootSegment = createPendingSegment(request, 0, null, task.formatContext, false, false);
|
|
contentRootSegment.parentFlushed = true;
|
|
if (null !== request.trackedPostpones) {
|
|
newProps = task.componentStack;
|
|
defaultProps = [
|
|
keyPath[0],
|
|
"Suspense Fallback",
|
|
keyPath[2]
|
|
];
|
|
initialState = [
|
|
defaultProps[1],
|
|
defaultProps[2],
|
|
[],
|
|
null
|
|
];
|
|
request.trackedPostpones.workingMap.set(defaultProps, initialState);
|
|
newBoundary.trackedFallbackNode = initialState;
|
|
task.blockedSegment = boundarySegment;
|
|
task.blockedPreamble = newBoundary.fallbackPreamble;
|
|
task.keyPath = defaultProps;
|
|
task.formatContext = getSuspenseFallbackFormatContext(request.resumableState, ref);
|
|
task.componentStack = replaceSuspenseComponentStackWithSuspenseFallbackStack(newProps);
|
|
boundarySegment.status = 6;
|
|
try {
|
|
renderNode(request, task, fallback, -1), boundarySegment.lastPushedText && boundarySegment.textEmbedded && boundarySegment.chunks.push(textSeparator), boundarySegment.status = 1, finishedSegment(request, propName$44, boundarySegment);
|
|
} catch (thrownValue) {
|
|
throw boundarySegment.status = 12 === request.status ? 3 : 4, thrownValue;
|
|
} finally {
|
|
task.blockedSegment = parentSegment, task.blockedPreamble = propName, task.keyPath = type, task.formatContext = ref;
|
|
}
|
|
task = createRenderTask(request, null, props, -1, newBoundary, contentRootSegment, newBoundary.contentPreamble, newBoundary.contentState, task.abortSet, keyPath, getSuspenseContentFormatContext(request.resumableState, task.formatContext), task.context, task.treeContext, null, newProps);
|
|
pushComponentStack(task);
|
|
request.pingedTasks.push(task);
|
|
} else {
|
|
task.blockedBoundary = newBoundary;
|
|
task.blockedPreamble = newBoundary.contentPreamble;
|
|
task.hoistableState = newBoundary.contentState;
|
|
task.blockedSegment = contentRootSegment;
|
|
task.keyPath = keyPath;
|
|
task.formatContext = getSuspenseContentFormatContext(request.resumableState, ref);
|
|
task.row = null;
|
|
contentRootSegment.status = 6;
|
|
try {
|
|
if (renderNode(request, task, props, -1), contentRootSegment.lastPushedText && contentRootSegment.textEmbedded && contentRootSegment.chunks.push(textSeparator), contentRootSegment.status = 1, finishedSegment(request, newBoundary, contentRootSegment), queueCompletedSegment(newBoundary, contentRootSegment), 0 === newBoundary.pendingTasks && 0 === newBoundary.status) {
|
|
if (newBoundary.status = 1, !isEligibleForOutlining(request, newBoundary)) {
|
|
null !== prevRow && 0 === --prevRow.pendingTasks && finishSuspenseListRow(request, prevRow);
|
|
0 === request.pendingRootTasks && task.blockedPreamble && preparePreamble(request);
|
|
break a;
|
|
}
|
|
} else null !== prevRow && prevRow.together && tryToResolveTogetherRow(request, prevRow);
|
|
} catch (thrownValue$31) {
|
|
newBoundary.status = 4, 12 === request.status ? (contentRootSegment.status = 3, newProps = request.fatalError) : (contentRootSegment.status = 4, newProps = thrownValue$31), defaultProps = getThrownInfo(task.componentStack), initialState = logRecoverableError(request, newProps, defaultProps), newBoundary.errorDigest = initialState, untrackBoundary(request, newBoundary);
|
|
} finally {
|
|
task.blockedBoundary = propName$44, task.blockedPreamble = propName, task.hoistableState = parentHoistableState, task.blockedSegment = parentSegment, task.keyPath = type, task.formatContext = ref, task.row = prevRow;
|
|
}
|
|
task = createRenderTask(request, null, fallback, -1, propName$44, boundarySegment, newBoundary.fallbackPreamble, newBoundary.fallbackState, fallbackAbortSet, [
|
|
keyPath[0],
|
|
"Suspense Fallback",
|
|
keyPath[2]
|
|
], getSuspenseFallbackFormatContext(request.resumableState, task.formatContext), task.context, task.treeContext, task.row, replaceSuspenseComponentStackWithSuspenseFallbackStack(task.componentStack));
|
|
pushComponentStack(task);
|
|
request.pingedTasks.push(task);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
if ("object" === typeof type && null !== type) switch (type.$$typeof) {
|
|
case REACT_FORWARD_REF_TYPE:
|
|
if ("ref" in props) for (parentSegment in newProps = {}, props) "ref" !== parentSegment && (newProps[parentSegment] = props[parentSegment]);
|
|
else newProps = props;
|
|
type = renderWithHooks(request, task, keyPath, type.render, newProps, ref);
|
|
finishFunctionComponent(request, task, keyPath, type, 0 !== localIdCounter, actionStateCounter, actionStateMatchingIndex);
|
|
return;
|
|
case REACT_MEMO_TYPE:
|
|
renderElement(request, task, keyPath, type.type, props, ref);
|
|
return;
|
|
case REACT_CONTEXT_TYPE:
|
|
defaultProps = props.children;
|
|
newProps = task.keyPath;
|
|
props = props.value;
|
|
initialState = type._currentValue;
|
|
type._currentValue = props;
|
|
ref = currentActiveSnapshot;
|
|
currentActiveSnapshot = type = {
|
|
parent: ref,
|
|
depth: null === ref ? 0 : ref.depth + 1,
|
|
context: type,
|
|
parentValue: initialState,
|
|
value: props
|
|
};
|
|
task.context = type;
|
|
task.keyPath = keyPath;
|
|
renderNodeDestructive(request, task, defaultProps, -1);
|
|
request = currentActiveSnapshot;
|
|
if (null === request) throw Error("Tried to pop a Context at the root of the app. This is a bug in React.");
|
|
request.context._currentValue = request.parentValue;
|
|
request = currentActiveSnapshot = request.parent;
|
|
task.context = request;
|
|
task.keyPath = newProps;
|
|
return;
|
|
case REACT_CONSUMER_TYPE:
|
|
props = props.children;
|
|
type = props(type._context._currentValue);
|
|
props = task.keyPath;
|
|
task.keyPath = keyPath;
|
|
renderNodeDestructive(request, task, type, -1);
|
|
task.keyPath = props;
|
|
return;
|
|
case REACT_LAZY_TYPE:
|
|
newProps = type._init;
|
|
type = newProps(type._payload);
|
|
if (12 === request.status) throw null;
|
|
renderElement(request, task, keyPath, type, props, ref);
|
|
return;
|
|
}
|
|
throw Error("Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: " + ((null == type ? type : typeof type) + "."));
|
|
}
|
|
}
|
|
function resumeNode(request, task, segmentId, node, childIndex) {
|
|
var prevReplay = task.replay, blockedBoundary = task.blockedBoundary, resumedSegment = createPendingSegment(request, 0, null, task.formatContext, false, false);
|
|
resumedSegment.id = segmentId;
|
|
resumedSegment.parentFlushed = true;
|
|
try {
|
|
task.replay = null, task.blockedSegment = resumedSegment, renderNode(request, task, node, childIndex), resumedSegment.status = 1, finishedSegment(request, blockedBoundary, resumedSegment), null === blockedBoundary ? request.completedRootSegment = resumedSegment : (queueCompletedSegment(blockedBoundary, resumedSegment), blockedBoundary.parentFlushed && request.partialBoundaries.push(blockedBoundary));
|
|
} finally {
|
|
task.replay = prevReplay, task.blockedSegment = null;
|
|
}
|
|
}
|
|
function renderNodeDestructive(request, task, node, childIndex) {
|
|
null !== task.replay && "number" === typeof task.replay.slots ? resumeNode(request, task, task.replay.slots, node, childIndex) : (task.node = node, task.childIndex = childIndex, node = task.componentStack, pushComponentStack(task), retryNode(request, task), task.componentStack = node);
|
|
}
|
|
function retryNode(request, task) {
|
|
var node = task.node, childIndex = task.childIndex;
|
|
if (null !== node) {
|
|
if ("object" === typeof node) {
|
|
switch (node.$$typeof) {
|
|
case REACT_ELEMENT_TYPE:
|
|
var type = node.type, key = node.key, props = node.props;
|
|
node = props.ref;
|
|
var ref = void 0 !== node ? node : null, name = getComponentNameFromType(type), keyOrIndex = null == key ? -1 === childIndex ? 0 : childIndex : key;
|
|
key = [
|
|
task.keyPath,
|
|
name,
|
|
keyOrIndex
|
|
];
|
|
if (null !== task.replay) a: {
|
|
var replay = task.replay;
|
|
childIndex = replay.nodes;
|
|
for (node = 0; node < childIndex.length; node++) {
|
|
var node$jscomp$0 = childIndex[node];
|
|
if (keyOrIndex === node$jscomp$0[1]) {
|
|
if (4 === node$jscomp$0.length) {
|
|
if (null !== name && name !== node$jscomp$0[0]) throw Error("Expected the resume to render <" + node$jscomp$0[0] + "> in this slot but instead it rendered <" + name + ">. The tree doesn't match so React will fallback to client rendering.");
|
|
var childNodes = node$jscomp$0[2];
|
|
name = node$jscomp$0[3];
|
|
keyOrIndex = task.node;
|
|
task.replay = {
|
|
nodes: childNodes,
|
|
slots: name,
|
|
pendingTasks: 1
|
|
};
|
|
try {
|
|
renderElement(request, task, key, type, props, ref);
|
|
if (1 === task.replay.pendingTasks && 0 < task.replay.nodes.length) throw Error("Couldn't find all resumable slots by key/index during replaying. The tree doesn't match so React will fallback to client rendering.");
|
|
task.replay.pendingTasks--;
|
|
} catch (x) {
|
|
if ("object" === typeof x && null !== x && (x === SuspenseException || "function" === typeof x.then)) throw task.node === keyOrIndex ? task.replay = replay : childIndex.splice(node, 1), x;
|
|
task.replay.pendingTasks--;
|
|
props = getThrownInfo(task.componentStack);
|
|
key = request;
|
|
request = task.blockedBoundary;
|
|
type = x;
|
|
props = logRecoverableError(key, type, props);
|
|
abortRemainingReplayNodes(key, request, childNodes, name, type, props);
|
|
}
|
|
task.replay = replay;
|
|
} else {
|
|
if (type !== REACT_SUSPENSE_TYPE) throw Error("Expected the resume to render <Suspense> in this slot but instead it rendered <" + (getComponentNameFromType(type) || "Unknown") + ">. The tree doesn't match so React will fallback to client rendering.");
|
|
b: {
|
|
replay = void 0;
|
|
type = node$jscomp$0[5];
|
|
ref = node$jscomp$0[2];
|
|
name = node$jscomp$0[3];
|
|
keyOrIndex = null === node$jscomp$0[4] ? [] : node$jscomp$0[4][2];
|
|
node$jscomp$0 = null === node$jscomp$0[4] ? null : node$jscomp$0[4][3];
|
|
var prevKeyPath = task.keyPath, prevContext = task.formatContext, prevRow = task.row, previousReplaySet = task.replay, parentBoundary = task.blockedBoundary, parentHoistableState = task.hoistableState, content = props.children, fallback = props.fallback, fallbackAbortSet = /* @__PURE__ */ new Set();
|
|
props = 2 > task.formatContext.insertionMode ? createSuspenseBoundary(request, task.row, fallbackAbortSet, createPreambleState(), createPreambleState()) : createSuspenseBoundary(request, task.row, fallbackAbortSet, null, null);
|
|
props.parentFlushed = true;
|
|
props.rootSegmentID = type;
|
|
task.blockedBoundary = props;
|
|
task.hoistableState = props.contentState;
|
|
task.keyPath = key;
|
|
task.formatContext = getSuspenseContentFormatContext(request.resumableState, prevContext);
|
|
task.row = null;
|
|
task.replay = {
|
|
nodes: ref,
|
|
slots: name,
|
|
pendingTasks: 1
|
|
};
|
|
try {
|
|
renderNode(request, task, content, -1);
|
|
if (1 === task.replay.pendingTasks && 0 < task.replay.nodes.length) throw Error("Couldn't find all resumable slots by key/index during replaying. The tree doesn't match so React will fallback to client rendering.");
|
|
task.replay.pendingTasks--;
|
|
if (0 === props.pendingTasks && 0 === props.status) {
|
|
props.status = 1;
|
|
request.completedBoundaries.push(props);
|
|
break b;
|
|
}
|
|
} catch (error) {
|
|
props.status = 4, childNodes = getThrownInfo(task.componentStack), replay = logRecoverableError(request, error, childNodes), props.errorDigest = replay, task.replay.pendingTasks--, request.clientRenderedBoundaries.push(props);
|
|
} finally {
|
|
task.blockedBoundary = parentBoundary, task.hoistableState = parentHoistableState, task.replay = previousReplaySet, task.keyPath = prevKeyPath, task.formatContext = prevContext, task.row = prevRow;
|
|
}
|
|
childNodes = createReplayTask(request, null, {
|
|
nodes: keyOrIndex,
|
|
slots: node$jscomp$0,
|
|
pendingTasks: 0
|
|
}, fallback, -1, parentBoundary, props.fallbackState, fallbackAbortSet, [
|
|
key[0],
|
|
"Suspense Fallback",
|
|
key[2]
|
|
], getSuspenseFallbackFormatContext(request.resumableState, task.formatContext), task.context, task.treeContext, task.row, replaceSuspenseComponentStackWithSuspenseFallbackStack(task.componentStack));
|
|
pushComponentStack(childNodes);
|
|
request.pingedTasks.push(childNodes);
|
|
}
|
|
}
|
|
childIndex.splice(node, 1);
|
|
break a;
|
|
}
|
|
}
|
|
}
|
|
else renderElement(request, task, key, type, props, ref);
|
|
return;
|
|
case REACT_PORTAL_TYPE:
|
|
throw Error("Portals are not currently supported by the server renderer. Render them conditionally so that they only appear on the client render.");
|
|
case REACT_LAZY_TYPE:
|
|
childNodes = node._init;
|
|
node = childNodes(node._payload);
|
|
if (12 === request.status) throw null;
|
|
renderNodeDestructive(request, task, node, childIndex);
|
|
return;
|
|
}
|
|
if (isArrayImpl(node)) {
|
|
renderChildrenArray(request, task, node, childIndex);
|
|
return;
|
|
}
|
|
if (childNodes = getIteratorFn(node)) {
|
|
if (childNodes = childNodes.call(node)) {
|
|
node = childNodes.next();
|
|
if (!node.done) {
|
|
props = [];
|
|
do
|
|
props.push(node.value), node = childNodes.next();
|
|
while (!node.done);
|
|
renderChildrenArray(request, task, props, childIndex);
|
|
}
|
|
return;
|
|
}
|
|
}
|
|
if ("function" === typeof node.then) return task.thenableState = null, renderNodeDestructive(request, task, unwrapThenable(node), childIndex);
|
|
if (node.$$typeof === REACT_CONTEXT_TYPE) return renderNodeDestructive(request, task, node._currentValue, childIndex);
|
|
childIndex = Object.prototype.toString.call(node);
|
|
throw Error("Objects are not valid as a React child (found: " + ("[object Object]" === childIndex ? "object with keys {" + Object.keys(node).join(", ") + "}" : childIndex) + "). If you meant to render a collection of children, use an array instead.");
|
|
}
|
|
if ("string" === typeof node) childIndex = task.blockedSegment, null !== childIndex && (childIndex.lastPushedText = pushTextInstance(childIndex.chunks, node, request.renderState, childIndex.lastPushedText));
|
|
else if ("number" === typeof node || "bigint" === typeof node) childIndex = task.blockedSegment, null !== childIndex && (childIndex.lastPushedText = pushTextInstance(childIndex.chunks, "" + node, request.renderState, childIndex.lastPushedText));
|
|
}
|
|
}
|
|
function renderChildrenArray(request, task, children, childIndex) {
|
|
var prevKeyPath = task.keyPath;
|
|
if (-1 !== childIndex && (task.keyPath = [
|
|
task.keyPath,
|
|
"Fragment",
|
|
childIndex
|
|
], null !== task.replay)) {
|
|
for (var replay = task.replay, replayNodes = replay.nodes, j = 0; j < replayNodes.length; j++) {
|
|
var node = replayNodes[j];
|
|
if (node[1] === childIndex) {
|
|
childIndex = node[2];
|
|
node = node[3];
|
|
task.replay = {
|
|
nodes: childIndex,
|
|
slots: node,
|
|
pendingTasks: 1
|
|
};
|
|
try {
|
|
renderChildrenArray(request, task, children, -1);
|
|
if (1 === task.replay.pendingTasks && 0 < task.replay.nodes.length) throw Error("Couldn't find all resumable slots by key/index during replaying. The tree doesn't match so React will fallback to client rendering.");
|
|
task.replay.pendingTasks--;
|
|
} catch (x) {
|
|
if ("object" === typeof x && null !== x && (x === SuspenseException || "function" === typeof x.then)) throw x;
|
|
task.replay.pendingTasks--;
|
|
children = getThrownInfo(task.componentStack);
|
|
var boundary = task.blockedBoundary, error = x;
|
|
children = logRecoverableError(request, error, children);
|
|
abortRemainingReplayNodes(request, boundary, childIndex, node, error, children);
|
|
}
|
|
task.replay = replay;
|
|
replayNodes.splice(j, 1);
|
|
break;
|
|
}
|
|
}
|
|
task.keyPath = prevKeyPath;
|
|
return;
|
|
}
|
|
replay = task.treeContext;
|
|
replayNodes = children.length;
|
|
if (null !== task.replay && (j = task.replay.slots, null !== j && "object" === typeof j)) {
|
|
for (childIndex = 0; childIndex < replayNodes; childIndex++) node = children[childIndex], task.treeContext = pushTreeContext(replay, replayNodes, childIndex), boundary = j[childIndex], "number" === typeof boundary ? (resumeNode(request, task, boundary, node, childIndex), delete j[childIndex]) : renderNode(request, task, node, childIndex);
|
|
task.treeContext = replay;
|
|
task.keyPath = prevKeyPath;
|
|
return;
|
|
}
|
|
for (j = 0; j < replayNodes; j++) childIndex = children[j], task.treeContext = pushTreeContext(replay, replayNodes, j), renderNode(request, task, childIndex, j);
|
|
task.treeContext = replay;
|
|
task.keyPath = prevKeyPath;
|
|
}
|
|
function trackPostponedBoundary(request, trackedPostpones, boundary) {
|
|
boundary.status = 5;
|
|
boundary.rootSegmentID = request.nextSegmentId++;
|
|
request = boundary.trackedContentKeyPath;
|
|
if (null === request) throw Error("It should not be possible to postpone at the root. This is a bug in React.");
|
|
var fallbackReplayNode = boundary.trackedFallbackNode, children = [], boundaryNode = trackedPostpones.workingMap.get(request);
|
|
if (void 0 === boundaryNode) return boundary = [
|
|
request[1],
|
|
request[2],
|
|
children,
|
|
null,
|
|
fallbackReplayNode,
|
|
boundary.rootSegmentID
|
|
], trackedPostpones.workingMap.set(request, boundary), addToReplayParent(boundary, request[0], trackedPostpones), boundary;
|
|
boundaryNode[4] = fallbackReplayNode;
|
|
boundaryNode[5] = boundary.rootSegmentID;
|
|
return boundaryNode;
|
|
}
|
|
function trackPostpone(request, trackedPostpones, task, segment) {
|
|
segment.status = 5;
|
|
var keyPath = task.keyPath, boundary = task.blockedBoundary;
|
|
if (null === boundary) segment.id = request.nextSegmentId++, trackedPostpones.rootSlots = segment.id, null !== request.completedRootSegment && (request.completedRootSegment.status = 5);
|
|
else {
|
|
if (null !== boundary && 0 === boundary.status) {
|
|
var boundaryNode = trackPostponedBoundary(request, trackedPostpones, boundary);
|
|
if (boundary.trackedContentKeyPath === keyPath && -1 === task.childIndex) {
|
|
-1 === segment.id && (segment.id = segment.parentFlushed ? boundary.rootSegmentID : request.nextSegmentId++);
|
|
boundaryNode[3] = segment.id;
|
|
return;
|
|
}
|
|
}
|
|
-1 === segment.id && (segment.id = segment.parentFlushed && null !== boundary ? boundary.rootSegmentID : request.nextSegmentId++);
|
|
if (-1 === task.childIndex) null === keyPath ? trackedPostpones.rootSlots = segment.id : (task = trackedPostpones.workingMap.get(keyPath), void 0 === task ? (task = [
|
|
keyPath[1],
|
|
keyPath[2],
|
|
[],
|
|
segment.id
|
|
], addToReplayParent(task, keyPath[0], trackedPostpones)) : task[3] = segment.id);
|
|
else {
|
|
if (null === keyPath) if (request = trackedPostpones.rootSlots, null === request) request = trackedPostpones.rootSlots = {};
|
|
else {
|
|
if ("number" === typeof request) throw Error("It should not be possible to postpone both at the root of an element as well as a slot below. This is a bug in React.");
|
|
}
|
|
else if (boundary = trackedPostpones.workingMap, boundaryNode = boundary.get(keyPath), void 0 === boundaryNode) request = {}, boundaryNode = [
|
|
keyPath[1],
|
|
keyPath[2],
|
|
[],
|
|
request
|
|
], boundary.set(keyPath, boundaryNode), addToReplayParent(boundaryNode, keyPath[0], trackedPostpones);
|
|
else if (request = boundaryNode[3], null === request) request = boundaryNode[3] = {};
|
|
else if ("number" === typeof request) throw Error("It should not be possible to postpone both at the root of an element as well as a slot below. This is a bug in React.");
|
|
request[task.childIndex] = segment.id;
|
|
}
|
|
}
|
|
}
|
|
function untrackBoundary(request, boundary) {
|
|
request = request.trackedPostpones;
|
|
null !== request && (boundary = boundary.trackedContentKeyPath, null !== boundary && (boundary = request.workingMap.get(boundary), void 0 !== boundary && (boundary.length = 4, boundary[2] = [], boundary[3] = null)));
|
|
}
|
|
function spawnNewSuspendedReplayTask(request, task, thenableState2) {
|
|
return createReplayTask(request, thenableState2, task.replay, task.node, task.childIndex, task.blockedBoundary, task.hoistableState, task.abortSet, task.keyPath, task.formatContext, task.context, task.treeContext, task.row, task.componentStack);
|
|
}
|
|
function spawnNewSuspendedRenderTask(request, task, thenableState2) {
|
|
var segment = task.blockedSegment, newSegment = createPendingSegment(request, segment.chunks.length, null, task.formatContext, segment.lastPushedText, true);
|
|
segment.children.push(newSegment);
|
|
segment.lastPushedText = false;
|
|
return createRenderTask(request, thenableState2, task.node, task.childIndex, task.blockedBoundary, newSegment, task.blockedPreamble, task.hoistableState, task.abortSet, task.keyPath, task.formatContext, task.context, task.treeContext, task.row, task.componentStack);
|
|
}
|
|
function renderNode(request, task, node, childIndex) {
|
|
var previousFormatContext = task.formatContext, previousContext = task.context, previousKeyPath = task.keyPath, previousTreeContext = task.treeContext, previousComponentStack = task.componentStack, segment = task.blockedSegment;
|
|
if (null === segment) {
|
|
segment = task.replay;
|
|
try {
|
|
return renderNodeDestructive(request, task, node, childIndex);
|
|
} catch (thrownValue) {
|
|
if (resetHooksState(), node = thrownValue === SuspenseException ? getSuspendedThenable() : thrownValue, 12 !== request.status && "object" === typeof node && null !== node) {
|
|
if ("function" === typeof node.then) {
|
|
childIndex = thrownValue === SuspenseException ? getThenableStateAfterSuspending() : null;
|
|
request = spawnNewSuspendedReplayTask(request, task, childIndex).ping;
|
|
node.then(request, request);
|
|
task.formatContext = previousFormatContext;
|
|
task.context = previousContext;
|
|
task.keyPath = previousKeyPath;
|
|
task.treeContext = previousTreeContext;
|
|
task.componentStack = previousComponentStack;
|
|
task.replay = segment;
|
|
switchContext(previousContext);
|
|
return;
|
|
}
|
|
if ("Maximum call stack size exceeded" === node.message) {
|
|
node = thrownValue === SuspenseException ? getThenableStateAfterSuspending() : null;
|
|
node = spawnNewSuspendedReplayTask(request, task, node);
|
|
request.pingedTasks.push(node);
|
|
task.formatContext = previousFormatContext;
|
|
task.context = previousContext;
|
|
task.keyPath = previousKeyPath;
|
|
task.treeContext = previousTreeContext;
|
|
task.componentStack = previousComponentStack;
|
|
task.replay = segment;
|
|
switchContext(previousContext);
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
var childrenLength = segment.children.length, chunkLength = segment.chunks.length;
|
|
try {
|
|
return renderNodeDestructive(request, task, node, childIndex);
|
|
} catch (thrownValue$63) {
|
|
if (resetHooksState(), segment.children.length = childrenLength, segment.chunks.length = chunkLength, node = thrownValue$63 === SuspenseException ? getSuspendedThenable() : thrownValue$63, 12 !== request.status && "object" === typeof node && null !== node) {
|
|
if ("function" === typeof node.then) {
|
|
segment = node;
|
|
node = thrownValue$63 === SuspenseException ? getThenableStateAfterSuspending() : null;
|
|
request = spawnNewSuspendedRenderTask(request, task, node).ping;
|
|
segment.then(request, request);
|
|
task.formatContext = previousFormatContext;
|
|
task.context = previousContext;
|
|
task.keyPath = previousKeyPath;
|
|
task.treeContext = previousTreeContext;
|
|
task.componentStack = previousComponentStack;
|
|
switchContext(previousContext);
|
|
return;
|
|
}
|
|
if ("Maximum call stack size exceeded" === node.message) {
|
|
segment = thrownValue$63 === SuspenseException ? getThenableStateAfterSuspending() : null;
|
|
segment = spawnNewSuspendedRenderTask(request, task, segment);
|
|
request.pingedTasks.push(segment);
|
|
task.formatContext = previousFormatContext;
|
|
task.context = previousContext;
|
|
task.keyPath = previousKeyPath;
|
|
task.treeContext = previousTreeContext;
|
|
task.componentStack = previousComponentStack;
|
|
switchContext(previousContext);
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
task.formatContext = previousFormatContext;
|
|
task.context = previousContext;
|
|
task.keyPath = previousKeyPath;
|
|
task.treeContext = previousTreeContext;
|
|
switchContext(previousContext);
|
|
throw node;
|
|
}
|
|
function abortTaskSoft(task) {
|
|
var boundary = task.blockedBoundary, segment = task.blockedSegment;
|
|
null !== segment && (segment.status = 3, finishedTask(this, boundary, task.row, segment));
|
|
}
|
|
function abortRemainingReplayNodes(request$jscomp$0, boundary, nodes, slots, error, errorDigest$jscomp$0) {
|
|
for (var i = 0; i < nodes.length; i++) {
|
|
var node = nodes[i];
|
|
if (4 === node.length) abortRemainingReplayNodes(request$jscomp$0, boundary, node[2], node[3], error, errorDigest$jscomp$0);
|
|
else {
|
|
node = node[5];
|
|
var request = request$jscomp$0, errorDigest = errorDigest$jscomp$0, resumedBoundary = createSuspenseBoundary(request, null, /* @__PURE__ */ new Set(), null, null);
|
|
resumedBoundary.parentFlushed = true;
|
|
resumedBoundary.rootSegmentID = node;
|
|
resumedBoundary.status = 4;
|
|
resumedBoundary.errorDigest = errorDigest;
|
|
resumedBoundary.parentFlushed && request.clientRenderedBoundaries.push(resumedBoundary);
|
|
}
|
|
}
|
|
nodes.length = 0;
|
|
if (null !== slots) {
|
|
if (null === boundary) throw Error("We should not have any resumable nodes in the shell. This is a bug in React.");
|
|
4 !== boundary.status && (boundary.status = 4, boundary.errorDigest = errorDigest$jscomp$0, boundary.parentFlushed && request$jscomp$0.clientRenderedBoundaries.push(boundary));
|
|
if ("object" === typeof slots) for (var index in slots) delete slots[index];
|
|
}
|
|
}
|
|
function abortTask(task, request, error) {
|
|
var boundary = task.blockedBoundary, segment = task.blockedSegment;
|
|
if (null !== segment) {
|
|
if (6 === segment.status) return;
|
|
segment.status = 3;
|
|
}
|
|
var errorInfo = getThrownInfo(task.componentStack);
|
|
if (null === boundary) {
|
|
if (13 !== request.status && 14 !== request.status) {
|
|
boundary = task.replay;
|
|
if (null === boundary) {
|
|
null !== request.trackedPostpones && null !== segment ? (boundary = request.trackedPostpones, logRecoverableError(request, error, errorInfo), trackPostpone(request, boundary, task, segment), finishedTask(request, null, task.row, segment)) : (logRecoverableError(request, error, errorInfo), fatalError(request, error));
|
|
return;
|
|
}
|
|
boundary.pendingTasks--;
|
|
0 === boundary.pendingTasks && 0 < boundary.nodes.length && (segment = logRecoverableError(request, error, errorInfo), abortRemainingReplayNodes(request, null, boundary.nodes, boundary.slots, error, segment));
|
|
request.pendingRootTasks--;
|
|
0 === request.pendingRootTasks && completeShell(request);
|
|
}
|
|
} else {
|
|
var trackedPostpones$64 = request.trackedPostpones;
|
|
if (4 !== boundary.status) {
|
|
if (null !== trackedPostpones$64 && null !== segment) return logRecoverableError(request, error, errorInfo), trackPostpone(request, trackedPostpones$64, task, segment), boundary.fallbackAbortableTasks.forEach(function(fallbackTask) {
|
|
return abortTask(fallbackTask, request, error);
|
|
}), boundary.fallbackAbortableTasks.clear(), finishedTask(request, boundary, task.row, segment);
|
|
boundary.status = 4;
|
|
segment = logRecoverableError(request, error, errorInfo);
|
|
boundary.status = 4;
|
|
boundary.errorDigest = segment;
|
|
untrackBoundary(request, boundary);
|
|
boundary.parentFlushed && request.clientRenderedBoundaries.push(boundary);
|
|
}
|
|
boundary.pendingTasks--;
|
|
segment = boundary.row;
|
|
null !== segment && 0 === --segment.pendingTasks && finishSuspenseListRow(request, segment);
|
|
boundary.fallbackAbortableTasks.forEach(function(fallbackTask) {
|
|
return abortTask(fallbackTask, request, error);
|
|
});
|
|
boundary.fallbackAbortableTasks.clear();
|
|
}
|
|
task = task.row;
|
|
null !== task && 0 === --task.pendingTasks && finishSuspenseListRow(request, task);
|
|
request.allPendingTasks--;
|
|
0 === request.allPendingTasks && completeAll(request);
|
|
}
|
|
function safelyEmitEarlyPreloads(request, shellComplete) {
|
|
try {
|
|
var renderState = request.renderState, onHeaders = renderState.onHeaders;
|
|
if (onHeaders) {
|
|
var headers = renderState.headers;
|
|
if (headers) {
|
|
renderState.headers = null;
|
|
var linkHeader = headers.preconnects;
|
|
headers.fontPreloads && (linkHeader && (linkHeader += ", "), linkHeader += headers.fontPreloads);
|
|
headers.highImagePreloads && (linkHeader && (linkHeader += ", "), linkHeader += headers.highImagePreloads);
|
|
if (!shellComplete) {
|
|
var queueIter = renderState.styles.values(), queueStep = queueIter.next();
|
|
b: for (; 0 < headers.remainingCapacity && !queueStep.done; queueStep = queueIter.next()) for (var sheetIter = queueStep.value.sheets.values(), sheetStep = sheetIter.next(); 0 < headers.remainingCapacity && !sheetStep.done; sheetStep = sheetIter.next()) {
|
|
var sheet = sheetStep.value, props = sheet.props, key = props.href, props$jscomp$0 = sheet.props, header = getPreloadAsHeader(props$jscomp$0.href, "style", {
|
|
crossOrigin: props$jscomp$0.crossOrigin,
|
|
integrity: props$jscomp$0.integrity,
|
|
nonce: props$jscomp$0.nonce,
|
|
type: props$jscomp$0.type,
|
|
fetchPriority: props$jscomp$0.fetchPriority,
|
|
referrerPolicy: props$jscomp$0.referrerPolicy,
|
|
media: props$jscomp$0.media
|
|
});
|
|
if (0 <= (headers.remainingCapacity -= header.length + 2)) renderState.resets.style[key] = PRELOAD_NO_CREDS, linkHeader && (linkHeader += ", "), linkHeader += header, renderState.resets.style[key] = "string" === typeof props.crossOrigin || "string" === typeof props.integrity ? [
|
|
props.crossOrigin,
|
|
props.integrity
|
|
] : PRELOAD_NO_CREDS;
|
|
else break b;
|
|
}
|
|
}
|
|
linkHeader ? onHeaders({
|
|
Link: linkHeader
|
|
}) : onHeaders({});
|
|
}
|
|
}
|
|
} catch (error) {
|
|
logRecoverableError(request, error, {});
|
|
}
|
|
}
|
|
function completeShell(request) {
|
|
null === request.trackedPostpones && safelyEmitEarlyPreloads(request, true);
|
|
null === request.trackedPostpones && preparePreamble(request);
|
|
request.onShellError = noop;
|
|
request = request.onShellReady;
|
|
request();
|
|
}
|
|
function completeAll(request) {
|
|
safelyEmitEarlyPreloads(request, null === request.trackedPostpones ? true : null === request.completedRootSegment || 5 !== request.completedRootSegment.status);
|
|
preparePreamble(request);
|
|
request = request.onAllReady;
|
|
request();
|
|
}
|
|
function queueCompletedSegment(boundary, segment) {
|
|
if (0 === segment.chunks.length && 1 === segment.children.length && null === segment.children[0].boundary && -1 === segment.children[0].id) {
|
|
var childSegment = segment.children[0];
|
|
childSegment.id = segment.id;
|
|
childSegment.parentFlushed = true;
|
|
1 !== childSegment.status && 3 !== childSegment.status && 4 !== childSegment.status || queueCompletedSegment(boundary, childSegment);
|
|
} else boundary.completedSegments.push(segment);
|
|
}
|
|
function finishedSegment(request, boundary, segment) {
|
|
if (null !== byteLengthOfChunk) {
|
|
segment = segment.chunks;
|
|
for (var segmentByteSize = 0, i = 0; i < segment.length; i++) segmentByteSize += segment[i].byteLength;
|
|
null === boundary ? request.byteSize += segmentByteSize : boundary.byteSize += segmentByteSize;
|
|
}
|
|
}
|
|
function finishedTask(request, boundary, row, segment) {
|
|
null !== row && (0 === --row.pendingTasks ? finishSuspenseListRow(request, row) : row.together && tryToResolveTogetherRow(request, row));
|
|
request.allPendingTasks--;
|
|
if (null === boundary) {
|
|
if (null !== segment && segment.parentFlushed) {
|
|
if (null !== request.completedRootSegment) throw Error("There can only be one root segment. This is a bug in React.");
|
|
request.completedRootSegment = segment;
|
|
}
|
|
request.pendingRootTasks--;
|
|
0 === request.pendingRootTasks && completeShell(request);
|
|
} else if (boundary.pendingTasks--, 4 !== boundary.status) if (0 === boundary.pendingTasks) if (0 === boundary.status && (boundary.status = 1), null !== segment && segment.parentFlushed && (1 === segment.status || 3 === segment.status) && queueCompletedSegment(boundary, segment), boundary.parentFlushed && request.completedBoundaries.push(boundary), 1 === boundary.status) row = boundary.row, null !== row && hoistHoistables(row.hoistables, boundary.contentState), isEligibleForOutlining(request, boundary) || (boundary.fallbackAbortableTasks.forEach(abortTaskSoft, request), boundary.fallbackAbortableTasks.clear(), null !== row && 0 === --row.pendingTasks && finishSuspenseListRow(request, row)), 0 === request.pendingRootTasks && null === request.trackedPostpones && null !== boundary.contentPreamble && preparePreamble(request);
|
|
else {
|
|
if (5 === boundary.status && (boundary = boundary.row, null !== boundary)) {
|
|
if (null !== request.trackedPostpones) {
|
|
row = request.trackedPostpones;
|
|
var postponedRow = boundary.next;
|
|
if (null !== postponedRow && (segment = postponedRow.boundaries, null !== segment)) for (postponedRow.boundaries = null, postponedRow = 0; postponedRow < segment.length; postponedRow++) {
|
|
var postponedBoundary = segment[postponedRow];
|
|
trackPostponedBoundary(request, row, postponedBoundary);
|
|
finishedTask(request, postponedBoundary, null, null);
|
|
}
|
|
}
|
|
0 === --boundary.pendingTasks && finishSuspenseListRow(request, boundary);
|
|
}
|
|
}
|
|
else null === segment || !segment.parentFlushed || 1 !== segment.status && 3 !== segment.status || (queueCompletedSegment(boundary, segment), 1 === boundary.completedSegments.length && boundary.parentFlushed && request.partialBoundaries.push(boundary)), boundary = boundary.row, null !== boundary && boundary.together && tryToResolveTogetherRow(request, boundary);
|
|
0 === request.allPendingTasks && completeAll(request);
|
|
}
|
|
function performWork(request$jscomp$2) {
|
|
if (14 !== request$jscomp$2.status && 13 !== request$jscomp$2.status) {
|
|
var prevContext = currentActiveSnapshot, prevDispatcher = ReactSharedInternals.H;
|
|
ReactSharedInternals.H = HooksDispatcher;
|
|
var prevAsyncDispatcher = ReactSharedInternals.A;
|
|
ReactSharedInternals.A = DefaultAsyncDispatcher;
|
|
var prevRequest = currentRequest;
|
|
currentRequest = request$jscomp$2;
|
|
var prevResumableState = currentResumableState;
|
|
currentResumableState = request$jscomp$2.resumableState;
|
|
try {
|
|
var pingedTasks = request$jscomp$2.pingedTasks, i;
|
|
for (i = 0; i < pingedTasks.length; i++) {
|
|
var task = pingedTasks[i], request = request$jscomp$2, segment = task.blockedSegment;
|
|
if (null === segment) {
|
|
var request$jscomp$0 = request;
|
|
if (0 !== task.replay.pendingTasks) {
|
|
switchContext(task.context);
|
|
try {
|
|
"number" === typeof task.replay.slots ? resumeNode(request$jscomp$0, task, task.replay.slots, task.node, task.childIndex) : retryNode(request$jscomp$0, task);
|
|
if (1 === task.replay.pendingTasks && 0 < task.replay.nodes.length) throw Error("Couldn't find all resumable slots by key/index during replaying. The tree doesn't match so React will fallback to client rendering.");
|
|
task.replay.pendingTasks--;
|
|
task.abortSet.delete(task);
|
|
finishedTask(request$jscomp$0, task.blockedBoundary, task.row, null);
|
|
} catch (thrownValue) {
|
|
resetHooksState();
|
|
var x = thrownValue === SuspenseException ? getSuspendedThenable() : thrownValue;
|
|
if ("object" === typeof x && null !== x && "function" === typeof x.then) {
|
|
var ping = task.ping;
|
|
x.then(ping, ping);
|
|
task.thenableState = thrownValue === SuspenseException ? getThenableStateAfterSuspending() : null;
|
|
} else {
|
|
task.replay.pendingTasks--;
|
|
task.abortSet.delete(task);
|
|
var errorInfo = getThrownInfo(task.componentStack);
|
|
request = void 0;
|
|
var request$jscomp$1 = request$jscomp$0, boundary = task.blockedBoundary, error$jscomp$0 = 12 === request$jscomp$0.status ? request$jscomp$0.fatalError : x, replayNodes = task.replay.nodes, resumeSlots = task.replay.slots;
|
|
request = logRecoverableError(request$jscomp$1, error$jscomp$0, errorInfo);
|
|
abortRemainingReplayNodes(request$jscomp$1, boundary, replayNodes, resumeSlots, error$jscomp$0, request);
|
|
request$jscomp$0.pendingRootTasks--;
|
|
0 === request$jscomp$0.pendingRootTasks && completeShell(request$jscomp$0);
|
|
request$jscomp$0.allPendingTasks--;
|
|
0 === request$jscomp$0.allPendingTasks && completeAll(request$jscomp$0);
|
|
}
|
|
} finally {
|
|
}
|
|
}
|
|
} else if (request$jscomp$0 = void 0, request$jscomp$1 = segment, 0 === request$jscomp$1.status) {
|
|
request$jscomp$1.status = 6;
|
|
switchContext(task.context);
|
|
var childrenLength = request$jscomp$1.children.length, chunkLength = request$jscomp$1.chunks.length;
|
|
try {
|
|
retryNode(request, task), request$jscomp$1.lastPushedText && request$jscomp$1.textEmbedded && request$jscomp$1.chunks.push(textSeparator), task.abortSet.delete(task), request$jscomp$1.status = 1, finishedSegment(request, task.blockedBoundary, request$jscomp$1), finishedTask(request, task.blockedBoundary, task.row, request$jscomp$1);
|
|
} catch (thrownValue) {
|
|
resetHooksState();
|
|
request$jscomp$1.children.length = childrenLength;
|
|
request$jscomp$1.chunks.length = chunkLength;
|
|
var x$jscomp$0 = thrownValue === SuspenseException ? getSuspendedThenable() : 12 === request.status ? request.fatalError : thrownValue;
|
|
if (12 === request.status && null !== request.trackedPostpones) {
|
|
var trackedPostpones = request.trackedPostpones, thrownInfo = getThrownInfo(task.componentStack);
|
|
task.abortSet.delete(task);
|
|
logRecoverableError(request, x$jscomp$0, thrownInfo);
|
|
trackPostpone(request, trackedPostpones, task, request$jscomp$1);
|
|
finishedTask(request, task.blockedBoundary, task.row, request$jscomp$1);
|
|
} else if ("object" === typeof x$jscomp$0 && null !== x$jscomp$0 && "function" === typeof x$jscomp$0.then) {
|
|
request$jscomp$1.status = 0;
|
|
task.thenableState = thrownValue === SuspenseException ? getThenableStateAfterSuspending() : null;
|
|
var ping$jscomp$0 = task.ping;
|
|
x$jscomp$0.then(ping$jscomp$0, ping$jscomp$0);
|
|
} else {
|
|
var errorInfo$jscomp$0 = getThrownInfo(task.componentStack);
|
|
task.abortSet.delete(task);
|
|
request$jscomp$1.status = 4;
|
|
var boundary$jscomp$0 = task.blockedBoundary, row = task.row;
|
|
null !== row && 0 === --row.pendingTasks && finishSuspenseListRow(request, row);
|
|
request.allPendingTasks--;
|
|
request$jscomp$0 = logRecoverableError(request, x$jscomp$0, errorInfo$jscomp$0);
|
|
if (null === boundary$jscomp$0) fatalError(request, x$jscomp$0);
|
|
else if (boundary$jscomp$0.pendingTasks--, 4 !== boundary$jscomp$0.status) {
|
|
boundary$jscomp$0.status = 4;
|
|
boundary$jscomp$0.errorDigest = request$jscomp$0;
|
|
untrackBoundary(request, boundary$jscomp$0);
|
|
var boundaryRow = boundary$jscomp$0.row;
|
|
null !== boundaryRow && 0 === --boundaryRow.pendingTasks && finishSuspenseListRow(request, boundaryRow);
|
|
boundary$jscomp$0.parentFlushed && request.clientRenderedBoundaries.push(boundary$jscomp$0);
|
|
0 === request.pendingRootTasks && null === request.trackedPostpones && null !== boundary$jscomp$0.contentPreamble && preparePreamble(request);
|
|
}
|
|
0 === request.allPendingTasks && completeAll(request);
|
|
}
|
|
} finally {
|
|
}
|
|
}
|
|
}
|
|
pingedTasks.splice(0, i);
|
|
null !== request$jscomp$2.destination && flushCompletedQueues(request$jscomp$2, request$jscomp$2.destination);
|
|
} catch (error) {
|
|
logRecoverableError(request$jscomp$2, error, {}), fatalError(request$jscomp$2, error);
|
|
} finally {
|
|
currentResumableState = prevResumableState, ReactSharedInternals.H = prevDispatcher, ReactSharedInternals.A = prevAsyncDispatcher, prevDispatcher === HooksDispatcher && switchContext(prevContext), currentRequest = prevRequest;
|
|
}
|
|
}
|
|
}
|
|
function preparePreambleFromSubtree(request, segment, collectedPreambleSegments) {
|
|
segment.preambleChildren.length && collectedPreambleSegments.push(segment.preambleChildren);
|
|
for (var pendingPreambles = false, i = 0; i < segment.children.length; i++) pendingPreambles = preparePreambleFromSegment(request, segment.children[i], collectedPreambleSegments) || pendingPreambles;
|
|
return pendingPreambles;
|
|
}
|
|
function preparePreambleFromSegment(request, segment, collectedPreambleSegments) {
|
|
var boundary = segment.boundary;
|
|
if (null === boundary) return preparePreambleFromSubtree(request, segment, collectedPreambleSegments);
|
|
var preamble = boundary.contentPreamble, fallbackPreamble = boundary.fallbackPreamble;
|
|
if (null === preamble || null === fallbackPreamble) return false;
|
|
switch (boundary.status) {
|
|
case 1:
|
|
hoistPreambleState(request.renderState, preamble);
|
|
request.byteSize += boundary.byteSize;
|
|
segment = boundary.completedSegments[0];
|
|
if (!segment) throw Error("A previously unvisited boundary must have exactly one root segment. This is a bug in React.");
|
|
return preparePreambleFromSubtree(request, segment, collectedPreambleSegments);
|
|
case 5:
|
|
if (null !== request.trackedPostpones) return true;
|
|
case 4:
|
|
if (1 === segment.status) return hoistPreambleState(request.renderState, fallbackPreamble), preparePreambleFromSubtree(request, segment, collectedPreambleSegments);
|
|
default:
|
|
return true;
|
|
}
|
|
}
|
|
function preparePreamble(request) {
|
|
if (request.completedRootSegment && null === request.completedPreambleSegments) {
|
|
var collectedPreambleSegments = [], originalRequestByteSize = request.byteSize, hasPendingPreambles = preparePreambleFromSegment(request, request.completedRootSegment, collectedPreambleSegments), preamble = request.renderState.preamble;
|
|
false === hasPendingPreambles || preamble.headChunks && preamble.bodyChunks ? request.completedPreambleSegments = collectedPreambleSegments : request.byteSize = originalRequestByteSize;
|
|
}
|
|
}
|
|
function flushSubtree(request, destination, segment, hoistableState) {
|
|
segment.parentFlushed = true;
|
|
switch (segment.status) {
|
|
case 0:
|
|
segment.id = request.nextSegmentId++;
|
|
case 5:
|
|
return hoistableState = segment.id, segment.lastPushedText = false, segment.textEmbedded = false, request = request.renderState, writeChunk2(destination, placeholder1), writeChunk2(destination, request.placeholderPrefix), request = stringToChunk(hoistableState.toString(16)), writeChunk2(destination, request), writeChunkAndReturn(destination, placeholder2);
|
|
case 1:
|
|
segment.status = 2;
|
|
var r = true, chunks = segment.chunks, chunkIdx = 0;
|
|
segment = segment.children;
|
|
for (var childIdx = 0; childIdx < segment.length; childIdx++) {
|
|
for (r = segment[childIdx]; chunkIdx < r.index; chunkIdx++) writeChunk2(destination, chunks[chunkIdx]);
|
|
r = flushSegment(request, destination, r, hoistableState);
|
|
}
|
|
for (; chunkIdx < chunks.length - 1; chunkIdx++) writeChunk2(destination, chunks[chunkIdx]);
|
|
chunkIdx < chunks.length && (r = writeChunkAndReturn(destination, chunks[chunkIdx]));
|
|
return r;
|
|
case 3:
|
|
return true;
|
|
default:
|
|
throw Error("Aborted, errored or already flushed boundaries should not be flushed again. This is a bug in React.");
|
|
}
|
|
}
|
|
var flushedByteSize = 0;
|
|
function flushSegment(request, destination, segment, hoistableState) {
|
|
var boundary = segment.boundary;
|
|
if (null === boundary) return flushSubtree(request, destination, segment, hoistableState);
|
|
boundary.parentFlushed = true;
|
|
if (4 === boundary.status) {
|
|
var row = boundary.row;
|
|
null !== row && 0 === --row.pendingTasks && finishSuspenseListRow(request, row);
|
|
boundary = boundary.errorDigest;
|
|
writeChunkAndReturn(destination, startClientRenderedSuspenseBoundary);
|
|
writeChunk2(destination, clientRenderedSuspenseBoundaryError1);
|
|
boundary && (writeChunk2(destination, clientRenderedSuspenseBoundaryError1A), writeChunk2(destination, stringToChunk(escapeTextForBrowser(boundary))), writeChunk2(destination, clientRenderedSuspenseBoundaryErrorAttrInterstitial));
|
|
writeChunkAndReturn(destination, clientRenderedSuspenseBoundaryError2);
|
|
flushSubtree(request, destination, segment, hoistableState);
|
|
} else if (1 !== boundary.status) 0 === boundary.status && (boundary.rootSegmentID = request.nextSegmentId++), 0 < boundary.completedSegments.length && request.partialBoundaries.push(boundary), writeStartPendingSuspenseBoundary(destination, request.renderState, boundary.rootSegmentID), hoistableState && hoistHoistables(hoistableState, boundary.fallbackState), flushSubtree(request, destination, segment, hoistableState);
|
|
else if (!flushingPartialBoundaries && isEligibleForOutlining(request, boundary) && (flushedByteSize + boundary.byteSize > request.progressiveChunkSize || hasSuspenseyContent(boundary.contentState))) boundary.rootSegmentID = request.nextSegmentId++, request.completedBoundaries.push(boundary), writeStartPendingSuspenseBoundary(destination, request.renderState, boundary.rootSegmentID), flushSubtree(request, destination, segment, hoistableState);
|
|
else {
|
|
flushedByteSize += boundary.byteSize;
|
|
hoistableState && hoistHoistables(hoistableState, boundary.contentState);
|
|
segment = boundary.row;
|
|
null !== segment && isEligibleForOutlining(request, boundary) && 0 === --segment.pendingTasks && finishSuspenseListRow(request, segment);
|
|
writeChunkAndReturn(destination, startCompletedSuspenseBoundary);
|
|
segment = boundary.completedSegments;
|
|
if (1 !== segment.length) throw Error("A previously unvisited boundary must have exactly one root segment. This is a bug in React.");
|
|
flushSegment(request, destination, segment[0], hoistableState);
|
|
}
|
|
return writeChunkAndReturn(destination, endSuspenseBoundary);
|
|
}
|
|
function flushSegmentContainer(request, destination, segment, hoistableState) {
|
|
writeStartSegment(destination, request.renderState, segment.parentFormatContext, segment.id);
|
|
flushSegment(request, destination, segment, hoistableState);
|
|
return writeEndSegment(destination, segment.parentFormatContext);
|
|
}
|
|
function flushCompletedBoundary(request, destination, boundary) {
|
|
flushedByteSize = boundary.byteSize;
|
|
for (var completedSegments = boundary.completedSegments, i = 0; i < completedSegments.length; i++) flushPartiallyCompletedSegment(request, destination, boundary, completedSegments[i]);
|
|
completedSegments.length = 0;
|
|
completedSegments = boundary.row;
|
|
null !== completedSegments && isEligibleForOutlining(request, boundary) && 0 === --completedSegments.pendingTasks && finishSuspenseListRow(request, completedSegments);
|
|
writeHoistablesForBoundary(destination, boundary.contentState, request.renderState);
|
|
completedSegments = request.resumableState;
|
|
request = request.renderState;
|
|
i = boundary.rootSegmentID;
|
|
boundary = boundary.contentState;
|
|
var requiresStyleInsertion = request.stylesToHoist;
|
|
request.stylesToHoist = false;
|
|
writeChunk2(destination, request.startInlineScript);
|
|
writeChunk2(destination, endOfStartTag);
|
|
requiresStyleInsertion ? (0 === (completedSegments.instructions & 4) && (completedSegments.instructions |= 4, writeChunk2(destination, clientRenderScriptFunctionOnly)), 0 === (completedSegments.instructions & 2) && (completedSegments.instructions |= 2, writeChunk2(destination, completeBoundaryScriptFunctionOnly)), 0 === (completedSegments.instructions & 8) ? (completedSegments.instructions |= 8, writeChunk2(destination, completeBoundaryWithStylesScript1FullPartial)) : writeChunk2(destination, completeBoundaryWithStylesScript1Partial)) : (0 === (completedSegments.instructions & 2) && (completedSegments.instructions |= 2, writeChunk2(destination, completeBoundaryScriptFunctionOnly)), writeChunk2(destination, completeBoundaryScript1Partial));
|
|
completedSegments = stringToChunk(i.toString(16));
|
|
writeChunk2(destination, request.boundaryPrefix);
|
|
writeChunk2(destination, completedSegments);
|
|
writeChunk2(destination, completeBoundaryScript2);
|
|
writeChunk2(destination, request.segmentPrefix);
|
|
writeChunk2(destination, completedSegments);
|
|
requiresStyleInsertion ? (writeChunk2(destination, completeBoundaryScript3a), writeStyleResourceDependenciesInJS(destination, boundary)) : writeChunk2(destination, completeBoundaryScript3b);
|
|
boundary = writeChunkAndReturn(destination, completeBoundaryScriptEnd);
|
|
return writeBootstrap(destination, request) && boundary;
|
|
}
|
|
function flushPartiallyCompletedSegment(request, destination, boundary, segment) {
|
|
if (2 === segment.status) return true;
|
|
var hoistableState = boundary.contentState, segmentID = segment.id;
|
|
if (-1 === segmentID) {
|
|
if (-1 === (segment.id = boundary.rootSegmentID)) throw Error("A root segment ID must have been assigned by now. This is a bug in React.");
|
|
return flushSegmentContainer(request, destination, segment, hoistableState);
|
|
}
|
|
if (segmentID === boundary.rootSegmentID) return flushSegmentContainer(request, destination, segment, hoistableState);
|
|
flushSegmentContainer(request, destination, segment, hoistableState);
|
|
boundary = request.resumableState;
|
|
request = request.renderState;
|
|
writeChunk2(destination, request.startInlineScript);
|
|
writeChunk2(destination, endOfStartTag);
|
|
0 === (boundary.instructions & 1) ? (boundary.instructions |= 1, writeChunk2(destination, completeSegmentScript1Full)) : writeChunk2(destination, completeSegmentScript1Partial);
|
|
writeChunk2(destination, request.segmentPrefix);
|
|
segmentID = stringToChunk(segmentID.toString(16));
|
|
writeChunk2(destination, segmentID);
|
|
writeChunk2(destination, completeSegmentScript2);
|
|
writeChunk2(destination, request.placeholderPrefix);
|
|
writeChunk2(destination, segmentID);
|
|
destination = writeChunkAndReturn(destination, completeSegmentScriptEnd);
|
|
return destination;
|
|
}
|
|
var flushingPartialBoundaries = false;
|
|
function flushCompletedQueues(request, destination) {
|
|
currentView = new Uint8Array(2048);
|
|
writtenBytes = 0;
|
|
try {
|
|
if (!(0 < request.pendingRootTasks)) {
|
|
var i, completedRootSegment = request.completedRootSegment;
|
|
if (null !== completedRootSegment) {
|
|
if (5 === completedRootSegment.status) return;
|
|
var completedPreambleSegments = request.completedPreambleSegments;
|
|
if (null === completedPreambleSegments) return;
|
|
flushedByteSize = request.byteSize;
|
|
var resumableState = request.resumableState, renderState = request.renderState, preamble = renderState.preamble, htmlChunks = preamble.htmlChunks, headChunks = preamble.headChunks, i$jscomp$0;
|
|
if (htmlChunks) {
|
|
for (i$jscomp$0 = 0; i$jscomp$0 < htmlChunks.length; i$jscomp$0++) writeChunk2(destination, htmlChunks[i$jscomp$0]);
|
|
if (headChunks) for (i$jscomp$0 = 0; i$jscomp$0 < headChunks.length; i$jscomp$0++) writeChunk2(destination, headChunks[i$jscomp$0]);
|
|
else writeChunk2(destination, startChunkForTag("head")), writeChunk2(destination, endOfStartTag);
|
|
} else if (headChunks) for (i$jscomp$0 = 0; i$jscomp$0 < headChunks.length; i$jscomp$0++) writeChunk2(destination, headChunks[i$jscomp$0]);
|
|
var charsetChunks = renderState.charsetChunks;
|
|
for (i$jscomp$0 = 0; i$jscomp$0 < charsetChunks.length; i$jscomp$0++) writeChunk2(destination, charsetChunks[i$jscomp$0]);
|
|
charsetChunks.length = 0;
|
|
renderState.preconnects.forEach(flushResource, destination);
|
|
renderState.preconnects.clear();
|
|
var viewportChunks = renderState.viewportChunks;
|
|
for (i$jscomp$0 = 0; i$jscomp$0 < viewportChunks.length; i$jscomp$0++) writeChunk2(destination, viewportChunks[i$jscomp$0]);
|
|
viewportChunks.length = 0;
|
|
renderState.fontPreloads.forEach(flushResource, destination);
|
|
renderState.fontPreloads.clear();
|
|
renderState.highImagePreloads.forEach(flushResource, destination);
|
|
renderState.highImagePreloads.clear();
|
|
currentlyFlushingRenderState = renderState;
|
|
renderState.styles.forEach(flushStylesInPreamble, destination);
|
|
currentlyFlushingRenderState = null;
|
|
var importMapChunks = renderState.importMapChunks;
|
|
for (i$jscomp$0 = 0; i$jscomp$0 < importMapChunks.length; i$jscomp$0++) writeChunk2(destination, importMapChunks[i$jscomp$0]);
|
|
importMapChunks.length = 0;
|
|
renderState.bootstrapScripts.forEach(flushResource, destination);
|
|
renderState.scripts.forEach(flushResource, destination);
|
|
renderState.scripts.clear();
|
|
renderState.bulkPreloads.forEach(flushResource, destination);
|
|
renderState.bulkPreloads.clear();
|
|
htmlChunks || headChunks || (resumableState.instructions |= 32);
|
|
var hoistableChunks = renderState.hoistableChunks;
|
|
for (i$jscomp$0 = 0; i$jscomp$0 < hoistableChunks.length; i$jscomp$0++) writeChunk2(destination, hoistableChunks[i$jscomp$0]);
|
|
for (resumableState = hoistableChunks.length = 0; resumableState < completedPreambleSegments.length; resumableState++) {
|
|
var segments = completedPreambleSegments[resumableState];
|
|
for (renderState = 0; renderState < segments.length; renderState++) flushSegment(request, destination, segments[renderState], null);
|
|
}
|
|
var preamble$jscomp$0 = request.renderState.preamble, headChunks$jscomp$0 = preamble$jscomp$0.headChunks;
|
|
(preamble$jscomp$0.htmlChunks || headChunks$jscomp$0) && writeChunk2(destination, endChunkForTag("head"));
|
|
var bodyChunks = preamble$jscomp$0.bodyChunks;
|
|
if (bodyChunks) for (completedPreambleSegments = 0; completedPreambleSegments < bodyChunks.length; completedPreambleSegments++) writeChunk2(destination, bodyChunks[completedPreambleSegments]);
|
|
flushSegment(request, destination, completedRootSegment, null);
|
|
request.completedRootSegment = null;
|
|
var renderState$jscomp$0 = request.renderState;
|
|
if (0 !== request.allPendingTasks || 0 !== request.clientRenderedBoundaries.length || 0 !== request.completedBoundaries.length || null !== request.trackedPostpones && (0 !== request.trackedPostpones.rootNodes.length || null !== request.trackedPostpones.rootSlots)) {
|
|
var resumableState$jscomp$0 = request.resumableState;
|
|
if (0 === (resumableState$jscomp$0.instructions & 64)) {
|
|
resumableState$jscomp$0.instructions |= 64;
|
|
writeChunk2(destination, renderState$jscomp$0.startInlineScript);
|
|
if (0 === (resumableState$jscomp$0.instructions & 32)) {
|
|
resumableState$jscomp$0.instructions |= 32;
|
|
var shellId = "_" + resumableState$jscomp$0.idPrefix + "R_";
|
|
writeChunk2(destination, completedShellIdAttributeStart);
|
|
writeChunk2(destination, stringToChunk(escapeTextForBrowser(shellId)));
|
|
writeChunk2(destination, attributeEnd);
|
|
}
|
|
writeChunk2(destination, endOfStartTag);
|
|
writeChunk2(destination, shellTimeRuntimeScript);
|
|
writeChunkAndReturn(destination, endInlineScript);
|
|
}
|
|
}
|
|
writeBootstrap(destination, renderState$jscomp$0);
|
|
}
|
|
var renderState$jscomp$1 = request.renderState;
|
|
completedRootSegment = 0;
|
|
var viewportChunks$jscomp$0 = renderState$jscomp$1.viewportChunks;
|
|
for (completedRootSegment = 0; completedRootSegment < viewportChunks$jscomp$0.length; completedRootSegment++) writeChunk2(destination, viewportChunks$jscomp$0[completedRootSegment]);
|
|
viewportChunks$jscomp$0.length = 0;
|
|
renderState$jscomp$1.preconnects.forEach(flushResource, destination);
|
|
renderState$jscomp$1.preconnects.clear();
|
|
renderState$jscomp$1.fontPreloads.forEach(flushResource, destination);
|
|
renderState$jscomp$1.fontPreloads.clear();
|
|
renderState$jscomp$1.highImagePreloads.forEach(flushResource, destination);
|
|
renderState$jscomp$1.highImagePreloads.clear();
|
|
renderState$jscomp$1.styles.forEach(preloadLateStyles, destination);
|
|
renderState$jscomp$1.scripts.forEach(flushResource, destination);
|
|
renderState$jscomp$1.scripts.clear();
|
|
renderState$jscomp$1.bulkPreloads.forEach(flushResource, destination);
|
|
renderState$jscomp$1.bulkPreloads.clear();
|
|
var hoistableChunks$jscomp$0 = renderState$jscomp$1.hoistableChunks;
|
|
for (completedRootSegment = 0; completedRootSegment < hoistableChunks$jscomp$0.length; completedRootSegment++) writeChunk2(destination, hoistableChunks$jscomp$0[completedRootSegment]);
|
|
hoistableChunks$jscomp$0.length = 0;
|
|
var clientRenderedBoundaries = request.clientRenderedBoundaries;
|
|
for (i = 0; i < clientRenderedBoundaries.length; i++) {
|
|
var boundary = clientRenderedBoundaries[i];
|
|
renderState$jscomp$1 = destination;
|
|
var resumableState$jscomp$1 = request.resumableState, renderState$jscomp$2 = request.renderState, id = boundary.rootSegmentID, errorDigest = boundary.errorDigest;
|
|
writeChunk2(renderState$jscomp$1, renderState$jscomp$2.startInlineScript);
|
|
writeChunk2(renderState$jscomp$1, endOfStartTag);
|
|
0 === (resumableState$jscomp$1.instructions & 4) ? (resumableState$jscomp$1.instructions |= 4, writeChunk2(renderState$jscomp$1, clientRenderScript1Full)) : writeChunk2(renderState$jscomp$1, clientRenderScript1Partial);
|
|
writeChunk2(renderState$jscomp$1, renderState$jscomp$2.boundaryPrefix);
|
|
writeChunk2(renderState$jscomp$1, stringToChunk(id.toString(16)));
|
|
writeChunk2(renderState$jscomp$1, clientRenderScript1A);
|
|
errorDigest && (writeChunk2(renderState$jscomp$1, clientRenderErrorScriptArgInterstitial), writeChunk2(renderState$jscomp$1, stringToChunk(escapeJSStringsForInstructionScripts(errorDigest || ""))));
|
|
var JSCompiler_inline_result = writeChunkAndReturn(renderState$jscomp$1, clientRenderScriptEnd);
|
|
if (!JSCompiler_inline_result) {
|
|
request.destination = null;
|
|
i++;
|
|
clientRenderedBoundaries.splice(0, i);
|
|
return;
|
|
}
|
|
}
|
|
clientRenderedBoundaries.splice(0, i);
|
|
var completedBoundaries = request.completedBoundaries;
|
|
for (i = 0; i < completedBoundaries.length; i++) if (!flushCompletedBoundary(request, destination, completedBoundaries[i])) {
|
|
request.destination = null;
|
|
i++;
|
|
completedBoundaries.splice(0, i);
|
|
return;
|
|
}
|
|
completedBoundaries.splice(0, i);
|
|
completeWriting(destination);
|
|
currentView = new Uint8Array(2048);
|
|
writtenBytes = 0;
|
|
flushingPartialBoundaries = true;
|
|
var partialBoundaries = request.partialBoundaries;
|
|
for (i = 0; i < partialBoundaries.length; i++) {
|
|
var boundary$70 = partialBoundaries[i];
|
|
a: {
|
|
clientRenderedBoundaries = request;
|
|
boundary = destination;
|
|
flushedByteSize = boundary$70.byteSize;
|
|
var completedSegments = boundary$70.completedSegments;
|
|
for (JSCompiler_inline_result = 0; JSCompiler_inline_result < completedSegments.length; JSCompiler_inline_result++) if (!flushPartiallyCompletedSegment(clientRenderedBoundaries, boundary, boundary$70, completedSegments[JSCompiler_inline_result])) {
|
|
JSCompiler_inline_result++;
|
|
completedSegments.splice(0, JSCompiler_inline_result);
|
|
var JSCompiler_inline_result$jscomp$0 = false;
|
|
break a;
|
|
}
|
|
completedSegments.splice(0, JSCompiler_inline_result);
|
|
var row = boundary$70.row;
|
|
null !== row && row.together && 1 === boundary$70.pendingTasks && (1 === row.pendingTasks ? unblockSuspenseListRow(clientRenderedBoundaries, row, row.hoistables) : row.pendingTasks--);
|
|
JSCompiler_inline_result$jscomp$0 = writeHoistablesForBoundary(boundary, boundary$70.contentState, clientRenderedBoundaries.renderState);
|
|
}
|
|
if (!JSCompiler_inline_result$jscomp$0) {
|
|
request.destination = null;
|
|
i++;
|
|
partialBoundaries.splice(0, i);
|
|
return;
|
|
}
|
|
}
|
|
partialBoundaries.splice(0, i);
|
|
flushingPartialBoundaries = false;
|
|
var largeBoundaries = request.completedBoundaries;
|
|
for (i = 0; i < largeBoundaries.length; i++) if (!flushCompletedBoundary(request, destination, largeBoundaries[i])) {
|
|
request.destination = null;
|
|
i++;
|
|
largeBoundaries.splice(0, i);
|
|
return;
|
|
}
|
|
largeBoundaries.splice(0, i);
|
|
}
|
|
} finally {
|
|
flushingPartialBoundaries = false, 0 === request.allPendingTasks && 0 === request.clientRenderedBoundaries.length && 0 === request.completedBoundaries.length ? (request.flushScheduled = false, i = request.resumableState, i.hasBody && writeChunk2(destination, endChunkForTag("body")), i.hasHtml && writeChunk2(destination, endChunkForTag("html")), completeWriting(destination), request.status = 14, destination.close(), request.destination = null) : completeWriting(destination);
|
|
}
|
|
}
|
|
function startWork(request) {
|
|
request.flushScheduled = null !== request.destination;
|
|
supportsRequestStorage ? scheduleMicrotask(function() {
|
|
return requestStorage.run(request, performWork, request);
|
|
}) : scheduleMicrotask(function() {
|
|
return performWork(request);
|
|
});
|
|
setTimeout(function() {
|
|
10 === request.status && (request.status = 11);
|
|
null === request.trackedPostpones && (supportsRequestStorage ? requestStorage.run(request, enqueueEarlyPreloadsAfterInitialWork, request) : enqueueEarlyPreloadsAfterInitialWork(request));
|
|
}, 0);
|
|
}
|
|
function enqueueEarlyPreloadsAfterInitialWork(request) {
|
|
safelyEmitEarlyPreloads(request, 0 === request.pendingRootTasks);
|
|
}
|
|
function enqueueFlush(request) {
|
|
false === request.flushScheduled && 0 === request.pingedTasks.length && null !== request.destination && (request.flushScheduled = true, setTimeout(function() {
|
|
var destination = request.destination;
|
|
destination ? flushCompletedQueues(request, destination) : request.flushScheduled = false;
|
|
}, 0));
|
|
}
|
|
function startFlowing(request, destination) {
|
|
if (13 === request.status) request.status = 14, closeWithError(destination, request.fatalError);
|
|
else if (14 !== request.status && null === request.destination) {
|
|
request.destination = destination;
|
|
try {
|
|
flushCompletedQueues(request, destination);
|
|
} catch (error) {
|
|
logRecoverableError(request, error, {}), fatalError(request, error);
|
|
}
|
|
}
|
|
}
|
|
function abort(request, reason) {
|
|
if (11 === request.status || 10 === request.status) request.status = 12;
|
|
try {
|
|
var abortableTasks = request.abortableTasks;
|
|
if (0 < abortableTasks.size) {
|
|
var error = void 0 === reason ? Error("The render was aborted by the server without a reason.") : "object" === typeof reason && null !== reason && "function" === typeof reason.then ? Error("The render was aborted by the server with a promise.") : reason;
|
|
request.fatalError = error;
|
|
abortableTasks.forEach(function(task) {
|
|
return abortTask(task, request, error);
|
|
});
|
|
abortableTasks.clear();
|
|
}
|
|
null !== request.destination && flushCompletedQueues(request, request.destination);
|
|
} catch (error$72) {
|
|
logRecoverableError(request, error$72, {}), fatalError(request, error$72);
|
|
}
|
|
}
|
|
function addToReplayParent(node, parentKeyPath, trackedPostpones) {
|
|
if (null === parentKeyPath) trackedPostpones.rootNodes.push(node);
|
|
else {
|
|
var workingMap = trackedPostpones.workingMap, parentNode = workingMap.get(parentKeyPath);
|
|
void 0 === parentNode && (parentNode = [
|
|
parentKeyPath[1],
|
|
parentKeyPath[2],
|
|
[],
|
|
null
|
|
], workingMap.set(parentKeyPath, parentNode), addToReplayParent(parentNode, parentKeyPath[0], trackedPostpones));
|
|
parentNode[2].push(node);
|
|
}
|
|
}
|
|
function getPostponedState(request) {
|
|
var trackedPostpones = request.trackedPostpones;
|
|
if (null === trackedPostpones || 0 === trackedPostpones.rootNodes.length && null === trackedPostpones.rootSlots) return request.trackedPostpones = null;
|
|
if (null === request.completedRootSegment || 5 !== request.completedRootSegment.status && null !== request.completedPreambleSegments) {
|
|
var nextSegmentId = request.nextSegmentId;
|
|
var replaySlots = trackedPostpones.rootSlots;
|
|
var resumableState = request.resumableState;
|
|
resumableState.bootstrapScriptContent = void 0;
|
|
resumableState.bootstrapScripts = void 0;
|
|
resumableState.bootstrapModules = void 0;
|
|
} else {
|
|
nextSegmentId = 0;
|
|
replaySlots = -1;
|
|
resumableState = request.resumableState;
|
|
var renderState = request.renderState;
|
|
resumableState.nextFormID = 0;
|
|
resumableState.hasBody = false;
|
|
resumableState.hasHtml = false;
|
|
resumableState.unknownResources = {
|
|
font: renderState.resets.font
|
|
};
|
|
resumableState.dnsResources = renderState.resets.dns;
|
|
resumableState.connectResources = renderState.resets.connect;
|
|
resumableState.imageResources = renderState.resets.image;
|
|
resumableState.styleResources = renderState.resets.style;
|
|
resumableState.scriptResources = {};
|
|
resumableState.moduleUnknownResources = {};
|
|
resumableState.moduleScriptResources = {};
|
|
resumableState.instructions = 0;
|
|
}
|
|
return {
|
|
nextSegmentId,
|
|
rootFormatContext: request.rootFormatContext,
|
|
progressiveChunkSize: request.progressiveChunkSize,
|
|
resumableState: request.resumableState,
|
|
replayNodes: trackedPostpones.rootNodes,
|
|
replaySlots
|
|
};
|
|
}
|
|
function ensureCorrectIsomorphicReactVersion() {
|
|
var isomorphicReactPackageVersion = React.version;
|
|
if ("19.2.4" !== isomorphicReactPackageVersion) throw Error('Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' + (isomorphicReactPackageVersion + "\n - react-dom: 19.2.4\nLearn more: https://react.dev/warnings/version-mismatch"));
|
|
}
|
|
ensureCorrectIsomorphicReactVersion();
|
|
ensureCorrectIsomorphicReactVersion();
|
|
reactDomServer_edge_production.prerender = function(children, options) {
|
|
return new Promise(function(resolve, reject) {
|
|
var onHeaders = options ? options.onHeaders : void 0, onHeadersImpl;
|
|
onHeaders && (onHeadersImpl = function(headersDescriptor) {
|
|
onHeaders(new Headers(headersDescriptor));
|
|
});
|
|
var resources = createResumableState(options ? options.identifierPrefix : void 0, options ? options.unstable_externalRuntimeSrc : void 0, options ? options.bootstrapScriptContent : void 0, options ? options.bootstrapScripts : void 0, options ? options.bootstrapModules : void 0), request = createPrerenderRequest(children, resources, createRenderState(resources, void 0, options ? options.unstable_externalRuntimeSrc : void 0, options ? options.importMap : void 0, onHeadersImpl, options ? options.maxHeadersLength : void 0), createRootFormatContext(options ? options.namespaceURI : void 0), options ? options.progressiveChunkSize : void 0, options ? options.onError : void 0, function() {
|
|
var stream = new ReadableStream({
|
|
type: "bytes",
|
|
pull: function(controller) {
|
|
startFlowing(request, controller);
|
|
},
|
|
cancel: function(reason) {
|
|
request.destination = null;
|
|
abort(request, reason);
|
|
}
|
|
}, {
|
|
highWaterMark: 0
|
|
});
|
|
stream = {
|
|
postponed: getPostponedState(request),
|
|
prelude: stream
|
|
};
|
|
resolve(stream);
|
|
}, void 0, void 0, reject, options ? options.onPostpone : void 0);
|
|
if (options && options.signal) {
|
|
var signal = options.signal;
|
|
if (signal.aborted) abort(request, signal.reason);
|
|
else {
|
|
var listener = function() {
|
|
abort(request, signal.reason);
|
|
signal.removeEventListener("abort", listener);
|
|
};
|
|
signal.addEventListener("abort", listener);
|
|
}
|
|
}
|
|
startWork(request);
|
|
});
|
|
};
|
|
reactDomServer_edge_production.renderToReadableStream = function(children, options) {
|
|
return new Promise(function(resolve, reject) {
|
|
var onFatalError, onAllReady, allReady = new Promise(function(res, rej) {
|
|
onAllReady = res;
|
|
onFatalError = rej;
|
|
}), onHeaders = options ? options.onHeaders : void 0, onHeadersImpl;
|
|
onHeaders && (onHeadersImpl = function(headersDescriptor) {
|
|
onHeaders(new Headers(headersDescriptor));
|
|
});
|
|
var resumableState = createResumableState(options ? options.identifierPrefix : void 0, options ? options.unstable_externalRuntimeSrc : void 0, options ? options.bootstrapScriptContent : void 0, options ? options.bootstrapScripts : void 0, options ? options.bootstrapModules : void 0), request = createRequest(children, resumableState, createRenderState(resumableState, options ? options.nonce : void 0, options ? options.unstable_externalRuntimeSrc : void 0, options ? options.importMap : void 0, onHeadersImpl, options ? options.maxHeadersLength : void 0), createRootFormatContext(options ? options.namespaceURI : void 0), options ? options.progressiveChunkSize : void 0, options ? options.onError : void 0, onAllReady, function() {
|
|
var stream = new ReadableStream({
|
|
type: "bytes",
|
|
pull: function(controller) {
|
|
startFlowing(request, controller);
|
|
},
|
|
cancel: function(reason) {
|
|
request.destination = null;
|
|
abort(request, reason);
|
|
}
|
|
}, {
|
|
highWaterMark: 0
|
|
});
|
|
stream.allReady = allReady;
|
|
resolve(stream);
|
|
}, function(error) {
|
|
allReady.catch(function() {
|
|
});
|
|
reject(error);
|
|
}, onFatalError, options ? options.onPostpone : void 0, options ? options.formState : void 0);
|
|
if (options && options.signal) {
|
|
var signal = options.signal;
|
|
if (signal.aborted) abort(request, signal.reason);
|
|
else {
|
|
var listener = function() {
|
|
abort(request, signal.reason);
|
|
signal.removeEventListener("abort", listener);
|
|
};
|
|
signal.addEventListener("abort", listener);
|
|
}
|
|
}
|
|
startWork(request);
|
|
});
|
|
};
|
|
reactDomServer_edge_production.resume = function(children, postponedState, options) {
|
|
return new Promise(function(resolve, reject) {
|
|
var onFatalError, onAllReady, allReady = new Promise(function(res, rej) {
|
|
onAllReady = res;
|
|
onFatalError = rej;
|
|
}), request = resumeRequest(children, postponedState, createRenderState(postponedState.resumableState, options ? options.nonce : void 0, void 0, void 0, void 0, void 0), options ? options.onError : void 0, onAllReady, function() {
|
|
var stream = new ReadableStream({
|
|
type: "bytes",
|
|
pull: function(controller) {
|
|
startFlowing(request, controller);
|
|
},
|
|
cancel: function(reason) {
|
|
request.destination = null;
|
|
abort(request, reason);
|
|
}
|
|
}, {
|
|
highWaterMark: 0
|
|
});
|
|
stream.allReady = allReady;
|
|
resolve(stream);
|
|
}, function(error) {
|
|
allReady.catch(function() {
|
|
});
|
|
reject(error);
|
|
}, onFatalError, options ? options.onPostpone : void 0);
|
|
if (options && options.signal) {
|
|
var signal = options.signal;
|
|
if (signal.aborted) abort(request, signal.reason);
|
|
else {
|
|
var listener = function() {
|
|
abort(request, signal.reason);
|
|
signal.removeEventListener("abort", listener);
|
|
};
|
|
signal.addEventListener("abort", listener);
|
|
}
|
|
}
|
|
startWork(request);
|
|
});
|
|
};
|
|
reactDomServer_edge_production.resumeAndPrerender = function(children, postponedState, options) {
|
|
return new Promise(function(resolve, reject) {
|
|
var request = resumeAndPrerenderRequest(children, postponedState, createRenderState(postponedState.resumableState, void 0, void 0, void 0, void 0, void 0), options ? options.onError : void 0, function() {
|
|
var stream = new ReadableStream({
|
|
type: "bytes",
|
|
pull: function(controller) {
|
|
startFlowing(request, controller);
|
|
},
|
|
cancel: function(reason) {
|
|
request.destination = null;
|
|
abort(request, reason);
|
|
}
|
|
}, {
|
|
highWaterMark: 0
|
|
});
|
|
stream = {
|
|
postponed: getPostponedState(request),
|
|
prelude: stream
|
|
};
|
|
resolve(stream);
|
|
}, void 0, void 0, reject, options ? options.onPostpone : void 0);
|
|
if (options && options.signal) {
|
|
var signal = options.signal;
|
|
if (signal.aborted) abort(request, signal.reason);
|
|
else {
|
|
var listener = function() {
|
|
abort(request, signal.reason);
|
|
signal.removeEventListener("abort", listener);
|
|
};
|
|
signal.addEventListener("abort", listener);
|
|
}
|
|
}
|
|
startWork(request);
|
|
});
|
|
};
|
|
reactDomServer_edge_production.version = "19.2.4";
|
|
return reactDomServer_edge_production;
|
|
}
|
|
var reactDomServerLegacy_browser_production = {};
|
|
var hasRequiredReactDomServerLegacy_browser_production;
|
|
function requireReactDomServerLegacy_browser_production() {
|
|
if (hasRequiredReactDomServerLegacy_browser_production) return reactDomServerLegacy_browser_production;
|
|
hasRequiredReactDomServerLegacy_browser_production = 1;
|
|
var React = requireReact(), ReactDOM = requireReactDom();
|
|
function formatProdErrorMessage(code) {
|
|
var url = "https://react.dev/errors/" + code;
|
|
if (1 < arguments.length) {
|
|
url += "?args[]=" + encodeURIComponent(arguments[1]);
|
|
for (var i = 2; i < arguments.length; i++) url += "&args[]=" + encodeURIComponent(arguments[i]);
|
|
}
|
|
return "Minified React error #" + code + "; visit " + url + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";
|
|
}
|
|
var REACT_ELEMENT_TYPE = /* @__PURE__ */ Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = /* @__PURE__ */ Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = /* @__PURE__ */ Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = /* @__PURE__ */ Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = /* @__PURE__ */ Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = /* @__PURE__ */ Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = /* @__PURE__ */ Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = /* @__PURE__ */ Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = /* @__PURE__ */ Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = /* @__PURE__ */ Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = /* @__PURE__ */ Symbol.for("react.memo"), REACT_LAZY_TYPE = /* @__PURE__ */ Symbol.for("react.lazy"), REACT_SCOPE_TYPE = /* @__PURE__ */ Symbol.for("react.scope"), REACT_ACTIVITY_TYPE = /* @__PURE__ */ Symbol.for("react.activity"), REACT_LEGACY_HIDDEN_TYPE = /* @__PURE__ */ Symbol.for("react.legacy_hidden"), REACT_MEMO_CACHE_SENTINEL = /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel"), REACT_VIEW_TRANSITION_TYPE = /* @__PURE__ */ Symbol.for("react.view_transition"), MAYBE_ITERATOR_SYMBOL = Symbol.iterator;
|
|
function getIteratorFn(maybeIterable) {
|
|
if (null === maybeIterable || "object" !== typeof maybeIterable) return null;
|
|
maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable["@@iterator"];
|
|
return "function" === typeof maybeIterable ? maybeIterable : null;
|
|
}
|
|
var isArrayImpl = Array.isArray;
|
|
function murmurhash3_32_gc(key, seed) {
|
|
var remainder = key.length & 3;
|
|
var bytes = key.length - remainder;
|
|
var h1 = seed;
|
|
for (seed = 0; seed < bytes; ) {
|
|
var k1 = key.charCodeAt(seed) & 255 | (key.charCodeAt(++seed) & 255) << 8 | (key.charCodeAt(++seed) & 255) << 16 | (key.charCodeAt(++seed) & 255) << 24;
|
|
++seed;
|
|
k1 = 3432918353 * (k1 & 65535) + ((3432918353 * (k1 >>> 16) & 65535) << 16) & 4294967295;
|
|
k1 = k1 << 15 | k1 >>> 17;
|
|
k1 = 461845907 * (k1 & 65535) + ((461845907 * (k1 >>> 16) & 65535) << 16) & 4294967295;
|
|
h1 ^= k1;
|
|
h1 = h1 << 13 | h1 >>> 19;
|
|
h1 = 5 * (h1 & 65535) + ((5 * (h1 >>> 16) & 65535) << 16) & 4294967295;
|
|
h1 = (h1 & 65535) + 27492 + (((h1 >>> 16) + 58964 & 65535) << 16);
|
|
}
|
|
k1 = 0;
|
|
switch (remainder) {
|
|
case 3:
|
|
k1 ^= (key.charCodeAt(seed + 2) & 255) << 16;
|
|
case 2:
|
|
k1 ^= (key.charCodeAt(seed + 1) & 255) << 8;
|
|
case 1:
|
|
k1 ^= key.charCodeAt(seed) & 255, k1 = 3432918353 * (k1 & 65535) + ((3432918353 * (k1 >>> 16) & 65535) << 16) & 4294967295, k1 = k1 << 15 | k1 >>> 17, h1 ^= 461845907 * (k1 & 65535) + ((461845907 * (k1 >>> 16) & 65535) << 16) & 4294967295;
|
|
}
|
|
h1 ^= key.length;
|
|
h1 ^= h1 >>> 16;
|
|
h1 = 2246822507 * (h1 & 65535) + ((2246822507 * (h1 >>> 16) & 65535) << 16) & 4294967295;
|
|
h1 ^= h1 >>> 13;
|
|
h1 = 3266489909 * (h1 & 65535) + ((3266489909 * (h1 >>> 16) & 65535) << 16) & 4294967295;
|
|
return (h1 ^ h1 >>> 16) >>> 0;
|
|
}
|
|
var assign = Object.assign, hasOwnProperty = Object.prototype.hasOwnProperty, VALID_ATTRIBUTE_NAME_REGEX = RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"), illegalAttributeNameCache = {}, validatedAttributeNameCache = {};
|
|
function isAttributeNameSafe(attributeName) {
|
|
if (hasOwnProperty.call(validatedAttributeNameCache, attributeName)) return true;
|
|
if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) return false;
|
|
if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) return validatedAttributeNameCache[attributeName] = true;
|
|
illegalAttributeNameCache[attributeName] = true;
|
|
return false;
|
|
}
|
|
var unitlessNumbers = new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" ")), aliases = /* @__PURE__ */ new Map([
|
|
[
|
|
"acceptCharset",
|
|
"accept-charset"
|
|
],
|
|
[
|
|
"htmlFor",
|
|
"for"
|
|
],
|
|
[
|
|
"httpEquiv",
|
|
"http-equiv"
|
|
],
|
|
[
|
|
"crossOrigin",
|
|
"crossorigin"
|
|
],
|
|
[
|
|
"accentHeight",
|
|
"accent-height"
|
|
],
|
|
[
|
|
"alignmentBaseline",
|
|
"alignment-baseline"
|
|
],
|
|
[
|
|
"arabicForm",
|
|
"arabic-form"
|
|
],
|
|
[
|
|
"baselineShift",
|
|
"baseline-shift"
|
|
],
|
|
[
|
|
"capHeight",
|
|
"cap-height"
|
|
],
|
|
[
|
|
"clipPath",
|
|
"clip-path"
|
|
],
|
|
[
|
|
"clipRule",
|
|
"clip-rule"
|
|
],
|
|
[
|
|
"colorInterpolation",
|
|
"color-interpolation"
|
|
],
|
|
[
|
|
"colorInterpolationFilters",
|
|
"color-interpolation-filters"
|
|
],
|
|
[
|
|
"colorProfile",
|
|
"color-profile"
|
|
],
|
|
[
|
|
"colorRendering",
|
|
"color-rendering"
|
|
],
|
|
[
|
|
"dominantBaseline",
|
|
"dominant-baseline"
|
|
],
|
|
[
|
|
"enableBackground",
|
|
"enable-background"
|
|
],
|
|
[
|
|
"fillOpacity",
|
|
"fill-opacity"
|
|
],
|
|
[
|
|
"fillRule",
|
|
"fill-rule"
|
|
],
|
|
[
|
|
"floodColor",
|
|
"flood-color"
|
|
],
|
|
[
|
|
"floodOpacity",
|
|
"flood-opacity"
|
|
],
|
|
[
|
|
"fontFamily",
|
|
"font-family"
|
|
],
|
|
[
|
|
"fontSize",
|
|
"font-size"
|
|
],
|
|
[
|
|
"fontSizeAdjust",
|
|
"font-size-adjust"
|
|
],
|
|
[
|
|
"fontStretch",
|
|
"font-stretch"
|
|
],
|
|
[
|
|
"fontStyle",
|
|
"font-style"
|
|
],
|
|
[
|
|
"fontVariant",
|
|
"font-variant"
|
|
],
|
|
[
|
|
"fontWeight",
|
|
"font-weight"
|
|
],
|
|
[
|
|
"glyphName",
|
|
"glyph-name"
|
|
],
|
|
[
|
|
"glyphOrientationHorizontal",
|
|
"glyph-orientation-horizontal"
|
|
],
|
|
[
|
|
"glyphOrientationVertical",
|
|
"glyph-orientation-vertical"
|
|
],
|
|
[
|
|
"horizAdvX",
|
|
"horiz-adv-x"
|
|
],
|
|
[
|
|
"horizOriginX",
|
|
"horiz-origin-x"
|
|
],
|
|
[
|
|
"imageRendering",
|
|
"image-rendering"
|
|
],
|
|
[
|
|
"letterSpacing",
|
|
"letter-spacing"
|
|
],
|
|
[
|
|
"lightingColor",
|
|
"lighting-color"
|
|
],
|
|
[
|
|
"markerEnd",
|
|
"marker-end"
|
|
],
|
|
[
|
|
"markerMid",
|
|
"marker-mid"
|
|
],
|
|
[
|
|
"markerStart",
|
|
"marker-start"
|
|
],
|
|
[
|
|
"overlinePosition",
|
|
"overline-position"
|
|
],
|
|
[
|
|
"overlineThickness",
|
|
"overline-thickness"
|
|
],
|
|
[
|
|
"paintOrder",
|
|
"paint-order"
|
|
],
|
|
[
|
|
"panose-1",
|
|
"panose-1"
|
|
],
|
|
[
|
|
"pointerEvents",
|
|
"pointer-events"
|
|
],
|
|
[
|
|
"renderingIntent",
|
|
"rendering-intent"
|
|
],
|
|
[
|
|
"shapeRendering",
|
|
"shape-rendering"
|
|
],
|
|
[
|
|
"stopColor",
|
|
"stop-color"
|
|
],
|
|
[
|
|
"stopOpacity",
|
|
"stop-opacity"
|
|
],
|
|
[
|
|
"strikethroughPosition",
|
|
"strikethrough-position"
|
|
],
|
|
[
|
|
"strikethroughThickness",
|
|
"strikethrough-thickness"
|
|
],
|
|
[
|
|
"strokeDasharray",
|
|
"stroke-dasharray"
|
|
],
|
|
[
|
|
"strokeDashoffset",
|
|
"stroke-dashoffset"
|
|
],
|
|
[
|
|
"strokeLinecap",
|
|
"stroke-linecap"
|
|
],
|
|
[
|
|
"strokeLinejoin",
|
|
"stroke-linejoin"
|
|
],
|
|
[
|
|
"strokeMiterlimit",
|
|
"stroke-miterlimit"
|
|
],
|
|
[
|
|
"strokeOpacity",
|
|
"stroke-opacity"
|
|
],
|
|
[
|
|
"strokeWidth",
|
|
"stroke-width"
|
|
],
|
|
[
|
|
"textAnchor",
|
|
"text-anchor"
|
|
],
|
|
[
|
|
"textDecoration",
|
|
"text-decoration"
|
|
],
|
|
[
|
|
"textRendering",
|
|
"text-rendering"
|
|
],
|
|
[
|
|
"transformOrigin",
|
|
"transform-origin"
|
|
],
|
|
[
|
|
"underlinePosition",
|
|
"underline-position"
|
|
],
|
|
[
|
|
"underlineThickness",
|
|
"underline-thickness"
|
|
],
|
|
[
|
|
"unicodeBidi",
|
|
"unicode-bidi"
|
|
],
|
|
[
|
|
"unicodeRange",
|
|
"unicode-range"
|
|
],
|
|
[
|
|
"unitsPerEm",
|
|
"units-per-em"
|
|
],
|
|
[
|
|
"vAlphabetic",
|
|
"v-alphabetic"
|
|
],
|
|
[
|
|
"vHanging",
|
|
"v-hanging"
|
|
],
|
|
[
|
|
"vIdeographic",
|
|
"v-ideographic"
|
|
],
|
|
[
|
|
"vMathematical",
|
|
"v-mathematical"
|
|
],
|
|
[
|
|
"vectorEffect",
|
|
"vector-effect"
|
|
],
|
|
[
|
|
"vertAdvY",
|
|
"vert-adv-y"
|
|
],
|
|
[
|
|
"vertOriginX",
|
|
"vert-origin-x"
|
|
],
|
|
[
|
|
"vertOriginY",
|
|
"vert-origin-y"
|
|
],
|
|
[
|
|
"wordSpacing",
|
|
"word-spacing"
|
|
],
|
|
[
|
|
"writingMode",
|
|
"writing-mode"
|
|
],
|
|
[
|
|
"xmlnsXlink",
|
|
"xmlns:xlink"
|
|
],
|
|
[
|
|
"xHeight",
|
|
"x-height"
|
|
]
|
|
]), matchHtmlRegExp = /["'&<>]/;
|
|
function escapeTextForBrowser(text) {
|
|
if ("boolean" === typeof text || "number" === typeof text || "bigint" === typeof text) return "" + text;
|
|
text = "" + text;
|
|
var match = matchHtmlRegExp.exec(text);
|
|
if (match) {
|
|
var html = "", index, lastIndex = 0;
|
|
for (index = match.index; index < text.length; index++) {
|
|
switch (text.charCodeAt(index)) {
|
|
case 34:
|
|
match = """;
|
|
break;
|
|
case 38:
|
|
match = "&";
|
|
break;
|
|
case 39:
|
|
match = "'";
|
|
break;
|
|
case 60:
|
|
match = "<";
|
|
break;
|
|
case 62:
|
|
match = ">";
|
|
break;
|
|
default:
|
|
continue;
|
|
}
|
|
lastIndex !== index && (html += text.slice(lastIndex, index));
|
|
lastIndex = index + 1;
|
|
html += match;
|
|
}
|
|
text = lastIndex !== index ? html + text.slice(lastIndex, index) : html;
|
|
}
|
|
return text;
|
|
}
|
|
var uppercasePattern = /([A-Z])/g, msPattern = /^ms-/, isJavaScriptProtocol = /^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;
|
|
function sanitizeURL(url) {
|
|
return isJavaScriptProtocol.test("" + url) ? "javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')" : url;
|
|
}
|
|
var ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, ReactDOMSharedInternals = ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, sharedNotPendingObject = {
|
|
pending: false,
|
|
data: null,
|
|
method: null,
|
|
action: null
|
|
}, previousDispatcher = ReactDOMSharedInternals.d;
|
|
ReactDOMSharedInternals.d = {
|
|
f: previousDispatcher.f,
|
|
r: previousDispatcher.r,
|
|
D: prefetchDNS,
|
|
C: preconnect,
|
|
L: preload,
|
|
m: preloadModule,
|
|
X: preinitScript,
|
|
S: preinitStyle,
|
|
M: preinitModuleScript
|
|
};
|
|
var PRELOAD_NO_CREDS = [], currentlyFlushingRenderState = null, scriptRegex = /(<\/|<)(s)(cript)/gi;
|
|
function scriptReplacer(match, prefix3, s, suffix2) {
|
|
return "" + prefix3 + ("s" === s ? "\\u0073" : "\\u0053") + suffix2;
|
|
}
|
|
function createResumableState(identifierPrefix, externalRuntimeConfig, bootstrapScriptContent, bootstrapScripts, bootstrapModules) {
|
|
return {
|
|
idPrefix: void 0 === identifierPrefix ? "" : identifierPrefix,
|
|
nextFormID: 0,
|
|
streamingFormat: 0,
|
|
bootstrapScriptContent,
|
|
bootstrapScripts,
|
|
bootstrapModules,
|
|
instructions: 0,
|
|
hasBody: false,
|
|
hasHtml: false,
|
|
unknownResources: {},
|
|
dnsResources: {},
|
|
connectResources: {
|
|
default: {},
|
|
anonymous: {},
|
|
credentials: {}
|
|
},
|
|
imageResources: {},
|
|
styleResources: {},
|
|
scriptResources: {},
|
|
moduleUnknownResources: {},
|
|
moduleScriptResources: {}
|
|
};
|
|
}
|
|
function createFormatContext(insertionMode, selectedValue, tagScope, viewTransition) {
|
|
return {
|
|
insertionMode,
|
|
selectedValue,
|
|
tagScope,
|
|
viewTransition
|
|
};
|
|
}
|
|
function getChildFormatContext(parentContext, type, props) {
|
|
var subtreeScope = parentContext.tagScope & -25;
|
|
switch (type) {
|
|
case "noscript":
|
|
return createFormatContext(2, null, subtreeScope | 1, null);
|
|
case "select":
|
|
return createFormatContext(2, null != props.value ? props.value : props.defaultValue, subtreeScope, null);
|
|
case "svg":
|
|
return createFormatContext(4, null, subtreeScope, null);
|
|
case "picture":
|
|
return createFormatContext(2, null, subtreeScope | 2, null);
|
|
case "math":
|
|
return createFormatContext(5, null, subtreeScope, null);
|
|
case "foreignObject":
|
|
return createFormatContext(2, null, subtreeScope, null);
|
|
case "table":
|
|
return createFormatContext(6, null, subtreeScope, null);
|
|
case "thead":
|
|
case "tbody":
|
|
case "tfoot":
|
|
return createFormatContext(7, null, subtreeScope, null);
|
|
case "colgroup":
|
|
return createFormatContext(9, null, subtreeScope, null);
|
|
case "tr":
|
|
return createFormatContext(8, null, subtreeScope, null);
|
|
case "head":
|
|
if (2 > parentContext.insertionMode) return createFormatContext(3, null, subtreeScope, null);
|
|
break;
|
|
case "html":
|
|
if (0 === parentContext.insertionMode) return createFormatContext(1, null, subtreeScope, null);
|
|
}
|
|
return 6 <= parentContext.insertionMode || 2 > parentContext.insertionMode ? createFormatContext(2, null, subtreeScope, null) : parentContext.tagScope !== subtreeScope ? createFormatContext(parentContext.insertionMode, parentContext.selectedValue, subtreeScope, null) : parentContext;
|
|
}
|
|
function getSuspenseViewTransition(parentViewTransition) {
|
|
return null === parentViewTransition ? null : {
|
|
update: parentViewTransition.update,
|
|
enter: "none",
|
|
exit: "none",
|
|
share: parentViewTransition.update,
|
|
name: parentViewTransition.autoName,
|
|
autoName: parentViewTransition.autoName,
|
|
nameIdx: 0
|
|
};
|
|
}
|
|
function getSuspenseFallbackFormatContext(resumableState, parentContext) {
|
|
parentContext.tagScope & 32 && (resumableState.instructions |= 128);
|
|
return createFormatContext(parentContext.insertionMode, parentContext.selectedValue, parentContext.tagScope | 12, getSuspenseViewTransition(parentContext.viewTransition));
|
|
}
|
|
function getSuspenseContentFormatContext(resumableState, parentContext) {
|
|
resumableState = getSuspenseViewTransition(parentContext.viewTransition);
|
|
var subtreeScope = parentContext.tagScope | 16;
|
|
null !== resumableState && "none" !== resumableState.share && (subtreeScope |= 64);
|
|
return createFormatContext(parentContext.insertionMode, parentContext.selectedValue, subtreeScope, resumableState);
|
|
}
|
|
var styleNameCache = /* @__PURE__ */ new Map();
|
|
function pushStyleAttribute(target, style) {
|
|
if ("object" !== typeof style) throw Error(formatProdErrorMessage(62));
|
|
var isFirst = true, styleName;
|
|
for (styleName in style) if (hasOwnProperty.call(style, styleName)) {
|
|
var styleValue = style[styleName];
|
|
if (null != styleValue && "boolean" !== typeof styleValue && "" !== styleValue) {
|
|
if (0 === styleName.indexOf("--")) {
|
|
var nameChunk = escapeTextForBrowser(styleName);
|
|
styleValue = escapeTextForBrowser(("" + styleValue).trim());
|
|
} else nameChunk = styleNameCache.get(styleName), void 0 === nameChunk && (nameChunk = escapeTextForBrowser(styleName.replace(uppercasePattern, "-$1").toLowerCase().replace(msPattern, "-ms-")), styleNameCache.set(styleName, nameChunk)), styleValue = "number" === typeof styleValue ? 0 === styleValue || unitlessNumbers.has(styleName) ? "" + styleValue : styleValue + "px" : escapeTextForBrowser(("" + styleValue).trim());
|
|
isFirst ? (isFirst = false, target.push(' style="', nameChunk, ":", styleValue)) : target.push(";", nameChunk, ":", styleValue);
|
|
}
|
|
}
|
|
isFirst || target.push('"');
|
|
}
|
|
function pushBooleanAttribute(target, name, value) {
|
|
value && "function" !== typeof value && "symbol" !== typeof value && target.push(" ", name, '=""');
|
|
}
|
|
function pushStringAttribute(target, name, value) {
|
|
"function" !== typeof value && "symbol" !== typeof value && "boolean" !== typeof value && target.push(" ", name, '="', escapeTextForBrowser(value), '"');
|
|
}
|
|
var actionJavaScriptURL = escapeTextForBrowser("javascript:throw new Error('React form unexpectedly submitted.')");
|
|
function pushAdditionalFormField(value, key) {
|
|
this.push('<input type="hidden"');
|
|
validateAdditionalFormField(value);
|
|
pushStringAttribute(this, "name", key);
|
|
pushStringAttribute(this, "value", value);
|
|
this.push("/>");
|
|
}
|
|
function validateAdditionalFormField(value) {
|
|
if ("string" !== typeof value) throw Error(formatProdErrorMessage(480));
|
|
}
|
|
function getCustomFormFields(resumableState, formAction) {
|
|
if ("function" === typeof formAction.$$FORM_ACTION) {
|
|
var id = resumableState.nextFormID++;
|
|
resumableState = resumableState.idPrefix + id;
|
|
try {
|
|
var customFields = formAction.$$FORM_ACTION(resumableState);
|
|
if (customFields) {
|
|
var formData = customFields.data;
|
|
null != formData && formData.forEach(validateAdditionalFormField);
|
|
}
|
|
return customFields;
|
|
} catch (x) {
|
|
if ("object" === typeof x && null !== x && "function" === typeof x.then) throw x;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
function pushFormActionAttribute(target, resumableState, renderState, formAction, formEncType, formMethod, formTarget, name) {
|
|
var formData = null;
|
|
if ("function" === typeof formAction) {
|
|
var customFields = getCustomFormFields(resumableState, formAction);
|
|
null !== customFields ? (name = customFields.name, formAction = customFields.action || "", formEncType = customFields.encType, formMethod = customFields.method, formTarget = customFields.target, formData = customFields.data) : (target.push(" ", "formAction", '="', actionJavaScriptURL, '"'), formTarget = formMethod = formEncType = formAction = name = null, injectFormReplayingRuntime(resumableState, renderState));
|
|
}
|
|
null != name && pushAttribute(target, "name", name);
|
|
null != formAction && pushAttribute(target, "formAction", formAction);
|
|
null != formEncType && pushAttribute(target, "formEncType", formEncType);
|
|
null != formMethod && pushAttribute(target, "formMethod", formMethod);
|
|
null != formTarget && pushAttribute(target, "formTarget", formTarget);
|
|
return formData;
|
|
}
|
|
function pushAttribute(target, name, value) {
|
|
switch (name) {
|
|
case "className":
|
|
pushStringAttribute(target, "class", value);
|
|
break;
|
|
case "tabIndex":
|
|
pushStringAttribute(target, "tabindex", value);
|
|
break;
|
|
case "dir":
|
|
case "role":
|
|
case "viewBox":
|
|
case "width":
|
|
case "height":
|
|
pushStringAttribute(target, name, value);
|
|
break;
|
|
case "style":
|
|
pushStyleAttribute(target, value);
|
|
break;
|
|
case "src":
|
|
case "href":
|
|
if ("" === value) break;
|
|
case "action":
|
|
case "formAction":
|
|
if (null == value || "function" === typeof value || "symbol" === typeof value || "boolean" === typeof value) break;
|
|
value = sanitizeURL("" + value);
|
|
target.push(" ", name, '="', escapeTextForBrowser(value), '"');
|
|
break;
|
|
case "defaultValue":
|
|
case "defaultChecked":
|
|
case "innerHTML":
|
|
case "suppressContentEditableWarning":
|
|
case "suppressHydrationWarning":
|
|
case "ref":
|
|
break;
|
|
case "autoFocus":
|
|
case "multiple":
|
|
case "muted":
|
|
pushBooleanAttribute(target, name.toLowerCase(), value);
|
|
break;
|
|
case "xlinkHref":
|
|
if ("function" === typeof value || "symbol" === typeof value || "boolean" === typeof value) break;
|
|
value = sanitizeURL("" + value);
|
|
target.push(" ", "xlink:href", '="', escapeTextForBrowser(value), '"');
|
|
break;
|
|
case "contentEditable":
|
|
case "spellCheck":
|
|
case "draggable":
|
|
case "value":
|
|
case "autoReverse":
|
|
case "externalResourcesRequired":
|
|
case "focusable":
|
|
case "preserveAlpha":
|
|
"function" !== typeof value && "symbol" !== typeof value && target.push(" ", name, '="', escapeTextForBrowser(value), '"');
|
|
break;
|
|
case "inert":
|
|
case "allowFullScreen":
|
|
case "async":
|
|
case "autoPlay":
|
|
case "controls":
|
|
case "default":
|
|
case "defer":
|
|
case "disabled":
|
|
case "disablePictureInPicture":
|
|
case "disableRemotePlayback":
|
|
case "formNoValidate":
|
|
case "hidden":
|
|
case "loop":
|
|
case "noModule":
|
|
case "noValidate":
|
|
case "open":
|
|
case "playsInline":
|
|
case "readOnly":
|
|
case "required":
|
|
case "reversed":
|
|
case "scoped":
|
|
case "seamless":
|
|
case "itemScope":
|
|
value && "function" !== typeof value && "symbol" !== typeof value && target.push(" ", name, '=""');
|
|
break;
|
|
case "capture":
|
|
case "download":
|
|
true === value ? target.push(" ", name, '=""') : false !== value && "function" !== typeof value && "symbol" !== typeof value && target.push(" ", name, '="', escapeTextForBrowser(value), '"');
|
|
break;
|
|
case "cols":
|
|
case "rows":
|
|
case "size":
|
|
case "span":
|
|
"function" !== typeof value && "symbol" !== typeof value && !isNaN(value) && 1 <= value && target.push(" ", name, '="', escapeTextForBrowser(value), '"');
|
|
break;
|
|
case "rowSpan":
|
|
case "start":
|
|
"function" === typeof value || "symbol" === typeof value || isNaN(value) || target.push(" ", name, '="', escapeTextForBrowser(value), '"');
|
|
break;
|
|
case "xlinkActuate":
|
|
pushStringAttribute(target, "xlink:actuate", value);
|
|
break;
|
|
case "xlinkArcrole":
|
|
pushStringAttribute(target, "xlink:arcrole", value);
|
|
break;
|
|
case "xlinkRole":
|
|
pushStringAttribute(target, "xlink:role", value);
|
|
break;
|
|
case "xlinkShow":
|
|
pushStringAttribute(target, "xlink:show", value);
|
|
break;
|
|
case "xlinkTitle":
|
|
pushStringAttribute(target, "xlink:title", value);
|
|
break;
|
|
case "xlinkType":
|
|
pushStringAttribute(target, "xlink:type", value);
|
|
break;
|
|
case "xmlBase":
|
|
pushStringAttribute(target, "xml:base", value);
|
|
break;
|
|
case "xmlLang":
|
|
pushStringAttribute(target, "xml:lang", value);
|
|
break;
|
|
case "xmlSpace":
|
|
pushStringAttribute(target, "xml:space", value);
|
|
break;
|
|
default:
|
|
if (!(2 < name.length) || "o" !== name[0] && "O" !== name[0] || "n" !== name[1] && "N" !== name[1]) {
|
|
if (name = aliases.get(name) || name, isAttributeNameSafe(name)) {
|
|
switch (typeof value) {
|
|
case "function":
|
|
case "symbol":
|
|
return;
|
|
case "boolean":
|
|
var prefix$8 = name.toLowerCase().slice(0, 5);
|
|
if ("data-" !== prefix$8 && "aria-" !== prefix$8) return;
|
|
}
|
|
target.push(" ", name, '="', escapeTextForBrowser(value), '"');
|
|
}
|
|
}
|
|
}
|
|
}
|
|
function pushInnerHTML(target, innerHTML, children) {
|
|
if (null != innerHTML) {
|
|
if (null != children) throw Error(formatProdErrorMessage(60));
|
|
if ("object" !== typeof innerHTML || !("__html" in innerHTML)) throw Error(formatProdErrorMessage(61));
|
|
innerHTML = innerHTML.__html;
|
|
null !== innerHTML && void 0 !== innerHTML && target.push("" + innerHTML);
|
|
}
|
|
}
|
|
function flattenOptionChildren(children) {
|
|
var content = "";
|
|
React.Children.forEach(children, function(child) {
|
|
null != child && (content += child);
|
|
});
|
|
return content;
|
|
}
|
|
function injectFormReplayingRuntime(resumableState, renderState) {
|
|
if (0 === (resumableState.instructions & 16)) {
|
|
resumableState.instructions |= 16;
|
|
var preamble = renderState.preamble, bootstrapChunks = renderState.bootstrapChunks;
|
|
(preamble.htmlChunks || preamble.headChunks) && 0 === bootstrapChunks.length ? (bootstrapChunks.push(renderState.startInlineScript), pushCompletedShellIdAttribute(bootstrapChunks, resumableState), bootstrapChunks.push(">", `addEventListener("submit",function(a){if(!a.defaultPrevented){var c=a.target,d=a.submitter,e=c.action,b=d;if(d){var f=d.getAttribute("formAction");null!=f&&(e=f,b=null)}"javascript:throw new Error('React form unexpectedly submitted.')"===e&&(a.preventDefault(),b?(a=document.createElement("input"),a.name=b.name,a.value=b.value,b.parentNode.insertBefore(a,b),b=new FormData(c),a.parentNode.removeChild(a)):b=new FormData(c),a=c.ownerDocument||c,(a.$$reactFormReplay=a.$$reactFormReplay||[]).push(c,d,b))}});`, "<\/script>")) : bootstrapChunks.unshift(renderState.startInlineScript, ">", `addEventListener("submit",function(a){if(!a.defaultPrevented){var c=a.target,d=a.submitter,e=c.action,b=d;if(d){var f=d.getAttribute("formAction");null!=f&&(e=f,b=null)}"javascript:throw new Error('React form unexpectedly submitted.')"===e&&(a.preventDefault(),b?(a=document.createElement("input"),a.name=b.name,a.value=b.value,b.parentNode.insertBefore(a,b),b=new FormData(c),a.parentNode.removeChild(a)):b=new FormData(c),a=c.ownerDocument||c,(a.$$reactFormReplay=a.$$reactFormReplay||[]).push(c,d,b))}});`, "<\/script>");
|
|
}
|
|
}
|
|
function pushLinkImpl(target, props) {
|
|
target.push(startChunkForTag("link"));
|
|
for (var propKey in props) if (hasOwnProperty.call(props, propKey)) {
|
|
var propValue = props[propKey];
|
|
if (null != propValue) switch (propKey) {
|
|
case "children":
|
|
case "dangerouslySetInnerHTML":
|
|
throw Error(formatProdErrorMessage(399, "link"));
|
|
default:
|
|
pushAttribute(target, propKey, propValue);
|
|
}
|
|
}
|
|
target.push("/>");
|
|
return null;
|
|
}
|
|
var styleRegex = /(<\/|<)(s)(tyle)/gi;
|
|
function styleReplacer(match, prefix3, s, suffix2) {
|
|
return "" + prefix3 + ("s" === s ? "\\73 " : "\\53 ") + suffix2;
|
|
}
|
|
function pushSelfClosing(target, props, tag) {
|
|
target.push(startChunkForTag(tag));
|
|
for (var propKey in props) if (hasOwnProperty.call(props, propKey)) {
|
|
var propValue = props[propKey];
|
|
if (null != propValue) switch (propKey) {
|
|
case "children":
|
|
case "dangerouslySetInnerHTML":
|
|
throw Error(formatProdErrorMessage(399, tag));
|
|
default:
|
|
pushAttribute(target, propKey, propValue);
|
|
}
|
|
}
|
|
target.push("/>");
|
|
return null;
|
|
}
|
|
function pushTitleImpl(target, props) {
|
|
target.push(startChunkForTag("title"));
|
|
var children = null, innerHTML = null, propKey;
|
|
for (propKey in props) if (hasOwnProperty.call(props, propKey)) {
|
|
var propValue = props[propKey];
|
|
if (null != propValue) switch (propKey) {
|
|
case "children":
|
|
children = propValue;
|
|
break;
|
|
case "dangerouslySetInnerHTML":
|
|
innerHTML = propValue;
|
|
break;
|
|
default:
|
|
pushAttribute(target, propKey, propValue);
|
|
}
|
|
}
|
|
target.push(">");
|
|
props = Array.isArray(children) ? 2 > children.length ? children[0] : null : children;
|
|
"function" !== typeof props && "symbol" !== typeof props && null !== props && void 0 !== props && target.push(escapeTextForBrowser("" + props));
|
|
pushInnerHTML(target, innerHTML, children);
|
|
target.push(endChunkForTag("title"));
|
|
return null;
|
|
}
|
|
function pushScriptImpl(target, props) {
|
|
target.push(startChunkForTag("script"));
|
|
var children = null, innerHTML = null, propKey;
|
|
for (propKey in props) if (hasOwnProperty.call(props, propKey)) {
|
|
var propValue = props[propKey];
|
|
if (null != propValue) switch (propKey) {
|
|
case "children":
|
|
children = propValue;
|
|
break;
|
|
case "dangerouslySetInnerHTML":
|
|
innerHTML = propValue;
|
|
break;
|
|
default:
|
|
pushAttribute(target, propKey, propValue);
|
|
}
|
|
}
|
|
target.push(">");
|
|
pushInnerHTML(target, innerHTML, children);
|
|
"string" === typeof children && target.push(("" + children).replace(scriptRegex, scriptReplacer));
|
|
target.push(endChunkForTag("script"));
|
|
return null;
|
|
}
|
|
function pushStartSingletonElement(target, props, tag) {
|
|
target.push(startChunkForTag(tag));
|
|
var innerHTML = tag = null, propKey;
|
|
for (propKey in props) if (hasOwnProperty.call(props, propKey)) {
|
|
var propValue = props[propKey];
|
|
if (null != propValue) switch (propKey) {
|
|
case "children":
|
|
tag = propValue;
|
|
break;
|
|
case "dangerouslySetInnerHTML":
|
|
innerHTML = propValue;
|
|
break;
|
|
default:
|
|
pushAttribute(target, propKey, propValue);
|
|
}
|
|
}
|
|
target.push(">");
|
|
pushInnerHTML(target, innerHTML, tag);
|
|
return tag;
|
|
}
|
|
function pushStartGenericElement(target, props, tag) {
|
|
target.push(startChunkForTag(tag));
|
|
var innerHTML = tag = null, propKey;
|
|
for (propKey in props) if (hasOwnProperty.call(props, propKey)) {
|
|
var propValue = props[propKey];
|
|
if (null != propValue) switch (propKey) {
|
|
case "children":
|
|
tag = propValue;
|
|
break;
|
|
case "dangerouslySetInnerHTML":
|
|
innerHTML = propValue;
|
|
break;
|
|
default:
|
|
pushAttribute(target, propKey, propValue);
|
|
}
|
|
}
|
|
target.push(">");
|
|
pushInnerHTML(target, innerHTML, tag);
|
|
return "string" === typeof tag ? (target.push(escapeTextForBrowser(tag)), null) : tag;
|
|
}
|
|
var VALID_TAG_REGEX = /^[a-zA-Z][a-zA-Z:_\.\-\d]*$/, validatedTagCache = /* @__PURE__ */ new Map();
|
|
function startChunkForTag(tag) {
|
|
var tagStartChunk = validatedTagCache.get(tag);
|
|
if (void 0 === tagStartChunk) {
|
|
if (!VALID_TAG_REGEX.test(tag)) throw Error(formatProdErrorMessage(65, tag));
|
|
tagStartChunk = "<" + tag;
|
|
validatedTagCache.set(tag, tagStartChunk);
|
|
}
|
|
return tagStartChunk;
|
|
}
|
|
function pushStartInstance(target$jscomp$0, type, props, resumableState, renderState, preambleState, hoistableState, formatContext, textEmbedded) {
|
|
switch (type) {
|
|
case "div":
|
|
case "span":
|
|
case "svg":
|
|
case "path":
|
|
break;
|
|
case "a":
|
|
target$jscomp$0.push(startChunkForTag("a"));
|
|
var children = null, innerHTML = null, propKey;
|
|
for (propKey in props) if (hasOwnProperty.call(props, propKey)) {
|
|
var propValue = props[propKey];
|
|
if (null != propValue) switch (propKey) {
|
|
case "children":
|
|
children = propValue;
|
|
break;
|
|
case "dangerouslySetInnerHTML":
|
|
innerHTML = propValue;
|
|
break;
|
|
case "href":
|
|
"" === propValue ? pushStringAttribute(target$jscomp$0, "href", "") : pushAttribute(target$jscomp$0, propKey, propValue);
|
|
break;
|
|
default:
|
|
pushAttribute(target$jscomp$0, propKey, propValue);
|
|
}
|
|
}
|
|
target$jscomp$0.push(">");
|
|
pushInnerHTML(target$jscomp$0, innerHTML, children);
|
|
if ("string" === typeof children) {
|
|
target$jscomp$0.push(escapeTextForBrowser(children));
|
|
var JSCompiler_inline_result = null;
|
|
} else JSCompiler_inline_result = children;
|
|
return JSCompiler_inline_result;
|
|
case "g":
|
|
case "p":
|
|
case "li":
|
|
break;
|
|
case "select":
|
|
target$jscomp$0.push(startChunkForTag("select"));
|
|
var children$jscomp$0 = null, innerHTML$jscomp$0 = null, propKey$jscomp$0;
|
|
for (propKey$jscomp$0 in props) if (hasOwnProperty.call(props, propKey$jscomp$0)) {
|
|
var propValue$jscomp$0 = props[propKey$jscomp$0];
|
|
if (null != propValue$jscomp$0) switch (propKey$jscomp$0) {
|
|
case "children":
|
|
children$jscomp$0 = propValue$jscomp$0;
|
|
break;
|
|
case "dangerouslySetInnerHTML":
|
|
innerHTML$jscomp$0 = propValue$jscomp$0;
|
|
break;
|
|
case "defaultValue":
|
|
case "value":
|
|
break;
|
|
default:
|
|
pushAttribute(target$jscomp$0, propKey$jscomp$0, propValue$jscomp$0);
|
|
}
|
|
}
|
|
target$jscomp$0.push(">");
|
|
pushInnerHTML(target$jscomp$0, innerHTML$jscomp$0, children$jscomp$0);
|
|
return children$jscomp$0;
|
|
case "option":
|
|
var selectedValue = formatContext.selectedValue;
|
|
target$jscomp$0.push(startChunkForTag("option"));
|
|
var children$jscomp$1 = null, value = null, selected = null, innerHTML$jscomp$1 = null, propKey$jscomp$1;
|
|
for (propKey$jscomp$1 in props) if (hasOwnProperty.call(props, propKey$jscomp$1)) {
|
|
var propValue$jscomp$1 = props[propKey$jscomp$1];
|
|
if (null != propValue$jscomp$1) switch (propKey$jscomp$1) {
|
|
case "children":
|
|
children$jscomp$1 = propValue$jscomp$1;
|
|
break;
|
|
case "selected":
|
|
selected = propValue$jscomp$1;
|
|
break;
|
|
case "dangerouslySetInnerHTML":
|
|
innerHTML$jscomp$1 = propValue$jscomp$1;
|
|
break;
|
|
case "value":
|
|
value = propValue$jscomp$1;
|
|
default:
|
|
pushAttribute(target$jscomp$0, propKey$jscomp$1, propValue$jscomp$1);
|
|
}
|
|
}
|
|
if (null != selectedValue) {
|
|
var stringValue = null !== value ? "" + value : flattenOptionChildren(children$jscomp$1);
|
|
if (isArrayImpl(selectedValue)) for (var i = 0; i < selectedValue.length; i++) {
|
|
if ("" + selectedValue[i] === stringValue) {
|
|
target$jscomp$0.push(' selected=""');
|
|
break;
|
|
}
|
|
}
|
|
else "" + selectedValue === stringValue && target$jscomp$0.push(' selected=""');
|
|
} else selected && target$jscomp$0.push(' selected=""');
|
|
target$jscomp$0.push(">");
|
|
pushInnerHTML(target$jscomp$0, innerHTML$jscomp$1, children$jscomp$1);
|
|
return children$jscomp$1;
|
|
case "textarea":
|
|
target$jscomp$0.push(startChunkForTag("textarea"));
|
|
var value$jscomp$0 = null, defaultValue = null, children$jscomp$2 = null, propKey$jscomp$2;
|
|
for (propKey$jscomp$2 in props) if (hasOwnProperty.call(props, propKey$jscomp$2)) {
|
|
var propValue$jscomp$2 = props[propKey$jscomp$2];
|
|
if (null != propValue$jscomp$2) switch (propKey$jscomp$2) {
|
|
case "children":
|
|
children$jscomp$2 = propValue$jscomp$2;
|
|
break;
|
|
case "value":
|
|
value$jscomp$0 = propValue$jscomp$2;
|
|
break;
|
|
case "defaultValue":
|
|
defaultValue = propValue$jscomp$2;
|
|
break;
|
|
case "dangerouslySetInnerHTML":
|
|
throw Error(formatProdErrorMessage(91));
|
|
default:
|
|
pushAttribute(target$jscomp$0, propKey$jscomp$2, propValue$jscomp$2);
|
|
}
|
|
}
|
|
null === value$jscomp$0 && null !== defaultValue && (value$jscomp$0 = defaultValue);
|
|
target$jscomp$0.push(">");
|
|
if (null != children$jscomp$2) {
|
|
if (null != value$jscomp$0) throw Error(formatProdErrorMessage(92));
|
|
if (isArrayImpl(children$jscomp$2)) {
|
|
if (1 < children$jscomp$2.length) throw Error(formatProdErrorMessage(93));
|
|
value$jscomp$0 = "" + children$jscomp$2[0];
|
|
}
|
|
value$jscomp$0 = "" + children$jscomp$2;
|
|
}
|
|
"string" === typeof value$jscomp$0 && "\n" === value$jscomp$0[0] && target$jscomp$0.push("\n");
|
|
null !== value$jscomp$0 && target$jscomp$0.push(escapeTextForBrowser("" + value$jscomp$0));
|
|
return null;
|
|
case "input":
|
|
target$jscomp$0.push(startChunkForTag("input"));
|
|
var name = null, formAction = null, formEncType = null, formMethod = null, formTarget = null, value$jscomp$1 = null, defaultValue$jscomp$0 = null, checked = null, defaultChecked = null, propKey$jscomp$3;
|
|
for (propKey$jscomp$3 in props) if (hasOwnProperty.call(props, propKey$jscomp$3)) {
|
|
var propValue$jscomp$3 = props[propKey$jscomp$3];
|
|
if (null != propValue$jscomp$3) switch (propKey$jscomp$3) {
|
|
case "children":
|
|
case "dangerouslySetInnerHTML":
|
|
throw Error(formatProdErrorMessage(399, "input"));
|
|
case "name":
|
|
name = propValue$jscomp$3;
|
|
break;
|
|
case "formAction":
|
|
formAction = propValue$jscomp$3;
|
|
break;
|
|
case "formEncType":
|
|
formEncType = propValue$jscomp$3;
|
|
break;
|
|
case "formMethod":
|
|
formMethod = propValue$jscomp$3;
|
|
break;
|
|
case "formTarget":
|
|
formTarget = propValue$jscomp$3;
|
|
break;
|
|
case "defaultChecked":
|
|
defaultChecked = propValue$jscomp$3;
|
|
break;
|
|
case "defaultValue":
|
|
defaultValue$jscomp$0 = propValue$jscomp$3;
|
|
break;
|
|
case "checked":
|
|
checked = propValue$jscomp$3;
|
|
break;
|
|
case "value":
|
|
value$jscomp$1 = propValue$jscomp$3;
|
|
break;
|
|
default:
|
|
pushAttribute(target$jscomp$0, propKey$jscomp$3, propValue$jscomp$3);
|
|
}
|
|
}
|
|
var formData = pushFormActionAttribute(target$jscomp$0, resumableState, renderState, formAction, formEncType, formMethod, formTarget, name);
|
|
null !== checked ? pushBooleanAttribute(target$jscomp$0, "checked", checked) : null !== defaultChecked && pushBooleanAttribute(target$jscomp$0, "checked", defaultChecked);
|
|
null !== value$jscomp$1 ? pushAttribute(target$jscomp$0, "value", value$jscomp$1) : null !== defaultValue$jscomp$0 && pushAttribute(target$jscomp$0, "value", defaultValue$jscomp$0);
|
|
target$jscomp$0.push("/>");
|
|
null != formData && formData.forEach(pushAdditionalFormField, target$jscomp$0);
|
|
return null;
|
|
case "button":
|
|
target$jscomp$0.push(startChunkForTag("button"));
|
|
var children$jscomp$3 = null, innerHTML$jscomp$2 = null, name$jscomp$0 = null, formAction$jscomp$0 = null, formEncType$jscomp$0 = null, formMethod$jscomp$0 = null, formTarget$jscomp$0 = null, propKey$jscomp$4;
|
|
for (propKey$jscomp$4 in props) if (hasOwnProperty.call(props, propKey$jscomp$4)) {
|
|
var propValue$jscomp$4 = props[propKey$jscomp$4];
|
|
if (null != propValue$jscomp$4) switch (propKey$jscomp$4) {
|
|
case "children":
|
|
children$jscomp$3 = propValue$jscomp$4;
|
|
break;
|
|
case "dangerouslySetInnerHTML":
|
|
innerHTML$jscomp$2 = propValue$jscomp$4;
|
|
break;
|
|
case "name":
|
|
name$jscomp$0 = propValue$jscomp$4;
|
|
break;
|
|
case "formAction":
|
|
formAction$jscomp$0 = propValue$jscomp$4;
|
|
break;
|
|
case "formEncType":
|
|
formEncType$jscomp$0 = propValue$jscomp$4;
|
|
break;
|
|
case "formMethod":
|
|
formMethod$jscomp$0 = propValue$jscomp$4;
|
|
break;
|
|
case "formTarget":
|
|
formTarget$jscomp$0 = propValue$jscomp$4;
|
|
break;
|
|
default:
|
|
pushAttribute(target$jscomp$0, propKey$jscomp$4, propValue$jscomp$4);
|
|
}
|
|
}
|
|
var formData$jscomp$0 = pushFormActionAttribute(target$jscomp$0, resumableState, renderState, formAction$jscomp$0, formEncType$jscomp$0, formMethod$jscomp$0, formTarget$jscomp$0, name$jscomp$0);
|
|
target$jscomp$0.push(">");
|
|
null != formData$jscomp$0 && formData$jscomp$0.forEach(pushAdditionalFormField, target$jscomp$0);
|
|
pushInnerHTML(target$jscomp$0, innerHTML$jscomp$2, children$jscomp$3);
|
|
if ("string" === typeof children$jscomp$3) {
|
|
target$jscomp$0.push(escapeTextForBrowser(children$jscomp$3));
|
|
var JSCompiler_inline_result$jscomp$0 = null;
|
|
} else JSCompiler_inline_result$jscomp$0 = children$jscomp$3;
|
|
return JSCompiler_inline_result$jscomp$0;
|
|
case "form":
|
|
target$jscomp$0.push(startChunkForTag("form"));
|
|
var children$jscomp$4 = null, innerHTML$jscomp$3 = null, formAction$jscomp$1 = null, formEncType$jscomp$1 = null, formMethod$jscomp$1 = null, formTarget$jscomp$1 = null, propKey$jscomp$5;
|
|
for (propKey$jscomp$5 in props) if (hasOwnProperty.call(props, propKey$jscomp$5)) {
|
|
var propValue$jscomp$5 = props[propKey$jscomp$5];
|
|
if (null != propValue$jscomp$5) switch (propKey$jscomp$5) {
|
|
case "children":
|
|
children$jscomp$4 = propValue$jscomp$5;
|
|
break;
|
|
case "dangerouslySetInnerHTML":
|
|
innerHTML$jscomp$3 = propValue$jscomp$5;
|
|
break;
|
|
case "action":
|
|
formAction$jscomp$1 = propValue$jscomp$5;
|
|
break;
|
|
case "encType":
|
|
formEncType$jscomp$1 = propValue$jscomp$5;
|
|
break;
|
|
case "method":
|
|
formMethod$jscomp$1 = propValue$jscomp$5;
|
|
break;
|
|
case "target":
|
|
formTarget$jscomp$1 = propValue$jscomp$5;
|
|
break;
|
|
default:
|
|
pushAttribute(target$jscomp$0, propKey$jscomp$5, propValue$jscomp$5);
|
|
}
|
|
}
|
|
var formData$jscomp$1 = null, formActionName = null;
|
|
if ("function" === typeof formAction$jscomp$1) {
|
|
var customFields = getCustomFormFields(resumableState, formAction$jscomp$1);
|
|
null !== customFields ? (formAction$jscomp$1 = customFields.action || "", formEncType$jscomp$1 = customFields.encType, formMethod$jscomp$1 = customFields.method, formTarget$jscomp$1 = customFields.target, formData$jscomp$1 = customFields.data, formActionName = customFields.name) : (target$jscomp$0.push(" ", "action", '="', actionJavaScriptURL, '"'), formTarget$jscomp$1 = formMethod$jscomp$1 = formEncType$jscomp$1 = formAction$jscomp$1 = null, injectFormReplayingRuntime(resumableState, renderState));
|
|
}
|
|
null != formAction$jscomp$1 && pushAttribute(target$jscomp$0, "action", formAction$jscomp$1);
|
|
null != formEncType$jscomp$1 && pushAttribute(target$jscomp$0, "encType", formEncType$jscomp$1);
|
|
null != formMethod$jscomp$1 && pushAttribute(target$jscomp$0, "method", formMethod$jscomp$1);
|
|
null != formTarget$jscomp$1 && pushAttribute(target$jscomp$0, "target", formTarget$jscomp$1);
|
|
target$jscomp$0.push(">");
|
|
null !== formActionName && (target$jscomp$0.push('<input type="hidden"'), pushStringAttribute(target$jscomp$0, "name", formActionName), target$jscomp$0.push("/>"), null != formData$jscomp$1 && formData$jscomp$1.forEach(pushAdditionalFormField, target$jscomp$0));
|
|
pushInnerHTML(target$jscomp$0, innerHTML$jscomp$3, children$jscomp$4);
|
|
if ("string" === typeof children$jscomp$4) {
|
|
target$jscomp$0.push(escapeTextForBrowser(children$jscomp$4));
|
|
var JSCompiler_inline_result$jscomp$1 = null;
|
|
} else JSCompiler_inline_result$jscomp$1 = children$jscomp$4;
|
|
return JSCompiler_inline_result$jscomp$1;
|
|
case "menuitem":
|
|
target$jscomp$0.push(startChunkForTag("menuitem"));
|
|
for (var propKey$jscomp$6 in props) if (hasOwnProperty.call(props, propKey$jscomp$6)) {
|
|
var propValue$jscomp$6 = props[propKey$jscomp$6];
|
|
if (null != propValue$jscomp$6) switch (propKey$jscomp$6) {
|
|
case "children":
|
|
case "dangerouslySetInnerHTML":
|
|
throw Error(formatProdErrorMessage(400));
|
|
default:
|
|
pushAttribute(target$jscomp$0, propKey$jscomp$6, propValue$jscomp$6);
|
|
}
|
|
}
|
|
target$jscomp$0.push(">");
|
|
return null;
|
|
case "object":
|
|
target$jscomp$0.push(startChunkForTag("object"));
|
|
var children$jscomp$5 = null, innerHTML$jscomp$4 = null, propKey$jscomp$7;
|
|
for (propKey$jscomp$7 in props) if (hasOwnProperty.call(props, propKey$jscomp$7)) {
|
|
var propValue$jscomp$7 = props[propKey$jscomp$7];
|
|
if (null != propValue$jscomp$7) switch (propKey$jscomp$7) {
|
|
case "children":
|
|
children$jscomp$5 = propValue$jscomp$7;
|
|
break;
|
|
case "dangerouslySetInnerHTML":
|
|
innerHTML$jscomp$4 = propValue$jscomp$7;
|
|
break;
|
|
case "data":
|
|
var sanitizedValue = sanitizeURL("" + propValue$jscomp$7);
|
|
if ("" === sanitizedValue) break;
|
|
target$jscomp$0.push(" ", "data", '="', escapeTextForBrowser(sanitizedValue), '"');
|
|
break;
|
|
default:
|
|
pushAttribute(target$jscomp$0, propKey$jscomp$7, propValue$jscomp$7);
|
|
}
|
|
}
|
|
target$jscomp$0.push(">");
|
|
pushInnerHTML(target$jscomp$0, innerHTML$jscomp$4, children$jscomp$5);
|
|
if ("string" === typeof children$jscomp$5) {
|
|
target$jscomp$0.push(escapeTextForBrowser(children$jscomp$5));
|
|
var JSCompiler_inline_result$jscomp$2 = null;
|
|
} else JSCompiler_inline_result$jscomp$2 = children$jscomp$5;
|
|
return JSCompiler_inline_result$jscomp$2;
|
|
case "title":
|
|
var noscriptTagInScope = formatContext.tagScope & 1, isFallback = formatContext.tagScope & 4;
|
|
if (4 === formatContext.insertionMode || noscriptTagInScope || null != props.itemProp) var JSCompiler_inline_result$jscomp$3 = pushTitleImpl(target$jscomp$0, props);
|
|
else isFallback ? JSCompiler_inline_result$jscomp$3 = null : (pushTitleImpl(renderState.hoistableChunks, props), JSCompiler_inline_result$jscomp$3 = void 0);
|
|
return JSCompiler_inline_result$jscomp$3;
|
|
case "link":
|
|
var noscriptTagInScope$jscomp$0 = formatContext.tagScope & 1, isFallback$jscomp$0 = formatContext.tagScope & 4, rel = props.rel, href = props.href, precedence = props.precedence;
|
|
if (4 === formatContext.insertionMode || noscriptTagInScope$jscomp$0 || null != props.itemProp || "string" !== typeof rel || "string" !== typeof href || "" === href) {
|
|
pushLinkImpl(target$jscomp$0, props);
|
|
var JSCompiler_inline_result$jscomp$4 = null;
|
|
} else if ("stylesheet" === props.rel) if ("string" !== typeof precedence || null != props.disabled || props.onLoad || props.onError) JSCompiler_inline_result$jscomp$4 = pushLinkImpl(target$jscomp$0, props);
|
|
else {
|
|
var styleQueue = renderState.styles.get(precedence), resourceState = resumableState.styleResources.hasOwnProperty(href) ? resumableState.styleResources[href] : void 0;
|
|
if (null !== resourceState) {
|
|
resumableState.styleResources[href] = null;
|
|
styleQueue || (styleQueue = {
|
|
precedence: escapeTextForBrowser(precedence),
|
|
rules: [],
|
|
hrefs: [],
|
|
sheets: /* @__PURE__ */ new Map()
|
|
}, renderState.styles.set(precedence, styleQueue));
|
|
var resource = {
|
|
state: 0,
|
|
props: assign({}, props, {
|
|
"data-precedence": props.precedence,
|
|
precedence: null
|
|
})
|
|
};
|
|
if (resourceState) {
|
|
2 === resourceState.length && adoptPreloadCredentials(resource.props, resourceState);
|
|
var preloadResource = renderState.preloads.stylesheets.get(href);
|
|
preloadResource && 0 < preloadResource.length ? preloadResource.length = 0 : resource.state = 1;
|
|
}
|
|
styleQueue.sheets.set(href, resource);
|
|
hoistableState && hoistableState.stylesheets.add(resource);
|
|
} else if (styleQueue) {
|
|
var resource$9 = styleQueue.sheets.get(href);
|
|
resource$9 && hoistableState && hoistableState.stylesheets.add(resource$9);
|
|
}
|
|
textEmbedded && target$jscomp$0.push("<!-- -->");
|
|
JSCompiler_inline_result$jscomp$4 = null;
|
|
}
|
|
else props.onLoad || props.onError ? JSCompiler_inline_result$jscomp$4 = pushLinkImpl(target$jscomp$0, props) : (textEmbedded && target$jscomp$0.push("<!-- -->"), JSCompiler_inline_result$jscomp$4 = isFallback$jscomp$0 ? null : pushLinkImpl(renderState.hoistableChunks, props));
|
|
return JSCompiler_inline_result$jscomp$4;
|
|
case "script":
|
|
var noscriptTagInScope$jscomp$1 = formatContext.tagScope & 1, asyncProp = props.async;
|
|
if ("string" !== typeof props.src || !props.src || !asyncProp || "function" === typeof asyncProp || "symbol" === typeof asyncProp || props.onLoad || props.onError || 4 === formatContext.insertionMode || noscriptTagInScope$jscomp$1 || null != props.itemProp) var JSCompiler_inline_result$jscomp$5 = pushScriptImpl(target$jscomp$0, props);
|
|
else {
|
|
var key = props.src;
|
|
if ("module" === props.type) {
|
|
var resources = resumableState.moduleScriptResources;
|
|
var preloads = renderState.preloads.moduleScripts;
|
|
} else resources = resumableState.scriptResources, preloads = renderState.preloads.scripts;
|
|
var resourceState$jscomp$0 = resources.hasOwnProperty(key) ? resources[key] : void 0;
|
|
if (null !== resourceState$jscomp$0) {
|
|
resources[key] = null;
|
|
var scriptProps = props;
|
|
if (resourceState$jscomp$0) {
|
|
2 === resourceState$jscomp$0.length && (scriptProps = assign({}, props), adoptPreloadCredentials(scriptProps, resourceState$jscomp$0));
|
|
var preloadResource$jscomp$0 = preloads.get(key);
|
|
preloadResource$jscomp$0 && (preloadResource$jscomp$0.length = 0);
|
|
}
|
|
var resource$jscomp$0 = [];
|
|
renderState.scripts.add(resource$jscomp$0);
|
|
pushScriptImpl(resource$jscomp$0, scriptProps);
|
|
}
|
|
textEmbedded && target$jscomp$0.push("<!-- -->");
|
|
JSCompiler_inline_result$jscomp$5 = null;
|
|
}
|
|
return JSCompiler_inline_result$jscomp$5;
|
|
case "style":
|
|
var noscriptTagInScope$jscomp$2 = formatContext.tagScope & 1, precedence$jscomp$0 = props.precedence, href$jscomp$0 = props.href, nonce = props.nonce;
|
|
if (4 === formatContext.insertionMode || noscriptTagInScope$jscomp$2 || null != props.itemProp || "string" !== typeof precedence$jscomp$0 || "string" !== typeof href$jscomp$0 || "" === href$jscomp$0) {
|
|
target$jscomp$0.push(startChunkForTag("style"));
|
|
var children$jscomp$6 = null, innerHTML$jscomp$5 = null, propKey$jscomp$8;
|
|
for (propKey$jscomp$8 in props) if (hasOwnProperty.call(props, propKey$jscomp$8)) {
|
|
var propValue$jscomp$8 = props[propKey$jscomp$8];
|
|
if (null != propValue$jscomp$8) switch (propKey$jscomp$8) {
|
|
case "children":
|
|
children$jscomp$6 = propValue$jscomp$8;
|
|
break;
|
|
case "dangerouslySetInnerHTML":
|
|
innerHTML$jscomp$5 = propValue$jscomp$8;
|
|
break;
|
|
default:
|
|
pushAttribute(target$jscomp$0, propKey$jscomp$8, propValue$jscomp$8);
|
|
}
|
|
}
|
|
target$jscomp$0.push(">");
|
|
var child = Array.isArray(children$jscomp$6) ? 2 > children$jscomp$6.length ? children$jscomp$6[0] : null : children$jscomp$6;
|
|
"function" !== typeof child && "symbol" !== typeof child && null !== child && void 0 !== child && target$jscomp$0.push(("" + child).replace(styleRegex, styleReplacer));
|
|
pushInnerHTML(target$jscomp$0, innerHTML$jscomp$5, children$jscomp$6);
|
|
target$jscomp$0.push(endChunkForTag("style"));
|
|
var JSCompiler_inline_result$jscomp$6 = null;
|
|
} else {
|
|
var styleQueue$jscomp$0 = renderState.styles.get(precedence$jscomp$0);
|
|
if (null !== (resumableState.styleResources.hasOwnProperty(href$jscomp$0) ? resumableState.styleResources[href$jscomp$0] : void 0)) {
|
|
resumableState.styleResources[href$jscomp$0] = null;
|
|
styleQueue$jscomp$0 || (styleQueue$jscomp$0 = {
|
|
precedence: escapeTextForBrowser(precedence$jscomp$0),
|
|
rules: [],
|
|
hrefs: [],
|
|
sheets: /* @__PURE__ */ new Map()
|
|
}, renderState.styles.set(precedence$jscomp$0, styleQueue$jscomp$0));
|
|
var nonceStyle = renderState.nonce.style;
|
|
if (!nonceStyle || nonceStyle === nonce) {
|
|
styleQueue$jscomp$0.hrefs.push(escapeTextForBrowser(href$jscomp$0));
|
|
var target = styleQueue$jscomp$0.rules, children$jscomp$7 = null, innerHTML$jscomp$6 = null, propKey$jscomp$9;
|
|
for (propKey$jscomp$9 in props) if (hasOwnProperty.call(props, propKey$jscomp$9)) {
|
|
var propValue$jscomp$9 = props[propKey$jscomp$9];
|
|
if (null != propValue$jscomp$9) switch (propKey$jscomp$9) {
|
|
case "children":
|
|
children$jscomp$7 = propValue$jscomp$9;
|
|
break;
|
|
case "dangerouslySetInnerHTML":
|
|
innerHTML$jscomp$6 = propValue$jscomp$9;
|
|
}
|
|
}
|
|
var child$jscomp$0 = Array.isArray(children$jscomp$7) ? 2 > children$jscomp$7.length ? children$jscomp$7[0] : null : children$jscomp$7;
|
|
"function" !== typeof child$jscomp$0 && "symbol" !== typeof child$jscomp$0 && null !== child$jscomp$0 && void 0 !== child$jscomp$0 && target.push(("" + child$jscomp$0).replace(styleRegex, styleReplacer));
|
|
pushInnerHTML(target, innerHTML$jscomp$6, children$jscomp$7);
|
|
}
|
|
}
|
|
styleQueue$jscomp$0 && hoistableState && hoistableState.styles.add(styleQueue$jscomp$0);
|
|
textEmbedded && target$jscomp$0.push("<!-- -->");
|
|
JSCompiler_inline_result$jscomp$6 = void 0;
|
|
}
|
|
return JSCompiler_inline_result$jscomp$6;
|
|
case "meta":
|
|
var noscriptTagInScope$jscomp$3 = formatContext.tagScope & 1, isFallback$jscomp$1 = formatContext.tagScope & 4;
|
|
if (4 === formatContext.insertionMode || noscriptTagInScope$jscomp$3 || null != props.itemProp) var JSCompiler_inline_result$jscomp$7 = pushSelfClosing(target$jscomp$0, props, "meta");
|
|
else textEmbedded && target$jscomp$0.push("<!-- -->"), JSCompiler_inline_result$jscomp$7 = isFallback$jscomp$1 ? null : "string" === typeof props.charSet ? pushSelfClosing(renderState.charsetChunks, props, "meta") : "viewport" === props.name ? pushSelfClosing(renderState.viewportChunks, props, "meta") : pushSelfClosing(renderState.hoistableChunks, props, "meta");
|
|
return JSCompiler_inline_result$jscomp$7;
|
|
case "listing":
|
|
case "pre":
|
|
target$jscomp$0.push(startChunkForTag(type));
|
|
var children$jscomp$8 = null, innerHTML$jscomp$7 = null, propKey$jscomp$10;
|
|
for (propKey$jscomp$10 in props) if (hasOwnProperty.call(props, propKey$jscomp$10)) {
|
|
var propValue$jscomp$10 = props[propKey$jscomp$10];
|
|
if (null != propValue$jscomp$10) switch (propKey$jscomp$10) {
|
|
case "children":
|
|
children$jscomp$8 = propValue$jscomp$10;
|
|
break;
|
|
case "dangerouslySetInnerHTML":
|
|
innerHTML$jscomp$7 = propValue$jscomp$10;
|
|
break;
|
|
default:
|
|
pushAttribute(target$jscomp$0, propKey$jscomp$10, propValue$jscomp$10);
|
|
}
|
|
}
|
|
target$jscomp$0.push(">");
|
|
if (null != innerHTML$jscomp$7) {
|
|
if (null != children$jscomp$8) throw Error(formatProdErrorMessage(60));
|
|
if ("object" !== typeof innerHTML$jscomp$7 || !("__html" in innerHTML$jscomp$7)) throw Error(formatProdErrorMessage(61));
|
|
var html = innerHTML$jscomp$7.__html;
|
|
null !== html && void 0 !== html && ("string" === typeof html && 0 < html.length && "\n" === html[0] ? target$jscomp$0.push("\n", html) : target$jscomp$0.push("" + html));
|
|
}
|
|
"string" === typeof children$jscomp$8 && "\n" === children$jscomp$8[0] && target$jscomp$0.push("\n");
|
|
return children$jscomp$8;
|
|
case "img":
|
|
var pictureOrNoScriptTagInScope = formatContext.tagScope & 3, src = props.src, srcSet = props.srcSet;
|
|
if (!("lazy" === props.loading || !src && !srcSet || "string" !== typeof src && null != src || "string" !== typeof srcSet && null != srcSet || "low" === props.fetchPriority || pictureOrNoScriptTagInScope) && ("string" !== typeof src || ":" !== src[4] || "d" !== src[0] && "D" !== src[0] || "a" !== src[1] && "A" !== src[1] || "t" !== src[2] && "T" !== src[2] || "a" !== src[3] && "A" !== src[3]) && ("string" !== typeof srcSet || ":" !== srcSet[4] || "d" !== srcSet[0] && "D" !== srcSet[0] || "a" !== srcSet[1] && "A" !== srcSet[1] || "t" !== srcSet[2] && "T" !== srcSet[2] || "a" !== srcSet[3] && "A" !== srcSet[3])) {
|
|
null !== hoistableState && formatContext.tagScope & 64 && (hoistableState.suspenseyImages = true);
|
|
var sizes = "string" === typeof props.sizes ? props.sizes : void 0, key$jscomp$0 = srcSet ? srcSet + "\n" + (sizes || "") : src, promotablePreloads = renderState.preloads.images, resource$jscomp$1 = promotablePreloads.get(key$jscomp$0);
|
|
if (resource$jscomp$1) {
|
|
if ("high" === props.fetchPriority || 10 > renderState.highImagePreloads.size) promotablePreloads.delete(key$jscomp$0), renderState.highImagePreloads.add(resource$jscomp$1);
|
|
} else if (!resumableState.imageResources.hasOwnProperty(key$jscomp$0)) {
|
|
resumableState.imageResources[key$jscomp$0] = PRELOAD_NO_CREDS;
|
|
var input = props.crossOrigin;
|
|
var JSCompiler_inline_result$jscomp$8 = "string" === typeof input ? "use-credentials" === input ? input : "" : void 0;
|
|
var headers = renderState.headers, header;
|
|
headers && 0 < headers.remainingCapacity && "string" !== typeof props.srcSet && ("high" === props.fetchPriority || 500 > headers.highImagePreloads.length) && (header = getPreloadAsHeader(src, "image", {
|
|
imageSrcSet: props.srcSet,
|
|
imageSizes: props.sizes,
|
|
crossOrigin: JSCompiler_inline_result$jscomp$8,
|
|
integrity: props.integrity,
|
|
nonce: props.nonce,
|
|
type: props.type,
|
|
fetchPriority: props.fetchPriority,
|
|
referrerPolicy: props.refererPolicy
|
|
}), 0 <= (headers.remainingCapacity -= header.length + 2)) ? (renderState.resets.image[key$jscomp$0] = PRELOAD_NO_CREDS, headers.highImagePreloads && (headers.highImagePreloads += ", "), headers.highImagePreloads += header) : (resource$jscomp$1 = [], pushLinkImpl(resource$jscomp$1, {
|
|
rel: "preload",
|
|
as: "image",
|
|
href: srcSet ? void 0 : src,
|
|
imageSrcSet: srcSet,
|
|
imageSizes: sizes,
|
|
crossOrigin: JSCompiler_inline_result$jscomp$8,
|
|
integrity: props.integrity,
|
|
type: props.type,
|
|
fetchPriority: props.fetchPriority,
|
|
referrerPolicy: props.referrerPolicy
|
|
}), "high" === props.fetchPriority || 10 > renderState.highImagePreloads.size ? renderState.highImagePreloads.add(resource$jscomp$1) : (renderState.bulkPreloads.add(resource$jscomp$1), promotablePreloads.set(key$jscomp$0, resource$jscomp$1)));
|
|
}
|
|
}
|
|
return pushSelfClosing(target$jscomp$0, props, "img");
|
|
case "base":
|
|
case "area":
|
|
case "br":
|
|
case "col":
|
|
case "embed":
|
|
case "hr":
|
|
case "keygen":
|
|
case "param":
|
|
case "source":
|
|
case "track":
|
|
case "wbr":
|
|
return pushSelfClosing(target$jscomp$0, props, type);
|
|
case "annotation-xml":
|
|
case "color-profile":
|
|
case "font-face":
|
|
case "font-face-src":
|
|
case "font-face-uri":
|
|
case "font-face-format":
|
|
case "font-face-name":
|
|
case "missing-glyph":
|
|
break;
|
|
case "head":
|
|
if (2 > formatContext.insertionMode) {
|
|
var preamble = preambleState || renderState.preamble;
|
|
if (preamble.headChunks) throw Error(formatProdErrorMessage(545, "`<head>`"));
|
|
null !== preambleState && target$jscomp$0.push("<!--head-->");
|
|
preamble.headChunks = [];
|
|
var JSCompiler_inline_result$jscomp$9 = pushStartSingletonElement(preamble.headChunks, props, "head");
|
|
} else JSCompiler_inline_result$jscomp$9 = pushStartGenericElement(target$jscomp$0, props, "head");
|
|
return JSCompiler_inline_result$jscomp$9;
|
|
case "body":
|
|
if (2 > formatContext.insertionMode) {
|
|
var preamble$jscomp$0 = preambleState || renderState.preamble;
|
|
if (preamble$jscomp$0.bodyChunks) throw Error(formatProdErrorMessage(545, "`<body>`"));
|
|
null !== preambleState && target$jscomp$0.push("<!--body-->");
|
|
preamble$jscomp$0.bodyChunks = [];
|
|
var JSCompiler_inline_result$jscomp$10 = pushStartSingletonElement(preamble$jscomp$0.bodyChunks, props, "body");
|
|
} else JSCompiler_inline_result$jscomp$10 = pushStartGenericElement(target$jscomp$0, props, "body");
|
|
return JSCompiler_inline_result$jscomp$10;
|
|
case "html":
|
|
if (0 === formatContext.insertionMode) {
|
|
var preamble$jscomp$1 = preambleState || renderState.preamble;
|
|
if (preamble$jscomp$1.htmlChunks) throw Error(formatProdErrorMessage(545, "`<html>`"));
|
|
null !== preambleState && target$jscomp$0.push("<!--html-->");
|
|
preamble$jscomp$1.htmlChunks = [
|
|
""
|
|
];
|
|
var JSCompiler_inline_result$jscomp$11 = pushStartSingletonElement(preamble$jscomp$1.htmlChunks, props, "html");
|
|
} else JSCompiler_inline_result$jscomp$11 = pushStartGenericElement(target$jscomp$0, props, "html");
|
|
return JSCompiler_inline_result$jscomp$11;
|
|
default:
|
|
if (-1 !== type.indexOf("-")) {
|
|
target$jscomp$0.push(startChunkForTag(type));
|
|
var children$jscomp$9 = null, innerHTML$jscomp$8 = null, propKey$jscomp$11;
|
|
for (propKey$jscomp$11 in props) if (hasOwnProperty.call(props, propKey$jscomp$11)) {
|
|
var propValue$jscomp$11 = props[propKey$jscomp$11];
|
|
if (null != propValue$jscomp$11) {
|
|
var attributeName = propKey$jscomp$11;
|
|
switch (propKey$jscomp$11) {
|
|
case "children":
|
|
children$jscomp$9 = propValue$jscomp$11;
|
|
break;
|
|
case "dangerouslySetInnerHTML":
|
|
innerHTML$jscomp$8 = propValue$jscomp$11;
|
|
break;
|
|
case "style":
|
|
pushStyleAttribute(target$jscomp$0, propValue$jscomp$11);
|
|
break;
|
|
case "suppressContentEditableWarning":
|
|
case "suppressHydrationWarning":
|
|
case "ref":
|
|
break;
|
|
case "className":
|
|
attributeName = "class";
|
|
default:
|
|
if (isAttributeNameSafe(propKey$jscomp$11) && "function" !== typeof propValue$jscomp$11 && "symbol" !== typeof propValue$jscomp$11 && false !== propValue$jscomp$11) {
|
|
if (true === propValue$jscomp$11) propValue$jscomp$11 = "";
|
|
else if ("object" === typeof propValue$jscomp$11) continue;
|
|
target$jscomp$0.push(" ", attributeName, '="', escapeTextForBrowser(propValue$jscomp$11), '"');
|
|
}
|
|
}
|
|
}
|
|
}
|
|
target$jscomp$0.push(">");
|
|
pushInnerHTML(target$jscomp$0, innerHTML$jscomp$8, children$jscomp$9);
|
|
return children$jscomp$9;
|
|
}
|
|
}
|
|
return pushStartGenericElement(target$jscomp$0, props, type);
|
|
}
|
|
var endTagCache = /* @__PURE__ */ new Map();
|
|
function endChunkForTag(tag) {
|
|
var chunk = endTagCache.get(tag);
|
|
void 0 === chunk && (chunk = "</" + tag + ">", endTagCache.set(tag, chunk));
|
|
return chunk;
|
|
}
|
|
function hoistPreambleState(renderState, preambleState) {
|
|
renderState = renderState.preamble;
|
|
null === renderState.htmlChunks && preambleState.htmlChunks && (renderState.htmlChunks = preambleState.htmlChunks);
|
|
null === renderState.headChunks && preambleState.headChunks && (renderState.headChunks = preambleState.headChunks);
|
|
null === renderState.bodyChunks && preambleState.bodyChunks && (renderState.bodyChunks = preambleState.bodyChunks);
|
|
}
|
|
function writeBootstrap(destination, renderState) {
|
|
renderState = renderState.bootstrapChunks;
|
|
for (var i = 0; i < renderState.length - 1; i++) destination.push(renderState[i]);
|
|
return i < renderState.length ? (i = renderState[i], renderState.length = 0, destination.push(i)) : true;
|
|
}
|
|
function writeStartPendingSuspenseBoundary(destination, renderState, id) {
|
|
destination.push('<!--$?--><template id="');
|
|
if (null === id) throw Error(formatProdErrorMessage(395));
|
|
destination.push(renderState.boundaryPrefix);
|
|
renderState = id.toString(16);
|
|
destination.push(renderState);
|
|
return destination.push('"></template>');
|
|
}
|
|
function writeStartSegment(destination, renderState, formatContext, id) {
|
|
switch (formatContext.insertionMode) {
|
|
case 0:
|
|
case 1:
|
|
case 3:
|
|
case 2:
|
|
return destination.push('<div hidden id="'), destination.push(renderState.segmentPrefix), renderState = id.toString(16), destination.push(renderState), destination.push('">');
|
|
case 4:
|
|
return destination.push('<svg aria-hidden="true" style="display:none" id="'), destination.push(renderState.segmentPrefix), renderState = id.toString(16), destination.push(renderState), destination.push('">');
|
|
case 5:
|
|
return destination.push('<math aria-hidden="true" style="display:none" id="'), destination.push(renderState.segmentPrefix), renderState = id.toString(16), destination.push(renderState), destination.push('">');
|
|
case 6:
|
|
return destination.push('<table hidden id="'), destination.push(renderState.segmentPrefix), renderState = id.toString(16), destination.push(renderState), destination.push('">');
|
|
case 7:
|
|
return destination.push('<table hidden><tbody id="'), destination.push(renderState.segmentPrefix), renderState = id.toString(16), destination.push(renderState), destination.push('">');
|
|
case 8:
|
|
return destination.push('<table hidden><tr id="'), destination.push(renderState.segmentPrefix), renderState = id.toString(16), destination.push(renderState), destination.push('">');
|
|
case 9:
|
|
return destination.push('<table hidden><colgroup id="'), destination.push(renderState.segmentPrefix), renderState = id.toString(16), destination.push(renderState), destination.push('">');
|
|
default:
|
|
throw Error(formatProdErrorMessage(397));
|
|
}
|
|
}
|
|
function writeEndSegment(destination, formatContext) {
|
|
switch (formatContext.insertionMode) {
|
|
case 0:
|
|
case 1:
|
|
case 3:
|
|
case 2:
|
|
return destination.push("</div>");
|
|
case 4:
|
|
return destination.push("</svg>");
|
|
case 5:
|
|
return destination.push("</math>");
|
|
case 6:
|
|
return destination.push("</table>");
|
|
case 7:
|
|
return destination.push("</tbody></table>");
|
|
case 8:
|
|
return destination.push("</tr></table>");
|
|
case 9:
|
|
return destination.push("</colgroup></table>");
|
|
default:
|
|
throw Error(formatProdErrorMessage(397));
|
|
}
|
|
}
|
|
var regexForJSStringsInInstructionScripts = /[<\u2028\u2029]/g;
|
|
function escapeJSStringsForInstructionScripts(input) {
|
|
return JSON.stringify(input).replace(regexForJSStringsInInstructionScripts, function(match) {
|
|
switch (match) {
|
|
case "<":
|
|
return "\\u003c";
|
|
case "\u2028":
|
|
return "\\u2028";
|
|
case "\u2029":
|
|
return "\\u2029";
|
|
default:
|
|
throw Error("escapeJSStringsForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React");
|
|
}
|
|
});
|
|
}
|
|
var regexForJSStringsInScripts = /[&><\u2028\u2029]/g;
|
|
function escapeJSObjectForInstructionScripts(input) {
|
|
return JSON.stringify(input).replace(regexForJSStringsInScripts, function(match) {
|
|
switch (match) {
|
|
case "&":
|
|
return "\\u0026";
|
|
case ">":
|
|
return "\\u003e";
|
|
case "<":
|
|
return "\\u003c";
|
|
case "\u2028":
|
|
return "\\u2028";
|
|
case "\u2029":
|
|
return "\\u2029";
|
|
default:
|
|
throw Error("escapeJSObjectForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React");
|
|
}
|
|
});
|
|
}
|
|
var currentlyRenderingBoundaryHasStylesToHoist = false, destinationHasCapacity = true;
|
|
function flushStyleTagsLateForBoundary(styleQueue) {
|
|
var rules = styleQueue.rules, hrefs = styleQueue.hrefs, i = 0;
|
|
if (hrefs.length) {
|
|
this.push(currentlyFlushingRenderState.startInlineStyle);
|
|
this.push(' media="not all" data-precedence="');
|
|
this.push(styleQueue.precedence);
|
|
for (this.push('" data-href="'); i < hrefs.length - 1; i++) this.push(hrefs[i]), this.push(" ");
|
|
this.push(hrefs[i]);
|
|
this.push('">');
|
|
for (i = 0; i < rules.length; i++) this.push(rules[i]);
|
|
destinationHasCapacity = this.push("</style>");
|
|
currentlyRenderingBoundaryHasStylesToHoist = true;
|
|
rules.length = 0;
|
|
hrefs.length = 0;
|
|
}
|
|
}
|
|
function hasStylesToHoist(stylesheet) {
|
|
return 2 !== stylesheet.state ? currentlyRenderingBoundaryHasStylesToHoist = true : false;
|
|
}
|
|
function writeHoistablesForBoundary(destination, hoistableState, renderState) {
|
|
currentlyRenderingBoundaryHasStylesToHoist = false;
|
|
destinationHasCapacity = true;
|
|
currentlyFlushingRenderState = renderState;
|
|
hoistableState.styles.forEach(flushStyleTagsLateForBoundary, destination);
|
|
currentlyFlushingRenderState = null;
|
|
hoistableState.stylesheets.forEach(hasStylesToHoist);
|
|
currentlyRenderingBoundaryHasStylesToHoist && (renderState.stylesToHoist = true);
|
|
return destinationHasCapacity;
|
|
}
|
|
function flushResource(resource) {
|
|
for (var i = 0; i < resource.length; i++) this.push(resource[i]);
|
|
resource.length = 0;
|
|
}
|
|
var stylesheetFlushingQueue = [];
|
|
function flushStyleInPreamble(stylesheet) {
|
|
pushLinkImpl(stylesheetFlushingQueue, stylesheet.props);
|
|
for (var i = 0; i < stylesheetFlushingQueue.length; i++) this.push(stylesheetFlushingQueue[i]);
|
|
stylesheetFlushingQueue.length = 0;
|
|
stylesheet.state = 2;
|
|
}
|
|
function flushStylesInPreamble(styleQueue) {
|
|
var hasStylesheets = 0 < styleQueue.sheets.size;
|
|
styleQueue.sheets.forEach(flushStyleInPreamble, this);
|
|
styleQueue.sheets.clear();
|
|
var rules = styleQueue.rules, hrefs = styleQueue.hrefs;
|
|
if (!hasStylesheets || hrefs.length) {
|
|
this.push(currentlyFlushingRenderState.startInlineStyle);
|
|
this.push(' data-precedence="');
|
|
this.push(styleQueue.precedence);
|
|
styleQueue = 0;
|
|
if (hrefs.length) {
|
|
for (this.push('" data-href="'); styleQueue < hrefs.length - 1; styleQueue++) this.push(hrefs[styleQueue]), this.push(" ");
|
|
this.push(hrefs[styleQueue]);
|
|
}
|
|
this.push('">');
|
|
for (styleQueue = 0; styleQueue < rules.length; styleQueue++) this.push(rules[styleQueue]);
|
|
this.push("</style>");
|
|
rules.length = 0;
|
|
hrefs.length = 0;
|
|
}
|
|
}
|
|
function preloadLateStyle(stylesheet) {
|
|
if (0 === stylesheet.state) {
|
|
stylesheet.state = 1;
|
|
var props = stylesheet.props;
|
|
pushLinkImpl(stylesheetFlushingQueue, {
|
|
rel: "preload",
|
|
as: "style",
|
|
href: stylesheet.props.href,
|
|
crossOrigin: props.crossOrigin,
|
|
fetchPriority: props.fetchPriority,
|
|
integrity: props.integrity,
|
|
media: props.media,
|
|
hrefLang: props.hrefLang,
|
|
referrerPolicy: props.referrerPolicy
|
|
});
|
|
for (stylesheet = 0; stylesheet < stylesheetFlushingQueue.length; stylesheet++) this.push(stylesheetFlushingQueue[stylesheet]);
|
|
stylesheetFlushingQueue.length = 0;
|
|
}
|
|
}
|
|
function preloadLateStyles(styleQueue) {
|
|
styleQueue.sheets.forEach(preloadLateStyle, this);
|
|
styleQueue.sheets.clear();
|
|
}
|
|
function pushCompletedShellIdAttribute(target, resumableState) {
|
|
0 === (resumableState.instructions & 32) && (resumableState.instructions |= 32, target.push(' id="', escapeTextForBrowser("_" + resumableState.idPrefix + "R_"), '"'));
|
|
}
|
|
function writeStyleResourceDependenciesInJS(destination, hoistableState) {
|
|
destination.push("[");
|
|
var nextArrayOpenBrackChunk = "[";
|
|
hoistableState.stylesheets.forEach(function(resource) {
|
|
if (2 !== resource.state) if (3 === resource.state) destination.push(nextArrayOpenBrackChunk), resource = escapeJSObjectForInstructionScripts("" + resource.props.href), destination.push(resource), destination.push("]"), nextArrayOpenBrackChunk = ",[";
|
|
else {
|
|
destination.push(nextArrayOpenBrackChunk);
|
|
var precedence = resource.props["data-precedence"], props = resource.props, coercedHref = sanitizeURL("" + resource.props.href);
|
|
coercedHref = escapeJSObjectForInstructionScripts(coercedHref);
|
|
destination.push(coercedHref);
|
|
precedence = "" + precedence;
|
|
destination.push(",");
|
|
precedence = escapeJSObjectForInstructionScripts(precedence);
|
|
destination.push(precedence);
|
|
for (var propKey in props) if (hasOwnProperty.call(props, propKey) && (precedence = props[propKey], null != precedence)) switch (propKey) {
|
|
case "href":
|
|
case "rel":
|
|
case "precedence":
|
|
case "data-precedence":
|
|
break;
|
|
case "children":
|
|
case "dangerouslySetInnerHTML":
|
|
throw Error(formatProdErrorMessage(399, "link"));
|
|
default:
|
|
writeStyleResourceAttributeInJS(destination, propKey, precedence);
|
|
}
|
|
destination.push("]");
|
|
nextArrayOpenBrackChunk = ",[";
|
|
resource.state = 3;
|
|
}
|
|
});
|
|
destination.push("]");
|
|
}
|
|
function writeStyleResourceAttributeInJS(destination, name, value) {
|
|
var attributeName = name.toLowerCase();
|
|
switch (typeof value) {
|
|
case "function":
|
|
case "symbol":
|
|
return;
|
|
}
|
|
switch (name) {
|
|
case "innerHTML":
|
|
case "dangerouslySetInnerHTML":
|
|
case "suppressContentEditableWarning":
|
|
case "suppressHydrationWarning":
|
|
case "style":
|
|
case "ref":
|
|
return;
|
|
case "className":
|
|
attributeName = "class";
|
|
name = "" + value;
|
|
break;
|
|
case "hidden":
|
|
if (false === value) return;
|
|
name = "";
|
|
break;
|
|
case "src":
|
|
case "href":
|
|
value = sanitizeURL(value);
|
|
name = "" + value;
|
|
break;
|
|
default:
|
|
if (2 < name.length && ("o" === name[0] || "O" === name[0]) && ("n" === name[1] || "N" === name[1]) || !isAttributeNameSafe(name)) return;
|
|
name = "" + value;
|
|
}
|
|
destination.push(",");
|
|
attributeName = escapeJSObjectForInstructionScripts(attributeName);
|
|
destination.push(attributeName);
|
|
destination.push(",");
|
|
attributeName = escapeJSObjectForInstructionScripts(name);
|
|
destination.push(attributeName);
|
|
}
|
|
function createHoistableState() {
|
|
return {
|
|
styles: /* @__PURE__ */ new Set(),
|
|
stylesheets: /* @__PURE__ */ new Set(),
|
|
suspenseyImages: false
|
|
};
|
|
}
|
|
function prefetchDNS(href) {
|
|
var request = currentRequest ? currentRequest : null;
|
|
if (request) {
|
|
var resumableState = request.resumableState, renderState = request.renderState;
|
|
if ("string" === typeof href && href) {
|
|
if (!resumableState.dnsResources.hasOwnProperty(href)) {
|
|
resumableState.dnsResources[href] = null;
|
|
resumableState = renderState.headers;
|
|
var header, JSCompiler_temp;
|
|
if (JSCompiler_temp = resumableState && 0 < resumableState.remainingCapacity) JSCompiler_temp = (header = "<" + ("" + href).replace(regexForHrefInLinkHeaderURLContext, escapeHrefForLinkHeaderURLContextReplacer) + ">; rel=dns-prefetch", 0 <= (resumableState.remainingCapacity -= header.length + 2));
|
|
JSCompiler_temp ? (renderState.resets.dns[href] = null, resumableState.preconnects && (resumableState.preconnects += ", "), resumableState.preconnects += header) : (header = [], pushLinkImpl(header, {
|
|
href,
|
|
rel: "dns-prefetch"
|
|
}), renderState.preconnects.add(header));
|
|
}
|
|
enqueueFlush(request);
|
|
}
|
|
} else previousDispatcher.D(href);
|
|
}
|
|
function preconnect(href, crossOrigin) {
|
|
var request = currentRequest ? currentRequest : null;
|
|
if (request) {
|
|
var resumableState = request.resumableState, renderState = request.renderState;
|
|
if ("string" === typeof href && href) {
|
|
var bucket = "use-credentials" === crossOrigin ? "credentials" : "string" === typeof crossOrigin ? "anonymous" : "default";
|
|
if (!resumableState.connectResources[bucket].hasOwnProperty(href)) {
|
|
resumableState.connectResources[bucket][href] = null;
|
|
resumableState = renderState.headers;
|
|
var header, JSCompiler_temp;
|
|
if (JSCompiler_temp = resumableState && 0 < resumableState.remainingCapacity) {
|
|
JSCompiler_temp = "<" + ("" + href).replace(regexForHrefInLinkHeaderURLContext, escapeHrefForLinkHeaderURLContextReplacer) + ">; rel=preconnect";
|
|
if ("string" === typeof crossOrigin) {
|
|
var escapedCrossOrigin = ("" + crossOrigin).replace(regexForLinkHeaderQuotedParamValueContext, escapeStringForLinkHeaderQuotedParamValueContextReplacer);
|
|
JSCompiler_temp += '; crossorigin="' + escapedCrossOrigin + '"';
|
|
}
|
|
JSCompiler_temp = (header = JSCompiler_temp, 0 <= (resumableState.remainingCapacity -= header.length + 2));
|
|
}
|
|
JSCompiler_temp ? (renderState.resets.connect[bucket][href] = null, resumableState.preconnects && (resumableState.preconnects += ", "), resumableState.preconnects += header) : (bucket = [], pushLinkImpl(bucket, {
|
|
rel: "preconnect",
|
|
href,
|
|
crossOrigin
|
|
}), renderState.preconnects.add(bucket));
|
|
}
|
|
enqueueFlush(request);
|
|
}
|
|
} else previousDispatcher.C(href, crossOrigin);
|
|
}
|
|
function preload(href, as, options) {
|
|
var request = currentRequest ? currentRequest : null;
|
|
if (request) {
|
|
var resumableState = request.resumableState, renderState = request.renderState;
|
|
if (as && href) {
|
|
switch (as) {
|
|
case "image":
|
|
if (options) {
|
|
var imageSrcSet = options.imageSrcSet;
|
|
var imageSizes = options.imageSizes;
|
|
var fetchPriority = options.fetchPriority;
|
|
}
|
|
var key = imageSrcSet ? imageSrcSet + "\n" + (imageSizes || "") : href;
|
|
if (resumableState.imageResources.hasOwnProperty(key)) return;
|
|
resumableState.imageResources[key] = PRELOAD_NO_CREDS;
|
|
resumableState = renderState.headers;
|
|
var header;
|
|
resumableState && 0 < resumableState.remainingCapacity && "string" !== typeof imageSrcSet && "high" === fetchPriority && (header = getPreloadAsHeader(href, as, options), 0 <= (resumableState.remainingCapacity -= header.length + 2)) ? (renderState.resets.image[key] = PRELOAD_NO_CREDS, resumableState.highImagePreloads && (resumableState.highImagePreloads += ", "), resumableState.highImagePreloads += header) : (resumableState = [], pushLinkImpl(resumableState, assign({
|
|
rel: "preload",
|
|
href: imageSrcSet ? void 0 : href,
|
|
as
|
|
}, options)), "high" === fetchPriority ? renderState.highImagePreloads.add(resumableState) : (renderState.bulkPreloads.add(resumableState), renderState.preloads.images.set(key, resumableState)));
|
|
break;
|
|
case "style":
|
|
if (resumableState.styleResources.hasOwnProperty(href)) return;
|
|
imageSrcSet = [];
|
|
pushLinkImpl(imageSrcSet, assign({
|
|
rel: "preload",
|
|
href,
|
|
as
|
|
}, options));
|
|
resumableState.styleResources[href] = !options || "string" !== typeof options.crossOrigin && "string" !== typeof options.integrity ? PRELOAD_NO_CREDS : [
|
|
options.crossOrigin,
|
|
options.integrity
|
|
];
|
|
renderState.preloads.stylesheets.set(href, imageSrcSet);
|
|
renderState.bulkPreloads.add(imageSrcSet);
|
|
break;
|
|
case "script":
|
|
if (resumableState.scriptResources.hasOwnProperty(href)) return;
|
|
imageSrcSet = [];
|
|
renderState.preloads.scripts.set(href, imageSrcSet);
|
|
renderState.bulkPreloads.add(imageSrcSet);
|
|
pushLinkImpl(imageSrcSet, assign({
|
|
rel: "preload",
|
|
href,
|
|
as
|
|
}, options));
|
|
resumableState.scriptResources[href] = !options || "string" !== typeof options.crossOrigin && "string" !== typeof options.integrity ? PRELOAD_NO_CREDS : [
|
|
options.crossOrigin,
|
|
options.integrity
|
|
];
|
|
break;
|
|
default:
|
|
if (resumableState.unknownResources.hasOwnProperty(as)) {
|
|
if (imageSrcSet = resumableState.unknownResources[as], imageSrcSet.hasOwnProperty(href)) return;
|
|
} else imageSrcSet = {}, resumableState.unknownResources[as] = imageSrcSet;
|
|
imageSrcSet[href] = PRELOAD_NO_CREDS;
|
|
if ((resumableState = renderState.headers) && 0 < resumableState.remainingCapacity && "font" === as && (key = getPreloadAsHeader(href, as, options), 0 <= (resumableState.remainingCapacity -= key.length + 2))) renderState.resets.font[href] = PRELOAD_NO_CREDS, resumableState.fontPreloads && (resumableState.fontPreloads += ", "), resumableState.fontPreloads += key;
|
|
else switch (resumableState = [], href = assign({
|
|
rel: "preload",
|
|
href,
|
|
as
|
|
}, options), pushLinkImpl(resumableState, href), as) {
|
|
case "font":
|
|
renderState.fontPreloads.add(resumableState);
|
|
break;
|
|
default:
|
|
renderState.bulkPreloads.add(resumableState);
|
|
}
|
|
}
|
|
enqueueFlush(request);
|
|
}
|
|
} else previousDispatcher.L(href, as, options);
|
|
}
|
|
function preloadModule(href, options) {
|
|
var request = currentRequest ? currentRequest : null;
|
|
if (request) {
|
|
var resumableState = request.resumableState, renderState = request.renderState;
|
|
if (href) {
|
|
var as = options && "string" === typeof options.as ? options.as : "script";
|
|
switch (as) {
|
|
case "script":
|
|
if (resumableState.moduleScriptResources.hasOwnProperty(href)) return;
|
|
as = [];
|
|
resumableState.moduleScriptResources[href] = !options || "string" !== typeof options.crossOrigin && "string" !== typeof options.integrity ? PRELOAD_NO_CREDS : [
|
|
options.crossOrigin,
|
|
options.integrity
|
|
];
|
|
renderState.preloads.moduleScripts.set(href, as);
|
|
break;
|
|
default:
|
|
if (resumableState.moduleUnknownResources.hasOwnProperty(as)) {
|
|
var resources = resumableState.unknownResources[as];
|
|
if (resources.hasOwnProperty(href)) return;
|
|
} else resources = {}, resumableState.moduleUnknownResources[as] = resources;
|
|
as = [];
|
|
resources[href] = PRELOAD_NO_CREDS;
|
|
}
|
|
pushLinkImpl(as, assign({
|
|
rel: "modulepreload",
|
|
href
|
|
}, options));
|
|
renderState.bulkPreloads.add(as);
|
|
enqueueFlush(request);
|
|
}
|
|
} else previousDispatcher.m(href, options);
|
|
}
|
|
function preinitStyle(href, precedence, options) {
|
|
var request = currentRequest ? currentRequest : null;
|
|
if (request) {
|
|
var resumableState = request.resumableState, renderState = request.renderState;
|
|
if (href) {
|
|
precedence = precedence || "default";
|
|
var styleQueue = renderState.styles.get(precedence), resourceState = resumableState.styleResources.hasOwnProperty(href) ? resumableState.styleResources[href] : void 0;
|
|
null !== resourceState && (resumableState.styleResources[href] = null, styleQueue || (styleQueue = {
|
|
precedence: escapeTextForBrowser(precedence),
|
|
rules: [],
|
|
hrefs: [],
|
|
sheets: /* @__PURE__ */ new Map()
|
|
}, renderState.styles.set(precedence, styleQueue)), precedence = {
|
|
state: 0,
|
|
props: assign({
|
|
rel: "stylesheet",
|
|
href,
|
|
"data-precedence": precedence
|
|
}, options)
|
|
}, resourceState && (2 === resourceState.length && adoptPreloadCredentials(precedence.props, resourceState), (renderState = renderState.preloads.stylesheets.get(href)) && 0 < renderState.length ? renderState.length = 0 : precedence.state = 1), styleQueue.sheets.set(href, precedence), enqueueFlush(request));
|
|
}
|
|
} else previousDispatcher.S(href, precedence, options);
|
|
}
|
|
function preinitScript(src, options) {
|
|
var request = currentRequest ? currentRequest : null;
|
|
if (request) {
|
|
var resumableState = request.resumableState, renderState = request.renderState;
|
|
if (src) {
|
|
var resourceState = resumableState.scriptResources.hasOwnProperty(src) ? resumableState.scriptResources[src] : void 0;
|
|
null !== resourceState && (resumableState.scriptResources[src] = null, options = assign({
|
|
src,
|
|
async: true
|
|
}, options), resourceState && (2 === resourceState.length && adoptPreloadCredentials(options, resourceState), src = renderState.preloads.scripts.get(src)) && (src.length = 0), src = [], renderState.scripts.add(src), pushScriptImpl(src, options), enqueueFlush(request));
|
|
}
|
|
} else previousDispatcher.X(src, options);
|
|
}
|
|
function preinitModuleScript(src, options) {
|
|
var request = currentRequest ? currentRequest : null;
|
|
if (request) {
|
|
var resumableState = request.resumableState, renderState = request.renderState;
|
|
if (src) {
|
|
var resourceState = resumableState.moduleScriptResources.hasOwnProperty(src) ? resumableState.moduleScriptResources[src] : void 0;
|
|
null !== resourceState && (resumableState.moduleScriptResources[src] = null, options = assign({
|
|
src,
|
|
type: "module",
|
|
async: true
|
|
}, options), resourceState && (2 === resourceState.length && adoptPreloadCredentials(options, resourceState), src = renderState.preloads.moduleScripts.get(src)) && (src.length = 0), src = [], renderState.scripts.add(src), pushScriptImpl(src, options), enqueueFlush(request));
|
|
}
|
|
} else previousDispatcher.M(src, options);
|
|
}
|
|
function adoptPreloadCredentials(target, preloadState) {
|
|
null == target.crossOrigin && (target.crossOrigin = preloadState[0]);
|
|
null == target.integrity && (target.integrity = preloadState[1]);
|
|
}
|
|
function getPreloadAsHeader(href, as, params) {
|
|
href = ("" + href).replace(regexForHrefInLinkHeaderURLContext, escapeHrefForLinkHeaderURLContextReplacer);
|
|
as = ("" + as).replace(regexForLinkHeaderQuotedParamValueContext, escapeStringForLinkHeaderQuotedParamValueContextReplacer);
|
|
as = "<" + href + '>; rel=preload; as="' + as + '"';
|
|
for (var paramName in params) hasOwnProperty.call(params, paramName) && (href = params[paramName], "string" === typeof href && (as += "; " + paramName.toLowerCase() + '="' + ("" + href).replace(regexForLinkHeaderQuotedParamValueContext, escapeStringForLinkHeaderQuotedParamValueContextReplacer) + '"'));
|
|
return as;
|
|
}
|
|
var regexForHrefInLinkHeaderURLContext = /[<>\r\n]/g;
|
|
function escapeHrefForLinkHeaderURLContextReplacer(match) {
|
|
switch (match) {
|
|
case "<":
|
|
return "%3C";
|
|
case ">":
|
|
return "%3E";
|
|
case "\n":
|
|
return "%0A";
|
|
case "\r":
|
|
return "%0D";
|
|
default:
|
|
throw Error("escapeLinkHrefForHeaderContextReplacer encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React");
|
|
}
|
|
}
|
|
var regexForLinkHeaderQuotedParamValueContext = /["';,\r\n]/g;
|
|
function escapeStringForLinkHeaderQuotedParamValueContextReplacer(match) {
|
|
switch (match) {
|
|
case '"':
|
|
return "%22";
|
|
case "'":
|
|
return "%27";
|
|
case ";":
|
|
return "%3B";
|
|
case ",":
|
|
return "%2C";
|
|
case "\n":
|
|
return "%0A";
|
|
case "\r":
|
|
return "%0D";
|
|
default:
|
|
throw Error("escapeStringForLinkHeaderQuotedParamValueContextReplacer encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React");
|
|
}
|
|
}
|
|
function hoistStyleQueueDependency(styleQueue) {
|
|
this.styles.add(styleQueue);
|
|
}
|
|
function hoistStylesheetDependency(stylesheet) {
|
|
this.stylesheets.add(stylesheet);
|
|
}
|
|
function hoistHoistables(parentState, childState) {
|
|
childState.styles.forEach(hoistStyleQueueDependency, parentState);
|
|
childState.stylesheets.forEach(hoistStylesheetDependency, parentState);
|
|
childState.suspenseyImages && (parentState.suspenseyImages = true);
|
|
}
|
|
function createRenderState(resumableState, generateStaticMarkup) {
|
|
var idPrefix = resumableState.idPrefix, bootstrapChunks = [], bootstrapScriptContent = resumableState.bootstrapScriptContent, bootstrapScripts = resumableState.bootstrapScripts, bootstrapModules = resumableState.bootstrapModules;
|
|
void 0 !== bootstrapScriptContent && (bootstrapChunks.push("<script"), pushCompletedShellIdAttribute(bootstrapChunks, resumableState), bootstrapChunks.push(">", ("" + bootstrapScriptContent).replace(scriptRegex, scriptReplacer), "<\/script>"));
|
|
bootstrapScriptContent = idPrefix + "P:";
|
|
var JSCompiler_object_inline_segmentPrefix_1673 = idPrefix + "S:";
|
|
idPrefix += "B:";
|
|
var JSCompiler_object_inline_preconnects_1687 = /* @__PURE__ */ new Set(), JSCompiler_object_inline_fontPreloads_1688 = /* @__PURE__ */ new Set(), JSCompiler_object_inline_highImagePreloads_1689 = /* @__PURE__ */ new Set(), JSCompiler_object_inline_styles_1690 = /* @__PURE__ */ new Map(), JSCompiler_object_inline_bootstrapScripts_1691 = /* @__PURE__ */ new Set(), JSCompiler_object_inline_scripts_1692 = /* @__PURE__ */ new Set(), JSCompiler_object_inline_bulkPreloads_1693 = /* @__PURE__ */ new Set(), JSCompiler_object_inline_preloads_1694 = {
|
|
images: /* @__PURE__ */ new Map(),
|
|
stylesheets: /* @__PURE__ */ new Map(),
|
|
scripts: /* @__PURE__ */ new Map(),
|
|
moduleScripts: /* @__PURE__ */ new Map()
|
|
};
|
|
if (void 0 !== bootstrapScripts) for (var i = 0; i < bootstrapScripts.length; i++) {
|
|
var scriptConfig = bootstrapScripts[i], src, crossOrigin = void 0, integrity = void 0, props = {
|
|
rel: "preload",
|
|
as: "script",
|
|
fetchPriority: "low",
|
|
nonce: void 0
|
|
};
|
|
"string" === typeof scriptConfig ? props.href = src = scriptConfig : (props.href = src = scriptConfig.src, props.integrity = integrity = "string" === typeof scriptConfig.integrity ? scriptConfig.integrity : void 0, props.crossOrigin = crossOrigin = "string" === typeof scriptConfig || null == scriptConfig.crossOrigin ? void 0 : "use-credentials" === scriptConfig.crossOrigin ? "use-credentials" : "");
|
|
scriptConfig = resumableState;
|
|
var href = src;
|
|
scriptConfig.scriptResources[href] = null;
|
|
scriptConfig.moduleScriptResources[href] = null;
|
|
scriptConfig = [];
|
|
pushLinkImpl(scriptConfig, props);
|
|
JSCompiler_object_inline_bootstrapScripts_1691.add(scriptConfig);
|
|
bootstrapChunks.push('<script src="', escapeTextForBrowser(src), '"');
|
|
"string" === typeof integrity && bootstrapChunks.push(' integrity="', escapeTextForBrowser(integrity), '"');
|
|
"string" === typeof crossOrigin && bootstrapChunks.push(' crossorigin="', escapeTextForBrowser(crossOrigin), '"');
|
|
pushCompletedShellIdAttribute(bootstrapChunks, resumableState);
|
|
bootstrapChunks.push(' async=""><\/script>');
|
|
}
|
|
if (void 0 !== bootstrapModules) for (bootstrapScripts = 0; bootstrapScripts < bootstrapModules.length; bootstrapScripts++) props = bootstrapModules[bootstrapScripts], crossOrigin = src = void 0, integrity = {
|
|
rel: "modulepreload",
|
|
fetchPriority: "low",
|
|
nonce: void 0
|
|
}, "string" === typeof props ? integrity.href = i = props : (integrity.href = i = props.src, integrity.integrity = crossOrigin = "string" === typeof props.integrity ? props.integrity : void 0, integrity.crossOrigin = src = "string" === typeof props || null == props.crossOrigin ? void 0 : "use-credentials" === props.crossOrigin ? "use-credentials" : ""), props = resumableState, scriptConfig = i, props.scriptResources[scriptConfig] = null, props.moduleScriptResources[scriptConfig] = null, props = [], pushLinkImpl(props, integrity), JSCompiler_object_inline_bootstrapScripts_1691.add(props), bootstrapChunks.push('<script type="module" src="', escapeTextForBrowser(i), '"'), "string" === typeof crossOrigin && bootstrapChunks.push(' integrity="', escapeTextForBrowser(crossOrigin), '"'), "string" === typeof src && bootstrapChunks.push(' crossorigin="', escapeTextForBrowser(src), '"'), pushCompletedShellIdAttribute(bootstrapChunks, resumableState), bootstrapChunks.push(' async=""><\/script>');
|
|
return {
|
|
placeholderPrefix: bootstrapScriptContent,
|
|
segmentPrefix: JSCompiler_object_inline_segmentPrefix_1673,
|
|
boundaryPrefix: idPrefix,
|
|
startInlineScript: "<script",
|
|
startInlineStyle: "<style",
|
|
preamble: {
|
|
htmlChunks: null,
|
|
headChunks: null,
|
|
bodyChunks: null
|
|
},
|
|
externalRuntimeScript: null,
|
|
bootstrapChunks,
|
|
importMapChunks: [],
|
|
onHeaders: void 0,
|
|
headers: null,
|
|
resets: {
|
|
font: {},
|
|
dns: {},
|
|
connect: {
|
|
default: {},
|
|
anonymous: {},
|
|
credentials: {}
|
|
},
|
|
image: {},
|
|
style: {}
|
|
},
|
|
charsetChunks: [],
|
|
viewportChunks: [],
|
|
hoistableChunks: [],
|
|
preconnects: JSCompiler_object_inline_preconnects_1687,
|
|
fontPreloads: JSCompiler_object_inline_fontPreloads_1688,
|
|
highImagePreloads: JSCompiler_object_inline_highImagePreloads_1689,
|
|
styles: JSCompiler_object_inline_styles_1690,
|
|
bootstrapScripts: JSCompiler_object_inline_bootstrapScripts_1691,
|
|
scripts: JSCompiler_object_inline_scripts_1692,
|
|
bulkPreloads: JSCompiler_object_inline_bulkPreloads_1693,
|
|
preloads: JSCompiler_object_inline_preloads_1694,
|
|
nonce: {
|
|
script: void 0,
|
|
style: void 0
|
|
},
|
|
stylesToHoist: false,
|
|
generateStaticMarkup
|
|
};
|
|
}
|
|
function pushTextInstance(target, text, renderState, textEmbedded) {
|
|
if (renderState.generateStaticMarkup) return target.push(escapeTextForBrowser(text)), false;
|
|
"" === text ? target = textEmbedded : (textEmbedded && target.push("<!-- -->"), target.push(escapeTextForBrowser(text)), target = true);
|
|
return target;
|
|
}
|
|
function pushSegmentFinale(target, renderState, lastPushedText, textEmbedded) {
|
|
renderState.generateStaticMarkup || lastPushedText && textEmbedded && target.push("<!-- -->");
|
|
}
|
|
var bind = Function.prototype.bind, REACT_CLIENT_REFERENCE = /* @__PURE__ */ Symbol.for("react.client.reference");
|
|
function getComponentNameFromType(type) {
|
|
if (null == type) return null;
|
|
if ("function" === typeof type) return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null;
|
|
if ("string" === typeof type) return type;
|
|
switch (type) {
|
|
case REACT_FRAGMENT_TYPE:
|
|
return "Fragment";
|
|
case REACT_PROFILER_TYPE:
|
|
return "Profiler";
|
|
case REACT_STRICT_MODE_TYPE:
|
|
return "StrictMode";
|
|
case REACT_SUSPENSE_TYPE:
|
|
return "Suspense";
|
|
case REACT_SUSPENSE_LIST_TYPE:
|
|
return "SuspenseList";
|
|
case REACT_ACTIVITY_TYPE:
|
|
return "Activity";
|
|
}
|
|
if ("object" === typeof type) switch (type.$$typeof) {
|
|
case REACT_PORTAL_TYPE:
|
|
return "Portal";
|
|
case REACT_CONTEXT_TYPE:
|
|
return type.displayName || "Context";
|
|
case REACT_CONSUMER_TYPE:
|
|
return (type._context.displayName || "Context") + ".Consumer";
|
|
case REACT_FORWARD_REF_TYPE:
|
|
var innerType = type.render;
|
|
type = type.displayName;
|
|
type || (type = innerType.displayName || innerType.name || "", type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef");
|
|
return type;
|
|
case REACT_MEMO_TYPE:
|
|
return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || "Memo";
|
|
case REACT_LAZY_TYPE:
|
|
innerType = type._payload;
|
|
type = type._init;
|
|
try {
|
|
return getComponentNameFromType(type(innerType));
|
|
} catch (x) {
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
var emptyContextObject = {}, currentActiveSnapshot = null;
|
|
function popToNearestCommonAncestor(prev, next) {
|
|
if (prev !== next) {
|
|
prev.context._currentValue2 = prev.parentValue;
|
|
prev = prev.parent;
|
|
var parentNext = next.parent;
|
|
if (null === prev) {
|
|
if (null !== parentNext) throw Error(formatProdErrorMessage(401));
|
|
} else {
|
|
if (null === parentNext) throw Error(formatProdErrorMessage(401));
|
|
popToNearestCommonAncestor(prev, parentNext);
|
|
}
|
|
next.context._currentValue2 = next.value;
|
|
}
|
|
}
|
|
function popAllPrevious(prev) {
|
|
prev.context._currentValue2 = prev.parentValue;
|
|
prev = prev.parent;
|
|
null !== prev && popAllPrevious(prev);
|
|
}
|
|
function pushAllNext(next) {
|
|
var parentNext = next.parent;
|
|
null !== parentNext && pushAllNext(parentNext);
|
|
next.context._currentValue2 = next.value;
|
|
}
|
|
function popPreviousToCommonLevel(prev, next) {
|
|
prev.context._currentValue2 = prev.parentValue;
|
|
prev = prev.parent;
|
|
if (null === prev) throw Error(formatProdErrorMessage(402));
|
|
prev.depth === next.depth ? popToNearestCommonAncestor(prev, next) : popPreviousToCommonLevel(prev, next);
|
|
}
|
|
function popNextToCommonLevel(prev, next) {
|
|
var parentNext = next.parent;
|
|
if (null === parentNext) throw Error(formatProdErrorMessage(402));
|
|
prev.depth === parentNext.depth ? popToNearestCommonAncestor(prev, parentNext) : popNextToCommonLevel(prev, parentNext);
|
|
next.context._currentValue2 = next.value;
|
|
}
|
|
function switchContext(newSnapshot) {
|
|
var prev = currentActiveSnapshot;
|
|
prev !== newSnapshot && (null === prev ? pushAllNext(newSnapshot) : null === newSnapshot ? popAllPrevious(prev) : prev.depth === newSnapshot.depth ? popToNearestCommonAncestor(prev, newSnapshot) : prev.depth > newSnapshot.depth ? popPreviousToCommonLevel(prev, newSnapshot) : popNextToCommonLevel(prev, newSnapshot), currentActiveSnapshot = newSnapshot);
|
|
}
|
|
var classComponentUpdater = {
|
|
enqueueSetState: function(inst, payload) {
|
|
inst = inst._reactInternals;
|
|
null !== inst.queue && inst.queue.push(payload);
|
|
},
|
|
enqueueReplaceState: function(inst, payload) {
|
|
inst = inst._reactInternals;
|
|
inst.replace = true;
|
|
inst.queue = [
|
|
payload
|
|
];
|
|
},
|
|
enqueueForceUpdate: function() {
|
|
}
|
|
}, emptyTreeContext = {
|
|
id: 1,
|
|
overflow: ""
|
|
};
|
|
function pushTreeContext(baseContext, totalChildren, index) {
|
|
var baseIdWithLeadingBit = baseContext.id;
|
|
baseContext = baseContext.overflow;
|
|
var baseLength = 32 - clz32(baseIdWithLeadingBit) - 1;
|
|
baseIdWithLeadingBit &= ~(1 << baseLength);
|
|
index += 1;
|
|
var length = 32 - clz32(totalChildren) + baseLength;
|
|
if (30 < length) {
|
|
var numberOfOverflowBits = baseLength - baseLength % 5;
|
|
length = (baseIdWithLeadingBit & (1 << numberOfOverflowBits) - 1).toString(32);
|
|
baseIdWithLeadingBit >>= numberOfOverflowBits;
|
|
baseLength -= numberOfOverflowBits;
|
|
return {
|
|
id: 1 << 32 - clz32(totalChildren) + baseLength | index << baseLength | baseIdWithLeadingBit,
|
|
overflow: length + baseContext
|
|
};
|
|
}
|
|
return {
|
|
id: 1 << length | index << baseLength | baseIdWithLeadingBit,
|
|
overflow: baseContext
|
|
};
|
|
}
|
|
var clz32 = Math.clz32 ? Math.clz32 : clz32Fallback, log = Math.log, LN2 = Math.LN2;
|
|
function clz32Fallback(x) {
|
|
x >>>= 0;
|
|
return 0 === x ? 32 : 31 - (log(x) / LN2 | 0) | 0;
|
|
}
|
|
function noop() {
|
|
}
|
|
var SuspenseException = Error(formatProdErrorMessage(460));
|
|
function trackUsedThenable(thenableState2, thenable, index) {
|
|
index = thenableState2[index];
|
|
void 0 === index ? thenableState2.push(thenable) : index !== thenable && (thenable.then(noop, noop), thenable = index);
|
|
switch (thenable.status) {
|
|
case "fulfilled":
|
|
return thenable.value;
|
|
case "rejected":
|
|
throw thenable.reason;
|
|
default:
|
|
"string" === typeof thenable.status ? thenable.then(noop, noop) : (thenableState2 = thenable, thenableState2.status = "pending", thenableState2.then(function(fulfilledValue) {
|
|
if ("pending" === thenable.status) {
|
|
var fulfilledThenable = thenable;
|
|
fulfilledThenable.status = "fulfilled";
|
|
fulfilledThenable.value = fulfilledValue;
|
|
}
|
|
}, function(error) {
|
|
if ("pending" === thenable.status) {
|
|
var rejectedThenable = thenable;
|
|
rejectedThenable.status = "rejected";
|
|
rejectedThenable.reason = error;
|
|
}
|
|
}));
|
|
switch (thenable.status) {
|
|
case "fulfilled":
|
|
return thenable.value;
|
|
case "rejected":
|
|
throw thenable.reason;
|
|
}
|
|
suspendedThenable = thenable;
|
|
throw SuspenseException;
|
|
}
|
|
}
|
|
var suspendedThenable = null;
|
|
function getSuspendedThenable() {
|
|
if (null === suspendedThenable) throw Error(formatProdErrorMessage(459));
|
|
var thenable = suspendedThenable;
|
|
suspendedThenable = null;
|
|
return thenable;
|
|
}
|
|
function is(x, y) {
|
|
return x === y && (0 !== x || 1 / x === 1 / y) || x !== x && y !== y;
|
|
}
|
|
var objectIs = "function" === typeof Object.is ? Object.is : is, currentlyRenderingComponent = null, currentlyRenderingTask = null, currentlyRenderingRequest = null, currentlyRenderingKeyPath = null, firstWorkInProgressHook = null, workInProgressHook = null, isReRender = false, didScheduleRenderPhaseUpdate = false, localIdCounter = 0, actionStateCounter = 0, actionStateMatchingIndex = -1, thenableIndexCounter = 0, thenableState = null, renderPhaseUpdates = null, numberOfReRenders = 0;
|
|
function resolveCurrentlyRenderingComponent() {
|
|
if (null === currentlyRenderingComponent) throw Error(formatProdErrorMessage(321));
|
|
return currentlyRenderingComponent;
|
|
}
|
|
function createHook() {
|
|
if (0 < numberOfReRenders) throw Error(formatProdErrorMessage(312));
|
|
return {
|
|
memoizedState: null,
|
|
queue: null,
|
|
next: null
|
|
};
|
|
}
|
|
function createWorkInProgressHook() {
|
|
null === workInProgressHook ? null === firstWorkInProgressHook ? (isReRender = false, firstWorkInProgressHook = workInProgressHook = createHook()) : (isReRender = true, workInProgressHook = firstWorkInProgressHook) : null === workInProgressHook.next ? (isReRender = false, workInProgressHook = workInProgressHook.next = createHook()) : (isReRender = true, workInProgressHook = workInProgressHook.next);
|
|
return workInProgressHook;
|
|
}
|
|
function getThenableStateAfterSuspending() {
|
|
var state = thenableState;
|
|
thenableState = null;
|
|
return state;
|
|
}
|
|
function resetHooksState() {
|
|
currentlyRenderingKeyPath = currentlyRenderingRequest = currentlyRenderingTask = currentlyRenderingComponent = null;
|
|
didScheduleRenderPhaseUpdate = false;
|
|
firstWorkInProgressHook = null;
|
|
numberOfReRenders = 0;
|
|
workInProgressHook = renderPhaseUpdates = null;
|
|
}
|
|
function basicStateReducer(state, action) {
|
|
return "function" === typeof action ? action(state) : action;
|
|
}
|
|
function useReducer(reducer, initialArg, init2) {
|
|
currentlyRenderingComponent = resolveCurrentlyRenderingComponent();
|
|
workInProgressHook = createWorkInProgressHook();
|
|
if (isReRender) {
|
|
var queue = workInProgressHook.queue;
|
|
initialArg = queue.dispatch;
|
|
if (null !== renderPhaseUpdates && (init2 = renderPhaseUpdates.get(queue), void 0 !== init2)) {
|
|
renderPhaseUpdates.delete(queue);
|
|
queue = workInProgressHook.memoizedState;
|
|
do
|
|
queue = reducer(queue, init2.action), init2 = init2.next;
|
|
while (null !== init2);
|
|
workInProgressHook.memoizedState = queue;
|
|
return [
|
|
queue,
|
|
initialArg
|
|
];
|
|
}
|
|
return [
|
|
workInProgressHook.memoizedState,
|
|
initialArg
|
|
];
|
|
}
|
|
reducer = reducer === basicStateReducer ? "function" === typeof initialArg ? initialArg() : initialArg : void 0 !== init2 ? init2(initialArg) : initialArg;
|
|
workInProgressHook.memoizedState = reducer;
|
|
reducer = workInProgressHook.queue = {
|
|
last: null,
|
|
dispatch: null
|
|
};
|
|
reducer = reducer.dispatch = dispatchAction.bind(null, currentlyRenderingComponent, reducer);
|
|
return [
|
|
workInProgressHook.memoizedState,
|
|
reducer
|
|
];
|
|
}
|
|
function useMemo(nextCreate, deps) {
|
|
currentlyRenderingComponent = resolveCurrentlyRenderingComponent();
|
|
workInProgressHook = createWorkInProgressHook();
|
|
deps = void 0 === deps ? null : deps;
|
|
if (null !== workInProgressHook) {
|
|
var prevState = workInProgressHook.memoizedState;
|
|
if (null !== prevState && null !== deps) {
|
|
var prevDeps = prevState[1];
|
|
a: if (null === prevDeps) prevDeps = false;
|
|
else {
|
|
for (var i = 0; i < prevDeps.length && i < deps.length; i++) if (!objectIs(deps[i], prevDeps[i])) {
|
|
prevDeps = false;
|
|
break a;
|
|
}
|
|
prevDeps = true;
|
|
}
|
|
if (prevDeps) return prevState[0];
|
|
}
|
|
}
|
|
nextCreate = nextCreate();
|
|
workInProgressHook.memoizedState = [
|
|
nextCreate,
|
|
deps
|
|
];
|
|
return nextCreate;
|
|
}
|
|
function dispatchAction(componentIdentity, queue, action) {
|
|
if (25 <= numberOfReRenders) throw Error(formatProdErrorMessage(301));
|
|
if (componentIdentity === currentlyRenderingComponent) if (didScheduleRenderPhaseUpdate = true, componentIdentity = {
|
|
action,
|
|
next: null
|
|
}, null === renderPhaseUpdates && (renderPhaseUpdates = /* @__PURE__ */ new Map()), action = renderPhaseUpdates.get(queue), void 0 === action) renderPhaseUpdates.set(queue, componentIdentity);
|
|
else {
|
|
for (queue = action; null !== queue.next; ) queue = queue.next;
|
|
queue.next = componentIdentity;
|
|
}
|
|
}
|
|
function throwOnUseEffectEventCall() {
|
|
throw Error(formatProdErrorMessage(440));
|
|
}
|
|
function unsupportedStartTransition() {
|
|
throw Error(formatProdErrorMessage(394));
|
|
}
|
|
function unsupportedSetOptimisticState() {
|
|
throw Error(formatProdErrorMessage(479));
|
|
}
|
|
function useActionState(action, initialState, permalink) {
|
|
resolveCurrentlyRenderingComponent();
|
|
var actionStateHookIndex = actionStateCounter++, request = currentlyRenderingRequest;
|
|
if ("function" === typeof action.$$FORM_ACTION) {
|
|
var nextPostbackStateKey = null, componentKeyPath = currentlyRenderingKeyPath;
|
|
request = request.formState;
|
|
var isSignatureEqual = action.$$IS_SIGNATURE_EQUAL;
|
|
if (null !== request && "function" === typeof isSignatureEqual) {
|
|
var postbackKey = request[1];
|
|
isSignatureEqual.call(action, request[2], request[3]) && (nextPostbackStateKey = void 0 !== permalink ? "p" + permalink : "k" + murmurhash3_32_gc(JSON.stringify([
|
|
componentKeyPath,
|
|
null,
|
|
actionStateHookIndex
|
|
]), 0), postbackKey === nextPostbackStateKey && (actionStateMatchingIndex = actionStateHookIndex, initialState = request[0]));
|
|
}
|
|
var boundAction = action.bind(null, initialState);
|
|
action = function(payload) {
|
|
boundAction(payload);
|
|
};
|
|
"function" === typeof boundAction.$$FORM_ACTION && (action.$$FORM_ACTION = function(prefix3) {
|
|
prefix3 = boundAction.$$FORM_ACTION(prefix3);
|
|
void 0 !== permalink && (permalink += "", prefix3.action = permalink);
|
|
var formData = prefix3.data;
|
|
formData && (null === nextPostbackStateKey && (nextPostbackStateKey = void 0 !== permalink ? "p" + permalink : "k" + murmurhash3_32_gc(JSON.stringify([
|
|
componentKeyPath,
|
|
null,
|
|
actionStateHookIndex
|
|
]), 0)), formData.append("$ACTION_KEY", nextPostbackStateKey));
|
|
return prefix3;
|
|
});
|
|
return [
|
|
initialState,
|
|
action,
|
|
false
|
|
];
|
|
}
|
|
var boundAction$22 = action.bind(null, initialState);
|
|
return [
|
|
initialState,
|
|
function(payload) {
|
|
boundAction$22(payload);
|
|
},
|
|
false
|
|
];
|
|
}
|
|
function unwrapThenable(thenable) {
|
|
var index = thenableIndexCounter;
|
|
thenableIndexCounter += 1;
|
|
null === thenableState && (thenableState = []);
|
|
return trackUsedThenable(thenableState, thenable, index);
|
|
}
|
|
function unsupportedRefresh() {
|
|
throw Error(formatProdErrorMessage(393));
|
|
}
|
|
var HooksDispatcher = {
|
|
readContext: function(context) {
|
|
return context._currentValue2;
|
|
},
|
|
use: function(usable) {
|
|
if (null !== usable && "object" === typeof usable) {
|
|
if ("function" === typeof usable.then) return unwrapThenable(usable);
|
|
if (usable.$$typeof === REACT_CONTEXT_TYPE) return usable._currentValue2;
|
|
}
|
|
throw Error(formatProdErrorMessage(438, String(usable)));
|
|
},
|
|
useContext: function(context) {
|
|
resolveCurrentlyRenderingComponent();
|
|
return context._currentValue2;
|
|
},
|
|
useMemo,
|
|
useReducer,
|
|
useRef: function(initialValue) {
|
|
currentlyRenderingComponent = resolveCurrentlyRenderingComponent();
|
|
workInProgressHook = createWorkInProgressHook();
|
|
var previousRef = workInProgressHook.memoizedState;
|
|
return null === previousRef ? (initialValue = {
|
|
current: initialValue
|
|
}, workInProgressHook.memoizedState = initialValue) : previousRef;
|
|
},
|
|
useState: function(initialState) {
|
|
return useReducer(basicStateReducer, initialState);
|
|
},
|
|
useInsertionEffect: noop,
|
|
useLayoutEffect: noop,
|
|
useCallback: function(callback, deps) {
|
|
return useMemo(function() {
|
|
return callback;
|
|
}, deps);
|
|
},
|
|
useImperativeHandle: noop,
|
|
useEffect: noop,
|
|
useDebugValue: noop,
|
|
useDeferredValue: function(value, initialValue) {
|
|
resolveCurrentlyRenderingComponent();
|
|
return void 0 !== initialValue ? initialValue : value;
|
|
},
|
|
useTransition: function() {
|
|
resolveCurrentlyRenderingComponent();
|
|
return [
|
|
false,
|
|
unsupportedStartTransition
|
|
];
|
|
},
|
|
useId: function() {
|
|
var JSCompiler_inline_result = currentlyRenderingTask.treeContext;
|
|
var overflow = JSCompiler_inline_result.overflow;
|
|
JSCompiler_inline_result = JSCompiler_inline_result.id;
|
|
JSCompiler_inline_result = (JSCompiler_inline_result & ~(1 << 32 - clz32(JSCompiler_inline_result) - 1)).toString(32) + overflow;
|
|
var resumableState = currentResumableState;
|
|
if (null === resumableState) throw Error(formatProdErrorMessage(404));
|
|
overflow = localIdCounter++;
|
|
JSCompiler_inline_result = "_" + resumableState.idPrefix + "R_" + JSCompiler_inline_result;
|
|
0 < overflow && (JSCompiler_inline_result += "H" + overflow.toString(32));
|
|
return JSCompiler_inline_result + "_";
|
|
},
|
|
useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) {
|
|
if (void 0 === getServerSnapshot) throw Error(formatProdErrorMessage(407));
|
|
return getServerSnapshot();
|
|
},
|
|
useOptimistic: function(passthrough) {
|
|
resolveCurrentlyRenderingComponent();
|
|
return [
|
|
passthrough,
|
|
unsupportedSetOptimisticState
|
|
];
|
|
},
|
|
useActionState,
|
|
useFormState: useActionState,
|
|
useHostTransitionStatus: function() {
|
|
resolveCurrentlyRenderingComponent();
|
|
return sharedNotPendingObject;
|
|
},
|
|
useMemoCache: function(size) {
|
|
for (var data = Array(size), i = 0; i < size; i++) data[i] = REACT_MEMO_CACHE_SENTINEL;
|
|
return data;
|
|
},
|
|
useCacheRefresh: function() {
|
|
return unsupportedRefresh;
|
|
},
|
|
useEffectEvent: function() {
|
|
return throwOnUseEffectEventCall;
|
|
}
|
|
}, currentResumableState = null, DefaultAsyncDispatcher = {
|
|
getCacheForType: function() {
|
|
throw Error(formatProdErrorMessage(248));
|
|
},
|
|
cacheSignal: function() {
|
|
throw Error(formatProdErrorMessage(248));
|
|
}
|
|
}, prefix2, suffix;
|
|
function describeBuiltInComponentFrame(name) {
|
|
if (void 0 === prefix2) try {
|
|
throw Error();
|
|
} catch (x) {
|
|
var match = x.stack.trim().match(/\n( *(at )?)/);
|
|
prefix2 = match && match[1] || "";
|
|
suffix = -1 < x.stack.indexOf("\n at") ? " (<anonymous>)" : -1 < x.stack.indexOf("@") ? "@unknown:0:0" : "";
|
|
}
|
|
return "\n" + prefix2 + name + suffix;
|
|
}
|
|
var reentry = false;
|
|
function describeNativeComponentFrame(fn, construct) {
|
|
if (!fn || reentry) return "";
|
|
reentry = true;
|
|
var previousPrepareStackTrace = Error.prepareStackTrace;
|
|
Error.prepareStackTrace = void 0;
|
|
try {
|
|
var RunInRootFrame = {
|
|
DetermineComponentFrameRoot: function() {
|
|
try {
|
|
if (construct) {
|
|
var Fake = function() {
|
|
throw Error();
|
|
};
|
|
Object.defineProperty(Fake.prototype, "props", {
|
|
set: function() {
|
|
throw Error();
|
|
}
|
|
});
|
|
if ("object" === typeof Reflect && Reflect.construct) {
|
|
try {
|
|
Reflect.construct(Fake, []);
|
|
} catch (x) {
|
|
var control = x;
|
|
}
|
|
Reflect.construct(fn, [], Fake);
|
|
} else {
|
|
try {
|
|
Fake.call();
|
|
} catch (x$24) {
|
|
control = x$24;
|
|
}
|
|
fn.call(Fake.prototype);
|
|
}
|
|
} else {
|
|
try {
|
|
throw Error();
|
|
} catch (x$25) {
|
|
control = x$25;
|
|
}
|
|
(Fake = fn()) && "function" === typeof Fake.catch && Fake.catch(function() {
|
|
});
|
|
}
|
|
} catch (sample) {
|
|
if (sample && control && "string" === typeof sample.stack) return [
|
|
sample.stack,
|
|
control.stack
|
|
];
|
|
}
|
|
return [
|
|
null,
|
|
null
|
|
];
|
|
}
|
|
};
|
|
RunInRootFrame.DetermineComponentFrameRoot.displayName = "DetermineComponentFrameRoot";
|
|
var namePropDescriptor = Object.getOwnPropertyDescriptor(RunInRootFrame.DetermineComponentFrameRoot, "name");
|
|
namePropDescriptor && namePropDescriptor.configurable && Object.defineProperty(RunInRootFrame.DetermineComponentFrameRoot, "name", {
|
|
value: "DetermineComponentFrameRoot"
|
|
});
|
|
var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(), sampleStack = _RunInRootFrame$Deter[0], controlStack = _RunInRootFrame$Deter[1];
|
|
if (sampleStack && controlStack) {
|
|
var sampleLines = sampleStack.split("\n"), controlLines = controlStack.split("\n");
|
|
for (namePropDescriptor = RunInRootFrame = 0; RunInRootFrame < sampleLines.length && !sampleLines[RunInRootFrame].includes("DetermineComponentFrameRoot"); ) RunInRootFrame++;
|
|
for (; namePropDescriptor < controlLines.length && !controlLines[namePropDescriptor].includes("DetermineComponentFrameRoot"); ) namePropDescriptor++;
|
|
if (RunInRootFrame === sampleLines.length || namePropDescriptor === controlLines.length) for (RunInRootFrame = sampleLines.length - 1, namePropDescriptor = controlLines.length - 1; 1 <= RunInRootFrame && 0 <= namePropDescriptor && sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]; ) namePropDescriptor--;
|
|
for (; 1 <= RunInRootFrame && 0 <= namePropDescriptor; RunInRootFrame--, namePropDescriptor--) if (sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]) {
|
|
if (1 !== RunInRootFrame || 1 !== namePropDescriptor) {
|
|
do
|
|
if (RunInRootFrame--, namePropDescriptor--, 0 > namePropDescriptor || sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]) {
|
|
var frame = "\n" + sampleLines[RunInRootFrame].replace(" at new ", " at ");
|
|
fn.displayName && frame.includes("<anonymous>") && (frame = frame.replace("<anonymous>", fn.displayName));
|
|
return frame;
|
|
}
|
|
while (1 <= RunInRootFrame && 0 <= namePropDescriptor);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
} finally {
|
|
reentry = false, Error.prepareStackTrace = previousPrepareStackTrace;
|
|
}
|
|
return (previousPrepareStackTrace = fn ? fn.displayName || fn.name : "") ? describeBuiltInComponentFrame(previousPrepareStackTrace) : "";
|
|
}
|
|
function describeComponentStackByType(type) {
|
|
if ("string" === typeof type) return describeBuiltInComponentFrame(type);
|
|
if ("function" === typeof type) return type.prototype && type.prototype.isReactComponent ? describeNativeComponentFrame(type, true) : describeNativeComponentFrame(type, false);
|
|
if ("object" === typeof type && null !== type) {
|
|
switch (type.$$typeof) {
|
|
case REACT_FORWARD_REF_TYPE:
|
|
return describeNativeComponentFrame(type.render, false);
|
|
case REACT_MEMO_TYPE:
|
|
return describeNativeComponentFrame(type.type, false);
|
|
case REACT_LAZY_TYPE:
|
|
var lazyComponent = type, payload = lazyComponent._payload;
|
|
lazyComponent = lazyComponent._init;
|
|
try {
|
|
type = lazyComponent(payload);
|
|
} catch (x) {
|
|
return describeBuiltInComponentFrame("Lazy");
|
|
}
|
|
return describeComponentStackByType(type);
|
|
}
|
|
if ("string" === typeof type.name) {
|
|
a: {
|
|
payload = type.name;
|
|
lazyComponent = type.env;
|
|
var location = type.debugLocation;
|
|
if (null != location && (type = Error.prepareStackTrace, Error.prepareStackTrace = void 0, location = location.stack, Error.prepareStackTrace = type, location.startsWith("Error: react-stack-top-frame\n") && (location = location.slice(29)), type = location.indexOf("\n"), -1 !== type && (location = location.slice(type + 1)), type = location.indexOf("react_stack_bottom_frame"), -1 !== type && (type = location.lastIndexOf("\n", type)), type = -1 !== type ? location = location.slice(0, type) : "", location = type.lastIndexOf("\n"), type = -1 === location ? type : type.slice(location + 1), -1 !== type.indexOf(payload))) {
|
|
payload = "\n" + type;
|
|
break a;
|
|
}
|
|
payload = describeBuiltInComponentFrame(payload + (lazyComponent ? " [" + lazyComponent + "]" : ""));
|
|
}
|
|
return payload;
|
|
}
|
|
}
|
|
switch (type) {
|
|
case REACT_SUSPENSE_LIST_TYPE:
|
|
return describeBuiltInComponentFrame("SuspenseList");
|
|
case REACT_SUSPENSE_TYPE:
|
|
return describeBuiltInComponentFrame("Suspense");
|
|
}
|
|
return "";
|
|
}
|
|
function isEligibleForOutlining(request, boundary) {
|
|
return (500 < boundary.byteSize || false) && null === boundary.contentPreamble;
|
|
}
|
|
function defaultErrorHandler(error) {
|
|
if ("object" === typeof error && null !== error && "string" === typeof error.environmentName) {
|
|
var JSCompiler_inline_result = error.environmentName;
|
|
error = [
|
|
error
|
|
].slice(0);
|
|
"string" === typeof error[0] ? error.splice(0, 1, "[%s] " + error[0], " " + JSCompiler_inline_result + " ") : error.splice(0, 0, "[%s]", " " + JSCompiler_inline_result + " ");
|
|
error.unshift(console);
|
|
JSCompiler_inline_result = bind.apply(console.error, error);
|
|
JSCompiler_inline_result();
|
|
} else console.error(error);
|
|
return null;
|
|
}
|
|
function RequestInstance(resumableState, renderState, rootFormatContext, progressiveChunkSize, onError2, onAllReady, onShellReady, onShellError, onFatalError, onPostpone, formState) {
|
|
var abortSet = /* @__PURE__ */ new Set();
|
|
this.destination = null;
|
|
this.flushScheduled = false;
|
|
this.resumableState = resumableState;
|
|
this.renderState = renderState;
|
|
this.rootFormatContext = rootFormatContext;
|
|
this.progressiveChunkSize = void 0 === progressiveChunkSize ? 12800 : progressiveChunkSize;
|
|
this.status = 10;
|
|
this.fatalError = null;
|
|
this.pendingRootTasks = this.allPendingTasks = this.nextSegmentId = 0;
|
|
this.completedPreambleSegments = this.completedRootSegment = null;
|
|
this.byteSize = 0;
|
|
this.abortableTasks = abortSet;
|
|
this.pingedTasks = [];
|
|
this.clientRenderedBoundaries = [];
|
|
this.completedBoundaries = [];
|
|
this.partialBoundaries = [];
|
|
this.trackedPostpones = null;
|
|
this.onError = void 0 === onError2 ? defaultErrorHandler : onError2;
|
|
this.onPostpone = void 0 === onPostpone ? noop : onPostpone;
|
|
this.onAllReady = void 0 === onAllReady ? noop : onAllReady;
|
|
this.onShellReady = void 0 === onShellReady ? noop : onShellReady;
|
|
this.onShellError = void 0 === onShellError ? noop : onShellError;
|
|
this.onFatalError = void 0 === onFatalError ? noop : onFatalError;
|
|
this.formState = void 0 === formState ? null : formState;
|
|
}
|
|
function createRequest(children, resumableState, renderState, rootFormatContext, progressiveChunkSize, onError2, onAllReady, onShellReady, onShellError, onFatalError, onPostpone, formState) {
|
|
resumableState = new RequestInstance(resumableState, renderState, rootFormatContext, progressiveChunkSize, onError2, onAllReady, onShellReady, onShellError, onFatalError, onPostpone, formState);
|
|
renderState = createPendingSegment(resumableState, 0, null, rootFormatContext, false, false);
|
|
renderState.parentFlushed = true;
|
|
children = createRenderTask(resumableState, null, children, -1, null, renderState, null, null, resumableState.abortableTasks, null, rootFormatContext, null, emptyTreeContext, null, null);
|
|
pushComponentStack(children);
|
|
resumableState.pingedTasks.push(children);
|
|
return resumableState;
|
|
}
|
|
var currentRequest = null;
|
|
function pingTask(request, task) {
|
|
request.pingedTasks.push(task);
|
|
1 === request.pingedTasks.length && (request.flushScheduled = null !== request.destination, performWork(request));
|
|
}
|
|
function createSuspenseBoundary(request, row, fallbackAbortableTasks, contentPreamble, fallbackPreamble) {
|
|
fallbackAbortableTasks = {
|
|
status: 0,
|
|
rootSegmentID: -1,
|
|
parentFlushed: false,
|
|
pendingTasks: 0,
|
|
row,
|
|
completedSegments: [],
|
|
byteSize: 0,
|
|
fallbackAbortableTasks,
|
|
errorDigest: null,
|
|
contentState: createHoistableState(),
|
|
fallbackState: createHoistableState(),
|
|
contentPreamble,
|
|
fallbackPreamble,
|
|
trackedContentKeyPath: null,
|
|
trackedFallbackNode: null
|
|
};
|
|
null !== row && (row.pendingTasks++, contentPreamble = row.boundaries, null !== contentPreamble && (request.allPendingTasks++, fallbackAbortableTasks.pendingTasks++, contentPreamble.push(fallbackAbortableTasks)), request = row.inheritedHoistables, null !== request && hoistHoistables(fallbackAbortableTasks.contentState, request));
|
|
return fallbackAbortableTasks;
|
|
}
|
|
function createRenderTask(request, thenableState2, node, childIndex, blockedBoundary, blockedSegment, blockedPreamble, hoistableState, abortSet, keyPath, formatContext, context, treeContext, row, componentStack) {
|
|
request.allPendingTasks++;
|
|
null === blockedBoundary ? request.pendingRootTasks++ : blockedBoundary.pendingTasks++;
|
|
null !== row && row.pendingTasks++;
|
|
var task = {
|
|
replay: null,
|
|
node,
|
|
childIndex,
|
|
ping: function() {
|
|
return pingTask(request, task);
|
|
},
|
|
blockedBoundary,
|
|
blockedSegment,
|
|
blockedPreamble,
|
|
hoistableState,
|
|
abortSet,
|
|
keyPath,
|
|
formatContext,
|
|
context,
|
|
treeContext,
|
|
row,
|
|
componentStack,
|
|
thenableState: thenableState2
|
|
};
|
|
abortSet.add(task);
|
|
return task;
|
|
}
|
|
function createReplayTask(request, thenableState2, replay, node, childIndex, blockedBoundary, hoistableState, abortSet, keyPath, formatContext, context, treeContext, row, componentStack) {
|
|
request.allPendingTasks++;
|
|
null === blockedBoundary ? request.pendingRootTasks++ : blockedBoundary.pendingTasks++;
|
|
null !== row && row.pendingTasks++;
|
|
replay.pendingTasks++;
|
|
var task = {
|
|
replay,
|
|
node,
|
|
childIndex,
|
|
ping: function() {
|
|
return pingTask(request, task);
|
|
},
|
|
blockedBoundary,
|
|
blockedSegment: null,
|
|
blockedPreamble: null,
|
|
hoistableState,
|
|
abortSet,
|
|
keyPath,
|
|
formatContext,
|
|
context,
|
|
treeContext,
|
|
row,
|
|
componentStack,
|
|
thenableState: thenableState2
|
|
};
|
|
abortSet.add(task);
|
|
return task;
|
|
}
|
|
function createPendingSegment(request, index, boundary, parentFormatContext, lastPushedText, textEmbedded) {
|
|
return {
|
|
status: 0,
|
|
parentFlushed: false,
|
|
id: -1,
|
|
index,
|
|
chunks: [],
|
|
children: [],
|
|
preambleChildren: [],
|
|
parentFormatContext,
|
|
boundary,
|
|
lastPushedText,
|
|
textEmbedded
|
|
};
|
|
}
|
|
function pushComponentStack(task) {
|
|
var node = task.node;
|
|
if ("object" === typeof node && null !== node) switch (node.$$typeof) {
|
|
case REACT_ELEMENT_TYPE:
|
|
task.componentStack = {
|
|
parent: task.componentStack,
|
|
type: node.type
|
|
};
|
|
}
|
|
}
|
|
function replaceSuspenseComponentStackWithSuspenseFallbackStack(componentStack) {
|
|
return null === componentStack ? null : {
|
|
parent: componentStack.parent,
|
|
type: "Suspense Fallback"
|
|
};
|
|
}
|
|
function getThrownInfo(node$jscomp$0) {
|
|
var errorInfo = {};
|
|
node$jscomp$0 && Object.defineProperty(errorInfo, "componentStack", {
|
|
configurable: true,
|
|
enumerable: true,
|
|
get: function() {
|
|
try {
|
|
var info = "", node = node$jscomp$0;
|
|
do
|
|
info += describeComponentStackByType(node.type), node = node.parent;
|
|
while (node);
|
|
var JSCompiler_inline_result = info;
|
|
} catch (x) {
|
|
JSCompiler_inline_result = "\nError generating stack: " + x.message + "\n" + x.stack;
|
|
}
|
|
Object.defineProperty(errorInfo, "componentStack", {
|
|
value: JSCompiler_inline_result
|
|
});
|
|
return JSCompiler_inline_result;
|
|
}
|
|
});
|
|
return errorInfo;
|
|
}
|
|
function logRecoverableError(request, error, errorInfo) {
|
|
request = request.onError;
|
|
error = request(error, errorInfo);
|
|
if (null == error || "string" === typeof error) return error;
|
|
}
|
|
function fatalError(request, error) {
|
|
var onShellError = request.onShellError, onFatalError = request.onFatalError;
|
|
onShellError(error);
|
|
onFatalError(error);
|
|
null !== request.destination ? (request.status = 14, request.destination.destroy(error)) : (request.status = 13, request.fatalError = error);
|
|
}
|
|
function finishSuspenseListRow(request, row) {
|
|
unblockSuspenseListRow(request, row.next, row.hoistables);
|
|
}
|
|
function unblockSuspenseListRow(request, unblockedRow, inheritedHoistables) {
|
|
for (; null !== unblockedRow; ) {
|
|
null !== inheritedHoistables && (hoistHoistables(unblockedRow.hoistables, inheritedHoistables), unblockedRow.inheritedHoistables = inheritedHoistables);
|
|
var unblockedBoundaries = unblockedRow.boundaries;
|
|
if (null !== unblockedBoundaries) {
|
|
unblockedRow.boundaries = null;
|
|
for (var i = 0; i < unblockedBoundaries.length; i++) {
|
|
var unblockedBoundary = unblockedBoundaries[i];
|
|
null !== inheritedHoistables && hoistHoistables(unblockedBoundary.contentState, inheritedHoistables);
|
|
finishedTask(request, unblockedBoundary, null, null);
|
|
}
|
|
}
|
|
unblockedRow.pendingTasks--;
|
|
if (0 < unblockedRow.pendingTasks) break;
|
|
inheritedHoistables = unblockedRow.hoistables;
|
|
unblockedRow = unblockedRow.next;
|
|
}
|
|
}
|
|
function tryToResolveTogetherRow(request, togetherRow) {
|
|
var boundaries = togetherRow.boundaries;
|
|
if (null !== boundaries && togetherRow.pendingTasks === boundaries.length) {
|
|
for (var allCompleteAndInlinable = true, i = 0; i < boundaries.length; i++) {
|
|
var rowBoundary = boundaries[i];
|
|
if (1 !== rowBoundary.pendingTasks || rowBoundary.parentFlushed || isEligibleForOutlining(request, rowBoundary)) {
|
|
allCompleteAndInlinable = false;
|
|
break;
|
|
}
|
|
}
|
|
allCompleteAndInlinable && unblockSuspenseListRow(request, togetherRow, togetherRow.hoistables);
|
|
}
|
|
}
|
|
function createSuspenseListRow(previousRow) {
|
|
var newRow = {
|
|
pendingTasks: 1,
|
|
boundaries: null,
|
|
hoistables: createHoistableState(),
|
|
inheritedHoistables: null,
|
|
together: false,
|
|
next: null
|
|
};
|
|
null !== previousRow && 0 < previousRow.pendingTasks && (newRow.pendingTasks++, newRow.boundaries = [], previousRow.next = newRow);
|
|
return newRow;
|
|
}
|
|
function renderSuspenseListRows(request, task, keyPath, rows, revealOrder) {
|
|
var prevKeyPath = task.keyPath, prevTreeContext = task.treeContext, prevRow = task.row;
|
|
task.keyPath = keyPath;
|
|
keyPath = rows.length;
|
|
var previousSuspenseListRow = null;
|
|
if (null !== task.replay) {
|
|
var resumeSlots = task.replay.slots;
|
|
if (null !== resumeSlots && "object" === typeof resumeSlots) for (var n = 0; n < keyPath; n++) {
|
|
var i = "backwards" !== revealOrder && "unstable_legacy-backwards" !== revealOrder ? n : keyPath - 1 - n, node = rows[i];
|
|
task.row = previousSuspenseListRow = createSuspenseListRow(previousSuspenseListRow);
|
|
task.treeContext = pushTreeContext(prevTreeContext, keyPath, i);
|
|
var resumeSegmentID = resumeSlots[i];
|
|
"number" === typeof resumeSegmentID ? (resumeNode(request, task, resumeSegmentID, node, i), delete resumeSlots[i]) : renderNode(request, task, node, i);
|
|
0 === --previousSuspenseListRow.pendingTasks && finishSuspenseListRow(request, previousSuspenseListRow);
|
|
}
|
|
else for (resumeSlots = 0; resumeSlots < keyPath; resumeSlots++) n = "backwards" !== revealOrder && "unstable_legacy-backwards" !== revealOrder ? resumeSlots : keyPath - 1 - resumeSlots, i = rows[n], task.row = previousSuspenseListRow = createSuspenseListRow(previousSuspenseListRow), task.treeContext = pushTreeContext(prevTreeContext, keyPath, n), renderNode(request, task, i, n), 0 === --previousSuspenseListRow.pendingTasks && finishSuspenseListRow(request, previousSuspenseListRow);
|
|
} else if ("backwards" !== revealOrder && "unstable_legacy-backwards" !== revealOrder) for (revealOrder = 0; revealOrder < keyPath; revealOrder++) resumeSlots = rows[revealOrder], task.row = previousSuspenseListRow = createSuspenseListRow(previousSuspenseListRow), task.treeContext = pushTreeContext(prevTreeContext, keyPath, revealOrder), renderNode(request, task, resumeSlots, revealOrder), 0 === --previousSuspenseListRow.pendingTasks && finishSuspenseListRow(request, previousSuspenseListRow);
|
|
else {
|
|
revealOrder = task.blockedSegment;
|
|
resumeSlots = revealOrder.children.length;
|
|
n = revealOrder.chunks.length;
|
|
for (i = keyPath - 1; 0 <= i; i--) {
|
|
node = rows[i];
|
|
task.row = previousSuspenseListRow = createSuspenseListRow(previousSuspenseListRow);
|
|
task.treeContext = pushTreeContext(prevTreeContext, keyPath, i);
|
|
resumeSegmentID = createPendingSegment(request, n, null, task.formatContext, 0 === i ? revealOrder.lastPushedText : true, true);
|
|
revealOrder.children.splice(resumeSlots, 0, resumeSegmentID);
|
|
task.blockedSegment = resumeSegmentID;
|
|
try {
|
|
renderNode(request, task, node, i), pushSegmentFinale(resumeSegmentID.chunks, request.renderState, resumeSegmentID.lastPushedText, resumeSegmentID.textEmbedded), resumeSegmentID.status = 1, 0 === --previousSuspenseListRow.pendingTasks && finishSuspenseListRow(request, previousSuspenseListRow);
|
|
} catch (thrownValue) {
|
|
throw resumeSegmentID.status = 12 === request.status ? 3 : 4, thrownValue;
|
|
}
|
|
}
|
|
task.blockedSegment = revealOrder;
|
|
revealOrder.lastPushedText = false;
|
|
}
|
|
null !== prevRow && null !== previousSuspenseListRow && 0 < previousSuspenseListRow.pendingTasks && (prevRow.pendingTasks++, previousSuspenseListRow.next = prevRow);
|
|
task.treeContext = prevTreeContext;
|
|
task.row = prevRow;
|
|
task.keyPath = prevKeyPath;
|
|
}
|
|
function renderWithHooks(request, task, keyPath, Component, props, secondArg) {
|
|
var prevThenableState = task.thenableState;
|
|
task.thenableState = null;
|
|
currentlyRenderingComponent = {};
|
|
currentlyRenderingTask = task;
|
|
currentlyRenderingRequest = request;
|
|
currentlyRenderingKeyPath = keyPath;
|
|
actionStateCounter = localIdCounter = 0;
|
|
actionStateMatchingIndex = -1;
|
|
thenableIndexCounter = 0;
|
|
thenableState = prevThenableState;
|
|
for (request = Component(props, secondArg); didScheduleRenderPhaseUpdate; ) didScheduleRenderPhaseUpdate = false, actionStateCounter = localIdCounter = 0, actionStateMatchingIndex = -1, thenableIndexCounter = 0, numberOfReRenders += 1, workInProgressHook = null, request = Component(props, secondArg);
|
|
resetHooksState();
|
|
return request;
|
|
}
|
|
function finishFunctionComponent(request, task, keyPath, children, hasId, actionStateCount, actionStateMatchingIndex2) {
|
|
var didEmitActionStateMarkers = false;
|
|
if (0 !== actionStateCount && null !== request.formState) {
|
|
var segment = task.blockedSegment;
|
|
if (null !== segment) {
|
|
didEmitActionStateMarkers = true;
|
|
segment = segment.chunks;
|
|
for (var i = 0; i < actionStateCount; i++) i === actionStateMatchingIndex2 ? segment.push("<!--F!-->") : segment.push("<!--F-->");
|
|
}
|
|
}
|
|
actionStateCount = task.keyPath;
|
|
task.keyPath = keyPath;
|
|
hasId ? (keyPath = task.treeContext, task.treeContext = pushTreeContext(keyPath, 1, 0), renderNode(request, task, children, -1), task.treeContext = keyPath) : didEmitActionStateMarkers ? renderNode(request, task, children, -1) : renderNodeDestructive(request, task, children, -1);
|
|
task.keyPath = actionStateCount;
|
|
}
|
|
function renderElement(request, task, keyPath, type, props, ref) {
|
|
if ("function" === typeof type) if (type.prototype && type.prototype.isReactComponent) {
|
|
var newProps = props;
|
|
if ("ref" in props) {
|
|
newProps = {};
|
|
for (var propName in props) "ref" !== propName && (newProps[propName] = props[propName]);
|
|
}
|
|
var defaultProps = type.defaultProps;
|
|
if (defaultProps) {
|
|
newProps === props && (newProps = assign({}, newProps, props));
|
|
for (var propName$43 in defaultProps) void 0 === newProps[propName$43] && (newProps[propName$43] = defaultProps[propName$43]);
|
|
}
|
|
props = newProps;
|
|
newProps = emptyContextObject;
|
|
defaultProps = type.contextType;
|
|
"object" === typeof defaultProps && null !== defaultProps && (newProps = defaultProps._currentValue2);
|
|
newProps = new type(props, newProps);
|
|
var initialState = void 0 !== newProps.state ? newProps.state : null;
|
|
newProps.updater = classComponentUpdater;
|
|
newProps.props = props;
|
|
newProps.state = initialState;
|
|
defaultProps = {
|
|
queue: [],
|
|
replace: false
|
|
};
|
|
newProps._reactInternals = defaultProps;
|
|
ref = type.contextType;
|
|
newProps.context = "object" === typeof ref && null !== ref ? ref._currentValue2 : emptyContextObject;
|
|
ref = type.getDerivedStateFromProps;
|
|
"function" === typeof ref && (ref = ref(props, initialState), initialState = null === ref || void 0 === ref ? initialState : assign({}, initialState, ref), newProps.state = initialState);
|
|
if ("function" !== typeof type.getDerivedStateFromProps && "function" !== typeof newProps.getSnapshotBeforeUpdate && ("function" === typeof newProps.UNSAFE_componentWillMount || "function" === typeof newProps.componentWillMount)) if (type = newProps.state, "function" === typeof newProps.componentWillMount && newProps.componentWillMount(), "function" === typeof newProps.UNSAFE_componentWillMount && newProps.UNSAFE_componentWillMount(), type !== newProps.state && classComponentUpdater.enqueueReplaceState(newProps, newProps.state, null), null !== defaultProps.queue && 0 < defaultProps.queue.length) if (type = defaultProps.queue, ref = defaultProps.replace, defaultProps.queue = null, defaultProps.replace = false, ref && 1 === type.length) newProps.state = type[0];
|
|
else {
|
|
defaultProps = ref ? type[0] : newProps.state;
|
|
initialState = true;
|
|
for (ref = ref ? 1 : 0; ref < type.length; ref++) propName$43 = type[ref], propName$43 = "function" === typeof propName$43 ? propName$43.call(newProps, defaultProps, props, void 0) : propName$43, null != propName$43 && (initialState ? (initialState = false, defaultProps = assign({}, defaultProps, propName$43)) : assign(defaultProps, propName$43));
|
|
newProps.state = defaultProps;
|
|
}
|
|
else defaultProps.queue = null;
|
|
type = newProps.render();
|
|
if (12 === request.status) throw null;
|
|
props = task.keyPath;
|
|
task.keyPath = keyPath;
|
|
renderNodeDestructive(request, task, type, -1);
|
|
task.keyPath = props;
|
|
} else {
|
|
type = renderWithHooks(request, task, keyPath, type, props, void 0);
|
|
if (12 === request.status) throw null;
|
|
finishFunctionComponent(request, task, keyPath, type, 0 !== localIdCounter, actionStateCounter, actionStateMatchingIndex);
|
|
}
|
|
else if ("string" === typeof type) if (newProps = task.blockedSegment, null === newProps) newProps = props.children, defaultProps = task.formatContext, initialState = task.keyPath, task.formatContext = getChildFormatContext(defaultProps, type, props), task.keyPath = keyPath, renderNode(request, task, newProps, -1), task.formatContext = defaultProps, task.keyPath = initialState;
|
|
else {
|
|
initialState = pushStartInstance(newProps.chunks, type, props, request.resumableState, request.renderState, task.blockedPreamble, task.hoistableState, task.formatContext, newProps.lastPushedText);
|
|
newProps.lastPushedText = false;
|
|
defaultProps = task.formatContext;
|
|
ref = task.keyPath;
|
|
task.keyPath = keyPath;
|
|
if (3 === (task.formatContext = getChildFormatContext(defaultProps, type, props)).insertionMode) {
|
|
keyPath = createPendingSegment(request, 0, null, task.formatContext, false, false);
|
|
newProps.preambleChildren.push(keyPath);
|
|
task.blockedSegment = keyPath;
|
|
try {
|
|
keyPath.status = 6, renderNode(request, task, initialState, -1), pushSegmentFinale(keyPath.chunks, request.renderState, keyPath.lastPushedText, keyPath.textEmbedded), keyPath.status = 1;
|
|
} finally {
|
|
task.blockedSegment = newProps;
|
|
}
|
|
} else renderNode(request, task, initialState, -1);
|
|
task.formatContext = defaultProps;
|
|
task.keyPath = ref;
|
|
a: {
|
|
task = newProps.chunks;
|
|
request = request.resumableState;
|
|
switch (type) {
|
|
case "title":
|
|
case "style":
|
|
case "script":
|
|
case "area":
|
|
case "base":
|
|
case "br":
|
|
case "col":
|
|
case "embed":
|
|
case "hr":
|
|
case "img":
|
|
case "input":
|
|
case "keygen":
|
|
case "link":
|
|
case "meta":
|
|
case "param":
|
|
case "source":
|
|
case "track":
|
|
case "wbr":
|
|
break a;
|
|
case "body":
|
|
if (1 >= defaultProps.insertionMode) {
|
|
request.hasBody = true;
|
|
break a;
|
|
}
|
|
break;
|
|
case "html":
|
|
if (0 === defaultProps.insertionMode) {
|
|
request.hasHtml = true;
|
|
break a;
|
|
}
|
|
break;
|
|
case "head":
|
|
if (1 >= defaultProps.insertionMode) break a;
|
|
}
|
|
task.push(endChunkForTag(type));
|
|
}
|
|
newProps.lastPushedText = false;
|
|
}
|
|
else {
|
|
switch (type) {
|
|
case REACT_LEGACY_HIDDEN_TYPE:
|
|
case REACT_STRICT_MODE_TYPE:
|
|
case REACT_PROFILER_TYPE:
|
|
case REACT_FRAGMENT_TYPE:
|
|
type = task.keyPath;
|
|
task.keyPath = keyPath;
|
|
renderNodeDestructive(request, task, props.children, -1);
|
|
task.keyPath = type;
|
|
return;
|
|
case REACT_ACTIVITY_TYPE:
|
|
type = task.blockedSegment;
|
|
null === type ? "hidden" !== props.mode && (type = task.keyPath, task.keyPath = keyPath, renderNode(request, task, props.children, -1), task.keyPath = type) : "hidden" !== props.mode && (request.renderState.generateStaticMarkup || type.chunks.push("<!--&-->"), type.lastPushedText = false, newProps = task.keyPath, task.keyPath = keyPath, renderNode(request, task, props.children, -1), task.keyPath = newProps, request.renderState.generateStaticMarkup || type.chunks.push("<!--/&-->"), type.lastPushedText = false);
|
|
return;
|
|
case REACT_SUSPENSE_LIST_TYPE:
|
|
a: {
|
|
type = props.children;
|
|
props = props.revealOrder;
|
|
if ("forwards" === props || "backwards" === props || "unstable_legacy-backwards" === props) {
|
|
if (isArrayImpl(type)) {
|
|
renderSuspenseListRows(request, task, keyPath, type, props);
|
|
break a;
|
|
}
|
|
if (newProps = getIteratorFn(type)) {
|
|
if (newProps = newProps.call(type)) {
|
|
defaultProps = newProps.next();
|
|
if (!defaultProps.done) {
|
|
do
|
|
defaultProps = newProps.next();
|
|
while (!defaultProps.done);
|
|
renderSuspenseListRows(request, task, keyPath, type, props);
|
|
}
|
|
break a;
|
|
}
|
|
}
|
|
}
|
|
"together" === props ? (props = task.keyPath, newProps = task.row, defaultProps = task.row = createSuspenseListRow(null), defaultProps.boundaries = [], defaultProps.together = true, task.keyPath = keyPath, renderNodeDestructive(request, task, type, -1), 0 === --defaultProps.pendingTasks && finishSuspenseListRow(request, defaultProps), task.keyPath = props, task.row = newProps, null !== newProps && 0 < defaultProps.pendingTasks && (newProps.pendingTasks++, defaultProps.next = newProps)) : (props = task.keyPath, task.keyPath = keyPath, renderNodeDestructive(request, task, type, -1), task.keyPath = props);
|
|
}
|
|
return;
|
|
case REACT_VIEW_TRANSITION_TYPE:
|
|
case REACT_SCOPE_TYPE:
|
|
throw Error(formatProdErrorMessage(343));
|
|
case REACT_SUSPENSE_TYPE:
|
|
a: if (null !== task.replay) {
|
|
type = task.keyPath;
|
|
newProps = task.formatContext;
|
|
defaultProps = task.row;
|
|
task.keyPath = keyPath;
|
|
task.formatContext = getSuspenseContentFormatContext(request.resumableState, newProps);
|
|
task.row = null;
|
|
keyPath = props.children;
|
|
try {
|
|
renderNode(request, task, keyPath, -1);
|
|
} finally {
|
|
task.keyPath = type, task.formatContext = newProps, task.row = defaultProps;
|
|
}
|
|
} else {
|
|
type = task.keyPath;
|
|
ref = task.formatContext;
|
|
var prevRow = task.row, parentBoundary = task.blockedBoundary;
|
|
propName$43 = task.blockedPreamble;
|
|
var parentHoistableState = task.hoistableState;
|
|
propName = task.blockedSegment;
|
|
var fallback = props.fallback;
|
|
props = props.children;
|
|
var fallbackAbortSet = /* @__PURE__ */ new Set();
|
|
var newBoundary = createSuspenseBoundary(request, task.row, fallbackAbortSet, null, null);
|
|
null !== request.trackedPostpones && (newBoundary.trackedContentKeyPath = keyPath);
|
|
var boundarySegment = createPendingSegment(request, propName.chunks.length, newBoundary, task.formatContext, false, false);
|
|
propName.children.push(boundarySegment);
|
|
propName.lastPushedText = false;
|
|
var contentRootSegment = createPendingSegment(request, 0, null, task.formatContext, false, false);
|
|
contentRootSegment.parentFlushed = true;
|
|
if (null !== request.trackedPostpones) {
|
|
newProps = task.componentStack;
|
|
defaultProps = [
|
|
keyPath[0],
|
|
"Suspense Fallback",
|
|
keyPath[2]
|
|
];
|
|
initialState = [
|
|
defaultProps[1],
|
|
defaultProps[2],
|
|
[],
|
|
null
|
|
];
|
|
request.trackedPostpones.workingMap.set(defaultProps, initialState);
|
|
newBoundary.trackedFallbackNode = initialState;
|
|
task.blockedSegment = boundarySegment;
|
|
task.blockedPreamble = newBoundary.fallbackPreamble;
|
|
task.keyPath = defaultProps;
|
|
task.formatContext = getSuspenseFallbackFormatContext(request.resumableState, ref);
|
|
task.componentStack = replaceSuspenseComponentStackWithSuspenseFallbackStack(newProps);
|
|
boundarySegment.status = 6;
|
|
try {
|
|
renderNode(request, task, fallback, -1), pushSegmentFinale(boundarySegment.chunks, request.renderState, boundarySegment.lastPushedText, boundarySegment.textEmbedded), boundarySegment.status = 1;
|
|
} catch (thrownValue) {
|
|
throw boundarySegment.status = 12 === request.status ? 3 : 4, thrownValue;
|
|
} finally {
|
|
task.blockedSegment = propName, task.blockedPreamble = propName$43, task.keyPath = type, task.formatContext = ref;
|
|
}
|
|
task = createRenderTask(request, null, props, -1, newBoundary, contentRootSegment, newBoundary.contentPreamble, newBoundary.contentState, task.abortSet, keyPath, getSuspenseContentFormatContext(request.resumableState, task.formatContext), task.context, task.treeContext, null, newProps);
|
|
pushComponentStack(task);
|
|
request.pingedTasks.push(task);
|
|
} else {
|
|
task.blockedBoundary = newBoundary;
|
|
task.blockedPreamble = newBoundary.contentPreamble;
|
|
task.hoistableState = newBoundary.contentState;
|
|
task.blockedSegment = contentRootSegment;
|
|
task.keyPath = keyPath;
|
|
task.formatContext = getSuspenseContentFormatContext(request.resumableState, ref);
|
|
task.row = null;
|
|
contentRootSegment.status = 6;
|
|
try {
|
|
if (renderNode(request, task, props, -1), pushSegmentFinale(contentRootSegment.chunks, request.renderState, contentRootSegment.lastPushedText, contentRootSegment.textEmbedded), contentRootSegment.status = 1, queueCompletedSegment(newBoundary, contentRootSegment), 0 === newBoundary.pendingTasks && 0 === newBoundary.status) {
|
|
if (newBoundary.status = 1, !isEligibleForOutlining(request, newBoundary)) {
|
|
null !== prevRow && 0 === --prevRow.pendingTasks && finishSuspenseListRow(request, prevRow);
|
|
0 === request.pendingRootTasks && task.blockedPreamble && preparePreamble(request);
|
|
break a;
|
|
}
|
|
} else null !== prevRow && prevRow.together && tryToResolveTogetherRow(request, prevRow);
|
|
} catch (thrownValue$30) {
|
|
newBoundary.status = 4, 12 === request.status ? (contentRootSegment.status = 3, newProps = request.fatalError) : (contentRootSegment.status = 4, newProps = thrownValue$30), defaultProps = getThrownInfo(task.componentStack), initialState = logRecoverableError(request, newProps, defaultProps), newBoundary.errorDigest = initialState, untrackBoundary(request, newBoundary);
|
|
} finally {
|
|
task.blockedBoundary = parentBoundary, task.blockedPreamble = propName$43, task.hoistableState = parentHoistableState, task.blockedSegment = propName, task.keyPath = type, task.formatContext = ref, task.row = prevRow;
|
|
}
|
|
task = createRenderTask(request, null, fallback, -1, parentBoundary, boundarySegment, newBoundary.fallbackPreamble, newBoundary.fallbackState, fallbackAbortSet, [
|
|
keyPath[0],
|
|
"Suspense Fallback",
|
|
keyPath[2]
|
|
], getSuspenseFallbackFormatContext(request.resumableState, task.formatContext), task.context, task.treeContext, task.row, replaceSuspenseComponentStackWithSuspenseFallbackStack(task.componentStack));
|
|
pushComponentStack(task);
|
|
request.pingedTasks.push(task);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
if ("object" === typeof type && null !== type) switch (type.$$typeof) {
|
|
case REACT_FORWARD_REF_TYPE:
|
|
if ("ref" in props) for (fallback in newProps = {}, props) "ref" !== fallback && (newProps[fallback] = props[fallback]);
|
|
else newProps = props;
|
|
type = renderWithHooks(request, task, keyPath, type.render, newProps, ref);
|
|
finishFunctionComponent(request, task, keyPath, type, 0 !== localIdCounter, actionStateCounter, actionStateMatchingIndex);
|
|
return;
|
|
case REACT_MEMO_TYPE:
|
|
renderElement(request, task, keyPath, type.type, props, ref);
|
|
return;
|
|
case REACT_CONTEXT_TYPE:
|
|
defaultProps = props.children;
|
|
newProps = task.keyPath;
|
|
props = props.value;
|
|
initialState = type._currentValue2;
|
|
type._currentValue2 = props;
|
|
ref = currentActiveSnapshot;
|
|
currentActiveSnapshot = type = {
|
|
parent: ref,
|
|
depth: null === ref ? 0 : ref.depth + 1,
|
|
context: type,
|
|
parentValue: initialState,
|
|
value: props
|
|
};
|
|
task.context = type;
|
|
task.keyPath = keyPath;
|
|
renderNodeDestructive(request, task, defaultProps, -1);
|
|
request = currentActiveSnapshot;
|
|
if (null === request) throw Error(formatProdErrorMessage(403));
|
|
request.context._currentValue2 = request.parentValue;
|
|
request = currentActiveSnapshot = request.parent;
|
|
task.context = request;
|
|
task.keyPath = newProps;
|
|
return;
|
|
case REACT_CONSUMER_TYPE:
|
|
props = props.children;
|
|
type = props(type._context._currentValue2);
|
|
props = task.keyPath;
|
|
task.keyPath = keyPath;
|
|
renderNodeDestructive(request, task, type, -1);
|
|
task.keyPath = props;
|
|
return;
|
|
case REACT_LAZY_TYPE:
|
|
newProps = type._init;
|
|
type = newProps(type._payload);
|
|
if (12 === request.status) throw null;
|
|
renderElement(request, task, keyPath, type, props, ref);
|
|
return;
|
|
}
|
|
throw Error(formatProdErrorMessage(130, null == type ? type : typeof type, ""));
|
|
}
|
|
}
|
|
function resumeNode(request, task, segmentId, node, childIndex) {
|
|
var prevReplay = task.replay, blockedBoundary = task.blockedBoundary, resumedSegment = createPendingSegment(request, 0, null, task.formatContext, false, false);
|
|
resumedSegment.id = segmentId;
|
|
resumedSegment.parentFlushed = true;
|
|
try {
|
|
task.replay = null, task.blockedSegment = resumedSegment, renderNode(request, task, node, childIndex), resumedSegment.status = 1, null === blockedBoundary ? request.completedRootSegment = resumedSegment : (queueCompletedSegment(blockedBoundary, resumedSegment), blockedBoundary.parentFlushed && request.partialBoundaries.push(blockedBoundary));
|
|
} finally {
|
|
task.replay = prevReplay, task.blockedSegment = null;
|
|
}
|
|
}
|
|
function renderNodeDestructive(request, task, node, childIndex) {
|
|
null !== task.replay && "number" === typeof task.replay.slots ? resumeNode(request, task, task.replay.slots, node, childIndex) : (task.node = node, task.childIndex = childIndex, node = task.componentStack, pushComponentStack(task), retryNode(request, task), task.componentStack = node);
|
|
}
|
|
function retryNode(request, task) {
|
|
var node = task.node, childIndex = task.childIndex;
|
|
if (null !== node) {
|
|
if ("object" === typeof node) {
|
|
switch (node.$$typeof) {
|
|
case REACT_ELEMENT_TYPE:
|
|
var type = node.type, key = node.key, props = node.props;
|
|
node = props.ref;
|
|
var ref = void 0 !== node ? node : null, name = getComponentNameFromType(type), keyOrIndex = null == key ? -1 === childIndex ? 0 : childIndex : key;
|
|
key = [
|
|
task.keyPath,
|
|
name,
|
|
keyOrIndex
|
|
];
|
|
if (null !== task.replay) a: {
|
|
var replay = task.replay;
|
|
childIndex = replay.nodes;
|
|
for (node = 0; node < childIndex.length; node++) {
|
|
var node$jscomp$0 = childIndex[node];
|
|
if (keyOrIndex === node$jscomp$0[1]) {
|
|
if (4 === node$jscomp$0.length) {
|
|
if (null !== name && name !== node$jscomp$0[0]) throw Error(formatProdErrorMessage(490, node$jscomp$0[0], name));
|
|
var childNodes = node$jscomp$0[2];
|
|
name = node$jscomp$0[3];
|
|
keyOrIndex = task.node;
|
|
task.replay = {
|
|
nodes: childNodes,
|
|
slots: name,
|
|
pendingTasks: 1
|
|
};
|
|
try {
|
|
renderElement(request, task, key, type, props, ref);
|
|
if (1 === task.replay.pendingTasks && 0 < task.replay.nodes.length) throw Error(formatProdErrorMessage(488));
|
|
task.replay.pendingTasks--;
|
|
} catch (x) {
|
|
if ("object" === typeof x && null !== x && (x === SuspenseException || "function" === typeof x.then)) throw task.node === keyOrIndex ? task.replay = replay : childIndex.splice(node, 1), x;
|
|
task.replay.pendingTasks--;
|
|
props = getThrownInfo(task.componentStack);
|
|
key = request;
|
|
request = task.blockedBoundary;
|
|
type = x;
|
|
props = logRecoverableError(key, type, props);
|
|
abortRemainingReplayNodes(key, request, childNodes, name, type, props);
|
|
}
|
|
task.replay = replay;
|
|
} else {
|
|
if (type !== REACT_SUSPENSE_TYPE) throw Error(formatProdErrorMessage(490, "Suspense", getComponentNameFromType(type) || "Unknown"));
|
|
b: {
|
|
replay = void 0;
|
|
type = node$jscomp$0[5];
|
|
ref = node$jscomp$0[2];
|
|
name = node$jscomp$0[3];
|
|
keyOrIndex = null === node$jscomp$0[4] ? [] : node$jscomp$0[4][2];
|
|
node$jscomp$0 = null === node$jscomp$0[4] ? null : node$jscomp$0[4][3];
|
|
var prevKeyPath = task.keyPath, prevContext = task.formatContext, prevRow = task.row, previousReplaySet = task.replay, parentBoundary = task.blockedBoundary, parentHoistableState = task.hoistableState, content = props.children, fallback = props.fallback, fallbackAbortSet = /* @__PURE__ */ new Set();
|
|
props = createSuspenseBoundary(request, task.row, fallbackAbortSet, null, null);
|
|
props.parentFlushed = true;
|
|
props.rootSegmentID = type;
|
|
task.blockedBoundary = props;
|
|
task.hoistableState = props.contentState;
|
|
task.keyPath = key;
|
|
task.formatContext = getSuspenseContentFormatContext(request.resumableState, prevContext);
|
|
task.row = null;
|
|
task.replay = {
|
|
nodes: ref,
|
|
slots: name,
|
|
pendingTasks: 1
|
|
};
|
|
try {
|
|
renderNode(request, task, content, -1);
|
|
if (1 === task.replay.pendingTasks && 0 < task.replay.nodes.length) throw Error(formatProdErrorMessage(488));
|
|
task.replay.pendingTasks--;
|
|
if (0 === props.pendingTasks && 0 === props.status) {
|
|
props.status = 1;
|
|
request.completedBoundaries.push(props);
|
|
break b;
|
|
}
|
|
} catch (error) {
|
|
props.status = 4, childNodes = getThrownInfo(task.componentStack), replay = logRecoverableError(request, error, childNodes), props.errorDigest = replay, task.replay.pendingTasks--, request.clientRenderedBoundaries.push(props);
|
|
} finally {
|
|
task.blockedBoundary = parentBoundary, task.hoistableState = parentHoistableState, task.replay = previousReplaySet, task.keyPath = prevKeyPath, task.formatContext = prevContext, task.row = prevRow;
|
|
}
|
|
childNodes = createReplayTask(request, null, {
|
|
nodes: keyOrIndex,
|
|
slots: node$jscomp$0,
|
|
pendingTasks: 0
|
|
}, fallback, -1, parentBoundary, props.fallbackState, fallbackAbortSet, [
|
|
key[0],
|
|
"Suspense Fallback",
|
|
key[2]
|
|
], getSuspenseFallbackFormatContext(request.resumableState, task.formatContext), task.context, task.treeContext, task.row, replaceSuspenseComponentStackWithSuspenseFallbackStack(task.componentStack));
|
|
pushComponentStack(childNodes);
|
|
request.pingedTasks.push(childNodes);
|
|
}
|
|
}
|
|
childIndex.splice(node, 1);
|
|
break a;
|
|
}
|
|
}
|
|
}
|
|
else renderElement(request, task, key, type, props, ref);
|
|
return;
|
|
case REACT_PORTAL_TYPE:
|
|
throw Error(formatProdErrorMessage(257));
|
|
case REACT_LAZY_TYPE:
|
|
childNodes = node._init;
|
|
node = childNodes(node._payload);
|
|
if (12 === request.status) throw null;
|
|
renderNodeDestructive(request, task, node, childIndex);
|
|
return;
|
|
}
|
|
if (isArrayImpl(node)) {
|
|
renderChildrenArray(request, task, node, childIndex);
|
|
return;
|
|
}
|
|
if (childNodes = getIteratorFn(node)) {
|
|
if (childNodes = childNodes.call(node)) {
|
|
node = childNodes.next();
|
|
if (!node.done) {
|
|
props = [];
|
|
do
|
|
props.push(node.value), node = childNodes.next();
|
|
while (!node.done);
|
|
renderChildrenArray(request, task, props, childIndex);
|
|
}
|
|
return;
|
|
}
|
|
}
|
|
if ("function" === typeof node.then) return task.thenableState = null, renderNodeDestructive(request, task, unwrapThenable(node), childIndex);
|
|
if (node.$$typeof === REACT_CONTEXT_TYPE) return renderNodeDestructive(request, task, node._currentValue2, childIndex);
|
|
childIndex = Object.prototype.toString.call(node);
|
|
throw Error(formatProdErrorMessage(31, "[object Object]" === childIndex ? "object with keys {" + Object.keys(node).join(", ") + "}" : childIndex));
|
|
}
|
|
if ("string" === typeof node) childIndex = task.blockedSegment, null !== childIndex && (childIndex.lastPushedText = pushTextInstance(childIndex.chunks, node, request.renderState, childIndex.lastPushedText));
|
|
else if ("number" === typeof node || "bigint" === typeof node) childIndex = task.blockedSegment, null !== childIndex && (childIndex.lastPushedText = pushTextInstance(childIndex.chunks, "" + node, request.renderState, childIndex.lastPushedText));
|
|
}
|
|
}
|
|
function renderChildrenArray(request, task, children, childIndex) {
|
|
var prevKeyPath = task.keyPath;
|
|
if (-1 !== childIndex && (task.keyPath = [
|
|
task.keyPath,
|
|
"Fragment",
|
|
childIndex
|
|
], null !== task.replay)) {
|
|
for (var replay = task.replay, replayNodes = replay.nodes, j = 0; j < replayNodes.length; j++) {
|
|
var node = replayNodes[j];
|
|
if (node[1] === childIndex) {
|
|
childIndex = node[2];
|
|
node = node[3];
|
|
task.replay = {
|
|
nodes: childIndex,
|
|
slots: node,
|
|
pendingTasks: 1
|
|
};
|
|
try {
|
|
renderChildrenArray(request, task, children, -1);
|
|
if (1 === task.replay.pendingTasks && 0 < task.replay.nodes.length) throw Error(formatProdErrorMessage(488));
|
|
task.replay.pendingTasks--;
|
|
} catch (x) {
|
|
if ("object" === typeof x && null !== x && (x === SuspenseException || "function" === typeof x.then)) throw x;
|
|
task.replay.pendingTasks--;
|
|
children = getThrownInfo(task.componentStack);
|
|
var boundary = task.blockedBoundary, error = x;
|
|
children = logRecoverableError(request, error, children);
|
|
abortRemainingReplayNodes(request, boundary, childIndex, node, error, children);
|
|
}
|
|
task.replay = replay;
|
|
replayNodes.splice(j, 1);
|
|
break;
|
|
}
|
|
}
|
|
task.keyPath = prevKeyPath;
|
|
return;
|
|
}
|
|
replay = task.treeContext;
|
|
replayNodes = children.length;
|
|
if (null !== task.replay && (j = task.replay.slots, null !== j && "object" === typeof j)) {
|
|
for (childIndex = 0; childIndex < replayNodes; childIndex++) node = children[childIndex], task.treeContext = pushTreeContext(replay, replayNodes, childIndex), boundary = j[childIndex], "number" === typeof boundary ? (resumeNode(request, task, boundary, node, childIndex), delete j[childIndex]) : renderNode(request, task, node, childIndex);
|
|
task.treeContext = replay;
|
|
task.keyPath = prevKeyPath;
|
|
return;
|
|
}
|
|
for (j = 0; j < replayNodes; j++) childIndex = children[j], task.treeContext = pushTreeContext(replay, replayNodes, j), renderNode(request, task, childIndex, j);
|
|
task.treeContext = replay;
|
|
task.keyPath = prevKeyPath;
|
|
}
|
|
function trackPostponedBoundary(request, trackedPostpones, boundary) {
|
|
boundary.status = 5;
|
|
boundary.rootSegmentID = request.nextSegmentId++;
|
|
request = boundary.trackedContentKeyPath;
|
|
if (null === request) throw Error(formatProdErrorMessage(486));
|
|
var fallbackReplayNode = boundary.trackedFallbackNode, children = [], boundaryNode = trackedPostpones.workingMap.get(request);
|
|
if (void 0 === boundaryNode) return boundary = [
|
|
request[1],
|
|
request[2],
|
|
children,
|
|
null,
|
|
fallbackReplayNode,
|
|
boundary.rootSegmentID
|
|
], trackedPostpones.workingMap.set(request, boundary), addToReplayParent(boundary, request[0], trackedPostpones), boundary;
|
|
boundaryNode[4] = fallbackReplayNode;
|
|
boundaryNode[5] = boundary.rootSegmentID;
|
|
return boundaryNode;
|
|
}
|
|
function trackPostpone(request, trackedPostpones, task, segment) {
|
|
segment.status = 5;
|
|
var keyPath = task.keyPath, boundary = task.blockedBoundary;
|
|
if (null === boundary) segment.id = request.nextSegmentId++, trackedPostpones.rootSlots = segment.id, null !== request.completedRootSegment && (request.completedRootSegment.status = 5);
|
|
else {
|
|
if (null !== boundary && 0 === boundary.status) {
|
|
var boundaryNode = trackPostponedBoundary(request, trackedPostpones, boundary);
|
|
if (boundary.trackedContentKeyPath === keyPath && -1 === task.childIndex) {
|
|
-1 === segment.id && (segment.id = segment.parentFlushed ? boundary.rootSegmentID : request.nextSegmentId++);
|
|
boundaryNode[3] = segment.id;
|
|
return;
|
|
}
|
|
}
|
|
-1 === segment.id && (segment.id = segment.parentFlushed && null !== boundary ? boundary.rootSegmentID : request.nextSegmentId++);
|
|
if (-1 === task.childIndex) null === keyPath ? trackedPostpones.rootSlots = segment.id : (task = trackedPostpones.workingMap.get(keyPath), void 0 === task ? (task = [
|
|
keyPath[1],
|
|
keyPath[2],
|
|
[],
|
|
segment.id
|
|
], addToReplayParent(task, keyPath[0], trackedPostpones)) : task[3] = segment.id);
|
|
else {
|
|
if (null === keyPath) if (request = trackedPostpones.rootSlots, null === request) request = trackedPostpones.rootSlots = {};
|
|
else {
|
|
if ("number" === typeof request) throw Error(formatProdErrorMessage(491));
|
|
}
|
|
else if (boundary = trackedPostpones.workingMap, boundaryNode = boundary.get(keyPath), void 0 === boundaryNode) request = {}, boundaryNode = [
|
|
keyPath[1],
|
|
keyPath[2],
|
|
[],
|
|
request
|
|
], boundary.set(keyPath, boundaryNode), addToReplayParent(boundaryNode, keyPath[0], trackedPostpones);
|
|
else if (request = boundaryNode[3], null === request) request = boundaryNode[3] = {};
|
|
else if ("number" === typeof request) throw Error(formatProdErrorMessage(491));
|
|
request[task.childIndex] = segment.id;
|
|
}
|
|
}
|
|
}
|
|
function untrackBoundary(request, boundary) {
|
|
request = request.trackedPostpones;
|
|
null !== request && (boundary = boundary.trackedContentKeyPath, null !== boundary && (boundary = request.workingMap.get(boundary), void 0 !== boundary && (boundary.length = 4, boundary[2] = [], boundary[3] = null)));
|
|
}
|
|
function spawnNewSuspendedReplayTask(request, task, thenableState2) {
|
|
return createReplayTask(request, thenableState2, task.replay, task.node, task.childIndex, task.blockedBoundary, task.hoistableState, task.abortSet, task.keyPath, task.formatContext, task.context, task.treeContext, task.row, task.componentStack);
|
|
}
|
|
function spawnNewSuspendedRenderTask(request, task, thenableState2) {
|
|
var segment = task.blockedSegment, newSegment = createPendingSegment(request, segment.chunks.length, null, task.formatContext, segment.lastPushedText, true);
|
|
segment.children.push(newSegment);
|
|
segment.lastPushedText = false;
|
|
return createRenderTask(request, thenableState2, task.node, task.childIndex, task.blockedBoundary, newSegment, task.blockedPreamble, task.hoistableState, task.abortSet, task.keyPath, task.formatContext, task.context, task.treeContext, task.row, task.componentStack);
|
|
}
|
|
function renderNode(request, task, node, childIndex) {
|
|
var previousFormatContext = task.formatContext, previousContext = task.context, previousKeyPath = task.keyPath, previousTreeContext = task.treeContext, previousComponentStack = task.componentStack, segment = task.blockedSegment;
|
|
if (null === segment) {
|
|
segment = task.replay;
|
|
try {
|
|
return renderNodeDestructive(request, task, node, childIndex);
|
|
} catch (thrownValue) {
|
|
if (resetHooksState(), node = thrownValue === SuspenseException ? getSuspendedThenable() : thrownValue, 12 !== request.status && "object" === typeof node && null !== node) {
|
|
if ("function" === typeof node.then) {
|
|
childIndex = thrownValue === SuspenseException ? getThenableStateAfterSuspending() : null;
|
|
request = spawnNewSuspendedReplayTask(request, task, childIndex).ping;
|
|
node.then(request, request);
|
|
task.formatContext = previousFormatContext;
|
|
task.context = previousContext;
|
|
task.keyPath = previousKeyPath;
|
|
task.treeContext = previousTreeContext;
|
|
task.componentStack = previousComponentStack;
|
|
task.replay = segment;
|
|
switchContext(previousContext);
|
|
return;
|
|
}
|
|
if ("Maximum call stack size exceeded" === node.message) {
|
|
node = thrownValue === SuspenseException ? getThenableStateAfterSuspending() : null;
|
|
node = spawnNewSuspendedReplayTask(request, task, node);
|
|
request.pingedTasks.push(node);
|
|
task.formatContext = previousFormatContext;
|
|
task.context = previousContext;
|
|
task.keyPath = previousKeyPath;
|
|
task.treeContext = previousTreeContext;
|
|
task.componentStack = previousComponentStack;
|
|
task.replay = segment;
|
|
switchContext(previousContext);
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
var childrenLength = segment.children.length, chunkLength = segment.chunks.length;
|
|
try {
|
|
return renderNodeDestructive(request, task, node, childIndex);
|
|
} catch (thrownValue$62) {
|
|
if (resetHooksState(), segment.children.length = childrenLength, segment.chunks.length = chunkLength, node = thrownValue$62 === SuspenseException ? getSuspendedThenable() : thrownValue$62, 12 !== request.status && "object" === typeof node && null !== node) {
|
|
if ("function" === typeof node.then) {
|
|
segment = node;
|
|
node = thrownValue$62 === SuspenseException ? getThenableStateAfterSuspending() : null;
|
|
request = spawnNewSuspendedRenderTask(request, task, node).ping;
|
|
segment.then(request, request);
|
|
task.formatContext = previousFormatContext;
|
|
task.context = previousContext;
|
|
task.keyPath = previousKeyPath;
|
|
task.treeContext = previousTreeContext;
|
|
task.componentStack = previousComponentStack;
|
|
switchContext(previousContext);
|
|
return;
|
|
}
|
|
if ("Maximum call stack size exceeded" === node.message) {
|
|
segment = thrownValue$62 === SuspenseException ? getThenableStateAfterSuspending() : null;
|
|
segment = spawnNewSuspendedRenderTask(request, task, segment);
|
|
request.pingedTasks.push(segment);
|
|
task.formatContext = previousFormatContext;
|
|
task.context = previousContext;
|
|
task.keyPath = previousKeyPath;
|
|
task.treeContext = previousTreeContext;
|
|
task.componentStack = previousComponentStack;
|
|
switchContext(previousContext);
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
task.formatContext = previousFormatContext;
|
|
task.context = previousContext;
|
|
task.keyPath = previousKeyPath;
|
|
task.treeContext = previousTreeContext;
|
|
switchContext(previousContext);
|
|
throw node;
|
|
}
|
|
function abortTaskSoft(task) {
|
|
var boundary = task.blockedBoundary, segment = task.blockedSegment;
|
|
null !== segment && (segment.status = 3, finishedTask(this, boundary, task.row, segment));
|
|
}
|
|
function abortRemainingReplayNodes(request$jscomp$0, boundary, nodes, slots, error, errorDigest$jscomp$0) {
|
|
for (var i = 0; i < nodes.length; i++) {
|
|
var node = nodes[i];
|
|
if (4 === node.length) abortRemainingReplayNodes(request$jscomp$0, boundary, node[2], node[3], error, errorDigest$jscomp$0);
|
|
else {
|
|
node = node[5];
|
|
var request = request$jscomp$0, errorDigest = errorDigest$jscomp$0, resumedBoundary = createSuspenseBoundary(request, null, /* @__PURE__ */ new Set(), null, null);
|
|
resumedBoundary.parentFlushed = true;
|
|
resumedBoundary.rootSegmentID = node;
|
|
resumedBoundary.status = 4;
|
|
resumedBoundary.errorDigest = errorDigest;
|
|
resumedBoundary.parentFlushed && request.clientRenderedBoundaries.push(resumedBoundary);
|
|
}
|
|
}
|
|
nodes.length = 0;
|
|
if (null !== slots) {
|
|
if (null === boundary) throw Error(formatProdErrorMessage(487));
|
|
4 !== boundary.status && (boundary.status = 4, boundary.errorDigest = errorDigest$jscomp$0, boundary.parentFlushed && request$jscomp$0.clientRenderedBoundaries.push(boundary));
|
|
if ("object" === typeof slots) for (var index in slots) delete slots[index];
|
|
}
|
|
}
|
|
function abortTask(task, request, error) {
|
|
var boundary = task.blockedBoundary, segment = task.blockedSegment;
|
|
if (null !== segment) {
|
|
if (6 === segment.status) return;
|
|
segment.status = 3;
|
|
}
|
|
var errorInfo = getThrownInfo(task.componentStack);
|
|
if (null === boundary) {
|
|
if (13 !== request.status && 14 !== request.status) {
|
|
boundary = task.replay;
|
|
if (null === boundary) {
|
|
null !== request.trackedPostpones && null !== segment ? (boundary = request.trackedPostpones, logRecoverableError(request, error, errorInfo), trackPostpone(request, boundary, task, segment), finishedTask(request, null, task.row, segment)) : (logRecoverableError(request, error, errorInfo), fatalError(request, error));
|
|
return;
|
|
}
|
|
boundary.pendingTasks--;
|
|
0 === boundary.pendingTasks && 0 < boundary.nodes.length && (segment = logRecoverableError(request, error, errorInfo), abortRemainingReplayNodes(request, null, boundary.nodes, boundary.slots, error, segment));
|
|
request.pendingRootTasks--;
|
|
0 === request.pendingRootTasks && completeShell(request);
|
|
}
|
|
} else {
|
|
var trackedPostpones$63 = request.trackedPostpones;
|
|
if (4 !== boundary.status) {
|
|
if (null !== trackedPostpones$63 && null !== segment) return logRecoverableError(request, error, errorInfo), trackPostpone(request, trackedPostpones$63, task, segment), boundary.fallbackAbortableTasks.forEach(function(fallbackTask) {
|
|
return abortTask(fallbackTask, request, error);
|
|
}), boundary.fallbackAbortableTasks.clear(), finishedTask(request, boundary, task.row, segment);
|
|
boundary.status = 4;
|
|
segment = logRecoverableError(request, error, errorInfo);
|
|
boundary.status = 4;
|
|
boundary.errorDigest = segment;
|
|
untrackBoundary(request, boundary);
|
|
boundary.parentFlushed && request.clientRenderedBoundaries.push(boundary);
|
|
}
|
|
boundary.pendingTasks--;
|
|
segment = boundary.row;
|
|
null !== segment && 0 === --segment.pendingTasks && finishSuspenseListRow(request, segment);
|
|
boundary.fallbackAbortableTasks.forEach(function(fallbackTask) {
|
|
return abortTask(fallbackTask, request, error);
|
|
});
|
|
boundary.fallbackAbortableTasks.clear();
|
|
}
|
|
task = task.row;
|
|
null !== task && 0 === --task.pendingTasks && finishSuspenseListRow(request, task);
|
|
request.allPendingTasks--;
|
|
0 === request.allPendingTasks && completeAll(request);
|
|
}
|
|
function safelyEmitEarlyPreloads(request, shellComplete) {
|
|
try {
|
|
var renderState = request.renderState, onHeaders = renderState.onHeaders;
|
|
if (onHeaders) {
|
|
var headers = renderState.headers;
|
|
if (headers) {
|
|
renderState.headers = null;
|
|
var linkHeader = headers.preconnects;
|
|
headers.fontPreloads && (linkHeader && (linkHeader += ", "), linkHeader += headers.fontPreloads);
|
|
headers.highImagePreloads && (linkHeader && (linkHeader += ", "), linkHeader += headers.highImagePreloads);
|
|
if (!shellComplete) {
|
|
var queueIter = renderState.styles.values(), queueStep = queueIter.next();
|
|
b: for (; 0 < headers.remainingCapacity && !queueStep.done; queueStep = queueIter.next()) for (var sheetIter = queueStep.value.sheets.values(), sheetStep = sheetIter.next(); 0 < headers.remainingCapacity && !sheetStep.done; sheetStep = sheetIter.next()) {
|
|
var sheet = sheetStep.value, props = sheet.props, key = props.href, props$jscomp$0 = sheet.props, header = getPreloadAsHeader(props$jscomp$0.href, "style", {
|
|
crossOrigin: props$jscomp$0.crossOrigin,
|
|
integrity: props$jscomp$0.integrity,
|
|
nonce: props$jscomp$0.nonce,
|
|
type: props$jscomp$0.type,
|
|
fetchPriority: props$jscomp$0.fetchPriority,
|
|
referrerPolicy: props$jscomp$0.referrerPolicy,
|
|
media: props$jscomp$0.media
|
|
});
|
|
if (0 <= (headers.remainingCapacity -= header.length + 2)) renderState.resets.style[key] = PRELOAD_NO_CREDS, linkHeader && (linkHeader += ", "), linkHeader += header, renderState.resets.style[key] = "string" === typeof props.crossOrigin || "string" === typeof props.integrity ? [
|
|
props.crossOrigin,
|
|
props.integrity
|
|
] : PRELOAD_NO_CREDS;
|
|
else break b;
|
|
}
|
|
}
|
|
linkHeader ? onHeaders({
|
|
Link: linkHeader
|
|
}) : onHeaders({});
|
|
}
|
|
}
|
|
} catch (error) {
|
|
logRecoverableError(request, error, {});
|
|
}
|
|
}
|
|
function completeShell(request) {
|
|
null === request.trackedPostpones && safelyEmitEarlyPreloads(request, true);
|
|
null === request.trackedPostpones && preparePreamble(request);
|
|
request.onShellError = noop;
|
|
request = request.onShellReady;
|
|
request();
|
|
}
|
|
function completeAll(request) {
|
|
safelyEmitEarlyPreloads(request, null === request.trackedPostpones ? true : null === request.completedRootSegment || 5 !== request.completedRootSegment.status);
|
|
preparePreamble(request);
|
|
request = request.onAllReady;
|
|
request();
|
|
}
|
|
function queueCompletedSegment(boundary, segment) {
|
|
if (0 === segment.chunks.length && 1 === segment.children.length && null === segment.children[0].boundary && -1 === segment.children[0].id) {
|
|
var childSegment = segment.children[0];
|
|
childSegment.id = segment.id;
|
|
childSegment.parentFlushed = true;
|
|
1 !== childSegment.status && 3 !== childSegment.status && 4 !== childSegment.status || queueCompletedSegment(boundary, childSegment);
|
|
} else boundary.completedSegments.push(segment);
|
|
}
|
|
function finishedTask(request, boundary, row, segment) {
|
|
null !== row && (0 === --row.pendingTasks ? finishSuspenseListRow(request, row) : row.together && tryToResolveTogetherRow(request, row));
|
|
request.allPendingTasks--;
|
|
if (null === boundary) {
|
|
if (null !== segment && segment.parentFlushed) {
|
|
if (null !== request.completedRootSegment) throw Error(formatProdErrorMessage(389));
|
|
request.completedRootSegment = segment;
|
|
}
|
|
request.pendingRootTasks--;
|
|
0 === request.pendingRootTasks && completeShell(request);
|
|
} else if (boundary.pendingTasks--, 4 !== boundary.status) if (0 === boundary.pendingTasks) if (0 === boundary.status && (boundary.status = 1), null !== segment && segment.parentFlushed && (1 === segment.status || 3 === segment.status) && queueCompletedSegment(boundary, segment), boundary.parentFlushed && request.completedBoundaries.push(boundary), 1 === boundary.status) row = boundary.row, null !== row && hoistHoistables(row.hoistables, boundary.contentState), isEligibleForOutlining(request, boundary) || (boundary.fallbackAbortableTasks.forEach(abortTaskSoft, request), boundary.fallbackAbortableTasks.clear(), null !== row && 0 === --row.pendingTasks && finishSuspenseListRow(request, row)), 0 === request.pendingRootTasks && null === request.trackedPostpones && null !== boundary.contentPreamble && preparePreamble(request);
|
|
else {
|
|
if (5 === boundary.status && (boundary = boundary.row, null !== boundary)) {
|
|
if (null !== request.trackedPostpones) {
|
|
row = request.trackedPostpones;
|
|
var postponedRow = boundary.next;
|
|
if (null !== postponedRow && (segment = postponedRow.boundaries, null !== segment)) for (postponedRow.boundaries = null, postponedRow = 0; postponedRow < segment.length; postponedRow++) {
|
|
var postponedBoundary = segment[postponedRow];
|
|
trackPostponedBoundary(request, row, postponedBoundary);
|
|
finishedTask(request, postponedBoundary, null, null);
|
|
}
|
|
}
|
|
0 === --boundary.pendingTasks && finishSuspenseListRow(request, boundary);
|
|
}
|
|
}
|
|
else null === segment || !segment.parentFlushed || 1 !== segment.status && 3 !== segment.status || (queueCompletedSegment(boundary, segment), 1 === boundary.completedSegments.length && boundary.parentFlushed && request.partialBoundaries.push(boundary)), boundary = boundary.row, null !== boundary && boundary.together && tryToResolveTogetherRow(request, boundary);
|
|
0 === request.allPendingTasks && completeAll(request);
|
|
}
|
|
function performWork(request$jscomp$2) {
|
|
if (14 !== request$jscomp$2.status && 13 !== request$jscomp$2.status) {
|
|
var prevContext = currentActiveSnapshot, prevDispatcher = ReactSharedInternals.H;
|
|
ReactSharedInternals.H = HooksDispatcher;
|
|
var prevAsyncDispatcher = ReactSharedInternals.A;
|
|
ReactSharedInternals.A = DefaultAsyncDispatcher;
|
|
var prevRequest = currentRequest;
|
|
currentRequest = request$jscomp$2;
|
|
var prevResumableState = currentResumableState;
|
|
currentResumableState = request$jscomp$2.resumableState;
|
|
try {
|
|
var pingedTasks = request$jscomp$2.pingedTasks, i;
|
|
for (i = 0; i < pingedTasks.length; i++) {
|
|
var task = pingedTasks[i], request = request$jscomp$2, segment = task.blockedSegment;
|
|
if (null === segment) {
|
|
var request$jscomp$0 = request;
|
|
if (0 !== task.replay.pendingTasks) {
|
|
switchContext(task.context);
|
|
try {
|
|
"number" === typeof task.replay.slots ? resumeNode(request$jscomp$0, task, task.replay.slots, task.node, task.childIndex) : retryNode(request$jscomp$0, task);
|
|
if (1 === task.replay.pendingTasks && 0 < task.replay.nodes.length) throw Error(formatProdErrorMessage(488));
|
|
task.replay.pendingTasks--;
|
|
task.abortSet.delete(task);
|
|
finishedTask(request$jscomp$0, task.blockedBoundary, task.row, null);
|
|
} catch (thrownValue) {
|
|
resetHooksState();
|
|
var x = thrownValue === SuspenseException ? getSuspendedThenable() : thrownValue;
|
|
if ("object" === typeof x && null !== x && "function" === typeof x.then) {
|
|
var ping = task.ping;
|
|
x.then(ping, ping);
|
|
task.thenableState = thrownValue === SuspenseException ? getThenableStateAfterSuspending() : null;
|
|
} else {
|
|
task.replay.pendingTasks--;
|
|
task.abortSet.delete(task);
|
|
var errorInfo = getThrownInfo(task.componentStack);
|
|
request = void 0;
|
|
var request$jscomp$1 = request$jscomp$0, boundary = task.blockedBoundary, error$jscomp$0 = 12 === request$jscomp$0.status ? request$jscomp$0.fatalError : x, replayNodes = task.replay.nodes, resumeSlots = task.replay.slots;
|
|
request = logRecoverableError(request$jscomp$1, error$jscomp$0, errorInfo);
|
|
abortRemainingReplayNodes(request$jscomp$1, boundary, replayNodes, resumeSlots, error$jscomp$0, request);
|
|
request$jscomp$0.pendingRootTasks--;
|
|
0 === request$jscomp$0.pendingRootTasks && completeShell(request$jscomp$0);
|
|
request$jscomp$0.allPendingTasks--;
|
|
0 === request$jscomp$0.allPendingTasks && completeAll(request$jscomp$0);
|
|
}
|
|
} finally {
|
|
}
|
|
}
|
|
} else if (request$jscomp$0 = void 0, request$jscomp$1 = segment, 0 === request$jscomp$1.status) {
|
|
request$jscomp$1.status = 6;
|
|
switchContext(task.context);
|
|
var childrenLength = request$jscomp$1.children.length, chunkLength = request$jscomp$1.chunks.length;
|
|
try {
|
|
retryNode(request, task), pushSegmentFinale(request$jscomp$1.chunks, request.renderState, request$jscomp$1.lastPushedText, request$jscomp$1.textEmbedded), task.abortSet.delete(task), request$jscomp$1.status = 1, finishedTask(request, task.blockedBoundary, task.row, request$jscomp$1);
|
|
} catch (thrownValue) {
|
|
resetHooksState();
|
|
request$jscomp$1.children.length = childrenLength;
|
|
request$jscomp$1.chunks.length = chunkLength;
|
|
var x$jscomp$0 = thrownValue === SuspenseException ? getSuspendedThenable() : 12 === request.status ? request.fatalError : thrownValue;
|
|
if (12 === request.status && null !== request.trackedPostpones) {
|
|
var trackedPostpones = request.trackedPostpones, thrownInfo = getThrownInfo(task.componentStack);
|
|
task.abortSet.delete(task);
|
|
logRecoverableError(request, x$jscomp$0, thrownInfo);
|
|
trackPostpone(request, trackedPostpones, task, request$jscomp$1);
|
|
finishedTask(request, task.blockedBoundary, task.row, request$jscomp$1);
|
|
} else if ("object" === typeof x$jscomp$0 && null !== x$jscomp$0 && "function" === typeof x$jscomp$0.then) {
|
|
request$jscomp$1.status = 0;
|
|
task.thenableState = thrownValue === SuspenseException ? getThenableStateAfterSuspending() : null;
|
|
var ping$jscomp$0 = task.ping;
|
|
x$jscomp$0.then(ping$jscomp$0, ping$jscomp$0);
|
|
} else {
|
|
var errorInfo$jscomp$0 = getThrownInfo(task.componentStack);
|
|
task.abortSet.delete(task);
|
|
request$jscomp$1.status = 4;
|
|
var boundary$jscomp$0 = task.blockedBoundary, row = task.row;
|
|
null !== row && 0 === --row.pendingTasks && finishSuspenseListRow(request, row);
|
|
request.allPendingTasks--;
|
|
request$jscomp$0 = logRecoverableError(request, x$jscomp$0, errorInfo$jscomp$0);
|
|
if (null === boundary$jscomp$0) fatalError(request, x$jscomp$0);
|
|
else if (boundary$jscomp$0.pendingTasks--, 4 !== boundary$jscomp$0.status) {
|
|
boundary$jscomp$0.status = 4;
|
|
boundary$jscomp$0.errorDigest = request$jscomp$0;
|
|
untrackBoundary(request, boundary$jscomp$0);
|
|
var boundaryRow = boundary$jscomp$0.row;
|
|
null !== boundaryRow && 0 === --boundaryRow.pendingTasks && finishSuspenseListRow(request, boundaryRow);
|
|
boundary$jscomp$0.parentFlushed && request.clientRenderedBoundaries.push(boundary$jscomp$0);
|
|
0 === request.pendingRootTasks && null === request.trackedPostpones && null !== boundary$jscomp$0.contentPreamble && preparePreamble(request);
|
|
}
|
|
0 === request.allPendingTasks && completeAll(request);
|
|
}
|
|
} finally {
|
|
}
|
|
}
|
|
}
|
|
pingedTasks.splice(0, i);
|
|
null !== request$jscomp$2.destination && flushCompletedQueues(request$jscomp$2, request$jscomp$2.destination);
|
|
} catch (error) {
|
|
logRecoverableError(request$jscomp$2, error, {}), fatalError(request$jscomp$2, error);
|
|
} finally {
|
|
currentResumableState = prevResumableState, ReactSharedInternals.H = prevDispatcher, ReactSharedInternals.A = prevAsyncDispatcher, prevDispatcher === HooksDispatcher && switchContext(prevContext), currentRequest = prevRequest;
|
|
}
|
|
}
|
|
}
|
|
function preparePreambleFromSubtree(request, segment, collectedPreambleSegments) {
|
|
segment.preambleChildren.length && collectedPreambleSegments.push(segment.preambleChildren);
|
|
for (var pendingPreambles = false, i = 0; i < segment.children.length; i++) pendingPreambles = preparePreambleFromSegment(request, segment.children[i], collectedPreambleSegments) || pendingPreambles;
|
|
return pendingPreambles;
|
|
}
|
|
function preparePreambleFromSegment(request, segment, collectedPreambleSegments) {
|
|
var boundary = segment.boundary;
|
|
if (null === boundary) return preparePreambleFromSubtree(request, segment, collectedPreambleSegments);
|
|
var preamble = boundary.contentPreamble, fallbackPreamble = boundary.fallbackPreamble;
|
|
if (null === preamble || null === fallbackPreamble) return false;
|
|
switch (boundary.status) {
|
|
case 1:
|
|
hoistPreambleState(request.renderState, preamble);
|
|
request.byteSize += boundary.byteSize;
|
|
segment = boundary.completedSegments[0];
|
|
if (!segment) throw Error(formatProdErrorMessage(391));
|
|
return preparePreambleFromSubtree(request, segment, collectedPreambleSegments);
|
|
case 5:
|
|
if (null !== request.trackedPostpones) return true;
|
|
case 4:
|
|
if (1 === segment.status) return hoistPreambleState(request.renderState, fallbackPreamble), preparePreambleFromSubtree(request, segment, collectedPreambleSegments);
|
|
default:
|
|
return true;
|
|
}
|
|
}
|
|
function preparePreamble(request) {
|
|
if (request.completedRootSegment && null === request.completedPreambleSegments) {
|
|
var collectedPreambleSegments = [], originalRequestByteSize = request.byteSize, hasPendingPreambles = preparePreambleFromSegment(request, request.completedRootSegment, collectedPreambleSegments), preamble = request.renderState.preamble;
|
|
false === hasPendingPreambles || preamble.headChunks && preamble.bodyChunks ? request.completedPreambleSegments = collectedPreambleSegments : request.byteSize = originalRequestByteSize;
|
|
}
|
|
}
|
|
function flushSubtree(request, destination, segment, hoistableState) {
|
|
segment.parentFlushed = true;
|
|
switch (segment.status) {
|
|
case 0:
|
|
segment.id = request.nextSegmentId++;
|
|
case 5:
|
|
return hoistableState = segment.id, segment.lastPushedText = false, segment.textEmbedded = false, request = request.renderState, destination.push('<template id="'), destination.push(request.placeholderPrefix), request = hoistableState.toString(16), destination.push(request), destination.push('"></template>');
|
|
case 1:
|
|
segment.status = 2;
|
|
var r = true, chunks = segment.chunks, chunkIdx = 0;
|
|
segment = segment.children;
|
|
for (var childIdx = 0; childIdx < segment.length; childIdx++) {
|
|
for (r = segment[childIdx]; chunkIdx < r.index; chunkIdx++) destination.push(chunks[chunkIdx]);
|
|
r = flushSegment(request, destination, r, hoistableState);
|
|
}
|
|
for (; chunkIdx < chunks.length - 1; chunkIdx++) destination.push(chunks[chunkIdx]);
|
|
chunkIdx < chunks.length && (r = destination.push(chunks[chunkIdx]));
|
|
return r;
|
|
case 3:
|
|
return true;
|
|
default:
|
|
throw Error(formatProdErrorMessage(390));
|
|
}
|
|
}
|
|
var flushedByteSize = 0;
|
|
function flushSegment(request, destination, segment, hoistableState) {
|
|
var boundary = segment.boundary;
|
|
if (null === boundary) return flushSubtree(request, destination, segment, hoistableState);
|
|
boundary.parentFlushed = true;
|
|
if (4 === boundary.status) {
|
|
var row = boundary.row;
|
|
null !== row && 0 === --row.pendingTasks && finishSuspenseListRow(request, row);
|
|
request.renderState.generateStaticMarkup || (boundary = boundary.errorDigest, destination.push("<!--$!-->"), destination.push("<template"), boundary && (destination.push(' data-dgst="'), boundary = escapeTextForBrowser(boundary), destination.push(boundary), destination.push('"')), destination.push("></template>"));
|
|
flushSubtree(request, destination, segment, hoistableState);
|
|
request = request.renderState.generateStaticMarkup ? true : destination.push("<!--/$-->");
|
|
return request;
|
|
}
|
|
if (1 !== boundary.status) return 0 === boundary.status && (boundary.rootSegmentID = request.nextSegmentId++), 0 < boundary.completedSegments.length && request.partialBoundaries.push(boundary), writeStartPendingSuspenseBoundary(destination, request.renderState, boundary.rootSegmentID), hoistableState && hoistHoistables(hoistableState, boundary.fallbackState), flushSubtree(request, destination, segment, hoistableState), destination.push("<!--/$-->");
|
|
if (!flushingPartialBoundaries && isEligibleForOutlining(request, boundary) && flushedByteSize + boundary.byteSize > request.progressiveChunkSize) return boundary.rootSegmentID = request.nextSegmentId++, request.completedBoundaries.push(boundary), writeStartPendingSuspenseBoundary(destination, request.renderState, boundary.rootSegmentID), flushSubtree(request, destination, segment, hoistableState), destination.push("<!--/$-->");
|
|
flushedByteSize += boundary.byteSize;
|
|
hoistableState && hoistHoistables(hoistableState, boundary.contentState);
|
|
segment = boundary.row;
|
|
null !== segment && isEligibleForOutlining(request, boundary) && 0 === --segment.pendingTasks && finishSuspenseListRow(request, segment);
|
|
request.renderState.generateStaticMarkup || destination.push("<!--$-->");
|
|
segment = boundary.completedSegments;
|
|
if (1 !== segment.length) throw Error(formatProdErrorMessage(391));
|
|
flushSegment(request, destination, segment[0], hoistableState);
|
|
request = request.renderState.generateStaticMarkup ? true : destination.push("<!--/$-->");
|
|
return request;
|
|
}
|
|
function flushSegmentContainer(request, destination, segment, hoistableState) {
|
|
writeStartSegment(destination, request.renderState, segment.parentFormatContext, segment.id);
|
|
flushSegment(request, destination, segment, hoistableState);
|
|
return writeEndSegment(destination, segment.parentFormatContext);
|
|
}
|
|
function flushCompletedBoundary(request, destination, boundary) {
|
|
flushedByteSize = boundary.byteSize;
|
|
for (var completedSegments = boundary.completedSegments, i = 0; i < completedSegments.length; i++) flushPartiallyCompletedSegment(request, destination, boundary, completedSegments[i]);
|
|
completedSegments.length = 0;
|
|
completedSegments = boundary.row;
|
|
null !== completedSegments && isEligibleForOutlining(request, boundary) && 0 === --completedSegments.pendingTasks && finishSuspenseListRow(request, completedSegments);
|
|
writeHoistablesForBoundary(destination, boundary.contentState, request.renderState);
|
|
completedSegments = request.resumableState;
|
|
request = request.renderState;
|
|
i = boundary.rootSegmentID;
|
|
boundary = boundary.contentState;
|
|
var requiresStyleInsertion = request.stylesToHoist;
|
|
request.stylesToHoist = false;
|
|
destination.push(request.startInlineScript);
|
|
destination.push(">");
|
|
requiresStyleInsertion ? (0 === (completedSegments.instructions & 4) && (completedSegments.instructions |= 4, destination.push('$RX=function(b,c,d,e,f){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data="$!",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),f&&(a.cstck=f),b._reactRetry&&b._reactRetry())};')), 0 === (completedSegments.instructions & 2) && (completedSegments.instructions |= 2, destination.push('$RB=[];$RV=function(a){$RT=performance.now();for(var b=0;b<a.length;b+=2){var c=a[b],e=a[b+1];null!==e.parentNode&&e.parentNode.removeChild(e);var f=c.parentNode;if(f){var g=c.previousSibling,h=0;do{if(c&&8===c.nodeType){var d=c.data;if("/$"===d||"/&"===d)if(0===h)break;else h--;else"$"!==d&&"$?"!==d&&"$~"!==d&&"$!"!==d&&"&"!==d||h++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data="$";g._reactRetry&&requestAnimationFrame(g._reactRetry)}}a.length=0};\n$RC=function(a,b){if(b=document.getElementById(b))(a=document.getElementById(a))?(a.previousSibling.data="$~",$RB.push(a,b),2===$RB.length&&("number"!==typeof $RT?requestAnimationFrame($RV.bind(null,$RB)):(a=performance.now(),setTimeout($RV.bind(null,$RB),2300>a&&2E3<a?2300-a:$RT+300-a)))):b.parentNode.removeChild(b)};')), 0 === (completedSegments.instructions & 8) ? (completedSegments.instructions |= 8, destination.push('$RM=new Map;$RR=function(n,w,p){function u(q){this._p=null;q()}for(var r=new Map,t=document,h,b,e=t.querySelectorAll("link[data-precedence],style[data-precedence]"),v=[],k=0;b=e[k++];)"not all"===b.getAttribute("media")?v.push(b):("LINK"===b.tagName&&$RM.set(b.getAttribute("href"),b),r.set(b.dataset.precedence,h=b));e=0;b=[];var l,a;for(k=!0;;){if(k){var f=p[e++];if(!f){k=!1;e=0;continue}var c=!1,m=0;var d=f[m++];if(a=$RM.get(d)){var g=a._p;c=!0}else{a=t.createElement("link");a.href=d;a.rel=\n"stylesheet";for(a.dataset.precedence=l=f[m++];g=f[m++];)a.setAttribute(g,f[m++]);g=a._p=new Promise(function(q,x){a.onload=u.bind(a,q);a.onerror=u.bind(a,x)});$RM.set(d,a)}d=a.getAttribute("media");!g||d&&!matchMedia(d).matches||b.push(g);if(c)continue}else{a=v[e++];if(!a)break;l=a.getAttribute("data-precedence");a.removeAttribute("media")}c=r.get(l)||h;c===h&&(h=a);r.set(l,a);c?c.parentNode.insertBefore(a,c.nextSibling):(c=t.head,c.insertBefore(a,c.firstChild))}if(p=document.getElementById(n))p.previousSibling.data=\n"$~";Promise.all(b).then($RC.bind(null,n,w),$RX.bind(null,n,"CSS failed to load"))};$RR("')) : destination.push('$RR("')) : (0 === (completedSegments.instructions & 2) && (completedSegments.instructions |= 2, destination.push('$RB=[];$RV=function(a){$RT=performance.now();for(var b=0;b<a.length;b+=2){var c=a[b],e=a[b+1];null!==e.parentNode&&e.parentNode.removeChild(e);var f=c.parentNode;if(f){var g=c.previousSibling,h=0;do{if(c&&8===c.nodeType){var d=c.data;if("/$"===d||"/&"===d)if(0===h)break;else h--;else"$"!==d&&"$?"!==d&&"$~"!==d&&"$!"!==d&&"&"!==d||h++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data="$";g._reactRetry&&requestAnimationFrame(g._reactRetry)}}a.length=0};\n$RC=function(a,b){if(b=document.getElementById(b))(a=document.getElementById(a))?(a.previousSibling.data="$~",$RB.push(a,b),2===$RB.length&&("number"!==typeof $RT?requestAnimationFrame($RV.bind(null,$RB)):(a=performance.now(),setTimeout($RV.bind(null,$RB),2300>a&&2E3<a?2300-a:$RT+300-a)))):b.parentNode.removeChild(b)};')), destination.push('$RC("'));
|
|
completedSegments = i.toString(16);
|
|
destination.push(request.boundaryPrefix);
|
|
destination.push(completedSegments);
|
|
destination.push('","');
|
|
destination.push(request.segmentPrefix);
|
|
destination.push(completedSegments);
|
|
requiresStyleInsertion ? (destination.push('",'), writeStyleResourceDependenciesInJS(destination, boundary)) : destination.push('"');
|
|
boundary = destination.push(")<\/script>");
|
|
return writeBootstrap(destination, request) && boundary;
|
|
}
|
|
function flushPartiallyCompletedSegment(request, destination, boundary, segment) {
|
|
if (2 === segment.status) return true;
|
|
var hoistableState = boundary.contentState, segmentID = segment.id;
|
|
if (-1 === segmentID) {
|
|
if (-1 === (segment.id = boundary.rootSegmentID)) throw Error(formatProdErrorMessage(392));
|
|
return flushSegmentContainer(request, destination, segment, hoistableState);
|
|
}
|
|
if (segmentID === boundary.rootSegmentID) return flushSegmentContainer(request, destination, segment, hoistableState);
|
|
flushSegmentContainer(request, destination, segment, hoistableState);
|
|
boundary = request.resumableState;
|
|
request = request.renderState;
|
|
destination.push(request.startInlineScript);
|
|
destination.push(">");
|
|
0 === (boundary.instructions & 1) ? (boundary.instructions |= 1, destination.push('$RS=function(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS("')) : destination.push('$RS("');
|
|
destination.push(request.segmentPrefix);
|
|
segmentID = segmentID.toString(16);
|
|
destination.push(segmentID);
|
|
destination.push('","');
|
|
destination.push(request.placeholderPrefix);
|
|
destination.push(segmentID);
|
|
destination = destination.push('")<\/script>');
|
|
return destination;
|
|
}
|
|
var flushingPartialBoundaries = false;
|
|
function flushCompletedQueues(request, destination) {
|
|
try {
|
|
if (!(0 < request.pendingRootTasks)) {
|
|
var i, completedRootSegment = request.completedRootSegment;
|
|
if (null !== completedRootSegment) {
|
|
if (5 === completedRootSegment.status) return;
|
|
var completedPreambleSegments = request.completedPreambleSegments;
|
|
if (null === completedPreambleSegments) return;
|
|
flushedByteSize = request.byteSize;
|
|
var resumableState = request.resumableState, renderState = request.renderState, preamble = renderState.preamble, htmlChunks = preamble.htmlChunks, headChunks = preamble.headChunks, i$jscomp$0;
|
|
if (htmlChunks) {
|
|
for (i$jscomp$0 = 0; i$jscomp$0 < htmlChunks.length; i$jscomp$0++) destination.push(htmlChunks[i$jscomp$0]);
|
|
if (headChunks) for (i$jscomp$0 = 0; i$jscomp$0 < headChunks.length; i$jscomp$0++) destination.push(headChunks[i$jscomp$0]);
|
|
else {
|
|
var chunk = startChunkForTag("head");
|
|
destination.push(chunk);
|
|
destination.push(">");
|
|
}
|
|
} else if (headChunks) for (i$jscomp$0 = 0; i$jscomp$0 < headChunks.length; i$jscomp$0++) destination.push(headChunks[i$jscomp$0]);
|
|
var charsetChunks = renderState.charsetChunks;
|
|
for (i$jscomp$0 = 0; i$jscomp$0 < charsetChunks.length; i$jscomp$0++) destination.push(charsetChunks[i$jscomp$0]);
|
|
charsetChunks.length = 0;
|
|
renderState.preconnects.forEach(flushResource, destination);
|
|
renderState.preconnects.clear();
|
|
var viewportChunks = renderState.viewportChunks;
|
|
for (i$jscomp$0 = 0; i$jscomp$0 < viewportChunks.length; i$jscomp$0++) destination.push(viewportChunks[i$jscomp$0]);
|
|
viewportChunks.length = 0;
|
|
renderState.fontPreloads.forEach(flushResource, destination);
|
|
renderState.fontPreloads.clear();
|
|
renderState.highImagePreloads.forEach(flushResource, destination);
|
|
renderState.highImagePreloads.clear();
|
|
currentlyFlushingRenderState = renderState;
|
|
renderState.styles.forEach(flushStylesInPreamble, destination);
|
|
currentlyFlushingRenderState = null;
|
|
var importMapChunks = renderState.importMapChunks;
|
|
for (i$jscomp$0 = 0; i$jscomp$0 < importMapChunks.length; i$jscomp$0++) destination.push(importMapChunks[i$jscomp$0]);
|
|
importMapChunks.length = 0;
|
|
renderState.bootstrapScripts.forEach(flushResource, destination);
|
|
renderState.scripts.forEach(flushResource, destination);
|
|
renderState.scripts.clear();
|
|
renderState.bulkPreloads.forEach(flushResource, destination);
|
|
renderState.bulkPreloads.clear();
|
|
resumableState.instructions |= 32;
|
|
var hoistableChunks = renderState.hoistableChunks;
|
|
for (i$jscomp$0 = 0; i$jscomp$0 < hoistableChunks.length; i$jscomp$0++) destination.push(hoistableChunks[i$jscomp$0]);
|
|
for (resumableState = hoistableChunks.length = 0; resumableState < completedPreambleSegments.length; resumableState++) {
|
|
var segments = completedPreambleSegments[resumableState];
|
|
for (renderState = 0; renderState < segments.length; renderState++) flushSegment(request, destination, segments[renderState], null);
|
|
}
|
|
var preamble$jscomp$0 = request.renderState.preamble, headChunks$jscomp$0 = preamble$jscomp$0.headChunks;
|
|
if (preamble$jscomp$0.htmlChunks || headChunks$jscomp$0) {
|
|
var chunk$jscomp$0 = endChunkForTag("head");
|
|
destination.push(chunk$jscomp$0);
|
|
}
|
|
var bodyChunks = preamble$jscomp$0.bodyChunks;
|
|
if (bodyChunks) for (completedPreambleSegments = 0; completedPreambleSegments < bodyChunks.length; completedPreambleSegments++) destination.push(bodyChunks[completedPreambleSegments]);
|
|
flushSegment(request, destination, completedRootSegment, null);
|
|
request.completedRootSegment = null;
|
|
var renderState$jscomp$0 = request.renderState;
|
|
if (0 !== request.allPendingTasks || 0 !== request.clientRenderedBoundaries.length || 0 !== request.completedBoundaries.length || null !== request.trackedPostpones && (0 !== request.trackedPostpones.rootNodes.length || null !== request.trackedPostpones.rootSlots)) {
|
|
var resumableState$jscomp$0 = request.resumableState;
|
|
if (0 === (resumableState$jscomp$0.instructions & 64)) {
|
|
resumableState$jscomp$0.instructions |= 64;
|
|
destination.push(renderState$jscomp$0.startInlineScript);
|
|
if (0 === (resumableState$jscomp$0.instructions & 32)) {
|
|
resumableState$jscomp$0.instructions |= 32;
|
|
var shellId = "_" + resumableState$jscomp$0.idPrefix + "R_";
|
|
destination.push(' id="');
|
|
var chunk$jscomp$1 = escapeTextForBrowser(shellId);
|
|
destination.push(chunk$jscomp$1);
|
|
destination.push('"');
|
|
}
|
|
destination.push(">");
|
|
destination.push("requestAnimationFrame(function(){$RT=performance.now()});");
|
|
destination.push("<\/script>");
|
|
}
|
|
}
|
|
writeBootstrap(destination, renderState$jscomp$0);
|
|
}
|
|
var renderState$jscomp$1 = request.renderState;
|
|
completedRootSegment = 0;
|
|
var viewportChunks$jscomp$0 = renderState$jscomp$1.viewportChunks;
|
|
for (completedRootSegment = 0; completedRootSegment < viewportChunks$jscomp$0.length; completedRootSegment++) destination.push(viewportChunks$jscomp$0[completedRootSegment]);
|
|
viewportChunks$jscomp$0.length = 0;
|
|
renderState$jscomp$1.preconnects.forEach(flushResource, destination);
|
|
renderState$jscomp$1.preconnects.clear();
|
|
renderState$jscomp$1.fontPreloads.forEach(flushResource, destination);
|
|
renderState$jscomp$1.fontPreloads.clear();
|
|
renderState$jscomp$1.highImagePreloads.forEach(flushResource, destination);
|
|
renderState$jscomp$1.highImagePreloads.clear();
|
|
renderState$jscomp$1.styles.forEach(preloadLateStyles, destination);
|
|
renderState$jscomp$1.scripts.forEach(flushResource, destination);
|
|
renderState$jscomp$1.scripts.clear();
|
|
renderState$jscomp$1.bulkPreloads.forEach(flushResource, destination);
|
|
renderState$jscomp$1.bulkPreloads.clear();
|
|
var hoistableChunks$jscomp$0 = renderState$jscomp$1.hoistableChunks;
|
|
for (completedRootSegment = 0; completedRootSegment < hoistableChunks$jscomp$0.length; completedRootSegment++) destination.push(hoistableChunks$jscomp$0[completedRootSegment]);
|
|
hoistableChunks$jscomp$0.length = 0;
|
|
var clientRenderedBoundaries = request.clientRenderedBoundaries;
|
|
for (i = 0; i < clientRenderedBoundaries.length; i++) {
|
|
var boundary = clientRenderedBoundaries[i];
|
|
renderState$jscomp$1 = destination;
|
|
var resumableState$jscomp$1 = request.resumableState, renderState$jscomp$2 = request.renderState, id = boundary.rootSegmentID, errorDigest = boundary.errorDigest;
|
|
renderState$jscomp$1.push(renderState$jscomp$2.startInlineScript);
|
|
renderState$jscomp$1.push(">");
|
|
0 === (resumableState$jscomp$1.instructions & 4) ? (resumableState$jscomp$1.instructions |= 4, renderState$jscomp$1.push('$RX=function(b,c,d,e,f){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data="$!",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),f&&(a.cstck=f),b._reactRetry&&b._reactRetry())};;$RX("')) : renderState$jscomp$1.push('$RX("');
|
|
renderState$jscomp$1.push(renderState$jscomp$2.boundaryPrefix);
|
|
var chunk$jscomp$2 = id.toString(16);
|
|
renderState$jscomp$1.push(chunk$jscomp$2);
|
|
renderState$jscomp$1.push('"');
|
|
if (errorDigest) {
|
|
renderState$jscomp$1.push(",");
|
|
var chunk$jscomp$3 = escapeJSStringsForInstructionScripts(errorDigest || "");
|
|
renderState$jscomp$1.push(chunk$jscomp$3);
|
|
}
|
|
var JSCompiler_inline_result = renderState$jscomp$1.push(")<\/script>");
|
|
if (!JSCompiler_inline_result) {
|
|
request.destination = null;
|
|
i++;
|
|
clientRenderedBoundaries.splice(0, i);
|
|
return;
|
|
}
|
|
}
|
|
clientRenderedBoundaries.splice(0, i);
|
|
var completedBoundaries = request.completedBoundaries;
|
|
for (i = 0; i < completedBoundaries.length; i++) if (!flushCompletedBoundary(request, destination, completedBoundaries[i])) {
|
|
request.destination = null;
|
|
i++;
|
|
completedBoundaries.splice(0, i);
|
|
return;
|
|
}
|
|
completedBoundaries.splice(0, i);
|
|
flushingPartialBoundaries = true;
|
|
var partialBoundaries = request.partialBoundaries;
|
|
for (i = 0; i < partialBoundaries.length; i++) {
|
|
var boundary$69 = partialBoundaries[i];
|
|
a: {
|
|
clientRenderedBoundaries = request;
|
|
boundary = destination;
|
|
flushedByteSize = boundary$69.byteSize;
|
|
var completedSegments = boundary$69.completedSegments;
|
|
for (JSCompiler_inline_result = 0; JSCompiler_inline_result < completedSegments.length; JSCompiler_inline_result++) if (!flushPartiallyCompletedSegment(clientRenderedBoundaries, boundary, boundary$69, completedSegments[JSCompiler_inline_result])) {
|
|
JSCompiler_inline_result++;
|
|
completedSegments.splice(0, JSCompiler_inline_result);
|
|
var JSCompiler_inline_result$jscomp$0 = false;
|
|
break a;
|
|
}
|
|
completedSegments.splice(0, JSCompiler_inline_result);
|
|
var row = boundary$69.row;
|
|
null !== row && row.together && 1 === boundary$69.pendingTasks && (1 === row.pendingTasks ? unblockSuspenseListRow(clientRenderedBoundaries, row, row.hoistables) : row.pendingTasks--);
|
|
JSCompiler_inline_result$jscomp$0 = writeHoistablesForBoundary(boundary, boundary$69.contentState, clientRenderedBoundaries.renderState);
|
|
}
|
|
if (!JSCompiler_inline_result$jscomp$0) {
|
|
request.destination = null;
|
|
i++;
|
|
partialBoundaries.splice(0, i);
|
|
return;
|
|
}
|
|
}
|
|
partialBoundaries.splice(0, i);
|
|
flushingPartialBoundaries = false;
|
|
var largeBoundaries = request.completedBoundaries;
|
|
for (i = 0; i < largeBoundaries.length; i++) if (!flushCompletedBoundary(request, destination, largeBoundaries[i])) {
|
|
request.destination = null;
|
|
i++;
|
|
largeBoundaries.splice(0, i);
|
|
return;
|
|
}
|
|
largeBoundaries.splice(0, i);
|
|
}
|
|
} finally {
|
|
flushingPartialBoundaries = false, 0 === request.allPendingTasks && 0 === request.clientRenderedBoundaries.length && 0 === request.completedBoundaries.length && (request.flushScheduled = false, i = request.resumableState, i.hasBody && (partialBoundaries = endChunkForTag("body"), destination.push(partialBoundaries)), i.hasHtml && (i = endChunkForTag("html"), destination.push(i)), request.status = 14, destination.push(null), request.destination = null);
|
|
}
|
|
}
|
|
function enqueueFlush(request) {
|
|
if (false === request.flushScheduled && 0 === request.pingedTasks.length && null !== request.destination) {
|
|
request.flushScheduled = true;
|
|
var destination = request.destination;
|
|
destination ? flushCompletedQueues(request, destination) : request.flushScheduled = false;
|
|
}
|
|
}
|
|
function startFlowing(request, destination) {
|
|
if (13 === request.status) request.status = 14, destination.destroy(request.fatalError);
|
|
else if (14 !== request.status && null === request.destination) {
|
|
request.destination = destination;
|
|
try {
|
|
flushCompletedQueues(request, destination);
|
|
} catch (error) {
|
|
logRecoverableError(request, error, {}), fatalError(request, error);
|
|
}
|
|
}
|
|
}
|
|
function abort(request, reason) {
|
|
if (11 === request.status || 10 === request.status) request.status = 12;
|
|
try {
|
|
var abortableTasks = request.abortableTasks;
|
|
if (0 < abortableTasks.size) {
|
|
var error = void 0 === reason ? Error(formatProdErrorMessage(432)) : "object" === typeof reason && null !== reason && "function" === typeof reason.then ? Error(formatProdErrorMessage(530)) : reason;
|
|
request.fatalError = error;
|
|
abortableTasks.forEach(function(task) {
|
|
return abortTask(task, request, error);
|
|
});
|
|
abortableTasks.clear();
|
|
}
|
|
null !== request.destination && flushCompletedQueues(request, request.destination);
|
|
} catch (error$71) {
|
|
logRecoverableError(request, error$71, {}), fatalError(request, error$71);
|
|
}
|
|
}
|
|
function addToReplayParent(node, parentKeyPath, trackedPostpones) {
|
|
if (null === parentKeyPath) trackedPostpones.rootNodes.push(node);
|
|
else {
|
|
var workingMap = trackedPostpones.workingMap, parentNode = workingMap.get(parentKeyPath);
|
|
void 0 === parentNode && (parentNode = [
|
|
parentKeyPath[1],
|
|
parentKeyPath[2],
|
|
[],
|
|
null
|
|
], workingMap.set(parentKeyPath, parentNode), addToReplayParent(parentNode, parentKeyPath[0], trackedPostpones));
|
|
parentNode[2].push(node);
|
|
}
|
|
}
|
|
function onError() {
|
|
}
|
|
function renderToStringImpl(children, options, generateStaticMarkup, abortReason) {
|
|
var didFatal = false, fatalError2 = null, result = "", readyToStream = false;
|
|
options = createResumableState(options ? options.identifierPrefix : void 0);
|
|
children = createRequest(children, options, createRenderState(options, generateStaticMarkup), createFormatContext(0, null, 0, null), Infinity, onError, void 0, function() {
|
|
readyToStream = true;
|
|
}, void 0, void 0, void 0);
|
|
children.flushScheduled = null !== children.destination;
|
|
performWork(children);
|
|
10 === children.status && (children.status = 11);
|
|
null === children.trackedPostpones && safelyEmitEarlyPreloads(children, 0 === children.pendingRootTasks);
|
|
abort(children, abortReason);
|
|
startFlowing(children, {
|
|
push: function(chunk) {
|
|
null !== chunk && (result += chunk);
|
|
return true;
|
|
},
|
|
destroy: function(error) {
|
|
didFatal = true;
|
|
fatalError2 = error;
|
|
}
|
|
});
|
|
if (didFatal && fatalError2 !== abortReason) throw fatalError2;
|
|
if (!readyToStream) throw Error(formatProdErrorMessage(426));
|
|
return result;
|
|
}
|
|
reactDomServerLegacy_browser_production.renderToStaticMarkup = function(children, options) {
|
|
return renderToStringImpl(children, options, true, 'The server used "renderToStaticMarkup" which does not support Suspense. If you intended to have the server wait for the suspended component please switch to "renderToReadableStream" which supports Suspense on the server');
|
|
};
|
|
reactDomServerLegacy_browser_production.renderToString = function(children, options) {
|
|
return renderToStringImpl(children, options, false, 'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToReadableStream" which supports Suspense on the server');
|
|
};
|
|
reactDomServerLegacy_browser_production.version = "19.2.4";
|
|
return reactDomServerLegacy_browser_production;
|
|
}
|
|
var hasRequiredServer_edge;
|
|
function requireServer_edge() {
|
|
if (hasRequiredServer_edge) return server_edge;
|
|
hasRequiredServer_edge = 1;
|
|
var b;
|
|
var l;
|
|
{
|
|
b = requireReactDomServer_edge_production();
|
|
l = requireReactDomServerLegacy_browser_production();
|
|
}
|
|
server_edge.version = b.version;
|
|
server_edge.renderToReadableStream = b.renderToReadableStream;
|
|
server_edge.renderToString = l.renderToString;
|
|
server_edge.renderToStaticMarkup = l.renderToStaticMarkup;
|
|
server_edge.resume = b.resume;
|
|
return server_edge;
|
|
}
|
|
var server_edgeExports = requireServer_edge();
|
|
const encoder = new TextEncoder();
|
|
const trailer = "</body></html>";
|
|
function injectRSCPayload(rscStream, options) {
|
|
let decoder = new TextDecoder();
|
|
let resolveFlightDataPromise;
|
|
let flightDataPromise = new Promise((resolve) => resolveFlightDataPromise = resolve);
|
|
let startedRSC = false;
|
|
let nonce = options && typeof options.nonce === "string" ? options.nonce : void 0;
|
|
let buffered = [];
|
|
let timeout = null;
|
|
function flushBufferedChunks(controller) {
|
|
for (let chunk of buffered) {
|
|
let buf = decoder.decode(chunk, {
|
|
stream: true
|
|
});
|
|
if (buf.endsWith(trailer)) {
|
|
buf = buf.slice(0, -trailer.length);
|
|
}
|
|
controller.enqueue(encoder.encode(buf));
|
|
}
|
|
let remaining = decoder.decode();
|
|
if (remaining.length) {
|
|
if (remaining.endsWith(trailer)) {
|
|
remaining = remaining.slice(0, -trailer.length);
|
|
}
|
|
controller.enqueue(encoder.encode(remaining));
|
|
}
|
|
buffered.length = 0;
|
|
timeout = null;
|
|
}
|
|
return new TransformStream({
|
|
transform(chunk, controller) {
|
|
buffered.push(chunk);
|
|
if (timeout) {
|
|
return;
|
|
}
|
|
timeout = setTimeout(async () => {
|
|
try {
|
|
flushBufferedChunks(controller);
|
|
} catch (e) {
|
|
controller.error(e);
|
|
resolveFlightDataPromise();
|
|
return;
|
|
}
|
|
if (!startedRSC) {
|
|
startedRSC = true;
|
|
writeRSCStream(rscStream, controller, nonce).catch((err) => controller.error(err)).then(resolveFlightDataPromise);
|
|
}
|
|
}, 0);
|
|
},
|
|
async flush(controller) {
|
|
await flightDataPromise;
|
|
if (timeout) {
|
|
clearTimeout(timeout);
|
|
flushBufferedChunks(controller);
|
|
}
|
|
controller.enqueue(encoder.encode(trailer));
|
|
}
|
|
});
|
|
}
|
|
async function writeRSCStream(rscStream, controller, nonce) {
|
|
let decoder = new TextDecoder("utf-8", {
|
|
fatal: true
|
|
});
|
|
for await (let chunk of rscStream) {
|
|
try {
|
|
writeChunk(JSON.stringify(decoder.decode(chunk, {
|
|
stream: true
|
|
})), controller, nonce);
|
|
} catch (err) {
|
|
let base64 = JSON.stringify(btoa(String.fromCodePoint(...chunk)));
|
|
writeChunk(`Uint8Array.from(atob(${base64}), m => m.codePointAt(0))`, controller, nonce);
|
|
}
|
|
}
|
|
let remaining = decoder.decode();
|
|
if (remaining.length) {
|
|
writeChunk(JSON.stringify(remaining), controller, nonce);
|
|
}
|
|
}
|
|
function writeChunk(chunk, controller, nonce) {
|
|
controller.enqueue(encoder.encode(`<script${nonce ? ` nonce="${nonce}"` : ""}>${escapeScript(`(self.__FLIGHT_DATA||=[]).push(${chunk})`)}<\/script>`));
|
|
}
|
|
function escapeScript(script) {
|
|
return script.replace(/<!--/g, "<\\!--").replace(/<\/(script)/gi, "</\\$1");
|
|
}
|
|
const fallbackHtml = "<html><body></body></html>";
|
|
const isErrorInfo = (x) => {
|
|
if (typeof x !== "object" || x === null) {
|
|
return false;
|
|
}
|
|
if ("status" in x && typeof x.status !== "number") {
|
|
return false;
|
|
}
|
|
if ("location" in x && typeof x.location !== "string") {
|
|
return false;
|
|
}
|
|
return true;
|
|
};
|
|
const prefix = "__WAKU_CUSTOM_ERROR__;";
|
|
const getErrorInfo = (err) => {
|
|
const digest = err == null ? void 0 : err.digest;
|
|
if (typeof digest !== "string" || !digest.startsWith(prefix)) {
|
|
return null;
|
|
}
|
|
try {
|
|
const info = JSON.parse(digest.slice(prefix.length));
|
|
if (isErrorInfo(info)) {
|
|
return info;
|
|
}
|
|
} catch {
|
|
}
|
|
return null;
|
|
};
|
|
const DEFAULT_HTML_HEAD = [
|
|
jsxRuntimeExports.jsx("meta", {
|
|
charSet: "utf-8"
|
|
}, "charset"),
|
|
jsxRuntimeExports.jsx("meta", {
|
|
name: "viewport",
|
|
content: "width=device-width, initial-scale=1"
|
|
}, "viewport"),
|
|
jsxRuntimeExports.jsx("meta", {
|
|
name: "generator",
|
|
content: "Waku"
|
|
}, "generator")
|
|
];
|
|
const ElementsContext = reactExports.createContext(null);
|
|
const ChildrenContext = reactExports.createContext(void 0);
|
|
const ChildrenContextProvider = reactExports.memo(ChildrenContext);
|
|
Children = () => reactExports.use(ChildrenContext);
|
|
const useElementsPromise_UNSTABLE = () => {
|
|
const elementsPromise = reactExports.use(ElementsContext);
|
|
if (!elementsPromise) {
|
|
throw new Error("Missing Root component");
|
|
}
|
|
return elementsPromise;
|
|
};
|
|
Slot = ({ id, children }) => {
|
|
const elementsPromise = useElementsPromise_UNSTABLE();
|
|
const elements = reactExports.use(elementsPromise);
|
|
if (id in elements && elements[id] === void 0) {
|
|
throw new Error("Element cannot be undefined, use null instead: " + id);
|
|
}
|
|
const element = elements[id];
|
|
const isValidElement = element !== void 0;
|
|
if (!isValidElement) {
|
|
throw new Error("Invalid element: " + id);
|
|
}
|
|
return jsxRuntimeExports.jsx(ChildrenContextProvider, {
|
|
value: children,
|
|
children: element
|
|
});
|
|
};
|
|
const INTERNAL_ServerRoot = ({ elementsPromise, children }) => jsxRuntimeExports.jsxs(ElementsContext, {
|
|
value: elementsPromise,
|
|
children: [
|
|
DEFAULT_HTML_HEAD,
|
|
children
|
|
]
|
|
});
|
|
const fakeFetchCode = `
|
|
Promise.resolve(new Response(new ReadableStream({
|
|
start(c) {
|
|
const d = (self.__FLIGHT_DATA ||= []);
|
|
const t = new TextEncoder();
|
|
const f = (s) => c.enqueue(typeof s === 'string' ? t.encode(s) : s);
|
|
d.forEach(f);
|
|
d.length = 0;
|
|
d.push = f;
|
|
if (document.readyState === 'loading') {
|
|
document.addEventListener('DOMContentLoaded', () => c.close());
|
|
} else {
|
|
c.close();
|
|
}
|
|
}
|
|
})))
|
|
`.split("\n").map((line) => line.trim()).join("");
|
|
function getBootstrapPreamble(options) {
|
|
return `
|
|
${options.hydrate ? "globalThis.__WAKU_HYDRATE__ = true;" : ""}
|
|
globalThis.__WAKU_PREFETCHED__ = {
|
|
${JSON.stringify(options.rscPath)}: ${fakeFetchCode}
|
|
};
|
|
`;
|
|
}
|
|
new TextEncoder();
|
|
new TextDecoder();
|
|
function concatUint8Array(chunks) {
|
|
if (chunks.length === 1) {
|
|
return chunks[0];
|
|
}
|
|
const total = chunks.reduce((n, chunk) => n + chunk.byteLength, 0);
|
|
const out = new Uint8Array(total);
|
|
let offset = 0;
|
|
for (const chunk of chunks) {
|
|
out.set(chunk, offset);
|
|
offset += chunk.byteLength;
|
|
}
|
|
return out;
|
|
}
|
|
function batchReadableStream(input) {
|
|
const buffer = [];
|
|
let timer;
|
|
const flushBuffer = (controller) => {
|
|
clearTimeout(timer);
|
|
timer = void 0;
|
|
if (buffer.length) {
|
|
try {
|
|
controller.enqueue(concatUint8Array(buffer));
|
|
} catch {
|
|
}
|
|
buffer.length = 0;
|
|
}
|
|
};
|
|
return input.pipeThrough(new TransformStream({
|
|
transform(chunk, controller) {
|
|
buffer.push(chunk);
|
|
if (!timer) {
|
|
timer = setTimeout(() => flushBuffer(controller));
|
|
}
|
|
},
|
|
flush(controller) {
|
|
flushBuffer(controller);
|
|
}
|
|
}));
|
|
}
|
|
renderHtmlStream = async (rscStream, rscHtmlStream, options) => {
|
|
const [stream1, stream2] = rscStream.tee();
|
|
let elementsPromise;
|
|
let htmlPromise;
|
|
function SsrRoot() {
|
|
elementsPromise ?? (elementsPromise = createFromReadableStream(stream1));
|
|
htmlPromise ?? (htmlPromise = createFromReadableStream(rscHtmlStream));
|
|
return jsxRuntimeExports.jsx(INTERNAL_ServerRoot, {
|
|
elementsPromise,
|
|
children: reactExports.use(htmlPromise)
|
|
});
|
|
}
|
|
const bootstrapScriptContent = await loadBootstrapScriptContent();
|
|
let htmlStream;
|
|
let status;
|
|
try {
|
|
htmlStream = await server_edgeExports.renderToReadableStream(jsxRuntimeExports.jsx(SsrRoot, {}), {
|
|
bootstrapScriptContent: getBootstrapPreamble({
|
|
rscPath: options.rscPath || "",
|
|
hydrate: true
|
|
}) + bootstrapScriptContent + (options.extraScriptContent || ""),
|
|
onError: (e) => {
|
|
var _a;
|
|
if (e && typeof e === "object" && "digest" in e && typeof e.digest === "string") {
|
|
return e.digest;
|
|
}
|
|
console.error("[SSR Error]", ((_a = reactExports.captureOwnerStack) == null ? void 0 : _a.call(reactExports)) || "", "\n", e);
|
|
},
|
|
...options.nonce ? {
|
|
nonce: options.nonce
|
|
} : {},
|
|
...options.formState ? {
|
|
formState: options.formState
|
|
} : {}
|
|
});
|
|
} catch (e) {
|
|
const info = getErrorInfo(e);
|
|
if (info == null ? void 0 : info.location) {
|
|
throw e;
|
|
}
|
|
status = (info == null ? void 0 : info.status) || 500;
|
|
const ssrErrorRoot = jsxRuntimeExports.jsx("html", {
|
|
children: jsxRuntimeExports.jsx("body", {})
|
|
});
|
|
htmlStream = await server_edgeExports.renderToReadableStream(ssrErrorRoot, {
|
|
bootstrapScriptContent: getBootstrapPreamble({
|
|
rscPath: options.rscPath || "",
|
|
hydrate: false
|
|
}) + bootstrapScriptContent + (options.extraScriptContent || ""),
|
|
...options.nonce ? {
|
|
nonce: options.nonce
|
|
} : {}
|
|
});
|
|
}
|
|
let responseStream = htmlStream;
|
|
responseStream = responseStream.pipeThrough(injectRSCPayload(batchReadableStream(stream2), options.nonce ? {
|
|
nonce: options.nonce
|
|
} : {}));
|
|
return {
|
|
stream: responseStream,
|
|
status
|
|
};
|
|
};
|
|
renderHtmlFallback = async function() {
|
|
const bootstrapScriptContent = await loadBootstrapScriptContent();
|
|
const html = fallbackHtml.replace("</body>", () => `<script>${bootstrapScriptContent}<\/script></body>`);
|
|
return html;
|
|
};
|
|
function loadBootstrapScriptContent() {
|
|
return Promise.resolve(assetsManifest.bootstrapScriptContent);
|
|
}
|
|
})();
|
|
export {
|
|
Children as C,
|
|
renderHtmlFallback as INTERNAL_renderHtmlFallback,
|
|
renderHtmlStream as INTERNAL_renderHtmlStream,
|
|
Slot as S,
|
|
__tla,
|
|
jsxRuntimeExports as j,
|
|
reactExports as r
|
|
};
|