| (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,36109,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return _default}});let _jsxruntime=__turbopack_context__.r(42989),_handleisrerror=__turbopack_context__.r(91984),styles_error={fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},styles_text={fontSize:"14px",fontWeight:400,lineHeight:"28px",margin:"0 8px"},_default=function DefaultGlobalError({error}){let digest=error?.digest;return(0,_jsxruntime.jsxs)("html",{id:"__next_error__",children:[(0,_jsxruntime.jsx)("head",{}),(0,_jsxruntime.jsxs)("body",{children:[(0,_jsxruntime.jsx)(_handleisrerror.HandleISRError,{error:error}),(0,_jsxruntime.jsx)("div",{style:styles_error,children:(0,_jsxruntime.jsxs)("div",{children:[(0,_jsxruntime.jsxs)("h2",{style:styles_text,children:["Application error: a ",digest?"server":"client","-side exception has occurred while loading ",window.location.hostname," (see the"," ",digest?"server logs":"browser console"," for more information)."]}),digest?(0,_jsxruntime.jsx)("p",{style:styles_text,children:`Digest: ${digest}`}):null]})})]})]})};("function"==typeof exports.default||"object"==typeof exports.default&&null!==exports.default)&&void 0===exports.default.__esModule&&(Object.defineProperty(exports.default,"__esModule",{value:!0}),Object.assign(exports.default,exports),module.exports=exports.default)},20961,(__turbopack_context__,module,exports)=>{var e={229:function(e){var r,n,u,t=e.exports={};function defaultSetTimout(){throw Error("setTimeout has not been defined")}function defaultClearTimeout(){throw Error("clearTimeout has not been defined")}try{r="function"==typeof setTimeout?setTimeout:defaultSetTimout}catch(e){r=defaultSetTimout}try{n="function"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(e){n=defaultClearTimeout}function runTimeout(e){if(r===setTimeout)return setTimeout(e,0);if((r===defaultSetTimout||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}function runClearTimeout(e){if(n===clearTimeout)return clearTimeout(e);if((n===defaultClearTimeout||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{return n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}var i=[],o=!1,a=-1;function cleanUpNextTick(){o&&u&&(o=!1,u.length?i=u.concat(i):a=-1,i.length&&drainQueue())}function drainQueue(){if(!o){var e=runTimeout(cleanUpNextTick);o=!0;for(var t=i.length;t;){for(u=i,i=[];++a<t;)u&&u[a].run();a=-1,t=i.length}u=null,o=!1,runClearTimeout(e)}}function Item(e,t){this.fun=e,this.array=t}function noop(){}t.nextTick=function(e){var t=Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];i.push(new Item(e,t)),1!==i.length||o||runTimeout(drainQueue)},Item.prototype.run=function(){this.fun.apply(null,this.array)},t.title="browser",t.browser=!0,t.env={},t.argv=[],t.version="",t.versions={},t.on=noop,t.addListener=noop,t.once=noop,t.off=noop,t.removeListener=noop,t.removeAllListeners=noop,t.emit=noop,t.prependListener=noop,t.prependOnceListener=noop,t.listeners=function(e){return[]},t.binding=function(e){throw Error("process.binding is not supported")},t.cwd=function(){return"/"},t.chdir=function(e){throw Error("process.chdir is not supported")},t.umask=function(){return 0}}},t={};function __nccwpck_require__(r){var n=t[r];if(void 0!==n)return n.exports;var i=t[r]={exports:{}},o=!0;try{e[r](i,i.exports,__nccwpck_require__),o=!1}finally{o&&delete t[r]}return i.exports}__nccwpck_require__.ab="/ROOT/node_modules/.pnpm/next@16.0.8_@babel+core@7.26.10_@opentelemetry+api@1.9.0_@playwright+test@1.58.2_babel-plugin_w4zu4l6y342kwyzayu4twtfjlm/node_modules/next/dist/compiled/process/",module.exports=__nccwpck_require__(229)},76343,(__turbopack_context__,module,exports)=>{"use strict";var _global_process,_global_process1;module.exports=(null==(_global_process=__turbopack_context__.g.process)?void 0:_global_process.env)&&"object"==typeof(null==(_global_process1=__turbopack_context__.g.process)?void 0:_global_process1.env)?__turbopack_context__.g.process:__turbopack_context__.r(20961)},18338,(__turbopack_context__,module,exports)=>{"use strict";var REACT_ELEMENT_TYPE=Symbol.for("react.transitional.element");function jsxProd(type,config,maybeKey){var key=null;if(void 0!==maybeKey&&(key=""+maybeKey),void 0!==config.key&&(key=""+config.key),"key"in config)for(var propName in maybeKey={},config)"key"!==propName&&(maybeKey[propName]=config[propName]);else maybeKey=config;return{$$typeof:REACT_ELEMENT_TYPE,type:type,key:key,ref:void 0!==(config=maybeKey.ref)?config:null,props:maybeKey}}exports.Fragment=Symbol.for("react.fragment"),exports.jsx=jsxProd,exports.jsxs=jsxProd},42989,(__turbopack_context__,module,exports)=>{"use strict";module.exports=__turbopack_context__.r(18338)},76612,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:all[name]})}(exports,{bindSnapshot:function(){return bindSnapshot},createAsyncLocalStorage:function(){return createAsyncLocalStorage},createSnapshot:function(){return createSnapshot}});let sharedAsyncLocalStorageNotAvailableError=Object.defineProperty(Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"),"__NEXT_ERROR_CODE",{value:"E504",enumerable:!1,configurable:!0});class FakeAsyncLocalStorage{disable(){throw sharedAsyncLocalStorageNotAvailableError}getStore(){}run(){throw sharedAsyncLocalStorageNotAvailableError}exit(){throw sharedAsyncLocalStorageNotAvailableError}enterWith(){throw sharedAsyncLocalStorageNotAvailableError}static bind(fn){return fn}}let maybeGlobalAsyncLocalStorage="undefined"!=typeof globalThis&&globalThis.AsyncLocalStorage;function createAsyncLocalStorage(){return maybeGlobalAsyncLocalStorage?new maybeGlobalAsyncLocalStorage:new FakeAsyncLocalStorage}function bindSnapshot(fn){return maybeGlobalAsyncLocalStorage?maybeGlobalAsyncLocalStorage.bind(fn):FakeAsyncLocalStorage.bind(fn)}function createSnapshot(){return maybeGlobalAsyncLocalStorage?maybeGlobalAsyncLocalStorage.snapshot():function(fn,...args){return fn(...args)}}},36595,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"workAsyncStorageInstance",{enumerable:!0,get:function(){return workAsyncStorageInstance}});let workAsyncStorageInstance=(0,__turbopack_context__.r(76612).createAsyncLocalStorage)()},33617,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"workAsyncStorage",{enumerable:!0,get:function(){return _workasyncstorageinstance.workAsyncStorageInstance}});let _workasyncstorageinstance=__turbopack_context__.r(36595)},91984,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"HandleISRError",{enumerable:!0,get:function(){return HandleISRError}});let workAsyncStorage="undefined"==typeof window?__turbopack_context__.r(33617).workAsyncStorage:void 0;function HandleISRError({error}){if(workAsyncStorage){let store=workAsyncStorage.getStore();if(store?.isStaticGeneration)throw error&&console.error(error),error}return null}("function"==typeof exports.default||"object"==typeof exports.default&&null!==exports.default)&&void 0===exports.default.__esModule&&(Object.defineProperty(exports.default,"__esModule",{value:!0}),Object.assign(exports.default,exports),module.exports=exports.default)},98552,(__turbopack_context__,module,exports)=>{"use strict";var __TURBOPACK__imported__module__76343__=__turbopack_context__.i(76343),REACT_ELEMENT_TYPE=Symbol.for("react.transitional.element"),REACT_PORTAL_TYPE=Symbol.for("react.portal"),REACT_FRAGMENT_TYPE=Symbol.for("react.fragment"),REACT_STRICT_MODE_TYPE=Symbol.for("react.strict_mode"),REACT_PROFILER_TYPE=Symbol.for("react.profiler"),REACT_CONSUMER_TYPE=Symbol.for("react.consumer"),REACT_CONTEXT_TYPE=Symbol.for("react.context"),REACT_FORWARD_REF_TYPE=Symbol.for("react.forward_ref"),REACT_SUSPENSE_TYPE=Symbol.for("react.suspense"),REACT_MEMO_TYPE=Symbol.for("react.memo"),REACT_LAZY_TYPE=Symbol.for("react.lazy"),REACT_ACTIVITY_TYPE=Symbol.for("react.activity"),REACT_VIEW_TRANSITION_TYPE=Symbol.for("react.view_transition"),MAYBE_ITERATOR_SYMBOL=Symbol.iterator;function getIteratorFn(maybeIterable){return null===maybeIterable||"object"!=typeof maybeIterable?null:"function"==typeof(maybeIterable=MAYBE_ITERATOR_SYMBOL&&maybeIterable[MAYBE_ITERATOR_SYMBOL]||maybeIterable["@@iterator"])?maybeIterable:null}var ReactNoopUpdateQueue={isMounted:function(){return!1},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}function ComponentDummy(){}function PureComponent(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")},ComponentDummy.prototype=Component.prototype;var pureComponentPrototype=PureComponent.prototype=new ComponentDummy;pureComponentPrototype.constructor=PureComponent,assign(pureComponentPrototype,Component.prototype),pureComponentPrototype.isPureReactComponent=!0;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:type,key:key,ref:void 0!==refProp?refProp:null,props: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;("undefined"===type||"boolean"===type)&&(children=null);var invokeCallback=!1;if(null===children)invokeCallback=!0;else switch(type){case"bigint":case"string":case"number":invokeCallback=!0;break;case"object":switch(children.$$typeof){case REACT_ELEMENT_TYPE:case REACT_PORTAL_TYPE:invokeCallback=!0;break;case REACT_LAZY_TYPE:return mapIntoArray((invokeCallback=children._init)(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++)type=nextNamePrefix+getElementKey(nameSoFar=children[i],i),invokeCallback+=mapIntoArray(nameSoFar,array,escapedPrefix,type,callback);else if("function"==typeof(i=getIteratorFn(children)))for(children=i.call(children),i=0;!(nameSoFar=children.next()).done;)type=nextNamePrefix+getElementKey(nameSoFar=nameSoFar.value,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);throw Error("Objects are not valid as a React child (found: "+("[object Object]"===(array=String(children))?"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;return mapIntoArray(children,result,"","",function(child){return func.call(context,child,count++)}),result}function lazyInitializer(payload){if(-1===payload._status){var ctor=payload._result;(ctor=ctor()).then(function(moduleObject){(0===payload._status||-1===payload._status)&&(payload._status=1,payload._result=moduleObject)},function(error){(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:!0,cancelable:!0,message:"object"==typeof error&&null!==error&&"string"==typeof error.message?String(error.message):String(error),error:error});if(!window.dispatchEvent(event))return}else if("object"==typeof __TURBOPACK__imported__module__76343__.default&&"function"==typeof __TURBOPACK__imported__module__76343__.default.emit)return void __TURBOPACK__imported__module__76343__.default.emit("uncaughtException",error);console.error(error)};function startTransition(scope){var prevTransition=ReactSharedInternals.T,currentTransition={};currentTransition.types=null!==prevTransition?prevTransition.types:null,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}}function addTransitionType(type){var transition=ReactSharedInternals.T;if(null!==transition){var transitionTypes=transition.types;null===transitionTypes?transition.types=[type]:-1===transitionTypes.indexOf(type)&&transitionTypes.push(type)}else startTransition(addTransitionType.bind(null,type))}exports.Activity=REACT_ACTIVITY_TYPE,exports.Children={map:mapChildren,forEach:function(children,forEachFunc,forEachContext){mapChildren(children,function(){forEachFunc.apply(this,arguments)},forEachContext)},count:function(children){var n=0;return mapChildren(children,function(){n++}),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}},exports.Component=Component,exports.Fragment=REACT_FRAGMENT_TYPE,exports.Profiler=REACT_PROFILER_TYPE,exports.PureComponent=PureComponent,exports.StrictMode=REACT_STRICT_MODE_TYPE,exports.Suspense=REACT_SUSPENSE_TYPE,exports.ViewTransition=REACT_VIEW_TRANSITION_TYPE,exports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=ReactSharedInternals,exports.__COMPILER_RUNTIME={__proto__:null,c:function(size){return ReactSharedInternals.H.useMemoCache(size)}},exports.addTransitionType=addTransitionType,exports.cache=function(fn){return function(){return fn.apply(null,arguments)}},exports.cacheSignal=function(){return null},exports.cloneElement=function(element,config,children){if(null==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)},exports.createContext=function(defaultValue){return(defaultValue={$$typeof:REACT_CONTEXT_TYPE,_currentValue:defaultValue,_currentValue2:defaultValue,_threadCount:0,Provider:null,Consumer:null}).Provider=defaultValue,defaultValue.Consumer={$$typeof:REACT_CONSUMER_TYPE,_context:defaultValue},defaultValue},exports.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)void 0===props[propName]&&(props[propName]=childrenLength[propName]);return ReactElement(type,key,props)},exports.createRef=function(){return{current:null}},exports.forwardRef=function(render){return{$$typeof:REACT_FORWARD_REF_TYPE,render:render}},exports.isValidElement=isValidElement,exports.lazy=function(ctor){return{$$typeof:REACT_LAZY_TYPE,_payload:{_status:-1,_result:ctor},_init:lazyInitializer}},exports.memo=function(type,compare){return{$$typeof:REACT_MEMO_TYPE,type:type,compare:void 0===compare?null:compare}},exports.startTransition=startTransition,exports.unstable_useCacheRefresh=function(){return ReactSharedInternals.H.useCacheRefresh()},exports.use=function(usable){return ReactSharedInternals.H.use(usable)},exports.useActionState=function(action,initialState,permalink){return ReactSharedInternals.H.useActionState(action,initialState,permalink)},exports.useCallback=function(callback,deps){return ReactSharedInternals.H.useCallback(callback,deps)},exports.useContext=function(Context){return ReactSharedInternals.H.useContext(Context)},exports.useDebugValue=function(){},exports.useDeferredValue=function(value,initialValue){return ReactSharedInternals.H.useDeferredValue(value,initialValue)},exports.useEffect=function(create,deps){return ReactSharedInternals.H.useEffect(create,deps)},exports.useEffectEvent=function(callback){return ReactSharedInternals.H.useEffectEvent(callback)},exports.useId=function(){return ReactSharedInternals.H.useId()},exports.useImperativeHandle=function(ref,create,deps){return ReactSharedInternals.H.useImperativeHandle(ref,create,deps)},exports.useInsertionEffect=function(create,deps){return ReactSharedInternals.H.useInsertionEffect(create,deps)},exports.useLayoutEffect=function(create,deps){return ReactSharedInternals.H.useLayoutEffect(create,deps)},exports.useMemo=function(create,deps){return ReactSharedInternals.H.useMemo(create,deps)},exports.useOptimistic=function(passthrough,reducer){return ReactSharedInternals.H.useOptimistic(passthrough,reducer)},exports.useReducer=function(reducer,initialArg,init){return ReactSharedInternals.H.useReducer(reducer,initialArg,init)},exports.useRef=function(initialValue){return ReactSharedInternals.H.useRef(initialValue)},exports.useState=function(initialState){return ReactSharedInternals.H.useState(initialState)},exports.useSyncExternalStore=function(subscribe,getSnapshot,getServerSnapshot){return ReactSharedInternals.H.useSyncExternalStore(subscribe,getSnapshot,getServerSnapshot)},exports.useTransition=function(){return ReactSharedInternals.H.useTransition()},exports.version="19.3.0-canary-52684925-20251110"},88529,(__turbopack_context__,module,exports)=>{"use strict";module.exports=__turbopack_context__.r(98552)},66996,(__turbopack_context__,module,exports)=>{"use strict";var React=__turbopack_context__.r(88529);function formatProdErrorMessage(code){var url="https://react.dev/errors/"+code;if(1<arguments.length){url+="?args[]="+encodeURIComponent(arguments[1]);for(var i=2;i<arguments.length;i++)url+="&args[]="+encodeURIComponent(arguments[i])}return"Minified React error #"+code+"; visit "+url+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function noop(){}var Internals={d:{f:noop,r:function(){throw Error(formatProdErrorMessage(522))},D:noop,C:noop,L:noop,m:noop,X:noop,S:noop,M:noop},p:0,findDOMNode:null},REACT_PORTAL_TYPE=Symbol.for("react.portal");function createPortal$1(children,containerInfo,implementation){var key=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:REACT_PORTAL_TYPE,key:null==key?null:""+key,children:children,containerInfo:containerInfo,implementation:implementation}}var ReactSharedInternals=React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function getCrossOriginStringAs(as,input){return"font"===as?"":"string"==typeof input?"use-credentials"===input?input:"":void 0}exports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=Internals,exports.createPortal=function(children,container){var key=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!container||1!==container.nodeType&&9!==container.nodeType&&11!==container.nodeType)throw Error(formatProdErrorMessage(299));return createPortal$1(children,container,null,key)},exports.flushSync=function(fn){var previousTransition=ReactSharedInternals.T,previousUpdatePriority=Internals.p;try{if(ReactSharedInternals.T=null,Internals.p=2,fn)return fn()}finally{ReactSharedInternals.T=previousTransition,Internals.p=previousUpdatePriority,Internals.d.f()}},exports.preconnect=function(href,options){"string"==typeof href&&(options=options?"string"==typeof(options=options.crossOrigin)?"use-credentials"===options?options:"":void 0:null,Internals.d.C(href,options))},exports.prefetchDNS=function(href){"string"==typeof href&&Internals.d.D(href)},exports.preinit=function(href,options){if("string"==typeof href&&options&&"string"==typeof options.as){var as=options.as,crossOrigin=getCrossOriginStringAs(as,options.crossOrigin),integrity="string"==typeof options.integrity?options.integrity:void 0,fetchPriority="string"==typeof options.fetchPriority?options.fetchPriority:void 0;"style"===as?Internals.d.S(href,"string"==typeof options.precedence?options.precedence:void 0,{crossOrigin:crossOrigin,integrity:integrity,fetchPriority:fetchPriority}):"script"===as&&Internals.d.X(href,{crossOrigin:crossOrigin,integrity:integrity,fetchPriority:fetchPriority,nonce:"string"==typeof options.nonce?options.nonce:void 0})}},exports.preinitModule=function(href,options){if("string"==typeof href)if("object"==typeof options&&null!==options){if(null==options.as||"script"===options.as){var crossOrigin=getCrossOriginStringAs(options.as,options.crossOrigin);Internals.d.M(href,{crossOrigin:crossOrigin,integrity:"string"==typeof options.integrity?options.integrity:void 0,nonce:"string"==typeof options.nonce?options.nonce:void 0})}}else null==options&&Internals.d.M(href)},exports.preload=function(href,options){if("string"==typeof href&&"object"==typeof options&&null!==options&&"string"==typeof options.as){var as=options.as,crossOrigin=getCrossOriginStringAs(as,options.crossOrigin);Internals.d.L(href,as,{crossOrigin:crossOrigin,integrity:"string"==typeof options.integrity?options.integrity:void 0,nonce:"string"==typeof options.nonce?options.nonce:void 0,type:"string"==typeof options.type?options.type:void 0,fetchPriority:"string"==typeof options.fetchPriority?options.fetchPriority:void 0,referrerPolicy:"string"==typeof options.referrerPolicy?options.referrerPolicy:void 0,imageSrcSet:"string"==typeof options.imageSrcSet?options.imageSrcSet:void 0,imageSizes:"string"==typeof options.imageSizes?options.imageSizes:void 0,media:"string"==typeof options.media?options.media:void 0})}},exports.preloadModule=function(href,options){if("string"==typeof href)if(options){var crossOrigin=getCrossOriginStringAs(options.as,options.crossOrigin);Internals.d.m(href,{as:"string"==typeof options.as&&"script"!==options.as?options.as:void 0,crossOrigin:crossOrigin,integrity:"string"==typeof options.integrity?options.integrity:void 0})}else Internals.d.m(href)},exports.requestFormReset=function(form){Internals.d.r(form)},exports.unstable_batchedUpdates=function(fn,a){return fn(a)},exports.useFormState=function(action,initialState,permalink){return ReactSharedInternals.H.useFormState(action,initialState,permalink)},exports.useFormStatus=function(){return ReactSharedInternals.H.useHostTransitionStatus()},exports.version="19.3.0-canary-52684925-20251110"},73838,(__turbopack_context__,module,exports)=>{"use strict";function checkDCE(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE)}catch(err){console.error(err)}}checkDCE(),module.exports=__turbopack_context__.r(66996)}]); |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
| (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,24300,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"warnOnce",{enumerable:!0,get:function(){return warnOnce}});let warnOnce=_=>{}},80870,(__turbopack_context__,module,exports)=>{"use strict";function disableSmoothScrollDuringRouteTransition(fn,options={}){if(options.onlyHashChange)return void fn();let htmlElement=document.documentElement;if("smooth"!==htmlElement.dataset.scrollBehavior)return void fn();let existing=htmlElement.style.scrollBehavior;htmlElement.style.scrollBehavior="auto",options.dontForceLayout||htmlElement.getClientRects(),fn(),htmlElement.style.scrollBehavior=existing}Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"disableSmoothScrollDuringRouteTransition",{enumerable:!0,get:function(){return disableSmoothScrollDuringRouteTransition}}),__turbopack_context__.r(24300)},15808,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"HTTPAccessFallbackBoundary",{enumerable:!0,get:function(){return HTTPAccessFallbackBoundary}});let _interop_require_wildcard=__turbopack_context__.r(44066),_jsxruntime=__turbopack_context__.r(42989),_react=_interop_require_wildcard._(__turbopack_context__.r(88529)),_navigationuntracked=__turbopack_context__.r(6495),_httpaccessfallback=__turbopack_context__.r(98937);__turbopack_context__.r(24300);let _approutercontextsharedruntime=__turbopack_context__.r(98041);class HTTPAccessFallbackErrorBoundary extends _react.default.Component{constructor(props){super(props),this.state={triggeredStatus:void 0,previousPathname:props.pathname}}componentDidCatch(){}static getDerivedStateFromError(error){if((0,_httpaccessfallback.isHTTPAccessFallbackError)(error))return{triggeredStatus:(0,_httpaccessfallback.getAccessFallbackHTTPStatus)(error)};throw error}static getDerivedStateFromProps(props,state){return props.pathname!==state.previousPathname&&state.triggeredStatus?{triggeredStatus:void 0,previousPathname:props.pathname}:{triggeredStatus:state.triggeredStatus,previousPathname:props.pathname}}render(){let{notFound,forbidden,unauthorized,children}=this.props,{triggeredStatus}=this.state,errorComponents={[_httpaccessfallback.HTTPAccessErrorStatus.NOT_FOUND]:notFound,[_httpaccessfallback.HTTPAccessErrorStatus.FORBIDDEN]:forbidden,[_httpaccessfallback.HTTPAccessErrorStatus.UNAUTHORIZED]:unauthorized};if(triggeredStatus){let isNotFound=triggeredStatus===_httpaccessfallback.HTTPAccessErrorStatus.NOT_FOUND&¬Found,isForbidden=triggeredStatus===_httpaccessfallback.HTTPAccessErrorStatus.FORBIDDEN&&forbidden,isUnauthorized=triggeredStatus===_httpaccessfallback.HTTPAccessErrorStatus.UNAUTHORIZED&&unauthorized;return isNotFound||isForbidden||isUnauthorized?(0,_jsxruntime.jsxs)(_jsxruntime.Fragment,{children:[(0,_jsxruntime.jsx)("meta",{name:"robots",content:"noindex"}),!1,errorComponents[triggeredStatus]]}):children}return children}}function HTTPAccessFallbackBoundary({notFound,forbidden,unauthorized,children}){let pathname=(0,_navigationuntracked.useUntrackedPathname)(),missingSlots=(0,_react.useContext)(_approutercontextsharedruntime.MissingSlotContext);return notFound||forbidden||unauthorized?(0,_jsxruntime.jsx)(HTTPAccessFallbackErrorBoundary,{pathname:pathname,notFound:notFound,forbidden:forbidden,unauthorized:unauthorized,missingSlots:missingSlots,children:children}):(0,_jsxruntime.jsx)(_jsxruntime.Fragment,{children:children})}("function"==typeof exports.default||"object"==typeof exports.default&&null!==exports.default)&&void 0===exports.default.__esModule&&(Object.defineProperty(exports.default,"__esModule",{value:!0}),Object.assign(exports.default,exports),module.exports=exports.default)},41964,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"useRouterBFCache",{enumerable:!0,get:function(){return useRouterBFCache}});let _react=__turbopack_context__.r(88529);function useRouterBFCache(activeTree,activeStateKey){let[prevActiveEntry,setPrevActiveEntry]=(0,_react.useState)(()=>({tree:activeTree,stateKey:activeStateKey,next:null}));if(prevActiveEntry.tree===activeTree)return prevActiveEntry;let newActiveEntry={tree:activeTree,stateKey:activeStateKey,next:null},n=1,oldEntry=prevActiveEntry,clonedEntry=newActiveEntry;for(;null!==oldEntry&&n<1;){if(oldEntry.stateKey===activeStateKey){clonedEntry.next=oldEntry.next;break}{n++;let entry={tree:oldEntry.tree,stateKey:oldEntry.stateKey,next:null};clonedEntry.next=entry,clonedEntry=entry}oldEntry=oldEntry.next}return setPrevActiveEntry(newActiveEntry),newActiveEntry}("function"==typeof exports.default||"object"==typeof exports.default&&null!==exports.default)&&void 0===exports.default.__esModule&&(Object.defineProperty(exports.default,"__esModule",{value:!0}),Object.assign(exports.default,exports),module.exports=exports.default)},61771,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return OuterLayoutRouter}});let _interop_require_default=__turbopack_context__.r(81258),_interop_require_wildcard=__turbopack_context__.r(44066),_jsxruntime=__turbopack_context__.r(42989),_routerreducertypes=__turbopack_context__.r(24435),_react=_interop_require_wildcard._(__turbopack_context__.r(88529)),_reactdom=_interop_require_default._(__turbopack_context__.r(73838)),_approutercontextsharedruntime=__turbopack_context__.r(98041),_fetchserverresponse=__turbopack_context__.r(28134),_unresolvedthenable=__turbopack_context__.r(58199),_errorboundary=__turbopack_context__.r(298),_matchsegments=__turbopack_context__.r(15561),_disablesmoothscroll=__turbopack_context__.r(80870),_redirectboundary=__turbopack_context__.r(53469),_errorboundary1=__turbopack_context__.r(15808),_createroutercachekey=__turbopack_context__.r(32731),_hasinterceptionrouteincurrenttree=__turbopack_context__.r(64689),_useactionqueue=__turbopack_context__.r(6587),_bfcache=__turbopack_context__.r(41964);__turbopack_context__.r(59023);let _hooksclientcontextsharedruntime=__turbopack_context__.r(79),_routeparams=__turbopack_context__.r(93347);function walkAddRefetch(segmentPathToWalk,treeToRecreate){if(segmentPathToWalk){let[segment,parallelRouteKey]=segmentPathToWalk,isLast=2===segmentPathToWalk.length;if((0,_matchsegments.matchSegment)(treeToRecreate[0],segment)&&treeToRecreate[1].hasOwnProperty(parallelRouteKey)){if(isLast){let subTree=walkAddRefetch(void 0,treeToRecreate[1][parallelRouteKey]);return[treeToRecreate[0],{...treeToRecreate[1],[parallelRouteKey]:[subTree[0],subTree[1],subTree[2],"refetch"]}]}return[treeToRecreate[0],{...treeToRecreate[1],[parallelRouteKey]:walkAddRefetch(segmentPathToWalk.slice(2),treeToRecreate[1][parallelRouteKey])}]}}return treeToRecreate}let __DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=_reactdom.default.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function findDOMNode(instance){return"undefined"==typeof window?null:(0,__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE.findDOMNode)(instance)}let rectProperties=["bottom","height","left","right","top","width","x","y"];function shouldSkipElement(element){if(["sticky","fixed"].includes(getComputedStyle(element).position))return!0;let rect=element.getBoundingClientRect();return rectProperties.every(item=>0===rect[item])}function topOfElementInViewport(element,viewportHeight){let rect=element.getBoundingClientRect();return rect.top>=0&&rect.top<=viewportHeight}function getHashFragmentDomNode(hashFragment){return"top"===hashFragment?document.body:document.getElementById(hashFragment)??document.getElementsByName(hashFragment)[0]}class InnerScrollAndFocusHandler extends _react.default.Component{componentDidMount(){this.handlePotentialScroll()}componentDidUpdate(){this.props.focusAndScrollRef.apply&&this.handlePotentialScroll()}render(){return this.props.children}constructor(...args){super(...args),this.handlePotentialScroll=()=>{let{focusAndScrollRef,segmentPath}=this.props;if(focusAndScrollRef.apply){if(0!==focusAndScrollRef.segmentPaths.length&&!focusAndScrollRef.segmentPaths.some(scrollRefSegmentPath=>segmentPath.every((segment,index)=>(0,_matchsegments.matchSegment)(segment,scrollRefSegmentPath[index]))))return;let domNode=null,hashFragment=focusAndScrollRef.hashFragment;if(hashFragment&&(domNode=getHashFragmentDomNode(hashFragment)),domNode||(domNode=findDOMNode(this)),!(domNode instanceof Element))return;for(;!(domNode instanceof HTMLElement)||shouldSkipElement(domNode);){if(null===domNode.nextElementSibling)return;domNode=domNode.nextElementSibling}focusAndScrollRef.apply=!1,focusAndScrollRef.hashFragment=null,focusAndScrollRef.segmentPaths=[],(0,_disablesmoothscroll.disableSmoothScrollDuringRouteTransition)(()=>{if(hashFragment)return void domNode.scrollIntoView();let htmlElement=document.documentElement,viewportHeight=htmlElement.clientHeight;!topOfElementInViewport(domNode,viewportHeight)&&(htmlElement.scrollTop=0,topOfElementInViewport(domNode,viewportHeight)||domNode.scrollIntoView())},{dontForceLayout:!0,onlyHashChange:focusAndScrollRef.onlyHashChange}),focusAndScrollRef.onlyHashChange=!1,domNode.focus()}}}}function ScrollAndFocusHandler({segmentPath,children}){let context=(0,_react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);if(!context)throw Object.defineProperty(Error("invariant global layout router not mounted"),"__NEXT_ERROR_CODE",{value:"E473",enumerable:!1,configurable:!0});return(0,_jsxruntime.jsx)(InnerScrollAndFocusHandler,{segmentPath:segmentPath,focusAndScrollRef:context.focusAndScrollRef,children:children})}function InnerLayoutRouter({tree,segmentPath,debugNameContext,cacheNode,params,url,isActive}){let context=(0,_react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);if((0,_react.useContext)(_hooksclientcontextsharedruntime.NavigationPromisesContext),!context)throw Object.defineProperty(Error("invariant global layout router not mounted"),"__NEXT_ERROR_CODE",{value:"E473",enumerable:!1,configurable:!0});let{tree:fullTree}=context,resolvedPrefetchRsc=null!==cacheNode.prefetchRsc?cacheNode.prefetchRsc:cacheNode.rsc,rsc=(0,_react.useDeferredValue)(cacheNode.rsc,resolvedPrefetchRsc),resolvedRsc="object"==typeof rsc&&null!==rsc&&"function"==typeof rsc.then?(0,_react.use)(rsc):rsc;if(!resolvedRsc){if(isActive){let lazyData=cacheNode.lazyData;if(null===lazyData){let refetchTree=walkAddRefetch(["",...segmentPath],fullTree),includeNextUrl=(0,_hasinterceptionrouteincurrenttree.hasInterceptionRouteInCurrentTree)(fullTree),navigatedAt=Date.now();cacheNode.lazyData=lazyData=(0,_fetchserverresponse.fetchServerResponse)(new URL(url,location.origin),{flightRouterState:refetchTree,nextUrl:includeNextUrl?context.previousNextUrl||context.nextUrl:null}).then(serverResponse=>((0,_react.startTransition)(()=>{(0,_useactionqueue.dispatchAppRouterAction)({type:_routerreducertypes.ACTION_SERVER_PATCH,previousTree:fullTree,serverResponse,navigatedAt})}),serverResponse)),(0,_react.use)(lazyData)}}(0,_react.use)(_unresolvedthenable.unresolvedThenable)}return(0,_jsxruntime.jsx)(_approutercontextsharedruntime.LayoutRouterContext.Provider,{value:{parentTree:tree,parentCacheNode:cacheNode,parentSegmentPath:segmentPath,parentParams:params,debugNameContext:debugNameContext,url:url,isActive:isActive},children:resolvedRsc})}function LoadingBoundary({name,loading,children}){let loadingModuleData;if(loadingModuleData="object"==typeof loading&&null!==loading&&"function"==typeof loading.then?(0,_react.use)(loading):loading){let loadingRsc=loadingModuleData[0],loadingStyles=loadingModuleData[1],loadingScripts=loadingModuleData[2];return(0,_jsxruntime.jsx)(_react.Suspense,{name:name,fallback:(0,_jsxruntime.jsxs)(_jsxruntime.Fragment,{children:[loadingStyles,loadingScripts,loadingRsc]}),children:children})}return(0,_jsxruntime.jsx)(_jsxruntime.Fragment,{children:children})}function OuterLayoutRouter({parallelRouterKey,error,errorStyles,errorScripts,templateStyles,templateScripts,template,notFound,forbidden,unauthorized,segmentViewBoundaries}){let context=(0,_react.useContext)(_approutercontextsharedruntime.LayoutRouterContext);if(!context)throw Object.defineProperty(Error("invariant expected layout router to be mounted"),"__NEXT_ERROR_CODE",{value:"E56",enumerable:!1,configurable:!0});let{parentTree,parentCacheNode,parentSegmentPath,parentParams,url,isActive,debugNameContext}=context,parentParallelRoutes=parentCacheNode.parallelRoutes,segmentMap=parentParallelRoutes.get(parallelRouterKey);segmentMap||(segmentMap=new Map,parentParallelRoutes.set(parallelRouterKey,segmentMap));let parentTreeSegment=parentTree[0],segmentPath=null===parentSegmentPath?[parallelRouterKey]:parentSegmentPath.concat([parentTreeSegment,parallelRouterKey]),activeTree=parentTree[1][parallelRouterKey],activeSegment=activeTree[0],activeStateKey=(0,_createroutercachekey.createRouterCacheKey)(activeSegment,!0),bfcacheEntry=(0,_bfcache.useRouterBFCache)(activeTree,activeStateKey),children=[];do{let tree=bfcacheEntry.tree,stateKey=bfcacheEntry.stateKey,segment=tree[0],cacheKey=(0,_createroutercachekey.createRouterCacheKey)(segment),cacheNode=segmentMap.get(cacheKey);if(void 0===cacheNode){let newLazyCacheNode={lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null,navigatedAt:-1};cacheNode=newLazyCacheNode,segmentMap.set(cacheKey,newLazyCacheNode)}let params=parentParams;if(Array.isArray(segment)){let paramName=segment[0],paramCacheKey=segment[1],paramType=segment[2],paramValue=(0,_routeparams.getParamValueFromCacheKey)(paramCacheKey,paramType);null!==paramValue&&(params={...parentParams,[paramName]:paramValue})}let debugName=getBoundaryDebugNameFromSegment(segment),childDebugNameContext=debugName??debugNameContext,debugNameToDisplay=void 0===debugName?void 0:debugNameContext,loadingModuleData=parentCacheNode.loading,child=(0,_jsxruntime.jsxs)(_approutercontextsharedruntime.TemplateContext.Provider,{value:(0,_jsxruntime.jsxs)(ScrollAndFocusHandler,{segmentPath:segmentPath,children:[(0,_jsxruntime.jsx)(_errorboundary.ErrorBoundary,{errorComponent:error,errorStyles:errorStyles,errorScripts:errorScripts,children:(0,_jsxruntime.jsx)(LoadingBoundary,{name:debugNameToDisplay,loading:loadingModuleData,children:(0,_jsxruntime.jsx)(_errorboundary1.HTTPAccessFallbackBoundary,{notFound:notFound,forbidden:forbidden,unauthorized:unauthorized,children:(0,_jsxruntime.jsxs)(_redirectboundary.RedirectBoundary,{children:[(0,_jsxruntime.jsx)(InnerLayoutRouter,{url:url,tree:tree,params:params,cacheNode:cacheNode,segmentPath:segmentPath,debugNameContext:childDebugNameContext,isActive:isActive&&stateKey===activeStateKey}),null]})})})}),null]}),children:[templateStyles,templateScripts,template]},stateKey);children.push(child),bfcacheEntry=bfcacheEntry.next}while(null!==bfcacheEntry)return children}function getBoundaryDebugNameFromSegment(segment){if("/"===segment)return"/";if("string"==typeof segment)if(isVirtualLayout(segment))return;else return segment+"/";return segment[1]+"/"}function isVirtualLayout(segment){return"(slot)"===segment}("function"==typeof exports.default||"object"==typeof exports.default&&null!==exports.default)&&void 0===exports.default.__esModule&&(Object.defineProperty(exports.default,"__esModule",{value:!0}),Object.assign(exports.default,exports),module.exports=exports.default)},8944,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return RenderFromTemplateContext}});let _interop_require_wildcard=__turbopack_context__.r(44066),_jsxruntime=__turbopack_context__.r(42989),_react=_interop_require_wildcard._(__turbopack_context__.r(88529)),_approutercontextsharedruntime=__turbopack_context__.r(98041);function RenderFromTemplateContext(){let children=(0,_react.useContext)(_approutercontextsharedruntime.TemplateContext);return(0,_jsxruntime.jsx)(_jsxruntime.Fragment,{children:children})}("function"==typeof exports.default||"object"==typeof exports.default&&null!==exports.default)&&void 0===exports.default.__esModule&&(Object.defineProperty(exports.default,"__esModule",{value:!0}),Object.assign(exports.default,exports),module.exports=exports.default)},83344,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"createRenderSearchParamsFromClient",{enumerable:!0,get:function(){return createRenderSearchParamsFromClient}});let CachedSearchParams=new WeakMap;function makeUntrackedSearchParams(underlyingSearchParams){let cachedSearchParams=CachedSearchParams.get(underlyingSearchParams);if(cachedSearchParams)return cachedSearchParams;let promise=Promise.resolve(underlyingSearchParams);return CachedSearchParams.set(underlyingSearchParams,promise),promise}function createRenderSearchParamsFromClient(underlyingSearchParams){return makeUntrackedSearchParams(underlyingSearchParams)}("function"==typeof exports.default||"object"==typeof exports.default&&null!==exports.default)&&void 0===exports.default.__esModule&&(Object.defineProperty(exports.default,"__esModule",{value:!0}),Object.assign(exports.default,exports),module.exports=exports.default)},880,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"createRenderSearchParamsFromClient",{enumerable:!0,get:function(){return createRenderSearchParamsFromClient}});let createRenderSearchParamsFromClient=__turbopack_context__.r(83344).createRenderSearchParamsFromClient;("function"==typeof exports.default||"object"==typeof exports.default&&null!==exports.default)&&void 0===exports.default.__esModule&&(Object.defineProperty(exports.default,"__esModule",{value:!0}),Object.assign(exports.default,exports),module.exports=exports.default)},42874,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"createRenderParamsFromClient",{enumerable:!0,get:function(){return createRenderParamsFromClient}});let CachedParams=new WeakMap;function makeUntrackedParams(underlyingParams){let cachedParams=CachedParams.get(underlyingParams);if(cachedParams)return cachedParams;let promise=Promise.resolve(underlyingParams);return CachedParams.set(underlyingParams,promise),promise}function createRenderParamsFromClient(clientParams){return makeUntrackedParams(clientParams)}("function"==typeof exports.default||"object"==typeof exports.default&&null!==exports.default)&&void 0===exports.default.__esModule&&(Object.defineProperty(exports.default,"__esModule",{value:!0}),Object.assign(exports.default,exports),module.exports=exports.default)},54269,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"createRenderParamsFromClient",{enumerable:!0,get:function(){return createRenderParamsFromClient}});let createRenderParamsFromClient=__turbopack_context__.r(42874).createRenderParamsFromClient;("function"==typeof exports.default||"object"==typeof exports.default&&null!==exports.default)&&void 0===exports.default.__esModule&&(Object.defineProperty(exports.default,"__esModule",{value:!0}),Object.assign(exports.default,exports),module.exports=exports.default)},69589,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"ReflectAdapter",{enumerable:!0,get:function(){return ReflectAdapter}});class ReflectAdapter{static get(target,prop,receiver){let value=Reflect.get(target,prop,receiver);return"function"==typeof value?value.bind(target):value}static set(target,prop,value,receiver){return Reflect.set(target,prop,value,receiver)}static has(target,prop){return Reflect.has(target,prop)}static deleteProperty(target,prop){return Reflect.deleteProperty(target,prop)}}},46035,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"createDedupedByCallsiteServerErrorLoggerDev",{enumerable:!0,get:function(){return createDedupedByCallsiteServerErrorLoggerDev}});let _react=_interop_require_wildcard(__turbopack_context__.r(88529));function _getRequireWildcardCache(nodeInterop){if("function"!=typeof WeakMap)return null;var cacheBabelInterop=new WeakMap,cacheNodeInterop=new WeakMap;return(_getRequireWildcardCache=function(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop})(nodeInterop)}function _interop_require_wildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule)return obj;if(null===obj||"object"!=typeof obj&&"function"!=typeof obj)return{default:obj};var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj))return cache.get(obj);var newObj={__proto__:null},hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj)if("default"!==key&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;desc&&(desc.get||desc.set)?Object.defineProperty(newObj,key,desc):newObj[key]=obj[key]}return newObj.default=obj,cache&&cache.set(obj,newObj),newObj}let errorRef={current:null},cache="function"==typeof _react.cache?_react.cache:fn=>fn,logErrorOrWarn=console.warn;function createDedupedByCallsiteServerErrorLoggerDev(getMessage){return function logDedupedError(...args){logErrorOrWarn(getMessage(...args))}}cache(key=>{try{logErrorOrWarn(errorRef.current)}finally{errorRef.current=null}})},15536,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:all[name]})}(exports,{describeHasCheckingStringProperty:function(){return describeHasCheckingStringProperty},describeStringPropertyAccess:function(){return describeStringPropertyAccess},wellKnownProperties:function(){return wellKnownProperties}});let isDefinitelyAValidIdentifier=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function describeStringPropertyAccess(target,prop){return isDefinitelyAValidIdentifier.test(prop)?`\`${target}.${prop}\``:`\`${target}[${JSON.stringify(prop)}]\``}function describeHasCheckingStringProperty(target,prop){let stringifiedProp=JSON.stringify(prop);return`\`Reflect.has(${target}, ${stringifiedProp})\`, \`${stringifiedProp} in ${target}\`, or similar`}let wellKnownProperties=new Set(["hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toString","valueOf","toLocaleString","then","catch","finally","status","displayName","_debugInfo","toJSON","$$typeof","__esModule"])},84065,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"afterTaskAsyncStorageInstance",{enumerable:!0,get:function(){return afterTaskAsyncStorageInstance}});let afterTaskAsyncStorageInstance=(0,__turbopack_context__.r(76612).createAsyncLocalStorage)()},53221,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"afterTaskAsyncStorage",{enumerable:!0,get:function(){return _aftertaskasyncstorageinstance.afterTaskAsyncStorageInstance}});let _aftertaskasyncstorageinstance=__turbopack_context__.r(84065)},87761,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:all[name]})}(exports,{isRequestAPICallableInsideAfter:function(){return isRequestAPICallableInsideAfter},throwForSearchParamsAccessInUseCache:function(){return throwForSearchParamsAccessInUseCache},throwWithStaticGenerationBailoutErrorWithDynamicError:function(){return throwWithStaticGenerationBailoutErrorWithDynamicError}});let _staticgenerationbailout=__turbopack_context__.r(86143),_aftertaskasyncstorageexternal=__turbopack_context__.r(53221);function throwWithStaticGenerationBailoutErrorWithDynamicError(route,expression){throw Object.defineProperty(new _staticgenerationbailout.StaticGenBailoutError(`Route ${route} with \`dynamic = "error"\` couldn't be rendered statically because it used ${expression}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E543",enumerable:!1,configurable:!0})}function throwForSearchParamsAccessInUseCache(workStore,constructorOpt){let error=Object.defineProperty(Error(`Route ${workStore.route} used \`searchParams\` inside "use cache". Accessing dynamic request data inside a cache scope is not supported. If you need some search params inside a cached function await \`searchParams\` outside of the cached function and pass only the required search params as arguments to the cached function. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E842",enumerable:!1,configurable:!0});throw Error.captureStackTrace(error,constructorOpt),workStore.invalidDynamicUsageError??=error,error}function isRequestAPICallableInsideAfter(){let afterTaskStore=_aftertaskasyncstorageexternal.afterTaskAsyncStorage.getStore();return(null==afterTaskStore?void 0:afterTaskStore.rootTaskSpawnPhase)==="action"}},29787,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:all[name]})}(exports,{createPrerenderSearchParamsForClientPage:function(){return createPrerenderSearchParamsForClientPage},createSearchParamsFromClient:function(){return createSearchParamsFromClient},createServerSearchParamsForMetadata:function(){return createServerSearchParamsForMetadata},createServerSearchParamsForServerPage:function(){return createServerSearchParamsForServerPage},makeErroringSearchParamsForUseCache:function(){return makeErroringSearchParamsForUseCache}});let _reflect=__turbopack_context__.r(69589),_dynamicrendering=__turbopack_context__.r(40205),_workunitasyncstorageexternal=__turbopack_context__.r(63360),_invarianterror=__turbopack_context__.r(31184),_dynamicrenderingutils=__turbopack_context__.r(63285),_creatededupedbycallsiteservererrorlogger=__turbopack_context__.r(46035),_reflectutils=__turbopack_context__.r(15536),_utils=__turbopack_context__.r(87761);function createSearchParamsFromClient(underlyingSearchParams,workStore){let workUnitStore=_workunitasyncstorageexternal.workUnitAsyncStorage.getStore();if(workUnitStore)switch(workUnitStore.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return createStaticPrerenderSearchParams(workStore,workUnitStore);case"prerender-runtime":throw Object.defineProperty(new _invarianterror.InvariantError("createSearchParamsFromClient should not be called in a runtime prerender."),"__NEXT_ERROR_CODE",{value:"E769",enumerable:!1,configurable:!0});case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new _invarianterror.InvariantError("createSearchParamsFromClient should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E739",enumerable:!1,configurable:!0});case"request":return createRenderSearchParams(underlyingSearchParams,workStore,workUnitStore)}(0,_workunitasyncstorageexternal.throwInvariantForMissingStore)()}__turbopack_context__.r(52534);let createServerSearchParamsForMetadata=createServerSearchParamsForServerPage;function createServerSearchParamsForServerPage(underlyingSearchParams,workStore){let workUnitStore=_workunitasyncstorageexternal.workUnitAsyncStorage.getStore();if(workUnitStore)switch(workUnitStore.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return createStaticPrerenderSearchParams(workStore,workUnitStore);case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new _invarianterror.InvariantError("createServerSearchParamsForServerPage should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E747",enumerable:!1,configurable:!0});case"prerender-runtime":return createRuntimePrerenderSearchParams(underlyingSearchParams,workUnitStore);case"request":return createRenderSearchParams(underlyingSearchParams,workStore,workUnitStore)}(0,_workunitasyncstorageexternal.throwInvariantForMissingStore)()}function createPrerenderSearchParamsForClientPage(workStore){if(workStore.forceStatic)return Promise.resolve({});let workUnitStore=_workunitasyncstorageexternal.workUnitAsyncStorage.getStore();if(workUnitStore)switch(workUnitStore.type){case"prerender":case"prerender-client":return(0,_dynamicrenderingutils.makeHangingPromise)(workUnitStore.renderSignal,workStore.route,"`searchParams`");case"prerender-runtime":throw Object.defineProperty(new _invarianterror.InvariantError("createPrerenderSearchParamsForClientPage should not be called in a runtime prerender."),"__NEXT_ERROR_CODE",{value:"E768",enumerable:!1,configurable:!0});case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new _invarianterror.InvariantError("createPrerenderSearchParamsForClientPage should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E746",enumerable:!1,configurable:!0});case"prerender-ppr":case"prerender-legacy":case"request":return Promise.resolve({})}(0,_workunitasyncstorageexternal.throwInvariantForMissingStore)()}function createStaticPrerenderSearchParams(workStore,prerenderStore){if(workStore.forceStatic)return Promise.resolve({});switch(prerenderStore.type){case"prerender":case"prerender-client":return makeHangingSearchParams(workStore,prerenderStore);case"prerender-ppr":case"prerender-legacy":return makeErroringSearchParams(workStore,prerenderStore);default:return prerenderStore}}function createRuntimePrerenderSearchParams(underlyingSearchParams,workUnitStore){return(0,_dynamicrendering.delayUntilRuntimeStage)(workUnitStore,makeUntrackedSearchParams(underlyingSearchParams))}function createRenderSearchParams(underlyingSearchParams,workStore,requestStore){return workStore.forceStatic?Promise.resolve({}):makeUntrackedSearchParams(underlyingSearchParams)}let CachedSearchParams=new WeakMap,CachedSearchParamsForUseCache=new WeakMap;function makeHangingSearchParams(workStore,prerenderStore){let cachedSearchParams=CachedSearchParams.get(prerenderStore);if(cachedSearchParams)return cachedSearchParams;let promise=(0,_dynamicrenderingutils.makeHangingPromise)(prerenderStore.renderSignal,workStore.route,"`searchParams`"),proxiedPromise=new Proxy(promise,{get(target,prop,receiver){if(Object.hasOwn(promise,prop))return _reflect.ReflectAdapter.get(target,prop,receiver);switch(prop){case"then":return(0,_dynamicrendering.annotateDynamicAccess)("`await searchParams`, `searchParams.then`, or similar",prerenderStore),_reflect.ReflectAdapter.get(target,prop,receiver);case"status":return(0,_dynamicrendering.annotateDynamicAccess)("`use(searchParams)`, `searchParams.status`, or similar",prerenderStore),_reflect.ReflectAdapter.get(target,prop,receiver);default:return _reflect.ReflectAdapter.get(target,prop,receiver)}}});return CachedSearchParams.set(prerenderStore,proxiedPromise),proxiedPromise}function makeErroringSearchParams(workStore,prerenderStore){let cachedSearchParams=CachedSearchParams.get(workStore);if(cachedSearchParams)return cachedSearchParams;let promise=Promise.resolve({}),proxiedPromise=new Proxy(promise,{get(target,prop,receiver){if(Object.hasOwn(promise,prop))return _reflect.ReflectAdapter.get(target,prop,receiver);if("string"==typeof prop&&"then"===prop){let expression="`await searchParams`, `searchParams.then`, or similar";workStore.dynamicShouldError?(0,_utils.throwWithStaticGenerationBailoutErrorWithDynamicError)(workStore.route,expression):"prerender-ppr"===prerenderStore.type?(0,_dynamicrendering.postponeWithTracking)(workStore.route,expression,prerenderStore.dynamicTracking):(0,_dynamicrendering.throwToInterruptStaticGeneration)(expression,workStore,prerenderStore)}return _reflect.ReflectAdapter.get(target,prop,receiver)}});return CachedSearchParams.set(workStore,proxiedPromise),proxiedPromise}function makeErroringSearchParamsForUseCache(workStore){let cachedSearchParams=CachedSearchParamsForUseCache.get(workStore);if(cachedSearchParams)return cachedSearchParams;let promise=Promise.resolve({}),proxiedPromise=new Proxy(promise,{get:function get(target,prop,receiver){return Object.hasOwn(promise,prop)||"string"!=typeof prop||"then"!==prop&&_reflectutils.wellKnownProperties.has(prop)||(0,_utils.throwForSearchParamsAccessInUseCache)(workStore,get),_reflect.ReflectAdapter.get(target,prop,receiver)}});return CachedSearchParamsForUseCache.set(workStore,proxiedPromise),proxiedPromise}function makeUntrackedSearchParams(underlyingSearchParams){let cachedSearchParams=CachedSearchParams.get(underlyingSearchParams);if(cachedSearchParams)return cachedSearchParams;let promise=Promise.resolve(underlyingSearchParams);return CachedSearchParams.set(underlyingSearchParams,promise),promise}function createSearchAccessError(route,expression){let prefix=route?`Route "${route}" `:"This route ";return Object.defineProperty(Error(`${prefix}used ${expression}. \`searchParams\` is a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E848",enumerable:!1,configurable:!0})}(0,_creatededupedbycallsiteservererrorlogger.createDedupedByCallsiteServerErrorLoggerDev)(createSearchAccessError)},50501,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"dynamicAccessAsyncStorageInstance",{enumerable:!0,get:function(){return dynamicAccessAsyncStorageInstance}});let dynamicAccessAsyncStorageInstance=(0,__turbopack_context__.r(76612).createAsyncLocalStorage)()},45064,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"dynamicAccessAsyncStorage",{enumerable:!0,get:function(){return _dynamicaccessasyncstorageinstance.dynamicAccessAsyncStorageInstance}});let _dynamicaccessasyncstorageinstance=__turbopack_context__.r(50501)},19354,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:all[name]})}(exports,{createParamsFromClient:function(){return createParamsFromClient},createPrerenderParamsForClientSegment:function(){return createPrerenderParamsForClientSegment},createServerParamsForMetadata:function(){return createServerParamsForMetadata},createServerParamsForRoute:function(){return createServerParamsForRoute},createServerParamsForServerSegment:function(){return createServerParamsForServerSegment}});let _workasyncstorageexternal=__turbopack_context__.r(33617),_reflect=__turbopack_context__.r(69589),_dynamicrendering=__turbopack_context__.r(40205),_workunitasyncstorageexternal=__turbopack_context__.r(63360),_invarianterror=__turbopack_context__.r(31184),_reflectutils=__turbopack_context__.r(15536),_dynamicrenderingutils=__turbopack_context__.r(63285),_creatededupedbycallsiteservererrorlogger=__turbopack_context__.r(46035),_dynamicaccessasyncstorageexternal=__turbopack_context__.r(45064);function createParamsFromClient(underlyingParams,workStore){let workUnitStore=_workunitasyncstorageexternal.workUnitAsyncStorage.getStore();if(workUnitStore)switch(workUnitStore.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return createStaticPrerenderParams(underlyingParams,workStore,workUnitStore);case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new _invarianterror.InvariantError("createParamsFromClient should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E736",enumerable:!1,configurable:!0});case"prerender-runtime":throw Object.defineProperty(new _invarianterror.InvariantError("createParamsFromClient should not be called in a runtime prerender."),"__NEXT_ERROR_CODE",{value:"E770",enumerable:!1,configurable:!0});case"request":return makeUntrackedParams(underlyingParams)}(0,_workunitasyncstorageexternal.throwInvariantForMissingStore)()}__turbopack_context__.r(52534);let createServerParamsForMetadata=createServerParamsForServerSegment;function createServerParamsForRoute(underlyingParams,workStore){let workUnitStore=_workunitasyncstorageexternal.workUnitAsyncStorage.getStore();if(workUnitStore)switch(workUnitStore.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return createStaticPrerenderParams(underlyingParams,workStore,workUnitStore);case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new _invarianterror.InvariantError("createServerParamsForRoute should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E738",enumerable:!1,configurable:!0});case"prerender-runtime":return createRuntimePrerenderParams(underlyingParams,workUnitStore);case"request":return makeUntrackedParams(underlyingParams)}(0,_workunitasyncstorageexternal.throwInvariantForMissingStore)()}function createServerParamsForServerSegment(underlyingParams,workStore){let workUnitStore=_workunitasyncstorageexternal.workUnitAsyncStorage.getStore();if(workUnitStore)switch(workUnitStore.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return createStaticPrerenderParams(underlyingParams,workStore,workUnitStore);case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new _invarianterror.InvariantError("createServerParamsForServerSegment should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E743",enumerable:!1,configurable:!0});case"prerender-runtime":return createRuntimePrerenderParams(underlyingParams,workUnitStore);case"request":return makeUntrackedParams(underlyingParams)}(0,_workunitasyncstorageexternal.throwInvariantForMissingStore)()}function createPrerenderParamsForClientSegment(underlyingParams){let workStore=_workasyncstorageexternal.workAsyncStorage.getStore();if(!workStore)throw Object.defineProperty(new _invarianterror.InvariantError("Missing workStore in createPrerenderParamsForClientSegment"),"__NEXT_ERROR_CODE",{value:"E773",enumerable:!1,configurable:!0});let workUnitStore=_workunitasyncstorageexternal.workUnitAsyncStorage.getStore();if(workUnitStore)switch(workUnitStore.type){case"prerender":case"prerender-client":let fallbackParams=workUnitStore.fallbackRouteParams;if(fallbackParams){for(let key in underlyingParams)if(fallbackParams.has(key))return(0,_dynamicrenderingutils.makeHangingPromise)(workUnitStore.renderSignal,workStore.route,"`params`")}break;case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new _invarianterror.InvariantError("createPrerenderParamsForClientSegment should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E734",enumerable:!1,configurable:!0})}return Promise.resolve(underlyingParams)}function createStaticPrerenderParams(underlyingParams,workStore,prerenderStore){switch(prerenderStore.type){case"prerender":case"prerender-client":{let fallbackParams=prerenderStore.fallbackRouteParams;if(fallbackParams){for(let key in underlyingParams)if(fallbackParams.has(key))return makeHangingParams(underlyingParams,workStore,prerenderStore)}break}case"prerender-ppr":{let fallbackParams=prerenderStore.fallbackRouteParams;if(fallbackParams){for(let key in underlyingParams)if(fallbackParams.has(key))return makeErroringParams(underlyingParams,fallbackParams,workStore,prerenderStore)}}}return makeUntrackedParams(underlyingParams)}function createRuntimePrerenderParams(underlyingParams,workUnitStore){return(0,_dynamicrendering.delayUntilRuntimeStage)(workUnitStore,makeUntrackedParams(underlyingParams))}let CachedParams=new WeakMap,fallbackParamsProxyHandler={get:function get(target,prop,receiver){if("then"===prop||"catch"===prop||"finally"===prop){let originalMethod=_reflect.ReflectAdapter.get(target,prop,receiver);return({[prop]:(...args)=>{let store=_dynamicaccessasyncstorageexternal.dynamicAccessAsyncStorage.getStore();return store&&store.abortController.abort(Object.defineProperty(Error("Accessed fallback `params` during prerendering."),"__NEXT_ERROR_CODE",{value:"E691",enumerable:!1,configurable:!0})),new Proxy(originalMethod.apply(target,args),fallbackParamsProxyHandler)}})[prop]}return _reflect.ReflectAdapter.get(target,prop,receiver)}};function makeHangingParams(underlyingParams,workStore,prerenderStore){let cachedParams=CachedParams.get(underlyingParams);if(cachedParams)return cachedParams;let promise=new Proxy((0,_dynamicrenderingutils.makeHangingPromise)(prerenderStore.renderSignal,workStore.route,"`params`"),fallbackParamsProxyHandler);return CachedParams.set(underlyingParams,promise),promise}function makeErroringParams(underlyingParams,fallbackParams,workStore,prerenderStore){let cachedParams=CachedParams.get(underlyingParams);if(cachedParams)return cachedParams;let augmentedUnderlying={...underlyingParams},promise=Promise.resolve(augmentedUnderlying);return CachedParams.set(underlyingParams,promise),Object.keys(underlyingParams).forEach(prop=>{_reflectutils.wellKnownProperties.has(prop)||fallbackParams.has(prop)&&Object.defineProperty(augmentedUnderlying,prop,{get(){let expression=(0,_reflectutils.describeStringPropertyAccess)("params",prop);"prerender-ppr"===prerenderStore.type?(0,_dynamicrendering.postponeWithTracking)(workStore.route,expression,prerenderStore.dynamicTracking):(0,_dynamicrendering.throwToInterruptStaticGeneration)(expression,workStore,prerenderStore)},enumerable:!0})}),promise}function makeUntrackedParams(underlyingParams){let cachedParams=CachedParams.get(underlyingParams);if(cachedParams)return cachedParams;let promise=Promise.resolve(underlyingParams);return CachedParams.set(underlyingParams,promise),promise}function createParamsAccessError(route,expression){let prefix=route?`Route "${route}" `:"This route ";return Object.defineProperty(Error(`${prefix}used ${expression}. \`params\` is a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E834",enumerable:!1,configurable:!0})}(0,_creatededupedbycallsiteservererrorlogger.createDedupedByCallsiteServerErrorLoggerDev)(createParamsAccessError)},21172,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"ClientPageRoot",{enumerable:!0,get:function(){return ClientPageRoot}});let _jsxruntime=__turbopack_context__.r(42989),_invarianterror=__turbopack_context__.r(31184),_approutercontextsharedruntime=__turbopack_context__.r(98041),_react=__turbopack_context__.r(88529),_routeparams=__turbopack_context__.r(93347),_hooksclientcontextsharedruntime=__turbopack_context__.r(79);function ClientPageRoot({Component,serverProvidedParams}){let searchParams,params;if(null!==serverProvidedParams)searchParams=serverProvidedParams.searchParams,params=serverProvidedParams.params;else{let layoutRouterContext=(0,_react.use)(_approutercontextsharedruntime.LayoutRouterContext);params=null!==layoutRouterContext?layoutRouterContext.parentParams:{},searchParams=(0,_routeparams.urlSearchParamsToParsedUrlQuery)((0,_react.use)(_hooksclientcontextsharedruntime.SearchParamsContext))}if("undefined"==typeof window){let clientSearchParams,clientParams,{workAsyncStorage}=__turbopack_context__.r(33617),store=workAsyncStorage.getStore();if(!store)throw Object.defineProperty(new _invarianterror.InvariantError("Expected workStore to exist when handling searchParams in a client Page."),"__NEXT_ERROR_CODE",{value:"E564",enumerable:!1,configurable:!0});let{createSearchParamsFromClient}=__turbopack_context__.r(29787);clientSearchParams=createSearchParamsFromClient(searchParams,store);let{createParamsFromClient}=__turbopack_context__.r(19354);return clientParams=createParamsFromClient(params,store),(0,_jsxruntime.jsx)(Component,{params:clientParams,searchParams:clientSearchParams})}{let{createRenderSearchParamsFromClient}=__turbopack_context__.r(880),clientSearchParams=createRenderSearchParamsFromClient(searchParams),{createRenderParamsFromClient}=__turbopack_context__.r(54269),clientParams=createRenderParamsFromClient(params);return(0,_jsxruntime.jsx)(Component,{params:clientParams,searchParams:clientSearchParams})}}("function"==typeof exports.default||"object"==typeof exports.default&&null!==exports.default)&&void 0===exports.default.__esModule&&(Object.defineProperty(exports.default,"__esModule",{value:!0}),Object.assign(exports.default,exports),module.exports=exports.default)},76928,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"ClientSegmentRoot",{enumerable:!0,get:function(){return ClientSegmentRoot}});let _jsxruntime=__turbopack_context__.r(42989),_invarianterror=__turbopack_context__.r(31184),_approutercontextsharedruntime=__turbopack_context__.r(98041),_react=__turbopack_context__.r(88529);function ClientSegmentRoot({Component,slots,serverProvidedParams}){let params;if(null!==serverProvidedParams)params=serverProvidedParams.params;else{let layoutRouterContext=(0,_react.use)(_approutercontextsharedruntime.LayoutRouterContext);params=null!==layoutRouterContext?layoutRouterContext.parentParams:{}}if("undefined"==typeof window){let clientParams,{workAsyncStorage}=__turbopack_context__.r(33617),store=workAsyncStorage.getStore();if(!store)throw Object.defineProperty(new _invarianterror.InvariantError("Expected workStore to exist when handling params in a client segment such as a Layout or Template."),"__NEXT_ERROR_CODE",{value:"E600",enumerable:!1,configurable:!0});let{createParamsFromClient}=__turbopack_context__.r(19354);return clientParams=createParamsFromClient(params,store),(0,_jsxruntime.jsx)(Component,{...slots,params:clientParams})}{let{createRenderParamsFromClient}=__turbopack_context__.r(54269),clientParams=createRenderParamsFromClient(params);return(0,_jsxruntime.jsx)(Component,{...slots,params:clientParams})}}("function"==typeof exports.default||"object"==typeof exports.default&&null!==exports.default)&&void 0===exports.default.__esModule&&(Object.defineProperty(exports.default,"__esModule",{value:!0}),Object.assign(exports.default,exports),module.exports=exports.default)},28926,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"IconMark",{enumerable:!0,get:function(){return IconMark}});let _jsxruntime=__turbopack_context__.r(42989),IconMark=()=>"undefined"!=typeof window?null:(0,_jsxruntime.jsx)("meta",{name:"«nxt-icon»"})}]); |
Sorry, the diff of this file is too big to display
| (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,{otherChunks:["static/chunks/05a4948264d8b1e9.js","static/chunks/841f412c015db2f2.js","static/chunks/bc55d54c3521b7a1.js"],runtimeModuleIds:[32903]}]),(()=>{let BACKEND;if(!Array.isArray(globalThis.TURBOPACK))return;let CHUNK_BASE_PATH="/_next/",REEXPORTED_OBJECTS=new WeakMap;function Context(module,exports){this.m=module,this.e=exports}let contextPrototype=Context.prototype,hasOwnProperty=Object.prototype.hasOwnProperty,toStringTag="undefined"!=typeof Symbol&&Symbol.toStringTag;function defineProp(obj,name,options){hasOwnProperty.call(obj,name)||Object.defineProperty(obj,name,options)}function getOverwrittenModule(moduleCache,id){let module=moduleCache[id];return module||(module=createModuleObject(id),moduleCache[id]=module),module}function createModuleObject(id){return{exports:{},error:void 0,id,namespaceObject:void 0}}function esm(exports,bindings){defineProp(exports,"__esModule",{value:!0}),toStringTag&&defineProp(exports,toStringTag,{value:"Module"});let i=0;for(;i<bindings.length;){let propName=bindings[i++],tagOrFunction=bindings[i++];if("number"==typeof tagOrFunction)if(0===tagOrFunction)defineProp(exports,propName,{value:bindings[i++],enumerable:!0,writable:!1});else throw Error(`unexpected tag: ${tagOrFunction}`);else"function"==typeof bindings[i]?defineProp(exports,propName,{get:tagOrFunction,set:bindings[i++],enumerable:!0}):defineProp(exports,propName,{get:tagOrFunction,enumerable:!0})}Object.seal(exports)}function ensureDynamicExports(module,exports){let reexportedObjects=REEXPORTED_OBJECTS.get(module);return reexportedObjects||(REEXPORTED_OBJECTS.set(module,reexportedObjects=[]),module.exports=module.namespaceObject=new Proxy(exports,{get(target,prop){if(hasOwnProperty.call(target,prop)||"default"===prop||"__esModule"===prop)return Reflect.get(target,prop);for(let obj of reexportedObjects){let value=Reflect.get(obj,prop);if(void 0!==value)return value}},ownKeys(target){let keys=Reflect.ownKeys(target);for(let obj of reexportedObjects)for(let key of Reflect.ownKeys(obj))"default"===key||keys.includes(key)||keys.push(key);return keys}})),reexportedObjects}function createGetter(obj,key){return()=>obj[key]}contextPrototype.s=function esmExport(bindings,id){let module,exports;null!=id?exports=(module=getOverwrittenModule(this.c,id)).exports:(module=this.m,exports=this.e),module.namespaceObject=exports,esm(exports,bindings)},contextPrototype.j=function dynamicExport(object,id){let module,exports;null!=id?exports=(module=getOverwrittenModule(this.c,id)).exports:(module=this.m,exports=this.e);let reexportedObjects=ensureDynamicExports(module,exports);"object"==typeof object&&null!==object&&reexportedObjects.push(object)},contextPrototype.v=function exportValue(value,id){(null!=id?getOverwrittenModule(this.c,id):this.m).exports=value},contextPrototype.n=function exportNamespace(namespace,id){let module;(module=null!=id?getOverwrittenModule(this.c,id):this.m).exports=module.namespaceObject=namespace};let getProto=Object.getPrototypeOf?obj=>Object.getPrototypeOf(obj):obj=>obj.__proto__,LEAF_PROTOTYPES=[null,getProto({}),getProto([]),getProto(getProto)];function interopEsm(raw,ns,allowExportDefault){let bindings=[],defaultLocation=-1;for(let current=raw;("object"==typeof current||"function"==typeof current)&&!LEAF_PROTOTYPES.includes(current);current=getProto(current))for(let key of Object.getOwnPropertyNames(current))bindings.push(key,createGetter(raw,key)),-1===defaultLocation&&"default"===key&&(defaultLocation=bindings.length-1);return allowExportDefault&&defaultLocation>=0||(defaultLocation>=0?bindings.splice(defaultLocation,1,0,raw):bindings.push("default",0,raw)),esm(ns,bindings),ns}function createNS(raw){return"function"==typeof raw?function(...args){return raw.apply(this,args)}:Object.create(null)}function esmImport(id){let module=getOrInstantiateModuleFromParent(id,this.m);if(module.namespaceObject)return module.namespaceObject;let raw=module.exports;return module.namespaceObject=interopEsm(raw,createNS(raw),raw&&raw.__esModule)}function getChunkPath(chunkData){return"string"==typeof chunkData?chunkData:chunkData.path}function isPromise(maybePromise){return null!=maybePromise&&"object"==typeof maybePromise&&"then"in maybePromise&&"function"==typeof maybePromise.then}function isAsyncModuleExt(obj){return turbopackQueues in obj}function createPromise(){let resolve,reject;return{promise:new Promise((res,rej)=>{reject=rej,resolve=res}),resolve:resolve,reject:reject}}function installCompressedModuleFactories(chunkModules,offset,moduleFactories,newModuleId){let i=offset;for(;i<chunkModules.length;){let moduleId=chunkModules[i],end=i+1;for(;end<chunkModules.length&&"function"!=typeof chunkModules[end];)end++;if(end===chunkModules.length)throw Error("malformed chunk format, expected a factory function");if(!moduleFactories.has(moduleId)){let moduleFactoryFn=chunkModules[end];for(applyModuleFactoryName(moduleFactoryFn),newModuleId?.(moduleId);i<end;i++)moduleId=chunkModules[i],moduleFactories.set(moduleId,moduleFactoryFn)}i=end+1}}contextPrototype.i=esmImport,contextPrototype.A=function asyncLoader(moduleId){return this.r(moduleId)(esmImport.bind(this))},contextPrototype.t="function"==typeof require?require:function require1(){throw Error("Unexpected use of runtime require")},contextPrototype.r=function commonJsRequire(id){return getOrInstantiateModuleFromParent(id,this.m).exports},contextPrototype.f=function moduleContext(map){function moduleContext(id){if(hasOwnProperty.call(map,id))return map[id].module();let e=Error(`Cannot find module '${id}'`);throw e.code="MODULE_NOT_FOUND",e}return moduleContext.keys=()=>Object.keys(map),moduleContext.resolve=id=>{if(hasOwnProperty.call(map,id))return map[id].id();let e=Error(`Cannot find module '${id}'`);throw e.code="MODULE_NOT_FOUND",e},moduleContext.import=async id=>await moduleContext(id),moduleContext};let turbopackQueues=Symbol("turbopack queues"),turbopackExports=Symbol("turbopack exports"),turbopackError=Symbol("turbopack error");function resolveQueue(queue){queue&&1!==queue.status&&(queue.status=1,queue.forEach(fn=>fn.queueCount--),queue.forEach(fn=>fn.queueCount--?fn.queueCount++:fn()))}function wrapDeps(deps){return deps.map(dep=>{if(null!==dep&&"object"==typeof dep){if(isAsyncModuleExt(dep))return dep;if(isPromise(dep)){let queue=Object.assign([],{status:0}),obj={[turbopackExports]:{},[turbopackQueues]:fn=>fn(queue)};return dep.then(res=>{obj[turbopackExports]=res,resolveQueue(queue)},err=>{obj[turbopackError]=err,resolveQueue(queue)}),obj}}return{[turbopackExports]:dep,[turbopackQueues]:()=>{}}})}contextPrototype.a=function asyncModule(body,hasAwait){let module=this.m,queue=hasAwait?Object.assign([],{status:-1}):void 0,depQueues=new Set,{resolve,reject,promise:rawPromise}=createPromise(),promise=Object.assign(rawPromise,{[turbopackExports]:module.exports,[turbopackQueues]:fn=>{queue&&fn(queue),depQueues.forEach(fn),promise.catch(()=>{})}}),attributes={get:()=>promise,set(v){v!==promise&&(promise[turbopackExports]=v)}};Object.defineProperty(module,"exports",attributes),Object.defineProperty(module,"namespaceObject",attributes),body(function handleAsyncDependencies(deps){let currentDeps=wrapDeps(deps),getResult=()=>currentDeps.map(d=>{if(d[turbopackError])throw d[turbopackError];return d[turbopackExports]}),{promise,resolve}=createPromise(),fn=Object.assign(()=>resolve(getResult),{queueCount:0});function fnQueue(q){q!==queue&&!depQueues.has(q)&&(depQueues.add(q),q&&0===q.status&&(fn.queueCount++,q.push(fn)))}return currentDeps.map(dep=>dep[turbopackQueues](fnQueue)),fn.queueCount?promise:getResult()},function asyncResult(err){err?reject(promise[turbopackError]=err):resolve(promise[turbopackExports]),resolveQueue(queue)}),queue&&-1===queue.status&&(queue.status=0)};let relativeURL=function relativeURL(inputUrl){let realUrl=new URL(inputUrl,"x:/"),values={};for(let key in realUrl)values[key]=realUrl[key];for(let key in values.href=inputUrl,values.pathname=inputUrl.replace(/[?#].*/,""),values.origin=values.protocol="",values.toString=values.toJSON=(..._args)=>inputUrl,values)Object.defineProperty(this,key,{enumerable:!0,configurable:!0,value:values[key]})};function invariant(never,computeMessage){throw Error(`Invariant: ${computeMessage(never)}`)}function applyModuleFactoryName(factory){Object.defineProperty(factory,"name",{value:"module evaluation"})}relativeURL.prototype=URL.prototype,contextPrototype.U=relativeURL,contextPrototype.z=function requireStub(_moduleId){throw Error("dynamic usage of require is not supported")},contextPrototype.g=globalThis;let browserContextPrototype=Context.prototype;var SourceType,SourceType1=((SourceType=SourceType1||{})[SourceType.Runtime=0]="Runtime",SourceType[SourceType.Parent=1]="Parent",SourceType[SourceType.Update=2]="Update",SourceType);let moduleFactories=new Map;contextPrototype.M=moduleFactories;let availableModules=new Map,availableModuleChunks=new Map;function factoryNotAvailableMessage(moduleId,sourceType,sourceData){let instantiationReason;switch(sourceType){case 0:instantiationReason=`as a runtime entry of chunk ${sourceData}`;break;case 1:instantiationReason=`because it was required from module ${sourceData}`;break;case 2:instantiationReason="because of an HMR update";break;default:invariant(sourceType,sourceType=>`Unknown source type: ${sourceType}`)}return`Module ${moduleId} was instantiated ${instantiationReason}, but the module factory is not available.`}function loadInitialChunk(chunkPath,chunkData){return loadChunkInternal(0,chunkPath,chunkData)}async function loadChunkInternal(sourceType,sourceData,chunkData){let promise;if("string"==typeof chunkData)return loadChunkByUrlInternal(sourceType,sourceData,getChunkRelativeUrl(chunkData));let includedList=chunkData.included||[],modulesPromises=includedList.map(included=>!!moduleFactories.has(included)||availableModules.get(included));if(modulesPromises.length>0&&modulesPromises.every(p=>p))return void await Promise.all(modulesPromises);let includedModuleChunksList=chunkData.moduleChunks||[],moduleChunksPromises=includedModuleChunksList.map(included=>availableModuleChunks.get(included)).filter(p=>p);if(moduleChunksPromises.length>0){if(moduleChunksPromises.length===includedModuleChunksList.length)return void await Promise.all(moduleChunksPromises);let moduleChunksToLoad=new Set;for(let moduleChunk of includedModuleChunksList)availableModuleChunks.has(moduleChunk)||moduleChunksToLoad.add(moduleChunk);for(let moduleChunkToLoad of moduleChunksToLoad){let promise=loadChunkByUrlInternal(sourceType,sourceData,getChunkRelativeUrl(moduleChunkToLoad));availableModuleChunks.set(moduleChunkToLoad,promise),moduleChunksPromises.push(promise)}promise=Promise.all(moduleChunksPromises)}else{for(let includedModuleChunk of(promise=loadChunkByUrlInternal(sourceType,sourceData,getChunkRelativeUrl(chunkData.path)),includedModuleChunksList))availableModuleChunks.has(includedModuleChunk)||availableModuleChunks.set(includedModuleChunk,promise)}for(let included of includedList)availableModules.has(included)||availableModules.set(included,promise);await promise}browserContextPrototype.l=function loadChunk(chunkData){return loadChunkInternal(1,this.m.id,chunkData)};let loadedChunk=Promise.resolve(void 0),instrumentedBackendLoadChunks=new WeakMap;function loadChunkByUrlInternal(sourceType,sourceData,chunkUrl){let thenable=BACKEND.loadChunkCached(sourceType,chunkUrl),entry=instrumentedBackendLoadChunks.get(thenable);if(void 0===entry){let resolve=instrumentedBackendLoadChunks.set.bind(instrumentedBackendLoadChunks,thenable,loadedChunk);entry=thenable.then(resolve).catch(error=>{let loadReason;switch(sourceType){case 0:loadReason=`as a runtime dependency of chunk ${sourceData}`;break;case 1:loadReason=`from module ${sourceData}`;break;case 2:loadReason="from an HMR update";break;default:invariant(sourceType,sourceType=>`Unknown source type: ${sourceType}`)}throw Error(`Failed to load chunk ${chunkUrl} ${loadReason}${error?`: ${error}`:""}`,error?{cause:error}:void 0)}),instrumentedBackendLoadChunks.set(thenable,entry)}return entry}function getChunkRelativeUrl(chunkPath){return`${CHUNK_BASE_PATH}${chunkPath.split("/").map(p=>encodeURIComponent(p)).join("/")}`}function getPathFromScript(chunkScript){if("string"==typeof chunkScript)return chunkScript;let src=decodeURIComponent(("undefined"!=typeof TURBOPACK_NEXT_CHUNK_URLS?TURBOPACK_NEXT_CHUNK_URLS.pop():chunkScript.getAttribute("src")).replace(/[?#].*$/,""));return src.startsWith(CHUNK_BASE_PATH)?src.slice(CHUNK_BASE_PATH.length):src}browserContextPrototype.L=function loadChunkByUrl(chunkUrl){return loadChunkByUrlInternal(1,this.m.id,chunkUrl)},browserContextPrototype.R=function resolvePathFromModule(moduleId){let exported=this.r(moduleId);return exported?.default??exported},browserContextPrototype.P=function resolveAbsolutePath(modulePath){return`/ROOT/${modulePath??""}`},browserContextPrototype.b=function getWorkerBlobURL(chunks){let blob=new Blob([`self.TURBOPACK_WORKER_LOCATION = ${JSON.stringify(location.origin)}; | ||
| self.TURBOPACK_NEXT_CHUNK_URLS = ${JSON.stringify(chunks.reverse().map(getChunkRelativeUrl),null,2)}; | ||
| importScripts(...self.TURBOPACK_NEXT_CHUNK_URLS.map(c => self.TURBOPACK_WORKER_LOCATION + c).reverse());`],{type:"text/javascript"});return URL.createObjectURL(blob)};let regexJsUrl=/\.js(?:\?[^#]*)?(?:#.*)?$/,regexCssUrl=/\.css(?:\?[^#]*)?(?:#.*)?$/;function isCss(chunkUrl){return regexCssUrl.test(chunkUrl)}contextPrototype.w=function loadWebAssembly(chunkPath,edgeModule,importsObj){return BACKEND.loadWebAssembly(1,this.m.id,chunkPath,edgeModule,importsObj)},contextPrototype.u=function loadWebAssemblyModule(chunkPath,edgeModule){return BACKEND.loadWebAssemblyModule(1,this.m.id,chunkPath,edgeModule)};let moduleCache={};function getOrInstantiateRuntimeModule(chunkPath,moduleId){let module=moduleCache[moduleId];if(module){if(module.error)throw module.error;return module}return instantiateModule(moduleId,SourceType1.Runtime,chunkPath)}contextPrototype.c=moduleCache;let getOrInstantiateModuleFromParent=(id,sourceModule)=>{let module=moduleCache[id];if(module){if(module.error)throw module.error;return module}return instantiateModule(id,SourceType1.Parent,sourceModule.id)};function instantiateModule(id,sourceType,sourceData){let moduleFactory=moduleFactories.get(id);if("function"!=typeof moduleFactory)throw Error(factoryNotAvailableMessage(id,sourceType,sourceData));let module=createModuleObject(id),exports=module.exports;moduleCache[id]=module;let context=new Context(module,exports);try{moduleFactory(context,module,exports)}catch(error){throw module.error=error,error}return module.namespaceObject&&module.exports!==module.namespaceObject&&interopEsm(module.exports,module.namespaceObject),module}function registerChunk(registration){let runtimeParams,chunkPath=getPathFromScript(registration[0]);return 2===registration.length?runtimeParams=registration[1]:(runtimeParams=void 0,installCompressedModuleFactories(registration,1,moduleFactories)),BACKEND.registerChunk(chunkPath,runtimeParams)}let chunkResolvers=new Map;function getOrCreateResolver(chunkUrl){let resolver=chunkResolvers.get(chunkUrl);if(!resolver){let resolve,reject;resolver={resolved:!1,loadingStarted:!1,promise:new Promise((innerResolve,innerReject)=>{resolve=innerResolve,reject=innerReject}),resolve:()=>{resolver.resolved=!0,resolve()},reject:reject},chunkResolvers.set(chunkUrl,resolver)}return resolver}function doLoadChunk(sourceType,chunkUrl){let resolver=getOrCreateResolver(chunkUrl);if(resolver.loadingStarted)return resolver.promise;if(sourceType===SourceType1.Runtime)return resolver.loadingStarted=!0,isCss(chunkUrl)&&resolver.resolve(),resolver.promise;if("function"==typeof importScripts)if(isCss(chunkUrl));else if(regexJsUrl.test(chunkUrl))self.TURBOPACK_NEXT_CHUNK_URLS.push(chunkUrl),importScripts(TURBOPACK_WORKER_LOCATION+chunkUrl);else throw Error(`can't infer type of chunk from URL ${chunkUrl} in worker`);else{let decodedChunkUrl=decodeURI(chunkUrl);if(isCss(chunkUrl))if(document.querySelectorAll(`link[rel=stylesheet][href="${chunkUrl}"],link[rel=stylesheet][href^="${chunkUrl}?"],link[rel=stylesheet][href="${decodedChunkUrl}"],link[rel=stylesheet][href^="${decodedChunkUrl}?"]`).length>0)resolver.resolve();else{let link=document.createElement("link");link.rel="stylesheet",link.href=chunkUrl,link.onerror=()=>{resolver.reject()},link.onload=()=>{resolver.resolve()},document.head.appendChild(link)}else if(regexJsUrl.test(chunkUrl)){let previousScripts=document.querySelectorAll(`script[src="${chunkUrl}"],script[src^="${chunkUrl}?"],script[src="${decodedChunkUrl}"],script[src^="${decodedChunkUrl}?"]`);if(previousScripts.length>0)for(let script of Array.from(previousScripts))script.addEventListener("error",()=>{resolver.reject()});else{let script=document.createElement("script");script.src=chunkUrl,script.onerror=()=>{resolver.reject()},document.head.appendChild(script)}}else throw Error(`can't infer type of chunk from URL ${chunkUrl}`)}return resolver.loadingStarted=!0,resolver.promise}BACKEND={async registerChunk(chunkPath,params){if(getOrCreateResolver(getChunkRelativeUrl(chunkPath)).resolve(),null!=params){for(let otherChunkData of params.otherChunks)getOrCreateResolver(getChunkRelativeUrl(getChunkPath(otherChunkData)));if(await Promise.all(params.otherChunks.map(otherChunkData=>loadInitialChunk(chunkPath,otherChunkData))),params.runtimeModuleIds.length>0)for(let moduleId of params.runtimeModuleIds)getOrInstantiateRuntimeModule(chunkPath,moduleId)}},loadChunkCached:(sourceType,chunkUrl)=>doLoadChunk(sourceType,chunkUrl),async loadWebAssembly(_sourceType,_sourceData,wasmChunkPath,_edgeModule,importsObj){let req=fetch(getChunkRelativeUrl(wasmChunkPath)),{instance}=await WebAssembly.instantiateStreaming(req,importsObj);return instance.exports},async loadWebAssemblyModule(_sourceType,_sourceData,wasmChunkPath,_edgeModule){let req=fetch(getChunkRelativeUrl(wasmChunkPath));return await WebAssembly.compileStreaming(req)}};let chunksToRegister=globalThis.TURBOPACK;globalThis.TURBOPACK={push:registerChunk},chunksToRegister.forEach(registerChunk)})(); |
| self.__BUILD_MANIFEST = { | ||
| "__rewrites": { | ||
| "afterFiles": [], | ||
| "beforeFiles": [], | ||
| "fallback": [] | ||
| }, | ||
| "sortedPages": [ | ||
| "/_app", | ||
| "/_error" | ||
| ] | ||
| };self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB() |
| self.__SSG_MANIFEST=new Set([]);self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB() |
| /** | ||
| * Centralized offline detection, state management, and retry logic. | ||
| * | ||
| * This module tracks whether the app is offline and provides primitives for | ||
| * retrying failed network requests. It is designed to be extended in the | ||
| * future — e.g., instrumenting module chunk loading, Flight chunk resolution, | ||
| * or eventually being promoted to a React-level feature. | ||
| * | ||
| * All stateful behavior (event listeners, polling, state tracking) only runs | ||
| * in the browser. On the server and during hydration, getOffline() always | ||
| * returns false. | ||
| * | ||
| * ## Known limitation: queued fetches | ||
| * | ||
| * When the user navigates multiple times while offline, each navigation queues | ||
| * a separate fetch that blocks on waitForConnection(). When connectivity is | ||
| * restored, all of them resume and retry simultaneously. | ||
| * | ||
| * Future mitigations: | ||
| * - Stale cache access (PR 3): offline navigations will reuse back-forward | ||
| * cache entries, so most navigations won't issue new fetches at all. This is | ||
| * the primary shield against duplicate requests. | ||
| * - Fetch cancellation: on router.refresh(), we could abort pending blocked | ||
| * fetches since refresh invalidates all dynamic caches. | ||
| */ | ||
| export type OfflineState = { | ||
| promise: Promise<void>; | ||
| resolve: () => void; | ||
| timeoutHandle: ReturnType<typeof setTimeout> | null; | ||
| backoffStep: number; | ||
| }; | ||
| /** | ||
| * Returns true if the error from a fetch() rejection indicates a network | ||
| * failure (as opposed to an intentional abort or timeout). If it is a | ||
| * network error, also starts the connectivity polling loop. | ||
| * | ||
| * - AbortError: the request was intentionally canceled via AbortSignal | ||
| * - TimeoutError: AbortSignal.timeout() expired — could be a slow server, | ||
| * not necessarily offline | ||
| */ | ||
| export declare function checkOfflineError(err: unknown): boolean; | ||
| /** | ||
| * Returns whether the app is currently considered offline (i.e., a | ||
| * connectivity polling loop is active). Always returns false on the | ||
| * server and during hydration. | ||
| */ | ||
| export declare function getOffline(): OfflineState | null; | ||
| /** | ||
| * Call this when any network request succeeds while we're in the offline state. | ||
| * If a polling loop is active, this short-circuits it — no need to wait for | ||
| * the next HEAD check if we already know we're back online. | ||
| */ | ||
| export declare function notifyOnline(): void; | ||
| /** | ||
| * Returns a promise that resolves when connectivity is restored. | ||
| */ | ||
| export declare function waitForConnection(state: OfflineState): Promise<void>; |
| /** | ||
| * Centralized offline detection, state management, and retry logic. | ||
| * | ||
| * This module tracks whether the app is offline and provides primitives for | ||
| * retrying failed network requests. It is designed to be extended in the | ||
| * future — e.g., instrumenting module chunk loading, Flight chunk resolution, | ||
| * or eventually being promoted to a React-level feature. | ||
| * | ||
| * All stateful behavior (event listeners, polling, state tracking) only runs | ||
| * in the browser. On the server and during hydration, getOffline() always | ||
| * returns false. | ||
| * | ||
| * ## Known limitation: queued fetches | ||
| * | ||
| * When the user navigates multiple times while offline, each navigation queues | ||
| * a separate fetch that blocks on waitForConnection(). When connectivity is | ||
| * restored, all of them resume and retry simultaneously. | ||
| * | ||
| * Future mitigations: | ||
| * - Stale cache access (PR 3): offline navigations will reuse back-forward | ||
| * cache entries, so most navigations won't issue new fetches at all. This is | ||
| * the primary shield against duplicate requests. | ||
| * - Fetch cancellation: on router.refresh(), we could abort pending blocked | ||
| * fetches since refresh invalidates all dynamic caches. | ||
| */ // Backoff delays for the polling loop: 500ms → 1s → 2s → 3s (cap) | ||
| // Timeout for the HEAD connectivity check. If the request doesn't resolve | ||
| // within this window, we assume we're still offline. 200ms is more than enough | ||
| // — network errors reject almost instantly. | ||
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| 0 && (module.exports = { | ||
| checkOfflineError: null, | ||
| getOffline: null, | ||
| notifyOnline: null, | ||
| waitForConnection: null | ||
| }); | ||
| function _export(target, all) { | ||
| for(var name in all)Object.defineProperty(target, name, { | ||
| enumerable: true, | ||
| get: all[name] | ||
| }); | ||
| } | ||
| _export(exports, { | ||
| checkOfflineError: function() { | ||
| return checkOfflineError; | ||
| }, | ||
| getOffline: function() { | ||
| return getOffline; | ||
| }, | ||
| notifyOnline: function() { | ||
| return notifyOnline; | ||
| }, | ||
| waitForConnection: function() { | ||
| return waitForConnection; | ||
| } | ||
| }); | ||
| const _scheduler = require("./segment-cache/scheduler"); | ||
| const _approuterheaders = require("./app-router-headers"); | ||
| const _useoffline = require("./use-offline"); | ||
| const CONNECTIVITY_CHECK_TIMEOUT_MS = 200; | ||
| let offlineState = null; | ||
| function checkOfflineError(err) { | ||
| if (err instanceof DOMException) { | ||
| if (err.name === 'AbortError' || err.name === 'TimeoutError') { | ||
| return false; | ||
| } | ||
| } | ||
| notifyOffline(); | ||
| return true; | ||
| } | ||
| function getOffline() { | ||
| return offlineState; | ||
| } | ||
| /** | ||
| * Enters the offline state if not already in it, and starts the | ||
| * connectivity polling loop. | ||
| */ function notifyOffline() { | ||
| if (offlineState !== null) { | ||
| return offlineState; | ||
| } | ||
| let resolve; | ||
| const promise = new Promise((r)=>{ | ||
| resolve = r; | ||
| }); | ||
| offlineState = { | ||
| promise, | ||
| resolve: resolve, | ||
| timeoutHandle: null, | ||
| backoffStep: 0 | ||
| }; | ||
| (0, _useoffline.dispatchOfflineChange)(true); | ||
| checkConnectivity(offlineState); | ||
| return offlineState; | ||
| } | ||
| function notifyOnline() { | ||
| if (offlineState === null) { | ||
| return; | ||
| } | ||
| if (offlineState.timeoutHandle !== null) { | ||
| clearTimeout(offlineState.timeoutHandle); | ||
| } | ||
| const resolve = offlineState.resolve; | ||
| offlineState = null; | ||
| resolve(); | ||
| (0, _useoffline.dispatchOfflineChange)(false); | ||
| (0, _scheduler.pingPrefetchScheduler)(); | ||
| } | ||
| /** | ||
| * Does a HEAD request to confirm connectivity, then either resolves the | ||
| * offline state or schedules the next check with backoff. | ||
| */ async function checkConnectivity(state) { | ||
| // Cancel any previously scheduled check so we don't end up with | ||
| // parallel polling loops. | ||
| if (state.timeoutHandle !== null) { | ||
| clearTimeout(state.timeoutHandle); | ||
| state.timeoutHandle = null; | ||
| } | ||
| const controller = new AbortController(); | ||
| const timeoutId = setTimeout(()=>controller.abort(), CONNECTIVITY_CHECK_TIMEOUT_MS); | ||
| try { | ||
| // HEAD request to the current page with the RSC header, so we're | ||
| // testing connectivity to the same endpoint that navigations use. | ||
| await fetch(location.href, { | ||
| method: 'HEAD', | ||
| headers: { | ||
| [_approuterheaders.RSC_HEADER]: '1' | ||
| }, | ||
| signal: controller.signal | ||
| }); | ||
| clearTimeout(timeoutId); | ||
| // If the fetch didn't throw, we're back online. | ||
| notifyOnline(); | ||
| } catch (err) { | ||
| // If the error is from our own timeout abort, that actually means | ||
| // the request went out and is waiting for a response — i.e., we're | ||
| // back online. A truly offline request fails almost instantly (well | ||
| // within the 200ms timeout). | ||
| if (err instanceof DOMException && err.name === 'AbortError') { | ||
| clearTimeout(timeoutId); | ||
| notifyOnline(); | ||
| return; | ||
| } | ||
| // Network error — still offline. Schedule the next check with backoff. | ||
| const delay = state.backoffStep === 0 ? 500 : state.backoffStep === 1 ? 1000 : state.backoffStep === 2 ? 2000 : 3000; | ||
| state.backoffStep++; | ||
| state.timeoutHandle = setTimeout(()=>checkConnectivity(state), delay); | ||
| } | ||
| } | ||
| function waitForConnection(state) { | ||
| return state.promise; | ||
| } | ||
| function pingOfflineState() { | ||
| if (offlineState !== null) { | ||
| checkConnectivity(offlineState); | ||
| } | ||
| } | ||
| // Set up browser event listeners for proactive offline detection. | ||
| if (typeof window !== 'undefined') { | ||
| window.addEventListener('offline', notifyOffline); | ||
| window.addEventListener('online', pingOfflineState); | ||
| } | ||
| if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') { | ||
| Object.defineProperty(exports.default, '__esModule', { value: true }); | ||
| Object.assign(exports.default, exports); | ||
| module.exports = exports.default; | ||
| } | ||
| //# sourceMappingURL=offline.js.map |
| {"version":3,"sources":["../../../src/client/components/offline.ts"],"sourcesContent":["/**\n * Centralized offline detection, state management, and retry logic.\n *\n * This module tracks whether the app is offline and provides primitives for\n * retrying failed network requests. It is designed to be extended in the\n * future — e.g., instrumenting module chunk loading, Flight chunk resolution,\n * or eventually being promoted to a React-level feature.\n *\n * All stateful behavior (event listeners, polling, state tracking) only runs\n * in the browser. On the server and during hydration, getOffline() always\n * returns false.\n *\n * ## Known limitation: queued fetches\n *\n * When the user navigates multiple times while offline, each navigation queues\n * a separate fetch that blocks on waitForConnection(). When connectivity is\n * restored, all of them resume and retry simultaneously.\n *\n * Future mitigations:\n * - Stale cache access (PR 3): offline navigations will reuse back-forward\n * cache entries, so most navigations won't issue new fetches at all. This is\n * the primary shield against duplicate requests.\n * - Fetch cancellation: on router.refresh(), we could abort pending blocked\n * fetches since refresh invalidates all dynamic caches.\n */\n\n// Backoff delays for the polling loop: 500ms → 1s → 2s → 3s (cap)\n\n// Timeout for the HEAD connectivity check. If the request doesn't resolve\n// within this window, we assume we're still offline. 200ms is more than enough\n// — network errors reject almost instantly.\nconst CONNECTIVITY_CHECK_TIMEOUT_MS = 200\n\nimport { pingPrefetchScheduler } from './segment-cache/scheduler'\nimport { RSC_HEADER } from './app-router-headers'\nimport { dispatchOfflineChange } from './use-offline'\n\nexport type OfflineState = {\n promise: Promise<void>\n resolve: () => void\n timeoutHandle: ReturnType<typeof setTimeout> | null\n backoffStep: number\n}\n\nlet offlineState: OfflineState | null = null\n\n/**\n * Returns true if the error from a fetch() rejection indicates a network\n * failure (as opposed to an intentional abort or timeout). If it is a\n * network error, also starts the connectivity polling loop.\n *\n * - AbortError: the request was intentionally canceled via AbortSignal\n * - TimeoutError: AbortSignal.timeout() expired — could be a slow server,\n * not necessarily offline\n */\nexport function checkOfflineError(err: unknown): boolean {\n if (err instanceof DOMException) {\n if (err.name === 'AbortError' || err.name === 'TimeoutError') {\n return false\n }\n }\n notifyOffline()\n return true\n}\n\n/**\n * Returns whether the app is currently considered offline (i.e., a\n * connectivity polling loop is active). Always returns false on the\n * server and during hydration.\n */\nexport function getOffline(): OfflineState | null {\n return offlineState\n}\n\n/**\n * Enters the offline state if not already in it, and starts the\n * connectivity polling loop.\n */\nfunction notifyOffline(): OfflineState {\n if (offlineState !== null) {\n return offlineState\n }\n let resolve: () => void\n const promise = new Promise<void>((r) => {\n resolve = r\n })\n offlineState = {\n promise,\n resolve: resolve!,\n timeoutHandle: null,\n backoffStep: 0,\n }\n dispatchOfflineChange(true)\n checkConnectivity(offlineState)\n return offlineState\n}\n\n/**\n * Call this when any network request succeeds while we're in the offline state.\n * If a polling loop is active, this short-circuits it — no need to wait for\n * the next HEAD check if we already know we're back online.\n */\nexport function notifyOnline(): void {\n if (offlineState === null) {\n return\n }\n if (offlineState.timeoutHandle !== null) {\n clearTimeout(offlineState.timeoutHandle)\n }\n const resolve = offlineState.resolve\n offlineState = null\n resolve()\n dispatchOfflineChange(false)\n pingPrefetchScheduler()\n}\n\n/**\n * Does a HEAD request to confirm connectivity, then either resolves the\n * offline state or schedules the next check with backoff.\n */\nasync function checkConnectivity(state: OfflineState): Promise<void> {\n // Cancel any previously scheduled check so we don't end up with\n // parallel polling loops.\n if (state.timeoutHandle !== null) {\n clearTimeout(state.timeoutHandle)\n state.timeoutHandle = null\n }\n\n const controller = new AbortController()\n const timeoutId = setTimeout(\n () => controller.abort(),\n CONNECTIVITY_CHECK_TIMEOUT_MS\n )\n try {\n // HEAD request to the current page with the RSC header, so we're\n // testing connectivity to the same endpoint that navigations use.\n await fetch(location.href, {\n method: 'HEAD',\n headers: { [RSC_HEADER]: '1' },\n signal: controller.signal,\n })\n clearTimeout(timeoutId)\n // If the fetch didn't throw, we're back online.\n notifyOnline()\n } catch (err) {\n // If the error is from our own timeout abort, that actually means\n // the request went out and is waiting for a response — i.e., we're\n // back online. A truly offline request fails almost instantly (well\n // within the 200ms timeout).\n if (err instanceof DOMException && err.name === 'AbortError') {\n clearTimeout(timeoutId)\n notifyOnline()\n return\n }\n // Network error — still offline. Schedule the next check with backoff.\n const delay =\n state.backoffStep === 0\n ? 500\n : state.backoffStep === 1\n ? 1000\n : state.backoffStep === 2\n ? 2000\n : 3000\n state.backoffStep++\n state.timeoutHandle = setTimeout(() => checkConnectivity(state), delay)\n }\n}\n\n/**\n * Returns a promise that resolves when connectivity is restored.\n */\nexport function waitForConnection(state: OfflineState) {\n return state.promise\n}\n\nfunction pingOfflineState() {\n if (offlineState !== null) {\n checkConnectivity(offlineState)\n }\n}\n\n// Set up browser event listeners for proactive offline detection.\nif (typeof window !== 'undefined') {\n window.addEventListener('offline', notifyOffline)\n window.addEventListener('online', pingOfflineState)\n}\n"],"names":["checkOfflineError","getOffline","notifyOnline","waitForConnection","CONNECTIVITY_CHECK_TIMEOUT_MS","offlineState","err","DOMException","name","notifyOffline","resolve","promise","Promise","r","timeoutHandle","backoffStep","dispatchOfflineChange","checkConnectivity","clearTimeout","pingPrefetchScheduler","state","controller","AbortController","timeoutId","setTimeout","abort","fetch","location","href","method","headers","RSC_HEADER","signal","delay","pingOfflineState","window","addEventListener"],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;CAwBC,GAED,kEAAkE;AAElE,0EAA0E;AAC1E,+EAA+E;AAC/E,4CAA4C;;;;;;;;;;;;;;;;;;IAyB5BA,iBAAiB;eAAjBA;;IAeAC,UAAU;eAAVA;;IAgCAC,YAAY;eAAZA;;IAqEAC,iBAAiB;eAAjBA;;;2BA1IsB;kCACX;4BACW;AAJtC,MAAMC,gCAAgC;AAatC,IAAIC,eAAoC;AAWjC,SAASL,kBAAkBM,GAAY;IAC5C,IAAIA,eAAeC,cAAc;QAC/B,IAAID,IAAIE,IAAI,KAAK,gBAAgBF,IAAIE,IAAI,KAAK,gBAAgB;YAC5D,OAAO;QACT;IACF;IACAC;IACA,OAAO;AACT;AAOO,SAASR;IACd,OAAOI;AACT;AAEA;;;CAGC,GACD,SAASI;IACP,IAAIJ,iBAAiB,MAAM;QACzB,OAAOA;IACT;IACA,IAAIK;IACJ,MAAMC,UAAU,IAAIC,QAAc,CAACC;QACjCH,UAAUG;IACZ;IACAR,eAAe;QACbM;QACAD,SAASA;QACTI,eAAe;QACfC,aAAa;IACf;IACAC,IAAAA,iCAAqB,EAAC;IACtBC,kBAAkBZ;IAClB,OAAOA;AACT;AAOO,SAASH;IACd,IAAIG,iBAAiB,MAAM;QACzB;IACF;IACA,IAAIA,aAAaS,aAAa,KAAK,MAAM;QACvCI,aAAab,aAAaS,aAAa;IACzC;IACA,MAAMJ,UAAUL,aAAaK,OAAO;IACpCL,eAAe;IACfK;IACAM,IAAAA,iCAAqB,EAAC;IACtBG,IAAAA,gCAAqB;AACvB;AAEA;;;CAGC,GACD,eAAeF,kBAAkBG,KAAmB;IAClD,gEAAgE;IAChE,0BAA0B;IAC1B,IAAIA,MAAMN,aAAa,KAAK,MAAM;QAChCI,aAAaE,MAAMN,aAAa;QAChCM,MAAMN,aAAa,GAAG;IACxB;IAEA,MAAMO,aAAa,IAAIC;IACvB,MAAMC,YAAYC,WAChB,IAAMH,WAAWI,KAAK,IACtBrB;IAEF,IAAI;QACF,iEAAiE;QACjE,kEAAkE;QAClE,MAAMsB,MAAMC,SAASC,IAAI,EAAE;YACzBC,QAAQ;YACRC,SAAS;gBAAE,CAACC,4BAAU,CAAC,EAAE;YAAI;YAC7BC,QAAQX,WAAWW,MAAM;QAC3B;QACAd,aAAaK;QACb,gDAAgD;QAChDrB;IACF,EAAE,OAAOI,KAAK;QACZ,kEAAkE;QAClE,mEAAmE;QACnE,oEAAoE;QACpE,6BAA6B;QAC7B,IAAIA,eAAeC,gBAAgBD,IAAIE,IAAI,KAAK,cAAc;YAC5DU,aAAaK;YACbrB;YACA;QACF;QACA,uEAAuE;QACvE,MAAM+B,QACJb,MAAML,WAAW,KAAK,IAClB,MACAK,MAAML,WAAW,KAAK,IACpB,OACAK,MAAML,WAAW,KAAK,IACpB,OACA;QACVK,MAAML,WAAW;QACjBK,MAAMN,aAAa,GAAGU,WAAW,IAAMP,kBAAkBG,QAAQa;IACnE;AACF;AAKO,SAAS9B,kBAAkBiB,KAAmB;IACnD,OAAOA,MAAMT,OAAO;AACtB;AAEA,SAASuB;IACP,IAAI7B,iBAAiB,MAAM;QACzBY,kBAAkBZ;IACpB;AACF;AAEA,kEAAkE;AAClE,IAAI,OAAO8B,WAAW,aAAa;IACjCA,OAAOC,gBAAgB,CAAC,WAAW3B;IACnC0B,OAAOC,gBAAgB,CAAC,UAAUF;AACpC","ignoreList":[0]} |
| import React from 'react'; | ||
| /** | ||
| * Called by the offline module when the offline state changes. | ||
| * Dispatches into React via startTransition + useOptimistic. | ||
| */ | ||
| export declare function dispatchOfflineChange(isOffline: boolean): void; | ||
| export declare function OfflineProvider({ children }: { | ||
| children: React.ReactNode; | ||
| }): import("react/jsx-runtime").JSX.Element; | ||
| /** | ||
| * Returns whether the app is currently offline. | ||
| * Returns `false` during SSR and hydration. | ||
| */ | ||
| export declare function useOffline(): boolean; |
| 'use client'; | ||
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| 0 && (module.exports = { | ||
| OfflineProvider: null, | ||
| dispatchOfflineChange: null, | ||
| useOffline: null | ||
| }); | ||
| function _export(target, all) { | ||
| for(var name in all)Object.defineProperty(target, name, { | ||
| enumerable: true, | ||
| get: all[name] | ||
| }); | ||
| } | ||
| _export(exports, { | ||
| OfflineProvider: function() { | ||
| return OfflineProvider; | ||
| }, | ||
| dispatchOfflineChange: function() { | ||
| return dispatchOfflineChange; | ||
| }, | ||
| useOffline: function() { | ||
| return useOffline; | ||
| } | ||
| }); | ||
| const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard"); | ||
| const _jsxruntime = require("react/jsx-runtime"); | ||
| const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react")); | ||
| const OfflineContext = /*#__PURE__*/ (0, _react.createContext)(false); | ||
| // Module-level reference to the optimistic setter. Assigned inside the | ||
| // provider component on every render. Called by the offline module | ||
| // (via dispatchOfflineChange) to update the React tree. | ||
| let setOptimistic = null; | ||
| let setCanonical = null; | ||
| function dispatchOfflineChange(isOffline) { | ||
| const canonical = setCanonical; | ||
| const optimistic = setOptimistic; | ||
| if (canonical === null || optimistic === null) { | ||
| return; | ||
| } | ||
| (0, _react.startTransition)(()=>{ | ||
| canonical(isOffline); | ||
| optimistic(isOffline); | ||
| }); | ||
| } | ||
| function OfflineProvider({ children }) { | ||
| const [canonicalOffline, setCanonicalOffline] = (0, _react.useState)(false); | ||
| const [isOffline, setOptimisticOffline] = (0, _react.useOptimistic)(canonicalOffline); | ||
| setOptimistic = setOptimisticOffline; | ||
| setCanonical = setCanonicalOffline; | ||
| return /*#__PURE__*/ (0, _jsxruntime.jsx)(OfflineContext.Provider, { | ||
| value: isOffline, | ||
| children: children | ||
| }); | ||
| } | ||
| function useOffline() { | ||
| return (0, _react.useContext)(OfflineContext); | ||
| } | ||
| if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') { | ||
| Object.defineProperty(exports.default, '__esModule', { value: true }); | ||
| Object.assign(exports.default, exports); | ||
| module.exports = exports.default; | ||
| } | ||
| //# sourceMappingURL=use-offline.js.map |
| {"version":3,"sources":["../../../src/client/components/use-offline.tsx"],"sourcesContent":["'use client'\n\nimport React, {\n createContext,\n useContext,\n useState,\n useOptimistic,\n startTransition,\n} from 'react'\n\nconst OfflineContext = createContext<boolean>(false)\n\n// Module-level reference to the optimistic setter. Assigned inside the\n// provider component on every render. Called by the offline module\n// (via dispatchOfflineChange) to update the React tree.\nlet setOptimistic: ((value: boolean) => void) | null = null\nlet setCanonical: ((value: boolean) => void) | null = null\n\n/**\n * Called by the offline module when the offline state changes.\n * Dispatches into React via startTransition + useOptimistic.\n */\nexport function dispatchOfflineChange(isOffline: boolean): void {\n const canonical = setCanonical\n const optimistic = setOptimistic\n if (canonical === null || optimistic === null) {\n return\n }\n startTransition(() => {\n canonical(isOffline)\n optimistic(isOffline)\n })\n}\n\nexport function OfflineProvider({ children }: { children: React.ReactNode }) {\n const [canonicalOffline, setCanonicalOffline] = useState(false)\n const [isOffline, setOptimisticOffline] = useOptimistic(canonicalOffline)\n\n setOptimistic = setOptimisticOffline\n setCanonical = setCanonicalOffline\n\n return (\n <OfflineContext.Provider value={isOffline}>\n {children}\n </OfflineContext.Provider>\n )\n}\n\n/**\n * Returns whether the app is currently offline.\n * Returns `false` during SSR and hydration.\n */\nexport function useOffline(): boolean {\n return useContext(OfflineContext)\n}\n"],"names":["OfflineProvider","dispatchOfflineChange","useOffline","OfflineContext","createContext","setOptimistic","setCanonical","isOffline","canonical","optimistic","startTransition","children","canonicalOffline","setCanonicalOffline","useState","setOptimisticOffline","useOptimistic","Provider","value","useContext"],"mappings":"AAAA;;;;;;;;;;;;;;;;;IAkCgBA,eAAe;eAAfA;;IAZAC,qBAAqB;eAArBA;;IA8BAC,UAAU;eAAVA;;;;;iEA5CT;AAEP,MAAMC,+BAAiBC,IAAAA,oBAAa,EAAU;AAE9C,uEAAuE;AACvE,mEAAmE;AACnE,wDAAwD;AACxD,IAAIC,gBAAmD;AACvD,IAAIC,eAAkD;AAM/C,SAASL,sBAAsBM,SAAkB;IACtD,MAAMC,YAAYF;IAClB,MAAMG,aAAaJ;IACnB,IAAIG,cAAc,QAAQC,eAAe,MAAM;QAC7C;IACF;IACAC,IAAAA,sBAAe,EAAC;QACdF,UAAUD;QACVE,WAAWF;IACb;AACF;AAEO,SAASP,gBAAgB,EAAEW,QAAQ,EAAiC;IACzE,MAAM,CAACC,kBAAkBC,oBAAoB,GAAGC,IAAAA,eAAQ,EAAC;IACzD,MAAM,CAACP,WAAWQ,qBAAqB,GAAGC,IAAAA,oBAAa,EAACJ;IAExDP,gBAAgBU;IAChBT,eAAeO;IAEf,qBACE,qBAACV,eAAec,QAAQ;QAACC,OAAOX;kBAC7BI;;AAGP;AAMO,SAAST;IACd,OAAOiB,IAAAA,iBAAU,EAAChB;AACpB","ignoreList":[0]} |
| /** | ||
| * Centralized offline detection, state management, and retry logic. | ||
| * | ||
| * This module tracks whether the app is offline and provides primitives for | ||
| * retrying failed network requests. It is designed to be extended in the | ||
| * future — e.g., instrumenting module chunk loading, Flight chunk resolution, | ||
| * or eventually being promoted to a React-level feature. | ||
| * | ||
| * All stateful behavior (event listeners, polling, state tracking) only runs | ||
| * in the browser. On the server and during hydration, getOffline() always | ||
| * returns false. | ||
| * | ||
| * ## Known limitation: queued fetches | ||
| * | ||
| * When the user navigates multiple times while offline, each navigation queues | ||
| * a separate fetch that blocks on waitForConnection(). When connectivity is | ||
| * restored, all of them resume and retry simultaneously. | ||
| * | ||
| * Future mitigations: | ||
| * - Stale cache access (PR 3): offline navigations will reuse back-forward | ||
| * cache entries, so most navigations won't issue new fetches at all. This is | ||
| * the primary shield against duplicate requests. | ||
| * - Fetch cancellation: on router.refresh(), we could abort pending blocked | ||
| * fetches since refresh invalidates all dynamic caches. | ||
| */ // Backoff delays for the polling loop: 500ms → 1s → 2s → 3s (cap) | ||
| // Timeout for the HEAD connectivity check. If the request doesn't resolve | ||
| // within this window, we assume we're still offline. 200ms is more than enough | ||
| // — network errors reject almost instantly. | ||
| const CONNECTIVITY_CHECK_TIMEOUT_MS = 200; | ||
| import { pingPrefetchScheduler } from './segment-cache/scheduler'; | ||
| import { RSC_HEADER } from './app-router-headers'; | ||
| import { dispatchOfflineChange } from './use-offline'; | ||
| let offlineState = null; | ||
| /** | ||
| * Returns true if the error from a fetch() rejection indicates a network | ||
| * failure (as opposed to an intentional abort or timeout). If it is a | ||
| * network error, also starts the connectivity polling loop. | ||
| * | ||
| * - AbortError: the request was intentionally canceled via AbortSignal | ||
| * - TimeoutError: AbortSignal.timeout() expired — could be a slow server, | ||
| * not necessarily offline | ||
| */ export function checkOfflineError(err) { | ||
| if (err instanceof DOMException) { | ||
| if (err.name === 'AbortError' || err.name === 'TimeoutError') { | ||
| return false; | ||
| } | ||
| } | ||
| notifyOffline(); | ||
| return true; | ||
| } | ||
| /** | ||
| * Returns whether the app is currently considered offline (i.e., a | ||
| * connectivity polling loop is active). Always returns false on the | ||
| * server and during hydration. | ||
| */ export function getOffline() { | ||
| return offlineState; | ||
| } | ||
| /** | ||
| * Enters the offline state if not already in it, and starts the | ||
| * connectivity polling loop. | ||
| */ function notifyOffline() { | ||
| if (offlineState !== null) { | ||
| return offlineState; | ||
| } | ||
| let resolve; | ||
| const promise = new Promise((r)=>{ | ||
| resolve = r; | ||
| }); | ||
| offlineState = { | ||
| promise, | ||
| resolve: resolve, | ||
| timeoutHandle: null, | ||
| backoffStep: 0 | ||
| }; | ||
| dispatchOfflineChange(true); | ||
| checkConnectivity(offlineState); | ||
| return offlineState; | ||
| } | ||
| /** | ||
| * Call this when any network request succeeds while we're in the offline state. | ||
| * If a polling loop is active, this short-circuits it — no need to wait for | ||
| * the next HEAD check if we already know we're back online. | ||
| */ export function notifyOnline() { | ||
| if (offlineState === null) { | ||
| return; | ||
| } | ||
| if (offlineState.timeoutHandle !== null) { | ||
| clearTimeout(offlineState.timeoutHandle); | ||
| } | ||
| const resolve = offlineState.resolve; | ||
| offlineState = null; | ||
| resolve(); | ||
| dispatchOfflineChange(false); | ||
| pingPrefetchScheduler(); | ||
| } | ||
| /** | ||
| * Does a HEAD request to confirm connectivity, then either resolves the | ||
| * offline state or schedules the next check with backoff. | ||
| */ async function checkConnectivity(state) { | ||
| // Cancel any previously scheduled check so we don't end up with | ||
| // parallel polling loops. | ||
| if (state.timeoutHandle !== null) { | ||
| clearTimeout(state.timeoutHandle); | ||
| state.timeoutHandle = null; | ||
| } | ||
| const controller = new AbortController(); | ||
| const timeoutId = setTimeout(()=>controller.abort(), CONNECTIVITY_CHECK_TIMEOUT_MS); | ||
| try { | ||
| // HEAD request to the current page with the RSC header, so we're | ||
| // testing connectivity to the same endpoint that navigations use. | ||
| await fetch(location.href, { | ||
| method: 'HEAD', | ||
| headers: { | ||
| [RSC_HEADER]: '1' | ||
| }, | ||
| signal: controller.signal | ||
| }); | ||
| clearTimeout(timeoutId); | ||
| // If the fetch didn't throw, we're back online. | ||
| notifyOnline(); | ||
| } catch (err) { | ||
| // If the error is from our own timeout abort, that actually means | ||
| // the request went out and is waiting for a response — i.e., we're | ||
| // back online. A truly offline request fails almost instantly (well | ||
| // within the 200ms timeout). | ||
| if (err instanceof DOMException && err.name === 'AbortError') { | ||
| clearTimeout(timeoutId); | ||
| notifyOnline(); | ||
| return; | ||
| } | ||
| // Network error — still offline. Schedule the next check with backoff. | ||
| const delay = state.backoffStep === 0 ? 500 : state.backoffStep === 1 ? 1000 : state.backoffStep === 2 ? 2000 : 3000; | ||
| state.backoffStep++; | ||
| state.timeoutHandle = setTimeout(()=>checkConnectivity(state), delay); | ||
| } | ||
| } | ||
| /** | ||
| * Returns a promise that resolves when connectivity is restored. | ||
| */ export function waitForConnection(state) { | ||
| return state.promise; | ||
| } | ||
| function pingOfflineState() { | ||
| if (offlineState !== null) { | ||
| checkConnectivity(offlineState); | ||
| } | ||
| } | ||
| // Set up browser event listeners for proactive offline detection. | ||
| if (typeof window !== 'undefined') { | ||
| window.addEventListener('offline', notifyOffline); | ||
| window.addEventListener('online', pingOfflineState); | ||
| } | ||
| //# sourceMappingURL=offline.js.map |
| {"version":3,"sources":["../../../../src/client/components/offline.ts"],"sourcesContent":["/**\n * Centralized offline detection, state management, and retry logic.\n *\n * This module tracks whether the app is offline and provides primitives for\n * retrying failed network requests. It is designed to be extended in the\n * future — e.g., instrumenting module chunk loading, Flight chunk resolution,\n * or eventually being promoted to a React-level feature.\n *\n * All stateful behavior (event listeners, polling, state tracking) only runs\n * in the browser. On the server and during hydration, getOffline() always\n * returns false.\n *\n * ## Known limitation: queued fetches\n *\n * When the user navigates multiple times while offline, each navigation queues\n * a separate fetch that blocks on waitForConnection(). When connectivity is\n * restored, all of them resume and retry simultaneously.\n *\n * Future mitigations:\n * - Stale cache access (PR 3): offline navigations will reuse back-forward\n * cache entries, so most navigations won't issue new fetches at all. This is\n * the primary shield against duplicate requests.\n * - Fetch cancellation: on router.refresh(), we could abort pending blocked\n * fetches since refresh invalidates all dynamic caches.\n */\n\n// Backoff delays for the polling loop: 500ms → 1s → 2s → 3s (cap)\n\n// Timeout for the HEAD connectivity check. If the request doesn't resolve\n// within this window, we assume we're still offline. 200ms is more than enough\n// — network errors reject almost instantly.\nconst CONNECTIVITY_CHECK_TIMEOUT_MS = 200\n\nimport { pingPrefetchScheduler } from './segment-cache/scheduler'\nimport { RSC_HEADER } from './app-router-headers'\nimport { dispatchOfflineChange } from './use-offline'\n\nexport type OfflineState = {\n promise: Promise<void>\n resolve: () => void\n timeoutHandle: ReturnType<typeof setTimeout> | null\n backoffStep: number\n}\n\nlet offlineState: OfflineState | null = null\n\n/**\n * Returns true if the error from a fetch() rejection indicates a network\n * failure (as opposed to an intentional abort or timeout). If it is a\n * network error, also starts the connectivity polling loop.\n *\n * - AbortError: the request was intentionally canceled via AbortSignal\n * - TimeoutError: AbortSignal.timeout() expired — could be a slow server,\n * not necessarily offline\n */\nexport function checkOfflineError(err: unknown): boolean {\n if (err instanceof DOMException) {\n if (err.name === 'AbortError' || err.name === 'TimeoutError') {\n return false\n }\n }\n notifyOffline()\n return true\n}\n\n/**\n * Returns whether the app is currently considered offline (i.e., a\n * connectivity polling loop is active). Always returns false on the\n * server and during hydration.\n */\nexport function getOffline(): OfflineState | null {\n return offlineState\n}\n\n/**\n * Enters the offline state if not already in it, and starts the\n * connectivity polling loop.\n */\nfunction notifyOffline(): OfflineState {\n if (offlineState !== null) {\n return offlineState\n }\n let resolve: () => void\n const promise = new Promise<void>((r) => {\n resolve = r\n })\n offlineState = {\n promise,\n resolve: resolve!,\n timeoutHandle: null,\n backoffStep: 0,\n }\n dispatchOfflineChange(true)\n checkConnectivity(offlineState)\n return offlineState\n}\n\n/**\n * Call this when any network request succeeds while we're in the offline state.\n * If a polling loop is active, this short-circuits it — no need to wait for\n * the next HEAD check if we already know we're back online.\n */\nexport function notifyOnline(): void {\n if (offlineState === null) {\n return\n }\n if (offlineState.timeoutHandle !== null) {\n clearTimeout(offlineState.timeoutHandle)\n }\n const resolve = offlineState.resolve\n offlineState = null\n resolve()\n dispatchOfflineChange(false)\n pingPrefetchScheduler()\n}\n\n/**\n * Does a HEAD request to confirm connectivity, then either resolves the\n * offline state or schedules the next check with backoff.\n */\nasync function checkConnectivity(state: OfflineState): Promise<void> {\n // Cancel any previously scheduled check so we don't end up with\n // parallel polling loops.\n if (state.timeoutHandle !== null) {\n clearTimeout(state.timeoutHandle)\n state.timeoutHandle = null\n }\n\n const controller = new AbortController()\n const timeoutId = setTimeout(\n () => controller.abort(),\n CONNECTIVITY_CHECK_TIMEOUT_MS\n )\n try {\n // HEAD request to the current page with the RSC header, so we're\n // testing connectivity to the same endpoint that navigations use.\n await fetch(location.href, {\n method: 'HEAD',\n headers: { [RSC_HEADER]: '1' },\n signal: controller.signal,\n })\n clearTimeout(timeoutId)\n // If the fetch didn't throw, we're back online.\n notifyOnline()\n } catch (err) {\n // If the error is from our own timeout abort, that actually means\n // the request went out and is waiting for a response — i.e., we're\n // back online. A truly offline request fails almost instantly (well\n // within the 200ms timeout).\n if (err instanceof DOMException && err.name === 'AbortError') {\n clearTimeout(timeoutId)\n notifyOnline()\n return\n }\n // Network error — still offline. Schedule the next check with backoff.\n const delay =\n state.backoffStep === 0\n ? 500\n : state.backoffStep === 1\n ? 1000\n : state.backoffStep === 2\n ? 2000\n : 3000\n state.backoffStep++\n state.timeoutHandle = setTimeout(() => checkConnectivity(state), delay)\n }\n}\n\n/**\n * Returns a promise that resolves when connectivity is restored.\n */\nexport function waitForConnection(state: OfflineState) {\n return state.promise\n}\n\nfunction pingOfflineState() {\n if (offlineState !== null) {\n checkConnectivity(offlineState)\n }\n}\n\n// Set up browser event listeners for proactive offline detection.\nif (typeof window !== 'undefined') {\n window.addEventListener('offline', notifyOffline)\n window.addEventListener('online', pingOfflineState)\n}\n"],"names":["CONNECTIVITY_CHECK_TIMEOUT_MS","pingPrefetchScheduler","RSC_HEADER","dispatchOfflineChange","offlineState","checkOfflineError","err","DOMException","name","notifyOffline","getOffline","resolve","promise","Promise","r","timeoutHandle","backoffStep","checkConnectivity","notifyOnline","clearTimeout","state","controller","AbortController","timeoutId","setTimeout","abort","fetch","location","href","method","headers","signal","delay","waitForConnection","pingOfflineState","window","addEventListener"],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;CAwBC,GAED,kEAAkE;AAElE,0EAA0E;AAC1E,+EAA+E;AAC/E,4CAA4C;AAC5C,MAAMA,gCAAgC;AAEtC,SAASC,qBAAqB,QAAQ,4BAA2B;AACjE,SAASC,UAAU,QAAQ,uBAAsB;AACjD,SAASC,qBAAqB,QAAQ,gBAAe;AASrD,IAAIC,eAAoC;AAExC;;;;;;;;CAQC,GACD,OAAO,SAASC,kBAAkBC,GAAY;IAC5C,IAAIA,eAAeC,cAAc;QAC/B,IAAID,IAAIE,IAAI,KAAK,gBAAgBF,IAAIE,IAAI,KAAK,gBAAgB;YAC5D,OAAO;QACT;IACF;IACAC;IACA,OAAO;AACT;AAEA;;;;CAIC,GACD,OAAO,SAASC;IACd,OAAON;AACT;AAEA;;;CAGC,GACD,SAASK;IACP,IAAIL,iBAAiB,MAAM;QACzB,OAAOA;IACT;IACA,IAAIO;IACJ,MAAMC,UAAU,IAAIC,QAAc,CAACC;QACjCH,UAAUG;IACZ;IACAV,eAAe;QACbQ;QACAD,SAASA;QACTI,eAAe;QACfC,aAAa;IACf;IACAb,sBAAsB;IACtBc,kBAAkBb;IAClB,OAAOA;AACT;AAEA;;;;CAIC,GACD,OAAO,SAASc;IACd,IAAId,iBAAiB,MAAM;QACzB;IACF;IACA,IAAIA,aAAaW,aAAa,KAAK,MAAM;QACvCI,aAAaf,aAAaW,aAAa;IACzC;IACA,MAAMJ,UAAUP,aAAaO,OAAO;IACpCP,eAAe;IACfO;IACAR,sBAAsB;IACtBF;AACF;AAEA;;;CAGC,GACD,eAAegB,kBAAkBG,KAAmB;IAClD,gEAAgE;IAChE,0BAA0B;IAC1B,IAAIA,MAAML,aAAa,KAAK,MAAM;QAChCI,aAAaC,MAAML,aAAa;QAChCK,MAAML,aAAa,GAAG;IACxB;IAEA,MAAMM,aAAa,IAAIC;IACvB,MAAMC,YAAYC,WAChB,IAAMH,WAAWI,KAAK,IACtBzB;IAEF,IAAI;QACF,iEAAiE;QACjE,kEAAkE;QAClE,MAAM0B,MAAMC,SAASC,IAAI,EAAE;YACzBC,QAAQ;YACRC,SAAS;gBAAE,CAAC5B,WAAW,EAAE;YAAI;YAC7B6B,QAAQV,WAAWU,MAAM;QAC3B;QACAZ,aAAaI;QACb,gDAAgD;QAChDL;IACF,EAAE,OAAOZ,KAAK;QACZ,kEAAkE;QAClE,mEAAmE;QACnE,oEAAoE;QACpE,6BAA6B;QAC7B,IAAIA,eAAeC,gBAAgBD,IAAIE,IAAI,KAAK,cAAc;YAC5DW,aAAaI;YACbL;YACA;QACF;QACA,uEAAuE;QACvE,MAAMc,QACJZ,MAAMJ,WAAW,KAAK,IAClB,MACAI,MAAMJ,WAAW,KAAK,IACpB,OACAI,MAAMJ,WAAW,KAAK,IACpB,OACA;QACVI,MAAMJ,WAAW;QACjBI,MAAML,aAAa,GAAGS,WAAW,IAAMP,kBAAkBG,QAAQY;IACnE;AACF;AAEA;;CAEC,GACD,OAAO,SAASC,kBAAkBb,KAAmB;IACnD,OAAOA,MAAMR,OAAO;AACtB;AAEA,SAASsB;IACP,IAAI9B,iBAAiB,MAAM;QACzBa,kBAAkBb;IACpB;AACF;AAEA,kEAAkE;AAClE,IAAI,OAAO+B,WAAW,aAAa;IACjCA,OAAOC,gBAAgB,CAAC,WAAW3B;IACnC0B,OAAOC,gBAAgB,CAAC,UAAUF;AACpC","ignoreList":[0]} |
| 'use client'; | ||
| import { jsx as _jsx } from "react/jsx-runtime"; | ||
| import React, { createContext, useContext, useState, useOptimistic, startTransition } from 'react'; | ||
| const OfflineContext = /*#__PURE__*/ createContext(false); | ||
| // Module-level reference to the optimistic setter. Assigned inside the | ||
| // provider component on every render. Called by the offline module | ||
| // (via dispatchOfflineChange) to update the React tree. | ||
| let setOptimistic = null; | ||
| let setCanonical = null; | ||
| /** | ||
| * Called by the offline module when the offline state changes. | ||
| * Dispatches into React via startTransition + useOptimistic. | ||
| */ export function dispatchOfflineChange(isOffline) { | ||
| const canonical = setCanonical; | ||
| const optimistic = setOptimistic; | ||
| if (canonical === null || optimistic === null) { | ||
| return; | ||
| } | ||
| startTransition(()=>{ | ||
| canonical(isOffline); | ||
| optimistic(isOffline); | ||
| }); | ||
| } | ||
| export function OfflineProvider({ children }) { | ||
| const [canonicalOffline, setCanonicalOffline] = useState(false); | ||
| const [isOffline, setOptimisticOffline] = useOptimistic(canonicalOffline); | ||
| setOptimistic = setOptimisticOffline; | ||
| setCanonical = setCanonicalOffline; | ||
| return /*#__PURE__*/ _jsx(OfflineContext.Provider, { | ||
| value: isOffline, | ||
| children: children | ||
| }); | ||
| } | ||
| /** | ||
| * Returns whether the app is currently offline. | ||
| * Returns `false` during SSR and hydration. | ||
| */ export function useOffline() { | ||
| return useContext(OfflineContext); | ||
| } | ||
| //# sourceMappingURL=use-offline.js.map |
| {"version":3,"sources":["../../../../src/client/components/use-offline.tsx"],"sourcesContent":["'use client'\n\nimport React, {\n createContext,\n useContext,\n useState,\n useOptimistic,\n startTransition,\n} from 'react'\n\nconst OfflineContext = createContext<boolean>(false)\n\n// Module-level reference to the optimistic setter. Assigned inside the\n// provider component on every render. Called by the offline module\n// (via dispatchOfflineChange) to update the React tree.\nlet setOptimistic: ((value: boolean) => void) | null = null\nlet setCanonical: ((value: boolean) => void) | null = null\n\n/**\n * Called by the offline module when the offline state changes.\n * Dispatches into React via startTransition + useOptimistic.\n */\nexport function dispatchOfflineChange(isOffline: boolean): void {\n const canonical = setCanonical\n const optimistic = setOptimistic\n if (canonical === null || optimistic === null) {\n return\n }\n startTransition(() => {\n canonical(isOffline)\n optimistic(isOffline)\n })\n}\n\nexport function OfflineProvider({ children }: { children: React.ReactNode }) {\n const [canonicalOffline, setCanonicalOffline] = useState(false)\n const [isOffline, setOptimisticOffline] = useOptimistic(canonicalOffline)\n\n setOptimistic = setOptimisticOffline\n setCanonical = setCanonicalOffline\n\n return (\n <OfflineContext.Provider value={isOffline}>\n {children}\n </OfflineContext.Provider>\n )\n}\n\n/**\n * Returns whether the app is currently offline.\n * Returns `false` during SSR and hydration.\n */\nexport function useOffline(): boolean {\n return useContext(OfflineContext)\n}\n"],"names":["React","createContext","useContext","useState","useOptimistic","startTransition","OfflineContext","setOptimistic","setCanonical","dispatchOfflineChange","isOffline","canonical","optimistic","OfflineProvider","children","canonicalOffline","setCanonicalOffline","setOptimisticOffline","Provider","value","useOffline"],"mappings":"AAAA;;AAEA,OAAOA,SACLC,aAAa,EACbC,UAAU,EACVC,QAAQ,EACRC,aAAa,EACbC,eAAe,QACV,QAAO;AAEd,MAAMC,+BAAiBL,cAAuB;AAE9C,uEAAuE;AACvE,mEAAmE;AACnE,wDAAwD;AACxD,IAAIM,gBAAmD;AACvD,IAAIC,eAAkD;AAEtD;;;CAGC,GACD,OAAO,SAASC,sBAAsBC,SAAkB;IACtD,MAAMC,YAAYH;IAClB,MAAMI,aAAaL;IACnB,IAAII,cAAc,QAAQC,eAAe,MAAM;QAC7C;IACF;IACAP,gBAAgB;QACdM,UAAUD;QACVE,WAAWF;IACb;AACF;AAEA,OAAO,SAASG,gBAAgB,EAAEC,QAAQ,EAAiC;IACzE,MAAM,CAACC,kBAAkBC,oBAAoB,GAAGb,SAAS;IACzD,MAAM,CAACO,WAAWO,qBAAqB,GAAGb,cAAcW;IAExDR,gBAAgBU;IAChBT,eAAeQ;IAEf,qBACE,KAACV,eAAeY,QAAQ;QAACC,OAAOT;kBAC7BI;;AAGP;AAEA;;;CAGC,GACD,OAAO,SAASM;IACd,OAAOlB,WAAWI;AACpB","ignoreList":[0]} |
| export { useOffline } from './dist/client/components/use-offline' |
| module.exports = require('./dist/client/components/use-offline') |
@@ -122,2 +122,3 @@ "use strict"; | ||
| 'process.env.__NEXT_DYNAMIC_ON_HOVER': Boolean(config.experimental.dynamicOnHover), | ||
| 'process.env.__NEXT_USE_OFFLINE': Boolean(config.experimental.useOffline), | ||
| 'process.env.__NEXT_PREFETCH_INLINING': Boolean(config.experimental.prefetchInlining), | ||
@@ -124,0 +125,0 @@ 'process.env.__NEXT_OPTIMISTIC_CLIENT_CACHE': config.experimental.optimisticClientCache ?? true, |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../../src/build/define-env.ts"],"sourcesContent":["import type {\n I18NConfig,\n I18NDomains,\n NextConfigComplete,\n} from '../server/config-shared'\nimport type { ProxyMatcher } from './analysis/get-page-static-info'\nimport type { Rewrite } from '../lib/load-custom-routes'\nimport path from 'node:path'\nimport { needsExperimentalReact } from '../lib/needs-experimental-react'\nimport { checkIsAppPPREnabled } from '../server/lib/experimental/ppr'\nimport {\n getNextConfigEnv,\n getNextPublicEnvironmentVariables,\n} from '../lib/static-env'\n\ntype BloomFilter = ReturnType<\n import('../shared/lib/bloom-filter').BloomFilter['export']\n>\n\nexport interface DefineEnvOptions {\n isTurbopack: boolean\n clientRouterFilters?: {\n staticFilter: BloomFilter\n dynamicFilter: BloomFilter\n }\n config: NextConfigComplete\n dev: boolean\n distDir: string\n projectPath: string\n fetchCacheKeyPrefix: string | undefined\n hasRewrites: boolean\n isClient: boolean\n isEdgeServer: boolean\n isNodeServer: boolean\n middlewareMatchers: ProxyMatcher[] | undefined\n omitNonDeterministic?: boolean\n rewrites: {\n beforeFiles: Rewrite[]\n afterFiles: Rewrite[]\n fallback: Rewrite[]\n }\n}\n\nconst DEFINE_ENV_EXPRESSION = Symbol('DEFINE_ENV_EXPRESSION')\n\ninterface DefineEnv {\n [key: string]:\n | string\n | string[]\n | boolean\n | { [DEFINE_ENV_EXPRESSION]: string }\n | ProxyMatcher[]\n | BloomFilter\n | Partial<NextConfigComplete['images']>\n | I18NDomains\n | I18NConfig\n}\n\ninterface SerializedDefineEnv {\n [key: string]: string\n}\n\n/**\n * Serializes the DefineEnv config so that it can be inserted into the code by Webpack/Turbopack, JSON stringifies each value.\n */\nfunction serializeDefineEnv(defineEnv: DefineEnv): SerializedDefineEnv {\n const defineEnvStringified: SerializedDefineEnv = Object.fromEntries(\n Object.entries(defineEnv).map(([key, value]) => [\n key,\n typeof value === 'object' && DEFINE_ENV_EXPRESSION in value\n ? value[DEFINE_ENV_EXPRESSION]\n : JSON.stringify(value),\n ])\n )\n return defineEnvStringified\n}\n\nfunction getImageConfig(\n config: NextConfigComplete,\n dev: boolean\n): { 'process.env.__NEXT_IMAGE_OPTS': Partial<NextConfigComplete['images']> } {\n return {\n 'process.env.__NEXT_IMAGE_OPTS': {\n deviceSizes: config.images.deviceSizes,\n imageSizes: config.images.imageSizes,\n qualities: config.images.qualities,\n path: config.images.path,\n loader: config.images.loader,\n dangerouslyAllowSVG: config.images.dangerouslyAllowSVG,\n unoptimized: config?.images?.unoptimized,\n ...(dev\n ? {\n // additional config in dev to allow validating on the client\n domains: config.images.domains,\n remotePatterns: config.images?.remotePatterns,\n localPatterns: config.images?.localPatterns,\n output: config.output,\n }\n : {}),\n },\n }\n}\n\nexport function getDefineEnv({\n isTurbopack,\n clientRouterFilters,\n config,\n dev,\n distDir,\n projectPath,\n fetchCacheKeyPrefix,\n hasRewrites,\n isClient,\n isEdgeServer,\n isNodeServer,\n middlewareMatchers,\n omitNonDeterministic,\n rewrites,\n}: DefineEnvOptions): SerializedDefineEnv {\n const nextPublicEnv = getNextPublicEnvironmentVariables()\n const nextConfigEnv = getNextConfigEnv(config)\n\n const isPPREnabled = checkIsAppPPREnabled(config.experimental.ppr)\n const isCacheComponentsEnabled = !!config.cacheComponents\n const isUseCacheEnabled = !!config.experimental.useCache\n const isUseNodeStreamsEnabled = !!config.experimental.useNodeStreams\n\n const defineEnv: DefineEnv = {\n // internal field to identify the plugin config\n __NEXT_DEFINE_ENV: true,\n\n ...nextPublicEnv,\n ...nextConfigEnv,\n ...(!isEdgeServer\n ? {}\n : {\n EdgeRuntime:\n /**\n * Cloud providers can set this environment variable to allow users\n * and library authors to have different implementations based on\n * the runtime they are running with, if it's not using `edge-runtime`\n */\n process.env.NEXT_EDGE_RUNTIME_PROVIDER ?? 'edge-runtime',\n\n // process should be only { env: {...} } for edge runtime.\n // For ignore avoid warn on `process.emit` usage but directly omit it.\n 'process.emit': false,\n }),\n 'process.turbopack': isTurbopack,\n 'process.env.TURBOPACK': isTurbopack,\n 'process.env.__NEXT_BUNDLER': isTurbopack\n ? 'Turbopack'\n : process.env.NEXT_RSPACK\n ? 'Rspack'\n : 'Webpack',\n // TODO: enforce `NODE_ENV` on `process.env`, and add a test:\n 'process.env.NODE_ENV':\n dev || config.experimental.allowDevelopmentBuild\n ? 'development'\n : 'production',\n 'process.env.__NEXT_DEV_SERVER': dev ? '1' : '',\n 'process.env.NEXT_RUNTIME': isEdgeServer\n ? 'edge'\n : isNodeServer\n ? 'nodejs'\n : '',\n 'process.env.NEXT_MINIMAL': '',\n 'process.env.__NEXT_APP_NAV_FAIL_HANDLING': Boolean(\n config.experimental.appNavFailHandling\n ),\n 'process.env.__NEXT_APP_NEW_SCROLL_HANDLER': Boolean(\n config.experimental.appNewScrollHandler\n ),\n 'process.env.__NEXT_PPR': isPPREnabled,\n 'process.env.__NEXT_CACHE_COMPONENTS': isCacheComponentsEnabled,\n 'process.env.__NEXT_EXPERIMENTAL_CACHED_NAVIGATIONS': Boolean(\n config.experimental.cachedNavigations\n ),\n 'process.env.__NEXT_INSTANT_NAV_TOGGLE':\n !!config.experimental.instantNavigationDevToolsToggle,\n 'process.env.__NEXT_USE_CACHE': isUseCacheEnabled,\n 'process.env.__NEXT_USE_NODE_STREAMS': isEdgeServer\n ? false\n : isUseNodeStreamsEnabled,\n\n 'process.env.NEXT_IMMUTABLE_ASSET_TOKEN':\n config.experimental.immutableAssetToken || '',\n\n ...(config.experimental?.useSkewCookie || !config.deploymentId\n ? {\n 'process.env.NEXT_DEPLOYMENT_ID': false,\n }\n : isClient\n ? isTurbopack\n ? {\n // This is set at runtime by packages/next/src/client/register-deployment-id-global.ts\n 'process.env.NEXT_DEPLOYMENT_ID': {\n [DEFINE_ENV_EXPRESSION]: 'globalThis.NEXT_DEPLOYMENT_ID',\n },\n }\n : {\n // For Webpack, we currently don't use the non-inlining globalThis.NEXT_DEPLOYMENT_ID\n // approach because we cannot forward this global variable to web workers easily.\n 'process.env.NEXT_DEPLOYMENT_ID': config.deploymentId || false,\n }\n : config.experimental?.runtimeServerDeploymentId\n ? {\n // Don't inline at all, keep process.env.NEXT_DEPLOYMENT_ID as is\n }\n : {\n 'process.env.NEXT_DEPLOYMENT_ID': config.deploymentId || false,\n }),\n\n // Propagates the `__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING` environment\n // variable to the client.\n 'process.env.__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING':\n process.env.__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING || false,\n 'process.env.__NEXT_FETCH_CACHE_KEY_PREFIX': fetchCacheKeyPrefix ?? '',\n ...(isTurbopack\n ? {}\n : {\n 'process.env.__NEXT_MIDDLEWARE_MATCHERS': middlewareMatchers ?? [],\n }),\n 'process.env.__NEXT_MANUAL_CLIENT_BASE_PATH':\n config.experimental.manualClientBasePath ?? false,\n 'process.env.__NEXT_CLIENT_ROUTER_DYNAMIC_STALETIME': JSON.stringify(\n isNaN(Number(config.experimental.staleTimes?.dynamic))\n ? 0\n : config.experimental.staleTimes?.dynamic\n ),\n 'process.env.__NEXT_CLIENT_ROUTER_STATIC_STALETIME': JSON.stringify(\n isNaN(Number(config.experimental.staleTimes?.static))\n ? 5 * 60 // 5 minutes\n : config.experimental.staleTimes?.static\n ),\n 'process.env.__NEXT_CLIENT_ROUTER_FILTER_ENABLED':\n config.experimental.clientRouterFilter ?? true,\n 'process.env.__NEXT_CLIENT_ROUTER_S_FILTER':\n clientRouterFilters?.staticFilter ?? false,\n 'process.env.__NEXT_CLIENT_ROUTER_D_FILTER':\n clientRouterFilters?.dynamicFilter ?? false,\n 'process.env.__NEXT_CLIENT_VALIDATE_RSC_REQUEST_HEADERS': Boolean(\n config.experimental.validateRSCRequestHeaders\n ),\n 'process.env.__NEXT_DYNAMIC_ON_HOVER': Boolean(\n config.experimental.dynamicOnHover\n ),\n 'process.env.__NEXT_PREFETCH_INLINING': Boolean(\n config.experimental.prefetchInlining\n ),\n 'process.env.__NEXT_OPTIMISTIC_CLIENT_CACHE':\n config.experimental.optimisticClientCache ?? true,\n 'process.env.__NEXT_MIDDLEWARE_PREFETCH':\n config.experimental.proxyPrefetch ?? 'flexible',\n 'process.env.__NEXT_CROSS_ORIGIN': config.crossOrigin,\n 'process.browser': isClient,\n 'process.env.__NEXT_TEST_MODE': process.env.__NEXT_TEST_MODE ?? false,\n // This is used in client/dev-error-overlay/hot-dev-client.js to replace the dist directory\n ...(dev && (isClient ?? isEdgeServer)\n ? {\n 'process.env.__NEXT_DIST_DIR': distDir,\n }\n : {}),\n // This is used in devtools to strip the project path in edge runtime,\n // as there's only a dummy `dir` value (`.`) as edge runtime doesn't have concept of file system.\n ...(dev && isEdgeServer\n ? {\n 'process.env.__NEXT_EDGE_PROJECT_DIR': isTurbopack\n ? path.relative(process.cwd(), projectPath)\n : projectPath,\n }\n : {}),\n 'process.env.__NEXT_BASE_PATH': config.basePath,\n 'process.env.__NEXT_CASE_SENSITIVE_ROUTES': Boolean(\n config.experimental.caseSensitiveRoutes\n ),\n 'process.env.__NEXT_REWRITES': rewrites as any,\n 'process.env.__NEXT_TRAILING_SLASH': config.trailingSlash,\n 'process.env.__NEXT_DEV_INDICATOR': config.devIndicators !== false,\n 'process.env.__NEXT_DEV_INDICATOR_POSITION':\n config.devIndicators === false\n ? 'bottom-left' // This will not be used as the indicator is disabled.\n : (config.devIndicators.position ?? 'bottom-left'),\n 'process.env.__NEXT_STRICT_MODE':\n config.reactStrictMode === null ? false : config.reactStrictMode,\n 'process.env.__NEXT_STRICT_MODE_APP':\n // When next.config.js does not have reactStrictMode it's enabled by default.\n config.reactStrictMode === null ? true : config.reactStrictMode,\n 'process.env.__NEXT_OPTIMIZE_CSS':\n (config.experimental.optimizeCss && !dev) ?? false,\n 'process.env.__NEXT_SCRIPT_WORKERS':\n (config.experimental.nextScriptWorkers && !dev) ?? false,\n 'process.env.__NEXT_SCROLL_RESTORATION':\n config.experimental.scrollRestoration ?? false,\n ...getImageConfig(config, dev),\n 'process.env.__NEXT_ROUTER_BASEPATH': config.basePath,\n 'process.env.__NEXT_HAS_REWRITES': hasRewrites,\n 'process.env.__NEXT_CONFIG_OUTPUT': config.output,\n 'process.env.__NEXT_I18N_SUPPORT': !!config.i18n,\n 'process.env.__NEXT_I18N_DOMAINS': config.i18n?.domains ?? false,\n 'process.env.__NEXT_I18N_CONFIG': config.i18n || '',\n 'process.env.__NEXT_NO_MIDDLEWARE_URL_NORMALIZE':\n config.skipProxyUrlNormalize,\n 'process.env.__NEXT_EXTERNAL_MIDDLEWARE_REWRITE_RESOLVE':\n config.experimental.externalProxyRewritesResolve ?? false,\n 'process.env.__NEXT_MANUAL_TRAILING_SLASH':\n config.skipTrailingSlashRedirect,\n 'process.env.__NEXT_HAS_WEB_VITALS_ATTRIBUTION':\n (config.experimental.webVitalsAttribution &&\n config.experimental.webVitalsAttribution.length > 0) ??\n false,\n 'process.env.__NEXT_WEB_VITALS_ATTRIBUTION':\n config.experimental.webVitalsAttribution ?? false,\n 'process.env.__NEXT_LINK_NO_TOUCH_START':\n config.experimental.linkNoTouchStart ?? false,\n 'process.env.__NEXT_ASSET_PREFIX': config.assetPrefix,\n 'process.env.__NEXT_EXPERIMENTAL_AUTH_INTERRUPTS':\n !!config.experimental.authInterrupts,\n 'process.env.__NEXT_TELEMETRY_DISABLED': Boolean(\n process.env.NEXT_TELEMETRY_DISABLED\n ),\n ...(isNodeServer || isEdgeServer\n ? {\n // Fix bad-actors in the npm ecosystem (e.g. `node-formidable`)\n // This is typically found in unmaintained modules from the\n // pre-webpack era (common in server-side code)\n 'global.GENTLY': false,\n }\n : undefined),\n ...(isNodeServer || isEdgeServer\n ? {\n 'process.env.__NEXT_EXPERIMENTAL_REACT':\n needsExperimentalReact(config),\n }\n : undefined),\n\n 'process.env.__NEXT_MULTI_ZONE_DRAFT_MODE':\n config.experimental.multiZoneDraftMode ?? false,\n 'process.env.__NEXT_TRUST_HOST_HEADER':\n config.experimental.trustHostHeader ?? false,\n 'process.env.__NEXT_ALLOWED_REVALIDATE_HEADERS':\n config.experimental.allowedRevalidateHeaderKeys ?? [],\n ...(isNodeServer || isEdgeServer\n ? {\n 'process.env.__NEXT_RELATIVE_DIST_DIR': config.distDir,\n 'process.env.__NEXT_RELATIVE_PROJECT_DIR': path.relative(\n process.cwd(),\n projectPath\n ),\n }\n : {}),\n\n 'process.env.__NEXT_BROWSER_DEBUG_INFO_IN_TERMINAL': JSON.stringify(\n (config.logging && config.logging.browserToTerminal) || false\n ),\n 'process.env.__NEXT_MCP_SERVER': !!config.experimental.mcpServer,\n\n // The devtools need to know whether or not to show an option to clear the\n // bundler cache. This option may be removed later once Turbopack's\n // filesystem cache feature is more stable.\n //\n // This environment value is currently best-effort:\n // - It's possible to disable the webpack filesystem cache, but it's\n // unlikely for a user to do that.\n // - Rspack's filesystem cache is unstable and requires a different\n // configuration than webpack to enable (which we don't do).\n //\n // In the worst case we'll show an option to clear the cache, but it'll be a\n // no-op that just restarts the development server.\n 'process.env.__NEXT_BUNDLER_HAS_PERSISTENT_CACHE':\n !isTurbopack ||\n (config.experimental.turbopackFileSystemCacheForDev ?? false),\n 'process.env.__NEXT_REACT_DEBUG_CHANNEL':\n config.experimental.reactDebugChannel ?? false,\n 'process.env.__NEXT_TRANSITION_INDICATOR':\n config.experimental.transitionIndicator ?? false,\n 'process.env.__NEXT_GESTURE_TRANSITION':\n config.experimental.gestureTransition ?? false,\n 'process.env.__NEXT_OPTIMISTIC_ROUTING':\n config.experimental.optimisticRouting ?? false,\n 'process.env.__NEXT_VARY_PARAMS': config.experimental.varyParams ?? false,\n 'process.env.__NEXT_EXPOSE_TESTING_API':\n dev || config.experimental.exposeTestingApiInProductionBuild === true,\n 'process.env.__NEXT_CACHE_LIFE': config.cacheLife,\n 'process.env.__NEXT_CLIENT_PARAM_PARSING_ORIGINS':\n config.experimental.clientParamParsingOrigins || [],\n }\n\n const userDefines = config.compiler?.define ?? {}\n for (const key in userDefines) {\n if (defineEnv.hasOwnProperty(key)) {\n throw new Error(\n `The \\`compiler.define\\` option is configured to replace the \\`${key}\\` variable. This variable is either part of a Next.js built-in or is already configured.`\n )\n }\n defineEnv[key] = userDefines[key]\n }\n\n if (isNodeServer || isEdgeServer) {\n const userDefinesServer = config.compiler?.defineServer ?? {}\n for (const key in userDefinesServer) {\n if (defineEnv.hasOwnProperty(key)) {\n throw new Error(\n `The \\`compiler.defineServer\\` option is configured to replace the \\`${key}\\` variable. This variable is either part of a Next.js built-in or is already configured.`\n )\n }\n defineEnv[key] = userDefinesServer[key]\n }\n }\n\n const serializedDefineEnv = serializeDefineEnv(defineEnv)\n\n // we delay inlining these values until after the build\n // with flying shuttle enabled so we can update them\n // without invalidating entries\n if (!dev && omitNonDeterministic) {\n // client uses window. instead of leaving process.env\n // in case process isn't polyfilled on client already\n // since by this point it won't be added by webpack\n const safeKey = (key: string) =>\n isClient ? `window.${key.split('.').pop()}` : key\n\n for (const key in nextPublicEnv) {\n serializedDefineEnv[key] = safeKey(key)\n }\n for (const key in nextConfigEnv) {\n serializedDefineEnv[key] = safeKey(key)\n }\n if (!config.experimental.runtimeServerDeploymentId) {\n for (const key of ['process.env.NEXT_DEPLOYMENT_ID']) {\n serializedDefineEnv[key] = safeKey(key)\n }\n }\n }\n\n return serializedDefineEnv\n}\n"],"names":["getDefineEnv","DEFINE_ENV_EXPRESSION","Symbol","serializeDefineEnv","defineEnv","defineEnvStringified","Object","fromEntries","entries","map","key","value","JSON","stringify","getImageConfig","config","dev","deviceSizes","images","imageSizes","qualities","path","loader","dangerouslyAllowSVG","unoptimized","domains","remotePatterns","localPatterns","output","isTurbopack","clientRouterFilters","distDir","projectPath","fetchCacheKeyPrefix","hasRewrites","isClient","isEdgeServer","isNodeServer","middlewareMatchers","omitNonDeterministic","rewrites","nextPublicEnv","getNextPublicEnvironmentVariables","nextConfigEnv","getNextConfigEnv","isPPREnabled","checkIsAppPPREnabled","experimental","ppr","isCacheComponentsEnabled","cacheComponents","isUseCacheEnabled","useCache","isUseNodeStreamsEnabled","useNodeStreams","__NEXT_DEFINE_ENV","EdgeRuntime","process","env","NEXT_EDGE_RUNTIME_PROVIDER","NEXT_RSPACK","allowDevelopmentBuild","Boolean","appNavFailHandling","appNewScrollHandler","cachedNavigations","instantNavigationDevToolsToggle","immutableAssetToken","useSkewCookie","deploymentId","runtimeServerDeploymentId","__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING","manualClientBasePath","isNaN","Number","staleTimes","dynamic","static","clientRouterFilter","staticFilter","dynamicFilter","validateRSCRequestHeaders","dynamicOnHover","prefetchInlining","optimisticClientCache","proxyPrefetch","crossOrigin","__NEXT_TEST_MODE","relative","cwd","basePath","caseSensitiveRoutes","trailingSlash","devIndicators","position","reactStrictMode","optimizeCss","nextScriptWorkers","scrollRestoration","i18n","skipProxyUrlNormalize","externalProxyRewritesResolve","skipTrailingSlashRedirect","webVitalsAttribution","length","linkNoTouchStart","assetPrefix","authInterrupts","NEXT_TELEMETRY_DISABLED","undefined","needsExperimentalReact","multiZoneDraftMode","trustHostHeader","allowedRevalidateHeaderKeys","logging","browserToTerminal","mcpServer","turbopackFileSystemCacheForDev","reactDebugChannel","transitionIndicator","gestureTransition","optimisticRouting","varyParams","exposeTestingApiInProductionBuild","cacheLife","clientParamParsingOrigins","userDefines","compiler","define","hasOwnProperty","Error","userDefinesServer","defineServer","serializedDefineEnv","safeKey","split","pop"],"mappings":"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","ignoreList":[0]} | ||
| {"version":3,"sources":["../../src/build/define-env.ts"],"sourcesContent":["import type {\n I18NConfig,\n I18NDomains,\n NextConfigComplete,\n} from '../server/config-shared'\nimport type { ProxyMatcher } from './analysis/get-page-static-info'\nimport type { Rewrite } from '../lib/load-custom-routes'\nimport path from 'node:path'\nimport { needsExperimentalReact } from '../lib/needs-experimental-react'\nimport { checkIsAppPPREnabled } from '../server/lib/experimental/ppr'\nimport {\n getNextConfigEnv,\n getNextPublicEnvironmentVariables,\n} from '../lib/static-env'\n\ntype BloomFilter = ReturnType<\n import('../shared/lib/bloom-filter').BloomFilter['export']\n>\n\nexport interface DefineEnvOptions {\n isTurbopack: boolean\n clientRouterFilters?: {\n staticFilter: BloomFilter\n dynamicFilter: BloomFilter\n }\n config: NextConfigComplete\n dev: boolean\n distDir: string\n projectPath: string\n fetchCacheKeyPrefix: string | undefined\n hasRewrites: boolean\n isClient: boolean\n isEdgeServer: boolean\n isNodeServer: boolean\n middlewareMatchers: ProxyMatcher[] | undefined\n omitNonDeterministic?: boolean\n rewrites: {\n beforeFiles: Rewrite[]\n afterFiles: Rewrite[]\n fallback: Rewrite[]\n }\n}\n\nconst DEFINE_ENV_EXPRESSION = Symbol('DEFINE_ENV_EXPRESSION')\n\ninterface DefineEnv {\n [key: string]:\n | string\n | string[]\n | boolean\n | { [DEFINE_ENV_EXPRESSION]: string }\n | ProxyMatcher[]\n | BloomFilter\n | Partial<NextConfigComplete['images']>\n | I18NDomains\n | I18NConfig\n}\n\ninterface SerializedDefineEnv {\n [key: string]: string\n}\n\n/**\n * Serializes the DefineEnv config so that it can be inserted into the code by Webpack/Turbopack, JSON stringifies each value.\n */\nfunction serializeDefineEnv(defineEnv: DefineEnv): SerializedDefineEnv {\n const defineEnvStringified: SerializedDefineEnv = Object.fromEntries(\n Object.entries(defineEnv).map(([key, value]) => [\n key,\n typeof value === 'object' && DEFINE_ENV_EXPRESSION in value\n ? value[DEFINE_ENV_EXPRESSION]\n : JSON.stringify(value),\n ])\n )\n return defineEnvStringified\n}\n\nfunction getImageConfig(\n config: NextConfigComplete,\n dev: boolean\n): { 'process.env.__NEXT_IMAGE_OPTS': Partial<NextConfigComplete['images']> } {\n return {\n 'process.env.__NEXT_IMAGE_OPTS': {\n deviceSizes: config.images.deviceSizes,\n imageSizes: config.images.imageSizes,\n qualities: config.images.qualities,\n path: config.images.path,\n loader: config.images.loader,\n dangerouslyAllowSVG: config.images.dangerouslyAllowSVG,\n unoptimized: config?.images?.unoptimized,\n ...(dev\n ? {\n // additional config in dev to allow validating on the client\n domains: config.images.domains,\n remotePatterns: config.images?.remotePatterns,\n localPatterns: config.images?.localPatterns,\n output: config.output,\n }\n : {}),\n },\n }\n}\n\nexport function getDefineEnv({\n isTurbopack,\n clientRouterFilters,\n config,\n dev,\n distDir,\n projectPath,\n fetchCacheKeyPrefix,\n hasRewrites,\n isClient,\n isEdgeServer,\n isNodeServer,\n middlewareMatchers,\n omitNonDeterministic,\n rewrites,\n}: DefineEnvOptions): SerializedDefineEnv {\n const nextPublicEnv = getNextPublicEnvironmentVariables()\n const nextConfigEnv = getNextConfigEnv(config)\n\n const isPPREnabled = checkIsAppPPREnabled(config.experimental.ppr)\n const isCacheComponentsEnabled = !!config.cacheComponents\n const isUseCacheEnabled = !!config.experimental.useCache\n const isUseNodeStreamsEnabled = !!config.experimental.useNodeStreams\n\n const defineEnv: DefineEnv = {\n // internal field to identify the plugin config\n __NEXT_DEFINE_ENV: true,\n\n ...nextPublicEnv,\n ...nextConfigEnv,\n ...(!isEdgeServer\n ? {}\n : {\n EdgeRuntime:\n /**\n * Cloud providers can set this environment variable to allow users\n * and library authors to have different implementations based on\n * the runtime they are running with, if it's not using `edge-runtime`\n */\n process.env.NEXT_EDGE_RUNTIME_PROVIDER ?? 'edge-runtime',\n\n // process should be only { env: {...} } for edge runtime.\n // For ignore avoid warn on `process.emit` usage but directly omit it.\n 'process.emit': false,\n }),\n 'process.turbopack': isTurbopack,\n 'process.env.TURBOPACK': isTurbopack,\n 'process.env.__NEXT_BUNDLER': isTurbopack\n ? 'Turbopack'\n : process.env.NEXT_RSPACK\n ? 'Rspack'\n : 'Webpack',\n // TODO: enforce `NODE_ENV` on `process.env`, and add a test:\n 'process.env.NODE_ENV':\n dev || config.experimental.allowDevelopmentBuild\n ? 'development'\n : 'production',\n 'process.env.__NEXT_DEV_SERVER': dev ? '1' : '',\n 'process.env.NEXT_RUNTIME': isEdgeServer\n ? 'edge'\n : isNodeServer\n ? 'nodejs'\n : '',\n 'process.env.NEXT_MINIMAL': '',\n 'process.env.__NEXT_APP_NAV_FAIL_HANDLING': Boolean(\n config.experimental.appNavFailHandling\n ),\n 'process.env.__NEXT_APP_NEW_SCROLL_HANDLER': Boolean(\n config.experimental.appNewScrollHandler\n ),\n 'process.env.__NEXT_PPR': isPPREnabled,\n 'process.env.__NEXT_CACHE_COMPONENTS': isCacheComponentsEnabled,\n 'process.env.__NEXT_EXPERIMENTAL_CACHED_NAVIGATIONS': Boolean(\n config.experimental.cachedNavigations\n ),\n 'process.env.__NEXT_INSTANT_NAV_TOGGLE':\n !!config.experimental.instantNavigationDevToolsToggle,\n 'process.env.__NEXT_USE_CACHE': isUseCacheEnabled,\n 'process.env.__NEXT_USE_NODE_STREAMS': isEdgeServer\n ? false\n : isUseNodeStreamsEnabled,\n\n 'process.env.NEXT_IMMUTABLE_ASSET_TOKEN':\n config.experimental.immutableAssetToken || '',\n\n ...(config.experimental?.useSkewCookie || !config.deploymentId\n ? {\n 'process.env.NEXT_DEPLOYMENT_ID': false,\n }\n : isClient\n ? isTurbopack\n ? {\n // This is set at runtime by packages/next/src/client/register-deployment-id-global.ts\n 'process.env.NEXT_DEPLOYMENT_ID': {\n [DEFINE_ENV_EXPRESSION]: 'globalThis.NEXT_DEPLOYMENT_ID',\n },\n }\n : {\n // For Webpack, we currently don't use the non-inlining globalThis.NEXT_DEPLOYMENT_ID\n // approach because we cannot forward this global variable to web workers easily.\n 'process.env.NEXT_DEPLOYMENT_ID': config.deploymentId || false,\n }\n : config.experimental?.runtimeServerDeploymentId\n ? {\n // Don't inline at all, keep process.env.NEXT_DEPLOYMENT_ID as is\n }\n : {\n 'process.env.NEXT_DEPLOYMENT_ID': config.deploymentId || false,\n }),\n\n // Propagates the `__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING` environment\n // variable to the client.\n 'process.env.__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING':\n process.env.__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING || false,\n 'process.env.__NEXT_FETCH_CACHE_KEY_PREFIX': fetchCacheKeyPrefix ?? '',\n ...(isTurbopack\n ? {}\n : {\n 'process.env.__NEXT_MIDDLEWARE_MATCHERS': middlewareMatchers ?? [],\n }),\n 'process.env.__NEXT_MANUAL_CLIENT_BASE_PATH':\n config.experimental.manualClientBasePath ?? false,\n 'process.env.__NEXT_CLIENT_ROUTER_DYNAMIC_STALETIME': JSON.stringify(\n isNaN(Number(config.experimental.staleTimes?.dynamic))\n ? 0\n : config.experimental.staleTimes?.dynamic\n ),\n 'process.env.__NEXT_CLIENT_ROUTER_STATIC_STALETIME': JSON.stringify(\n isNaN(Number(config.experimental.staleTimes?.static))\n ? 5 * 60 // 5 minutes\n : config.experimental.staleTimes?.static\n ),\n 'process.env.__NEXT_CLIENT_ROUTER_FILTER_ENABLED':\n config.experimental.clientRouterFilter ?? true,\n 'process.env.__NEXT_CLIENT_ROUTER_S_FILTER':\n clientRouterFilters?.staticFilter ?? false,\n 'process.env.__NEXT_CLIENT_ROUTER_D_FILTER':\n clientRouterFilters?.dynamicFilter ?? false,\n 'process.env.__NEXT_CLIENT_VALIDATE_RSC_REQUEST_HEADERS': Boolean(\n config.experimental.validateRSCRequestHeaders\n ),\n 'process.env.__NEXT_DYNAMIC_ON_HOVER': Boolean(\n config.experimental.dynamicOnHover\n ),\n 'process.env.__NEXT_USE_OFFLINE': Boolean(config.experimental.useOffline),\n 'process.env.__NEXT_PREFETCH_INLINING': Boolean(\n config.experimental.prefetchInlining\n ),\n 'process.env.__NEXT_OPTIMISTIC_CLIENT_CACHE':\n config.experimental.optimisticClientCache ?? true,\n 'process.env.__NEXT_MIDDLEWARE_PREFETCH':\n config.experimental.proxyPrefetch ?? 'flexible',\n 'process.env.__NEXT_CROSS_ORIGIN': config.crossOrigin,\n 'process.browser': isClient,\n 'process.env.__NEXT_TEST_MODE': process.env.__NEXT_TEST_MODE ?? false,\n // This is used in client/dev-error-overlay/hot-dev-client.js to replace the dist directory\n ...(dev && (isClient ?? isEdgeServer)\n ? {\n 'process.env.__NEXT_DIST_DIR': distDir,\n }\n : {}),\n // This is used in devtools to strip the project path in edge runtime,\n // as there's only a dummy `dir` value (`.`) as edge runtime doesn't have concept of file system.\n ...(dev && isEdgeServer\n ? {\n 'process.env.__NEXT_EDGE_PROJECT_DIR': isTurbopack\n ? path.relative(process.cwd(), projectPath)\n : projectPath,\n }\n : {}),\n 'process.env.__NEXT_BASE_PATH': config.basePath,\n 'process.env.__NEXT_CASE_SENSITIVE_ROUTES': Boolean(\n config.experimental.caseSensitiveRoutes\n ),\n 'process.env.__NEXT_REWRITES': rewrites as any,\n 'process.env.__NEXT_TRAILING_SLASH': config.trailingSlash,\n 'process.env.__NEXT_DEV_INDICATOR': config.devIndicators !== false,\n 'process.env.__NEXT_DEV_INDICATOR_POSITION':\n config.devIndicators === false\n ? 'bottom-left' // This will not be used as the indicator is disabled.\n : (config.devIndicators.position ?? 'bottom-left'),\n 'process.env.__NEXT_STRICT_MODE':\n config.reactStrictMode === null ? false : config.reactStrictMode,\n 'process.env.__NEXT_STRICT_MODE_APP':\n // When next.config.js does not have reactStrictMode it's enabled by default.\n config.reactStrictMode === null ? true : config.reactStrictMode,\n 'process.env.__NEXT_OPTIMIZE_CSS':\n (config.experimental.optimizeCss && !dev) ?? false,\n 'process.env.__NEXT_SCRIPT_WORKERS':\n (config.experimental.nextScriptWorkers && !dev) ?? false,\n 'process.env.__NEXT_SCROLL_RESTORATION':\n config.experimental.scrollRestoration ?? false,\n ...getImageConfig(config, dev),\n 'process.env.__NEXT_ROUTER_BASEPATH': config.basePath,\n 'process.env.__NEXT_HAS_REWRITES': hasRewrites,\n 'process.env.__NEXT_CONFIG_OUTPUT': config.output,\n 'process.env.__NEXT_I18N_SUPPORT': !!config.i18n,\n 'process.env.__NEXT_I18N_DOMAINS': config.i18n?.domains ?? false,\n 'process.env.__NEXT_I18N_CONFIG': config.i18n || '',\n 'process.env.__NEXT_NO_MIDDLEWARE_URL_NORMALIZE':\n config.skipProxyUrlNormalize,\n 'process.env.__NEXT_EXTERNAL_MIDDLEWARE_REWRITE_RESOLVE':\n config.experimental.externalProxyRewritesResolve ?? false,\n 'process.env.__NEXT_MANUAL_TRAILING_SLASH':\n config.skipTrailingSlashRedirect,\n 'process.env.__NEXT_HAS_WEB_VITALS_ATTRIBUTION':\n (config.experimental.webVitalsAttribution &&\n config.experimental.webVitalsAttribution.length > 0) ??\n false,\n 'process.env.__NEXT_WEB_VITALS_ATTRIBUTION':\n config.experimental.webVitalsAttribution ?? false,\n 'process.env.__NEXT_LINK_NO_TOUCH_START':\n config.experimental.linkNoTouchStart ?? false,\n 'process.env.__NEXT_ASSET_PREFIX': config.assetPrefix,\n 'process.env.__NEXT_EXPERIMENTAL_AUTH_INTERRUPTS':\n !!config.experimental.authInterrupts,\n 'process.env.__NEXT_TELEMETRY_DISABLED': Boolean(\n process.env.NEXT_TELEMETRY_DISABLED\n ),\n ...(isNodeServer || isEdgeServer\n ? {\n // Fix bad-actors in the npm ecosystem (e.g. `node-formidable`)\n // This is typically found in unmaintained modules from the\n // pre-webpack era (common in server-side code)\n 'global.GENTLY': false,\n }\n : undefined),\n ...(isNodeServer || isEdgeServer\n ? {\n 'process.env.__NEXT_EXPERIMENTAL_REACT':\n needsExperimentalReact(config),\n }\n : undefined),\n\n 'process.env.__NEXT_MULTI_ZONE_DRAFT_MODE':\n config.experimental.multiZoneDraftMode ?? false,\n 'process.env.__NEXT_TRUST_HOST_HEADER':\n config.experimental.trustHostHeader ?? false,\n 'process.env.__NEXT_ALLOWED_REVALIDATE_HEADERS':\n config.experimental.allowedRevalidateHeaderKeys ?? [],\n ...(isNodeServer || isEdgeServer\n ? {\n 'process.env.__NEXT_RELATIVE_DIST_DIR': config.distDir,\n 'process.env.__NEXT_RELATIVE_PROJECT_DIR': path.relative(\n process.cwd(),\n projectPath\n ),\n }\n : {}),\n\n 'process.env.__NEXT_BROWSER_DEBUG_INFO_IN_TERMINAL': JSON.stringify(\n (config.logging && config.logging.browserToTerminal) || false\n ),\n 'process.env.__NEXT_MCP_SERVER': !!config.experimental.mcpServer,\n\n // The devtools need to know whether or not to show an option to clear the\n // bundler cache. This option may be removed later once Turbopack's\n // filesystem cache feature is more stable.\n //\n // This environment value is currently best-effort:\n // - It's possible to disable the webpack filesystem cache, but it's\n // unlikely for a user to do that.\n // - Rspack's filesystem cache is unstable and requires a different\n // configuration than webpack to enable (which we don't do).\n //\n // In the worst case we'll show an option to clear the cache, but it'll be a\n // no-op that just restarts the development server.\n 'process.env.__NEXT_BUNDLER_HAS_PERSISTENT_CACHE':\n !isTurbopack ||\n (config.experimental.turbopackFileSystemCacheForDev ?? false),\n 'process.env.__NEXT_REACT_DEBUG_CHANNEL':\n config.experimental.reactDebugChannel ?? false,\n 'process.env.__NEXT_TRANSITION_INDICATOR':\n config.experimental.transitionIndicator ?? false,\n 'process.env.__NEXT_GESTURE_TRANSITION':\n config.experimental.gestureTransition ?? false,\n 'process.env.__NEXT_OPTIMISTIC_ROUTING':\n config.experimental.optimisticRouting ?? false,\n 'process.env.__NEXT_VARY_PARAMS': config.experimental.varyParams ?? false,\n 'process.env.__NEXT_EXPOSE_TESTING_API':\n dev || config.experimental.exposeTestingApiInProductionBuild === true,\n 'process.env.__NEXT_CACHE_LIFE': config.cacheLife,\n 'process.env.__NEXT_CLIENT_PARAM_PARSING_ORIGINS':\n config.experimental.clientParamParsingOrigins || [],\n }\n\n const userDefines = config.compiler?.define ?? {}\n for (const key in userDefines) {\n if (defineEnv.hasOwnProperty(key)) {\n throw new Error(\n `The \\`compiler.define\\` option is configured to replace the \\`${key}\\` variable. This variable is either part of a Next.js built-in or is already configured.`\n )\n }\n defineEnv[key] = userDefines[key]\n }\n\n if (isNodeServer || isEdgeServer) {\n const userDefinesServer = config.compiler?.defineServer ?? {}\n for (const key in userDefinesServer) {\n if (defineEnv.hasOwnProperty(key)) {\n throw new Error(\n `The \\`compiler.defineServer\\` option is configured to replace the \\`${key}\\` variable. This variable is either part of a Next.js built-in or is already configured.`\n )\n }\n defineEnv[key] = userDefinesServer[key]\n }\n }\n\n const serializedDefineEnv = serializeDefineEnv(defineEnv)\n\n // we delay inlining these values until after the build\n // with flying shuttle enabled so we can update them\n // without invalidating entries\n if (!dev && omitNonDeterministic) {\n // client uses window. instead of leaving process.env\n // in case process isn't polyfilled on client already\n // since by this point it won't be added by webpack\n const safeKey = (key: string) =>\n isClient ? `window.${key.split('.').pop()}` : key\n\n for (const key in nextPublicEnv) {\n serializedDefineEnv[key] = safeKey(key)\n }\n for (const key in nextConfigEnv) {\n serializedDefineEnv[key] = safeKey(key)\n }\n if (!config.experimental.runtimeServerDeploymentId) {\n for (const key of ['process.env.NEXT_DEPLOYMENT_ID']) {\n serializedDefineEnv[key] = safeKey(key)\n }\n }\n }\n\n return serializedDefineEnv\n}\n"],"names":["getDefineEnv","DEFINE_ENV_EXPRESSION","Symbol","serializeDefineEnv","defineEnv","defineEnvStringified","Object","fromEntries","entries","map","key","value","JSON","stringify","getImageConfig","config","dev","deviceSizes","images","imageSizes","qualities","path","loader","dangerouslyAllowSVG","unoptimized","domains","remotePatterns","localPatterns","output","isTurbopack","clientRouterFilters","distDir","projectPath","fetchCacheKeyPrefix","hasRewrites","isClient","isEdgeServer","isNodeServer","middlewareMatchers","omitNonDeterministic","rewrites","nextPublicEnv","getNextPublicEnvironmentVariables","nextConfigEnv","getNextConfigEnv","isPPREnabled","checkIsAppPPREnabled","experimental","ppr","isCacheComponentsEnabled","cacheComponents","isUseCacheEnabled","useCache","isUseNodeStreamsEnabled","useNodeStreams","__NEXT_DEFINE_ENV","EdgeRuntime","process","env","NEXT_EDGE_RUNTIME_PROVIDER","NEXT_RSPACK","allowDevelopmentBuild","Boolean","appNavFailHandling","appNewScrollHandler","cachedNavigations","instantNavigationDevToolsToggle","immutableAssetToken","useSkewCookie","deploymentId","runtimeServerDeploymentId","__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING","manualClientBasePath","isNaN","Number","staleTimes","dynamic","static","clientRouterFilter","staticFilter","dynamicFilter","validateRSCRequestHeaders","dynamicOnHover","useOffline","prefetchInlining","optimisticClientCache","proxyPrefetch","crossOrigin","__NEXT_TEST_MODE","relative","cwd","basePath","caseSensitiveRoutes","trailingSlash","devIndicators","position","reactStrictMode","optimizeCss","nextScriptWorkers","scrollRestoration","i18n","skipProxyUrlNormalize","externalProxyRewritesResolve","skipTrailingSlashRedirect","webVitalsAttribution","length","linkNoTouchStart","assetPrefix","authInterrupts","NEXT_TELEMETRY_DISABLED","undefined","needsExperimentalReact","multiZoneDraftMode","trustHostHeader","allowedRevalidateHeaderKeys","logging","browserToTerminal","mcpServer","turbopackFileSystemCacheForDev","reactDebugChannel","transitionIndicator","gestureTransition","optimisticRouting","varyParams","exposeTestingApiInProductionBuild","cacheLife","clientParamParsingOrigins","userDefines","compiler","define","hasOwnProperty","Error","userDefinesServer","defineServer","serializedDefineEnv","safeKey","split","pop"],"mappings":"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","ignoreList":[0]} |
@@ -152,7 +152,2 @@ import type { NextConfigComplete, NextConfigRuntime } from '../server/config-shared'; | ||
| /** | ||
| * If true, this indicates that the route has fallback root params. This is | ||
| * used to simplify the route regex for matching. | ||
| */ | ||
| hasFallbackRootParams?: boolean; | ||
| /** | ||
| * The prefetch segment data routes for this route. This is used to rewrite | ||
@@ -159,0 +154,0 @@ * the prefetch segment data routes (or the inverse) to the correct |
@@ -137,3 +137,3 @@ "use strict"; | ||
| }({}); | ||
| const nextVersion = "16.2.1-canary.11"; | ||
| const nextVersion = "16.2.1-canary.12"; | ||
| const ArchName = (0, _os.arch)(); | ||
@@ -140,0 +140,0 @@ const PlatformName = (0, _os.platform)(); |
@@ -96,3 +96,3 @@ "use strict"; | ||
| isPersistentCachingEnabled: persistentCaching, | ||
| nextVersion: "16.2.1-canary.11" | ||
| nextVersion: "16.2.1-canary.12" | ||
| }, { | ||
@@ -99,0 +99,0 @@ memoryLimit: (_config_experimental2 = config.experimental) == null ? void 0 : _config_experimental2.turbopackMemoryLimit, |
@@ -117,3 +117,3 @@ // Import cpu-profile first to start profiling early if enabled | ||
| deferredEntries: config.experimental.deferredEntries, | ||
| nextVersion: "16.2.1-canary.11" | ||
| nextVersion: "16.2.1-canary.12" | ||
| }; | ||
@@ -120,0 +120,0 @@ const sharedTurboOptions = { |
| 1:"$Sreact.fragment" | ||
| 2:I[7010,["/_next/static/chunks/4f5c3e40db20455b.js"],"ClientPageRoot"] | ||
| 3:I[79331,["/_next/static/chunks/9d0197e49c5a8fbb.js"],"default"] | ||
| 6:I[89993,["/_next/static/chunks/4f5c3e40db20455b.js"],"OutletBoundary"] | ||
| 2:I[21172,["/_next/static/chunks/af67747f8a8ff296.js"],"ClientPageRoot"] | ||
| 3:I[79331,["/_next/static/chunks/a6d545ec284b0eca.js"],"default"] | ||
| 6:I[47148,["/_next/static/chunks/af67747f8a8ff296.js"],"OutletBoundary"] | ||
| 7:"$Sreact.suspense" | ||
| 0:{"buildId":"fDPULWg1a4sbNfZhGARDq","rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/9d0197e49c5a8fbb.js","async":true}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"loading":null,"isPartial":false} | ||
| 0:{"buildId":"htx2nrRDy7bVbuccCo0ZJ","rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/a6d545ec284b0eca.js","async":true}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"loading":null,"isPartial":false} | ||
| 4:{} | ||
| 5:"$0:rsc:props:children:0:props:serverProvidedParams:params" | ||
| 8:null |
| 1:"$Sreact.fragment" | ||
| 2:I[92215,["/_next/static/chunks/4f5c3e40db20455b.js"],"default"] | ||
| 3:I[97551,["/_next/static/chunks/4f5c3e40db20455b.js"],"default"] | ||
| 4:I[7010,["/_next/static/chunks/4f5c3e40db20455b.js"],"ClientPageRoot"] | ||
| 5:I[79331,["/_next/static/chunks/9d0197e49c5a8fbb.js"],"default"] | ||
| 8:I[89993,["/_next/static/chunks/4f5c3e40db20455b.js"],"OutletBoundary"] | ||
| 2:I[61771,["/_next/static/chunks/af67747f8a8ff296.js"],"default"] | ||
| 3:I[8944,["/_next/static/chunks/af67747f8a8ff296.js"],"default"] | ||
| 4:I[21172,["/_next/static/chunks/af67747f8a8ff296.js"],"ClientPageRoot"] | ||
| 5:I[79331,["/_next/static/chunks/a6d545ec284b0eca.js"],"default"] | ||
| 8:I[47148,["/_next/static/chunks/af67747f8a8ff296.js"],"OutletBoundary"] | ||
| 9:"$Sreact.suspense" | ||
| b:I[89993,["/_next/static/chunks/4f5c3e40db20455b.js"],"ViewportBoundary"] | ||
| d:I[89993,["/_next/static/chunks/4f5c3e40db20455b.js"],"MetadataBoundary"] | ||
| f:I[11354,["/_next/static/chunks/4f5c3e40db20455b.js"],"default"] | ||
| b:I[47148,["/_next/static/chunks/af67747f8a8ff296.js"],"ViewportBoundary"] | ||
| d:I[47148,["/_next/static/chunks/af67747f8a8ff296.js"],"MetadataBoundary"] | ||
| f:I[36109,["/_next/static/chunks/af67747f8a8ff296.js"],"default"] | ||
| :HL["/_next/static/chunks/adecd0ef71a11c8f.css","style"] | ||
| 0:{"P":null,"b":"fDPULWg1a4sbNfZhGARDq","c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/adecd0ef71a11c8f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"\n (function() {\n const theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\n document.documentElement.classList.toggle('dark', theme === 'dark');\n\n window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (e) => {\n document.documentElement.classList.toggle('dark', e.matches);\n });\n })();\n "}}]}],["$","body",null,{"className":"font-sans antialiased","children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}],{"children":[["$","$1","c",{"children":[["$","$L4",null,{"Component":"$5","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@6","$@7"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/9d0197e49c5a8fbb.js","async":true,"nonce":"$undefined"}]],["$","$L8",null,{"children":["$","$9",null,{"name":"Next.MetadataOutlet","children":"$@a"}]}]]}],{},null,false,false]},null,false,false],["$","$1","h",{"children":[null,["$","$Lb",null,{"children":"$@c"}],["$","div",null,{"hidden":true,"children":["$","$Ld",null,{"children":["$","$9",null,{"name":"Next.Metadata","children":"$@e"}]}]}],null]}],false]],"m":"$undefined","G":["$f",[]],"S":true} | ||
| 0:{"P":null,"b":"htx2nrRDy7bVbuccCo0ZJ","c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/adecd0ef71a11c8f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"\n (function() {\n const theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\n document.documentElement.classList.toggle('dark', theme === 'dark');\n\n window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (e) => {\n document.documentElement.classList.toggle('dark', e.matches);\n });\n })();\n "}}]}],["$","body",null,{"className":"font-sans antialiased","children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}],{"children":[["$","$1","c",{"children":[["$","$L4",null,{"Component":"$5","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@6","$@7"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/a6d545ec284b0eca.js","async":true,"nonce":"$undefined"}]],["$","$L8",null,{"children":["$","$9",null,{"name":"Next.MetadataOutlet","children":"$@a"}]}]]}],{},null,false,false]},null,false,false],["$","$1","h",{"children":[null,["$","$Lb",null,{"children":"$@c"}],["$","div",null,{"hidden":true,"children":["$","$Ld",null,{"children":["$","$9",null,{"name":"Next.Metadata","children":"$@e"}]}]}],null]}],false]],"m":"$undefined","G":["$f",[]],"S":true} | ||
| 6:{} | ||
@@ -14,0 +14,0 @@ 7:"$0:f:0:1:1:children:0:props:children:0:props:serverProvidedParams:params" |
| 1:"$Sreact.fragment" | ||
| 2:I[89993,["/_next/static/chunks/4f5c3e40db20455b.js"],"ViewportBoundary"] | ||
| 4:I[89993,["/_next/static/chunks/4f5c3e40db20455b.js"],"MetadataBoundary"] | ||
| 2:I[47148,["/_next/static/chunks/af67747f8a8ff296.js"],"ViewportBoundary"] | ||
| 4:I[47148,["/_next/static/chunks/af67747f8a8ff296.js"],"MetadataBoundary"] | ||
| 5:"$Sreact.suspense" | ||
| 0:{"buildId":"fDPULWg1a4sbNfZhGARDq","rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":"$@3"}],["$","div",null,{"hidden":true,"children":["$","$L4",null,{"children":["$","$5",null,{"name":"Next.Metadata","children":"$@6"}]}]}],null]}],"loading":null,"isPartial":false} | ||
| 0:{"buildId":"htx2nrRDy7bVbuccCo0ZJ","rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":"$@3"}],["$","div",null,{"hidden":true,"children":["$","$L4",null,{"children":["$","$5",null,{"name":"Next.Metadata","children":"$@6"}]}]}],null]}],"loading":null,"isPartial":false} | ||
| 3:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] | ||
| 6:[["$","title","0",{"children":"Next.js Bundle Analyzer"}],["$","meta","1",{"name":"description","content":"Visualize and analyze your Next.js bundle sizes with interactive treemap and dependency analysis"}]] |
| 1:"$Sreact.fragment" | ||
| 2:I[92215,["/_next/static/chunks/4f5c3e40db20455b.js"],"default"] | ||
| 3:I[97551,["/_next/static/chunks/4f5c3e40db20455b.js"],"default"] | ||
| 2:I[61771,["/_next/static/chunks/af67747f8a8ff296.js"],"default"] | ||
| 3:I[8944,["/_next/static/chunks/af67747f8a8ff296.js"],"default"] | ||
| :HL["/_next/static/chunks/adecd0ef71a11c8f.css","style"] | ||
| 0:{"buildId":"fDPULWg1a4sbNfZhGARDq","rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/adecd0ef71a11c8f.css","precedence":"next"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"\n (function() {\n const theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\n document.documentElement.classList.toggle('dark', theme === 'dark');\n\n window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (e) => {\n document.documentElement.classList.toggle('dark', e.matches);\n });\n })();\n "}}]}],["$","body",null,{"className":"font-sans antialiased","children":["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]]}]]}],"loading":null,"isPartial":false} | ||
| 0:{"buildId":"htx2nrRDy7bVbuccCo0ZJ","rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/adecd0ef71a11c8f.css","precedence":"next"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"\n (function() {\n const theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\n document.documentElement.classList.toggle('dark', theme === 'dark');\n\n window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (e) => {\n document.documentElement.classList.toggle('dark', e.matches);\n });\n })();\n "}}]}],["$","body",null,{"className":"font-sans antialiased","children":["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]]}]]}],"loading":null,"isPartial":false} |
| :HL["/_next/static/chunks/adecd0ef71a11c8f.css","style"] | ||
| 0:{"buildId":"fDPULWg1a4sbNfZhGARDq","tree":{"name":"","paramType":null,"paramKey":"","hasRuntimePrefetch":false,"slots":{"children":{"name":"__PAGE__","paramType":null,"paramKey":"__PAGE__","hasRuntimePrefetch":false,"slots":null,"isRootLayout":false}},"isRootLayout":true},"staleTime":300} | ||
| 0:{"buildId":"htx2nrRDy7bVbuccCo0ZJ","tree":{"name":"","paramType":null,"paramKey":"","hasRuntimePrefetch":false,"slots":{"children":{"name":"__PAGE__","paramType":null,"paramKey":"__PAGE__","hasRuntimePrefetch":false,"slots":null,"isRootLayout":false}},"isRootLayout":true},"staleTime":300} |
@@ -1,2 +0,2 @@ | ||
| <!DOCTYPE html><!--fDPULWg1a4sbNfZhGARDq--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/adecd0ef71a11c8f.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/7e2cafa37796dc83.js"/><script src="/_next/static/chunks/17afecf516145aa7.js" async=""></script><script src="/_next/static/chunks/f79a700c47e315e9.js" async=""></script><script src="/_next/static/chunks/turbopack-7e9cb0c84cdbc098.js" async=""></script><script src="/_next/static/chunks/4f5c3e40db20455b.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>Next.js Bundle Analyzer</title><meta name="description" content="Visualize and analyze your Next.js bundle sizes with interactive treemap and dependency analysis"/><script> | ||
| <!DOCTYPE html><!--htx2nrRDy7bVbuccCo0ZJ--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/adecd0ef71a11c8f.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/05a4948264d8b1e9.js"/><script src="/_next/static/chunks/841f412c015db2f2.js" async=""></script><script src="/_next/static/chunks/bc55d54c3521b7a1.js" async=""></script><script src="/_next/static/chunks/turbopack-76d6e75e12e72fae.js" async=""></script><script src="/_next/static/chunks/af67747f8a8ff296.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>Next.js Bundle Analyzer</title><meta name="description" content="Visualize and analyze your Next.js bundle sizes with interactive treemap and dependency analysis"/><script> | ||
| (function() { | ||
@@ -10,2 +10,2 @@ const theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'; | ||
| })(); | ||
| </script><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/7e2cafa37796dc83.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[92215,[\"/_next/static/chunks/4f5c3e40db20455b.js\"],\"default\"]\n3:I[97551,[\"/_next/static/chunks/4f5c3e40db20455b.js\"],\"default\"]\n4:I[89993,[\"/_next/static/chunks/4f5c3e40db20455b.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[89993,[\"/_next/static/chunks/4f5c3e40db20455b.js\"],\"ViewportBoundary\"]\n9:I[89993,[\"/_next/static/chunks/4f5c3e40db20455b.js\"],\"MetadataBoundary\"]\nb:I[11354,[\"/_next/static/chunks/4f5c3e40db20455b.js\"],\"default\"]\n:HL[\"/_next/static/chunks/adecd0ef71a11c8f.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"fDPULWg1a4sbNfZhGARDq\",\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/adecd0ef71a11c8f.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/4f5c3e40db20455b.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"\\n (function() {\\n const theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\\n document.documentElement.classList.toggle('dark', theme === 'dark');\\n\\n window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (e) =\u003e {\\n document.documentElement.classList.toggle('dark', e.matches);\\n });\\n })();\\n \"}}]}],[\"$\",\"body\",null,{\"className\":\"font-sans antialiased\",\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L7\",null,{\"children\":\"$@8\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$@a\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$b\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"title\",\"0\",{\"children\":\"Next.js Bundle Analyzer\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Visualize and analyze your Next.js bundle sizes with interactive treemap and dependency analysis\"}]]\n6:null\n"])</script></body></html> | ||
| </script><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/05a4948264d8b1e9.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[61771,[\"/_next/static/chunks/af67747f8a8ff296.js\"],\"default\"]\n3:I[8944,[\"/_next/static/chunks/af67747f8a8ff296.js\"],\"default\"]\n4:I[47148,[\"/_next/static/chunks/af67747f8a8ff296.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[47148,[\"/_next/static/chunks/af67747f8a8ff296.js\"],\"ViewportBoundary\"]\n9:I[47148,[\"/_next/static/chunks/af67747f8a8ff296.js\"],\"MetadataBoundary\"]\nb:I[36109,[\"/_next/static/chunks/af67747f8a8ff296.js\"],\"default\"]\n:HL[\"/_next/static/chunks/adecd0ef71a11c8f.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"htx2nrRDy7bVbuccCo0ZJ\",\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/adecd0ef71a11c8f.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/af67747f8a8ff296.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"\\n (function() {\\n const theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\\n document.documentElement.classList.toggle('dark', theme === 'dark');\\n\\n window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (e) =\u003e {\\n document.documentElement.classList.toggle('dark', e.matches);\\n });\\n })();\\n \"}}]}],[\"$\",\"body\",null,{\"className\":\"font-sans antialiased\",\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L7\",null,{\"children\":\"$@8\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$@a\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$b\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"title\",\"0\",{\"children\":\"Next.js Bundle Analyzer\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Visualize and analyze your Next.js bundle sizes with interactive treemap and dependency analysis\"}]]\n6:null\n"])</script></body></html> |
| 1:"$Sreact.fragment" | ||
| 2:I[92215,["/_next/static/chunks/4f5c3e40db20455b.js"],"default"] | ||
| 3:I[97551,["/_next/static/chunks/4f5c3e40db20455b.js"],"default"] | ||
| 4:I[89993,["/_next/static/chunks/4f5c3e40db20455b.js"],"OutletBoundary"] | ||
| 2:I[61771,["/_next/static/chunks/af67747f8a8ff296.js"],"default"] | ||
| 3:I[8944,["/_next/static/chunks/af67747f8a8ff296.js"],"default"] | ||
| 4:I[47148,["/_next/static/chunks/af67747f8a8ff296.js"],"OutletBoundary"] | ||
| 5:"$Sreact.suspense" | ||
| 7:I[89993,["/_next/static/chunks/4f5c3e40db20455b.js"],"ViewportBoundary"] | ||
| 9:I[89993,["/_next/static/chunks/4f5c3e40db20455b.js"],"MetadataBoundary"] | ||
| b:I[11354,["/_next/static/chunks/4f5c3e40db20455b.js"],"default"] | ||
| 7:I[47148,["/_next/static/chunks/af67747f8a8ff296.js"],"ViewportBoundary"] | ||
| 9:I[47148,["/_next/static/chunks/af67747f8a8ff296.js"],"MetadataBoundary"] | ||
| b:I[36109,["/_next/static/chunks/af67747f8a8ff296.js"],"default"] | ||
| :HL["/_next/static/chunks/adecd0ef71a11c8f.css","style"] | ||
| 0:{"P":null,"b":"fDPULWg1a4sbNfZhGARDq","c":["","_not-found"],"q":"","i":false,"f":[[["",{"children":["/_not-found",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/adecd0ef71a11c8f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/4f5c3e40db20455b.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"\n (function() {\n const theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\n document.documentElement.classList.toggle('dark', theme === 'dark');\n\n window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (e) => {\n document.documentElement.classList.toggle('dark', e.matches);\n });\n })();\n "}}]}],["$","body",null,{"className":"font-sans antialiased","children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],null,["$","$L4",null,{"children":["$","$5",null,{"name":"Next.MetadataOutlet","children":"$@6"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$L7",null,{"children":"$@8"}],["$","div",null,{"hidden":true,"children":["$","$L9",null,{"children":["$","$5",null,{"name":"Next.Metadata","children":"$@a"}]}]}],null]}],false]],"m":"$undefined","G":["$b","$undefined"],"S":true} | ||
| 0:{"P":null,"b":"htx2nrRDy7bVbuccCo0ZJ","c":["","_not-found"],"q":"","i":false,"f":[[["",{"children":["/_not-found",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/adecd0ef71a11c8f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/af67747f8a8ff296.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"\n (function() {\n const theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\n document.documentElement.classList.toggle('dark', theme === 'dark');\n\n window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (e) => {\n document.documentElement.classList.toggle('dark', e.matches);\n });\n })();\n "}}]}],["$","body",null,{"className":"font-sans antialiased","children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],null,["$","$L4",null,{"children":["$","$5",null,{"name":"Next.MetadataOutlet","children":"$@6"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$L7",null,{"children":"$@8"}],["$","div",null,{"hidden":true,"children":["$","$L9",null,{"children":["$","$5",null,{"name":"Next.Metadata","children":"$@a"}]}]}],null]}],false]],"m":"$undefined","G":["$b","$undefined"],"S":true} | ||
| 8:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] | ||
| a:[["$","title","0",{"children":"Next.js Bundle Analyzer"}],["$","meta","1",{"name":"description","content":"Visualize and analyze your Next.js bundle sizes with interactive treemap and dependency analysis"}]] | ||
| 6:null |
| 1:"$Sreact.fragment" | ||
| 2:I[92215,["/_next/static/chunks/4f5c3e40db20455b.js"],"default"] | ||
| 3:I[97551,["/_next/static/chunks/4f5c3e40db20455b.js"],"default"] | ||
| 4:I[89993,["/_next/static/chunks/4f5c3e40db20455b.js"],"OutletBoundary"] | ||
| 2:I[61771,["/_next/static/chunks/af67747f8a8ff296.js"],"default"] | ||
| 3:I[8944,["/_next/static/chunks/af67747f8a8ff296.js"],"default"] | ||
| 4:I[47148,["/_next/static/chunks/af67747f8a8ff296.js"],"OutletBoundary"] | ||
| 5:"$Sreact.suspense" | ||
| 7:I[89993,["/_next/static/chunks/4f5c3e40db20455b.js"],"ViewportBoundary"] | ||
| 9:I[89993,["/_next/static/chunks/4f5c3e40db20455b.js"],"MetadataBoundary"] | ||
| b:I[11354,["/_next/static/chunks/4f5c3e40db20455b.js"],"default"] | ||
| 7:I[47148,["/_next/static/chunks/af67747f8a8ff296.js"],"ViewportBoundary"] | ||
| 9:I[47148,["/_next/static/chunks/af67747f8a8ff296.js"],"MetadataBoundary"] | ||
| b:I[36109,["/_next/static/chunks/af67747f8a8ff296.js"],"default"] | ||
| :HL["/_next/static/chunks/adecd0ef71a11c8f.css","style"] | ||
| 0:{"P":null,"b":"fDPULWg1a4sbNfZhGARDq","c":["","_not-found"],"q":"","i":false,"f":[[["",{"children":["/_not-found",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/adecd0ef71a11c8f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/4f5c3e40db20455b.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"\n (function() {\n const theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\n document.documentElement.classList.toggle('dark', theme === 'dark');\n\n window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (e) => {\n document.documentElement.classList.toggle('dark', e.matches);\n });\n })();\n "}}]}],["$","body",null,{"className":"font-sans antialiased","children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],null,["$","$L4",null,{"children":["$","$5",null,{"name":"Next.MetadataOutlet","children":"$@6"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$L7",null,{"children":"$@8"}],["$","div",null,{"hidden":true,"children":["$","$L9",null,{"children":["$","$5",null,{"name":"Next.Metadata","children":"$@a"}]}]}],null]}],false]],"m":"$undefined","G":["$b","$undefined"],"S":true} | ||
| 0:{"P":null,"b":"htx2nrRDy7bVbuccCo0ZJ","c":["","_not-found"],"q":"","i":false,"f":[[["",{"children":["/_not-found",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/adecd0ef71a11c8f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/af67747f8a8ff296.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"\n (function() {\n const theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\n document.documentElement.classList.toggle('dark', theme === 'dark');\n\n window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (e) => {\n document.documentElement.classList.toggle('dark', e.matches);\n });\n })();\n "}}]}],["$","body",null,{"className":"font-sans antialiased","children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],null,["$","$L4",null,{"children":["$","$5",null,{"name":"Next.MetadataOutlet","children":"$@6"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$L7",null,{"children":"$@8"}],["$","div",null,{"hidden":true,"children":["$","$L9",null,{"children":["$","$5",null,{"name":"Next.Metadata","children":"$@a"}]}]}],null]}],false]],"m":"$undefined","G":["$b","$undefined"],"S":true} | ||
| 8:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] | ||
| a:[["$","title","0",{"children":"Next.js Bundle Analyzer"}],["$","meta","1",{"name":"description","content":"Visualize and analyze your Next.js bundle sizes with interactive treemap and dependency analysis"}]] | ||
| 6:null |
| 1:"$Sreact.fragment" | ||
| 2:I[89993,["/_next/static/chunks/4f5c3e40db20455b.js"],"ViewportBoundary"] | ||
| 4:I[89993,["/_next/static/chunks/4f5c3e40db20455b.js"],"MetadataBoundary"] | ||
| 2:I[47148,["/_next/static/chunks/af67747f8a8ff296.js"],"ViewportBoundary"] | ||
| 4:I[47148,["/_next/static/chunks/af67747f8a8ff296.js"],"MetadataBoundary"] | ||
| 5:"$Sreact.suspense" | ||
| 0:{"buildId":"fDPULWg1a4sbNfZhGARDq","rsc":["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$L2",null,{"children":"$@3"}],["$","div",null,{"hidden":true,"children":["$","$L4",null,{"children":["$","$5",null,{"name":"Next.Metadata","children":"$@6"}]}]}],null]}],"loading":null,"isPartial":false} | ||
| 0:{"buildId":"htx2nrRDy7bVbuccCo0ZJ","rsc":["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$L2",null,{"children":"$@3"}],["$","div",null,{"hidden":true,"children":["$","$L4",null,{"children":["$","$5",null,{"name":"Next.Metadata","children":"$@6"}]}]}],null]}],"loading":null,"isPartial":false} | ||
| 3:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] | ||
| 6:[["$","title","0",{"children":"Next.js Bundle Analyzer"}],["$","meta","1",{"name":"description","content":"Visualize and analyze your Next.js bundle sizes with interactive treemap and dependency analysis"}]] |
| 1:"$Sreact.fragment" | ||
| 2:I[92215,["/_next/static/chunks/4f5c3e40db20455b.js"],"default"] | ||
| 3:I[97551,["/_next/static/chunks/4f5c3e40db20455b.js"],"default"] | ||
| 2:I[61771,["/_next/static/chunks/af67747f8a8ff296.js"],"default"] | ||
| 3:I[8944,["/_next/static/chunks/af67747f8a8ff296.js"],"default"] | ||
| :HL["/_next/static/chunks/adecd0ef71a11c8f.css","style"] | ||
| 0:{"buildId":"fDPULWg1a4sbNfZhGARDq","rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/adecd0ef71a11c8f.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/4f5c3e40db20455b.js","async":true}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"\n (function() {\n const theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\n document.documentElement.classList.toggle('dark', theme === 'dark');\n\n window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (e) => {\n document.documentElement.classList.toggle('dark', e.matches);\n });\n })();\n "}}]}],["$","body",null,{"className":"font-sans antialiased","children":["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]]}]]}],"loading":null,"isPartial":false} | ||
| 0:{"buildId":"htx2nrRDy7bVbuccCo0ZJ","rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/adecd0ef71a11c8f.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/af67747f8a8ff296.js","async":true}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"\n (function() {\n const theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\n document.documentElement.classList.toggle('dark', theme === 'dark');\n\n window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (e) => {\n document.documentElement.classList.toggle('dark', e.matches);\n });\n })();\n "}}]}],["$","body",null,{"className":"font-sans antialiased","children":["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]]}]]}],"loading":null,"isPartial":false} |
| 1:"$Sreact.fragment" | ||
| 2:I[89993,["/_next/static/chunks/4f5c3e40db20455b.js"],"OutletBoundary"] | ||
| 2:I[47148,["/_next/static/chunks/af67747f8a8ff296.js"],"OutletBoundary"] | ||
| 3:"$Sreact.suspense" | ||
| 0:{"buildId":"fDPULWg1a4sbNfZhGARDq","rsc":["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],null,["$","$L2",null,{"children":["$","$3",null,{"name":"Next.MetadataOutlet","children":"$@4"}]}]]}],"loading":null,"isPartial":false} | ||
| 0:{"buildId":"htx2nrRDy7bVbuccCo0ZJ","rsc":["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],null,["$","$L2",null,{"children":["$","$3",null,{"name":"Next.MetadataOutlet","children":"$@4"}]}]]}],"loading":null,"isPartial":false} | ||
| 4:null |
| 1:"$Sreact.fragment" | ||
| 2:I[92215,["/_next/static/chunks/4f5c3e40db20455b.js"],"default"] | ||
| 3:I[97551,["/_next/static/chunks/4f5c3e40db20455b.js"],"default"] | ||
| 0:{"buildId":"fDPULWg1a4sbNfZhGARDq","rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"loading":null,"isPartial":false} | ||
| 2:I[61771,["/_next/static/chunks/af67747f8a8ff296.js"],"default"] | ||
| 3:I[8944,["/_next/static/chunks/af67747f8a8ff296.js"],"default"] | ||
| 0:{"buildId":"htx2nrRDy7bVbuccCo0ZJ","rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"loading":null,"isPartial":false} |
| :HL["/_next/static/chunks/adecd0ef71a11c8f.css","style"] | ||
| 0:{"buildId":"fDPULWg1a4sbNfZhGARDq","tree":{"name":"","paramType":null,"paramKey":"","hasRuntimePrefetch":false,"slots":{"children":{"name":"/_not-found","paramType":null,"paramKey":"/_not-found","hasRuntimePrefetch":false,"slots":{"children":{"name":"__PAGE__","paramType":null,"paramKey":"__PAGE__","hasRuntimePrefetch":false,"slots":null,"isRootLayout":false}},"isRootLayout":false}},"isRootLayout":true},"staleTime":300} | ||
| 0:{"buildId":"htx2nrRDy7bVbuccCo0ZJ","tree":{"name":"","paramType":null,"paramKey":"","hasRuntimePrefetch":false,"slots":{"children":{"name":"/_not-found","paramType":null,"paramKey":"/_not-found","hasRuntimePrefetch":false,"slots":{"children":{"name":"__PAGE__","paramType":null,"paramKey":"__PAGE__","hasRuntimePrefetch":false,"slots":null,"isRootLayout":false}},"isRootLayout":false}},"isRootLayout":true},"staleTime":300} |
@@ -1,2 +0,2 @@ | ||
| <!DOCTYPE html><!--fDPULWg1a4sbNfZhGARDq--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/adecd0ef71a11c8f.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/7e2cafa37796dc83.js"/><script src="/_next/static/chunks/17afecf516145aa7.js" async=""></script><script src="/_next/static/chunks/f79a700c47e315e9.js" async=""></script><script src="/_next/static/chunks/turbopack-7e9cb0c84cdbc098.js" async=""></script><script src="/_next/static/chunks/4f5c3e40db20455b.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>Next.js Bundle Analyzer</title><meta name="description" content="Visualize and analyze your Next.js bundle sizes with interactive treemap and dependency analysis"/><script> | ||
| <!DOCTYPE html><!--htx2nrRDy7bVbuccCo0ZJ--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/adecd0ef71a11c8f.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/05a4948264d8b1e9.js"/><script src="/_next/static/chunks/841f412c015db2f2.js" async=""></script><script src="/_next/static/chunks/bc55d54c3521b7a1.js" async=""></script><script src="/_next/static/chunks/turbopack-76d6e75e12e72fae.js" async=""></script><script src="/_next/static/chunks/af67747f8a8ff296.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>Next.js Bundle Analyzer</title><meta name="description" content="Visualize and analyze your Next.js bundle sizes with interactive treemap and dependency analysis"/><script> | ||
| (function() { | ||
@@ -10,2 +10,2 @@ const theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'; | ||
| })(); | ||
| </script><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/7e2cafa37796dc83.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[92215,[\"/_next/static/chunks/4f5c3e40db20455b.js\"],\"default\"]\n3:I[97551,[\"/_next/static/chunks/4f5c3e40db20455b.js\"],\"default\"]\n4:I[89993,[\"/_next/static/chunks/4f5c3e40db20455b.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[89993,[\"/_next/static/chunks/4f5c3e40db20455b.js\"],\"ViewportBoundary\"]\n9:I[89993,[\"/_next/static/chunks/4f5c3e40db20455b.js\"],\"MetadataBoundary\"]\nb:I[11354,[\"/_next/static/chunks/4f5c3e40db20455b.js\"],\"default\"]\n:HL[\"/_next/static/chunks/adecd0ef71a11c8f.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"fDPULWg1a4sbNfZhGARDq\",\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/adecd0ef71a11c8f.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/4f5c3e40db20455b.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"\\n (function() {\\n const theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\\n document.documentElement.classList.toggle('dark', theme === 'dark');\\n\\n window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (e) =\u003e {\\n document.documentElement.classList.toggle('dark', e.matches);\\n });\\n })();\\n \"}}]}],[\"$\",\"body\",null,{\"className\":\"font-sans antialiased\",\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L7\",null,{\"children\":\"$@8\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$@a\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$b\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"title\",\"0\",{\"children\":\"Next.js Bundle Analyzer\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Visualize and analyze your Next.js bundle sizes with interactive treemap and dependency analysis\"}]]\n6:null\n"])</script></body></html> | ||
| </script><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/05a4948264d8b1e9.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[61771,[\"/_next/static/chunks/af67747f8a8ff296.js\"],\"default\"]\n3:I[8944,[\"/_next/static/chunks/af67747f8a8ff296.js\"],\"default\"]\n4:I[47148,[\"/_next/static/chunks/af67747f8a8ff296.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[47148,[\"/_next/static/chunks/af67747f8a8ff296.js\"],\"ViewportBoundary\"]\n9:I[47148,[\"/_next/static/chunks/af67747f8a8ff296.js\"],\"MetadataBoundary\"]\nb:I[36109,[\"/_next/static/chunks/af67747f8a8ff296.js\"],\"default\"]\n:HL[\"/_next/static/chunks/adecd0ef71a11c8f.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"htx2nrRDy7bVbuccCo0ZJ\",\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/adecd0ef71a11c8f.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/af67747f8a8ff296.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"\\n (function() {\\n const theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\\n document.documentElement.classList.toggle('dark', theme === 'dark');\\n\\n window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (e) =\u003e {\\n document.documentElement.classList.toggle('dark', e.matches);\\n });\\n })();\\n \"}}]}],[\"$\",\"body\",null,{\"className\":\"font-sans antialiased\",\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L7\",null,{\"children\":\"$@8\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$@a\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$b\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"title\",\"0\",{\"children\":\"Next.js Bundle Analyzer\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Visualize and analyze your Next.js bundle sizes with interactive treemap and dependency analysis\"}]]\n6:null\n"])</script></body></html> |
@@ -1,2 +0,2 @@ | ||
| <!DOCTYPE html><!--fDPULWg1a4sbNfZhGARDq--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/adecd0ef71a11c8f.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/7e2cafa37796dc83.js"/><script src="/_next/static/chunks/17afecf516145aa7.js" async=""></script><script src="/_next/static/chunks/f79a700c47e315e9.js" async=""></script><script src="/_next/static/chunks/turbopack-7e9cb0c84cdbc098.js" async=""></script><script src="/_next/static/chunks/4f5c3e40db20455b.js" async=""></script><script src="/_next/static/chunks/9d0197e49c5a8fbb.js" async=""></script><title>Next.js Bundle Analyzer</title><meta name="description" content="Visualize and analyze your Next.js bundle sizes with interactive treemap and dependency analysis"/><script> | ||
| <!DOCTYPE html><!--htx2nrRDy7bVbuccCo0ZJ--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/adecd0ef71a11c8f.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/05a4948264d8b1e9.js"/><script src="/_next/static/chunks/841f412c015db2f2.js" async=""></script><script src="/_next/static/chunks/bc55d54c3521b7a1.js" async=""></script><script src="/_next/static/chunks/turbopack-76d6e75e12e72fae.js" async=""></script><script src="/_next/static/chunks/af67747f8a8ff296.js" async=""></script><script src="/_next/static/chunks/a6d545ec284b0eca.js" async=""></script><title>Next.js Bundle Analyzer</title><meta name="description" content="Visualize and analyze your Next.js bundle sizes with interactive treemap and dependency analysis"/><script> | ||
| (function() { | ||
@@ -10,2 +10,2 @@ const theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'; | ||
| })(); | ||
| </script><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><main class="h-screen flex flex-col bg-background"><div class="flex-none px-4 py-2 border-b border-border flex items-center gap-3"><div class="flex-1 flex"><div class="flex items-center gap-2 min-w-64 max-w-full"><button class="inline-flex items-center gap-2 whitespace-nowrap rounded-md font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground h-9 px-4 py-2 flex-grow-1 w-full justify-between font-mono text-sm" role="combobox" aria-expanded="false" disabled="" type="button" aria-haspopup="dialog" aria-controls="radix-_R_lbtb_" data-state="closed"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-loader mr-2 inline animate-spin" aria-hidden="true"><path d="M12 2v4"></path><path d="m16.2 7.8 2.9-2.9"></path><path d="M18 12h4"></path><path d="m16.2 16.2 2.9 2.9"></path><path d="M12 18v4"></path><path d="m4.9 19.1 2.9-2.9"></path><path d="M2 12h4"></path><path d="m4.9 4.9 2.9 2.9"></path></svg>Loading routes...</div><div class="flex items-center gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevrons-up-down h-4 w-4 shrink-0 opacity-50" aria-hidden="true"><path d="m7 15 5 5 5-5"></path><path d="m7 9 5-5 5 5"></path></svg></div></button></div></div><div class="flex items-center gap-2"></div></div><div class="flex-1 flex min-h-0"><div class="flex-1 min-w-0 p-4 bg-background"><div class="h-full w-full grid grid-cols-12 grid-rows-8 gap-2"><div class="animate-pulse rounded-md bg-muted col-span-5 row-span-4"></div><div class="animate-pulse rounded-md bg-muted col-span-4 row-span-3"></div><div class="animate-pulse rounded-md bg-muted col-span-3 row-span-3"></div><div class="animate-pulse rounded-md bg-muted col-span-4 row-span-1"></div><div class="animate-pulse rounded-md bg-muted col-span-3 row-span-2"></div><div class="animate-pulse rounded-md bg-muted col-span-3 row-span-4"></div><div class="animate-pulse rounded-md bg-muted col-span-2 row-span-2"></div><div class="animate-pulse rounded-md bg-muted col-span-2 row-span-2"></div><div class="animate-pulse rounded-md bg-muted col-span-3 row-span-2"></div><div class="animate-pulse rounded-md bg-muted col-span-4 row-span-2"></div><div class="animate-pulse rounded-md bg-muted col-span-2 row-span-2"></div><div class="animate-pulse rounded-md bg-muted col-span-3 row-span-2"></div></div></div><button type="button" class="flex-none w-1 bg-border cursor-col-resize transition-colors" disabled="" aria-label="Resize sidebar"></button><div class="flex-none bg-muted border-l border-border overflow-y-auto" style="width:20%"><div class="flex-1 p-3 space-y-4 overflow-y-auto"><div class="animate-pulse rounded-md bg-muted h-4 w-3/4"></div><div class="animate-pulse rounded-md bg-muted h-4 w-full"></div><div class="animate-pulse rounded-md bg-muted h-4 w-5/6"></div><div class="mt-4 space-y-2"><div class="animate-pulse rounded-md bg-muted h-3 w-full"></div><div class="animate-pulse rounded-md bg-muted h-3 w-full"></div><div class="animate-pulse rounded-md bg-muted h-3 w-4/5"></div></div></div></div></div></main><!--$--><!--/$--><script src="/_next/static/chunks/7e2cafa37796dc83.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[92215,[\"/_next/static/chunks/4f5c3e40db20455b.js\"],\"default\"]\n3:I[97551,[\"/_next/static/chunks/4f5c3e40db20455b.js\"],\"default\"]\n4:I[7010,[\"/_next/static/chunks/4f5c3e40db20455b.js\"],\"ClientPageRoot\"]\n5:I[79331,[\"/_next/static/chunks/9d0197e49c5a8fbb.js\"],\"default\"]\n8:I[89993,[\"/_next/static/chunks/4f5c3e40db20455b.js\"],\"OutletBoundary\"]\n9:\"$Sreact.suspense\"\nb:I[89993,[\"/_next/static/chunks/4f5c3e40db20455b.js\"],\"ViewportBoundary\"]\nd:I[89993,[\"/_next/static/chunks/4f5c3e40db20455b.js\"],\"MetadataBoundary\"]\nf:I[11354,[\"/_next/static/chunks/4f5c3e40db20455b.js\"],\"default\"]\n:HL[\"/_next/static/chunks/adecd0ef71a11c8f.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"fDPULWg1a4sbNfZhGARDq\",\"c\":[\"\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/adecd0ef71a11c8f.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"\\n (function() {\\n const theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\\n document.documentElement.classList.toggle('dark', theme === 'dark');\\n\\n window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (e) =\u003e {\\n document.documentElement.classList.toggle('dark', e.matches);\\n });\\n })();\\n \"}}]}],[\"$\",\"body\",null,{\"className\":\"font-sans antialiased\",\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L4\",null,{\"Component\":\"$5\",\"serverProvidedParams\":{\"searchParams\":{},\"params\":{},\"promises\":[\"$@6\",\"$@7\"]}}],[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/9d0197e49c5a8fbb.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@a\"}]}]]}],{},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Lb\",null,{\"children\":\"$@c\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.Metadata\",\"children\":\"$@e\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$f\",[]],\"S\":true}\n"])</script><script>self.__next_f.push([1,"6:{}\n7:\"$0:f:0:1:1:children:0:props:children:0:props:serverProvidedParams:params\"\n"])</script><script>self.__next_f.push([1,"c:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"e:[[\"$\",\"title\",\"0\",{\"children\":\"Next.js Bundle Analyzer\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Visualize and analyze your Next.js bundle sizes with interactive treemap and dependency analysis\"}]]\na:null\n"])</script></body></html> | ||
| </script><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><main class="h-screen flex flex-col bg-background"><div class="flex-none px-4 py-2 border-b border-border flex items-center gap-3"><div class="flex-1 flex"><div class="flex items-center gap-2 min-w-64 max-w-full"><button class="inline-flex items-center gap-2 whitespace-nowrap rounded-md font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground h-9 px-4 py-2 flex-grow-1 w-full justify-between font-mono text-sm" role="combobox" aria-expanded="false" disabled="" type="button" aria-haspopup="dialog" aria-controls="radix-_R_lbtb_" data-state="closed"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-loader mr-2 inline animate-spin" aria-hidden="true"><path d="M12 2v4"></path><path d="m16.2 7.8 2.9-2.9"></path><path d="M18 12h4"></path><path d="m16.2 16.2 2.9 2.9"></path><path d="M12 18v4"></path><path d="m4.9 19.1 2.9-2.9"></path><path d="M2 12h4"></path><path d="m4.9 4.9 2.9 2.9"></path></svg>Loading routes...</div><div class="flex items-center gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevrons-up-down h-4 w-4 shrink-0 opacity-50" aria-hidden="true"><path d="m7 15 5 5 5-5"></path><path d="m7 9 5-5 5 5"></path></svg></div></button></div></div><div class="flex items-center gap-2"></div></div><div class="flex-1 flex min-h-0"><div class="flex-1 min-w-0 p-4 bg-background"><div class="h-full w-full grid grid-cols-12 grid-rows-8 gap-2"><div class="animate-pulse rounded-md bg-muted col-span-5 row-span-4"></div><div class="animate-pulse rounded-md bg-muted col-span-4 row-span-3"></div><div class="animate-pulse rounded-md bg-muted col-span-3 row-span-3"></div><div class="animate-pulse rounded-md bg-muted col-span-4 row-span-1"></div><div class="animate-pulse rounded-md bg-muted col-span-3 row-span-2"></div><div class="animate-pulse rounded-md bg-muted col-span-3 row-span-4"></div><div class="animate-pulse rounded-md bg-muted col-span-2 row-span-2"></div><div class="animate-pulse rounded-md bg-muted col-span-2 row-span-2"></div><div class="animate-pulse rounded-md bg-muted col-span-3 row-span-2"></div><div class="animate-pulse rounded-md bg-muted col-span-4 row-span-2"></div><div class="animate-pulse rounded-md bg-muted col-span-2 row-span-2"></div><div class="animate-pulse rounded-md bg-muted col-span-3 row-span-2"></div></div></div><button type="button" class="flex-none w-1 bg-border cursor-col-resize transition-colors" disabled="" aria-label="Resize sidebar"></button><div class="flex-none bg-muted border-l border-border overflow-y-auto" style="width:20%"><div class="flex-1 p-3 space-y-4 overflow-y-auto"><div class="animate-pulse rounded-md bg-muted h-4 w-3/4"></div><div class="animate-pulse rounded-md bg-muted h-4 w-full"></div><div class="animate-pulse rounded-md bg-muted h-4 w-5/6"></div><div class="mt-4 space-y-2"><div class="animate-pulse rounded-md bg-muted h-3 w-full"></div><div class="animate-pulse rounded-md bg-muted h-3 w-full"></div><div class="animate-pulse rounded-md bg-muted h-3 w-4/5"></div></div></div></div></div></main><!--$--><!--/$--><script src="/_next/static/chunks/05a4948264d8b1e9.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[61771,[\"/_next/static/chunks/af67747f8a8ff296.js\"],\"default\"]\n3:I[8944,[\"/_next/static/chunks/af67747f8a8ff296.js\"],\"default\"]\n4:I[21172,[\"/_next/static/chunks/af67747f8a8ff296.js\"],\"ClientPageRoot\"]\n5:I[79331,[\"/_next/static/chunks/a6d545ec284b0eca.js\"],\"default\"]\n8:I[47148,[\"/_next/static/chunks/af67747f8a8ff296.js\"],\"OutletBoundary\"]\n9:\"$Sreact.suspense\"\nb:I[47148,[\"/_next/static/chunks/af67747f8a8ff296.js\"],\"ViewportBoundary\"]\nd:I[47148,[\"/_next/static/chunks/af67747f8a8ff296.js\"],\"MetadataBoundary\"]\nf:I[36109,[\"/_next/static/chunks/af67747f8a8ff296.js\"],\"default\"]\n:HL[\"/_next/static/chunks/adecd0ef71a11c8f.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"htx2nrRDy7bVbuccCo0ZJ\",\"c\":[\"\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/adecd0ef71a11c8f.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"\\n (function() {\\n const theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\\n document.documentElement.classList.toggle('dark', theme === 'dark');\\n\\n window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (e) =\u003e {\\n document.documentElement.classList.toggle('dark', e.matches);\\n });\\n })();\\n \"}}]}],[\"$\",\"body\",null,{\"className\":\"font-sans antialiased\",\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L4\",null,{\"Component\":\"$5\",\"serverProvidedParams\":{\"searchParams\":{},\"params\":{},\"promises\":[\"$@6\",\"$@7\"]}}],[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/a6d545ec284b0eca.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@a\"}]}]]}],{},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Lb\",null,{\"children\":\"$@c\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.Metadata\",\"children\":\"$@e\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$f\",[]],\"S\":true}\n"])</script><script>self.__next_f.push([1,"6:{}\n7:\"$0:f:0:1:1:children:0:props:children:0:props:serverProvidedParams:params\"\n"])</script><script>self.__next_f.push([1,"c:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"e:[[\"$\",\"title\",\"0\",{\"children\":\"Next.js Bundle Analyzer\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Visualize and analyze your Next.js bundle sizes with interactive treemap and dependency analysis\"}]]\na:null\n"])</script></body></html> |
| 1:"$Sreact.fragment" | ||
| 2:I[92215,["/_next/static/chunks/4f5c3e40db20455b.js"],"default"] | ||
| 3:I[97551,["/_next/static/chunks/4f5c3e40db20455b.js"],"default"] | ||
| 4:I[7010,["/_next/static/chunks/4f5c3e40db20455b.js"],"ClientPageRoot"] | ||
| 5:I[79331,["/_next/static/chunks/9d0197e49c5a8fbb.js"],"default"] | ||
| 8:I[89993,["/_next/static/chunks/4f5c3e40db20455b.js"],"OutletBoundary"] | ||
| 2:I[61771,["/_next/static/chunks/af67747f8a8ff296.js"],"default"] | ||
| 3:I[8944,["/_next/static/chunks/af67747f8a8ff296.js"],"default"] | ||
| 4:I[21172,["/_next/static/chunks/af67747f8a8ff296.js"],"ClientPageRoot"] | ||
| 5:I[79331,["/_next/static/chunks/a6d545ec284b0eca.js"],"default"] | ||
| 8:I[47148,["/_next/static/chunks/af67747f8a8ff296.js"],"OutletBoundary"] | ||
| 9:"$Sreact.suspense" | ||
| b:I[89993,["/_next/static/chunks/4f5c3e40db20455b.js"],"ViewportBoundary"] | ||
| d:I[89993,["/_next/static/chunks/4f5c3e40db20455b.js"],"MetadataBoundary"] | ||
| f:I[11354,["/_next/static/chunks/4f5c3e40db20455b.js"],"default"] | ||
| b:I[47148,["/_next/static/chunks/af67747f8a8ff296.js"],"ViewportBoundary"] | ||
| d:I[47148,["/_next/static/chunks/af67747f8a8ff296.js"],"MetadataBoundary"] | ||
| f:I[36109,["/_next/static/chunks/af67747f8a8ff296.js"],"default"] | ||
| :HL["/_next/static/chunks/adecd0ef71a11c8f.css","style"] | ||
| 0:{"P":null,"b":"fDPULWg1a4sbNfZhGARDq","c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/adecd0ef71a11c8f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"\n (function() {\n const theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\n document.documentElement.classList.toggle('dark', theme === 'dark');\n\n window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (e) => {\n document.documentElement.classList.toggle('dark', e.matches);\n });\n })();\n "}}]}],["$","body",null,{"className":"font-sans antialiased","children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}],{"children":[["$","$1","c",{"children":[["$","$L4",null,{"Component":"$5","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@6","$@7"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/9d0197e49c5a8fbb.js","async":true,"nonce":"$undefined"}]],["$","$L8",null,{"children":["$","$9",null,{"name":"Next.MetadataOutlet","children":"$@a"}]}]]}],{},null,false,false]},null,false,false],["$","$1","h",{"children":[null,["$","$Lb",null,{"children":"$@c"}],["$","div",null,{"hidden":true,"children":["$","$Ld",null,{"children":["$","$9",null,{"name":"Next.Metadata","children":"$@e"}]}]}],null]}],false]],"m":"$undefined","G":["$f",[]],"S":true} | ||
| 0:{"P":null,"b":"htx2nrRDy7bVbuccCo0ZJ","c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/adecd0ef71a11c8f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"\n (function() {\n const theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\n document.documentElement.classList.toggle('dark', theme === 'dark');\n\n window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (e) => {\n document.documentElement.classList.toggle('dark', e.matches);\n });\n })();\n "}}]}],["$","body",null,{"className":"font-sans antialiased","children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}],{"children":[["$","$1","c",{"children":[["$","$L4",null,{"Component":"$5","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@6","$@7"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/a6d545ec284b0eca.js","async":true,"nonce":"$undefined"}]],["$","$L8",null,{"children":["$","$9",null,{"name":"Next.MetadataOutlet","children":"$@a"}]}]]}],{},null,false,false]},null,false,false],["$","$1","h",{"children":[null,["$","$Lb",null,{"children":"$@c"}],["$","div",null,{"hidden":true,"children":["$","$Ld",null,{"children":["$","$9",null,{"name":"Next.Metadata","children":"$@e"}]}]}],null]}],false]],"m":"$undefined","G":["$f",[]],"S":true} | ||
| 6:{} | ||
@@ -14,0 +14,0 @@ 7:"$0:f:0:1:1:children:0:props:children:0:props:serverProvidedParams:params" |
@@ -18,3 +18,3 @@ /** | ||
| const _setattributesfromprops = require("./set-attributes-from-props"); | ||
| const version = "16.2.1-canary.11"; | ||
| const version = "16.2.1-canary.12"; | ||
| window.next = { | ||
@@ -21,0 +21,0 @@ version, |
@@ -251,2 +251,7 @@ "use strict"; | ||
| const initialRSCPayload = await initialServerResponse; | ||
| // Initialize the offline module to register browser event listeners | ||
| // (offline/online) before any components hydrate. | ||
| if (process.env.__NEXT_USE_OFFLINE) { | ||
| require('./components/offline'); | ||
| } | ||
| // setNavigationBuildId should be called only once, during JS initialization | ||
@@ -253,0 +258,0 @@ // and before any components have hydrated. |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../../src/client/app-index.tsx"],"sourcesContent":["import './app-globals'\nimport ReactDOMClient from 'react-dom/client'\nimport React from 'react'\n// TODO: Explicitly import from client.browser\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport {\n createFromReadableStream as createFromReadableStreamBrowser,\n createFromFetch as createFromFetchBrowser,\n} from 'react-server-dom-webpack/client'\nimport { HeadManagerContext } from '../shared/lib/head-manager-context.shared-runtime'\nimport { onRecoverableError } from './react-client-callbacks/on-recoverable-error'\nimport {\n onCaughtError,\n onUncaughtError,\n} from './react-client-callbacks/error-boundary-callbacks'\nimport { callServer } from './app-call-server'\nimport { findSourceMapURL } from './app-find-source-map-url'\nimport {\n type AppRouterActionQueue,\n createMutableActionQueue,\n} from './components/app-router-instance'\nimport AppRouter from './components/app-router'\nimport type { InitialRSCPayload } from '../shared/lib/app-router-types'\nimport { createInitialRouterState } from './components/router-reducer/create-initial-router-state'\nimport { MissingSlotContext } from '../shared/lib/app-router-context.shared-runtime'\nimport type { StaticIndicatorState } from './dev/hot-reloader/app/hot-reloader-app'\nimport { createInitialRSCPayloadFromFallbackPrerender } from './flight-data-helpers'\nimport { getDeploymentId } from '../shared/lib/deployment-id'\nimport { setNavigationBuildId } from './navigation-build-id'\n\n/// <reference types=\"react-dom/experimental\" />\n\nconst createFromReadableStream =\n createFromReadableStreamBrowser as (typeof import('react-server-dom-webpack/client.browser'))['createFromReadableStream']\nconst createFromFetch =\n createFromFetchBrowser as (typeof import('react-server-dom-webpack/client.browser'))['createFromFetch']\n\nconst appElement: HTMLElement | Document = document\n\n// Instant Navigation Testing API: captured once at module init. When truthy,\n// this is the fetch promise for the static RSC payload (set by an injected\n// <script> tag in the static shell HTML).\nconst instantTestStaticFetch: Promise<Response> | undefined =\n self.__next_instant_test\n ? (self.__next_instant_test as unknown as Promise<Response>)\n : undefined\n\nconst encoder = new TextEncoder()\n\nlet initialServerDataBuffer: (string | Uint8Array)[] | undefined = undefined\nlet initialServerDataWriter: ReadableStreamDefaultController | undefined =\n undefined\nlet initialServerDataLoaded = false\nlet initialServerDataFlushed = false\n\nlet initialFormStateData: null | any = null\n\ntype FlightSegment =\n | [isBootStrap: 0]\n | [isNotBootstrap: 1, responsePartial: string]\n | [isFormState: 2, formState: any]\n | [isBinary: 3, responseBase64Partial: string]\n\ntype NextFlight = Omit<Array<FlightSegment>, 'push'> & {\n push: (seg: FlightSegment) => void\n}\n\ndeclare global {\n // If you're working in a browser environment\n interface Window {\n /**\n * request ID, dev-only\n */\n __next_r?: string\n __next_f: NextFlight\n }\n}\n\nfunction nextServerDataCallback(seg: FlightSegment): void {\n if (seg[0] === 0) {\n initialServerDataBuffer = []\n } else if (seg[0] === 1) {\n if (!initialServerDataBuffer)\n throw new Error('Unexpected server data: missing bootstrap script.')\n\n if (initialServerDataWriter) {\n initialServerDataWriter.enqueue(encoder.encode(seg[1]))\n } else {\n initialServerDataBuffer.push(seg[1])\n }\n } else if (seg[0] === 2) {\n initialFormStateData = seg[1]\n } else if (seg[0] === 3) {\n if (!initialServerDataBuffer)\n throw new Error('Unexpected server data: missing bootstrap script.')\n\n // Decode the base64 string back to binary data.\n const binaryString = atob(seg[1])\n const decodedChunk = new Uint8Array(binaryString.length)\n for (var i = 0; i < binaryString.length; i++) {\n decodedChunk[i] = binaryString.charCodeAt(i)\n }\n\n if (initialServerDataWriter) {\n initialServerDataWriter.enqueue(decodedChunk)\n } else {\n initialServerDataBuffer.push(decodedChunk)\n }\n }\n}\n\nfunction isStreamErrorOrUnfinished(ctr: ReadableStreamDefaultController) {\n // If `desiredSize` is null, it means the stream is closed or errored. If it is lower than 0, the stream is still unfinished.\n return ctr.desiredSize === null || ctr.desiredSize < 0\n}\n\n// There might be race conditions between `nextServerDataRegisterWriter` and\n// `DOMContentLoaded`. The former will be called when React starts to hydrate\n// the root, the latter will be called when the DOM is fully loaded.\n// For streaming, the former is called first due to partial hydration.\n// For non-streaming, the latter can be called first.\n// Hence, we use two variables `initialServerDataLoaded` and\n// `initialServerDataFlushed` to make sure the writer will be closed and\n// `initialServerDataBuffer` will be cleared in the right time.\nfunction nextServerDataRegisterWriter(ctr: ReadableStreamDefaultController) {\n if (initialServerDataBuffer) {\n initialServerDataBuffer.forEach((val) => {\n ctr.enqueue(typeof val === 'string' ? encoder.encode(val) : val)\n })\n if (initialServerDataLoaded && !initialServerDataFlushed) {\n // Instant Navigation Testing API: don't close or error the inline\n // Flight stream. The static shell has no inline Flight data, so the\n // stream is empty. Closing it would cause React to log an error about\n // missing data. Leaving it open lets React treat any holes as\n // \"still suspended.\" Hydration uses the separately fetched RSC payload\n // (self.__next_instant_test), not this stream.\n if (isStreamErrorOrUnfinished(ctr)) {\n if (!instantTestStaticFetch) {\n ctr.error(\n new Error(\n 'The connection to the page was unexpectedly closed, possibly due to the stop button being clicked, loss of Wi-Fi, or an unstable internet connection.'\n )\n )\n }\n } else {\n ctr.close()\n }\n initialServerDataFlushed = true\n initialServerDataBuffer = undefined\n }\n }\n\n initialServerDataWriter = ctr\n}\n\n// When `DOMContentLoaded`, we can close all pending writers to finish hydration.\nconst DOMContentLoaded = function () {\n if (initialServerDataWriter && !initialServerDataFlushed) {\n initialServerDataWriter.close()\n initialServerDataFlushed = true\n initialServerDataBuffer = undefined\n }\n initialServerDataLoaded = true\n}\n\n// It's possible that the DOM is already loaded.\nif (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', DOMContentLoaded, false)\n} else {\n // Delayed in marco task to ensure it's executed later than hydration\n setTimeout(DOMContentLoaded)\n}\n\nconst nextServerDataLoadingGlobal = (self.__next_f = self.__next_f || [])\n\n// Consume all buffered chunks and clear the global data array right after to release memory.\n// Otherwise it will be retained indefinitely.\nnextServerDataLoadingGlobal.forEach(nextServerDataCallback)\nnextServerDataLoadingGlobal.length = 0\n\n// Patch its push method so subsequent chunks are handled (but not actually pushed to the array).\nnextServerDataLoadingGlobal.push = nextServerDataCallback\n\nlet readable: ReadableStream<Uint8Array> = new ReadableStream({\n start(controller) {\n nextServerDataRegisterWriter(controller)\n },\n})\nif (process.env.NODE_ENV !== 'production') {\n // @ts-expect-error\n readable.name = 'hydration'\n}\n\n// When Cache Components is enabled, tee the inlined Flight stream so we can\n// truncate a clone at the static stage byte boundary and cache it. We don't\n// know if `l` is present until React decodes the payload, so always tee and\n// cancel the clone if not needed.\nlet initialFlightStreamForCache: ReadableStream<Uint8Array> | null = null\nif (\n process.env.__NEXT_CACHE_COMPONENTS &&\n process.env.__NEXT_EXPERIMENTAL_CACHED_NAVIGATIONS\n) {\n const [forReact, forCache] = readable.tee()\n readable = forReact\n initialFlightStreamForCache = forCache\n}\n\nlet debugChannel:\n | { readable?: ReadableStream; writable?: WritableStream }\n | undefined\n\nif (\n process.env.__NEXT_DEV_SERVER &&\n process.env.__NEXT_REACT_DEBUG_CHANNEL &&\n typeof window !== 'undefined'\n) {\n const { createDebugChannel } =\n require('./dev/debug-channel') as typeof import('./dev/debug-channel')\n\n debugChannel = createDebugChannel(undefined)\n}\n\nlet initialServerResponse: Promise<InitialRSCPayload>\nif (instantTestStaticFetch) {\n // Instant Navigation Testing API: hydrate from the static RSC payload\n // fetch kicked off by an injected <script> tag, instead of the inline\n // Flight data (which is not present in the static shell).\n initialServerResponse = Promise.resolve(\n createFromFetch<InitialRSCPayload>(instantTestStaticFetch, {\n callServer,\n findSourceMapURL,\n debugChannel,\n // The static fetch response is a partial stream (static-only Flight\n // data with no dynamic content). Allow it to close without error so\n // React treats dynamic holes as still-suspended rather than\n // triggering error recovery.\n unstable_allowPartialStream: true,\n })\n ).then(async (initialRSCPayload) => {\n return createInitialRSCPayloadFromFallbackPrerender(\n await instantTestStaticFetch,\n initialRSCPayload\n )\n })\n} else if (\n // @ts-expect-error\n window.__NEXT_CLIENT_RESUME\n) {\n const clientResumeFetch: Promise<Response> =\n // @ts-expect-error\n window.__NEXT_CLIENT_RESUME\n initialServerResponse = Promise.resolve(\n createFromFetch<InitialRSCPayload>(clientResumeFetch, {\n callServer,\n findSourceMapURL,\n debugChannel,\n })\n ).then(async (fallbackInitialRSCPayload) =>\n createInitialRSCPayloadFromFallbackPrerender(\n await clientResumeFetch,\n fallbackInitialRSCPayload\n )\n )\n} else {\n initialServerResponse = createFromReadableStream<InitialRSCPayload>(\n readable,\n {\n callServer,\n findSourceMapURL,\n debugChannel,\n startTime: 0,\n }\n )\n}\n\nfunction ServerRoot({\n initialRSCPayload,\n actionQueue,\n webSocket,\n staticIndicatorState,\n}: {\n initialRSCPayload: InitialRSCPayload\n actionQueue: AppRouterActionQueue\n webSocket: WebSocket | undefined\n staticIndicatorState: StaticIndicatorState | undefined\n}): React.ReactNode {\n const router = (\n <AppRouter\n actionQueue={actionQueue}\n globalErrorState={initialRSCPayload.G}\n webSocket={webSocket}\n staticIndicatorState={staticIndicatorState}\n />\n )\n\n if (process.env.NODE_ENV === 'development' && initialRSCPayload.m) {\n // We provide missing slot information in a context provider only during development\n // as we log some additional information about the missing slots in the console.\n return (\n <MissingSlotContext value={initialRSCPayload.m}>\n {router}\n </MissingSlotContext>\n )\n }\n\n return router\n}\n\nconst StrictModeIfEnabled = process.env.__NEXT_STRICT_MODE_APP\n ? React.StrictMode\n : React.Fragment\n\nfunction Root({ children }: React.PropsWithChildren<{}>) {\n if (process.env.__NEXT_TEST_MODE) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n window.__NEXT_HYDRATED = true\n window.__NEXT_HYDRATED_AT = performance.now()\n window.__NEXT_HYDRATED_CB?.()\n }, [])\n }\n\n return children\n}\n\nconst enableTransitionIndicator = process.env.__NEXT_TRANSITION_INDICATOR\n\nfunction noDefaultTransitionIndicator() {\n return () => {}\n}\n\nconst reactRootOptions: ReactDOMClient.RootOptions = {\n onDefaultTransitionIndicator: enableTransitionIndicator\n ? // TODO: Compose default with user-configureable (e.g. nprogress)\n undefined\n : noDefaultTransitionIndicator,\n onRecoverableError,\n onCaughtError,\n onUncaughtError,\n}\n\nexport type ClientInstrumentationHooks = {\n onRouterTransitionStart?: (\n url: string,\n navigationType: 'push' | 'replace' | 'traverse'\n ) => void\n}\n\nexport async function hydrate(\n instrumentationHooks: ClientInstrumentationHooks | null,\n assetPrefix: string\n) {\n let staticIndicatorState: StaticIndicatorState | undefined\n let webSocket: WebSocket | undefined\n\n if (process.env.__NEXT_DEV_SERVER) {\n const { createWebSocket } =\n require('./dev/hot-reloader/app/web-socket') as typeof import('./dev/hot-reloader/app/web-socket')\n\n staticIndicatorState = { pathname: null, appIsrManifest: null }\n webSocket = createWebSocket(assetPrefix, staticIndicatorState)\n }\n const initialRSCPayload = await initialServerResponse\n\n // setNavigationBuildId should be called only once, during JS initialization\n // and before any components have hydrated.\n if (initialRSCPayload.b) {\n setNavigationBuildId(initialRSCPayload.b!)\n } else {\n setNavigationBuildId(getDeploymentId()!)\n }\n\n const initialTimestamp = Date.now()\n const actionQueue: AppRouterActionQueue = createMutableActionQueue(\n createInitialRouterState({\n navigatedAt: initialTimestamp,\n initialRSCPayload,\n initialFlightStreamForCache,\n location: window.location,\n }),\n instrumentationHooks\n )\n\n const reactEl = (\n <StrictModeIfEnabled>\n <HeadManagerContext.Provider value={{ appDir: true }}>\n <Root>\n <ServerRoot\n initialRSCPayload={initialRSCPayload}\n actionQueue={actionQueue}\n webSocket={webSocket}\n staticIndicatorState={staticIndicatorState}\n />\n </Root>\n </HeadManagerContext.Provider>\n </StrictModeIfEnabled>\n )\n\n if (document.documentElement.id === '__next_error__') {\n let element = reactEl\n // Server rendering failed, fall back to client-side rendering\n if (process.env.NODE_ENV !== 'production') {\n const { RootLevelDevOverlayElement } =\n require('../next-devtools/userspace/app/client-entry') as typeof import('../next-devtools/userspace/app/client-entry')\n\n // Note this won't cause hydration mismatch because we are doing CSR w/o hydration\n element = (\n <RootLevelDevOverlayElement>{element}</RootLevelDevOverlayElement>\n )\n }\n\n ReactDOMClient.createRoot(appElement, reactRootOptions).render(element)\n } else {\n React.startTransition(() => {\n ReactDOMClient.hydrateRoot(appElement, reactEl, {\n ...reactRootOptions,\n formState: initialFormStateData,\n })\n })\n }\n\n // TODO-APP: Remove this logic when Float has GC built-in in development.\n if (process.env.__NEXT_DEV_SERVER) {\n const { linkGc } =\n require('./app-link-gc') as typeof import('./app-link-gc')\n linkGc()\n }\n}\n"],"names":["hydrate","createFromReadableStream","createFromReadableStreamBrowser","createFromFetch","createFromFetchBrowser","appElement","document","instantTestStaticFetch","self","__next_instant_test","undefined","encoder","TextEncoder","initialServerDataBuffer","initialServerDataWriter","initialServerDataLoaded","initialServerDataFlushed","initialFormStateData","nextServerDataCallback","seg","Error","enqueue","encode","push","binaryString","atob","decodedChunk","Uint8Array","length","i","charCodeAt","isStreamErrorOrUnfinished","ctr","desiredSize","nextServerDataRegisterWriter","forEach","val","error","close","DOMContentLoaded","readyState","addEventListener","setTimeout","nextServerDataLoadingGlobal","__next_f","readable","ReadableStream","start","controller","process","env","NODE_ENV","name","initialFlightStreamForCache","__NEXT_CACHE_COMPONENTS","__NEXT_EXPERIMENTAL_CACHED_NAVIGATIONS","forReact","forCache","tee","debugChannel","__NEXT_DEV_SERVER","__NEXT_REACT_DEBUG_CHANNEL","window","createDebugChannel","require","initialServerResponse","Promise","resolve","callServer","findSourceMapURL","unstable_allowPartialStream","then","initialRSCPayload","createInitialRSCPayloadFromFallbackPrerender","__NEXT_CLIENT_RESUME","clientResumeFetch","fallbackInitialRSCPayload","startTime","ServerRoot","actionQueue","webSocket","staticIndicatorState","router","AppRouter","globalErrorState","G","m","MissingSlotContext","value","StrictModeIfEnabled","__NEXT_STRICT_MODE_APP","React","StrictMode","Fragment","Root","children","__NEXT_TEST_MODE","useEffect","__NEXT_HYDRATED","__NEXT_HYDRATED_AT","performance","now","__NEXT_HYDRATED_CB","enableTransitionIndicator","__NEXT_TRANSITION_INDICATOR","noDefaultTransitionIndicator","reactRootOptions","onDefaultTransitionIndicator","onRecoverableError","onCaughtError","onUncaughtError","instrumentationHooks","assetPrefix","createWebSocket","pathname","appIsrManifest","b","setNavigationBuildId","getDeploymentId","initialTimestamp","Date","createMutableActionQueue","createInitialRouterState","navigatedAt","location","reactEl","HeadManagerContext","Provider","appDir","documentElement","id","element","RootLevelDevOverlayElement","ReactDOMClient","createRoot","render","startTransition","hydrateRoot","formState","linkGc"],"mappings":"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","ignoreList":[0]} | ||
| {"version":3,"sources":["../../src/client/app-index.tsx"],"sourcesContent":["import './app-globals'\nimport ReactDOMClient from 'react-dom/client'\nimport React from 'react'\n// TODO: Explicitly import from client.browser\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport {\n createFromReadableStream as createFromReadableStreamBrowser,\n createFromFetch as createFromFetchBrowser,\n} from 'react-server-dom-webpack/client'\nimport { HeadManagerContext } from '../shared/lib/head-manager-context.shared-runtime'\nimport { onRecoverableError } from './react-client-callbacks/on-recoverable-error'\nimport {\n onCaughtError,\n onUncaughtError,\n} from './react-client-callbacks/error-boundary-callbacks'\nimport { callServer } from './app-call-server'\nimport { findSourceMapURL } from './app-find-source-map-url'\nimport {\n type AppRouterActionQueue,\n createMutableActionQueue,\n} from './components/app-router-instance'\nimport AppRouter from './components/app-router'\nimport type { InitialRSCPayload } from '../shared/lib/app-router-types'\nimport { createInitialRouterState } from './components/router-reducer/create-initial-router-state'\nimport { MissingSlotContext } from '../shared/lib/app-router-context.shared-runtime'\nimport type { StaticIndicatorState } from './dev/hot-reloader/app/hot-reloader-app'\nimport { createInitialRSCPayloadFromFallbackPrerender } from './flight-data-helpers'\nimport { getDeploymentId } from '../shared/lib/deployment-id'\nimport { setNavigationBuildId } from './navigation-build-id'\n\n/// <reference types=\"react-dom/experimental\" />\n\nconst createFromReadableStream =\n createFromReadableStreamBrowser as (typeof import('react-server-dom-webpack/client.browser'))['createFromReadableStream']\nconst createFromFetch =\n createFromFetchBrowser as (typeof import('react-server-dom-webpack/client.browser'))['createFromFetch']\n\nconst appElement: HTMLElement | Document = document\n\n// Instant Navigation Testing API: captured once at module init. When truthy,\n// this is the fetch promise for the static RSC payload (set by an injected\n// <script> tag in the static shell HTML).\nconst instantTestStaticFetch: Promise<Response> | undefined =\n self.__next_instant_test\n ? (self.__next_instant_test as unknown as Promise<Response>)\n : undefined\n\nconst encoder = new TextEncoder()\n\nlet initialServerDataBuffer: (string | Uint8Array)[] | undefined = undefined\nlet initialServerDataWriter: ReadableStreamDefaultController | undefined =\n undefined\nlet initialServerDataLoaded = false\nlet initialServerDataFlushed = false\n\nlet initialFormStateData: null | any = null\n\ntype FlightSegment =\n | [isBootStrap: 0]\n | [isNotBootstrap: 1, responsePartial: string]\n | [isFormState: 2, formState: any]\n | [isBinary: 3, responseBase64Partial: string]\n\ntype NextFlight = Omit<Array<FlightSegment>, 'push'> & {\n push: (seg: FlightSegment) => void\n}\n\ndeclare global {\n // If you're working in a browser environment\n interface Window {\n /**\n * request ID, dev-only\n */\n __next_r?: string\n __next_f: NextFlight\n }\n}\n\nfunction nextServerDataCallback(seg: FlightSegment): void {\n if (seg[0] === 0) {\n initialServerDataBuffer = []\n } else if (seg[0] === 1) {\n if (!initialServerDataBuffer)\n throw new Error('Unexpected server data: missing bootstrap script.')\n\n if (initialServerDataWriter) {\n initialServerDataWriter.enqueue(encoder.encode(seg[1]))\n } else {\n initialServerDataBuffer.push(seg[1])\n }\n } else if (seg[0] === 2) {\n initialFormStateData = seg[1]\n } else if (seg[0] === 3) {\n if (!initialServerDataBuffer)\n throw new Error('Unexpected server data: missing bootstrap script.')\n\n // Decode the base64 string back to binary data.\n const binaryString = atob(seg[1])\n const decodedChunk = new Uint8Array(binaryString.length)\n for (var i = 0; i < binaryString.length; i++) {\n decodedChunk[i] = binaryString.charCodeAt(i)\n }\n\n if (initialServerDataWriter) {\n initialServerDataWriter.enqueue(decodedChunk)\n } else {\n initialServerDataBuffer.push(decodedChunk)\n }\n }\n}\n\nfunction isStreamErrorOrUnfinished(ctr: ReadableStreamDefaultController) {\n // If `desiredSize` is null, it means the stream is closed or errored. If it is lower than 0, the stream is still unfinished.\n return ctr.desiredSize === null || ctr.desiredSize < 0\n}\n\n// There might be race conditions between `nextServerDataRegisterWriter` and\n// `DOMContentLoaded`. The former will be called when React starts to hydrate\n// the root, the latter will be called when the DOM is fully loaded.\n// For streaming, the former is called first due to partial hydration.\n// For non-streaming, the latter can be called first.\n// Hence, we use two variables `initialServerDataLoaded` and\n// `initialServerDataFlushed` to make sure the writer will be closed and\n// `initialServerDataBuffer` will be cleared in the right time.\nfunction nextServerDataRegisterWriter(ctr: ReadableStreamDefaultController) {\n if (initialServerDataBuffer) {\n initialServerDataBuffer.forEach((val) => {\n ctr.enqueue(typeof val === 'string' ? encoder.encode(val) : val)\n })\n if (initialServerDataLoaded && !initialServerDataFlushed) {\n // Instant Navigation Testing API: don't close or error the inline\n // Flight stream. The static shell has no inline Flight data, so the\n // stream is empty. Closing it would cause React to log an error about\n // missing data. Leaving it open lets React treat any holes as\n // \"still suspended.\" Hydration uses the separately fetched RSC payload\n // (self.__next_instant_test), not this stream.\n if (isStreamErrorOrUnfinished(ctr)) {\n if (!instantTestStaticFetch) {\n ctr.error(\n new Error(\n 'The connection to the page was unexpectedly closed, possibly due to the stop button being clicked, loss of Wi-Fi, or an unstable internet connection.'\n )\n )\n }\n } else {\n ctr.close()\n }\n initialServerDataFlushed = true\n initialServerDataBuffer = undefined\n }\n }\n\n initialServerDataWriter = ctr\n}\n\n// When `DOMContentLoaded`, we can close all pending writers to finish hydration.\nconst DOMContentLoaded = function () {\n if (initialServerDataWriter && !initialServerDataFlushed) {\n initialServerDataWriter.close()\n initialServerDataFlushed = true\n initialServerDataBuffer = undefined\n }\n initialServerDataLoaded = true\n}\n\n// It's possible that the DOM is already loaded.\nif (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', DOMContentLoaded, false)\n} else {\n // Delayed in marco task to ensure it's executed later than hydration\n setTimeout(DOMContentLoaded)\n}\n\nconst nextServerDataLoadingGlobal = (self.__next_f = self.__next_f || [])\n\n// Consume all buffered chunks and clear the global data array right after to release memory.\n// Otherwise it will be retained indefinitely.\nnextServerDataLoadingGlobal.forEach(nextServerDataCallback)\nnextServerDataLoadingGlobal.length = 0\n\n// Patch its push method so subsequent chunks are handled (but not actually pushed to the array).\nnextServerDataLoadingGlobal.push = nextServerDataCallback\n\nlet readable: ReadableStream<Uint8Array> = new ReadableStream({\n start(controller) {\n nextServerDataRegisterWriter(controller)\n },\n})\nif (process.env.NODE_ENV !== 'production') {\n // @ts-expect-error\n readable.name = 'hydration'\n}\n\n// When Cache Components is enabled, tee the inlined Flight stream so we can\n// truncate a clone at the static stage byte boundary and cache it. We don't\n// know if `l` is present until React decodes the payload, so always tee and\n// cancel the clone if not needed.\nlet initialFlightStreamForCache: ReadableStream<Uint8Array> | null = null\nif (\n process.env.__NEXT_CACHE_COMPONENTS &&\n process.env.__NEXT_EXPERIMENTAL_CACHED_NAVIGATIONS\n) {\n const [forReact, forCache] = readable.tee()\n readable = forReact\n initialFlightStreamForCache = forCache\n}\n\nlet debugChannel:\n | { readable?: ReadableStream; writable?: WritableStream }\n | undefined\n\nif (\n process.env.__NEXT_DEV_SERVER &&\n process.env.__NEXT_REACT_DEBUG_CHANNEL &&\n typeof window !== 'undefined'\n) {\n const { createDebugChannel } =\n require('./dev/debug-channel') as typeof import('./dev/debug-channel')\n\n debugChannel = createDebugChannel(undefined)\n}\n\nlet initialServerResponse: Promise<InitialRSCPayload>\nif (instantTestStaticFetch) {\n // Instant Navigation Testing API: hydrate from the static RSC payload\n // fetch kicked off by an injected <script> tag, instead of the inline\n // Flight data (which is not present in the static shell).\n initialServerResponse = Promise.resolve(\n createFromFetch<InitialRSCPayload>(instantTestStaticFetch, {\n callServer,\n findSourceMapURL,\n debugChannel,\n // The static fetch response is a partial stream (static-only Flight\n // data with no dynamic content). Allow it to close without error so\n // React treats dynamic holes as still-suspended rather than\n // triggering error recovery.\n unstable_allowPartialStream: true,\n })\n ).then(async (initialRSCPayload) => {\n return createInitialRSCPayloadFromFallbackPrerender(\n await instantTestStaticFetch,\n initialRSCPayload\n )\n })\n} else if (\n // @ts-expect-error\n window.__NEXT_CLIENT_RESUME\n) {\n const clientResumeFetch: Promise<Response> =\n // @ts-expect-error\n window.__NEXT_CLIENT_RESUME\n initialServerResponse = Promise.resolve(\n createFromFetch<InitialRSCPayload>(clientResumeFetch, {\n callServer,\n findSourceMapURL,\n debugChannel,\n })\n ).then(async (fallbackInitialRSCPayload) =>\n createInitialRSCPayloadFromFallbackPrerender(\n await clientResumeFetch,\n fallbackInitialRSCPayload\n )\n )\n} else {\n initialServerResponse = createFromReadableStream<InitialRSCPayload>(\n readable,\n {\n callServer,\n findSourceMapURL,\n debugChannel,\n startTime: 0,\n }\n )\n}\n\nfunction ServerRoot({\n initialRSCPayload,\n actionQueue,\n webSocket,\n staticIndicatorState,\n}: {\n initialRSCPayload: InitialRSCPayload\n actionQueue: AppRouterActionQueue\n webSocket: WebSocket | undefined\n staticIndicatorState: StaticIndicatorState | undefined\n}): React.ReactNode {\n const router = (\n <AppRouter\n actionQueue={actionQueue}\n globalErrorState={initialRSCPayload.G}\n webSocket={webSocket}\n staticIndicatorState={staticIndicatorState}\n />\n )\n\n if (process.env.NODE_ENV === 'development' && initialRSCPayload.m) {\n // We provide missing slot information in a context provider only during development\n // as we log some additional information about the missing slots in the console.\n return (\n <MissingSlotContext value={initialRSCPayload.m}>\n {router}\n </MissingSlotContext>\n )\n }\n\n return router\n}\n\nconst StrictModeIfEnabled = process.env.__NEXT_STRICT_MODE_APP\n ? React.StrictMode\n : React.Fragment\n\nfunction Root({ children }: React.PropsWithChildren<{}>) {\n if (process.env.__NEXT_TEST_MODE) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n window.__NEXT_HYDRATED = true\n window.__NEXT_HYDRATED_AT = performance.now()\n window.__NEXT_HYDRATED_CB?.()\n }, [])\n }\n\n return children\n}\n\nconst enableTransitionIndicator = process.env.__NEXT_TRANSITION_INDICATOR\n\nfunction noDefaultTransitionIndicator() {\n return () => {}\n}\n\nconst reactRootOptions: ReactDOMClient.RootOptions = {\n onDefaultTransitionIndicator: enableTransitionIndicator\n ? // TODO: Compose default with user-configureable (e.g. nprogress)\n undefined\n : noDefaultTransitionIndicator,\n onRecoverableError,\n onCaughtError,\n onUncaughtError,\n}\n\nexport type ClientInstrumentationHooks = {\n onRouterTransitionStart?: (\n url: string,\n navigationType: 'push' | 'replace' | 'traverse'\n ) => void\n}\n\nexport async function hydrate(\n instrumentationHooks: ClientInstrumentationHooks | null,\n assetPrefix: string\n) {\n let staticIndicatorState: StaticIndicatorState | undefined\n let webSocket: WebSocket | undefined\n\n if (process.env.__NEXT_DEV_SERVER) {\n const { createWebSocket } =\n require('./dev/hot-reloader/app/web-socket') as typeof import('./dev/hot-reloader/app/web-socket')\n\n staticIndicatorState = { pathname: null, appIsrManifest: null }\n webSocket = createWebSocket(assetPrefix, staticIndicatorState)\n }\n const initialRSCPayload = await initialServerResponse\n\n // Initialize the offline module to register browser event listeners\n // (offline/online) before any components hydrate.\n if (process.env.__NEXT_USE_OFFLINE) {\n require('./components/offline') as typeof import('./components/offline')\n }\n\n // setNavigationBuildId should be called only once, during JS initialization\n // and before any components have hydrated.\n if (initialRSCPayload.b) {\n setNavigationBuildId(initialRSCPayload.b!)\n } else {\n setNavigationBuildId(getDeploymentId()!)\n }\n\n const initialTimestamp = Date.now()\n const actionQueue: AppRouterActionQueue = createMutableActionQueue(\n createInitialRouterState({\n navigatedAt: initialTimestamp,\n initialRSCPayload,\n initialFlightStreamForCache,\n location: window.location,\n }),\n instrumentationHooks\n )\n\n const reactEl = (\n <StrictModeIfEnabled>\n <HeadManagerContext.Provider value={{ appDir: true }}>\n <Root>\n <ServerRoot\n initialRSCPayload={initialRSCPayload}\n actionQueue={actionQueue}\n webSocket={webSocket}\n staticIndicatorState={staticIndicatorState}\n />\n </Root>\n </HeadManagerContext.Provider>\n </StrictModeIfEnabled>\n )\n\n if (document.documentElement.id === '__next_error__') {\n let element = reactEl\n // Server rendering failed, fall back to client-side rendering\n if (process.env.NODE_ENV !== 'production') {\n const { RootLevelDevOverlayElement } =\n require('../next-devtools/userspace/app/client-entry') as typeof import('../next-devtools/userspace/app/client-entry')\n\n // Note this won't cause hydration mismatch because we are doing CSR w/o hydration\n element = (\n <RootLevelDevOverlayElement>{element}</RootLevelDevOverlayElement>\n )\n }\n\n ReactDOMClient.createRoot(appElement, reactRootOptions).render(element)\n } else {\n React.startTransition(() => {\n ReactDOMClient.hydrateRoot(appElement, reactEl, {\n ...reactRootOptions,\n formState: initialFormStateData,\n })\n })\n }\n\n // TODO-APP: Remove this logic when Float has GC built-in in development.\n if (process.env.__NEXT_DEV_SERVER) {\n const { linkGc } =\n require('./app-link-gc') as typeof import('./app-link-gc')\n linkGc()\n }\n}\n"],"names":["hydrate","createFromReadableStream","createFromReadableStreamBrowser","createFromFetch","createFromFetchBrowser","appElement","document","instantTestStaticFetch","self","__next_instant_test","undefined","encoder","TextEncoder","initialServerDataBuffer","initialServerDataWriter","initialServerDataLoaded","initialServerDataFlushed","initialFormStateData","nextServerDataCallback","seg","Error","enqueue","encode","push","binaryString","atob","decodedChunk","Uint8Array","length","i","charCodeAt","isStreamErrorOrUnfinished","ctr","desiredSize","nextServerDataRegisterWriter","forEach","val","error","close","DOMContentLoaded","readyState","addEventListener","setTimeout","nextServerDataLoadingGlobal","__next_f","readable","ReadableStream","start","controller","process","env","NODE_ENV","name","initialFlightStreamForCache","__NEXT_CACHE_COMPONENTS","__NEXT_EXPERIMENTAL_CACHED_NAVIGATIONS","forReact","forCache","tee","debugChannel","__NEXT_DEV_SERVER","__NEXT_REACT_DEBUG_CHANNEL","window","createDebugChannel","require","initialServerResponse","Promise","resolve","callServer","findSourceMapURL","unstable_allowPartialStream","then","initialRSCPayload","createInitialRSCPayloadFromFallbackPrerender","__NEXT_CLIENT_RESUME","clientResumeFetch","fallbackInitialRSCPayload","startTime","ServerRoot","actionQueue","webSocket","staticIndicatorState","router","AppRouter","globalErrorState","G","m","MissingSlotContext","value","StrictModeIfEnabled","__NEXT_STRICT_MODE_APP","React","StrictMode","Fragment","Root","children","__NEXT_TEST_MODE","useEffect","__NEXT_HYDRATED","__NEXT_HYDRATED_AT","performance","now","__NEXT_HYDRATED_CB","enableTransitionIndicator","__NEXT_TRANSITION_INDICATOR","noDefaultTransitionIndicator","reactRootOptions","onDefaultTransitionIndicator","onRecoverableError","onCaughtError","onUncaughtError","instrumentationHooks","assetPrefix","createWebSocket","pathname","appIsrManifest","__NEXT_USE_OFFLINE","b","setNavigationBuildId","getDeploymentId","initialTimestamp","Date","createMutableActionQueue","createInitialRouterState","navigatedAt","location","reactEl","HeadManagerContext","Provider","appDir","documentElement","id","element","RootLevelDevOverlayElement","ReactDOMClient","createRoot","render","startTransition","hydrateRoot","formState","linkGc"],"mappings":"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","ignoreList":[0]} |
@@ -417,2 +417,8 @@ "use strict"; | ||
| } | ||
| if (process.env.__NEXT_USE_OFFLINE) { | ||
| const { OfflineProvider } = require('./use-offline'); | ||
| content = /*#__PURE__*/ (0, _jsxruntime.jsx)(OfflineProvider, { | ||
| children: content | ||
| }); | ||
| } | ||
| return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, { | ||
@@ -419,0 +425,0 @@ children: [ |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../../../src/client/components/app-router.tsx"],"sourcesContent":["import React, {\n useEffect,\n useMemo,\n startTransition,\n useInsertionEffect,\n useDeferredValue,\n} from 'react'\nimport {\n AppRouterContext,\n LayoutRouterContext,\n GlobalLayoutRouterContext,\n} from '../../shared/lib/app-router-context.shared-runtime'\nimport type { CacheNode } from '../../shared/lib/app-router-types'\nimport { ACTION_RESTORE } from './router-reducer/router-reducer-types'\nimport type {\n AppHistoryState,\n AppRouterState,\n} from './router-reducer/router-reducer-types'\nimport { createHrefFromUrl } from './router-reducer/create-href-from-url'\nimport {\n SearchParamsContext,\n PathnameContext,\n PathParamsContext,\n NavigationPromisesContext,\n type NavigationPromises,\n} from '../../shared/lib/hooks-client-context.shared-runtime'\nimport { dispatchAppRouterAction, useActionQueue } from './use-action-queue'\nimport { setLastCommittedTree } from './router-reducer/reducers/committed-state'\nimport { AppRouterAnnouncer } from './app-router-announcer'\nimport { RedirectBoundary } from './redirect-boundary'\nimport { findHeadInCache } from './router-reducer/reducers/find-head-in-cache'\nimport { unresolvedThenable } from './unresolved-thenable'\nimport { removeBasePath } from '../remove-base-path'\nimport { hasBasePath } from '../has-base-path'\nimport {\n extractSourcePageFromFlightRouterState,\n getSelectedParams,\n} from './router-reducer/compute-changed-path'\nimport { useNavFailureHandler } from './nav-failure-handler'\nimport {\n dispatchTraverseAction,\n publicAppRouterInstance,\n type AppRouterActionQueue,\n type GlobalErrorState,\n} from './app-router-instance'\nimport { getRedirectTypeFromError, getURLFromRedirectError } from './redirect'\nimport { isRedirectError } from './redirect-error'\nimport { pingVisibleLinks } from './links'\nimport RootErrorBoundary from './errors/root-error-boundary'\nimport DefaultGlobalError from './builtin/global-error'\nimport { RootLayoutBoundary } from '../../lib/framework/boundary-components'\nimport type { StaticIndicatorState } from '../dev/hot-reloader/app/hot-reloader-app'\nimport { getAssetTokenQuery } from '../../shared/lib/deployment-id'\n\nconst globalMutable: {\n pendingMpaPath?: string\n} = {}\n\nfunction HistoryUpdater({\n appRouterState,\n}: {\n appRouterState: AppRouterState\n}) {\n useInsertionEffect(() => {\n if (process.env.__NEXT_APP_NAV_FAIL_HANDLING) {\n // clear pending URL as navigation is no longer\n // in flight\n window.next.__pendingUrl = undefined\n }\n\n const { tree, pushRef, canonicalUrl, renderedSearch } = appRouterState\n\n const appHistoryState: AppHistoryState = {\n tree,\n renderedSearch,\n }\n\n // TODO: Use Navigation API if available\n const historyState = {\n ...(pushRef.preserveCustomHistoryState ? window.history.state : {}),\n // Identifier is shortened intentionally.\n // __NA is used to identify if the history entry can be handled by the app-router.\n // __N is used to identify if the history entry can be handled by the old router.\n __NA: true,\n __PRIVATE_NEXTJS_INTERNALS_TREE: appHistoryState,\n }\n if (\n pushRef.pendingPush &&\n // Skip pushing an additional history entry if the canonicalUrl is the same as the current url.\n // This mirrors the browser behavior for normal navigation.\n createHrefFromUrl(new URL(window.location.href)) !== canonicalUrl\n ) {\n // This intentionally mutates React state, pushRef is overwritten to ensure additional push/replace calls do not trigger an additional history entry.\n pushRef.pendingPush = false\n window.history.pushState(historyState, '', canonicalUrl)\n } else {\n window.history.replaceState(historyState, '', canonicalUrl)\n }\n\n setLastCommittedTree(tree)\n }, [appRouterState])\n\n useEffect(() => {\n // The Next-Url and the base tree may affect the result of a prefetch\n // task. Re-prefetch all visible links with the updated values. In most\n // cases, this will not result in any new network requests, only if\n // the prefetch result actually varies on one of these inputs.\n pingVisibleLinks(appRouterState.nextUrl, appRouterState.tree)\n }, [appRouterState.nextUrl, appRouterState.tree])\n\n return null\n}\n\nfunction copyNextJsInternalHistoryState(data: any) {\n if (data == null) data = {}\n const currentState = window.history.state\n const __NA = currentState?.__NA\n if (__NA) {\n data.__NA = __NA\n }\n const __PRIVATE_NEXTJS_INTERNALS_TREE =\n currentState?.__PRIVATE_NEXTJS_INTERNALS_TREE\n if (__PRIVATE_NEXTJS_INTERNALS_TREE) {\n data.__PRIVATE_NEXTJS_INTERNALS_TREE = __PRIVATE_NEXTJS_INTERNALS_TREE\n }\n\n return data\n}\n\nfunction Head({\n headCacheNode,\n}: {\n headCacheNode: CacheNode | null\n}): React.ReactNode {\n // If this segment has a `prefetchHead`, it's the statically prefetched data.\n // We should use that on initial render instead of `head`. Then we'll switch\n // to `head` when the dynamic response streams in.\n const head = headCacheNode !== null ? headCacheNode.head : null\n const prefetchHead =\n headCacheNode !== null ? headCacheNode.prefetchHead : null\n\n // If no prefetch data is available, then we go straight to rendering `head`.\n const resolvedPrefetchRsc = prefetchHead !== null ? prefetchHead : head\n\n // We use `useDeferredValue` to handle switching between the prefetched and\n // final values. The second argument is returned on initial render, then it\n // re-renders with the first argument.\n return useDeferredValue(head, resolvedPrefetchRsc)\n}\n\n/**\n * The global router that wraps the application components.\n */\nfunction Router({\n actionQueue,\n globalError,\n webSocket,\n staticIndicatorState,\n}: {\n actionQueue: AppRouterActionQueue\n globalError: GlobalErrorState\n webSocket: WebSocket | undefined\n staticIndicatorState: StaticIndicatorState | undefined\n}) {\n const state = useActionQueue(actionQueue)\n const { canonicalUrl } = state\n // Add memoized pathname/query for useSearchParams and usePathname.\n const { searchParams, pathname } = useMemo(() => {\n const url = new URL(\n canonicalUrl,\n typeof window === 'undefined' ? 'http://n' : window.location.href\n )\n\n return {\n // This is turned into a readonly class in `useSearchParams`\n searchParams: url.searchParams,\n pathname: hasBasePath(url.pathname)\n ? removeBasePath(url.pathname)\n : url.pathname,\n }\n }, [canonicalUrl])\n\n if (process.env.NODE_ENV !== 'production') {\n const { cache, tree } = state\n\n // This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useEffect(() => {\n // Add `window.nd` for debugging purposes.\n // This is not meant for use in applications as concurrent rendering will affect the cache/tree/router.\n // @ts-ignore this is for debugging\n window.nd = {\n router: publicAppRouterInstance,\n cache,\n tree,\n }\n }, [cache, tree])\n }\n\n useEffect(() => {\n const sourcePage = extractSourcePageFromFlightRouterState(state.tree)\n\n if (sourcePage !== undefined) {\n window.next.__internal_src_page = sourcePage\n } else {\n delete window.next.__internal_src_page\n }\n }, [state.tree])\n\n useEffect(() => {\n // If the app is restored from bfcache, it's possible that\n // pushRef.mpaNavigation is true, which would mean that any re-render of this component\n // would trigger the mpa navigation logic again from the lines below.\n // This will restore the router to the initial state in the event that the app is restored from bfcache.\n function handlePageShow(event: PageTransitionEvent) {\n if (\n !event.persisted ||\n !window.history.state?.__PRIVATE_NEXTJS_INTERNALS_TREE\n ) {\n return\n }\n\n // Clear the pendingMpaPath value so that a subsequent MPA navigation to the same URL can be triggered.\n // This is necessary because if the browser restored from bfcache, the pendingMpaPath would still be set to the value\n // of the last MPA navigation.\n globalMutable.pendingMpaPath = undefined\n\n dispatchAppRouterAction({\n type: ACTION_RESTORE,\n url: new URL(window.location.href),\n historyState: window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE,\n })\n }\n\n window.addEventListener('pageshow', handlePageShow)\n\n return () => {\n window.removeEventListener('pageshow', handlePageShow)\n }\n }, [])\n\n useEffect(() => {\n // Ensure that any redirect errors that bubble up outside of the RedirectBoundary\n // are caught and handled by the router.\n function handleUnhandledRedirect(\n event: ErrorEvent | PromiseRejectionEvent\n ) {\n const error = 'reason' in event ? event.reason : event.error\n if (isRedirectError(error)) {\n event.preventDefault()\n const url = getURLFromRedirectError(error)\n const redirectType = getRedirectTypeFromError(error)\n // TODO: This should access the router methods directly, rather than\n // go through the public interface.\n if (redirectType === 'push') {\n publicAppRouterInstance.push(url, {})\n } else {\n publicAppRouterInstance.replace(url, {})\n }\n }\n }\n window.addEventListener('error', handleUnhandledRedirect)\n window.addEventListener('unhandledrejection', handleUnhandledRedirect)\n\n return () => {\n window.removeEventListener('error', handleUnhandledRedirect)\n window.removeEventListener('unhandledrejection', handleUnhandledRedirect)\n }\n }, [])\n\n // When mpaNavigation flag is set do a hard navigation to the new url.\n // Infinitely suspend because we don't actually want to rerender any child\n // components with the new URL and any entangled state updates shouldn't\n // commit either (eg: useTransition isPending should stay true until the page\n // unloads).\n //\n // This is a side effect in render. Don't try this at home, kids. It's\n // probably safe because we know this is a singleton component and it's never\n // in <Offscreen>. At least I hope so. (It will run twice in dev strict mode,\n // but that's... fine?)\n const { pushRef } = state\n if (pushRef.mpaNavigation) {\n // if there's a re-render, we don't want to trigger another redirect if one is already in flight to the same URL\n if (globalMutable.pendingMpaPath !== canonicalUrl) {\n const location = window.location\n if (pushRef.pendingPush) {\n location.assign(canonicalUrl)\n } else {\n location.replace(canonicalUrl)\n }\n\n globalMutable.pendingMpaPath = canonicalUrl\n }\n // TODO-APP: Should we listen to navigateerror here to catch failed\n // navigations somehow? And should we call window.stop() if a SPA navigation\n // should interrupt an MPA one?\n // NOTE: This is intentionally using `throw` instead of `use` because we're\n // inside an externally mutable condition (pushRef.mpaNavigation), which\n // violates the rules of hooks.\n throw unresolvedThenable\n }\n\n useEffect(() => {\n const originalPushState = window.history.pushState.bind(window.history)\n const originalReplaceState = window.history.replaceState.bind(\n window.history\n )\n\n // Ensure the canonical URL in the Next.js Router is updated when the URL is changed so that `usePathname` and `useSearchParams` hold the pushed values.\n const applyUrlFromHistoryPushReplace = (\n url: string | URL | null | undefined\n ) => {\n const href = window.location.href\n const appHistoryState: AppHistoryState | undefined =\n window.history.state?.__PRIVATE_NEXTJS_INTERNALS_TREE\n\n startTransition(() => {\n dispatchAppRouterAction({\n type: ACTION_RESTORE,\n url: new URL(url ?? href, href),\n historyState: appHistoryState,\n })\n })\n }\n\n /**\n * Patch pushState to ensure external changes to the history are reflected in the Next.js Router.\n * Ensures Next.js internal history state is copied to the new history entry.\n * Ensures usePathname and useSearchParams hold the newly provided url.\n */\n window.history.pushState = function pushState(\n data: any,\n _unused: string,\n url?: string | URL | null\n ): void {\n // TODO: Warn when Navigation API is available (navigation.navigate() should be used)\n // Avoid a loop when Next.js internals trigger pushState/replaceState\n if (data?.__NA || data?._N) {\n return originalPushState(data, _unused, url)\n }\n\n data = copyNextJsInternalHistoryState(data)\n\n if (url) {\n applyUrlFromHistoryPushReplace(url)\n }\n\n return originalPushState(data, _unused, url)\n }\n\n /**\n * Patch replaceState to ensure external changes to the history are reflected in the Next.js Router.\n * Ensures Next.js internal history state is copied to the new history entry.\n * Ensures usePathname and useSearchParams hold the newly provided url.\n */\n window.history.replaceState = function replaceState(\n data: any,\n _unused: string,\n url?: string | URL | null\n ): void {\n // TODO: Warn when Navigation API is available (navigation.navigate() should be used)\n // Avoid a loop when Next.js internals trigger pushState/replaceState\n if (data?.__NA || data?._N) {\n return originalReplaceState(data, _unused, url)\n }\n data = copyNextJsInternalHistoryState(data)\n\n if (url) {\n applyUrlFromHistoryPushReplace(url)\n }\n return originalReplaceState(data, _unused, url)\n }\n\n /**\n * Handle popstate event, this is used to handle back/forward in the browser.\n * By default dispatches ACTION_RESTORE, however if the history entry was not pushed/replaced by app-router it will reload the page.\n * That case can happen when the old router injected the history entry.\n */\n const onPopState = (event: PopStateEvent) => {\n if (!event.state) {\n // TODO-APP: this case only happens when pushState/replaceState was called outside of Next.js. It should probably reload the page in this case.\n return\n }\n\n // This case happens when the history entry was pushed by the `pages` router.\n if (!event.state.__NA) {\n window.location.reload()\n return\n }\n\n // TODO-APP: Ideally the back button should not use startTransition as it should apply the updates synchronously\n // Without startTransition works if the cache is there for this path\n startTransition(() => {\n dispatchTraverseAction(\n window.location.href,\n event.state.__PRIVATE_NEXTJS_INTERNALS_TREE\n )\n })\n }\n\n // Register popstate event to call onPopstate.\n window.addEventListener('popstate', onPopState)\n return () => {\n window.history.pushState = originalPushState\n window.history.replaceState = originalReplaceState\n window.removeEventListener('popstate', onPopState)\n }\n }, [])\n\n const { cache, tree, nextUrl, focusAndScrollRef, previousNextUrl } = state\n\n const matchingHead = useMemo(() => {\n return findHeadInCache(cache, tree[1])\n }, [cache, tree])\n\n // Add memoized pathParams for useParams.\n const pathParams = useMemo(() => {\n return getSelectedParams(tree)\n }, [tree])\n\n // Create instrumented promises for navigation hooks (dev-only)\n // These are specially instrumented promises to show in the Suspense DevTools\n // Promises are cached outside of render to survive suspense retries.\n let instrumentedNavigationPromises: NavigationPromises | null = null\n if (process.env.NODE_ENV !== 'production') {\n const { createRootNavigationPromises } =\n require('./navigation-devtools') as typeof import('./navigation-devtools')\n\n instrumentedNavigationPromises = createRootNavigationPromises(\n tree,\n pathname,\n searchParams,\n pathParams\n )\n }\n\n const layoutRouterContext = useMemo(() => {\n return {\n parentTree: tree,\n parentCacheNode: cache,\n parentSegmentPath: null,\n parentParams: {},\n parentLoadingData: null,\n // This is the <Activity> \"name\" that shows up in the Suspense DevTools.\n // It represents the root of the app.\n debugNameContext: '/',\n // Root node always has `url`\n // Provided in AppTreeContext to ensure it can be overwritten in layout-router\n url: canonicalUrl,\n // Root segment is always active\n isActive: true,\n }\n }, [tree, cache, canonicalUrl])\n\n const globalLayoutRouterContext = useMemo(() => {\n return {\n tree,\n focusAndScrollRef,\n nextUrl,\n previousNextUrl,\n }\n }, [tree, focusAndScrollRef, nextUrl, previousNextUrl])\n\n let head\n if (matchingHead !== null) {\n // The head is wrapped in an extra component so we can use\n // `useDeferredValue` to swap between the prefetched and final versions of\n // the head. (This is what LayoutRouter does for segment data, too.)\n //\n // The `key` is used to remount the component whenever the head moves to\n // a different segment.\n const [headCacheNode, headKey, headKeyWithoutSearchParams] = matchingHead\n\n head = (\n <Head\n key={\n // Necessary for PPR: omit search params from the key to match prerendered keys\n typeof window === 'undefined' ? headKeyWithoutSearchParams : headKey\n }\n headCacheNode={headCacheNode}\n />\n )\n } else {\n head = null\n }\n\n let content = (\n <RedirectBoundary>\n {head}\n {/* RootLayoutBoundary enables detection of Suspense boundaries around the root layout.\n When users wrap their layout in <Suspense>, this creates the component stack pattern\n \"Suspense -> RootLayoutBoundary\" which dynamic-rendering.ts uses to allow dynamic rendering. */}\n <RootLayoutBoundary>{cache.rsc}</RootLayoutBoundary>\n <AppRouterAnnouncer tree={tree} />\n </RedirectBoundary>\n )\n\n if (process.env.__NEXT_DEV_SERVER) {\n // In development, we apply few error boundaries and hot-reloader:\n // - DevRootHTTPAccessFallbackBoundary: avoid using navigation API like notFound() in root layout\n // - HotReloader:\n // - hot-reload the app when the code changes\n // - render dev overlay\n // - catch runtime errors and display global-error when necessary\n if (typeof window !== 'undefined') {\n const { DevRootHTTPAccessFallbackBoundary } =\n require('./dev-root-http-access-fallback-boundary') as typeof import('./dev-root-http-access-fallback-boundary')\n content = (\n <DevRootHTTPAccessFallbackBoundary>\n {content}\n </DevRootHTTPAccessFallbackBoundary>\n )\n }\n const HotReloader: typeof import('../dev/hot-reloader/app/hot-reloader-app').default =\n (\n require('../dev/hot-reloader/app/hot-reloader-app') as typeof import('../dev/hot-reloader/app/hot-reloader-app')\n ).default\n\n content = (\n <HotReloader\n globalError={globalError}\n webSocket={webSocket}\n staticIndicatorState={staticIndicatorState}\n >\n {content}\n </HotReloader>\n )\n } else {\n content = (\n <RootErrorBoundary\n errorComponent={globalError[0]}\n errorStyles={globalError[1]}\n >\n {content}\n </RootErrorBoundary>\n )\n }\n\n return (\n <>\n <HistoryUpdater appRouterState={state} />\n {process.env.TURBOPACK ? null : <RuntimeStylesForWebpack />}\n <NavigationPromisesContext.Provider\n value={instrumentedNavigationPromises}\n >\n <PathParamsContext.Provider value={pathParams}>\n <PathnameContext.Provider value={pathname}>\n <SearchParamsContext.Provider value={searchParams}>\n <GlobalLayoutRouterContext.Provider\n value={globalLayoutRouterContext}\n >\n {/* TODO: We should be able to remove this context. useRouter\n should import from app-router-instance instead. It's only\n necessary because useRouter is shared between Pages and\n App Router. We should fork that module, then remove this\n context provider. */}\n <AppRouterContext.Provider value={publicAppRouterInstance}>\n <LayoutRouterContext.Provider value={layoutRouterContext}>\n {content}\n </LayoutRouterContext.Provider>\n </AppRouterContext.Provider>\n </GlobalLayoutRouterContext.Provider>\n </SearchParamsContext.Provider>\n </PathnameContext.Provider>\n </PathParamsContext.Provider>\n </NavigationPromisesContext.Provider>\n </>\n )\n}\n\nexport default function AppRouter({\n actionQueue,\n globalErrorState,\n webSocket,\n staticIndicatorState,\n}: {\n actionQueue: AppRouterActionQueue\n globalErrorState: GlobalErrorState\n webSocket?: WebSocket\n staticIndicatorState?: StaticIndicatorState\n}) {\n useNavFailureHandler()\n\n const router = (\n <Router\n actionQueue={actionQueue}\n globalError={globalErrorState}\n webSocket={webSocket}\n staticIndicatorState={staticIndicatorState}\n />\n )\n\n // At the very top level, use the default GlobalError component as the final fallback.\n // When the app router itself fails, which means the framework itself fails, we show the default error.\n return (\n <RootErrorBoundary errorComponent={DefaultGlobalError}>\n {router}\n </RootErrorBoundary>\n )\n}\n\nlet runtimeStyles: Set<string> | undefined\nlet runtimeStyleChanged: Set<() => void> | undefined\nif (!process.env.TURBOPACK && typeof window !== 'undefined') {\n runtimeStyles = new Set<string>()\n runtimeStyleChanged = new Set<() => void>()\n\n globalThis._N_E_STYLE_LOAD = function (href: string) {\n if (!runtimeStyles || !runtimeStyleChanged) return Promise.resolve()\n let len = runtimeStyles.size\n runtimeStyles.add(href)\n if (runtimeStyles.size !== len) {\n runtimeStyleChanged.forEach((cb) => cb())\n }\n // TODO figure out how to get a promise here\n // But maybe it's not necessary as react would block rendering until it's loaded\n return Promise.resolve()\n }\n}\n\nfunction RuntimeStylesForWebpack() {\n const [, forceUpdate] = React.useState(0)\n const renderedStylesSize = runtimeStyles?.size ?? 0\n useEffect(() => {\n if (!runtimeStyles || !runtimeStyleChanged) return\n const changed = () => forceUpdate((c) => c + 1)\n runtimeStyleChanged.add(changed)\n if (renderedStylesSize !== runtimeStyles.size) {\n changed()\n }\n return () => {\n runtimeStyleChanged.delete(changed)\n }\n }, [renderedStylesSize, forceUpdate])\n\n const query = getAssetTokenQuery()\n return [...(runtimeStyles || [])].map((href, i) => (\n <link\n key={i}\n rel=\"stylesheet\"\n href={`${href}${query}`}\n // @ts-ignore\n precedence=\"next\"\n // TODO figure out crossOrigin and nonce\n // crossOrigin={TODO}\n // nonce={TODO}\n />\n ))\n}\n"],"names":["AppRouter","globalMutable","HistoryUpdater","appRouterState","useInsertionEffect","process","env","__NEXT_APP_NAV_FAIL_HANDLING","window","next","__pendingUrl","undefined","tree","pushRef","canonicalUrl","renderedSearch","appHistoryState","historyState","preserveCustomHistoryState","history","state","__NA","__PRIVATE_NEXTJS_INTERNALS_TREE","pendingPush","createHrefFromUrl","URL","location","href","pushState","replaceState","setLastCommittedTree","useEffect","pingVisibleLinks","nextUrl","copyNextJsInternalHistoryState","data","currentState","Head","headCacheNode","head","prefetchHead","resolvedPrefetchRsc","useDeferredValue","Router","actionQueue","globalError","webSocket","staticIndicatorState","useActionQueue","searchParams","pathname","useMemo","url","hasBasePath","removeBasePath","NODE_ENV","cache","nd","router","publicAppRouterInstance","sourcePage","extractSourcePageFromFlightRouterState","__internal_src_page","handlePageShow","event","persisted","pendingMpaPath","dispatchAppRouterAction","type","ACTION_RESTORE","addEventListener","removeEventListener","handleUnhandledRedirect","error","reason","isRedirectError","preventDefault","getURLFromRedirectError","redirectType","getRedirectTypeFromError","push","replace","mpaNavigation","assign","unresolvedThenable","originalPushState","bind","originalReplaceState","applyUrlFromHistoryPushReplace","startTransition","_unused","_N","onPopState","reload","dispatchTraverseAction","focusAndScrollRef","previousNextUrl","matchingHead","findHeadInCache","pathParams","getSelectedParams","instrumentedNavigationPromises","createRootNavigationPromises","require","layoutRouterContext","parentTree","parentCacheNode","parentSegmentPath","parentParams","parentLoadingData","debugNameContext","isActive","globalLayoutRouterContext","headKey","headKeyWithoutSearchParams","content","RedirectBoundary","RootLayoutBoundary","rsc","AppRouterAnnouncer","__NEXT_DEV_SERVER","DevRootHTTPAccessFallbackBoundary","HotReloader","default","RootErrorBoundary","errorComponent","errorStyles","TURBOPACK","RuntimeStylesForWebpack","NavigationPromisesContext","Provider","value","PathParamsContext","PathnameContext","SearchParamsContext","GlobalLayoutRouterContext","AppRouterContext","LayoutRouterContext","globalErrorState","useNavFailureHandler","DefaultGlobalError","runtimeStyles","runtimeStyleChanged","Set","globalThis","_N_E_STYLE_LOAD","Promise","resolve","len","size","add","forEach","cb","forceUpdate","React","useState","renderedStylesSize","changed","c","delete","query","getAssetTokenQuery","map","i","link","rel","precedence"],"mappings":"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","ignoreList":[0]} | ||
| {"version":3,"sources":["../../../src/client/components/app-router.tsx"],"sourcesContent":["import React, {\n useEffect,\n useMemo,\n startTransition,\n useInsertionEffect,\n useDeferredValue,\n} from 'react'\nimport {\n AppRouterContext,\n LayoutRouterContext,\n GlobalLayoutRouterContext,\n} from '../../shared/lib/app-router-context.shared-runtime'\nimport type { CacheNode } from '../../shared/lib/app-router-types'\nimport { ACTION_RESTORE } from './router-reducer/router-reducer-types'\nimport type {\n AppHistoryState,\n AppRouterState,\n} from './router-reducer/router-reducer-types'\nimport { createHrefFromUrl } from './router-reducer/create-href-from-url'\nimport {\n SearchParamsContext,\n PathnameContext,\n PathParamsContext,\n NavigationPromisesContext,\n type NavigationPromises,\n} from '../../shared/lib/hooks-client-context.shared-runtime'\nimport { dispatchAppRouterAction, useActionQueue } from './use-action-queue'\nimport { setLastCommittedTree } from './router-reducer/reducers/committed-state'\nimport { AppRouterAnnouncer } from './app-router-announcer'\nimport { RedirectBoundary } from './redirect-boundary'\nimport { findHeadInCache } from './router-reducer/reducers/find-head-in-cache'\nimport { unresolvedThenable } from './unresolved-thenable'\nimport { removeBasePath } from '../remove-base-path'\nimport { hasBasePath } from '../has-base-path'\nimport {\n extractSourcePageFromFlightRouterState,\n getSelectedParams,\n} from './router-reducer/compute-changed-path'\nimport { useNavFailureHandler } from './nav-failure-handler'\nimport {\n dispatchTraverseAction,\n publicAppRouterInstance,\n type AppRouterActionQueue,\n type GlobalErrorState,\n} from './app-router-instance'\nimport { getRedirectTypeFromError, getURLFromRedirectError } from './redirect'\nimport { isRedirectError } from './redirect-error'\nimport { pingVisibleLinks } from './links'\nimport RootErrorBoundary from './errors/root-error-boundary'\nimport DefaultGlobalError from './builtin/global-error'\nimport { RootLayoutBoundary } from '../../lib/framework/boundary-components'\nimport type { StaticIndicatorState } from '../dev/hot-reloader/app/hot-reloader-app'\nimport { getAssetTokenQuery } from '../../shared/lib/deployment-id'\n\nconst globalMutable: {\n pendingMpaPath?: string\n} = {}\n\nfunction HistoryUpdater({\n appRouterState,\n}: {\n appRouterState: AppRouterState\n}) {\n useInsertionEffect(() => {\n if (process.env.__NEXT_APP_NAV_FAIL_HANDLING) {\n // clear pending URL as navigation is no longer\n // in flight\n window.next.__pendingUrl = undefined\n }\n\n const { tree, pushRef, canonicalUrl, renderedSearch } = appRouterState\n\n const appHistoryState: AppHistoryState = {\n tree,\n renderedSearch,\n }\n\n // TODO: Use Navigation API if available\n const historyState = {\n ...(pushRef.preserveCustomHistoryState ? window.history.state : {}),\n // Identifier is shortened intentionally.\n // __NA is used to identify if the history entry can be handled by the app-router.\n // __N is used to identify if the history entry can be handled by the old router.\n __NA: true,\n __PRIVATE_NEXTJS_INTERNALS_TREE: appHistoryState,\n }\n if (\n pushRef.pendingPush &&\n // Skip pushing an additional history entry if the canonicalUrl is the same as the current url.\n // This mirrors the browser behavior for normal navigation.\n createHrefFromUrl(new URL(window.location.href)) !== canonicalUrl\n ) {\n // This intentionally mutates React state, pushRef is overwritten to ensure additional push/replace calls do not trigger an additional history entry.\n pushRef.pendingPush = false\n window.history.pushState(historyState, '', canonicalUrl)\n } else {\n window.history.replaceState(historyState, '', canonicalUrl)\n }\n\n setLastCommittedTree(tree)\n }, [appRouterState])\n\n useEffect(() => {\n // The Next-Url and the base tree may affect the result of a prefetch\n // task. Re-prefetch all visible links with the updated values. In most\n // cases, this will not result in any new network requests, only if\n // the prefetch result actually varies on one of these inputs.\n pingVisibleLinks(appRouterState.nextUrl, appRouterState.tree)\n }, [appRouterState.nextUrl, appRouterState.tree])\n\n return null\n}\n\nfunction copyNextJsInternalHistoryState(data: any) {\n if (data == null) data = {}\n const currentState = window.history.state\n const __NA = currentState?.__NA\n if (__NA) {\n data.__NA = __NA\n }\n const __PRIVATE_NEXTJS_INTERNALS_TREE =\n currentState?.__PRIVATE_NEXTJS_INTERNALS_TREE\n if (__PRIVATE_NEXTJS_INTERNALS_TREE) {\n data.__PRIVATE_NEXTJS_INTERNALS_TREE = __PRIVATE_NEXTJS_INTERNALS_TREE\n }\n\n return data\n}\n\nfunction Head({\n headCacheNode,\n}: {\n headCacheNode: CacheNode | null\n}): React.ReactNode {\n // If this segment has a `prefetchHead`, it's the statically prefetched data.\n // We should use that on initial render instead of `head`. Then we'll switch\n // to `head` when the dynamic response streams in.\n const head = headCacheNode !== null ? headCacheNode.head : null\n const prefetchHead =\n headCacheNode !== null ? headCacheNode.prefetchHead : null\n\n // If no prefetch data is available, then we go straight to rendering `head`.\n const resolvedPrefetchRsc = prefetchHead !== null ? prefetchHead : head\n\n // We use `useDeferredValue` to handle switching between the prefetched and\n // final values. The second argument is returned on initial render, then it\n // re-renders with the first argument.\n return useDeferredValue(head, resolvedPrefetchRsc)\n}\n\n/**\n * The global router that wraps the application components.\n */\nfunction Router({\n actionQueue,\n globalError,\n webSocket,\n staticIndicatorState,\n}: {\n actionQueue: AppRouterActionQueue\n globalError: GlobalErrorState\n webSocket: WebSocket | undefined\n staticIndicatorState: StaticIndicatorState | undefined\n}) {\n const state = useActionQueue(actionQueue)\n const { canonicalUrl } = state\n // Add memoized pathname/query for useSearchParams and usePathname.\n const { searchParams, pathname } = useMemo(() => {\n const url = new URL(\n canonicalUrl,\n typeof window === 'undefined' ? 'http://n' : window.location.href\n )\n\n return {\n // This is turned into a readonly class in `useSearchParams`\n searchParams: url.searchParams,\n pathname: hasBasePath(url.pathname)\n ? removeBasePath(url.pathname)\n : url.pathname,\n }\n }, [canonicalUrl])\n\n if (process.env.NODE_ENV !== 'production') {\n const { cache, tree } = state\n\n // This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useEffect(() => {\n // Add `window.nd` for debugging purposes.\n // This is not meant for use in applications as concurrent rendering will affect the cache/tree/router.\n // @ts-ignore this is for debugging\n window.nd = {\n router: publicAppRouterInstance,\n cache,\n tree,\n }\n }, [cache, tree])\n }\n\n useEffect(() => {\n const sourcePage = extractSourcePageFromFlightRouterState(state.tree)\n\n if (sourcePage !== undefined) {\n window.next.__internal_src_page = sourcePage\n } else {\n delete window.next.__internal_src_page\n }\n }, [state.tree])\n\n useEffect(() => {\n // If the app is restored from bfcache, it's possible that\n // pushRef.mpaNavigation is true, which would mean that any re-render of this component\n // would trigger the mpa navigation logic again from the lines below.\n // This will restore the router to the initial state in the event that the app is restored from bfcache.\n function handlePageShow(event: PageTransitionEvent) {\n if (\n !event.persisted ||\n !window.history.state?.__PRIVATE_NEXTJS_INTERNALS_TREE\n ) {\n return\n }\n\n // Clear the pendingMpaPath value so that a subsequent MPA navigation to the same URL can be triggered.\n // This is necessary because if the browser restored from bfcache, the pendingMpaPath would still be set to the value\n // of the last MPA navigation.\n globalMutable.pendingMpaPath = undefined\n\n dispatchAppRouterAction({\n type: ACTION_RESTORE,\n url: new URL(window.location.href),\n historyState: window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE,\n })\n }\n\n window.addEventListener('pageshow', handlePageShow)\n\n return () => {\n window.removeEventListener('pageshow', handlePageShow)\n }\n }, [])\n\n useEffect(() => {\n // Ensure that any redirect errors that bubble up outside of the RedirectBoundary\n // are caught and handled by the router.\n function handleUnhandledRedirect(\n event: ErrorEvent | PromiseRejectionEvent\n ) {\n const error = 'reason' in event ? event.reason : event.error\n if (isRedirectError(error)) {\n event.preventDefault()\n const url = getURLFromRedirectError(error)\n const redirectType = getRedirectTypeFromError(error)\n // TODO: This should access the router methods directly, rather than\n // go through the public interface.\n if (redirectType === 'push') {\n publicAppRouterInstance.push(url, {})\n } else {\n publicAppRouterInstance.replace(url, {})\n }\n }\n }\n window.addEventListener('error', handleUnhandledRedirect)\n window.addEventListener('unhandledrejection', handleUnhandledRedirect)\n\n return () => {\n window.removeEventListener('error', handleUnhandledRedirect)\n window.removeEventListener('unhandledrejection', handleUnhandledRedirect)\n }\n }, [])\n\n // When mpaNavigation flag is set do a hard navigation to the new url.\n // Infinitely suspend because we don't actually want to rerender any child\n // components with the new URL and any entangled state updates shouldn't\n // commit either (eg: useTransition isPending should stay true until the page\n // unloads).\n //\n // This is a side effect in render. Don't try this at home, kids. It's\n // probably safe because we know this is a singleton component and it's never\n // in <Offscreen>. At least I hope so. (It will run twice in dev strict mode,\n // but that's... fine?)\n const { pushRef } = state\n if (pushRef.mpaNavigation) {\n // if there's a re-render, we don't want to trigger another redirect if one is already in flight to the same URL\n if (globalMutable.pendingMpaPath !== canonicalUrl) {\n const location = window.location\n if (pushRef.pendingPush) {\n location.assign(canonicalUrl)\n } else {\n location.replace(canonicalUrl)\n }\n\n globalMutable.pendingMpaPath = canonicalUrl\n }\n // TODO-APP: Should we listen to navigateerror here to catch failed\n // navigations somehow? And should we call window.stop() if a SPA navigation\n // should interrupt an MPA one?\n // NOTE: This is intentionally using `throw` instead of `use` because we're\n // inside an externally mutable condition (pushRef.mpaNavigation), which\n // violates the rules of hooks.\n throw unresolvedThenable\n }\n\n useEffect(() => {\n const originalPushState = window.history.pushState.bind(window.history)\n const originalReplaceState = window.history.replaceState.bind(\n window.history\n )\n\n // Ensure the canonical URL in the Next.js Router is updated when the URL is changed so that `usePathname` and `useSearchParams` hold the pushed values.\n const applyUrlFromHistoryPushReplace = (\n url: string | URL | null | undefined\n ) => {\n const href = window.location.href\n const appHistoryState: AppHistoryState | undefined =\n window.history.state?.__PRIVATE_NEXTJS_INTERNALS_TREE\n\n startTransition(() => {\n dispatchAppRouterAction({\n type: ACTION_RESTORE,\n url: new URL(url ?? href, href),\n historyState: appHistoryState,\n })\n })\n }\n\n /**\n * Patch pushState to ensure external changes to the history are reflected in the Next.js Router.\n * Ensures Next.js internal history state is copied to the new history entry.\n * Ensures usePathname and useSearchParams hold the newly provided url.\n */\n window.history.pushState = function pushState(\n data: any,\n _unused: string,\n url?: string | URL | null\n ): void {\n // TODO: Warn when Navigation API is available (navigation.navigate() should be used)\n // Avoid a loop when Next.js internals trigger pushState/replaceState\n if (data?.__NA || data?._N) {\n return originalPushState(data, _unused, url)\n }\n\n data = copyNextJsInternalHistoryState(data)\n\n if (url) {\n applyUrlFromHistoryPushReplace(url)\n }\n\n return originalPushState(data, _unused, url)\n }\n\n /**\n * Patch replaceState to ensure external changes to the history are reflected in the Next.js Router.\n * Ensures Next.js internal history state is copied to the new history entry.\n * Ensures usePathname and useSearchParams hold the newly provided url.\n */\n window.history.replaceState = function replaceState(\n data: any,\n _unused: string,\n url?: string | URL | null\n ): void {\n // TODO: Warn when Navigation API is available (navigation.navigate() should be used)\n // Avoid a loop when Next.js internals trigger pushState/replaceState\n if (data?.__NA || data?._N) {\n return originalReplaceState(data, _unused, url)\n }\n data = copyNextJsInternalHistoryState(data)\n\n if (url) {\n applyUrlFromHistoryPushReplace(url)\n }\n return originalReplaceState(data, _unused, url)\n }\n\n /**\n * Handle popstate event, this is used to handle back/forward in the browser.\n * By default dispatches ACTION_RESTORE, however if the history entry was not pushed/replaced by app-router it will reload the page.\n * That case can happen when the old router injected the history entry.\n */\n const onPopState = (event: PopStateEvent) => {\n if (!event.state) {\n // TODO-APP: this case only happens when pushState/replaceState was called outside of Next.js. It should probably reload the page in this case.\n return\n }\n\n // This case happens when the history entry was pushed by the `pages` router.\n if (!event.state.__NA) {\n window.location.reload()\n return\n }\n\n // TODO-APP: Ideally the back button should not use startTransition as it should apply the updates synchronously\n // Without startTransition works if the cache is there for this path\n startTransition(() => {\n dispatchTraverseAction(\n window.location.href,\n event.state.__PRIVATE_NEXTJS_INTERNALS_TREE\n )\n })\n }\n\n // Register popstate event to call onPopstate.\n window.addEventListener('popstate', onPopState)\n return () => {\n window.history.pushState = originalPushState\n window.history.replaceState = originalReplaceState\n window.removeEventListener('popstate', onPopState)\n }\n }, [])\n\n const { cache, tree, nextUrl, focusAndScrollRef, previousNextUrl } = state\n\n const matchingHead = useMemo(() => {\n return findHeadInCache(cache, tree[1])\n }, [cache, tree])\n\n // Add memoized pathParams for useParams.\n const pathParams = useMemo(() => {\n return getSelectedParams(tree)\n }, [tree])\n\n // Create instrumented promises for navigation hooks (dev-only)\n // These are specially instrumented promises to show in the Suspense DevTools\n // Promises are cached outside of render to survive suspense retries.\n let instrumentedNavigationPromises: NavigationPromises | null = null\n if (process.env.NODE_ENV !== 'production') {\n const { createRootNavigationPromises } =\n require('./navigation-devtools') as typeof import('./navigation-devtools')\n\n instrumentedNavigationPromises = createRootNavigationPromises(\n tree,\n pathname,\n searchParams,\n pathParams\n )\n }\n\n const layoutRouterContext = useMemo(() => {\n return {\n parentTree: tree,\n parentCacheNode: cache,\n parentSegmentPath: null,\n parentParams: {},\n parentLoadingData: null,\n // This is the <Activity> \"name\" that shows up in the Suspense DevTools.\n // It represents the root of the app.\n debugNameContext: '/',\n // Root node always has `url`\n // Provided in AppTreeContext to ensure it can be overwritten in layout-router\n url: canonicalUrl,\n // Root segment is always active\n isActive: true,\n }\n }, [tree, cache, canonicalUrl])\n\n const globalLayoutRouterContext = useMemo(() => {\n return {\n tree,\n focusAndScrollRef,\n nextUrl,\n previousNextUrl,\n }\n }, [tree, focusAndScrollRef, nextUrl, previousNextUrl])\n\n let head\n if (matchingHead !== null) {\n // The head is wrapped in an extra component so we can use\n // `useDeferredValue` to swap between the prefetched and final versions of\n // the head. (This is what LayoutRouter does for segment data, too.)\n //\n // The `key` is used to remount the component whenever the head moves to\n // a different segment.\n const [headCacheNode, headKey, headKeyWithoutSearchParams] = matchingHead\n\n head = (\n <Head\n key={\n // Necessary for PPR: omit search params from the key to match prerendered keys\n typeof window === 'undefined' ? headKeyWithoutSearchParams : headKey\n }\n headCacheNode={headCacheNode}\n />\n )\n } else {\n head = null\n }\n\n let content = (\n <RedirectBoundary>\n {head}\n {/* RootLayoutBoundary enables detection of Suspense boundaries around the root layout.\n When users wrap their layout in <Suspense>, this creates the component stack pattern\n \"Suspense -> RootLayoutBoundary\" which dynamic-rendering.ts uses to allow dynamic rendering. */}\n <RootLayoutBoundary>{cache.rsc}</RootLayoutBoundary>\n <AppRouterAnnouncer tree={tree} />\n </RedirectBoundary>\n )\n\n if (process.env.__NEXT_DEV_SERVER) {\n // In development, we apply few error boundaries and hot-reloader:\n // - DevRootHTTPAccessFallbackBoundary: avoid using navigation API like notFound() in root layout\n // - HotReloader:\n // - hot-reload the app when the code changes\n // - render dev overlay\n // - catch runtime errors and display global-error when necessary\n if (typeof window !== 'undefined') {\n const { DevRootHTTPAccessFallbackBoundary } =\n require('./dev-root-http-access-fallback-boundary') as typeof import('./dev-root-http-access-fallback-boundary')\n content = (\n <DevRootHTTPAccessFallbackBoundary>\n {content}\n </DevRootHTTPAccessFallbackBoundary>\n )\n }\n const HotReloader: typeof import('../dev/hot-reloader/app/hot-reloader-app').default =\n (\n require('../dev/hot-reloader/app/hot-reloader-app') as typeof import('../dev/hot-reloader/app/hot-reloader-app')\n ).default\n\n content = (\n <HotReloader\n globalError={globalError}\n webSocket={webSocket}\n staticIndicatorState={staticIndicatorState}\n >\n {content}\n </HotReloader>\n )\n } else {\n content = (\n <RootErrorBoundary\n errorComponent={globalError[0]}\n errorStyles={globalError[1]}\n >\n {content}\n </RootErrorBoundary>\n )\n }\n\n if (process.env.__NEXT_USE_OFFLINE) {\n const { OfflineProvider } =\n require('./use-offline') as typeof import('./use-offline')\n content = <OfflineProvider>{content}</OfflineProvider>\n }\n\n return (\n <>\n <HistoryUpdater appRouterState={state} />\n {process.env.TURBOPACK ? null : <RuntimeStylesForWebpack />}\n <NavigationPromisesContext.Provider\n value={instrumentedNavigationPromises}\n >\n <PathParamsContext.Provider value={pathParams}>\n <PathnameContext.Provider value={pathname}>\n <SearchParamsContext.Provider value={searchParams}>\n <GlobalLayoutRouterContext.Provider\n value={globalLayoutRouterContext}\n >\n {/* TODO: We should be able to remove this context. useRouter\n should import from app-router-instance instead. It's only\n necessary because useRouter is shared between Pages and\n App Router. We should fork that module, then remove this\n context provider. */}\n <AppRouterContext.Provider value={publicAppRouterInstance}>\n <LayoutRouterContext.Provider value={layoutRouterContext}>\n {content}\n </LayoutRouterContext.Provider>\n </AppRouterContext.Provider>\n </GlobalLayoutRouterContext.Provider>\n </SearchParamsContext.Provider>\n </PathnameContext.Provider>\n </PathParamsContext.Provider>\n </NavigationPromisesContext.Provider>\n </>\n )\n}\n\nexport default function AppRouter({\n actionQueue,\n globalErrorState,\n webSocket,\n staticIndicatorState,\n}: {\n actionQueue: AppRouterActionQueue\n globalErrorState: GlobalErrorState\n webSocket?: WebSocket\n staticIndicatorState?: StaticIndicatorState\n}) {\n useNavFailureHandler()\n\n const router = (\n <Router\n actionQueue={actionQueue}\n globalError={globalErrorState}\n webSocket={webSocket}\n staticIndicatorState={staticIndicatorState}\n />\n )\n\n // At the very top level, use the default GlobalError component as the final fallback.\n // When the app router itself fails, which means the framework itself fails, we show the default error.\n return (\n <RootErrorBoundary errorComponent={DefaultGlobalError}>\n {router}\n </RootErrorBoundary>\n )\n}\n\nlet runtimeStyles: Set<string> | undefined\nlet runtimeStyleChanged: Set<() => void> | undefined\nif (!process.env.TURBOPACK && typeof window !== 'undefined') {\n runtimeStyles = new Set<string>()\n runtimeStyleChanged = new Set<() => void>()\n\n globalThis._N_E_STYLE_LOAD = function (href: string) {\n if (!runtimeStyles || !runtimeStyleChanged) return Promise.resolve()\n let len = runtimeStyles.size\n runtimeStyles.add(href)\n if (runtimeStyles.size !== len) {\n runtimeStyleChanged.forEach((cb) => cb())\n }\n // TODO figure out how to get a promise here\n // But maybe it's not necessary as react would block rendering until it's loaded\n return Promise.resolve()\n }\n}\n\nfunction RuntimeStylesForWebpack() {\n const [, forceUpdate] = React.useState(0)\n const renderedStylesSize = runtimeStyles?.size ?? 0\n useEffect(() => {\n if (!runtimeStyles || !runtimeStyleChanged) return\n const changed = () => forceUpdate((c) => c + 1)\n runtimeStyleChanged.add(changed)\n if (renderedStylesSize !== runtimeStyles.size) {\n changed()\n }\n return () => {\n runtimeStyleChanged.delete(changed)\n }\n }, [renderedStylesSize, forceUpdate])\n\n const query = getAssetTokenQuery()\n return [...(runtimeStyles || [])].map((href, i) => (\n <link\n key={i}\n rel=\"stylesheet\"\n href={`${href}${query}`}\n // @ts-ignore\n precedence=\"next\"\n // TODO figure out crossOrigin and nonce\n // crossOrigin={TODO}\n // nonce={TODO}\n />\n ))\n}\n"],"names":["AppRouter","globalMutable","HistoryUpdater","appRouterState","useInsertionEffect","process","env","__NEXT_APP_NAV_FAIL_HANDLING","window","next","__pendingUrl","undefined","tree","pushRef","canonicalUrl","renderedSearch","appHistoryState","historyState","preserveCustomHistoryState","history","state","__NA","__PRIVATE_NEXTJS_INTERNALS_TREE","pendingPush","createHrefFromUrl","URL","location","href","pushState","replaceState","setLastCommittedTree","useEffect","pingVisibleLinks","nextUrl","copyNextJsInternalHistoryState","data","currentState","Head","headCacheNode","head","prefetchHead","resolvedPrefetchRsc","useDeferredValue","Router","actionQueue","globalError","webSocket","staticIndicatorState","useActionQueue","searchParams","pathname","useMemo","url","hasBasePath","removeBasePath","NODE_ENV","cache","nd","router","publicAppRouterInstance","sourcePage","extractSourcePageFromFlightRouterState","__internal_src_page","handlePageShow","event","persisted","pendingMpaPath","dispatchAppRouterAction","type","ACTION_RESTORE","addEventListener","removeEventListener","handleUnhandledRedirect","error","reason","isRedirectError","preventDefault","getURLFromRedirectError","redirectType","getRedirectTypeFromError","push","replace","mpaNavigation","assign","unresolvedThenable","originalPushState","bind","originalReplaceState","applyUrlFromHistoryPushReplace","startTransition","_unused","_N","onPopState","reload","dispatchTraverseAction","focusAndScrollRef","previousNextUrl","matchingHead","findHeadInCache","pathParams","getSelectedParams","instrumentedNavigationPromises","createRootNavigationPromises","require","layoutRouterContext","parentTree","parentCacheNode","parentSegmentPath","parentParams","parentLoadingData","debugNameContext","isActive","globalLayoutRouterContext","headKey","headKeyWithoutSearchParams","content","RedirectBoundary","RootLayoutBoundary","rsc","AppRouterAnnouncer","__NEXT_DEV_SERVER","DevRootHTTPAccessFallbackBoundary","HotReloader","default","RootErrorBoundary","errorComponent","errorStyles","__NEXT_USE_OFFLINE","OfflineProvider","TURBOPACK","RuntimeStylesForWebpack","NavigationPromisesContext","Provider","value","PathParamsContext","PathnameContext","SearchParamsContext","GlobalLayoutRouterContext","AppRouterContext","LayoutRouterContext","globalErrorState","useNavFailureHandler","DefaultGlobalError","runtimeStyles","runtimeStyleChanged","Set","globalThis","_N_E_STYLE_LOAD","Promise","resolve","len","size","add","forEach","cb","forceUpdate","React","useState","renderedStylesSize","changed","c","delete","query","getAssetTokenQuery","map","i","link","rel","precedence"],"mappings":"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","ignoreList":[0]} |
@@ -113,2 +113,8 @@ 'use client'; | ||
| const res = await createFetch(url, headers, 'auto', shouldImmediatelyDecode); | ||
| // If the fetch succeeds while we're in the offline state, notify the | ||
| // offline module so it can short-circuit the polling loop. | ||
| if (process.env.__NEXT_USE_OFFLINE) { | ||
| const { notifyOnline } = require('../offline'); | ||
| notifyOnline(); | ||
| } | ||
| const responseUrl = (0, _routeparams.urlToUrlWithoutFlightMarker)(new URL(res.url)); | ||
@@ -195,2 +201,22 @@ const canonicalUrl = res.redirected ? responseUrl : originalUrl; | ||
| } catch (err) { | ||
| // If the fetch rejected due to a network error, wait for connectivity | ||
| // to be restored and then retry. checkOfflineError returns true for | ||
| // network errors (and starts the polling loop); returns false for | ||
| // intentional aborts/timeouts, which fall through to the MPA fallback. | ||
| // | ||
| // Note: when the user navigates multiple times while offline, each | ||
| // navigation queues a separate retry here. Once connectivity returns, | ||
| // all pending retries resume simultaneously. This is mitigated in PR 3 | ||
| // by reusing back-forward cache entries during offline navigation, which | ||
| // avoids issuing new fetches in the first place. | ||
| if (process.env.__NEXT_USE_OFFLINE && !isPageUnloading) { | ||
| const { checkOfflineError, getOffline, waitForConnection } = require('../offline'); | ||
| if (checkOfflineError(err)) { | ||
| const offline = getOffline(); | ||
| if (offline !== null) { | ||
| await waitForConnection(offline); | ||
| } | ||
| return fetchServerResponse(url, options); | ||
| } | ||
| } | ||
| if (!isPageUnloading) { | ||
@@ -197,0 +223,0 @@ console.error(`Failed to fetch RSC payload for ${originalUrl}. Falling back to browser navigation.`, err); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../../../../src/client/components/router-reducer/fetch-server-response.ts"],"sourcesContent":["'use client'\n\n// TODO: Explicitly import from client.browser\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport {\n createFromReadableStream as createFromReadableStreamBrowser,\n createFromFetch as createFromFetchBrowser,\n} from 'react-server-dom-webpack/client'\n\nimport { InvariantError } from '../../../shared/lib/invariant-error'\nimport type {\n FlightRouterState,\n InitialRSCPayload,\n NavigationFlightResponse,\n} from '../../../shared/lib/app-router-types'\n\nimport {\n type NEXT_ROUTER_PREFETCH_HEADER,\n type NEXT_ROUTER_SEGMENT_PREFETCH_HEADER,\n type NEXT_INSTANT_PREFETCH_HEADER,\n NEXT_ROUTER_STATE_TREE_HEADER,\n NEXT_RSC_UNION_QUERY,\n NEXT_URL,\n RSC_HEADER,\n RSC_CONTENT_TYPE_HEADER,\n NEXT_HMR_REFRESH_HEADER,\n NEXT_DID_POSTPONE_HEADER,\n NEXT_HTML_REQUEST_ID_HEADER,\n NEXT_REQUEST_ID_HEADER,\n} from '../app-router-headers'\nimport { callServer } from '../../app-call-server'\nimport { findSourceMapURL } from '../../app-find-source-map-url'\nimport {\n normalizeFlightData,\n prepareFlightRouterStateForRequest,\n type NormalizedFlightData,\n} from '../../flight-data-helpers'\nimport { setCacheBustingSearchParam } from './set-cache-busting-search-param'\nimport { urlToUrlWithoutFlightMarker } from '../../route-params'\nimport type { NormalizedSearch } from '../segment-cache/cache-key'\nimport { getDeploymentId } from '../../../shared/lib/deployment-id'\nimport { getNavigationBuildId } from '../../navigation-build-id'\nimport { NEXT_NAV_DEPLOYMENT_ID_HEADER } from '../../../lib/constants'\nimport { stripIsPartialByte } from '../segment-cache/cache'\nimport { UnknownDynamicStaleTime } from '../segment-cache/bfcache'\n\nconst createFromReadableStream =\n createFromReadableStreamBrowser as (typeof import('react-server-dom-webpack/client.browser'))['createFromReadableStream']\nconst createFromFetch =\n createFromFetchBrowser as (typeof import('react-server-dom-webpack/client.browser'))['createFromFetch']\n\nlet createDebugChannel:\n | typeof import('../../dev/debug-channel').createDebugChannel\n | undefined\n\nif (process.env.__NEXT_DEV_SERVER && process.env.__NEXT_REACT_DEBUG_CHANNEL) {\n createDebugChannel = (\n require('../../dev/debug-channel') as typeof import('../../dev/debug-channel')\n ).createDebugChannel\n}\n\nexport interface FetchServerResponseOptions {\n readonly flightRouterState: FlightRouterState\n readonly nextUrl: string | null\n readonly isHmrRefresh?: boolean\n}\n\nexport type StaticStageData<\n T extends\n | NavigationFlightResponse\n | InitialRSCPayload = NavigationFlightResponse,\n> = {\n readonly response: T\n readonly isResponsePartial: boolean\n}\n\ntype SpaFetchServerResponseResult = {\n flightData: NormalizedFlightData[]\n canonicalUrl: URL\n renderedSearch: NormalizedSearch\n couldBeIntercepted: boolean\n supportsPerSegmentPrefetching: boolean\n postponed: boolean\n dynamicStaleTime: number\n staticStageData: StaticStageData | null\n runtimePrefetchStream: ReadableStream<Uint8Array> | null\n responseHeaders: Headers\n debugInfo: Array<any> | null\n}\n\ntype MpaFetchServerResponseResult = string\n\nexport type FetchServerResponseResult =\n | MpaFetchServerResponseResult\n | SpaFetchServerResponseResult\n\nexport type RequestHeaders = {\n [RSC_HEADER]?: '1'\n [NEXT_ROUTER_STATE_TREE_HEADER]?: string\n [NEXT_URL]?: string\n [NEXT_ROUTER_PREFETCH_HEADER]?: '1' | '2'\n [NEXT_ROUTER_SEGMENT_PREFETCH_HEADER]?: string\n 'x-deployment-id'?: string\n [NEXT_HMR_REFRESH_HEADER]?: '1'\n // A header that is only added in test mode to assert on fetch priority\n 'Next-Test-Fetch-Priority'?: RequestInit['priority']\n [NEXT_HTML_REQUEST_ID_HEADER]?: string // dev-only\n [NEXT_REQUEST_ID_HEADER]?: string // dev-only\n [NEXT_INSTANT_PREFETCH_HEADER]?: '1' // testing API only\n}\n\nfunction doMpaNavigation(url: string): FetchServerResponseResult {\n return urlToUrlWithoutFlightMarker(new URL(url, location.origin)).toString()\n}\n\nlet isPageUnloading = false\n\nif (typeof window !== 'undefined') {\n // Track when the page is unloading, e.g. due to reloading the page or\n // performing hard navigations. This allows us to suppress error logging when\n // the browser cancels in-flight requests during page unload.\n window.addEventListener('pagehide', () => {\n isPageUnloading = true\n })\n\n // Reset the flag on pageshow, e.g. when navigating back and the JavaScript\n // execution context is restored by the browser.\n window.addEventListener('pageshow', () => {\n isPageUnloading = false\n })\n}\n\n/**\n * Fetch the flight data for the provided url. Takes in the current router state\n * to decide what to render server-side.\n */\nexport async function fetchServerResponse(\n url: URL,\n options: FetchServerResponseOptions\n): Promise<FetchServerResponseResult> {\n const { flightRouterState, nextUrl } = options\n\n const headers: RequestHeaders = {\n // Enable flight response\n [RSC_HEADER]: '1',\n // Provide the current router state\n [NEXT_ROUTER_STATE_TREE_HEADER]: prepareFlightRouterStateForRequest(\n flightRouterState,\n options.isHmrRefresh\n ),\n }\n\n if (process.env.NODE_ENV === 'development' && options.isHmrRefresh) {\n headers[NEXT_HMR_REFRESH_HEADER] = '1'\n }\n\n if (nextUrl) {\n headers[NEXT_URL] = nextUrl\n }\n\n // In static export mode, we need to modify the URL to request the .txt file,\n // but we should preserve the original URL for the canonical URL and error handling.\n const originalUrl = url\n\n try {\n if (process.env.NODE_ENV === 'production') {\n if (process.env.__NEXT_CONFIG_OUTPUT === 'export') {\n // In \"output: export\" mode, we can't rely on headers to distinguish\n // between HTML and RSC requests. Instead, we append an extra prefix\n // to the request.\n url = new URL(url)\n if (url.pathname.endsWith('/')) {\n url.pathname += 'index.txt'\n } else {\n url.pathname += '.txt'\n }\n }\n }\n\n // Typically, during a navigation, we decode the response using Flight's\n // `createFromFetch` API, which accepts a `fetch` promise.\n // TODO: Remove this check once the old PPR flag is removed\n const isLegacyPPR =\n process.env.__NEXT_PPR && !process.env.__NEXT_CACHE_COMPONENTS\n const shouldImmediatelyDecode = !isLegacyPPR\n const res = await createFetch<NavigationFlightResponse>(\n url,\n headers,\n 'auto',\n shouldImmediatelyDecode\n )\n\n const responseUrl = urlToUrlWithoutFlightMarker(new URL(res.url))\n const canonicalUrl = res.redirected ? responseUrl : originalUrl\n\n const contentType = res.headers.get('content-type') || ''\n const interception = !!res.headers.get('vary')?.includes(NEXT_URL)\n const postponed = !!res.headers.get(NEXT_DID_POSTPONE_HEADER)\n let isFlightResponse = contentType.startsWith(RSC_CONTENT_TYPE_HEADER)\n\n if (process.env.NODE_ENV === 'production') {\n if (process.env.__NEXT_CONFIG_OUTPUT === 'export') {\n if (!isFlightResponse) {\n isFlightResponse = contentType.startsWith('text/plain')\n }\n }\n }\n\n // If fetch returns something different than flight response handle it like a mpa navigation\n // If the fetch was not 200, we also handle it like a mpa navigation\n if (!isFlightResponse || !res.ok || !res.body) {\n // in case the original URL came with a hash, preserve it before redirecting to the new URL\n if (url.hash) {\n responseUrl.hash = url.hash\n }\n\n return doMpaNavigation(responseUrl.toString())\n }\n\n // We may navigate to a page that requires a different Webpack runtime.\n // In prod, every page will have the same Webpack runtime.\n // In dev, the Webpack runtime is minimal for each page.\n // We need to ensure the Webpack runtime is updated before executing client-side JS of the new page.\n // TODO: This needs to happen in the Flight Client.\n // Or Webpack needs to include the runtime update in the Flight response as\n // a blocking script.\n if (process.env.NODE_ENV !== 'production' && !process.env.TURBOPACK) {\n await (\n require('../../dev/hot-reloader/app/hot-reloader-app') as typeof import('../../dev/hot-reloader/app/hot-reloader-app')\n ).waitForWebpackRuntimeHotUpdate()\n }\n\n let flightResponsePromise = res.flightResponsePromise\n if (flightResponsePromise === null) {\n // Typically, `createFetch` would have already started decoding the\n // Flight response. If it hasn't, though, we need to decode it now.\n // TODO: This should only be reachable if legacy PPR is enabled (i.e. PPR\n // without Cache Components). Remove this branch once legacy PPR\n // is deleted.\n flightResponsePromise =\n createFromNextReadableStream<NavigationFlightResponse>(\n res.body,\n headers,\n { allowPartialStream: postponed }\n )\n }\n\n const [flightResponse, cacheData] = await Promise.all([\n flightResponsePromise,\n res.cacheData,\n ])\n\n if (\n (res.headers.get(NEXT_NAV_DEPLOYMENT_ID_HEADER) ?? flightResponse.b) !==\n getNavigationBuildId()\n ) {\n // The server build does not match the client build.\n return doMpaNavigation(res.url)\n }\n\n const normalizedFlightData = normalizeFlightData(flightResponse.f)\n if (typeof normalizedFlightData === 'string') {\n return doMpaNavigation(normalizedFlightData)\n }\n\n const staticStageData =\n cacheData !== null\n ? await resolveStaticStageData(cacheData, flightResponse, headers)\n : null\n\n return {\n flightData: normalizedFlightData,\n canonicalUrl: canonicalUrl,\n // TODO: We should be able to read this from the rewrite header, not the\n // Flight response. Theoretically they should always agree, but there are\n // currently some cases where it's incorrect for interception routes. We\n // can always trust the value in the response body. However, per-segment\n // prefetch responses don't embed the value in the body; they rely on the\n // header alone. So we need to investigate why the header is sometimes\n // wrong for interception routes.\n renderedSearch: flightResponse.q as NormalizedSearch,\n couldBeIntercepted: interception,\n supportsPerSegmentPrefetching: flightResponse.S,\n postponed,\n // The dynamicStaleTime is only present in the response body when\n // a page exports unstable_dynamicStaleTime and this is a dynamic render.\n // When absent (UnknownDynamicStaleTime), the client falls back to the\n // global DYNAMIC_STALETIME_MS. The value is in seconds.\n dynamicStaleTime: flightResponse.d ?? UnknownDynamicStaleTime,\n staticStageData,\n runtimePrefetchStream: flightResponse.p ?? null,\n responseHeaders: res.headers,\n debugInfo: flightResponsePromise._debugInfo ?? null,\n }\n } catch (err) {\n if (!isPageUnloading) {\n console.error(\n `Failed to fetch RSC payload for ${originalUrl}. Falling back to browser navigation.`,\n err\n )\n }\n\n // If fetch fails handle it like a mpa navigation\n // TODO-APP: Add a test for the case where a CORS request fails, e.g. external url redirect coming from the response.\n // See https://github.com/vercel/next.js/issues/43605#issuecomment-1451617521 for a reproduction.\n return originalUrl.toString()\n }\n}\n\n// This is a subset of the standard Response type. We use a custom type for\n// this so we can limit which details about the response leak into the rest of\n// the codebase. For example, there's some custom logic for manually following\n// redirects, so \"redirected\" in this type could be a composite of multiple\n// browser fetch calls; however, this fact should not leak to the caller.\nexport type RSCResponse<T> = {\n ok: boolean\n redirected: boolean\n headers: Headers\n body: ReadableStream<Uint8Array> | null\n status: number\n url: string\n flightResponsePromise: (Promise<T> & { _debugInfo?: Array<any> }) | null\n cacheData: Promise<FetchResponseCacheData | null>\n}\n\ntype FetchResponseCacheData = {\n isResponsePartial: boolean\n responseBodyClone?: ReadableStream<Uint8Array>\n}\n\n/**\n * Strips the leading isPartial byte from an RSC navigation response and\n * clones the body for segment cache extraction.\n *\n * When cache components is enabled, the server prepends a single byte:\n * '~' (0x7e) for partial, '#' (0x23) for complete. This must be stripped\n * before Flight decoding because it's not valid RSC data. The body is\n * cloned before Flight can consume it so the clone is available for later use.\n *\n * When cache components is disabled, returns the original response with\n * cacheData: null.\n */\nexport async function processFetch(response: Response): Promise<{\n response: Response\n cacheData: FetchResponseCacheData | null\n}> {\n if (process.env.__NEXT_CACHE_COMPONENTS) {\n if (!response.body) {\n throw new InvariantError(\n 'Expected RSC navigation response to have a body'\n )\n }\n\n const { stream, isPartial } = await stripIsPartialByte(response.body)\n\n let responseStream: ReadableStream<Uint8Array>\n let cacheData: FetchResponseCacheData\n\n if (process.env.__NEXT_EXPERIMENTAL_CACHED_NAVIGATIONS) {\n const [stream1, stream2] = stream.tee()\n responseStream = stream1\n cacheData = { isResponsePartial: isPartial, responseBodyClone: stream2 }\n } else {\n responseStream = stream\n cacheData = { isResponsePartial: isPartial }\n }\n\n const strippedResponse = new Response(responseStream, {\n headers: response.headers,\n status: response.status,\n statusText: response.statusText,\n })\n\n // The Response constructor doesn't preserve `url` or `redirected` from\n // the original. We need both: `url` for React DevTools and `redirected`\n // for the redirect replay logic below.\n Object.defineProperty(strippedResponse, 'url', { value: response.url })\n Object.defineProperty(strippedResponse, 'redirected', {\n value: response.redirected,\n })\n\n return { response: strippedResponse, cacheData }\n }\n\n return { response, cacheData: null }\n}\n\n/**\n * Resolves the static stage response from the raw `processFetch` outputs and\n * the decoded flight response, for writing into the segment cache.\n *\n * - Fully static: use the decoded flight response as-is, no truncation needed.\n * - Not fully static + `l` field: truncate the body clone at the static stage\n * byte boundary and decode.\n * - Otherwise: no cache-worthy data.\n */\nexport async function resolveStaticStageData<\n T extends NavigationFlightResponse | InitialRSCPayload,\n>(\n cacheData: FetchResponseCacheData,\n flightResponse: T,\n headers: RequestHeaders | undefined\n): Promise<StaticStageData<T> | null> {\n const { isResponsePartial, responseBodyClone } = cacheData\n\n if (responseBodyClone) {\n if (!isResponsePartial) {\n // Fully static — cache the entire decoded response as-is.\n responseBodyClone.cancel()\n\n return { response: flightResponse, isResponsePartial: false }\n }\n\n if (flightResponse.l !== undefined) {\n // Partially static — truncate the body clone at the byte boundary and\n // decode it.\n const response = await decodeStaticStage<T>(\n responseBodyClone,\n flightResponse.l,\n headers\n )\n\n return { response, isResponsePartial: true }\n }\n\n // No caching — cancel the unused clone.\n responseBodyClone.cancel()\n }\n\n return null\n}\n\n/**\n * Truncates a Flight stream clone at the given byte boundary and decodes the\n * static stage prefix. Used by both the navigation path and the initial HTML\n * hydration path.\n */\nexport async function decodeStaticStage<T>(\n responseBodyClone: ReadableStream<Uint8Array>,\n staticStageByteLengthPromise: Promise<number>,\n headers: RequestHeaders | undefined\n): Promise<T> {\n const staticStageByteLength = await staticStageByteLengthPromise\n\n const truncatedStream = truncateStream(\n responseBodyClone,\n staticStageByteLength\n )\n\n return createFromNextReadableStream<T>(truncatedStream, headers, {\n allowPartialStream: true,\n })\n}\n\nexport async function createFetch<T>(\n url: URL,\n headers: RequestHeaders,\n fetchPriority: 'auto' | 'high' | 'low' | null,\n shouldImmediatelyDecode: boolean,\n signal?: AbortSignal\n): Promise<RSCResponse<T>> {\n // TODO: In output: \"export\" mode, the headers do nothing. Omit them (and the\n // cache busting search param) from the request so they're\n // maximally cacheable.\n\n if (process.env.__NEXT_TEST_MODE && fetchPriority !== null) {\n headers['Next-Test-Fetch-Priority'] = fetchPriority\n }\n\n const deploymentId = getDeploymentId()\n if (deploymentId) {\n headers['x-deployment-id'] = deploymentId\n }\n\n if (process.env.__NEXT_DEV_SERVER) {\n if (self.__next_r) {\n headers[NEXT_HTML_REQUEST_ID_HEADER] = self.__next_r\n }\n\n // Create a new request ID for the server action request. The server uses\n // this to tag debug information sent via WebSocket to the client, which\n // then routes those chunks to the debug channel associated with this ID.\n headers[NEXT_REQUEST_ID_HEADER] = crypto\n .getRandomValues(new Uint32Array(1))[0]\n .toString(16)\n }\n\n const fetchOptions: RequestInit = {\n // Backwards compat for older browsers. `same-origin` is the default in modern browsers.\n credentials: 'same-origin',\n headers,\n priority: fetchPriority || undefined,\n signal,\n }\n // `fetchUrl` is slightly different from `url` because we add a cache-busting\n // search param to it. This should not leak outside of this function, so we\n // track them separately.\n let fetchUrl = new URL(url)\n setCacheBustingSearchParam(fetchUrl, headers)\n let processed = fetch(fetchUrl, fetchOptions).then(processFetch)\n let fetchPromise = processed.then(({ response }) => response)\n\n // Immediately pass the fetch promise to the Flight client so that the debug\n // info includes the latency from the client to the server. The internal timer\n // in React starts as soon as `createFromFetch` is called.\n //\n // The only case where we don't do this is during a prefetch, because a\n // top-level prefetch response never blocks a navigation; if it hasn't already\n // been written into the cache by the time the navigation happens, the router\n // will go straight to a dynamic request.\n let flightResponsePromise = shouldImmediatelyDecode\n ? createFromNextFetch<T>(fetchPromise, headers)\n : null\n let browserResponse = await fetchPromise\n\n // If the server responds with a redirect (e.g. 307), and the redirected\n // location does not contain the cache busting search param set in the\n // original request, the response is likely invalid — when following the\n // redirect, the browser forwards the request headers, but since the cache\n // busting search param is missing, the server will reject the request due to\n // a mismatch.\n //\n // Ideally, we would be able to intercept the redirect response and perform it\n // manually, instead of letting the browser automatically follow it, but this\n // is not allowed by the fetch API.\n //\n // So instead, we must \"replay\" the redirect by fetching the new location\n // again, but this time we'll append the cache busting search param to prevent\n // a mismatch.\n //\n // TODO: We can optimize Next.js's built-in middleware APIs by returning a\n // custom status code, to prevent the browser from automatically following it.\n //\n // This does not affect Server Action-based redirects; those are encoded\n // differently, as part of the Flight body. It only affects redirects that\n // occur in a middleware or a third-party proxy.\n\n let redirected = browserResponse.redirected\n if (process.env.__NEXT_CLIENT_VALIDATE_RSC_REQUEST_HEADERS) {\n // This is to prevent a redirect loop. Same limit used by Chrome.\n const MAX_REDIRECTS = 20\n for (let n = 0; n < MAX_REDIRECTS; n++) {\n if (!browserResponse.redirected) {\n // The server did not perform a redirect.\n break\n }\n const responseUrl = new URL(browserResponse.url, fetchUrl)\n if (responseUrl.origin !== fetchUrl.origin) {\n // The server redirected to an external URL. The rest of the logic below\n // is not relevant, because it only applies to internal redirects.\n break\n }\n if (\n responseUrl.searchParams.get(NEXT_RSC_UNION_QUERY) ===\n fetchUrl.searchParams.get(NEXT_RSC_UNION_QUERY)\n ) {\n // The redirected URL already includes the cache busting search param.\n // This was probably intentional. Regardless, there's no reason to\n // issue another request to this URL because it already has the param\n // value that we would have added below.\n break\n }\n // The RSC request was redirected. Assume the response is invalid.\n //\n // Append the cache busting search param to the redirected URL and\n // fetch again.\n // TODO: We should abort the previous request.\n fetchUrl = new URL(responseUrl)\n setCacheBustingSearchParam(fetchUrl, headers)\n processed = fetch(fetchUrl, fetchOptions).then(processFetch)\n fetchPromise = processed.then(({ response }) => response)\n flightResponsePromise = shouldImmediatelyDecode\n ? createFromNextFetch<T>(fetchPromise, headers)\n : null\n browserResponse = await fetchPromise\n // We just performed a manual redirect, so this is now true.\n redirected = true\n }\n }\n\n // Remove the cache busting search param from the response URL, to prevent it\n // from leaking outside of this function.\n const responseUrl = new URL(browserResponse.url, fetchUrl)\n responseUrl.searchParams.delete(NEXT_RSC_UNION_QUERY)\n\n const rscResponse: RSCResponse<T> = {\n url: responseUrl.href,\n\n // This is true if any redirects occurred, either automatically by the\n // browser, or manually by us. So it's different from\n // `browserResponse.redirected`, which only tells us whether the browser\n // followed a redirect, and only for the last response in the chain.\n redirected,\n\n // These can be copied from the last browser response we received. We\n // intentionally only expose the subset of fields that are actually used\n // elsewhere in the codebase.\n ok: browserResponse.ok,\n headers: browserResponse.headers,\n body: browserResponse.body,\n status: browserResponse.status,\n\n // This is the exact promise returned by `createFromFetch`. It contains\n // debug information that we need to transfer to any derived promises that\n // are later rendered by React.\n flightResponsePromise: flightResponsePromise,\n\n cacheData: processed.then(({ cacheData }) => cacheData),\n }\n\n return rscResponse\n}\n\nexport function createFromNextReadableStream<T>(\n flightStream: ReadableStream<Uint8Array>,\n requestHeaders: RequestHeaders | undefined,\n options?: { allowPartialStream?: boolean }\n): Promise<T> {\n return createFromReadableStream(flightStream, {\n callServer,\n findSourceMapURL,\n debugChannel: createDebugChannel && createDebugChannel(requestHeaders),\n unstable_allowPartialStream: options?.allowPartialStream,\n })\n}\n\nfunction createFromNextFetch<T>(\n promiseForResponse: Promise<Response>,\n requestHeaders: RequestHeaders\n): Promise<T> & { _debugInfo?: Array<any> } {\n return createFromFetch(promiseForResponse, {\n callServer,\n findSourceMapURL,\n debugChannel: createDebugChannel && createDebugChannel(requestHeaders),\n })\n}\n\nfunction truncateStream(\n stream: ReadableStream<Uint8Array>,\n byteLength: number\n): ReadableStream<Uint8Array> {\n const reader = stream.getReader()\n let remaining = byteLength\n\n return new ReadableStream({\n async pull(controller) {\n if (remaining <= 0) {\n reader.cancel()\n controller.close()\n return\n }\n\n const { done, value } = await reader.read()\n\n if (done) {\n controller.close()\n return\n }\n\n if (value.byteLength <= remaining) {\n controller.enqueue(value)\n remaining -= value.byteLength\n } else {\n controller.enqueue(value.subarray(0, remaining))\n remaining = 0\n reader.cancel()\n controller.close()\n }\n },\n cancel() {\n reader.cancel()\n },\n })\n}\n"],"names":["createFetch","createFromNextReadableStream","decodeStaticStage","fetchServerResponse","processFetch","resolveStaticStageData","createFromReadableStream","createFromReadableStreamBrowser","createFromFetch","createFromFetchBrowser","createDebugChannel","process","env","__NEXT_DEV_SERVER","__NEXT_REACT_DEBUG_CHANNEL","require","doMpaNavigation","url","urlToUrlWithoutFlightMarker","URL","location","origin","toString","isPageUnloading","window","addEventListener","options","flightRouterState","nextUrl","headers","RSC_HEADER","NEXT_ROUTER_STATE_TREE_HEADER","prepareFlightRouterStateForRequest","isHmrRefresh","NODE_ENV","NEXT_HMR_REFRESH_HEADER","NEXT_URL","originalUrl","__NEXT_CONFIG_OUTPUT","pathname","endsWith","isLegacyPPR","__NEXT_PPR","__NEXT_CACHE_COMPONENTS","shouldImmediatelyDecode","res","responseUrl","canonicalUrl","redirected","contentType","get","interception","includes","postponed","NEXT_DID_POSTPONE_HEADER","isFlightResponse","startsWith","RSC_CONTENT_TYPE_HEADER","ok","body","hash","TURBOPACK","waitForWebpackRuntimeHotUpdate","flightResponsePromise","allowPartialStream","flightResponse","cacheData","Promise","all","NEXT_NAV_DEPLOYMENT_ID_HEADER","b","getNavigationBuildId","normalizedFlightData","normalizeFlightData","f","staticStageData","flightData","renderedSearch","q","couldBeIntercepted","supportsPerSegmentPrefetching","S","dynamicStaleTime","d","UnknownDynamicStaleTime","runtimePrefetchStream","p","responseHeaders","debugInfo","_debugInfo","err","console","error","response","InvariantError","stream","isPartial","stripIsPartialByte","responseStream","__NEXT_EXPERIMENTAL_CACHED_NAVIGATIONS","stream1","stream2","tee","isResponsePartial","responseBodyClone","strippedResponse","Response","status","statusText","Object","defineProperty","value","cancel","l","undefined","staticStageByteLengthPromise","staticStageByteLength","truncatedStream","truncateStream","fetchPriority","signal","__NEXT_TEST_MODE","deploymentId","getDeploymentId","self","__next_r","NEXT_HTML_REQUEST_ID_HEADER","NEXT_REQUEST_ID_HEADER","crypto","getRandomValues","Uint32Array","fetchOptions","credentials","priority","fetchUrl","setCacheBustingSearchParam","processed","fetch","then","fetchPromise","createFromNextFetch","browserResponse","__NEXT_CLIENT_VALIDATE_RSC_REQUEST_HEADERS","MAX_REDIRECTS","n","searchParams","NEXT_RSC_UNION_QUERY","delete","rscResponse","href","flightStream","requestHeaders","callServer","findSourceMapURL","debugChannel","unstable_allowPartialStream","promiseForResponse","byteLength","reader","getReader","remaining","ReadableStream","pull","controller","close","done","read","enqueue","subarray"],"mappings":"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","ignoreList":[0]} | ||
| {"version":3,"sources":["../../../../src/client/components/router-reducer/fetch-server-response.ts"],"sourcesContent":["'use client'\n\n// TODO: Explicitly import from client.browser\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport {\n createFromReadableStream as createFromReadableStreamBrowser,\n createFromFetch as createFromFetchBrowser,\n} from 'react-server-dom-webpack/client'\n\nimport { InvariantError } from '../../../shared/lib/invariant-error'\nimport type {\n FlightRouterState,\n InitialRSCPayload,\n NavigationFlightResponse,\n} from '../../../shared/lib/app-router-types'\n\nimport {\n type NEXT_ROUTER_PREFETCH_HEADER,\n type NEXT_ROUTER_SEGMENT_PREFETCH_HEADER,\n type NEXT_INSTANT_PREFETCH_HEADER,\n NEXT_ROUTER_STATE_TREE_HEADER,\n NEXT_RSC_UNION_QUERY,\n NEXT_URL,\n RSC_HEADER,\n RSC_CONTENT_TYPE_HEADER,\n NEXT_HMR_REFRESH_HEADER,\n NEXT_DID_POSTPONE_HEADER,\n NEXT_HTML_REQUEST_ID_HEADER,\n NEXT_REQUEST_ID_HEADER,\n} from '../app-router-headers'\nimport { callServer } from '../../app-call-server'\nimport { findSourceMapURL } from '../../app-find-source-map-url'\nimport {\n normalizeFlightData,\n prepareFlightRouterStateForRequest,\n type NormalizedFlightData,\n} from '../../flight-data-helpers'\nimport { setCacheBustingSearchParam } from './set-cache-busting-search-param'\nimport { urlToUrlWithoutFlightMarker } from '../../route-params'\nimport type { NormalizedSearch } from '../segment-cache/cache-key'\nimport { getDeploymentId } from '../../../shared/lib/deployment-id'\nimport { getNavigationBuildId } from '../../navigation-build-id'\nimport { NEXT_NAV_DEPLOYMENT_ID_HEADER } from '../../../lib/constants'\nimport { stripIsPartialByte } from '../segment-cache/cache'\nimport { UnknownDynamicStaleTime } from '../segment-cache/bfcache'\n\nconst createFromReadableStream =\n createFromReadableStreamBrowser as (typeof import('react-server-dom-webpack/client.browser'))['createFromReadableStream']\nconst createFromFetch =\n createFromFetchBrowser as (typeof import('react-server-dom-webpack/client.browser'))['createFromFetch']\n\nlet createDebugChannel:\n | typeof import('../../dev/debug-channel').createDebugChannel\n | undefined\n\nif (process.env.__NEXT_DEV_SERVER && process.env.__NEXT_REACT_DEBUG_CHANNEL) {\n createDebugChannel = (\n require('../../dev/debug-channel') as typeof import('../../dev/debug-channel')\n ).createDebugChannel\n}\n\nexport interface FetchServerResponseOptions {\n readonly flightRouterState: FlightRouterState\n readonly nextUrl: string | null\n readonly isHmrRefresh?: boolean\n}\n\nexport type StaticStageData<\n T extends\n | NavigationFlightResponse\n | InitialRSCPayload = NavigationFlightResponse,\n> = {\n readonly response: T\n readonly isResponsePartial: boolean\n}\n\ntype SpaFetchServerResponseResult = {\n flightData: NormalizedFlightData[]\n canonicalUrl: URL\n renderedSearch: NormalizedSearch\n couldBeIntercepted: boolean\n supportsPerSegmentPrefetching: boolean\n postponed: boolean\n dynamicStaleTime: number\n staticStageData: StaticStageData | null\n runtimePrefetchStream: ReadableStream<Uint8Array> | null\n responseHeaders: Headers\n debugInfo: Array<any> | null\n}\n\ntype MpaFetchServerResponseResult = string\n\nexport type FetchServerResponseResult =\n | MpaFetchServerResponseResult\n | SpaFetchServerResponseResult\n\nexport type RequestHeaders = {\n [RSC_HEADER]?: '1'\n [NEXT_ROUTER_STATE_TREE_HEADER]?: string\n [NEXT_URL]?: string\n [NEXT_ROUTER_PREFETCH_HEADER]?: '1' | '2'\n [NEXT_ROUTER_SEGMENT_PREFETCH_HEADER]?: string\n 'x-deployment-id'?: string\n [NEXT_HMR_REFRESH_HEADER]?: '1'\n // A header that is only added in test mode to assert on fetch priority\n 'Next-Test-Fetch-Priority'?: RequestInit['priority']\n [NEXT_HTML_REQUEST_ID_HEADER]?: string // dev-only\n [NEXT_REQUEST_ID_HEADER]?: string // dev-only\n [NEXT_INSTANT_PREFETCH_HEADER]?: '1' // testing API only\n}\n\nfunction doMpaNavigation(url: string): FetchServerResponseResult {\n return urlToUrlWithoutFlightMarker(new URL(url, location.origin)).toString()\n}\n\nlet isPageUnloading = false\n\nif (typeof window !== 'undefined') {\n // Track when the page is unloading, e.g. due to reloading the page or\n // performing hard navigations. This allows us to suppress error logging when\n // the browser cancels in-flight requests during page unload.\n window.addEventListener('pagehide', () => {\n isPageUnloading = true\n })\n\n // Reset the flag on pageshow, e.g. when navigating back and the JavaScript\n // execution context is restored by the browser.\n window.addEventListener('pageshow', () => {\n isPageUnloading = false\n })\n}\n\n/**\n * Fetch the flight data for the provided url. Takes in the current router state\n * to decide what to render server-side.\n */\nexport async function fetchServerResponse(\n url: URL,\n options: FetchServerResponseOptions\n): Promise<FetchServerResponseResult> {\n const { flightRouterState, nextUrl } = options\n\n const headers: RequestHeaders = {\n // Enable flight response\n [RSC_HEADER]: '1',\n // Provide the current router state\n [NEXT_ROUTER_STATE_TREE_HEADER]: prepareFlightRouterStateForRequest(\n flightRouterState,\n options.isHmrRefresh\n ),\n }\n\n if (process.env.NODE_ENV === 'development' && options.isHmrRefresh) {\n headers[NEXT_HMR_REFRESH_HEADER] = '1'\n }\n\n if (nextUrl) {\n headers[NEXT_URL] = nextUrl\n }\n\n // In static export mode, we need to modify the URL to request the .txt file,\n // but we should preserve the original URL for the canonical URL and error handling.\n const originalUrl = url\n\n try {\n if (process.env.NODE_ENV === 'production') {\n if (process.env.__NEXT_CONFIG_OUTPUT === 'export') {\n // In \"output: export\" mode, we can't rely on headers to distinguish\n // between HTML and RSC requests. Instead, we append an extra prefix\n // to the request.\n url = new URL(url)\n if (url.pathname.endsWith('/')) {\n url.pathname += 'index.txt'\n } else {\n url.pathname += '.txt'\n }\n }\n }\n\n // Typically, during a navigation, we decode the response using Flight's\n // `createFromFetch` API, which accepts a `fetch` promise.\n // TODO: Remove this check once the old PPR flag is removed\n const isLegacyPPR =\n process.env.__NEXT_PPR && !process.env.__NEXT_CACHE_COMPONENTS\n const shouldImmediatelyDecode = !isLegacyPPR\n const res = await createFetch<NavigationFlightResponse>(\n url,\n headers,\n 'auto',\n shouldImmediatelyDecode\n )\n\n // If the fetch succeeds while we're in the offline state, notify the\n // offline module so it can short-circuit the polling loop.\n if (process.env.__NEXT_USE_OFFLINE) {\n const { notifyOnline } =\n require('../offline') as typeof import('../offline')\n notifyOnline()\n }\n\n const responseUrl = urlToUrlWithoutFlightMarker(new URL(res.url))\n const canonicalUrl = res.redirected ? responseUrl : originalUrl\n\n const contentType = res.headers.get('content-type') || ''\n const interception = !!res.headers.get('vary')?.includes(NEXT_URL)\n const postponed = !!res.headers.get(NEXT_DID_POSTPONE_HEADER)\n let isFlightResponse = contentType.startsWith(RSC_CONTENT_TYPE_HEADER)\n\n if (process.env.NODE_ENV === 'production') {\n if (process.env.__NEXT_CONFIG_OUTPUT === 'export') {\n if (!isFlightResponse) {\n isFlightResponse = contentType.startsWith('text/plain')\n }\n }\n }\n\n // If fetch returns something different than flight response handle it like a mpa navigation\n // If the fetch was not 200, we also handle it like a mpa navigation\n if (!isFlightResponse || !res.ok || !res.body) {\n // in case the original URL came with a hash, preserve it before redirecting to the new URL\n if (url.hash) {\n responseUrl.hash = url.hash\n }\n\n return doMpaNavigation(responseUrl.toString())\n }\n\n // We may navigate to a page that requires a different Webpack runtime.\n // In prod, every page will have the same Webpack runtime.\n // In dev, the Webpack runtime is minimal for each page.\n // We need to ensure the Webpack runtime is updated before executing client-side JS of the new page.\n // TODO: This needs to happen in the Flight Client.\n // Or Webpack needs to include the runtime update in the Flight response as\n // a blocking script.\n if (process.env.NODE_ENV !== 'production' && !process.env.TURBOPACK) {\n await (\n require('../../dev/hot-reloader/app/hot-reloader-app') as typeof import('../../dev/hot-reloader/app/hot-reloader-app')\n ).waitForWebpackRuntimeHotUpdate()\n }\n\n let flightResponsePromise = res.flightResponsePromise\n if (flightResponsePromise === null) {\n // Typically, `createFetch` would have already started decoding the\n // Flight response. If it hasn't, though, we need to decode it now.\n // TODO: This should only be reachable if legacy PPR is enabled (i.e. PPR\n // without Cache Components). Remove this branch once legacy PPR\n // is deleted.\n flightResponsePromise =\n createFromNextReadableStream<NavigationFlightResponse>(\n res.body,\n headers,\n { allowPartialStream: postponed }\n )\n }\n\n const [flightResponse, cacheData] = await Promise.all([\n flightResponsePromise,\n res.cacheData,\n ])\n\n if (\n (res.headers.get(NEXT_NAV_DEPLOYMENT_ID_HEADER) ?? flightResponse.b) !==\n getNavigationBuildId()\n ) {\n // The server build does not match the client build.\n return doMpaNavigation(res.url)\n }\n\n const normalizedFlightData = normalizeFlightData(flightResponse.f)\n if (typeof normalizedFlightData === 'string') {\n return doMpaNavigation(normalizedFlightData)\n }\n\n const staticStageData =\n cacheData !== null\n ? await resolveStaticStageData(cacheData, flightResponse, headers)\n : null\n\n return {\n flightData: normalizedFlightData,\n canonicalUrl: canonicalUrl,\n // TODO: We should be able to read this from the rewrite header, not the\n // Flight response. Theoretically they should always agree, but there are\n // currently some cases where it's incorrect for interception routes. We\n // can always trust the value in the response body. However, per-segment\n // prefetch responses don't embed the value in the body; they rely on the\n // header alone. So we need to investigate why the header is sometimes\n // wrong for interception routes.\n renderedSearch: flightResponse.q as NormalizedSearch,\n couldBeIntercepted: interception,\n supportsPerSegmentPrefetching: flightResponse.S,\n postponed,\n // The dynamicStaleTime is only present in the response body when\n // a page exports unstable_dynamicStaleTime and this is a dynamic render.\n // When absent (UnknownDynamicStaleTime), the client falls back to the\n // global DYNAMIC_STALETIME_MS. The value is in seconds.\n dynamicStaleTime: flightResponse.d ?? UnknownDynamicStaleTime,\n staticStageData,\n runtimePrefetchStream: flightResponse.p ?? null,\n responseHeaders: res.headers,\n debugInfo: flightResponsePromise._debugInfo ?? null,\n }\n } catch (err) {\n // If the fetch rejected due to a network error, wait for connectivity\n // to be restored and then retry. checkOfflineError returns true for\n // network errors (and starts the polling loop); returns false for\n // intentional aborts/timeouts, which fall through to the MPA fallback.\n //\n // Note: when the user navigates multiple times while offline, each\n // navigation queues a separate retry here. Once connectivity returns,\n // all pending retries resume simultaneously. This is mitigated in PR 3\n // by reusing back-forward cache entries during offline navigation, which\n // avoids issuing new fetches in the first place.\n if (process.env.__NEXT_USE_OFFLINE && !isPageUnloading) {\n const { checkOfflineError, getOffline, waitForConnection } =\n require('../offline') as typeof import('../offline')\n if (checkOfflineError(err)) {\n const offline = getOffline()\n if (offline !== null) {\n await waitForConnection(offline)\n }\n return fetchServerResponse(url, options)\n }\n }\n\n if (!isPageUnloading) {\n console.error(\n `Failed to fetch RSC payload for ${originalUrl}. Falling back to browser navigation.`,\n err\n )\n }\n\n // If fetch fails handle it like a mpa navigation\n // TODO-APP: Add a test for the case where a CORS request fails, e.g. external url redirect coming from the response.\n // See https://github.com/vercel/next.js/issues/43605#issuecomment-1451617521 for a reproduction.\n return originalUrl.toString()\n }\n}\n\n// This is a subset of the standard Response type. We use a custom type for\n// this so we can limit which details about the response leak into the rest of\n// the codebase. For example, there's some custom logic for manually following\n// redirects, so \"redirected\" in this type could be a composite of multiple\n// browser fetch calls; however, this fact should not leak to the caller.\nexport type RSCResponse<T> = {\n ok: boolean\n redirected: boolean\n headers: Headers\n body: ReadableStream<Uint8Array> | null\n status: number\n url: string\n flightResponsePromise: (Promise<T> & { _debugInfo?: Array<any> }) | null\n cacheData: Promise<FetchResponseCacheData | null>\n}\n\ntype FetchResponseCacheData = {\n isResponsePartial: boolean\n responseBodyClone?: ReadableStream<Uint8Array>\n}\n\n/**\n * Strips the leading isPartial byte from an RSC navigation response and\n * clones the body for segment cache extraction.\n *\n * When cache components is enabled, the server prepends a single byte:\n * '~' (0x7e) for partial, '#' (0x23) for complete. This must be stripped\n * before Flight decoding because it's not valid RSC data. The body is\n * cloned before Flight can consume it so the clone is available for later use.\n *\n * When cache components is disabled, returns the original response with\n * cacheData: null.\n */\nexport async function processFetch(response: Response): Promise<{\n response: Response\n cacheData: FetchResponseCacheData | null\n}> {\n if (process.env.__NEXT_CACHE_COMPONENTS) {\n if (!response.body) {\n throw new InvariantError(\n 'Expected RSC navigation response to have a body'\n )\n }\n\n const { stream, isPartial } = await stripIsPartialByte(response.body)\n\n let responseStream: ReadableStream<Uint8Array>\n let cacheData: FetchResponseCacheData\n\n if (process.env.__NEXT_EXPERIMENTAL_CACHED_NAVIGATIONS) {\n const [stream1, stream2] = stream.tee()\n responseStream = stream1\n cacheData = { isResponsePartial: isPartial, responseBodyClone: stream2 }\n } else {\n responseStream = stream\n cacheData = { isResponsePartial: isPartial }\n }\n\n const strippedResponse = new Response(responseStream, {\n headers: response.headers,\n status: response.status,\n statusText: response.statusText,\n })\n\n // The Response constructor doesn't preserve `url` or `redirected` from\n // the original. We need both: `url` for React DevTools and `redirected`\n // for the redirect replay logic below.\n Object.defineProperty(strippedResponse, 'url', { value: response.url })\n Object.defineProperty(strippedResponse, 'redirected', {\n value: response.redirected,\n })\n\n return { response: strippedResponse, cacheData }\n }\n\n return { response, cacheData: null }\n}\n\n/**\n * Resolves the static stage response from the raw `processFetch` outputs and\n * the decoded flight response, for writing into the segment cache.\n *\n * - Fully static: use the decoded flight response as-is, no truncation needed.\n * - Not fully static + `l` field: truncate the body clone at the static stage\n * byte boundary and decode.\n * - Otherwise: no cache-worthy data.\n */\nexport async function resolveStaticStageData<\n T extends NavigationFlightResponse | InitialRSCPayload,\n>(\n cacheData: FetchResponseCacheData,\n flightResponse: T,\n headers: RequestHeaders | undefined\n): Promise<StaticStageData<T> | null> {\n const { isResponsePartial, responseBodyClone } = cacheData\n\n if (responseBodyClone) {\n if (!isResponsePartial) {\n // Fully static — cache the entire decoded response as-is.\n responseBodyClone.cancel()\n\n return { response: flightResponse, isResponsePartial: false }\n }\n\n if (flightResponse.l !== undefined) {\n // Partially static — truncate the body clone at the byte boundary and\n // decode it.\n const response = await decodeStaticStage<T>(\n responseBodyClone,\n flightResponse.l,\n headers\n )\n\n return { response, isResponsePartial: true }\n }\n\n // No caching — cancel the unused clone.\n responseBodyClone.cancel()\n }\n\n return null\n}\n\n/**\n * Truncates a Flight stream clone at the given byte boundary and decodes the\n * static stage prefix. Used by both the navigation path and the initial HTML\n * hydration path.\n */\nexport async function decodeStaticStage<T>(\n responseBodyClone: ReadableStream<Uint8Array>,\n staticStageByteLengthPromise: Promise<number>,\n headers: RequestHeaders | undefined\n): Promise<T> {\n const staticStageByteLength = await staticStageByteLengthPromise\n\n const truncatedStream = truncateStream(\n responseBodyClone,\n staticStageByteLength\n )\n\n return createFromNextReadableStream<T>(truncatedStream, headers, {\n allowPartialStream: true,\n })\n}\n\nexport async function createFetch<T>(\n url: URL,\n headers: RequestHeaders,\n fetchPriority: 'auto' | 'high' | 'low' | null,\n shouldImmediatelyDecode: boolean,\n signal?: AbortSignal\n): Promise<RSCResponse<T>> {\n // TODO: In output: \"export\" mode, the headers do nothing. Omit them (and the\n // cache busting search param) from the request so they're\n // maximally cacheable.\n\n if (process.env.__NEXT_TEST_MODE && fetchPriority !== null) {\n headers['Next-Test-Fetch-Priority'] = fetchPriority\n }\n\n const deploymentId = getDeploymentId()\n if (deploymentId) {\n headers['x-deployment-id'] = deploymentId\n }\n\n if (process.env.__NEXT_DEV_SERVER) {\n if (self.__next_r) {\n headers[NEXT_HTML_REQUEST_ID_HEADER] = self.__next_r\n }\n\n // Create a new request ID for the server action request. The server uses\n // this to tag debug information sent via WebSocket to the client, which\n // then routes those chunks to the debug channel associated with this ID.\n headers[NEXT_REQUEST_ID_HEADER] = crypto\n .getRandomValues(new Uint32Array(1))[0]\n .toString(16)\n }\n\n const fetchOptions: RequestInit = {\n // Backwards compat for older browsers. `same-origin` is the default in modern browsers.\n credentials: 'same-origin',\n headers,\n priority: fetchPriority || undefined,\n signal,\n }\n // `fetchUrl` is slightly different from `url` because we add a cache-busting\n // search param to it. This should not leak outside of this function, so we\n // track them separately.\n let fetchUrl = new URL(url)\n setCacheBustingSearchParam(fetchUrl, headers)\n let processed = fetch(fetchUrl, fetchOptions).then(processFetch)\n let fetchPromise = processed.then(({ response }) => response)\n\n // Immediately pass the fetch promise to the Flight client so that the debug\n // info includes the latency from the client to the server. The internal timer\n // in React starts as soon as `createFromFetch` is called.\n //\n // The only case where we don't do this is during a prefetch, because a\n // top-level prefetch response never blocks a navigation; if it hasn't already\n // been written into the cache by the time the navigation happens, the router\n // will go straight to a dynamic request.\n let flightResponsePromise = shouldImmediatelyDecode\n ? createFromNextFetch<T>(fetchPromise, headers)\n : null\n let browserResponse = await fetchPromise\n\n // If the server responds with a redirect (e.g. 307), and the redirected\n // location does not contain the cache busting search param set in the\n // original request, the response is likely invalid — when following the\n // redirect, the browser forwards the request headers, but since the cache\n // busting search param is missing, the server will reject the request due to\n // a mismatch.\n //\n // Ideally, we would be able to intercept the redirect response and perform it\n // manually, instead of letting the browser automatically follow it, but this\n // is not allowed by the fetch API.\n //\n // So instead, we must \"replay\" the redirect by fetching the new location\n // again, but this time we'll append the cache busting search param to prevent\n // a mismatch.\n //\n // TODO: We can optimize Next.js's built-in middleware APIs by returning a\n // custom status code, to prevent the browser from automatically following it.\n //\n // This does not affect Server Action-based redirects; those are encoded\n // differently, as part of the Flight body. It only affects redirects that\n // occur in a middleware or a third-party proxy.\n\n let redirected = browserResponse.redirected\n if (process.env.__NEXT_CLIENT_VALIDATE_RSC_REQUEST_HEADERS) {\n // This is to prevent a redirect loop. Same limit used by Chrome.\n const MAX_REDIRECTS = 20\n for (let n = 0; n < MAX_REDIRECTS; n++) {\n if (!browserResponse.redirected) {\n // The server did not perform a redirect.\n break\n }\n const responseUrl = new URL(browserResponse.url, fetchUrl)\n if (responseUrl.origin !== fetchUrl.origin) {\n // The server redirected to an external URL. The rest of the logic below\n // is not relevant, because it only applies to internal redirects.\n break\n }\n if (\n responseUrl.searchParams.get(NEXT_RSC_UNION_QUERY) ===\n fetchUrl.searchParams.get(NEXT_RSC_UNION_QUERY)\n ) {\n // The redirected URL already includes the cache busting search param.\n // This was probably intentional. Regardless, there's no reason to\n // issue another request to this URL because it already has the param\n // value that we would have added below.\n break\n }\n // The RSC request was redirected. Assume the response is invalid.\n //\n // Append the cache busting search param to the redirected URL and\n // fetch again.\n // TODO: We should abort the previous request.\n fetchUrl = new URL(responseUrl)\n setCacheBustingSearchParam(fetchUrl, headers)\n processed = fetch(fetchUrl, fetchOptions).then(processFetch)\n fetchPromise = processed.then(({ response }) => response)\n flightResponsePromise = shouldImmediatelyDecode\n ? createFromNextFetch<T>(fetchPromise, headers)\n : null\n browserResponse = await fetchPromise\n // We just performed a manual redirect, so this is now true.\n redirected = true\n }\n }\n\n // Remove the cache busting search param from the response URL, to prevent it\n // from leaking outside of this function.\n const responseUrl = new URL(browserResponse.url, fetchUrl)\n responseUrl.searchParams.delete(NEXT_RSC_UNION_QUERY)\n\n const rscResponse: RSCResponse<T> = {\n url: responseUrl.href,\n\n // This is true if any redirects occurred, either automatically by the\n // browser, or manually by us. So it's different from\n // `browserResponse.redirected`, which only tells us whether the browser\n // followed a redirect, and only for the last response in the chain.\n redirected,\n\n // These can be copied from the last browser response we received. We\n // intentionally only expose the subset of fields that are actually used\n // elsewhere in the codebase.\n ok: browserResponse.ok,\n headers: browserResponse.headers,\n body: browserResponse.body,\n status: browserResponse.status,\n\n // This is the exact promise returned by `createFromFetch`. It contains\n // debug information that we need to transfer to any derived promises that\n // are later rendered by React.\n flightResponsePromise: flightResponsePromise,\n\n cacheData: processed.then(({ cacheData }) => cacheData),\n }\n\n return rscResponse\n}\n\nexport function createFromNextReadableStream<T>(\n flightStream: ReadableStream<Uint8Array>,\n requestHeaders: RequestHeaders | undefined,\n options?: { allowPartialStream?: boolean }\n): Promise<T> {\n return createFromReadableStream(flightStream, {\n callServer,\n findSourceMapURL,\n debugChannel: createDebugChannel && createDebugChannel(requestHeaders),\n unstable_allowPartialStream: options?.allowPartialStream,\n })\n}\n\nfunction createFromNextFetch<T>(\n promiseForResponse: Promise<Response>,\n requestHeaders: RequestHeaders\n): Promise<T> & { _debugInfo?: Array<any> } {\n return createFromFetch(promiseForResponse, {\n callServer,\n findSourceMapURL,\n debugChannel: createDebugChannel && createDebugChannel(requestHeaders),\n })\n}\n\nfunction truncateStream(\n stream: ReadableStream<Uint8Array>,\n byteLength: number\n): ReadableStream<Uint8Array> {\n const reader = stream.getReader()\n let remaining = byteLength\n\n return new ReadableStream({\n async pull(controller) {\n if (remaining <= 0) {\n reader.cancel()\n controller.close()\n return\n }\n\n const { done, value } = await reader.read()\n\n if (done) {\n controller.close()\n return\n }\n\n if (value.byteLength <= remaining) {\n controller.enqueue(value)\n remaining -= value.byteLength\n } else {\n controller.enqueue(value.subarray(0, remaining))\n remaining = 0\n reader.cancel()\n controller.close()\n }\n },\n cancel() {\n reader.cancel()\n },\n })\n}\n"],"names":["createFetch","createFromNextReadableStream","decodeStaticStage","fetchServerResponse","processFetch","resolveStaticStageData","createFromReadableStream","createFromReadableStreamBrowser","createFromFetch","createFromFetchBrowser","createDebugChannel","process","env","__NEXT_DEV_SERVER","__NEXT_REACT_DEBUG_CHANNEL","require","doMpaNavigation","url","urlToUrlWithoutFlightMarker","URL","location","origin","toString","isPageUnloading","window","addEventListener","options","flightRouterState","nextUrl","headers","RSC_HEADER","NEXT_ROUTER_STATE_TREE_HEADER","prepareFlightRouterStateForRequest","isHmrRefresh","NODE_ENV","NEXT_HMR_REFRESH_HEADER","NEXT_URL","originalUrl","__NEXT_CONFIG_OUTPUT","pathname","endsWith","isLegacyPPR","__NEXT_PPR","__NEXT_CACHE_COMPONENTS","shouldImmediatelyDecode","res","__NEXT_USE_OFFLINE","notifyOnline","responseUrl","canonicalUrl","redirected","contentType","get","interception","includes","postponed","NEXT_DID_POSTPONE_HEADER","isFlightResponse","startsWith","RSC_CONTENT_TYPE_HEADER","ok","body","hash","TURBOPACK","waitForWebpackRuntimeHotUpdate","flightResponsePromise","allowPartialStream","flightResponse","cacheData","Promise","all","NEXT_NAV_DEPLOYMENT_ID_HEADER","b","getNavigationBuildId","normalizedFlightData","normalizeFlightData","f","staticStageData","flightData","renderedSearch","q","couldBeIntercepted","supportsPerSegmentPrefetching","S","dynamicStaleTime","d","UnknownDynamicStaleTime","runtimePrefetchStream","p","responseHeaders","debugInfo","_debugInfo","err","checkOfflineError","getOffline","waitForConnection","offline","console","error","response","InvariantError","stream","isPartial","stripIsPartialByte","responseStream","__NEXT_EXPERIMENTAL_CACHED_NAVIGATIONS","stream1","stream2","tee","isResponsePartial","responseBodyClone","strippedResponse","Response","status","statusText","Object","defineProperty","value","cancel","l","undefined","staticStageByteLengthPromise","staticStageByteLength","truncatedStream","truncateStream","fetchPriority","signal","__NEXT_TEST_MODE","deploymentId","getDeploymentId","self","__next_r","NEXT_HTML_REQUEST_ID_HEADER","NEXT_REQUEST_ID_HEADER","crypto","getRandomValues","Uint32Array","fetchOptions","credentials","priority","fetchUrl","setCacheBustingSearchParam","processed","fetch","then","fetchPromise","createFromNextFetch","browserResponse","__NEXT_CLIENT_VALIDATE_RSC_REQUEST_HEADERS","MAX_REDIRECTS","n","searchParams","NEXT_RSC_UNION_QUERY","delete","rscResponse","href","flightStream","requestHeaders","callServer","findSourceMapURL","debugChannel","unstable_allowPartialStream","promiseForResponse","byteLength","reader","getReader","remaining","ReadableStream","pull","controller","close","done","read","enqueue","subarray"],"mappings":"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","ignoreList":[0]} |
@@ -42,3 +42,4 @@ "use strict"; | ||
| } | ||
| async function fetchServerAction(state, nextUrl, { actionId, actionArgs }) { | ||
| async function fetchServerAction(state, nextUrl, action) { | ||
| const { actionId, actionArgs } = action; | ||
| const temporaryReferences = (0, _client.createTemporaryReferenceSet)(); | ||
@@ -71,7 +72,31 @@ const info = (0, _serverreferenceinfo.extractInfoFromServerReferenceId)(actionId); | ||
| } | ||
| const res = await fetch(state.canonicalUrl, { | ||
| method: 'POST', | ||
| headers, | ||
| body | ||
| }); | ||
| let res; | ||
| try { | ||
| res = await fetch(state.canonicalUrl, { | ||
| method: 'POST', | ||
| headers, | ||
| body | ||
| }); | ||
| // If the fetch succeeds while we're in the offline state, notify the | ||
| // offline module so it can short-circuit the polling loop. | ||
| if (process.env.__NEXT_USE_OFFLINE) { | ||
| const { notifyOnline } = require('../../offline'); | ||
| notifyOnline(); | ||
| } | ||
| } catch (err) { | ||
| if (process.env.__NEXT_USE_OFFLINE) { | ||
| const { checkOfflineError, getOffline, waitForConnection } = require('../../offline'); | ||
| if (checkOfflineError(err)) { | ||
| // It's safe to replay the action because the fetch rejection | ||
| // means the request never reached the server — there are no | ||
| // side effects to duplicate. | ||
| const offline = getOffline(); | ||
| if (offline !== null) { | ||
| await waitForConnection(offline); | ||
| } | ||
| return fetchServerAction(state, nextUrl, action); | ||
| } | ||
| } | ||
| throw err; | ||
| } | ||
| // Handle server actions that the server didn't recognize. | ||
@@ -78,0 +103,0 @@ const unrecognizedActionHeader = res.headers.get(_approuterheaders.NEXT_ACTION_NOT_FOUND_HEADER); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../../../../../src/client/components/router-reducer/reducers/server-action-reducer.ts"],"sourcesContent":["import type {\n ActionFlightResponse,\n ActionResult,\n} from '../../../../shared/lib/app-router-types'\nimport { callServer } from '../../../app-call-server'\nimport { findSourceMapURL } from '../../../app-find-source-map-url'\nimport {\n ACTION_HEADER,\n NEXT_ACTION_NOT_FOUND_HEADER,\n NEXT_IS_PRERENDER_HEADER,\n NEXT_HTML_REQUEST_ID_HEADER,\n NEXT_ROUTER_STATE_TREE_HEADER,\n NEXT_URL,\n RSC_CONTENT_TYPE_HEADER,\n NEXT_REQUEST_ID_HEADER,\n} from '../../app-router-headers'\nimport { UnrecognizedActionError } from '../../unrecognized-action-error'\n\n// TODO: Explicitly import from client.browser\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport {\n createFromFetch as createFromFetchBrowser,\n createTemporaryReferenceSet,\n encodeReply,\n} from 'react-server-dom-webpack/client'\n\nimport type {\n ReadonlyReducerState,\n ReducerState,\n ServerActionAction,\n} from '../router-reducer-types'\nimport { ScrollBehavior } from '../router-reducer-types'\nimport { assignLocation } from '../../../assign-location'\nimport { createHrefFromUrl } from '../create-href-from-url'\nimport { hasInterceptionRouteInCurrentTree } from './has-interception-route-in-current-tree'\nimport {\n normalizeFlightData,\n prepareFlightRouterStateForRequest,\n type NormalizedFlightData,\n} from '../../../flight-data-helpers'\nimport { getRedirectError } from '../../redirect'\nimport type { RedirectType } from '../../redirect-error'\nimport { removeBasePath } from '../../../remove-base-path'\nimport { hasBasePath } from '../../../has-base-path'\nimport {\n extractInfoFromServerReferenceId,\n omitUnusedArgs,\n} from '../../../../shared/lib/server-reference-info'\nimport { invalidateEntirePrefetchCache } from '../../segment-cache/cache'\nimport { startRevalidationCooldown } from '../../segment-cache/scheduler'\nimport { getDeploymentId } from '../../../../shared/lib/deployment-id'\nimport { getNavigationBuildId } from '../../../navigation-build-id'\nimport { NEXT_NAV_DEPLOYMENT_ID_HEADER } from '../../../../lib/constants'\nimport {\n completeHardNavigation,\n convertServerPatchToFullTree,\n navigateToKnownRoute,\n navigate,\n} from '../../segment-cache/navigation'\nimport { discoverKnownRoute } from '../../segment-cache/optimistic-routes'\nimport type { NormalizedSearch } from '../../segment-cache/cache-key'\nimport {\n ActionDidNotRevalidate,\n ActionDidRevalidateDynamicOnly,\n ActionDidRevalidateStaticAndDynamic,\n type ActionRevalidationKind,\n} from '../../../../shared/lib/action-revalidation-kind'\nimport { isExternalURL } from '../../app-router-utils'\nimport { FreshnessPolicy } from '../ppr-navigations'\nimport { processFetch } from '../fetch-server-response'\nimport {\n invalidateBfCache,\n UnknownDynamicStaleTime,\n} from '../../segment-cache/bfcache'\n\nconst createFromFetch =\n createFromFetchBrowser as (typeof import('react-server-dom-webpack/client.browser'))['createFromFetch']\n\nlet createDebugChannel:\n | typeof import('../../../dev/debug-channel').createDebugChannel\n | undefined\n\nif (process.env.__NEXT_DEV_SERVER && process.env.__NEXT_REACT_DEBUG_CHANNEL) {\n createDebugChannel = (\n require('../../../dev/debug-channel') as typeof import('../../../dev/debug-channel')\n ).createDebugChannel\n}\n\n// TODO: Refactor to be a discriminated union. Or just get rid of it;\n// fetchServerAction only has one caller, no reason this intermediate type has\n// to exist.\ntype FetchServerActionResult = {\n redirectLocation: URL | undefined\n redirectType: RedirectType | undefined\n revalidationKind: ActionRevalidationKind\n actionResult: ActionResult | undefined\n actionFlightData: NormalizedFlightData[] | string | undefined\n actionFlightDataRenderedSearch: NormalizedSearch | undefined\n isPrerender: boolean\n couldBeIntercepted: boolean\n}\n\nasync function fetchServerAction(\n state: ReadonlyReducerState,\n nextUrl: ReadonlyReducerState['nextUrl'],\n { actionId, actionArgs }: ServerActionAction\n): Promise<FetchServerActionResult> {\n const temporaryReferences = createTemporaryReferenceSet()\n const info = extractInfoFromServerReferenceId(actionId)\n const usedArgs = omitUnusedArgs(actionArgs, info)\n const body = await encodeReply(usedArgs, { temporaryReferences })\n\n const headers: Record<string, string> = {\n Accept: RSC_CONTENT_TYPE_HEADER,\n [ACTION_HEADER]: actionId,\n [NEXT_ROUTER_STATE_TREE_HEADER]: prepareFlightRouterStateForRequest(\n state.tree\n ),\n }\n\n const deploymentId = getDeploymentId()\n if (deploymentId) {\n headers['x-deployment-id'] = deploymentId\n }\n\n if (nextUrl) {\n headers[NEXT_URL] = nextUrl\n }\n\n if (process.env.__NEXT_DEV_SERVER) {\n if (self.__next_r) {\n headers[NEXT_HTML_REQUEST_ID_HEADER] = self.__next_r\n }\n\n // Create a new request ID for the server action request. The server uses\n // this to tag debug information sent via WebSocket to the client, which\n // then routes those chunks to the debug channel associated with this ID.\n headers[NEXT_REQUEST_ID_HEADER] = crypto\n .getRandomValues(new Uint32Array(1))[0]\n .toString(16)\n }\n\n const res = await fetch(state.canonicalUrl, { method: 'POST', headers, body })\n\n // Handle server actions that the server didn't recognize.\n const unrecognizedActionHeader = res.headers.get(NEXT_ACTION_NOT_FOUND_HEADER)\n if (unrecognizedActionHeader === '1') {\n throw new UnrecognizedActionError(\n `Server Action \"${actionId}\" was not found on the server. \\nRead more: https://nextjs.org/docs/messages/failed-to-find-server-action`\n )\n }\n\n const redirectHeader = res.headers.get('x-action-redirect')\n const [location, _redirectType] = redirectHeader?.split(';') || []\n let redirectType: RedirectType | undefined\n switch (_redirectType) {\n case 'push':\n redirectType = 'push'\n break\n case 'replace':\n redirectType = 'replace'\n break\n default:\n redirectType = undefined\n }\n\n const isPrerender = !!res.headers.get(NEXT_IS_PRERENDER_HEADER)\n\n let revalidationKind: ActionRevalidationKind = ActionDidNotRevalidate\n try {\n const revalidationHeader = res.headers.get('x-action-revalidated')\n if (revalidationHeader) {\n const parsedKind = JSON.parse(revalidationHeader)\n if (\n parsedKind === ActionDidRevalidateStaticAndDynamic ||\n parsedKind === ActionDidRevalidateDynamicOnly\n ) {\n revalidationKind = parsedKind\n }\n }\n } catch {}\n\n const redirectLocation = location\n ? assignLocation(\n location,\n new URL(state.canonicalUrl, window.location.href)\n )\n : undefined\n\n const contentType = res.headers.get('content-type')\n const isRscResponse = !!(\n contentType && contentType.startsWith(RSC_CONTENT_TYPE_HEADER)\n )\n\n // Handle invalid server action responses.\n // A valid response must have `content-type: text/x-component`, unless it's an external redirect.\n // (external redirects have an 'x-action-redirect' header, but the body is an empty 'text/plain')\n if (!isRscResponse && !redirectLocation) {\n // The server can respond with a text/plain error message, but we'll fallback to something generic\n // if there isn't one.\n const message =\n res.status >= 400 && contentType === 'text/plain'\n ? await res.text()\n : 'An unexpected response was received from the server.'\n\n throw new Error(message)\n }\n\n let actionResult: FetchServerActionResult['actionResult']\n let actionFlightData: FetchServerActionResult['actionFlightData']\n let actionFlightDataRenderedSearch: FetchServerActionResult['actionFlightDataRenderedSearch']\n let couldBeIntercepted: boolean = false\n\n if (isRscResponse) {\n // Server action redirect responses carry the Flight data of the redirect\n // target, which may be prerendered with a completeness marker byte\n // prepended. Strip it before passing to Flight.\n const responsePromise = redirectLocation\n ? processFetch(res).then(({ response: r }) => r)\n : Promise.resolve(res)\n\n const response: ActionFlightResponse = await createFromFetch(\n responsePromise,\n {\n callServer,\n findSourceMapURL,\n temporaryReferences,\n debugChannel: createDebugChannel && createDebugChannel(headers),\n }\n )\n\n // An internal redirect can send an RSC response, but does not have a useful `actionResult`.\n actionResult = redirectLocation ? undefined : response.a\n couldBeIntercepted = response.i\n\n // Check if the response build ID matches the client build ID.\n // In a multi-zone setup, when a server action triggers a redirect,\n // the server pre-fetches the redirect target as RSC. If the redirect\n // target is served by a different Next.js zone (different build), the\n // pre-fetched RSC data will have a foreign build ID. We must discard\n // the flight data in that case so the redirect triggers an MPA\n // navigation (full page load) instead of trying to apply the foreign\n // RSC payload — which would result in a blank page.\n const responseBuildId =\n res.headers.get(NEXT_NAV_DEPLOYMENT_ID_HEADER) ?? response.b\n if (\n responseBuildId !== undefined &&\n responseBuildId !== getNavigationBuildId()\n ) {\n // Build ID mismatch — discard the flight data. The redirect will\n // still be processed, and the absence of flight data will cause an\n // MPA navigation via completeHardNavigation().\n } else {\n const maybeFlightData = normalizeFlightData(response.f)\n if (maybeFlightData !== '') {\n actionFlightData = maybeFlightData\n actionFlightDataRenderedSearch = response.q as NormalizedSearch\n }\n }\n } else {\n // An external redirect doesn't contain RSC data.\n actionResult = undefined\n actionFlightData = undefined\n actionFlightDataRenderedSearch = undefined\n }\n\n return {\n actionResult,\n actionFlightData,\n actionFlightDataRenderedSearch,\n redirectLocation,\n redirectType,\n revalidationKind,\n isPrerender,\n couldBeIntercepted,\n }\n}\n\n/*\n * This reducer is responsible for calling the server action and processing any side-effects from the server action.\n * It does not mutate the state by itself but rather delegates to other reducers to do the actual mutation.\n */\nexport function serverActionReducer(\n state: ReadonlyReducerState,\n action: ServerActionAction\n): ReducerState {\n const { resolve, reject } = action\n\n // only pass along the `nextUrl` param (used for interception routes) if the current route was intercepted.\n // If the route has been intercepted, the action should be as well.\n // Otherwise the server action might be intercepted with the wrong action id\n // (ie, one that corresponds with the intercepted route)\n const nextUrl =\n // We always send the last next-url, not the current when\n // performing a dynamic request. This is because we update\n // the next-url after a navigation, but we want the same\n // interception route to be matched that used the last\n // next-url.\n (state.previousNextUrl || state.nextUrl) &&\n hasInterceptionRouteInCurrentTree(state.tree)\n ? state.previousNextUrl || state.nextUrl\n : null\n\n return fetchServerAction(state, nextUrl, action).then(\n async ({\n revalidationKind,\n actionResult,\n actionFlightData: flightData,\n actionFlightDataRenderedSearch: flightDataRenderedSearch,\n redirectLocation,\n redirectType,\n isPrerender,\n couldBeIntercepted,\n }) => {\n if (revalidationKind !== ActionDidNotRevalidate) {\n // There was either a revalidation or a refresh, or maybe both.\n\n // Evict the BFCache, which may contain dynamic data.\n invalidateBfCache()\n\n // Store whether this action triggered any revalidation\n // The action queue will use this information to potentially\n // trigger a refresh action if the action was discarded\n // (ie, due to a navigation, before the action completed)\n action.didRevalidate = true\n\n // If there was a revalidation, evict the prefetch cache.\n // TODO: Evict only segments with matching tags and/or paths.\n // TODO: We should only invalidate the route cache if cookies were\n // mutated, since route trees may vary based on cookies. For now we\n // invalidate both caches until we have a way to detect cookie\n // mutations on the client.\n if (revalidationKind === ActionDidRevalidateStaticAndDynamic) {\n invalidateEntirePrefetchCache(nextUrl, state.tree)\n }\n\n // Start a cooldown before re-prefetching to allow CDN cache\n // propagation.\n startRevalidationCooldown()\n }\n\n const navigateType = redirectType || 'push'\n\n if (redirectLocation !== undefined) {\n // If the action triggered a redirect, the action promise will be rejected with\n // a redirect so that it's handled by RedirectBoundary as we won't have a valid\n // action result to resolve the promise with. This will effectively reset the state of\n // the component that called the action as the error boundary will remount the tree.\n // The status code doesn't matter here as the action handler will have already sent\n // a response with the correct status code.\n\n if (isExternalURL(redirectLocation)) {\n // External redirect. Triggers an MPA navigation.\n const redirectHref = redirectLocation.href\n const redirectError = createRedirectErrorForAction(\n redirectHref,\n navigateType\n )\n reject(redirectError)\n return completeHardNavigation(state, redirectLocation, navigateType)\n } else {\n // Internal redirect. Triggers an SPA navigation.\n const redirectWithBasepath = createHrefFromUrl(\n redirectLocation,\n false\n )\n const redirectHref = hasBasePath(redirectWithBasepath)\n ? removeBasePath(redirectWithBasepath)\n : redirectWithBasepath\n const redirectError = createRedirectErrorForAction(\n redirectHref,\n navigateType\n )\n reject(redirectError)\n }\n } else {\n // If there's no redirect, resolve the action with the result.\n resolve(actionResult)\n }\n\n // Check if we can bail out without updating any state.\n if (\n // Did the action trigger a redirect?\n redirectLocation === undefined &&\n // Did the action revalidate any data?\n revalidationKind === ActionDidNotRevalidate &&\n // Did the server render new data?\n flightData === undefined\n ) {\n // The action did not trigger any revalidations or redirects. No\n // navigation is required.\n return state\n }\n\n if (flightData === undefined && redirectLocation !== undefined) {\n // The server redirected, but did not send any Flight data. This implies\n // an external redirect.\n // TODO: We should refactor the action response type to be more explicit\n // about the various response types.\n return completeHardNavigation(state, redirectLocation, navigateType)\n }\n\n if (typeof flightData === 'string') {\n // If the flight data is just a string, something earlier in the\n // response handling triggered an external redirect.\n return completeHardNavigation(\n state,\n new URL(flightData, location.origin),\n navigateType\n )\n }\n\n // The action triggered a navigation — either a redirect, a revalidation,\n // or both.\n\n // If there was no redirect, then the target URL is the same as the\n // current URL.\n const currentUrl = new URL(state.canonicalUrl, location.origin)\n const currentRenderedSearch = state.renderedSearch\n const redirectUrl =\n redirectLocation !== undefined ? redirectLocation : currentUrl\n const currentFlightRouterState = state.tree\n const scrollBehavior = ScrollBehavior.Default\n\n // If the action triggered a revalidation of the cache, we should also\n // refresh all the dynamic data.\n const freshnessPolicy =\n revalidationKind === ActionDidNotRevalidate\n ? FreshnessPolicy.Default\n : FreshnessPolicy.RefreshAll\n\n // The server may have sent back new data. If so, we will perform a\n // \"seeded\" navigation that uses the data from the response.\n // TODO: Currently the server always renders from the root in\n // response to a Server Action. In the case of a normal redirect\n // with no revalidation, it should skip over the shared layouts.\n if (flightData !== undefined && flightDataRenderedSearch !== undefined) {\n // The server sent back new route data as part of the response. We\n // will use this to render the new page. If this happens to be only a\n // subset of the data needed to render the new page, we'll initiate a\n // new fetch, like we would for a normal navigation.\n const redirectCanonicalUrl = createHrefFromUrl(redirectUrl)\n const now = Date.now()\n // TODO: Store the dynamic stale time on the top-level state so it's\n // known during restores and refreshes.\n const redirectSeed = convertServerPatchToFullTree(\n now,\n currentFlightRouterState,\n flightData,\n flightDataRenderedSearch,\n UnknownDynamicStaleTime\n )\n\n // Learn the route pattern so we can predict it for future navigations.\n const metadataVaryPath = redirectSeed.metadataVaryPath\n if (metadataVaryPath !== null) {\n discoverKnownRoute(\n now,\n redirectUrl.pathname,\n nextUrl,\n null, // No pending entry\n redirectSeed.routeTree,\n metadataVaryPath,\n couldBeIntercepted,\n redirectCanonicalUrl,\n isPrerender,\n false // hasDynamicRewrite\n )\n }\n\n return navigateToKnownRoute(\n now,\n state,\n redirectUrl,\n redirectCanonicalUrl,\n redirectSeed,\n currentUrl,\n currentRenderedSearch,\n state.cache,\n currentFlightRouterState,\n freshnessPolicy,\n nextUrl,\n scrollBehavior,\n navigateType,\n null,\n // Server action redirects don't use route prediction - we already\n // have the route tree from the server response. If a mismatch occurs\n // during dynamic data fetch, the retry handler will traverse the\n // known route tree to mark the entry as having a dynamic rewrite.\n null\n )\n }\n\n // The server did not send back new data. We'll perform a regular, non-\n // seeded navigation — effectively the same as <Link> or router.push().\n return navigate(\n state,\n redirectUrl,\n currentUrl,\n currentRenderedSearch,\n state.cache,\n currentFlightRouterState,\n nextUrl,\n freshnessPolicy,\n scrollBehavior,\n navigateType\n )\n },\n (e: any) => {\n // When the server action is rejected we don't update the state and instead call the reject handler of the promise.\n reject(e)\n\n return state\n }\n )\n}\n\nfunction createRedirectErrorForAction(\n redirectHref: string,\n resolvedRedirectType: RedirectType\n) {\n const redirectError = getRedirectError(redirectHref, resolvedRedirectType)\n // We mark the error as handled because we don't want the redirect to be tried later by\n // the RedirectBoundary, in case the user goes back and `Activity` triggers the redirect\n // again, as it's run within an effect.\n // We don't actually need the RedirectBoundary to do a router.push because we already\n // have all the necessary RSC data to render the new page within a single roundtrip.\n ;(redirectError as any).handled = true\n return redirectError\n}\n"],"names":["serverActionReducer","createFromFetch","createFromFetchBrowser","createDebugChannel","process","env","__NEXT_DEV_SERVER","__NEXT_REACT_DEBUG_CHANNEL","require","fetchServerAction","state","nextUrl","actionId","actionArgs","temporaryReferences","createTemporaryReferenceSet","info","extractInfoFromServerReferenceId","usedArgs","omitUnusedArgs","body","encodeReply","headers","Accept","RSC_CONTENT_TYPE_HEADER","ACTION_HEADER","NEXT_ROUTER_STATE_TREE_HEADER","prepareFlightRouterStateForRequest","tree","deploymentId","getDeploymentId","NEXT_URL","self","__next_r","NEXT_HTML_REQUEST_ID_HEADER","NEXT_REQUEST_ID_HEADER","crypto","getRandomValues","Uint32Array","toString","res","fetch","canonicalUrl","method","unrecognizedActionHeader","get","NEXT_ACTION_NOT_FOUND_HEADER","UnrecognizedActionError","redirectHeader","location","_redirectType","split","redirectType","undefined","isPrerender","NEXT_IS_PRERENDER_HEADER","revalidationKind","ActionDidNotRevalidate","revalidationHeader","parsedKind","JSON","parse","ActionDidRevalidateStaticAndDynamic","ActionDidRevalidateDynamicOnly","redirectLocation","assignLocation","URL","window","href","contentType","isRscResponse","startsWith","message","status","text","Error","actionResult","actionFlightData","actionFlightDataRenderedSearch","couldBeIntercepted","responsePromise","processFetch","then","response","r","Promise","resolve","callServer","findSourceMapURL","debugChannel","a","i","responseBuildId","NEXT_NAV_DEPLOYMENT_ID_HEADER","b","getNavigationBuildId","maybeFlightData","normalizeFlightData","f","q","action","reject","previousNextUrl","hasInterceptionRouteInCurrentTree","flightData","flightDataRenderedSearch","invalidateBfCache","didRevalidate","invalidateEntirePrefetchCache","startRevalidationCooldown","navigateType","isExternalURL","redirectHref","redirectError","createRedirectErrorForAction","completeHardNavigation","redirectWithBasepath","createHrefFromUrl","hasBasePath","removeBasePath","origin","currentUrl","currentRenderedSearch","renderedSearch","redirectUrl","currentFlightRouterState","scrollBehavior","ScrollBehavior","Default","freshnessPolicy","FreshnessPolicy","RefreshAll","redirectCanonicalUrl","now","Date","redirectSeed","convertServerPatchToFullTree","UnknownDynamicStaleTime","metadataVaryPath","discoverKnownRoute","pathname","routeTree","navigateToKnownRoute","cache","navigate","e","resolvedRedirectType","getRedirectError","handled"],"mappings":"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","ignoreList":[0]} | ||
| {"version":3,"sources":["../../../../../src/client/components/router-reducer/reducers/server-action-reducer.ts"],"sourcesContent":["import type {\n ActionFlightResponse,\n ActionResult,\n} from '../../../../shared/lib/app-router-types'\nimport { callServer } from '../../../app-call-server'\nimport { findSourceMapURL } from '../../../app-find-source-map-url'\nimport {\n ACTION_HEADER,\n NEXT_ACTION_NOT_FOUND_HEADER,\n NEXT_IS_PRERENDER_HEADER,\n NEXT_HTML_REQUEST_ID_HEADER,\n NEXT_ROUTER_STATE_TREE_HEADER,\n NEXT_URL,\n RSC_CONTENT_TYPE_HEADER,\n NEXT_REQUEST_ID_HEADER,\n} from '../../app-router-headers'\nimport { UnrecognizedActionError } from '../../unrecognized-action-error'\n\n// TODO: Explicitly import from client.browser\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport {\n createFromFetch as createFromFetchBrowser,\n createTemporaryReferenceSet,\n encodeReply,\n} from 'react-server-dom-webpack/client'\n\nimport type {\n ReadonlyReducerState,\n ReducerState,\n ServerActionAction,\n} from '../router-reducer-types'\nimport { ScrollBehavior } from '../router-reducer-types'\nimport { assignLocation } from '../../../assign-location'\nimport { createHrefFromUrl } from '../create-href-from-url'\nimport { hasInterceptionRouteInCurrentTree } from './has-interception-route-in-current-tree'\nimport {\n normalizeFlightData,\n prepareFlightRouterStateForRequest,\n type NormalizedFlightData,\n} from '../../../flight-data-helpers'\nimport { getRedirectError } from '../../redirect'\nimport type { RedirectType } from '../../redirect-error'\nimport { removeBasePath } from '../../../remove-base-path'\nimport { hasBasePath } from '../../../has-base-path'\nimport {\n extractInfoFromServerReferenceId,\n omitUnusedArgs,\n} from '../../../../shared/lib/server-reference-info'\nimport { invalidateEntirePrefetchCache } from '../../segment-cache/cache'\nimport { startRevalidationCooldown } from '../../segment-cache/scheduler'\nimport { getDeploymentId } from '../../../../shared/lib/deployment-id'\nimport { getNavigationBuildId } from '../../../navigation-build-id'\nimport { NEXT_NAV_DEPLOYMENT_ID_HEADER } from '../../../../lib/constants'\nimport {\n completeHardNavigation,\n convertServerPatchToFullTree,\n navigateToKnownRoute,\n navigate,\n} from '../../segment-cache/navigation'\nimport { discoverKnownRoute } from '../../segment-cache/optimistic-routes'\nimport type { NormalizedSearch } from '../../segment-cache/cache-key'\nimport {\n ActionDidNotRevalidate,\n ActionDidRevalidateDynamicOnly,\n ActionDidRevalidateStaticAndDynamic,\n type ActionRevalidationKind,\n} from '../../../../shared/lib/action-revalidation-kind'\nimport { isExternalURL } from '../../app-router-utils'\nimport { FreshnessPolicy } from '../ppr-navigations'\nimport { processFetch } from '../fetch-server-response'\nimport {\n invalidateBfCache,\n UnknownDynamicStaleTime,\n} from '../../segment-cache/bfcache'\n\nconst createFromFetch =\n createFromFetchBrowser as (typeof import('react-server-dom-webpack/client.browser'))['createFromFetch']\n\nlet createDebugChannel:\n | typeof import('../../../dev/debug-channel').createDebugChannel\n | undefined\n\nif (process.env.__NEXT_DEV_SERVER && process.env.__NEXT_REACT_DEBUG_CHANNEL) {\n createDebugChannel = (\n require('../../../dev/debug-channel') as typeof import('../../../dev/debug-channel')\n ).createDebugChannel\n}\n\n// TODO: Refactor to be a discriminated union. Or just get rid of it;\n// fetchServerAction only has one caller, no reason this intermediate type has\n// to exist.\ntype FetchServerActionResult = {\n redirectLocation: URL | undefined\n redirectType: RedirectType | undefined\n revalidationKind: ActionRevalidationKind\n actionResult: ActionResult | undefined\n actionFlightData: NormalizedFlightData[] | string | undefined\n actionFlightDataRenderedSearch: NormalizedSearch | undefined\n isPrerender: boolean\n couldBeIntercepted: boolean\n}\n\nasync function fetchServerAction(\n state: ReadonlyReducerState,\n nextUrl: ReadonlyReducerState['nextUrl'],\n action: ServerActionAction\n): Promise<FetchServerActionResult> {\n const { actionId, actionArgs } = action\n const temporaryReferences = createTemporaryReferenceSet()\n const info = extractInfoFromServerReferenceId(actionId)\n const usedArgs = omitUnusedArgs(actionArgs, info)\n const body = await encodeReply(usedArgs, { temporaryReferences })\n\n const headers: Record<string, string> = {\n Accept: RSC_CONTENT_TYPE_HEADER,\n [ACTION_HEADER]: actionId,\n [NEXT_ROUTER_STATE_TREE_HEADER]: prepareFlightRouterStateForRequest(\n state.tree\n ),\n }\n\n const deploymentId = getDeploymentId()\n if (deploymentId) {\n headers['x-deployment-id'] = deploymentId\n }\n\n if (nextUrl) {\n headers[NEXT_URL] = nextUrl\n }\n\n if (process.env.__NEXT_DEV_SERVER) {\n if (self.__next_r) {\n headers[NEXT_HTML_REQUEST_ID_HEADER] = self.__next_r\n }\n\n // Create a new request ID for the server action request. The server uses\n // this to tag debug information sent via WebSocket to the client, which\n // then routes those chunks to the debug channel associated with this ID.\n headers[NEXT_REQUEST_ID_HEADER] = crypto\n .getRandomValues(new Uint32Array(1))[0]\n .toString(16)\n }\n\n let res: Response\n try {\n res = await fetch(state.canonicalUrl, { method: 'POST', headers, body })\n // If the fetch succeeds while we're in the offline state, notify the\n // offline module so it can short-circuit the polling loop.\n if (process.env.__NEXT_USE_OFFLINE) {\n const { notifyOnline } =\n require('../../offline') as typeof import('../../offline')\n notifyOnline()\n }\n } catch (err) {\n if (process.env.__NEXT_USE_OFFLINE) {\n const { checkOfflineError, getOffline, waitForConnection } =\n require('../../offline') as typeof import('../../offline')\n if (checkOfflineError(err)) {\n // It's safe to replay the action because the fetch rejection\n // means the request never reached the server — there are no\n // side effects to duplicate.\n const offline = getOffline()\n if (offline !== null) {\n await waitForConnection(offline)\n }\n return fetchServerAction(state, nextUrl, action)\n }\n }\n throw err\n }\n\n // Handle server actions that the server didn't recognize.\n const unrecognizedActionHeader = res.headers.get(NEXT_ACTION_NOT_FOUND_HEADER)\n if (unrecognizedActionHeader === '1') {\n throw new UnrecognizedActionError(\n `Server Action \"${actionId}\" was not found on the server. \\nRead more: https://nextjs.org/docs/messages/failed-to-find-server-action`\n )\n }\n\n const redirectHeader = res.headers.get('x-action-redirect')\n const [location, _redirectType] = redirectHeader?.split(';') || []\n let redirectType: RedirectType | undefined\n switch (_redirectType) {\n case 'push':\n redirectType = 'push'\n break\n case 'replace':\n redirectType = 'replace'\n break\n default:\n redirectType = undefined\n }\n\n const isPrerender = !!res.headers.get(NEXT_IS_PRERENDER_HEADER)\n\n let revalidationKind: ActionRevalidationKind = ActionDidNotRevalidate\n try {\n const revalidationHeader = res.headers.get('x-action-revalidated')\n if (revalidationHeader) {\n const parsedKind = JSON.parse(revalidationHeader)\n if (\n parsedKind === ActionDidRevalidateStaticAndDynamic ||\n parsedKind === ActionDidRevalidateDynamicOnly\n ) {\n revalidationKind = parsedKind\n }\n }\n } catch {}\n\n const redirectLocation = location\n ? assignLocation(\n location,\n new URL(state.canonicalUrl, window.location.href)\n )\n : undefined\n\n const contentType = res.headers.get('content-type')\n const isRscResponse = !!(\n contentType && contentType.startsWith(RSC_CONTENT_TYPE_HEADER)\n )\n\n // Handle invalid server action responses.\n // A valid response must have `content-type: text/x-component`, unless it's an external redirect.\n // (external redirects have an 'x-action-redirect' header, but the body is an empty 'text/plain')\n if (!isRscResponse && !redirectLocation) {\n // The server can respond with a text/plain error message, but we'll fallback to something generic\n // if there isn't one.\n const message =\n res.status >= 400 && contentType === 'text/plain'\n ? await res.text()\n : 'An unexpected response was received from the server.'\n\n throw new Error(message)\n }\n\n let actionResult: FetchServerActionResult['actionResult']\n let actionFlightData: FetchServerActionResult['actionFlightData']\n let actionFlightDataRenderedSearch: FetchServerActionResult['actionFlightDataRenderedSearch']\n let couldBeIntercepted: boolean = false\n\n if (isRscResponse) {\n // Server action redirect responses carry the Flight data of the redirect\n // target, which may be prerendered with a completeness marker byte\n // prepended. Strip it before passing to Flight.\n const responsePromise = redirectLocation\n ? processFetch(res).then(({ response: r }) => r)\n : Promise.resolve(res)\n\n const response: ActionFlightResponse = await createFromFetch(\n responsePromise,\n {\n callServer,\n findSourceMapURL,\n temporaryReferences,\n debugChannel: createDebugChannel && createDebugChannel(headers),\n }\n )\n\n // An internal redirect can send an RSC response, but does not have a useful `actionResult`.\n actionResult = redirectLocation ? undefined : response.a\n couldBeIntercepted = response.i\n\n // Check if the response build ID matches the client build ID.\n // In a multi-zone setup, when a server action triggers a redirect,\n // the server pre-fetches the redirect target as RSC. If the redirect\n // target is served by a different Next.js zone (different build), the\n // pre-fetched RSC data will have a foreign build ID. We must discard\n // the flight data in that case so the redirect triggers an MPA\n // navigation (full page load) instead of trying to apply the foreign\n // RSC payload — which would result in a blank page.\n const responseBuildId =\n res.headers.get(NEXT_NAV_DEPLOYMENT_ID_HEADER) ?? response.b\n if (\n responseBuildId !== undefined &&\n responseBuildId !== getNavigationBuildId()\n ) {\n // Build ID mismatch — discard the flight data. The redirect will\n // still be processed, and the absence of flight data will cause an\n // MPA navigation via completeHardNavigation().\n } else {\n const maybeFlightData = normalizeFlightData(response.f)\n if (maybeFlightData !== '') {\n actionFlightData = maybeFlightData\n actionFlightDataRenderedSearch = response.q as NormalizedSearch\n }\n }\n } else {\n // An external redirect doesn't contain RSC data.\n actionResult = undefined\n actionFlightData = undefined\n actionFlightDataRenderedSearch = undefined\n }\n\n return {\n actionResult,\n actionFlightData,\n actionFlightDataRenderedSearch,\n redirectLocation,\n redirectType,\n revalidationKind,\n isPrerender,\n couldBeIntercepted,\n }\n}\n\n/*\n * This reducer is responsible for calling the server action and processing any side-effects from the server action.\n * It does not mutate the state by itself but rather delegates to other reducers to do the actual mutation.\n */\nexport function serverActionReducer(\n state: ReadonlyReducerState,\n action: ServerActionAction\n): ReducerState {\n const { resolve, reject } = action\n\n // only pass along the `nextUrl` param (used for interception routes) if the current route was intercepted.\n // If the route has been intercepted, the action should be as well.\n // Otherwise the server action might be intercepted with the wrong action id\n // (ie, one that corresponds with the intercepted route)\n const nextUrl =\n // We always send the last next-url, not the current when\n // performing a dynamic request. This is because we update\n // the next-url after a navigation, but we want the same\n // interception route to be matched that used the last\n // next-url.\n (state.previousNextUrl || state.nextUrl) &&\n hasInterceptionRouteInCurrentTree(state.tree)\n ? state.previousNextUrl || state.nextUrl\n : null\n\n return fetchServerAction(state, nextUrl, action).then(\n async ({\n revalidationKind,\n actionResult,\n actionFlightData: flightData,\n actionFlightDataRenderedSearch: flightDataRenderedSearch,\n redirectLocation,\n redirectType,\n isPrerender,\n couldBeIntercepted,\n }) => {\n if (revalidationKind !== ActionDidNotRevalidate) {\n // There was either a revalidation or a refresh, or maybe both.\n\n // Evict the BFCache, which may contain dynamic data.\n invalidateBfCache()\n\n // Store whether this action triggered any revalidation\n // The action queue will use this information to potentially\n // trigger a refresh action if the action was discarded\n // (ie, due to a navigation, before the action completed)\n action.didRevalidate = true\n\n // If there was a revalidation, evict the prefetch cache.\n // TODO: Evict only segments with matching tags and/or paths.\n // TODO: We should only invalidate the route cache if cookies were\n // mutated, since route trees may vary based on cookies. For now we\n // invalidate both caches until we have a way to detect cookie\n // mutations on the client.\n if (revalidationKind === ActionDidRevalidateStaticAndDynamic) {\n invalidateEntirePrefetchCache(nextUrl, state.tree)\n }\n\n // Start a cooldown before re-prefetching to allow CDN cache\n // propagation.\n startRevalidationCooldown()\n }\n\n const navigateType = redirectType || 'push'\n\n if (redirectLocation !== undefined) {\n // If the action triggered a redirect, the action promise will be rejected with\n // a redirect so that it's handled by RedirectBoundary as we won't have a valid\n // action result to resolve the promise with. This will effectively reset the state of\n // the component that called the action as the error boundary will remount the tree.\n // The status code doesn't matter here as the action handler will have already sent\n // a response with the correct status code.\n\n if (isExternalURL(redirectLocation)) {\n // External redirect. Triggers an MPA navigation.\n const redirectHref = redirectLocation.href\n const redirectError = createRedirectErrorForAction(\n redirectHref,\n navigateType\n )\n reject(redirectError)\n return completeHardNavigation(state, redirectLocation, navigateType)\n } else {\n // Internal redirect. Triggers an SPA navigation.\n const redirectWithBasepath = createHrefFromUrl(\n redirectLocation,\n false\n )\n const redirectHref = hasBasePath(redirectWithBasepath)\n ? removeBasePath(redirectWithBasepath)\n : redirectWithBasepath\n const redirectError = createRedirectErrorForAction(\n redirectHref,\n navigateType\n )\n reject(redirectError)\n }\n } else {\n // If there's no redirect, resolve the action with the result.\n resolve(actionResult)\n }\n\n // Check if we can bail out without updating any state.\n if (\n // Did the action trigger a redirect?\n redirectLocation === undefined &&\n // Did the action revalidate any data?\n revalidationKind === ActionDidNotRevalidate &&\n // Did the server render new data?\n flightData === undefined\n ) {\n // The action did not trigger any revalidations or redirects. No\n // navigation is required.\n return state\n }\n\n if (flightData === undefined && redirectLocation !== undefined) {\n // The server redirected, but did not send any Flight data. This implies\n // an external redirect.\n // TODO: We should refactor the action response type to be more explicit\n // about the various response types.\n return completeHardNavigation(state, redirectLocation, navigateType)\n }\n\n if (typeof flightData === 'string') {\n // If the flight data is just a string, something earlier in the\n // response handling triggered an external redirect.\n return completeHardNavigation(\n state,\n new URL(flightData, location.origin),\n navigateType\n )\n }\n\n // The action triggered a navigation — either a redirect, a revalidation,\n // or both.\n\n // If there was no redirect, then the target URL is the same as the\n // current URL.\n const currentUrl = new URL(state.canonicalUrl, location.origin)\n const currentRenderedSearch = state.renderedSearch\n const redirectUrl =\n redirectLocation !== undefined ? redirectLocation : currentUrl\n const currentFlightRouterState = state.tree\n const scrollBehavior = ScrollBehavior.Default\n\n // If the action triggered a revalidation of the cache, we should also\n // refresh all the dynamic data.\n const freshnessPolicy =\n revalidationKind === ActionDidNotRevalidate\n ? FreshnessPolicy.Default\n : FreshnessPolicy.RefreshAll\n\n // The server may have sent back new data. If so, we will perform a\n // \"seeded\" navigation that uses the data from the response.\n // TODO: Currently the server always renders from the root in\n // response to a Server Action. In the case of a normal redirect\n // with no revalidation, it should skip over the shared layouts.\n if (flightData !== undefined && flightDataRenderedSearch !== undefined) {\n // The server sent back new route data as part of the response. We\n // will use this to render the new page. If this happens to be only a\n // subset of the data needed to render the new page, we'll initiate a\n // new fetch, like we would for a normal navigation.\n const redirectCanonicalUrl = createHrefFromUrl(redirectUrl)\n const now = Date.now()\n // TODO: Store the dynamic stale time on the top-level state so it's\n // known during restores and refreshes.\n const redirectSeed = convertServerPatchToFullTree(\n now,\n currentFlightRouterState,\n flightData,\n flightDataRenderedSearch,\n UnknownDynamicStaleTime\n )\n\n // Learn the route pattern so we can predict it for future navigations.\n const metadataVaryPath = redirectSeed.metadataVaryPath\n if (metadataVaryPath !== null) {\n discoverKnownRoute(\n now,\n redirectUrl.pathname,\n nextUrl,\n null, // No pending entry\n redirectSeed.routeTree,\n metadataVaryPath,\n couldBeIntercepted,\n redirectCanonicalUrl,\n isPrerender,\n false // hasDynamicRewrite\n )\n }\n\n return navigateToKnownRoute(\n now,\n state,\n redirectUrl,\n redirectCanonicalUrl,\n redirectSeed,\n currentUrl,\n currentRenderedSearch,\n state.cache,\n currentFlightRouterState,\n freshnessPolicy,\n nextUrl,\n scrollBehavior,\n navigateType,\n null,\n // Server action redirects don't use route prediction - we already\n // have the route tree from the server response. If a mismatch occurs\n // during dynamic data fetch, the retry handler will traverse the\n // known route tree to mark the entry as having a dynamic rewrite.\n null\n )\n }\n\n // The server did not send back new data. We'll perform a regular, non-\n // seeded navigation — effectively the same as <Link> or router.push().\n return navigate(\n state,\n redirectUrl,\n currentUrl,\n currentRenderedSearch,\n state.cache,\n currentFlightRouterState,\n nextUrl,\n freshnessPolicy,\n scrollBehavior,\n navigateType\n )\n },\n (e: any) => {\n // When the server action is rejected we don't update the state and instead call the reject handler of the promise.\n reject(e)\n\n return state\n }\n )\n}\n\nfunction createRedirectErrorForAction(\n redirectHref: string,\n resolvedRedirectType: RedirectType\n) {\n const redirectError = getRedirectError(redirectHref, resolvedRedirectType)\n // We mark the error as handled because we don't want the redirect to be tried later by\n // the RedirectBoundary, in case the user goes back and `Activity` triggers the redirect\n // again, as it's run within an effect.\n // We don't actually need the RedirectBoundary to do a router.push because we already\n // have all the necessary RSC data to render the new page within a single roundtrip.\n ;(redirectError as any).handled = true\n return redirectError\n}\n"],"names":["serverActionReducer","createFromFetch","createFromFetchBrowser","createDebugChannel","process","env","__NEXT_DEV_SERVER","__NEXT_REACT_DEBUG_CHANNEL","require","fetchServerAction","state","nextUrl","action","actionId","actionArgs","temporaryReferences","createTemporaryReferenceSet","info","extractInfoFromServerReferenceId","usedArgs","omitUnusedArgs","body","encodeReply","headers","Accept","RSC_CONTENT_TYPE_HEADER","ACTION_HEADER","NEXT_ROUTER_STATE_TREE_HEADER","prepareFlightRouterStateForRequest","tree","deploymentId","getDeploymentId","NEXT_URL","self","__next_r","NEXT_HTML_REQUEST_ID_HEADER","NEXT_REQUEST_ID_HEADER","crypto","getRandomValues","Uint32Array","toString","res","fetch","canonicalUrl","method","__NEXT_USE_OFFLINE","notifyOnline","err","checkOfflineError","getOffline","waitForConnection","offline","unrecognizedActionHeader","get","NEXT_ACTION_NOT_FOUND_HEADER","UnrecognizedActionError","redirectHeader","location","_redirectType","split","redirectType","undefined","isPrerender","NEXT_IS_PRERENDER_HEADER","revalidationKind","ActionDidNotRevalidate","revalidationHeader","parsedKind","JSON","parse","ActionDidRevalidateStaticAndDynamic","ActionDidRevalidateDynamicOnly","redirectLocation","assignLocation","URL","window","href","contentType","isRscResponse","startsWith","message","status","text","Error","actionResult","actionFlightData","actionFlightDataRenderedSearch","couldBeIntercepted","responsePromise","processFetch","then","response","r","Promise","resolve","callServer","findSourceMapURL","debugChannel","a","i","responseBuildId","NEXT_NAV_DEPLOYMENT_ID_HEADER","b","getNavigationBuildId","maybeFlightData","normalizeFlightData","f","q","reject","previousNextUrl","hasInterceptionRouteInCurrentTree","flightData","flightDataRenderedSearch","invalidateBfCache","didRevalidate","invalidateEntirePrefetchCache","startRevalidationCooldown","navigateType","isExternalURL","redirectHref","redirectError","createRedirectErrorForAction","completeHardNavigation","redirectWithBasepath","createHrefFromUrl","hasBasePath","removeBasePath","origin","currentUrl","currentRenderedSearch","renderedSearch","redirectUrl","currentFlightRouterState","scrollBehavior","ScrollBehavior","Default","freshnessPolicy","FreshnessPolicy","RefreshAll","redirectCanonicalUrl","now","Date","redirectSeed","convertServerPatchToFullTree","UnknownDynamicStaleTime","metadataVaryPath","discoverKnownRoute","pathname","routeTree","navigateToKnownRoute","cache","navigate","e","resolvedRedirectType","getRedirectError","handled"],"mappings":"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","ignoreList":[0]} |
@@ -198,2 +198,10 @@ "use strict"; | ||
| */ function hasNetworkBandwidth(task) { | ||
| // When offline, don't issue any prefetch requests. The scheduler will be | ||
| // re-pinged when connectivity is restored. | ||
| if (process.env.__NEXT_USE_OFFLINE) { | ||
| const { getOffline } = require('../offline'); | ||
| if (getOffline()) { | ||
| return false; | ||
| } | ||
| } | ||
| // Check if we're within the revalidation cooldown window | ||
@@ -200,0 +208,0 @@ if (revalidationCooldownTimeoutHandle !== null) { |
@@ -63,3 +63,3 @@ /* global location */ // imports polyfill from `@next/polyfill-module` after build. | ||
| const _isnextroutererror = require("./components/is-next-router-error"); | ||
| const version = "16.2.1-canary.11"; | ||
| const version = "16.2.1-canary.12"; | ||
| let router; | ||
@@ -66,0 +66,0 @@ const emitter = (0, _mitt.default)(); |
@@ -425,3 +425,3 @@ /** | ||
| }; | ||
| exports.version = "19.3.0-experimental-3cb2c420-20260324"; | ||
| exports.version = "19.3.0-experimental-9627b5a1-20260327"; | ||
| "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && | ||
@@ -428,0 +428,0 @@ "function" === |
@@ -216,2 +216,2 @@ /** | ||
| }; | ||
| exports.version = "19.3.0-experimental-3cb2c420-20260324"; | ||
| exports.version = "19.3.0-experimental-9627b5a1-20260327"; |
@@ -339,3 +339,3 @@ /** | ||
| }; | ||
| exports.version = "19.3.0-experimental-3cb2c420-20260324"; | ||
| exports.version = "19.3.0-experimental-9627b5a1-20260327"; | ||
| })(); |
@@ -152,2 +152,2 @@ /** | ||
| }; | ||
| exports.version = "19.3.0-experimental-3cb2c420-20260324"; | ||
| exports.version = "19.3.0-experimental-9627b5a1-20260327"; |
@@ -75,6 +75,6 @@ { | ||
| "dependencies": { | ||
| "scheduler": "0.0.0-experimental-3cb2c420-20260324" | ||
| "scheduler": "0.0.0-experimental-9627b5a1-20260327" | ||
| }, | ||
| "peerDependencies": { | ||
| "react": "0.0.0-experimental-3cb2c420-20260324" | ||
| "react": "0.0.0-experimental-9627b5a1-20260327" | ||
| }, | ||
@@ -81,0 +81,0 @@ "browser": { |
@@ -425,3 +425,3 @@ /** | ||
| }; | ||
| exports.version = "19.3.0-canary-3cb2c420-20260324"; | ||
| exports.version = "19.3.0-canary-9627b5a1-20260327"; | ||
| "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && | ||
@@ -428,0 +428,0 @@ "function" === |
@@ -216,2 +216,2 @@ /** | ||
| }; | ||
| exports.version = "19.3.0-canary-3cb2c420-20260324"; | ||
| exports.version = "19.3.0-canary-9627b5a1-20260327"; |
@@ -339,3 +339,3 @@ /** | ||
| }; | ||
| exports.version = "19.3.0-canary-3cb2c420-20260324"; | ||
| exports.version = "19.3.0-canary-9627b5a1-20260327"; | ||
| })(); |
@@ -152,2 +152,2 @@ /** | ||
| }; | ||
| exports.version = "19.3.0-canary-3cb2c420-20260324"; | ||
| exports.version = "19.3.0-canary-9627b5a1-20260327"; |
@@ -70,6 +70,6 @@ { | ||
| "dependencies": { | ||
| "scheduler": "0.28.0-canary-3cb2c420-20260324" | ||
| "scheduler": "0.28.0-canary-9627b5a1-20260327" | ||
| }, | ||
| "peerDependencies": { | ||
| "react": "19.3.0-canary-3cb2c420-20260324" | ||
| "react": "19.3.0-canary-9627b5a1-20260327" | ||
| }, | ||
@@ -76,0 +76,0 @@ "browser": { |
@@ -1394,3 +1394,3 @@ /** | ||
| }; | ||
| exports.version = "19.3.0-experimental-3cb2c420-20260324"; | ||
| exports.version = "19.3.0-experimental-9627b5a1-20260327"; | ||
| "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && | ||
@@ -1397,0 +1397,0 @@ "function" === |
@@ -616,2 +616,2 @@ /** | ||
| }; | ||
| exports.version = "19.3.0-experimental-3cb2c420-20260324"; | ||
| exports.version = "19.3.0-experimental-9627b5a1-20260327"; |
@@ -1064,3 +1064,3 @@ /** | ||
| }; | ||
| exports.version = "19.3.0-experimental-3cb2c420-20260324"; | ||
| exports.version = "19.3.0-experimental-9627b5a1-20260327"; | ||
| })(); |
@@ -582,2 +582,2 @@ /** | ||
| }; | ||
| exports.version = "19.3.0-experimental-3cb2c420-20260324"; | ||
| exports.version = "19.3.0-experimental-9627b5a1-20260327"; |
| { | ||
| "name": "react-is", | ||
| "version": "19.3.0-canary-3cb2c420-20260324", | ||
| "version": "19.3.0-canary-9627b5a1-20260327", | ||
| "description": "Brand checking of React Elements.", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
@@ -51,5 +51,5 @@ { | ||
| "peerDependencies": { | ||
| "react": "0.0.0-experimental-3cb2c420-20260324", | ||
| "react-dom": "0.0.0-experimental-3cb2c420-20260324" | ||
| "react": "0.0.0-experimental-9627b5a1-20260327", | ||
| "react-dom": "0.0.0-experimental-9627b5a1-20260327" | ||
| } | ||
| } |
@@ -51,5 +51,5 @@ { | ||
| "peerDependencies": { | ||
| "react": "19.3.0-canary-3cb2c420-20260324", | ||
| "react-dom": "19.3.0-canary-3cb2c420-20260324" | ||
| "react": "19.3.0-canary-9627b5a1-20260327", | ||
| "react-dom": "19.3.0-canary-9627b5a1-20260327" | ||
| } | ||
| } |
@@ -55,6 +55,6 @@ { | ||
| "peerDependencies": { | ||
| "react": "0.0.0-experimental-3cb2c420-20260324", | ||
| "react-dom": "0.0.0-experimental-3cb2c420-20260324", | ||
| "react": "0.0.0-experimental-9627b5a1-20260327", | ||
| "react-dom": "0.0.0-experimental-9627b5a1-20260327", | ||
| "webpack": "^5.59.0" | ||
| } | ||
| } |
@@ -55,6 +55,6 @@ { | ||
| "peerDependencies": { | ||
| "react": "19.3.0-canary-3cb2c420-20260324", | ||
| "react-dom": "19.3.0-canary-3cb2c420-20260324", | ||
| "react": "19.3.0-canary-9627b5a1-20260327", | ||
| "react-dom": "19.3.0-canary-9627b5a1-20260327", | ||
| "webpack": "^5.59.0" | ||
| } | ||
| } |
@@ -1325,3 +1325,3 @@ /** | ||
| }; | ||
| exports.version = "19.3.0-canary-3cb2c420-20260324"; | ||
| exports.version = "19.3.0-canary-9627b5a1-20260327"; | ||
| "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && | ||
@@ -1328,0 +1328,0 @@ "function" === |
@@ -565,2 +565,2 @@ /** | ||
| }; | ||
| exports.version = "19.3.0-canary-3cb2c420-20260324"; | ||
| exports.version = "19.3.0-canary-9627b5a1-20260327"; |
@@ -877,3 +877,3 @@ /** | ||
| }; | ||
| exports.version = "19.3.0-canary-3cb2c420-20260324"; | ||
| exports.version = "19.3.0-canary-9627b5a1-20260327"; | ||
| })(); |
@@ -436,2 +436,2 @@ /** | ||
| }; | ||
| exports.version = "19.3.0-canary-3cb2c420-20260324"; | ||
| exports.version = "19.3.0-canary-9627b5a1-20260327"; |
@@ -1,1 +0,1 @@ | ||
| (()=>{var t={525:t=>{function n(t,i){for(var _ in i)t[_]=i[_];return t}t.exports=function(t){var i=[];function u(t){for(var _=[],a=0;a<i.length;a++)i[a]===t?t=null:_.push(i[a]);i=_}function e(_,a,f){t=a?_:n(n({},t),_);for(var o=i,c=0;c<o.length;c++)o[c](t,f)}return t=t||{},{action:function(i){function r(t){e(t,!1,i)}return function(){for(var _=arguments,a=[t],f=0;f<arguments.length;f++)a.push(_[f]);var o=i.apply(this,a);if(null!=o)return o.then?o.then(r):r(o)}},setState:e,subscribe:function(t){return i.push(t),function(){u(t)}},unsubscribe:u,getState:function(){return t}}}}};var i={};function __nccwpck_require__(_){var a=i[_];if(a!==undefined){return a.exports}var f=i[_]={exports:{}};var o=true;try{t[_](f,f.exports,__nccwpck_require__);o=false}finally{if(o)delete i[_]}return f.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var _=__nccwpck_require__(525);module.exports=_})(); | ||
| (()=>{var t={331:t=>{function n(t,i){for(var _ in i)t[_]=i[_];return t}t.exports=function(t){var i=[];function u(t){for(var _=[],a=0;a<i.length;a++)i[a]===t?t=null:_.push(i[a]);i=_}function e(_,a,f){t=a?_:n(n({},t),_);for(var o=i,c=0;c<o.length;c++)o[c](t,f)}return t=t||{},{action:function(i){function r(t){e(t,!1,i)}return function(){for(var _=arguments,a=[t],f=0;f<arguments.length;f++)a.push(_[f]);var o=i.apply(this,a);if(null!=o)return o.then?o.then(r):r(o)}},setState:e,subscribe:function(t){return i.push(t),function(){u(t)}},unsubscribe:u,getState:function(){return t}}}}};var i={};function __nccwpck_require__(_){var a=i[_];if(a!==undefined){return a.exports}var f=i[_]={exports:{}};var o=true;try{t[_](f,f.exports,__nccwpck_require__);o=false}finally{if(o)delete i[_]}return f.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var _=__nccwpck_require__(331);module.exports=_})(); |
@@ -107,2 +107,3 @@ import path from 'node:path'; | ||
| 'process.env.__NEXT_DYNAMIC_ON_HOVER': Boolean(config.experimental.dynamicOnHover), | ||
| 'process.env.__NEXT_USE_OFFLINE': Boolean(config.experimental.useOffline), | ||
| 'process.env.__NEXT_PREFETCH_INLINING': Boolean(config.experimental.prefetchInlining), | ||
@@ -109,0 +110,0 @@ 'process.env.__NEXT_OPTIMISTIC_CLIENT_CACHE': config.experimental.optimisticClientCache ?? true, |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../../../src/build/define-env.ts"],"sourcesContent":["import type {\n I18NConfig,\n I18NDomains,\n NextConfigComplete,\n} from '../server/config-shared'\nimport type { ProxyMatcher } from './analysis/get-page-static-info'\nimport type { Rewrite } from '../lib/load-custom-routes'\nimport path from 'node:path'\nimport { needsExperimentalReact } from '../lib/needs-experimental-react'\nimport { checkIsAppPPREnabled } from '../server/lib/experimental/ppr'\nimport {\n getNextConfigEnv,\n getNextPublicEnvironmentVariables,\n} from '../lib/static-env'\n\ntype BloomFilter = ReturnType<\n import('../shared/lib/bloom-filter').BloomFilter['export']\n>\n\nexport interface DefineEnvOptions {\n isTurbopack: boolean\n clientRouterFilters?: {\n staticFilter: BloomFilter\n dynamicFilter: BloomFilter\n }\n config: NextConfigComplete\n dev: boolean\n distDir: string\n projectPath: string\n fetchCacheKeyPrefix: string | undefined\n hasRewrites: boolean\n isClient: boolean\n isEdgeServer: boolean\n isNodeServer: boolean\n middlewareMatchers: ProxyMatcher[] | undefined\n omitNonDeterministic?: boolean\n rewrites: {\n beforeFiles: Rewrite[]\n afterFiles: Rewrite[]\n fallback: Rewrite[]\n }\n}\n\nconst DEFINE_ENV_EXPRESSION = Symbol('DEFINE_ENV_EXPRESSION')\n\ninterface DefineEnv {\n [key: string]:\n | string\n | string[]\n | boolean\n | { [DEFINE_ENV_EXPRESSION]: string }\n | ProxyMatcher[]\n | BloomFilter\n | Partial<NextConfigComplete['images']>\n | I18NDomains\n | I18NConfig\n}\n\ninterface SerializedDefineEnv {\n [key: string]: string\n}\n\n/**\n * Serializes the DefineEnv config so that it can be inserted into the code by Webpack/Turbopack, JSON stringifies each value.\n */\nfunction serializeDefineEnv(defineEnv: DefineEnv): SerializedDefineEnv {\n const defineEnvStringified: SerializedDefineEnv = Object.fromEntries(\n Object.entries(defineEnv).map(([key, value]) => [\n key,\n typeof value === 'object' && DEFINE_ENV_EXPRESSION in value\n ? value[DEFINE_ENV_EXPRESSION]\n : JSON.stringify(value),\n ])\n )\n return defineEnvStringified\n}\n\nfunction getImageConfig(\n config: NextConfigComplete,\n dev: boolean\n): { 'process.env.__NEXT_IMAGE_OPTS': Partial<NextConfigComplete['images']> } {\n return {\n 'process.env.__NEXT_IMAGE_OPTS': {\n deviceSizes: config.images.deviceSizes,\n imageSizes: config.images.imageSizes,\n qualities: config.images.qualities,\n path: config.images.path,\n loader: config.images.loader,\n dangerouslyAllowSVG: config.images.dangerouslyAllowSVG,\n unoptimized: config?.images?.unoptimized,\n ...(dev\n ? {\n // additional config in dev to allow validating on the client\n domains: config.images.domains,\n remotePatterns: config.images?.remotePatterns,\n localPatterns: config.images?.localPatterns,\n output: config.output,\n }\n : {}),\n },\n }\n}\n\nexport function getDefineEnv({\n isTurbopack,\n clientRouterFilters,\n config,\n dev,\n distDir,\n projectPath,\n fetchCacheKeyPrefix,\n hasRewrites,\n isClient,\n isEdgeServer,\n isNodeServer,\n middlewareMatchers,\n omitNonDeterministic,\n rewrites,\n}: DefineEnvOptions): SerializedDefineEnv {\n const nextPublicEnv = getNextPublicEnvironmentVariables()\n const nextConfigEnv = getNextConfigEnv(config)\n\n const isPPREnabled = checkIsAppPPREnabled(config.experimental.ppr)\n const isCacheComponentsEnabled = !!config.cacheComponents\n const isUseCacheEnabled = !!config.experimental.useCache\n const isUseNodeStreamsEnabled = !!config.experimental.useNodeStreams\n\n const defineEnv: DefineEnv = {\n // internal field to identify the plugin config\n __NEXT_DEFINE_ENV: true,\n\n ...nextPublicEnv,\n ...nextConfigEnv,\n ...(!isEdgeServer\n ? {}\n : {\n EdgeRuntime:\n /**\n * Cloud providers can set this environment variable to allow users\n * and library authors to have different implementations based on\n * the runtime they are running with, if it's not using `edge-runtime`\n */\n process.env.NEXT_EDGE_RUNTIME_PROVIDER ?? 'edge-runtime',\n\n // process should be only { env: {...} } for edge runtime.\n // For ignore avoid warn on `process.emit` usage but directly omit it.\n 'process.emit': false,\n }),\n 'process.turbopack': isTurbopack,\n 'process.env.TURBOPACK': isTurbopack,\n 'process.env.__NEXT_BUNDLER': isTurbopack\n ? 'Turbopack'\n : process.env.NEXT_RSPACK\n ? 'Rspack'\n : 'Webpack',\n // TODO: enforce `NODE_ENV` on `process.env`, and add a test:\n 'process.env.NODE_ENV':\n dev || config.experimental.allowDevelopmentBuild\n ? 'development'\n : 'production',\n 'process.env.__NEXT_DEV_SERVER': dev ? '1' : '',\n 'process.env.NEXT_RUNTIME': isEdgeServer\n ? 'edge'\n : isNodeServer\n ? 'nodejs'\n : '',\n 'process.env.NEXT_MINIMAL': '',\n 'process.env.__NEXT_APP_NAV_FAIL_HANDLING': Boolean(\n config.experimental.appNavFailHandling\n ),\n 'process.env.__NEXT_APP_NEW_SCROLL_HANDLER': Boolean(\n config.experimental.appNewScrollHandler\n ),\n 'process.env.__NEXT_PPR': isPPREnabled,\n 'process.env.__NEXT_CACHE_COMPONENTS': isCacheComponentsEnabled,\n 'process.env.__NEXT_EXPERIMENTAL_CACHED_NAVIGATIONS': Boolean(\n config.experimental.cachedNavigations\n ),\n 'process.env.__NEXT_INSTANT_NAV_TOGGLE':\n !!config.experimental.instantNavigationDevToolsToggle,\n 'process.env.__NEXT_USE_CACHE': isUseCacheEnabled,\n 'process.env.__NEXT_USE_NODE_STREAMS': isEdgeServer\n ? false\n : isUseNodeStreamsEnabled,\n\n 'process.env.NEXT_IMMUTABLE_ASSET_TOKEN':\n config.experimental.immutableAssetToken || '',\n\n ...(config.experimental?.useSkewCookie || !config.deploymentId\n ? {\n 'process.env.NEXT_DEPLOYMENT_ID': false,\n }\n : isClient\n ? isTurbopack\n ? {\n // This is set at runtime by packages/next/src/client/register-deployment-id-global.ts\n 'process.env.NEXT_DEPLOYMENT_ID': {\n [DEFINE_ENV_EXPRESSION]: 'globalThis.NEXT_DEPLOYMENT_ID',\n },\n }\n : {\n // For Webpack, we currently don't use the non-inlining globalThis.NEXT_DEPLOYMENT_ID\n // approach because we cannot forward this global variable to web workers easily.\n 'process.env.NEXT_DEPLOYMENT_ID': config.deploymentId || false,\n }\n : config.experimental?.runtimeServerDeploymentId\n ? {\n // Don't inline at all, keep process.env.NEXT_DEPLOYMENT_ID as is\n }\n : {\n 'process.env.NEXT_DEPLOYMENT_ID': config.deploymentId || false,\n }),\n\n // Propagates the `__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING` environment\n // variable to the client.\n 'process.env.__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING':\n process.env.__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING || false,\n 'process.env.__NEXT_FETCH_CACHE_KEY_PREFIX': fetchCacheKeyPrefix ?? '',\n ...(isTurbopack\n ? {}\n : {\n 'process.env.__NEXT_MIDDLEWARE_MATCHERS': middlewareMatchers ?? [],\n }),\n 'process.env.__NEXT_MANUAL_CLIENT_BASE_PATH':\n config.experimental.manualClientBasePath ?? false,\n 'process.env.__NEXT_CLIENT_ROUTER_DYNAMIC_STALETIME': JSON.stringify(\n isNaN(Number(config.experimental.staleTimes?.dynamic))\n ? 0\n : config.experimental.staleTimes?.dynamic\n ),\n 'process.env.__NEXT_CLIENT_ROUTER_STATIC_STALETIME': JSON.stringify(\n isNaN(Number(config.experimental.staleTimes?.static))\n ? 5 * 60 // 5 minutes\n : config.experimental.staleTimes?.static\n ),\n 'process.env.__NEXT_CLIENT_ROUTER_FILTER_ENABLED':\n config.experimental.clientRouterFilter ?? true,\n 'process.env.__NEXT_CLIENT_ROUTER_S_FILTER':\n clientRouterFilters?.staticFilter ?? false,\n 'process.env.__NEXT_CLIENT_ROUTER_D_FILTER':\n clientRouterFilters?.dynamicFilter ?? false,\n 'process.env.__NEXT_CLIENT_VALIDATE_RSC_REQUEST_HEADERS': Boolean(\n config.experimental.validateRSCRequestHeaders\n ),\n 'process.env.__NEXT_DYNAMIC_ON_HOVER': Boolean(\n config.experimental.dynamicOnHover\n ),\n 'process.env.__NEXT_PREFETCH_INLINING': Boolean(\n config.experimental.prefetchInlining\n ),\n 'process.env.__NEXT_OPTIMISTIC_CLIENT_CACHE':\n config.experimental.optimisticClientCache ?? true,\n 'process.env.__NEXT_MIDDLEWARE_PREFETCH':\n config.experimental.proxyPrefetch ?? 'flexible',\n 'process.env.__NEXT_CROSS_ORIGIN': config.crossOrigin,\n 'process.browser': isClient,\n 'process.env.__NEXT_TEST_MODE': process.env.__NEXT_TEST_MODE ?? false,\n // This is used in client/dev-error-overlay/hot-dev-client.js to replace the dist directory\n ...(dev && (isClient ?? isEdgeServer)\n ? {\n 'process.env.__NEXT_DIST_DIR': distDir,\n }\n : {}),\n // This is used in devtools to strip the project path in edge runtime,\n // as there's only a dummy `dir` value (`.`) as edge runtime doesn't have concept of file system.\n ...(dev && isEdgeServer\n ? {\n 'process.env.__NEXT_EDGE_PROJECT_DIR': isTurbopack\n ? path.relative(process.cwd(), projectPath)\n : projectPath,\n }\n : {}),\n 'process.env.__NEXT_BASE_PATH': config.basePath,\n 'process.env.__NEXT_CASE_SENSITIVE_ROUTES': Boolean(\n config.experimental.caseSensitiveRoutes\n ),\n 'process.env.__NEXT_REWRITES': rewrites as any,\n 'process.env.__NEXT_TRAILING_SLASH': config.trailingSlash,\n 'process.env.__NEXT_DEV_INDICATOR': config.devIndicators !== false,\n 'process.env.__NEXT_DEV_INDICATOR_POSITION':\n config.devIndicators === false\n ? 'bottom-left' // This will not be used as the indicator is disabled.\n : (config.devIndicators.position ?? 'bottom-left'),\n 'process.env.__NEXT_STRICT_MODE':\n config.reactStrictMode === null ? false : config.reactStrictMode,\n 'process.env.__NEXT_STRICT_MODE_APP':\n // When next.config.js does not have reactStrictMode it's enabled by default.\n config.reactStrictMode === null ? true : config.reactStrictMode,\n 'process.env.__NEXT_OPTIMIZE_CSS':\n (config.experimental.optimizeCss && !dev) ?? false,\n 'process.env.__NEXT_SCRIPT_WORKERS':\n (config.experimental.nextScriptWorkers && !dev) ?? false,\n 'process.env.__NEXT_SCROLL_RESTORATION':\n config.experimental.scrollRestoration ?? false,\n ...getImageConfig(config, dev),\n 'process.env.__NEXT_ROUTER_BASEPATH': config.basePath,\n 'process.env.__NEXT_HAS_REWRITES': hasRewrites,\n 'process.env.__NEXT_CONFIG_OUTPUT': config.output,\n 'process.env.__NEXT_I18N_SUPPORT': !!config.i18n,\n 'process.env.__NEXT_I18N_DOMAINS': config.i18n?.domains ?? false,\n 'process.env.__NEXT_I18N_CONFIG': config.i18n || '',\n 'process.env.__NEXT_NO_MIDDLEWARE_URL_NORMALIZE':\n config.skipProxyUrlNormalize,\n 'process.env.__NEXT_EXTERNAL_MIDDLEWARE_REWRITE_RESOLVE':\n config.experimental.externalProxyRewritesResolve ?? false,\n 'process.env.__NEXT_MANUAL_TRAILING_SLASH':\n config.skipTrailingSlashRedirect,\n 'process.env.__NEXT_HAS_WEB_VITALS_ATTRIBUTION':\n (config.experimental.webVitalsAttribution &&\n config.experimental.webVitalsAttribution.length > 0) ??\n false,\n 'process.env.__NEXT_WEB_VITALS_ATTRIBUTION':\n config.experimental.webVitalsAttribution ?? false,\n 'process.env.__NEXT_LINK_NO_TOUCH_START':\n config.experimental.linkNoTouchStart ?? false,\n 'process.env.__NEXT_ASSET_PREFIX': config.assetPrefix,\n 'process.env.__NEXT_EXPERIMENTAL_AUTH_INTERRUPTS':\n !!config.experimental.authInterrupts,\n 'process.env.__NEXT_TELEMETRY_DISABLED': Boolean(\n process.env.NEXT_TELEMETRY_DISABLED\n ),\n ...(isNodeServer || isEdgeServer\n ? {\n // Fix bad-actors in the npm ecosystem (e.g. `node-formidable`)\n // This is typically found in unmaintained modules from the\n // pre-webpack era (common in server-side code)\n 'global.GENTLY': false,\n }\n : undefined),\n ...(isNodeServer || isEdgeServer\n ? {\n 'process.env.__NEXT_EXPERIMENTAL_REACT':\n needsExperimentalReact(config),\n }\n : undefined),\n\n 'process.env.__NEXT_MULTI_ZONE_DRAFT_MODE':\n config.experimental.multiZoneDraftMode ?? false,\n 'process.env.__NEXT_TRUST_HOST_HEADER':\n config.experimental.trustHostHeader ?? false,\n 'process.env.__NEXT_ALLOWED_REVALIDATE_HEADERS':\n config.experimental.allowedRevalidateHeaderKeys ?? [],\n ...(isNodeServer || isEdgeServer\n ? {\n 'process.env.__NEXT_RELATIVE_DIST_DIR': config.distDir,\n 'process.env.__NEXT_RELATIVE_PROJECT_DIR': path.relative(\n process.cwd(),\n projectPath\n ),\n }\n : {}),\n\n 'process.env.__NEXT_BROWSER_DEBUG_INFO_IN_TERMINAL': JSON.stringify(\n (config.logging && config.logging.browserToTerminal) || false\n ),\n 'process.env.__NEXT_MCP_SERVER': !!config.experimental.mcpServer,\n\n // The devtools need to know whether or not to show an option to clear the\n // bundler cache. This option may be removed later once Turbopack's\n // filesystem cache feature is more stable.\n //\n // This environment value is currently best-effort:\n // - It's possible to disable the webpack filesystem cache, but it's\n // unlikely for a user to do that.\n // - Rspack's filesystem cache is unstable and requires a different\n // configuration than webpack to enable (which we don't do).\n //\n // In the worst case we'll show an option to clear the cache, but it'll be a\n // no-op that just restarts the development server.\n 'process.env.__NEXT_BUNDLER_HAS_PERSISTENT_CACHE':\n !isTurbopack ||\n (config.experimental.turbopackFileSystemCacheForDev ?? false),\n 'process.env.__NEXT_REACT_DEBUG_CHANNEL':\n config.experimental.reactDebugChannel ?? false,\n 'process.env.__NEXT_TRANSITION_INDICATOR':\n config.experimental.transitionIndicator ?? false,\n 'process.env.__NEXT_GESTURE_TRANSITION':\n config.experimental.gestureTransition ?? false,\n 'process.env.__NEXT_OPTIMISTIC_ROUTING':\n config.experimental.optimisticRouting ?? false,\n 'process.env.__NEXT_VARY_PARAMS': config.experimental.varyParams ?? false,\n 'process.env.__NEXT_EXPOSE_TESTING_API':\n dev || config.experimental.exposeTestingApiInProductionBuild === true,\n 'process.env.__NEXT_CACHE_LIFE': config.cacheLife,\n 'process.env.__NEXT_CLIENT_PARAM_PARSING_ORIGINS':\n config.experimental.clientParamParsingOrigins || [],\n }\n\n const userDefines = config.compiler?.define ?? {}\n for (const key in userDefines) {\n if (defineEnv.hasOwnProperty(key)) {\n throw new Error(\n `The \\`compiler.define\\` option is configured to replace the \\`${key}\\` variable. This variable is either part of a Next.js built-in or is already configured.`\n )\n }\n defineEnv[key] = userDefines[key]\n }\n\n if (isNodeServer || isEdgeServer) {\n const userDefinesServer = config.compiler?.defineServer ?? {}\n for (const key in userDefinesServer) {\n if (defineEnv.hasOwnProperty(key)) {\n throw new Error(\n `The \\`compiler.defineServer\\` option is configured to replace the \\`${key}\\` variable. This variable is either part of a Next.js built-in or is already configured.`\n )\n }\n defineEnv[key] = userDefinesServer[key]\n }\n }\n\n const serializedDefineEnv = serializeDefineEnv(defineEnv)\n\n // we delay inlining these values until after the build\n // with flying shuttle enabled so we can update them\n // without invalidating entries\n if (!dev && omitNonDeterministic) {\n // client uses window. instead of leaving process.env\n // in case process isn't polyfilled on client already\n // since by this point it won't be added by webpack\n const safeKey = (key: string) =>\n isClient ? `window.${key.split('.').pop()}` : key\n\n for (const key in nextPublicEnv) {\n serializedDefineEnv[key] = safeKey(key)\n }\n for (const key in nextConfigEnv) {\n serializedDefineEnv[key] = safeKey(key)\n }\n if (!config.experimental.runtimeServerDeploymentId) {\n for (const key of ['process.env.NEXT_DEPLOYMENT_ID']) {\n serializedDefineEnv[key] = safeKey(key)\n }\n }\n }\n\n return serializedDefineEnv\n}\n"],"names":["path","needsExperimentalReact","checkIsAppPPREnabled","getNextConfigEnv","getNextPublicEnvironmentVariables","DEFINE_ENV_EXPRESSION","Symbol","serializeDefineEnv","defineEnv","defineEnvStringified","Object","fromEntries","entries","map","key","value","JSON","stringify","getImageConfig","config","dev","deviceSizes","images","imageSizes","qualities","loader","dangerouslyAllowSVG","unoptimized","domains","remotePatterns","localPatterns","output","getDefineEnv","isTurbopack","clientRouterFilters","distDir","projectPath","fetchCacheKeyPrefix","hasRewrites","isClient","isEdgeServer","isNodeServer","middlewareMatchers","omitNonDeterministic","rewrites","nextPublicEnv","nextConfigEnv","isPPREnabled","experimental","ppr","isCacheComponentsEnabled","cacheComponents","isUseCacheEnabled","useCache","isUseNodeStreamsEnabled","useNodeStreams","__NEXT_DEFINE_ENV","EdgeRuntime","process","env","NEXT_EDGE_RUNTIME_PROVIDER","NEXT_RSPACK","allowDevelopmentBuild","Boolean","appNavFailHandling","appNewScrollHandler","cachedNavigations","instantNavigationDevToolsToggle","immutableAssetToken","useSkewCookie","deploymentId","runtimeServerDeploymentId","__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING","manualClientBasePath","isNaN","Number","staleTimes","dynamic","static","clientRouterFilter","staticFilter","dynamicFilter","validateRSCRequestHeaders","dynamicOnHover","prefetchInlining","optimisticClientCache","proxyPrefetch","crossOrigin","__NEXT_TEST_MODE","relative","cwd","basePath","caseSensitiveRoutes","trailingSlash","devIndicators","position","reactStrictMode","optimizeCss","nextScriptWorkers","scrollRestoration","i18n","skipProxyUrlNormalize","externalProxyRewritesResolve","skipTrailingSlashRedirect","webVitalsAttribution","length","linkNoTouchStart","assetPrefix","authInterrupts","NEXT_TELEMETRY_DISABLED","undefined","multiZoneDraftMode","trustHostHeader","allowedRevalidateHeaderKeys","logging","browserToTerminal","mcpServer","turbopackFileSystemCacheForDev","reactDebugChannel","transitionIndicator","gestureTransition","optimisticRouting","varyParams","exposeTestingApiInProductionBuild","cacheLife","clientParamParsingOrigins","userDefines","compiler","define","hasOwnProperty","Error","userDefinesServer","defineServer","serializedDefineEnv","safeKey","split","pop"],"mappings":"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","ignoreList":[0]} | ||
| {"version":3,"sources":["../../../src/build/define-env.ts"],"sourcesContent":["import type {\n I18NConfig,\n I18NDomains,\n NextConfigComplete,\n} from '../server/config-shared'\nimport type { ProxyMatcher } from './analysis/get-page-static-info'\nimport type { Rewrite } from '../lib/load-custom-routes'\nimport path from 'node:path'\nimport { needsExperimentalReact } from '../lib/needs-experimental-react'\nimport { checkIsAppPPREnabled } from '../server/lib/experimental/ppr'\nimport {\n getNextConfigEnv,\n getNextPublicEnvironmentVariables,\n} from '../lib/static-env'\n\ntype BloomFilter = ReturnType<\n import('../shared/lib/bloom-filter').BloomFilter['export']\n>\n\nexport interface DefineEnvOptions {\n isTurbopack: boolean\n clientRouterFilters?: {\n staticFilter: BloomFilter\n dynamicFilter: BloomFilter\n }\n config: NextConfigComplete\n dev: boolean\n distDir: string\n projectPath: string\n fetchCacheKeyPrefix: string | undefined\n hasRewrites: boolean\n isClient: boolean\n isEdgeServer: boolean\n isNodeServer: boolean\n middlewareMatchers: ProxyMatcher[] | undefined\n omitNonDeterministic?: boolean\n rewrites: {\n beforeFiles: Rewrite[]\n afterFiles: Rewrite[]\n fallback: Rewrite[]\n }\n}\n\nconst DEFINE_ENV_EXPRESSION = Symbol('DEFINE_ENV_EXPRESSION')\n\ninterface DefineEnv {\n [key: string]:\n | string\n | string[]\n | boolean\n | { [DEFINE_ENV_EXPRESSION]: string }\n | ProxyMatcher[]\n | BloomFilter\n | Partial<NextConfigComplete['images']>\n | I18NDomains\n | I18NConfig\n}\n\ninterface SerializedDefineEnv {\n [key: string]: string\n}\n\n/**\n * Serializes the DefineEnv config so that it can be inserted into the code by Webpack/Turbopack, JSON stringifies each value.\n */\nfunction serializeDefineEnv(defineEnv: DefineEnv): SerializedDefineEnv {\n const defineEnvStringified: SerializedDefineEnv = Object.fromEntries(\n Object.entries(defineEnv).map(([key, value]) => [\n key,\n typeof value === 'object' && DEFINE_ENV_EXPRESSION in value\n ? value[DEFINE_ENV_EXPRESSION]\n : JSON.stringify(value),\n ])\n )\n return defineEnvStringified\n}\n\nfunction getImageConfig(\n config: NextConfigComplete,\n dev: boolean\n): { 'process.env.__NEXT_IMAGE_OPTS': Partial<NextConfigComplete['images']> } {\n return {\n 'process.env.__NEXT_IMAGE_OPTS': {\n deviceSizes: config.images.deviceSizes,\n imageSizes: config.images.imageSizes,\n qualities: config.images.qualities,\n path: config.images.path,\n loader: config.images.loader,\n dangerouslyAllowSVG: config.images.dangerouslyAllowSVG,\n unoptimized: config?.images?.unoptimized,\n ...(dev\n ? {\n // additional config in dev to allow validating on the client\n domains: config.images.domains,\n remotePatterns: config.images?.remotePatterns,\n localPatterns: config.images?.localPatterns,\n output: config.output,\n }\n : {}),\n },\n }\n}\n\nexport function getDefineEnv({\n isTurbopack,\n clientRouterFilters,\n config,\n dev,\n distDir,\n projectPath,\n fetchCacheKeyPrefix,\n hasRewrites,\n isClient,\n isEdgeServer,\n isNodeServer,\n middlewareMatchers,\n omitNonDeterministic,\n rewrites,\n}: DefineEnvOptions): SerializedDefineEnv {\n const nextPublicEnv = getNextPublicEnvironmentVariables()\n const nextConfigEnv = getNextConfigEnv(config)\n\n const isPPREnabled = checkIsAppPPREnabled(config.experimental.ppr)\n const isCacheComponentsEnabled = !!config.cacheComponents\n const isUseCacheEnabled = !!config.experimental.useCache\n const isUseNodeStreamsEnabled = !!config.experimental.useNodeStreams\n\n const defineEnv: DefineEnv = {\n // internal field to identify the plugin config\n __NEXT_DEFINE_ENV: true,\n\n ...nextPublicEnv,\n ...nextConfigEnv,\n ...(!isEdgeServer\n ? {}\n : {\n EdgeRuntime:\n /**\n * Cloud providers can set this environment variable to allow users\n * and library authors to have different implementations based on\n * the runtime they are running with, if it's not using `edge-runtime`\n */\n process.env.NEXT_EDGE_RUNTIME_PROVIDER ?? 'edge-runtime',\n\n // process should be only { env: {...} } for edge runtime.\n // For ignore avoid warn on `process.emit` usage but directly omit it.\n 'process.emit': false,\n }),\n 'process.turbopack': isTurbopack,\n 'process.env.TURBOPACK': isTurbopack,\n 'process.env.__NEXT_BUNDLER': isTurbopack\n ? 'Turbopack'\n : process.env.NEXT_RSPACK\n ? 'Rspack'\n : 'Webpack',\n // TODO: enforce `NODE_ENV` on `process.env`, and add a test:\n 'process.env.NODE_ENV':\n dev || config.experimental.allowDevelopmentBuild\n ? 'development'\n : 'production',\n 'process.env.__NEXT_DEV_SERVER': dev ? '1' : '',\n 'process.env.NEXT_RUNTIME': isEdgeServer\n ? 'edge'\n : isNodeServer\n ? 'nodejs'\n : '',\n 'process.env.NEXT_MINIMAL': '',\n 'process.env.__NEXT_APP_NAV_FAIL_HANDLING': Boolean(\n config.experimental.appNavFailHandling\n ),\n 'process.env.__NEXT_APP_NEW_SCROLL_HANDLER': Boolean(\n config.experimental.appNewScrollHandler\n ),\n 'process.env.__NEXT_PPR': isPPREnabled,\n 'process.env.__NEXT_CACHE_COMPONENTS': isCacheComponentsEnabled,\n 'process.env.__NEXT_EXPERIMENTAL_CACHED_NAVIGATIONS': Boolean(\n config.experimental.cachedNavigations\n ),\n 'process.env.__NEXT_INSTANT_NAV_TOGGLE':\n !!config.experimental.instantNavigationDevToolsToggle,\n 'process.env.__NEXT_USE_CACHE': isUseCacheEnabled,\n 'process.env.__NEXT_USE_NODE_STREAMS': isEdgeServer\n ? false\n : isUseNodeStreamsEnabled,\n\n 'process.env.NEXT_IMMUTABLE_ASSET_TOKEN':\n config.experimental.immutableAssetToken || '',\n\n ...(config.experimental?.useSkewCookie || !config.deploymentId\n ? {\n 'process.env.NEXT_DEPLOYMENT_ID': false,\n }\n : isClient\n ? isTurbopack\n ? {\n // This is set at runtime by packages/next/src/client/register-deployment-id-global.ts\n 'process.env.NEXT_DEPLOYMENT_ID': {\n [DEFINE_ENV_EXPRESSION]: 'globalThis.NEXT_DEPLOYMENT_ID',\n },\n }\n : {\n // For Webpack, we currently don't use the non-inlining globalThis.NEXT_DEPLOYMENT_ID\n // approach because we cannot forward this global variable to web workers easily.\n 'process.env.NEXT_DEPLOYMENT_ID': config.deploymentId || false,\n }\n : config.experimental?.runtimeServerDeploymentId\n ? {\n // Don't inline at all, keep process.env.NEXT_DEPLOYMENT_ID as is\n }\n : {\n 'process.env.NEXT_DEPLOYMENT_ID': config.deploymentId || false,\n }),\n\n // Propagates the `__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING` environment\n // variable to the client.\n 'process.env.__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING':\n process.env.__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING || false,\n 'process.env.__NEXT_FETCH_CACHE_KEY_PREFIX': fetchCacheKeyPrefix ?? '',\n ...(isTurbopack\n ? {}\n : {\n 'process.env.__NEXT_MIDDLEWARE_MATCHERS': middlewareMatchers ?? [],\n }),\n 'process.env.__NEXT_MANUAL_CLIENT_BASE_PATH':\n config.experimental.manualClientBasePath ?? false,\n 'process.env.__NEXT_CLIENT_ROUTER_DYNAMIC_STALETIME': JSON.stringify(\n isNaN(Number(config.experimental.staleTimes?.dynamic))\n ? 0\n : config.experimental.staleTimes?.dynamic\n ),\n 'process.env.__NEXT_CLIENT_ROUTER_STATIC_STALETIME': JSON.stringify(\n isNaN(Number(config.experimental.staleTimes?.static))\n ? 5 * 60 // 5 minutes\n : config.experimental.staleTimes?.static\n ),\n 'process.env.__NEXT_CLIENT_ROUTER_FILTER_ENABLED':\n config.experimental.clientRouterFilter ?? true,\n 'process.env.__NEXT_CLIENT_ROUTER_S_FILTER':\n clientRouterFilters?.staticFilter ?? false,\n 'process.env.__NEXT_CLIENT_ROUTER_D_FILTER':\n clientRouterFilters?.dynamicFilter ?? false,\n 'process.env.__NEXT_CLIENT_VALIDATE_RSC_REQUEST_HEADERS': Boolean(\n config.experimental.validateRSCRequestHeaders\n ),\n 'process.env.__NEXT_DYNAMIC_ON_HOVER': Boolean(\n config.experimental.dynamicOnHover\n ),\n 'process.env.__NEXT_USE_OFFLINE': Boolean(config.experimental.useOffline),\n 'process.env.__NEXT_PREFETCH_INLINING': Boolean(\n config.experimental.prefetchInlining\n ),\n 'process.env.__NEXT_OPTIMISTIC_CLIENT_CACHE':\n config.experimental.optimisticClientCache ?? true,\n 'process.env.__NEXT_MIDDLEWARE_PREFETCH':\n config.experimental.proxyPrefetch ?? 'flexible',\n 'process.env.__NEXT_CROSS_ORIGIN': config.crossOrigin,\n 'process.browser': isClient,\n 'process.env.__NEXT_TEST_MODE': process.env.__NEXT_TEST_MODE ?? false,\n // This is used in client/dev-error-overlay/hot-dev-client.js to replace the dist directory\n ...(dev && (isClient ?? isEdgeServer)\n ? {\n 'process.env.__NEXT_DIST_DIR': distDir,\n }\n : {}),\n // This is used in devtools to strip the project path in edge runtime,\n // as there's only a dummy `dir` value (`.`) as edge runtime doesn't have concept of file system.\n ...(dev && isEdgeServer\n ? {\n 'process.env.__NEXT_EDGE_PROJECT_DIR': isTurbopack\n ? path.relative(process.cwd(), projectPath)\n : projectPath,\n }\n : {}),\n 'process.env.__NEXT_BASE_PATH': config.basePath,\n 'process.env.__NEXT_CASE_SENSITIVE_ROUTES': Boolean(\n config.experimental.caseSensitiveRoutes\n ),\n 'process.env.__NEXT_REWRITES': rewrites as any,\n 'process.env.__NEXT_TRAILING_SLASH': config.trailingSlash,\n 'process.env.__NEXT_DEV_INDICATOR': config.devIndicators !== false,\n 'process.env.__NEXT_DEV_INDICATOR_POSITION':\n config.devIndicators === false\n ? 'bottom-left' // This will not be used as the indicator is disabled.\n : (config.devIndicators.position ?? 'bottom-left'),\n 'process.env.__NEXT_STRICT_MODE':\n config.reactStrictMode === null ? false : config.reactStrictMode,\n 'process.env.__NEXT_STRICT_MODE_APP':\n // When next.config.js does not have reactStrictMode it's enabled by default.\n config.reactStrictMode === null ? true : config.reactStrictMode,\n 'process.env.__NEXT_OPTIMIZE_CSS':\n (config.experimental.optimizeCss && !dev) ?? false,\n 'process.env.__NEXT_SCRIPT_WORKERS':\n (config.experimental.nextScriptWorkers && !dev) ?? false,\n 'process.env.__NEXT_SCROLL_RESTORATION':\n config.experimental.scrollRestoration ?? false,\n ...getImageConfig(config, dev),\n 'process.env.__NEXT_ROUTER_BASEPATH': config.basePath,\n 'process.env.__NEXT_HAS_REWRITES': hasRewrites,\n 'process.env.__NEXT_CONFIG_OUTPUT': config.output,\n 'process.env.__NEXT_I18N_SUPPORT': !!config.i18n,\n 'process.env.__NEXT_I18N_DOMAINS': config.i18n?.domains ?? false,\n 'process.env.__NEXT_I18N_CONFIG': config.i18n || '',\n 'process.env.__NEXT_NO_MIDDLEWARE_URL_NORMALIZE':\n config.skipProxyUrlNormalize,\n 'process.env.__NEXT_EXTERNAL_MIDDLEWARE_REWRITE_RESOLVE':\n config.experimental.externalProxyRewritesResolve ?? false,\n 'process.env.__NEXT_MANUAL_TRAILING_SLASH':\n config.skipTrailingSlashRedirect,\n 'process.env.__NEXT_HAS_WEB_VITALS_ATTRIBUTION':\n (config.experimental.webVitalsAttribution &&\n config.experimental.webVitalsAttribution.length > 0) ??\n false,\n 'process.env.__NEXT_WEB_VITALS_ATTRIBUTION':\n config.experimental.webVitalsAttribution ?? false,\n 'process.env.__NEXT_LINK_NO_TOUCH_START':\n config.experimental.linkNoTouchStart ?? false,\n 'process.env.__NEXT_ASSET_PREFIX': config.assetPrefix,\n 'process.env.__NEXT_EXPERIMENTAL_AUTH_INTERRUPTS':\n !!config.experimental.authInterrupts,\n 'process.env.__NEXT_TELEMETRY_DISABLED': Boolean(\n process.env.NEXT_TELEMETRY_DISABLED\n ),\n ...(isNodeServer || isEdgeServer\n ? {\n // Fix bad-actors in the npm ecosystem (e.g. `node-formidable`)\n // This is typically found in unmaintained modules from the\n // pre-webpack era (common in server-side code)\n 'global.GENTLY': false,\n }\n : undefined),\n ...(isNodeServer || isEdgeServer\n ? {\n 'process.env.__NEXT_EXPERIMENTAL_REACT':\n needsExperimentalReact(config),\n }\n : undefined),\n\n 'process.env.__NEXT_MULTI_ZONE_DRAFT_MODE':\n config.experimental.multiZoneDraftMode ?? false,\n 'process.env.__NEXT_TRUST_HOST_HEADER':\n config.experimental.trustHostHeader ?? false,\n 'process.env.__NEXT_ALLOWED_REVALIDATE_HEADERS':\n config.experimental.allowedRevalidateHeaderKeys ?? [],\n ...(isNodeServer || isEdgeServer\n ? {\n 'process.env.__NEXT_RELATIVE_DIST_DIR': config.distDir,\n 'process.env.__NEXT_RELATIVE_PROJECT_DIR': path.relative(\n process.cwd(),\n projectPath\n ),\n }\n : {}),\n\n 'process.env.__NEXT_BROWSER_DEBUG_INFO_IN_TERMINAL': JSON.stringify(\n (config.logging && config.logging.browserToTerminal) || false\n ),\n 'process.env.__NEXT_MCP_SERVER': !!config.experimental.mcpServer,\n\n // The devtools need to know whether or not to show an option to clear the\n // bundler cache. This option may be removed later once Turbopack's\n // filesystem cache feature is more stable.\n //\n // This environment value is currently best-effort:\n // - It's possible to disable the webpack filesystem cache, but it's\n // unlikely for a user to do that.\n // - Rspack's filesystem cache is unstable and requires a different\n // configuration than webpack to enable (which we don't do).\n //\n // In the worst case we'll show an option to clear the cache, but it'll be a\n // no-op that just restarts the development server.\n 'process.env.__NEXT_BUNDLER_HAS_PERSISTENT_CACHE':\n !isTurbopack ||\n (config.experimental.turbopackFileSystemCacheForDev ?? false),\n 'process.env.__NEXT_REACT_DEBUG_CHANNEL':\n config.experimental.reactDebugChannel ?? false,\n 'process.env.__NEXT_TRANSITION_INDICATOR':\n config.experimental.transitionIndicator ?? false,\n 'process.env.__NEXT_GESTURE_TRANSITION':\n config.experimental.gestureTransition ?? false,\n 'process.env.__NEXT_OPTIMISTIC_ROUTING':\n config.experimental.optimisticRouting ?? false,\n 'process.env.__NEXT_VARY_PARAMS': config.experimental.varyParams ?? false,\n 'process.env.__NEXT_EXPOSE_TESTING_API':\n dev || config.experimental.exposeTestingApiInProductionBuild === true,\n 'process.env.__NEXT_CACHE_LIFE': config.cacheLife,\n 'process.env.__NEXT_CLIENT_PARAM_PARSING_ORIGINS':\n config.experimental.clientParamParsingOrigins || [],\n }\n\n const userDefines = config.compiler?.define ?? {}\n for (const key in userDefines) {\n if (defineEnv.hasOwnProperty(key)) {\n throw new Error(\n `The \\`compiler.define\\` option is configured to replace the \\`${key}\\` variable. This variable is either part of a Next.js built-in or is already configured.`\n )\n }\n defineEnv[key] = userDefines[key]\n }\n\n if (isNodeServer || isEdgeServer) {\n const userDefinesServer = config.compiler?.defineServer ?? {}\n for (const key in userDefinesServer) {\n if (defineEnv.hasOwnProperty(key)) {\n throw new Error(\n `The \\`compiler.defineServer\\` option is configured to replace the \\`${key}\\` variable. This variable is either part of a Next.js built-in or is already configured.`\n )\n }\n defineEnv[key] = userDefinesServer[key]\n }\n }\n\n const serializedDefineEnv = serializeDefineEnv(defineEnv)\n\n // we delay inlining these values until after the build\n // with flying shuttle enabled so we can update them\n // without invalidating entries\n if (!dev && omitNonDeterministic) {\n // client uses window. instead of leaving process.env\n // in case process isn't polyfilled on client already\n // since by this point it won't be added by webpack\n const safeKey = (key: string) =>\n isClient ? `window.${key.split('.').pop()}` : key\n\n for (const key in nextPublicEnv) {\n serializedDefineEnv[key] = safeKey(key)\n }\n for (const key in nextConfigEnv) {\n serializedDefineEnv[key] = safeKey(key)\n }\n if (!config.experimental.runtimeServerDeploymentId) {\n for (const key of ['process.env.NEXT_DEPLOYMENT_ID']) {\n serializedDefineEnv[key] = safeKey(key)\n }\n }\n }\n\n return serializedDefineEnv\n}\n"],"names":["path","needsExperimentalReact","checkIsAppPPREnabled","getNextConfigEnv","getNextPublicEnvironmentVariables","DEFINE_ENV_EXPRESSION","Symbol","serializeDefineEnv","defineEnv","defineEnvStringified","Object","fromEntries","entries","map","key","value","JSON","stringify","getImageConfig","config","dev","deviceSizes","images","imageSizes","qualities","loader","dangerouslyAllowSVG","unoptimized","domains","remotePatterns","localPatterns","output","getDefineEnv","isTurbopack","clientRouterFilters","distDir","projectPath","fetchCacheKeyPrefix","hasRewrites","isClient","isEdgeServer","isNodeServer","middlewareMatchers","omitNonDeterministic","rewrites","nextPublicEnv","nextConfigEnv","isPPREnabled","experimental","ppr","isCacheComponentsEnabled","cacheComponents","isUseCacheEnabled","useCache","isUseNodeStreamsEnabled","useNodeStreams","__NEXT_DEFINE_ENV","EdgeRuntime","process","env","NEXT_EDGE_RUNTIME_PROVIDER","NEXT_RSPACK","allowDevelopmentBuild","Boolean","appNavFailHandling","appNewScrollHandler","cachedNavigations","instantNavigationDevToolsToggle","immutableAssetToken","useSkewCookie","deploymentId","runtimeServerDeploymentId","__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING","manualClientBasePath","isNaN","Number","staleTimes","dynamic","static","clientRouterFilter","staticFilter","dynamicFilter","validateRSCRequestHeaders","dynamicOnHover","useOffline","prefetchInlining","optimisticClientCache","proxyPrefetch","crossOrigin","__NEXT_TEST_MODE","relative","cwd","basePath","caseSensitiveRoutes","trailingSlash","devIndicators","position","reactStrictMode","optimizeCss","nextScriptWorkers","scrollRestoration","i18n","skipProxyUrlNormalize","externalProxyRewritesResolve","skipTrailingSlashRedirect","webVitalsAttribution","length","linkNoTouchStart","assetPrefix","authInterrupts","NEXT_TELEMETRY_DISABLED","undefined","multiZoneDraftMode","trustHostHeader","allowedRevalidateHeaderKeys","logging","browserToTerminal","mcpServer","turbopackFileSystemCacheForDev","reactDebugChannel","transitionIndicator","gestureTransition","optimisticRouting","varyParams","exposeTestingApiInProductionBuild","cacheLife","clientParamParsingOrigins","userDefines","compiler","define","hasOwnProperty","Error","userDefinesServer","defineServer","serializedDefineEnv","safeKey","split","pop"],"mappings":"AAOA,OAAOA,UAAU,YAAW;AAC5B,SAASC,sBAAsB,QAAQ,kCAAiC;AACxE,SAASC,oBAAoB,QAAQ,iCAAgC;AACrE,SACEC,gBAAgB,EAChBC,iCAAiC,QAC5B,oBAAmB;AA8B1B,MAAMC,wBAAwBC,OAAO;AAmBrC;;CAEC,GACD,SAASC,mBAAmBC,SAAoB;IAC9C,MAAMC,uBAA4CC,OAAOC,WAAW,CAClED,OAAOE,OAAO,CAACJ,WAAWK,GAAG,CAAC,CAAC,CAACC,KAAKC,MAAM,GAAK;YAC9CD;YACA,OAAOC,UAAU,YAAYV,yBAAyBU,QAClDA,KAAK,CAACV,sBAAsB,GAC5BW,KAAKC,SAAS,CAACF;SACpB;IAEH,OAAON;AACT;AAEA,SAASS,eACPC,MAA0B,EAC1BC,GAAY;QAUKD,gBAKSA,iBACDA;IAdzB,OAAO;QACL,iCAAiC;YAC/BE,aAAaF,OAAOG,MAAM,CAACD,WAAW;YACtCE,YAAYJ,OAAOG,MAAM,CAACC,UAAU;YACpCC,WAAWL,OAAOG,MAAM,CAACE,SAAS;YAClCxB,MAAMmB,OAAOG,MAAM,CAACtB,IAAI;YACxByB,QAAQN,OAAOG,MAAM,CAACG,MAAM;YAC5BC,qBAAqBP,OAAOG,MAAM,CAACI,mBAAmB;YACtDC,WAAW,EAAER,2BAAAA,iBAAAA,OAAQG,MAAM,qBAAdH,eAAgBQ,WAAW;YACxC,GAAIP,MACA;gBACE,6DAA6D;gBAC7DQ,SAAST,OAAOG,MAAM,CAACM,OAAO;gBAC9BC,cAAc,GAAEV,kBAAAA,OAAOG,MAAM,qBAAbH,gBAAeU,cAAc;gBAC7CC,aAAa,GAAEX,kBAAAA,OAAOG,MAAM,qBAAbH,gBAAeW,aAAa;gBAC3CC,QAAQZ,OAAOY,MAAM;YACvB,IACA,CAAC,CAAC;QACR;IACF;AACF;AAEA,OAAO,SAASC,aAAa,EAC3BC,WAAW,EACXC,mBAAmB,EACnBf,MAAM,EACNC,GAAG,EACHe,OAAO,EACPC,WAAW,EACXC,mBAAmB,EACnBC,WAAW,EACXC,QAAQ,EACRC,YAAY,EACZC,YAAY,EACZC,kBAAkB,EAClBC,oBAAoB,EACpBC,QAAQ,EACS;QAsEXzB,sBAiBEA,uBAqBSA,iCAETA,kCAGSA,kCAETA,kCAmE6BA,cAyFjBA;IA9QpB,MAAM0B,gBAAgBzC;IACtB,MAAM0C,gBAAgB3C,iBAAiBgB;IAEvC,MAAM4B,eAAe7C,qBAAqBiB,OAAO6B,YAAY,CAACC,GAAG;IACjE,MAAMC,2BAA2B,CAAC,CAAC/B,OAAOgC,eAAe;IACzD,MAAMC,oBAAoB,CAAC,CAACjC,OAAO6B,YAAY,CAACK,QAAQ;IACxD,MAAMC,0BAA0B,CAAC,CAACnC,OAAO6B,YAAY,CAACO,cAAc;IAEpE,MAAM/C,YAAuB;QAC3B,+CAA+C;QAC/CgD,mBAAmB;QAEnB,GAAGX,aAAa;QAChB,GAAGC,aAAa;QAChB,GAAI,CAACN,eACD,CAAC,IACD;YACEiB,aACE;;;;aAIC,GACDC,QAAQC,GAAG,CAACC,0BAA0B,IAAI;YAE5C,0DAA0D;YAC1D,sEAAsE;YACtE,gBAAgB;QAClB,CAAC;QACL,qBAAqB3B;QACrB,yBAAyBA;QACzB,8BAA8BA,cAC1B,cACAyB,QAAQC,GAAG,CAACE,WAAW,GACrB,WACA;QACN,6DAA6D;QAC7D,wBACEzC,OAAOD,OAAO6B,YAAY,CAACc,qBAAqB,GAC5C,gBACA;QACN,iCAAiC1C,MAAM,MAAM;QAC7C,4BAA4BoB,eACxB,SACAC,eACE,WACA;QACN,4BAA4B;QAC5B,4CAA4CsB,QAC1C5C,OAAO6B,YAAY,CAACgB,kBAAkB;QAExC,6CAA6CD,QAC3C5C,OAAO6B,YAAY,CAACiB,mBAAmB;QAEzC,0BAA0BlB;QAC1B,uCAAuCG;QACvC,sDAAsDa,QACpD5C,OAAO6B,YAAY,CAACkB,iBAAiB;QAEvC,yCACE,CAAC,CAAC/C,OAAO6B,YAAY,CAACmB,+BAA+B;QACvD,gCAAgCf;QAChC,uCAAuCZ,eACnC,QACAc;QAEJ,0CACEnC,OAAO6B,YAAY,CAACoB,mBAAmB,IAAI;QAE7C,GAAIjD,EAAAA,uBAAAA,OAAO6B,YAAY,qBAAnB7B,qBAAqBkD,aAAa,KAAI,CAAClD,OAAOmD,YAAY,GAC1D;YACE,kCAAkC;QACpC,IACA/B,WACEN,cACE;YACE,sFAAsF;YACtF,kCAAkC;gBAChC,CAAC5B,sBAAsB,EAAE;YAC3B;QACF,IACA;YACE,qFAAqF;YACrF,iFAAiF;YACjF,kCAAkCc,OAAOmD,YAAY,IAAI;QAC3D,IACFnD,EAAAA,wBAAAA,OAAO6B,YAAY,qBAAnB7B,sBAAqBoD,yBAAyB,IAC5C;QAEA,IACA;YACE,kCAAkCpD,OAAOmD,YAAY,IAAI;QAC3D,CAAC;QAET,0EAA0E;QAC1E,0BAA0B;QAC1B,0DACEZ,QAAQC,GAAG,CAACa,0CAA0C,IAAI;QAC5D,6CAA6CnC,uBAAuB;QACpE,GAAIJ,cACA,CAAC,IACD;YACE,0CAA0CS,sBAAsB,EAAE;QACpE,CAAC;QACL,8CACEvB,OAAO6B,YAAY,CAACyB,oBAAoB,IAAI;QAC9C,sDAAsDzD,KAAKC,SAAS,CAClEyD,MAAMC,QAAOxD,kCAAAA,OAAO6B,YAAY,CAAC4B,UAAU,qBAA9BzD,gCAAgC0D,OAAO,KAChD,KACA1D,mCAAAA,OAAO6B,YAAY,CAAC4B,UAAU,qBAA9BzD,iCAAgC0D,OAAO;QAE7C,qDAAqD7D,KAAKC,SAAS,CACjEyD,MAAMC,QAAOxD,mCAAAA,OAAO6B,YAAY,CAAC4B,UAAU,qBAA9BzD,iCAAgC2D,MAAM,KAC/C,IAAI,GAAG,YAAY;YACnB3D,mCAAAA,OAAO6B,YAAY,CAAC4B,UAAU,qBAA9BzD,iCAAgC2D,MAAM;QAE5C,mDACE3D,OAAO6B,YAAY,CAAC+B,kBAAkB,IAAI;QAC5C,6CACE7C,CAAAA,uCAAAA,oBAAqB8C,YAAY,KAAI;QACvC,6CACE9C,CAAAA,uCAAAA,oBAAqB+C,aAAa,KAAI;QACxC,0DAA0DlB,QACxD5C,OAAO6B,YAAY,CAACkC,yBAAyB;QAE/C,uCAAuCnB,QACrC5C,OAAO6B,YAAY,CAACmC,cAAc;QAEpC,kCAAkCpB,QAAQ5C,OAAO6B,YAAY,CAACoC,UAAU;QACxE,wCAAwCrB,QACtC5C,OAAO6B,YAAY,CAACqC,gBAAgB;QAEtC,8CACElE,OAAO6B,YAAY,CAACsC,qBAAqB,IAAI;QAC/C,0CACEnE,OAAO6B,YAAY,CAACuC,aAAa,IAAI;QACvC,mCAAmCpE,OAAOqE,WAAW;QACrD,mBAAmBjD;QACnB,gCAAgCmB,QAAQC,GAAG,CAAC8B,gBAAgB,IAAI;QAChE,2FAA2F;QAC3F,GAAIrE,OAAQmB,CAAAA,YAAYC,YAAW,IAC/B;YACE,+BAA+BL;QACjC,IACA,CAAC,CAAC;QACN,sEAAsE;QACtE,iGAAiG;QACjG,GAAIf,OAAOoB,eACP;YACE,uCAAuCP,cACnCjC,KAAK0F,QAAQ,CAAChC,QAAQiC,GAAG,IAAIvD,eAC7BA;QACN,IACA,CAAC,CAAC;QACN,gCAAgCjB,OAAOyE,QAAQ;QAC/C,4CAA4C7B,QAC1C5C,OAAO6B,YAAY,CAAC6C,mBAAmB;QAEzC,+BAA+BjD;QAC/B,qCAAqCzB,OAAO2E,aAAa;QACzD,oCAAoC3E,OAAO4E,aAAa,KAAK;QAC7D,6CACE5E,OAAO4E,aAAa,KAAK,QACrB,cAAc,sDAAsD;WACnE5E,OAAO4E,aAAa,CAACC,QAAQ,IAAI;QACxC,kCACE7E,OAAO8E,eAAe,KAAK,OAAO,QAAQ9E,OAAO8E,eAAe;QAClE,sCACE,6EAA6E;QAC7E9E,OAAO8E,eAAe,KAAK,OAAO,OAAO9E,OAAO8E,eAAe;QACjE,mCACE,AAAC9E,CAAAA,OAAO6B,YAAY,CAACkD,WAAW,IAAI,CAAC9E,GAAE,KAAM;QAC/C,qCACE,AAACD,CAAAA,OAAO6B,YAAY,CAACmD,iBAAiB,IAAI,CAAC/E,GAAE,KAAM;QACrD,yCACED,OAAO6B,YAAY,CAACoD,iBAAiB,IAAI;QAC3C,GAAGlF,eAAeC,QAAQC,IAAI;QAC9B,sCAAsCD,OAAOyE,QAAQ;QACrD,mCAAmCtD;QACnC,oCAAoCnB,OAAOY,MAAM;QACjD,mCAAmC,CAAC,CAACZ,OAAOkF,IAAI;QAChD,mCAAmClF,EAAAA,eAAAA,OAAOkF,IAAI,qBAAXlF,aAAaS,OAAO,KAAI;QAC3D,kCAAkCT,OAAOkF,IAAI,IAAI;QACjD,kDACElF,OAAOmF,qBAAqB;QAC9B,0DACEnF,OAAO6B,YAAY,CAACuD,4BAA4B,IAAI;QACtD,4CACEpF,OAAOqF,yBAAyB;QAClC,iDACE,AAACrF,CAAAA,OAAO6B,YAAY,CAACyD,oBAAoB,IACvCtF,OAAO6B,YAAY,CAACyD,oBAAoB,CAACC,MAAM,GAAG,CAAA,KACpD;QACF,6CACEvF,OAAO6B,YAAY,CAACyD,oBAAoB,IAAI;QAC9C,0CACEtF,OAAO6B,YAAY,CAAC2D,gBAAgB,IAAI;QAC1C,mCAAmCxF,OAAOyF,WAAW;QACrD,mDACE,CAAC,CAACzF,OAAO6B,YAAY,CAAC6D,cAAc;QACtC,yCAAyC9C,QACvCL,QAAQC,GAAG,CAACmD,uBAAuB;QAErC,GAAIrE,gBAAgBD,eAChB;YACE,+DAA+D;YAC/D,2DAA2D;YAC3D,+CAA+C;YAC/C,iBAAiB;QACnB,IACAuE,SAAS;QACb,GAAItE,gBAAgBD,eAChB;YACE,yCACEvC,uBAAuBkB;QAC3B,IACA4F,SAAS;QAEb,4CACE5F,OAAO6B,YAAY,CAACgE,kBAAkB,IAAI;QAC5C,wCACE7F,OAAO6B,YAAY,CAACiE,eAAe,IAAI;QACzC,iDACE9F,OAAO6B,YAAY,CAACkE,2BAA2B,IAAI,EAAE;QACvD,GAAIzE,gBAAgBD,eAChB;YACE,wCAAwCrB,OAAOgB,OAAO;YACtD,2CAA2CnC,KAAK0F,QAAQ,CACtDhC,QAAQiC,GAAG,IACXvD;QAEJ,IACA,CAAC,CAAC;QAEN,qDAAqDpB,KAAKC,SAAS,CACjE,AAACE,OAAOgG,OAAO,IAAIhG,OAAOgG,OAAO,CAACC,iBAAiB,IAAK;QAE1D,iCAAiC,CAAC,CAACjG,OAAO6B,YAAY,CAACqE,SAAS;QAEhE,0EAA0E;QAC1E,mEAAmE;QACnE,2CAA2C;QAC3C,EAAE;QACF,mDAAmD;QACnD,oEAAoE;QACpE,oCAAoC;QACpC,mEAAmE;QACnE,8DAA8D;QAC9D,EAAE;QACF,4EAA4E;QAC5E,mDAAmD;QACnD,mDACE,CAACpF,eACAd,CAAAA,OAAO6B,YAAY,CAACsE,8BAA8B,IAAI,KAAI;QAC7D,0CACEnG,OAAO6B,YAAY,CAACuE,iBAAiB,IAAI;QAC3C,2CACEpG,OAAO6B,YAAY,CAACwE,mBAAmB,IAAI;QAC7C,yCACErG,OAAO6B,YAAY,CAACyE,iBAAiB,IAAI;QAC3C,yCACEtG,OAAO6B,YAAY,CAAC0E,iBAAiB,IAAI;QAC3C,kCAAkCvG,OAAO6B,YAAY,CAAC2E,UAAU,IAAI;QACpE,yCACEvG,OAAOD,OAAO6B,YAAY,CAAC4E,iCAAiC,KAAK;QACnE,iCAAiCzG,OAAO0G,SAAS;QACjD,mDACE1G,OAAO6B,YAAY,CAAC8E,yBAAyB,IAAI,EAAE;IACvD;IAEA,MAAMC,cAAc5G,EAAAA,mBAAAA,OAAO6G,QAAQ,qBAAf7G,iBAAiB8G,MAAM,KAAI,CAAC;IAChD,IAAK,MAAMnH,OAAOiH,YAAa;QAC7B,IAAIvH,UAAU0H,cAAc,CAACpH,MAAM;YACjC,MAAM,qBAEL,CAFK,IAAIqH,MACR,CAAC,8DAA8D,EAAErH,IAAI,yFAAyF,CAAC,GAD3J,qBAAA;uBAAA;4BAAA;8BAAA;YAEN;QACF;QACAN,SAAS,CAACM,IAAI,GAAGiH,WAAW,CAACjH,IAAI;IACnC;IAEA,IAAI2B,gBAAgBD,cAAc;YACNrB;QAA1B,MAAMiH,oBAAoBjH,EAAAA,oBAAAA,OAAO6G,QAAQ,qBAAf7G,kBAAiBkH,YAAY,KAAI,CAAC;QAC5D,IAAK,MAAMvH,OAAOsH,kBAAmB;YACnC,IAAI5H,UAAU0H,cAAc,CAACpH,MAAM;gBACjC,MAAM,qBAEL,CAFK,IAAIqH,MACR,CAAC,oEAAoE,EAAErH,IAAI,yFAAyF,CAAC,GADjK,qBAAA;2BAAA;gCAAA;kCAAA;gBAEN;YACF;YACAN,SAAS,CAACM,IAAI,GAAGsH,iBAAiB,CAACtH,IAAI;QACzC;IACF;IAEA,MAAMwH,sBAAsB/H,mBAAmBC;IAE/C,uDAAuD;IACvD,oDAAoD;IACpD,+BAA+B;IAC/B,IAAI,CAACY,OAAOuB,sBAAsB;QAChC,qDAAqD;QACrD,qDAAqD;QACrD,mDAAmD;QACnD,MAAM4F,UAAU,CAACzH,MACfyB,WAAW,CAAC,OAAO,EAAEzB,IAAI0H,KAAK,CAAC,KAAKC,GAAG,IAAI,GAAG3H;QAEhD,IAAK,MAAMA,OAAO+B,cAAe;YAC/ByF,mBAAmB,CAACxH,IAAI,GAAGyH,QAAQzH;QACrC;QACA,IAAK,MAAMA,OAAOgC,cAAe;YAC/BwF,mBAAmB,CAACxH,IAAI,GAAGyH,QAAQzH;QACrC;QACA,IAAI,CAACK,OAAO6B,YAAY,CAACuB,yBAAyB,EAAE;YAClD,KAAK,MAAMzD,OAAO;gBAAC;aAAiC,CAAE;gBACpDwH,mBAAmB,CAACxH,IAAI,GAAGyH,QAAQzH;YACrC;QACF;IACF;IAEA,OAAOwH;AACT","ignoreList":[0]} |
@@ -13,3 +13,3 @@ import path from 'path'; | ||
| }({}); | ||
| const nextVersion = "16.2.1-canary.11"; | ||
| const nextVersion = "16.2.1-canary.12"; | ||
| const ArchName = arch(); | ||
@@ -16,0 +16,0 @@ const PlatformName = platform(); |
@@ -69,3 +69,3 @@ import path from 'path'; | ||
| isPersistentCachingEnabled: persistentCaching, | ||
| nextVersion: "16.2.1-canary.11" | ||
| nextVersion: "16.2.1-canary.12" | ||
| }, { | ||
@@ -72,0 +72,0 @@ memoryLimit: (_config_experimental2 = config.experimental) == null ? void 0 : _config_experimental2.turbopackMemoryLimit, |
@@ -86,3 +86,3 @@ // Import cpu-profile first to start profiling early if enabled | ||
| deferredEntries: config.experimental.deferredEntries, | ||
| nextVersion: "16.2.1-canary.11" | ||
| nextVersion: "16.2.1-canary.12" | ||
| }; | ||
@@ -89,0 +89,0 @@ const sharedTurboOptions = { |
@@ -8,3 +8,3 @@ /** | ||
| import { setAttributesFromProps } from './set-attributes-from-props'; | ||
| const version = "16.2.1-canary.11"; | ||
| const version = "16.2.1-canary.12"; | ||
| window.next = { | ||
@@ -11,0 +11,0 @@ version, |
@@ -242,2 +242,7 @@ import { jsx as _jsx } from "react/jsx-runtime"; | ||
| const initialRSCPayload = await initialServerResponse; | ||
| // Initialize the offline module to register browser event listeners | ||
| // (offline/online) before any components hydrate. | ||
| if (process.env.__NEXT_USE_OFFLINE) { | ||
| require('./components/offline'); | ||
| } | ||
| // setNavigationBuildId should be called only once, during JS initialization | ||
@@ -244,0 +249,0 @@ // and before any components have hydrated. |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../../../src/client/app-index.tsx"],"sourcesContent":["import './app-globals'\nimport ReactDOMClient from 'react-dom/client'\nimport React from 'react'\n// TODO: Explicitly import from client.browser\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport {\n createFromReadableStream as createFromReadableStreamBrowser,\n createFromFetch as createFromFetchBrowser,\n} from 'react-server-dom-webpack/client'\nimport { HeadManagerContext } from '../shared/lib/head-manager-context.shared-runtime'\nimport { onRecoverableError } from './react-client-callbacks/on-recoverable-error'\nimport {\n onCaughtError,\n onUncaughtError,\n} from './react-client-callbacks/error-boundary-callbacks'\nimport { callServer } from './app-call-server'\nimport { findSourceMapURL } from './app-find-source-map-url'\nimport {\n type AppRouterActionQueue,\n createMutableActionQueue,\n} from './components/app-router-instance'\nimport AppRouter from './components/app-router'\nimport type { InitialRSCPayload } from '../shared/lib/app-router-types'\nimport { createInitialRouterState } from './components/router-reducer/create-initial-router-state'\nimport { MissingSlotContext } from '../shared/lib/app-router-context.shared-runtime'\nimport type { StaticIndicatorState } from './dev/hot-reloader/app/hot-reloader-app'\nimport { createInitialRSCPayloadFromFallbackPrerender } from './flight-data-helpers'\nimport { getDeploymentId } from '../shared/lib/deployment-id'\nimport { setNavigationBuildId } from './navigation-build-id'\n\n/// <reference types=\"react-dom/experimental\" />\n\nconst createFromReadableStream =\n createFromReadableStreamBrowser as (typeof import('react-server-dom-webpack/client.browser'))['createFromReadableStream']\nconst createFromFetch =\n createFromFetchBrowser as (typeof import('react-server-dom-webpack/client.browser'))['createFromFetch']\n\nconst appElement: HTMLElement | Document = document\n\n// Instant Navigation Testing API: captured once at module init. When truthy,\n// this is the fetch promise for the static RSC payload (set by an injected\n// <script> tag in the static shell HTML).\nconst instantTestStaticFetch: Promise<Response> | undefined =\n self.__next_instant_test\n ? (self.__next_instant_test as unknown as Promise<Response>)\n : undefined\n\nconst encoder = new TextEncoder()\n\nlet initialServerDataBuffer: (string | Uint8Array)[] | undefined = undefined\nlet initialServerDataWriter: ReadableStreamDefaultController | undefined =\n undefined\nlet initialServerDataLoaded = false\nlet initialServerDataFlushed = false\n\nlet initialFormStateData: null | any = null\n\ntype FlightSegment =\n | [isBootStrap: 0]\n | [isNotBootstrap: 1, responsePartial: string]\n | [isFormState: 2, formState: any]\n | [isBinary: 3, responseBase64Partial: string]\n\ntype NextFlight = Omit<Array<FlightSegment>, 'push'> & {\n push: (seg: FlightSegment) => void\n}\n\ndeclare global {\n // If you're working in a browser environment\n interface Window {\n /**\n * request ID, dev-only\n */\n __next_r?: string\n __next_f: NextFlight\n }\n}\n\nfunction nextServerDataCallback(seg: FlightSegment): void {\n if (seg[0] === 0) {\n initialServerDataBuffer = []\n } else if (seg[0] === 1) {\n if (!initialServerDataBuffer)\n throw new Error('Unexpected server data: missing bootstrap script.')\n\n if (initialServerDataWriter) {\n initialServerDataWriter.enqueue(encoder.encode(seg[1]))\n } else {\n initialServerDataBuffer.push(seg[1])\n }\n } else if (seg[0] === 2) {\n initialFormStateData = seg[1]\n } else if (seg[0] === 3) {\n if (!initialServerDataBuffer)\n throw new Error('Unexpected server data: missing bootstrap script.')\n\n // Decode the base64 string back to binary data.\n const binaryString = atob(seg[1])\n const decodedChunk = new Uint8Array(binaryString.length)\n for (var i = 0; i < binaryString.length; i++) {\n decodedChunk[i] = binaryString.charCodeAt(i)\n }\n\n if (initialServerDataWriter) {\n initialServerDataWriter.enqueue(decodedChunk)\n } else {\n initialServerDataBuffer.push(decodedChunk)\n }\n }\n}\n\nfunction isStreamErrorOrUnfinished(ctr: ReadableStreamDefaultController) {\n // If `desiredSize` is null, it means the stream is closed or errored. If it is lower than 0, the stream is still unfinished.\n return ctr.desiredSize === null || ctr.desiredSize < 0\n}\n\n// There might be race conditions between `nextServerDataRegisterWriter` and\n// `DOMContentLoaded`. The former will be called when React starts to hydrate\n// the root, the latter will be called when the DOM is fully loaded.\n// For streaming, the former is called first due to partial hydration.\n// For non-streaming, the latter can be called first.\n// Hence, we use two variables `initialServerDataLoaded` and\n// `initialServerDataFlushed` to make sure the writer will be closed and\n// `initialServerDataBuffer` will be cleared in the right time.\nfunction nextServerDataRegisterWriter(ctr: ReadableStreamDefaultController) {\n if (initialServerDataBuffer) {\n initialServerDataBuffer.forEach((val) => {\n ctr.enqueue(typeof val === 'string' ? encoder.encode(val) : val)\n })\n if (initialServerDataLoaded && !initialServerDataFlushed) {\n // Instant Navigation Testing API: don't close or error the inline\n // Flight stream. The static shell has no inline Flight data, so the\n // stream is empty. Closing it would cause React to log an error about\n // missing data. Leaving it open lets React treat any holes as\n // \"still suspended.\" Hydration uses the separately fetched RSC payload\n // (self.__next_instant_test), not this stream.\n if (isStreamErrorOrUnfinished(ctr)) {\n if (!instantTestStaticFetch) {\n ctr.error(\n new Error(\n 'The connection to the page was unexpectedly closed, possibly due to the stop button being clicked, loss of Wi-Fi, or an unstable internet connection.'\n )\n )\n }\n } else {\n ctr.close()\n }\n initialServerDataFlushed = true\n initialServerDataBuffer = undefined\n }\n }\n\n initialServerDataWriter = ctr\n}\n\n// When `DOMContentLoaded`, we can close all pending writers to finish hydration.\nconst DOMContentLoaded = function () {\n if (initialServerDataWriter && !initialServerDataFlushed) {\n initialServerDataWriter.close()\n initialServerDataFlushed = true\n initialServerDataBuffer = undefined\n }\n initialServerDataLoaded = true\n}\n\n// It's possible that the DOM is already loaded.\nif (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', DOMContentLoaded, false)\n} else {\n // Delayed in marco task to ensure it's executed later than hydration\n setTimeout(DOMContentLoaded)\n}\n\nconst nextServerDataLoadingGlobal = (self.__next_f = self.__next_f || [])\n\n// Consume all buffered chunks and clear the global data array right after to release memory.\n// Otherwise it will be retained indefinitely.\nnextServerDataLoadingGlobal.forEach(nextServerDataCallback)\nnextServerDataLoadingGlobal.length = 0\n\n// Patch its push method so subsequent chunks are handled (but not actually pushed to the array).\nnextServerDataLoadingGlobal.push = nextServerDataCallback\n\nlet readable: ReadableStream<Uint8Array> = new ReadableStream({\n start(controller) {\n nextServerDataRegisterWriter(controller)\n },\n})\nif (process.env.NODE_ENV !== 'production') {\n // @ts-expect-error\n readable.name = 'hydration'\n}\n\n// When Cache Components is enabled, tee the inlined Flight stream so we can\n// truncate a clone at the static stage byte boundary and cache it. We don't\n// know if `l` is present until React decodes the payload, so always tee and\n// cancel the clone if not needed.\nlet initialFlightStreamForCache: ReadableStream<Uint8Array> | null = null\nif (\n process.env.__NEXT_CACHE_COMPONENTS &&\n process.env.__NEXT_EXPERIMENTAL_CACHED_NAVIGATIONS\n) {\n const [forReact, forCache] = readable.tee()\n readable = forReact\n initialFlightStreamForCache = forCache\n}\n\nlet debugChannel:\n | { readable?: ReadableStream; writable?: WritableStream }\n | undefined\n\nif (\n process.env.__NEXT_DEV_SERVER &&\n process.env.__NEXT_REACT_DEBUG_CHANNEL &&\n typeof window !== 'undefined'\n) {\n const { createDebugChannel } =\n require('./dev/debug-channel') as typeof import('./dev/debug-channel')\n\n debugChannel = createDebugChannel(undefined)\n}\n\nlet initialServerResponse: Promise<InitialRSCPayload>\nif (instantTestStaticFetch) {\n // Instant Navigation Testing API: hydrate from the static RSC payload\n // fetch kicked off by an injected <script> tag, instead of the inline\n // Flight data (which is not present in the static shell).\n initialServerResponse = Promise.resolve(\n createFromFetch<InitialRSCPayload>(instantTestStaticFetch, {\n callServer,\n findSourceMapURL,\n debugChannel,\n // The static fetch response is a partial stream (static-only Flight\n // data with no dynamic content). Allow it to close without error so\n // React treats dynamic holes as still-suspended rather than\n // triggering error recovery.\n unstable_allowPartialStream: true,\n })\n ).then(async (initialRSCPayload) => {\n return createInitialRSCPayloadFromFallbackPrerender(\n await instantTestStaticFetch,\n initialRSCPayload\n )\n })\n} else if (\n // @ts-expect-error\n window.__NEXT_CLIENT_RESUME\n) {\n const clientResumeFetch: Promise<Response> =\n // @ts-expect-error\n window.__NEXT_CLIENT_RESUME\n initialServerResponse = Promise.resolve(\n createFromFetch<InitialRSCPayload>(clientResumeFetch, {\n callServer,\n findSourceMapURL,\n debugChannel,\n })\n ).then(async (fallbackInitialRSCPayload) =>\n createInitialRSCPayloadFromFallbackPrerender(\n await clientResumeFetch,\n fallbackInitialRSCPayload\n )\n )\n} else {\n initialServerResponse = createFromReadableStream<InitialRSCPayload>(\n readable,\n {\n callServer,\n findSourceMapURL,\n debugChannel,\n startTime: 0,\n }\n )\n}\n\nfunction ServerRoot({\n initialRSCPayload,\n actionQueue,\n webSocket,\n staticIndicatorState,\n}: {\n initialRSCPayload: InitialRSCPayload\n actionQueue: AppRouterActionQueue\n webSocket: WebSocket | undefined\n staticIndicatorState: StaticIndicatorState | undefined\n}): React.ReactNode {\n const router = (\n <AppRouter\n actionQueue={actionQueue}\n globalErrorState={initialRSCPayload.G}\n webSocket={webSocket}\n staticIndicatorState={staticIndicatorState}\n />\n )\n\n if (process.env.NODE_ENV === 'development' && initialRSCPayload.m) {\n // We provide missing slot information in a context provider only during development\n // as we log some additional information about the missing slots in the console.\n return (\n <MissingSlotContext value={initialRSCPayload.m}>\n {router}\n </MissingSlotContext>\n )\n }\n\n return router\n}\n\nconst StrictModeIfEnabled = process.env.__NEXT_STRICT_MODE_APP\n ? React.StrictMode\n : React.Fragment\n\nfunction Root({ children }: React.PropsWithChildren<{}>) {\n if (process.env.__NEXT_TEST_MODE) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n window.__NEXT_HYDRATED = true\n window.__NEXT_HYDRATED_AT = performance.now()\n window.__NEXT_HYDRATED_CB?.()\n }, [])\n }\n\n return children\n}\n\nconst enableTransitionIndicator = process.env.__NEXT_TRANSITION_INDICATOR\n\nfunction noDefaultTransitionIndicator() {\n return () => {}\n}\n\nconst reactRootOptions: ReactDOMClient.RootOptions = {\n onDefaultTransitionIndicator: enableTransitionIndicator\n ? // TODO: Compose default with user-configureable (e.g. nprogress)\n undefined\n : noDefaultTransitionIndicator,\n onRecoverableError,\n onCaughtError,\n onUncaughtError,\n}\n\nexport type ClientInstrumentationHooks = {\n onRouterTransitionStart?: (\n url: string,\n navigationType: 'push' | 'replace' | 'traverse'\n ) => void\n}\n\nexport async function hydrate(\n instrumentationHooks: ClientInstrumentationHooks | null,\n assetPrefix: string\n) {\n let staticIndicatorState: StaticIndicatorState | undefined\n let webSocket: WebSocket | undefined\n\n if (process.env.__NEXT_DEV_SERVER) {\n const { createWebSocket } =\n require('./dev/hot-reloader/app/web-socket') as typeof import('./dev/hot-reloader/app/web-socket')\n\n staticIndicatorState = { pathname: null, appIsrManifest: null }\n webSocket = createWebSocket(assetPrefix, staticIndicatorState)\n }\n const initialRSCPayload = await initialServerResponse\n\n // setNavigationBuildId should be called only once, during JS initialization\n // and before any components have hydrated.\n if (initialRSCPayload.b) {\n setNavigationBuildId(initialRSCPayload.b!)\n } else {\n setNavigationBuildId(getDeploymentId()!)\n }\n\n const initialTimestamp = Date.now()\n const actionQueue: AppRouterActionQueue = createMutableActionQueue(\n createInitialRouterState({\n navigatedAt: initialTimestamp,\n initialRSCPayload,\n initialFlightStreamForCache,\n location: window.location,\n }),\n instrumentationHooks\n )\n\n const reactEl = (\n <StrictModeIfEnabled>\n <HeadManagerContext.Provider value={{ appDir: true }}>\n <Root>\n <ServerRoot\n initialRSCPayload={initialRSCPayload}\n actionQueue={actionQueue}\n webSocket={webSocket}\n staticIndicatorState={staticIndicatorState}\n />\n </Root>\n </HeadManagerContext.Provider>\n </StrictModeIfEnabled>\n )\n\n if (document.documentElement.id === '__next_error__') {\n let element = reactEl\n // Server rendering failed, fall back to client-side rendering\n if (process.env.NODE_ENV !== 'production') {\n const { RootLevelDevOverlayElement } =\n require('../next-devtools/userspace/app/client-entry') as typeof import('../next-devtools/userspace/app/client-entry')\n\n // Note this won't cause hydration mismatch because we are doing CSR w/o hydration\n element = (\n <RootLevelDevOverlayElement>{element}</RootLevelDevOverlayElement>\n )\n }\n\n ReactDOMClient.createRoot(appElement, reactRootOptions).render(element)\n } else {\n React.startTransition(() => {\n ReactDOMClient.hydrateRoot(appElement, reactEl, {\n ...reactRootOptions,\n formState: initialFormStateData,\n })\n })\n }\n\n // TODO-APP: Remove this logic when Float has GC built-in in development.\n if (process.env.__NEXT_DEV_SERVER) {\n const { linkGc } =\n require('./app-link-gc') as typeof import('./app-link-gc')\n linkGc()\n }\n}\n"],"names":["ReactDOMClient","React","createFromReadableStream","createFromReadableStreamBrowser","createFromFetch","createFromFetchBrowser","HeadManagerContext","onRecoverableError","onCaughtError","onUncaughtError","callServer","findSourceMapURL","createMutableActionQueue","AppRouter","createInitialRouterState","MissingSlotContext","createInitialRSCPayloadFromFallbackPrerender","getDeploymentId","setNavigationBuildId","appElement","document","instantTestStaticFetch","self","__next_instant_test","undefined","encoder","TextEncoder","initialServerDataBuffer","initialServerDataWriter","initialServerDataLoaded","initialServerDataFlushed","initialFormStateData","nextServerDataCallback","seg","Error","enqueue","encode","push","binaryString","atob","decodedChunk","Uint8Array","length","i","charCodeAt","isStreamErrorOrUnfinished","ctr","desiredSize","nextServerDataRegisterWriter","forEach","val","error","close","DOMContentLoaded","readyState","addEventListener","setTimeout","nextServerDataLoadingGlobal","__next_f","readable","ReadableStream","start","controller","process","env","NODE_ENV","name","initialFlightStreamForCache","__NEXT_CACHE_COMPONENTS","__NEXT_EXPERIMENTAL_CACHED_NAVIGATIONS","forReact","forCache","tee","debugChannel","__NEXT_DEV_SERVER","__NEXT_REACT_DEBUG_CHANNEL","window","createDebugChannel","require","initialServerResponse","Promise","resolve","unstable_allowPartialStream","then","initialRSCPayload","__NEXT_CLIENT_RESUME","clientResumeFetch","fallbackInitialRSCPayload","startTime","ServerRoot","actionQueue","webSocket","staticIndicatorState","router","globalErrorState","G","m","value","StrictModeIfEnabled","__NEXT_STRICT_MODE_APP","StrictMode","Fragment","Root","children","__NEXT_TEST_MODE","useEffect","__NEXT_HYDRATED","__NEXT_HYDRATED_AT","performance","now","__NEXT_HYDRATED_CB","enableTransitionIndicator","__NEXT_TRANSITION_INDICATOR","noDefaultTransitionIndicator","reactRootOptions","onDefaultTransitionIndicator","hydrate","instrumentationHooks","assetPrefix","createWebSocket","pathname","appIsrManifest","b","initialTimestamp","Date","navigatedAt","location","reactEl","Provider","appDir","documentElement","id","element","RootLevelDevOverlayElement","createRoot","render","startTransition","hydrateRoot","formState","linkGc"],"mappings":"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","ignoreList":[0]} | ||
| {"version":3,"sources":["../../../src/client/app-index.tsx"],"sourcesContent":["import './app-globals'\nimport ReactDOMClient from 'react-dom/client'\nimport React from 'react'\n// TODO: Explicitly import from client.browser\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport {\n createFromReadableStream as createFromReadableStreamBrowser,\n createFromFetch as createFromFetchBrowser,\n} from 'react-server-dom-webpack/client'\nimport { HeadManagerContext } from '../shared/lib/head-manager-context.shared-runtime'\nimport { onRecoverableError } from './react-client-callbacks/on-recoverable-error'\nimport {\n onCaughtError,\n onUncaughtError,\n} from './react-client-callbacks/error-boundary-callbacks'\nimport { callServer } from './app-call-server'\nimport { findSourceMapURL } from './app-find-source-map-url'\nimport {\n type AppRouterActionQueue,\n createMutableActionQueue,\n} from './components/app-router-instance'\nimport AppRouter from './components/app-router'\nimport type { InitialRSCPayload } from '../shared/lib/app-router-types'\nimport { createInitialRouterState } from './components/router-reducer/create-initial-router-state'\nimport { MissingSlotContext } from '../shared/lib/app-router-context.shared-runtime'\nimport type { StaticIndicatorState } from './dev/hot-reloader/app/hot-reloader-app'\nimport { createInitialRSCPayloadFromFallbackPrerender } from './flight-data-helpers'\nimport { getDeploymentId } from '../shared/lib/deployment-id'\nimport { setNavigationBuildId } from './navigation-build-id'\n\n/// <reference types=\"react-dom/experimental\" />\n\nconst createFromReadableStream =\n createFromReadableStreamBrowser as (typeof import('react-server-dom-webpack/client.browser'))['createFromReadableStream']\nconst createFromFetch =\n createFromFetchBrowser as (typeof import('react-server-dom-webpack/client.browser'))['createFromFetch']\n\nconst appElement: HTMLElement | Document = document\n\n// Instant Navigation Testing API: captured once at module init. When truthy,\n// this is the fetch promise for the static RSC payload (set by an injected\n// <script> tag in the static shell HTML).\nconst instantTestStaticFetch: Promise<Response> | undefined =\n self.__next_instant_test\n ? (self.__next_instant_test as unknown as Promise<Response>)\n : undefined\n\nconst encoder = new TextEncoder()\n\nlet initialServerDataBuffer: (string | Uint8Array)[] | undefined = undefined\nlet initialServerDataWriter: ReadableStreamDefaultController | undefined =\n undefined\nlet initialServerDataLoaded = false\nlet initialServerDataFlushed = false\n\nlet initialFormStateData: null | any = null\n\ntype FlightSegment =\n | [isBootStrap: 0]\n | [isNotBootstrap: 1, responsePartial: string]\n | [isFormState: 2, formState: any]\n | [isBinary: 3, responseBase64Partial: string]\n\ntype NextFlight = Omit<Array<FlightSegment>, 'push'> & {\n push: (seg: FlightSegment) => void\n}\n\ndeclare global {\n // If you're working in a browser environment\n interface Window {\n /**\n * request ID, dev-only\n */\n __next_r?: string\n __next_f: NextFlight\n }\n}\n\nfunction nextServerDataCallback(seg: FlightSegment): void {\n if (seg[0] === 0) {\n initialServerDataBuffer = []\n } else if (seg[0] === 1) {\n if (!initialServerDataBuffer)\n throw new Error('Unexpected server data: missing bootstrap script.')\n\n if (initialServerDataWriter) {\n initialServerDataWriter.enqueue(encoder.encode(seg[1]))\n } else {\n initialServerDataBuffer.push(seg[1])\n }\n } else if (seg[0] === 2) {\n initialFormStateData = seg[1]\n } else if (seg[0] === 3) {\n if (!initialServerDataBuffer)\n throw new Error('Unexpected server data: missing bootstrap script.')\n\n // Decode the base64 string back to binary data.\n const binaryString = atob(seg[1])\n const decodedChunk = new Uint8Array(binaryString.length)\n for (var i = 0; i < binaryString.length; i++) {\n decodedChunk[i] = binaryString.charCodeAt(i)\n }\n\n if (initialServerDataWriter) {\n initialServerDataWriter.enqueue(decodedChunk)\n } else {\n initialServerDataBuffer.push(decodedChunk)\n }\n }\n}\n\nfunction isStreamErrorOrUnfinished(ctr: ReadableStreamDefaultController) {\n // If `desiredSize` is null, it means the stream is closed or errored. If it is lower than 0, the stream is still unfinished.\n return ctr.desiredSize === null || ctr.desiredSize < 0\n}\n\n// There might be race conditions between `nextServerDataRegisterWriter` and\n// `DOMContentLoaded`. The former will be called when React starts to hydrate\n// the root, the latter will be called when the DOM is fully loaded.\n// For streaming, the former is called first due to partial hydration.\n// For non-streaming, the latter can be called first.\n// Hence, we use two variables `initialServerDataLoaded` and\n// `initialServerDataFlushed` to make sure the writer will be closed and\n// `initialServerDataBuffer` will be cleared in the right time.\nfunction nextServerDataRegisterWriter(ctr: ReadableStreamDefaultController) {\n if (initialServerDataBuffer) {\n initialServerDataBuffer.forEach((val) => {\n ctr.enqueue(typeof val === 'string' ? encoder.encode(val) : val)\n })\n if (initialServerDataLoaded && !initialServerDataFlushed) {\n // Instant Navigation Testing API: don't close or error the inline\n // Flight stream. The static shell has no inline Flight data, so the\n // stream is empty. Closing it would cause React to log an error about\n // missing data. Leaving it open lets React treat any holes as\n // \"still suspended.\" Hydration uses the separately fetched RSC payload\n // (self.__next_instant_test), not this stream.\n if (isStreamErrorOrUnfinished(ctr)) {\n if (!instantTestStaticFetch) {\n ctr.error(\n new Error(\n 'The connection to the page was unexpectedly closed, possibly due to the stop button being clicked, loss of Wi-Fi, or an unstable internet connection.'\n )\n )\n }\n } else {\n ctr.close()\n }\n initialServerDataFlushed = true\n initialServerDataBuffer = undefined\n }\n }\n\n initialServerDataWriter = ctr\n}\n\n// When `DOMContentLoaded`, we can close all pending writers to finish hydration.\nconst DOMContentLoaded = function () {\n if (initialServerDataWriter && !initialServerDataFlushed) {\n initialServerDataWriter.close()\n initialServerDataFlushed = true\n initialServerDataBuffer = undefined\n }\n initialServerDataLoaded = true\n}\n\n// It's possible that the DOM is already loaded.\nif (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', DOMContentLoaded, false)\n} else {\n // Delayed in marco task to ensure it's executed later than hydration\n setTimeout(DOMContentLoaded)\n}\n\nconst nextServerDataLoadingGlobal = (self.__next_f = self.__next_f || [])\n\n// Consume all buffered chunks and clear the global data array right after to release memory.\n// Otherwise it will be retained indefinitely.\nnextServerDataLoadingGlobal.forEach(nextServerDataCallback)\nnextServerDataLoadingGlobal.length = 0\n\n// Patch its push method so subsequent chunks are handled (but not actually pushed to the array).\nnextServerDataLoadingGlobal.push = nextServerDataCallback\n\nlet readable: ReadableStream<Uint8Array> = new ReadableStream({\n start(controller) {\n nextServerDataRegisterWriter(controller)\n },\n})\nif (process.env.NODE_ENV !== 'production') {\n // @ts-expect-error\n readable.name = 'hydration'\n}\n\n// When Cache Components is enabled, tee the inlined Flight stream so we can\n// truncate a clone at the static stage byte boundary and cache it. We don't\n// know if `l` is present until React decodes the payload, so always tee and\n// cancel the clone if not needed.\nlet initialFlightStreamForCache: ReadableStream<Uint8Array> | null = null\nif (\n process.env.__NEXT_CACHE_COMPONENTS &&\n process.env.__NEXT_EXPERIMENTAL_CACHED_NAVIGATIONS\n) {\n const [forReact, forCache] = readable.tee()\n readable = forReact\n initialFlightStreamForCache = forCache\n}\n\nlet debugChannel:\n | { readable?: ReadableStream; writable?: WritableStream }\n | undefined\n\nif (\n process.env.__NEXT_DEV_SERVER &&\n process.env.__NEXT_REACT_DEBUG_CHANNEL &&\n typeof window !== 'undefined'\n) {\n const { createDebugChannel } =\n require('./dev/debug-channel') as typeof import('./dev/debug-channel')\n\n debugChannel = createDebugChannel(undefined)\n}\n\nlet initialServerResponse: Promise<InitialRSCPayload>\nif (instantTestStaticFetch) {\n // Instant Navigation Testing API: hydrate from the static RSC payload\n // fetch kicked off by an injected <script> tag, instead of the inline\n // Flight data (which is not present in the static shell).\n initialServerResponse = Promise.resolve(\n createFromFetch<InitialRSCPayload>(instantTestStaticFetch, {\n callServer,\n findSourceMapURL,\n debugChannel,\n // The static fetch response is a partial stream (static-only Flight\n // data with no dynamic content). Allow it to close without error so\n // React treats dynamic holes as still-suspended rather than\n // triggering error recovery.\n unstable_allowPartialStream: true,\n })\n ).then(async (initialRSCPayload) => {\n return createInitialRSCPayloadFromFallbackPrerender(\n await instantTestStaticFetch,\n initialRSCPayload\n )\n })\n} else if (\n // @ts-expect-error\n window.__NEXT_CLIENT_RESUME\n) {\n const clientResumeFetch: Promise<Response> =\n // @ts-expect-error\n window.__NEXT_CLIENT_RESUME\n initialServerResponse = Promise.resolve(\n createFromFetch<InitialRSCPayload>(clientResumeFetch, {\n callServer,\n findSourceMapURL,\n debugChannel,\n })\n ).then(async (fallbackInitialRSCPayload) =>\n createInitialRSCPayloadFromFallbackPrerender(\n await clientResumeFetch,\n fallbackInitialRSCPayload\n )\n )\n} else {\n initialServerResponse = createFromReadableStream<InitialRSCPayload>(\n readable,\n {\n callServer,\n findSourceMapURL,\n debugChannel,\n startTime: 0,\n }\n )\n}\n\nfunction ServerRoot({\n initialRSCPayload,\n actionQueue,\n webSocket,\n staticIndicatorState,\n}: {\n initialRSCPayload: InitialRSCPayload\n actionQueue: AppRouterActionQueue\n webSocket: WebSocket | undefined\n staticIndicatorState: StaticIndicatorState | undefined\n}): React.ReactNode {\n const router = (\n <AppRouter\n actionQueue={actionQueue}\n globalErrorState={initialRSCPayload.G}\n webSocket={webSocket}\n staticIndicatorState={staticIndicatorState}\n />\n )\n\n if (process.env.NODE_ENV === 'development' && initialRSCPayload.m) {\n // We provide missing slot information in a context provider only during development\n // as we log some additional information about the missing slots in the console.\n return (\n <MissingSlotContext value={initialRSCPayload.m}>\n {router}\n </MissingSlotContext>\n )\n }\n\n return router\n}\n\nconst StrictModeIfEnabled = process.env.__NEXT_STRICT_MODE_APP\n ? React.StrictMode\n : React.Fragment\n\nfunction Root({ children }: React.PropsWithChildren<{}>) {\n if (process.env.__NEXT_TEST_MODE) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n window.__NEXT_HYDRATED = true\n window.__NEXT_HYDRATED_AT = performance.now()\n window.__NEXT_HYDRATED_CB?.()\n }, [])\n }\n\n return children\n}\n\nconst enableTransitionIndicator = process.env.__NEXT_TRANSITION_INDICATOR\n\nfunction noDefaultTransitionIndicator() {\n return () => {}\n}\n\nconst reactRootOptions: ReactDOMClient.RootOptions = {\n onDefaultTransitionIndicator: enableTransitionIndicator\n ? // TODO: Compose default with user-configureable (e.g. nprogress)\n undefined\n : noDefaultTransitionIndicator,\n onRecoverableError,\n onCaughtError,\n onUncaughtError,\n}\n\nexport type ClientInstrumentationHooks = {\n onRouterTransitionStart?: (\n url: string,\n navigationType: 'push' | 'replace' | 'traverse'\n ) => void\n}\n\nexport async function hydrate(\n instrumentationHooks: ClientInstrumentationHooks | null,\n assetPrefix: string\n) {\n let staticIndicatorState: StaticIndicatorState | undefined\n let webSocket: WebSocket | undefined\n\n if (process.env.__NEXT_DEV_SERVER) {\n const { createWebSocket } =\n require('./dev/hot-reloader/app/web-socket') as typeof import('./dev/hot-reloader/app/web-socket')\n\n staticIndicatorState = { pathname: null, appIsrManifest: null }\n webSocket = createWebSocket(assetPrefix, staticIndicatorState)\n }\n const initialRSCPayload = await initialServerResponse\n\n // Initialize the offline module to register browser event listeners\n // (offline/online) before any components hydrate.\n if (process.env.__NEXT_USE_OFFLINE) {\n require('./components/offline') as typeof import('./components/offline')\n }\n\n // setNavigationBuildId should be called only once, during JS initialization\n // and before any components have hydrated.\n if (initialRSCPayload.b) {\n setNavigationBuildId(initialRSCPayload.b!)\n } else {\n setNavigationBuildId(getDeploymentId()!)\n }\n\n const initialTimestamp = Date.now()\n const actionQueue: AppRouterActionQueue = createMutableActionQueue(\n createInitialRouterState({\n navigatedAt: initialTimestamp,\n initialRSCPayload,\n initialFlightStreamForCache,\n location: window.location,\n }),\n instrumentationHooks\n )\n\n const reactEl = (\n <StrictModeIfEnabled>\n <HeadManagerContext.Provider value={{ appDir: true }}>\n <Root>\n <ServerRoot\n initialRSCPayload={initialRSCPayload}\n actionQueue={actionQueue}\n webSocket={webSocket}\n staticIndicatorState={staticIndicatorState}\n />\n </Root>\n </HeadManagerContext.Provider>\n </StrictModeIfEnabled>\n )\n\n if (document.documentElement.id === '__next_error__') {\n let element = reactEl\n // Server rendering failed, fall back to client-side rendering\n if (process.env.NODE_ENV !== 'production') {\n const { RootLevelDevOverlayElement } =\n require('../next-devtools/userspace/app/client-entry') as typeof import('../next-devtools/userspace/app/client-entry')\n\n // Note this won't cause hydration mismatch because we are doing CSR w/o hydration\n element = (\n <RootLevelDevOverlayElement>{element}</RootLevelDevOverlayElement>\n )\n }\n\n ReactDOMClient.createRoot(appElement, reactRootOptions).render(element)\n } else {\n React.startTransition(() => {\n ReactDOMClient.hydrateRoot(appElement, reactEl, {\n ...reactRootOptions,\n formState: initialFormStateData,\n })\n })\n }\n\n // TODO-APP: Remove this logic when Float has GC built-in in development.\n if (process.env.__NEXT_DEV_SERVER) {\n const { linkGc } =\n require('./app-link-gc') as typeof import('./app-link-gc')\n linkGc()\n }\n}\n"],"names":["ReactDOMClient","React","createFromReadableStream","createFromReadableStreamBrowser","createFromFetch","createFromFetchBrowser","HeadManagerContext","onRecoverableError","onCaughtError","onUncaughtError","callServer","findSourceMapURL","createMutableActionQueue","AppRouter","createInitialRouterState","MissingSlotContext","createInitialRSCPayloadFromFallbackPrerender","getDeploymentId","setNavigationBuildId","appElement","document","instantTestStaticFetch","self","__next_instant_test","undefined","encoder","TextEncoder","initialServerDataBuffer","initialServerDataWriter","initialServerDataLoaded","initialServerDataFlushed","initialFormStateData","nextServerDataCallback","seg","Error","enqueue","encode","push","binaryString","atob","decodedChunk","Uint8Array","length","i","charCodeAt","isStreamErrorOrUnfinished","ctr","desiredSize","nextServerDataRegisterWriter","forEach","val","error","close","DOMContentLoaded","readyState","addEventListener","setTimeout","nextServerDataLoadingGlobal","__next_f","readable","ReadableStream","start","controller","process","env","NODE_ENV","name","initialFlightStreamForCache","__NEXT_CACHE_COMPONENTS","__NEXT_EXPERIMENTAL_CACHED_NAVIGATIONS","forReact","forCache","tee","debugChannel","__NEXT_DEV_SERVER","__NEXT_REACT_DEBUG_CHANNEL","window","createDebugChannel","require","initialServerResponse","Promise","resolve","unstable_allowPartialStream","then","initialRSCPayload","__NEXT_CLIENT_RESUME","clientResumeFetch","fallbackInitialRSCPayload","startTime","ServerRoot","actionQueue","webSocket","staticIndicatorState","router","globalErrorState","G","m","value","StrictModeIfEnabled","__NEXT_STRICT_MODE_APP","StrictMode","Fragment","Root","children","__NEXT_TEST_MODE","useEffect","__NEXT_HYDRATED","__NEXT_HYDRATED_AT","performance","now","__NEXT_HYDRATED_CB","enableTransitionIndicator","__NEXT_TRANSITION_INDICATOR","noDefaultTransitionIndicator","reactRootOptions","onDefaultTransitionIndicator","hydrate","instrumentationHooks","assetPrefix","createWebSocket","pathname","appIsrManifest","__NEXT_USE_OFFLINE","b","initialTimestamp","Date","navigatedAt","location","reactEl","Provider","appDir","documentElement","id","element","RootLevelDevOverlayElement","createRoot","render","startTransition","hydrateRoot","formState","linkGc"],"mappings":"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","ignoreList":[0]} |
@@ -405,2 +405,8 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime"; | ||
| } | ||
| if (process.env.__NEXT_USE_OFFLINE) { | ||
| const { OfflineProvider } = require('./use-offline'); | ||
| content = /*#__PURE__*/ _jsx(OfflineProvider, { | ||
| children: content | ||
| }); | ||
| } | ||
| return /*#__PURE__*/ _jsxs(_Fragment, { | ||
@@ -407,0 +413,0 @@ children: [ |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../../../../src/client/components/app-router.tsx"],"sourcesContent":["import React, {\n useEffect,\n useMemo,\n startTransition,\n useInsertionEffect,\n useDeferredValue,\n} from 'react'\nimport {\n AppRouterContext,\n LayoutRouterContext,\n GlobalLayoutRouterContext,\n} from '../../shared/lib/app-router-context.shared-runtime'\nimport type { CacheNode } from '../../shared/lib/app-router-types'\nimport { ACTION_RESTORE } from './router-reducer/router-reducer-types'\nimport type {\n AppHistoryState,\n AppRouterState,\n} from './router-reducer/router-reducer-types'\nimport { createHrefFromUrl } from './router-reducer/create-href-from-url'\nimport {\n SearchParamsContext,\n PathnameContext,\n PathParamsContext,\n NavigationPromisesContext,\n type NavigationPromises,\n} from '../../shared/lib/hooks-client-context.shared-runtime'\nimport { dispatchAppRouterAction, useActionQueue } from './use-action-queue'\nimport { setLastCommittedTree } from './router-reducer/reducers/committed-state'\nimport { AppRouterAnnouncer } from './app-router-announcer'\nimport { RedirectBoundary } from './redirect-boundary'\nimport { findHeadInCache } from './router-reducer/reducers/find-head-in-cache'\nimport { unresolvedThenable } from './unresolved-thenable'\nimport { removeBasePath } from '../remove-base-path'\nimport { hasBasePath } from '../has-base-path'\nimport {\n extractSourcePageFromFlightRouterState,\n getSelectedParams,\n} from './router-reducer/compute-changed-path'\nimport { useNavFailureHandler } from './nav-failure-handler'\nimport {\n dispatchTraverseAction,\n publicAppRouterInstance,\n type AppRouterActionQueue,\n type GlobalErrorState,\n} from './app-router-instance'\nimport { getRedirectTypeFromError, getURLFromRedirectError } from './redirect'\nimport { isRedirectError } from './redirect-error'\nimport { pingVisibleLinks } from './links'\nimport RootErrorBoundary from './errors/root-error-boundary'\nimport DefaultGlobalError from './builtin/global-error'\nimport { RootLayoutBoundary } from '../../lib/framework/boundary-components'\nimport type { StaticIndicatorState } from '../dev/hot-reloader/app/hot-reloader-app'\nimport { getAssetTokenQuery } from '../../shared/lib/deployment-id'\n\nconst globalMutable: {\n pendingMpaPath?: string\n} = {}\n\nfunction HistoryUpdater({\n appRouterState,\n}: {\n appRouterState: AppRouterState\n}) {\n useInsertionEffect(() => {\n if (process.env.__NEXT_APP_NAV_FAIL_HANDLING) {\n // clear pending URL as navigation is no longer\n // in flight\n window.next.__pendingUrl = undefined\n }\n\n const { tree, pushRef, canonicalUrl, renderedSearch } = appRouterState\n\n const appHistoryState: AppHistoryState = {\n tree,\n renderedSearch,\n }\n\n // TODO: Use Navigation API if available\n const historyState = {\n ...(pushRef.preserveCustomHistoryState ? window.history.state : {}),\n // Identifier is shortened intentionally.\n // __NA is used to identify if the history entry can be handled by the app-router.\n // __N is used to identify if the history entry can be handled by the old router.\n __NA: true,\n __PRIVATE_NEXTJS_INTERNALS_TREE: appHistoryState,\n }\n if (\n pushRef.pendingPush &&\n // Skip pushing an additional history entry if the canonicalUrl is the same as the current url.\n // This mirrors the browser behavior for normal navigation.\n createHrefFromUrl(new URL(window.location.href)) !== canonicalUrl\n ) {\n // This intentionally mutates React state, pushRef is overwritten to ensure additional push/replace calls do not trigger an additional history entry.\n pushRef.pendingPush = false\n window.history.pushState(historyState, '', canonicalUrl)\n } else {\n window.history.replaceState(historyState, '', canonicalUrl)\n }\n\n setLastCommittedTree(tree)\n }, [appRouterState])\n\n useEffect(() => {\n // The Next-Url and the base tree may affect the result of a prefetch\n // task. Re-prefetch all visible links with the updated values. In most\n // cases, this will not result in any new network requests, only if\n // the prefetch result actually varies on one of these inputs.\n pingVisibleLinks(appRouterState.nextUrl, appRouterState.tree)\n }, [appRouterState.nextUrl, appRouterState.tree])\n\n return null\n}\n\nfunction copyNextJsInternalHistoryState(data: any) {\n if (data == null) data = {}\n const currentState = window.history.state\n const __NA = currentState?.__NA\n if (__NA) {\n data.__NA = __NA\n }\n const __PRIVATE_NEXTJS_INTERNALS_TREE =\n currentState?.__PRIVATE_NEXTJS_INTERNALS_TREE\n if (__PRIVATE_NEXTJS_INTERNALS_TREE) {\n data.__PRIVATE_NEXTJS_INTERNALS_TREE = __PRIVATE_NEXTJS_INTERNALS_TREE\n }\n\n return data\n}\n\nfunction Head({\n headCacheNode,\n}: {\n headCacheNode: CacheNode | null\n}): React.ReactNode {\n // If this segment has a `prefetchHead`, it's the statically prefetched data.\n // We should use that on initial render instead of `head`. Then we'll switch\n // to `head` when the dynamic response streams in.\n const head = headCacheNode !== null ? headCacheNode.head : null\n const prefetchHead =\n headCacheNode !== null ? headCacheNode.prefetchHead : null\n\n // If no prefetch data is available, then we go straight to rendering `head`.\n const resolvedPrefetchRsc = prefetchHead !== null ? prefetchHead : head\n\n // We use `useDeferredValue` to handle switching between the prefetched and\n // final values. The second argument is returned on initial render, then it\n // re-renders with the first argument.\n return useDeferredValue(head, resolvedPrefetchRsc)\n}\n\n/**\n * The global router that wraps the application components.\n */\nfunction Router({\n actionQueue,\n globalError,\n webSocket,\n staticIndicatorState,\n}: {\n actionQueue: AppRouterActionQueue\n globalError: GlobalErrorState\n webSocket: WebSocket | undefined\n staticIndicatorState: StaticIndicatorState | undefined\n}) {\n const state = useActionQueue(actionQueue)\n const { canonicalUrl } = state\n // Add memoized pathname/query for useSearchParams and usePathname.\n const { searchParams, pathname } = useMemo(() => {\n const url = new URL(\n canonicalUrl,\n typeof window === 'undefined' ? 'http://n' : window.location.href\n )\n\n return {\n // This is turned into a readonly class in `useSearchParams`\n searchParams: url.searchParams,\n pathname: hasBasePath(url.pathname)\n ? removeBasePath(url.pathname)\n : url.pathname,\n }\n }, [canonicalUrl])\n\n if (process.env.NODE_ENV !== 'production') {\n const { cache, tree } = state\n\n // This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useEffect(() => {\n // Add `window.nd` for debugging purposes.\n // This is not meant for use in applications as concurrent rendering will affect the cache/tree/router.\n // @ts-ignore this is for debugging\n window.nd = {\n router: publicAppRouterInstance,\n cache,\n tree,\n }\n }, [cache, tree])\n }\n\n useEffect(() => {\n const sourcePage = extractSourcePageFromFlightRouterState(state.tree)\n\n if (sourcePage !== undefined) {\n window.next.__internal_src_page = sourcePage\n } else {\n delete window.next.__internal_src_page\n }\n }, [state.tree])\n\n useEffect(() => {\n // If the app is restored from bfcache, it's possible that\n // pushRef.mpaNavigation is true, which would mean that any re-render of this component\n // would trigger the mpa navigation logic again from the lines below.\n // This will restore the router to the initial state in the event that the app is restored from bfcache.\n function handlePageShow(event: PageTransitionEvent) {\n if (\n !event.persisted ||\n !window.history.state?.__PRIVATE_NEXTJS_INTERNALS_TREE\n ) {\n return\n }\n\n // Clear the pendingMpaPath value so that a subsequent MPA navigation to the same URL can be triggered.\n // This is necessary because if the browser restored from bfcache, the pendingMpaPath would still be set to the value\n // of the last MPA navigation.\n globalMutable.pendingMpaPath = undefined\n\n dispatchAppRouterAction({\n type: ACTION_RESTORE,\n url: new URL(window.location.href),\n historyState: window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE,\n })\n }\n\n window.addEventListener('pageshow', handlePageShow)\n\n return () => {\n window.removeEventListener('pageshow', handlePageShow)\n }\n }, [])\n\n useEffect(() => {\n // Ensure that any redirect errors that bubble up outside of the RedirectBoundary\n // are caught and handled by the router.\n function handleUnhandledRedirect(\n event: ErrorEvent | PromiseRejectionEvent\n ) {\n const error = 'reason' in event ? event.reason : event.error\n if (isRedirectError(error)) {\n event.preventDefault()\n const url = getURLFromRedirectError(error)\n const redirectType = getRedirectTypeFromError(error)\n // TODO: This should access the router methods directly, rather than\n // go through the public interface.\n if (redirectType === 'push') {\n publicAppRouterInstance.push(url, {})\n } else {\n publicAppRouterInstance.replace(url, {})\n }\n }\n }\n window.addEventListener('error', handleUnhandledRedirect)\n window.addEventListener('unhandledrejection', handleUnhandledRedirect)\n\n return () => {\n window.removeEventListener('error', handleUnhandledRedirect)\n window.removeEventListener('unhandledrejection', handleUnhandledRedirect)\n }\n }, [])\n\n // When mpaNavigation flag is set do a hard navigation to the new url.\n // Infinitely suspend because we don't actually want to rerender any child\n // components with the new URL and any entangled state updates shouldn't\n // commit either (eg: useTransition isPending should stay true until the page\n // unloads).\n //\n // This is a side effect in render. Don't try this at home, kids. It's\n // probably safe because we know this is a singleton component and it's never\n // in <Offscreen>. At least I hope so. (It will run twice in dev strict mode,\n // but that's... fine?)\n const { pushRef } = state\n if (pushRef.mpaNavigation) {\n // if there's a re-render, we don't want to trigger another redirect if one is already in flight to the same URL\n if (globalMutable.pendingMpaPath !== canonicalUrl) {\n const location = window.location\n if (pushRef.pendingPush) {\n location.assign(canonicalUrl)\n } else {\n location.replace(canonicalUrl)\n }\n\n globalMutable.pendingMpaPath = canonicalUrl\n }\n // TODO-APP: Should we listen to navigateerror here to catch failed\n // navigations somehow? And should we call window.stop() if a SPA navigation\n // should interrupt an MPA one?\n // NOTE: This is intentionally using `throw` instead of `use` because we're\n // inside an externally mutable condition (pushRef.mpaNavigation), which\n // violates the rules of hooks.\n throw unresolvedThenable\n }\n\n useEffect(() => {\n const originalPushState = window.history.pushState.bind(window.history)\n const originalReplaceState = window.history.replaceState.bind(\n window.history\n )\n\n // Ensure the canonical URL in the Next.js Router is updated when the URL is changed so that `usePathname` and `useSearchParams` hold the pushed values.\n const applyUrlFromHistoryPushReplace = (\n url: string | URL | null | undefined\n ) => {\n const href = window.location.href\n const appHistoryState: AppHistoryState | undefined =\n window.history.state?.__PRIVATE_NEXTJS_INTERNALS_TREE\n\n startTransition(() => {\n dispatchAppRouterAction({\n type: ACTION_RESTORE,\n url: new URL(url ?? href, href),\n historyState: appHistoryState,\n })\n })\n }\n\n /**\n * Patch pushState to ensure external changes to the history are reflected in the Next.js Router.\n * Ensures Next.js internal history state is copied to the new history entry.\n * Ensures usePathname and useSearchParams hold the newly provided url.\n */\n window.history.pushState = function pushState(\n data: any,\n _unused: string,\n url?: string | URL | null\n ): void {\n // TODO: Warn when Navigation API is available (navigation.navigate() should be used)\n // Avoid a loop when Next.js internals trigger pushState/replaceState\n if (data?.__NA || data?._N) {\n return originalPushState(data, _unused, url)\n }\n\n data = copyNextJsInternalHistoryState(data)\n\n if (url) {\n applyUrlFromHistoryPushReplace(url)\n }\n\n return originalPushState(data, _unused, url)\n }\n\n /**\n * Patch replaceState to ensure external changes to the history are reflected in the Next.js Router.\n * Ensures Next.js internal history state is copied to the new history entry.\n * Ensures usePathname and useSearchParams hold the newly provided url.\n */\n window.history.replaceState = function replaceState(\n data: any,\n _unused: string,\n url?: string | URL | null\n ): void {\n // TODO: Warn when Navigation API is available (navigation.navigate() should be used)\n // Avoid a loop when Next.js internals trigger pushState/replaceState\n if (data?.__NA || data?._N) {\n return originalReplaceState(data, _unused, url)\n }\n data = copyNextJsInternalHistoryState(data)\n\n if (url) {\n applyUrlFromHistoryPushReplace(url)\n }\n return originalReplaceState(data, _unused, url)\n }\n\n /**\n * Handle popstate event, this is used to handle back/forward in the browser.\n * By default dispatches ACTION_RESTORE, however if the history entry was not pushed/replaced by app-router it will reload the page.\n * That case can happen when the old router injected the history entry.\n */\n const onPopState = (event: PopStateEvent) => {\n if (!event.state) {\n // TODO-APP: this case only happens when pushState/replaceState was called outside of Next.js. It should probably reload the page in this case.\n return\n }\n\n // This case happens when the history entry was pushed by the `pages` router.\n if (!event.state.__NA) {\n window.location.reload()\n return\n }\n\n // TODO-APP: Ideally the back button should not use startTransition as it should apply the updates synchronously\n // Without startTransition works if the cache is there for this path\n startTransition(() => {\n dispatchTraverseAction(\n window.location.href,\n event.state.__PRIVATE_NEXTJS_INTERNALS_TREE\n )\n })\n }\n\n // Register popstate event to call onPopstate.\n window.addEventListener('popstate', onPopState)\n return () => {\n window.history.pushState = originalPushState\n window.history.replaceState = originalReplaceState\n window.removeEventListener('popstate', onPopState)\n }\n }, [])\n\n const { cache, tree, nextUrl, focusAndScrollRef, previousNextUrl } = state\n\n const matchingHead = useMemo(() => {\n return findHeadInCache(cache, tree[1])\n }, [cache, tree])\n\n // Add memoized pathParams for useParams.\n const pathParams = useMemo(() => {\n return getSelectedParams(tree)\n }, [tree])\n\n // Create instrumented promises for navigation hooks (dev-only)\n // These are specially instrumented promises to show in the Suspense DevTools\n // Promises are cached outside of render to survive suspense retries.\n let instrumentedNavigationPromises: NavigationPromises | null = null\n if (process.env.NODE_ENV !== 'production') {\n const { createRootNavigationPromises } =\n require('./navigation-devtools') as typeof import('./navigation-devtools')\n\n instrumentedNavigationPromises = createRootNavigationPromises(\n tree,\n pathname,\n searchParams,\n pathParams\n )\n }\n\n const layoutRouterContext = useMemo(() => {\n return {\n parentTree: tree,\n parentCacheNode: cache,\n parentSegmentPath: null,\n parentParams: {},\n parentLoadingData: null,\n // This is the <Activity> \"name\" that shows up in the Suspense DevTools.\n // It represents the root of the app.\n debugNameContext: '/',\n // Root node always has `url`\n // Provided in AppTreeContext to ensure it can be overwritten in layout-router\n url: canonicalUrl,\n // Root segment is always active\n isActive: true,\n }\n }, [tree, cache, canonicalUrl])\n\n const globalLayoutRouterContext = useMemo(() => {\n return {\n tree,\n focusAndScrollRef,\n nextUrl,\n previousNextUrl,\n }\n }, [tree, focusAndScrollRef, nextUrl, previousNextUrl])\n\n let head\n if (matchingHead !== null) {\n // The head is wrapped in an extra component so we can use\n // `useDeferredValue` to swap between the prefetched and final versions of\n // the head. (This is what LayoutRouter does for segment data, too.)\n //\n // The `key` is used to remount the component whenever the head moves to\n // a different segment.\n const [headCacheNode, headKey, headKeyWithoutSearchParams] = matchingHead\n\n head = (\n <Head\n key={\n // Necessary for PPR: omit search params from the key to match prerendered keys\n typeof window === 'undefined' ? headKeyWithoutSearchParams : headKey\n }\n headCacheNode={headCacheNode}\n />\n )\n } else {\n head = null\n }\n\n let content = (\n <RedirectBoundary>\n {head}\n {/* RootLayoutBoundary enables detection of Suspense boundaries around the root layout.\n When users wrap their layout in <Suspense>, this creates the component stack pattern\n \"Suspense -> RootLayoutBoundary\" which dynamic-rendering.ts uses to allow dynamic rendering. */}\n <RootLayoutBoundary>{cache.rsc}</RootLayoutBoundary>\n <AppRouterAnnouncer tree={tree} />\n </RedirectBoundary>\n )\n\n if (process.env.__NEXT_DEV_SERVER) {\n // In development, we apply few error boundaries and hot-reloader:\n // - DevRootHTTPAccessFallbackBoundary: avoid using navigation API like notFound() in root layout\n // - HotReloader:\n // - hot-reload the app when the code changes\n // - render dev overlay\n // - catch runtime errors and display global-error when necessary\n if (typeof window !== 'undefined') {\n const { DevRootHTTPAccessFallbackBoundary } =\n require('./dev-root-http-access-fallback-boundary') as typeof import('./dev-root-http-access-fallback-boundary')\n content = (\n <DevRootHTTPAccessFallbackBoundary>\n {content}\n </DevRootHTTPAccessFallbackBoundary>\n )\n }\n const HotReloader: typeof import('../dev/hot-reloader/app/hot-reloader-app').default =\n (\n require('../dev/hot-reloader/app/hot-reloader-app') as typeof import('../dev/hot-reloader/app/hot-reloader-app')\n ).default\n\n content = (\n <HotReloader\n globalError={globalError}\n webSocket={webSocket}\n staticIndicatorState={staticIndicatorState}\n >\n {content}\n </HotReloader>\n )\n } else {\n content = (\n <RootErrorBoundary\n errorComponent={globalError[0]}\n errorStyles={globalError[1]}\n >\n {content}\n </RootErrorBoundary>\n )\n }\n\n return (\n <>\n <HistoryUpdater appRouterState={state} />\n {process.env.TURBOPACK ? null : <RuntimeStylesForWebpack />}\n <NavigationPromisesContext.Provider\n value={instrumentedNavigationPromises}\n >\n <PathParamsContext.Provider value={pathParams}>\n <PathnameContext.Provider value={pathname}>\n <SearchParamsContext.Provider value={searchParams}>\n <GlobalLayoutRouterContext.Provider\n value={globalLayoutRouterContext}\n >\n {/* TODO: We should be able to remove this context. useRouter\n should import from app-router-instance instead. It's only\n necessary because useRouter is shared between Pages and\n App Router. We should fork that module, then remove this\n context provider. */}\n <AppRouterContext.Provider value={publicAppRouterInstance}>\n <LayoutRouterContext.Provider value={layoutRouterContext}>\n {content}\n </LayoutRouterContext.Provider>\n </AppRouterContext.Provider>\n </GlobalLayoutRouterContext.Provider>\n </SearchParamsContext.Provider>\n </PathnameContext.Provider>\n </PathParamsContext.Provider>\n </NavigationPromisesContext.Provider>\n </>\n )\n}\n\nexport default function AppRouter({\n actionQueue,\n globalErrorState,\n webSocket,\n staticIndicatorState,\n}: {\n actionQueue: AppRouterActionQueue\n globalErrorState: GlobalErrorState\n webSocket?: WebSocket\n staticIndicatorState?: StaticIndicatorState\n}) {\n useNavFailureHandler()\n\n const router = (\n <Router\n actionQueue={actionQueue}\n globalError={globalErrorState}\n webSocket={webSocket}\n staticIndicatorState={staticIndicatorState}\n />\n )\n\n // At the very top level, use the default GlobalError component as the final fallback.\n // When the app router itself fails, which means the framework itself fails, we show the default error.\n return (\n <RootErrorBoundary errorComponent={DefaultGlobalError}>\n {router}\n </RootErrorBoundary>\n )\n}\n\nlet runtimeStyles: Set<string> | undefined\nlet runtimeStyleChanged: Set<() => void> | undefined\nif (!process.env.TURBOPACK && typeof window !== 'undefined') {\n runtimeStyles = new Set<string>()\n runtimeStyleChanged = new Set<() => void>()\n\n globalThis._N_E_STYLE_LOAD = function (href: string) {\n if (!runtimeStyles || !runtimeStyleChanged) return Promise.resolve()\n let len = runtimeStyles.size\n runtimeStyles.add(href)\n if (runtimeStyles.size !== len) {\n runtimeStyleChanged.forEach((cb) => cb())\n }\n // TODO figure out how to get a promise here\n // But maybe it's not necessary as react would block rendering until it's loaded\n return Promise.resolve()\n }\n}\n\nfunction RuntimeStylesForWebpack() {\n const [, forceUpdate] = React.useState(0)\n const renderedStylesSize = runtimeStyles?.size ?? 0\n useEffect(() => {\n if (!runtimeStyles || !runtimeStyleChanged) return\n const changed = () => forceUpdate((c) => c + 1)\n runtimeStyleChanged.add(changed)\n if (renderedStylesSize !== runtimeStyles.size) {\n changed()\n }\n return () => {\n runtimeStyleChanged.delete(changed)\n }\n }, [renderedStylesSize, forceUpdate])\n\n const query = getAssetTokenQuery()\n return [...(runtimeStyles || [])].map((href, i) => (\n <link\n key={i}\n rel=\"stylesheet\"\n href={`${href}${query}`}\n // @ts-ignore\n precedence=\"next\"\n // TODO figure out crossOrigin and nonce\n // crossOrigin={TODO}\n // nonce={TODO}\n />\n ))\n}\n"],"names":["React","useEffect","useMemo","startTransition","useInsertionEffect","useDeferredValue","AppRouterContext","LayoutRouterContext","GlobalLayoutRouterContext","ACTION_RESTORE","createHrefFromUrl","SearchParamsContext","PathnameContext","PathParamsContext","NavigationPromisesContext","dispatchAppRouterAction","useActionQueue","setLastCommittedTree","AppRouterAnnouncer","RedirectBoundary","findHeadInCache","unresolvedThenable","removeBasePath","hasBasePath","extractSourcePageFromFlightRouterState","getSelectedParams","useNavFailureHandler","dispatchTraverseAction","publicAppRouterInstance","getRedirectTypeFromError","getURLFromRedirectError","isRedirectError","pingVisibleLinks","RootErrorBoundary","DefaultGlobalError","RootLayoutBoundary","getAssetTokenQuery","globalMutable","HistoryUpdater","appRouterState","process","env","__NEXT_APP_NAV_FAIL_HANDLING","window","next","__pendingUrl","undefined","tree","pushRef","canonicalUrl","renderedSearch","appHistoryState","historyState","preserveCustomHistoryState","history","state","__NA","__PRIVATE_NEXTJS_INTERNALS_TREE","pendingPush","URL","location","href","pushState","replaceState","nextUrl","copyNextJsInternalHistoryState","data","currentState","Head","headCacheNode","head","prefetchHead","resolvedPrefetchRsc","Router","actionQueue","globalError","webSocket","staticIndicatorState","searchParams","pathname","url","NODE_ENV","cache","nd","router","sourcePage","__internal_src_page","handlePageShow","event","persisted","pendingMpaPath","type","addEventListener","removeEventListener","handleUnhandledRedirect","error","reason","preventDefault","redirectType","push","replace","mpaNavigation","assign","originalPushState","bind","originalReplaceState","applyUrlFromHistoryPushReplace","_unused","_N","onPopState","reload","focusAndScrollRef","previousNextUrl","matchingHead","pathParams","instrumentedNavigationPromises","createRootNavigationPromises","require","layoutRouterContext","parentTree","parentCacheNode","parentSegmentPath","parentParams","parentLoadingData","debugNameContext","isActive","globalLayoutRouterContext","headKey","headKeyWithoutSearchParams","content","rsc","__NEXT_DEV_SERVER","DevRootHTTPAccessFallbackBoundary","HotReloader","default","errorComponent","errorStyles","TURBOPACK","RuntimeStylesForWebpack","Provider","value","AppRouter","globalErrorState","runtimeStyles","runtimeStyleChanged","Set","globalThis","_N_E_STYLE_LOAD","Promise","resolve","len","size","add","forEach","cb","forceUpdate","useState","renderedStylesSize","changed","c","delete","query","map","i","link","rel","precedence"],"mappings":";AAAA,OAAOA,SACLC,SAAS,EACTC,OAAO,EACPC,eAAe,EACfC,kBAAkB,EAClBC,gBAAgB,QACX,QAAO;AACd,SACEC,gBAAgB,EAChBC,mBAAmB,EACnBC,yBAAyB,QACpB,qDAAoD;AAE3D,SAASC,cAAc,QAAQ,wCAAuC;AAKtE,SAASC,iBAAiB,QAAQ,wCAAuC;AACzE,SACEC,mBAAmB,EACnBC,eAAe,EACfC,iBAAiB,EACjBC,yBAAyB,QAEpB,uDAAsD;AAC7D,SAASC,uBAAuB,EAAEC,cAAc,QAAQ,qBAAoB;AAC5E,SAASC,oBAAoB,QAAQ,4CAA2C;AAChF,SAASC,kBAAkB,QAAQ,yBAAwB;AAC3D,SAASC,gBAAgB,QAAQ,sBAAqB;AACtD,SAASC,eAAe,QAAQ,+CAA8C;AAC9E,SAASC,kBAAkB,QAAQ,wBAAuB;AAC1D,SAASC,cAAc,QAAQ,sBAAqB;AACpD,SAASC,WAAW,QAAQ,mBAAkB;AAC9C,SACEC,sCAAsC,EACtCC,iBAAiB,QACZ,wCAAuC;AAC9C,SAASC,oBAAoB,QAAQ,wBAAuB;AAC5D,SACEC,sBAAsB,EACtBC,uBAAuB,QAGlB,wBAAuB;AAC9B,SAASC,wBAAwB,EAAEC,uBAAuB,QAAQ,aAAY;AAC9E,SAASC,eAAe,QAAQ,mBAAkB;AAClD,SAASC,gBAAgB,QAAQ,UAAS;AAC1C,OAAOC,uBAAuB,+BAA8B;AAC5D,OAAOC,wBAAwB,yBAAwB;AACvD,SAASC,kBAAkB,QAAQ,0CAAyC;AAE5E,SAASC,kBAAkB,QAAQ,iCAAgC;AAEnE,MAAMC,gBAEF,CAAC;AAEL,SAASC,eAAe,EACtBC,cAAc,EAGf;IACCnC,mBAAmB;QACjB,IAAIoC,QAAQC,GAAG,CAACC,4BAA4B,EAAE;YAC5C,+CAA+C;YAC/C,YAAY;YACZC,OAAOC,IAAI,CAACC,YAAY,GAAGC;QAC7B;QAEA,MAAM,EAAEC,IAAI,EAAEC,OAAO,EAAEC,YAAY,EAAEC,cAAc,EAAE,GAAGX;QAExD,MAAMY,kBAAmC;YACvCJ;YACAG;QACF;QAEA,wCAAwC;QACxC,MAAME,eAAe;YACnB,GAAIJ,QAAQK,0BAA0B,GAAGV,OAAOW,OAAO,CAACC,KAAK,GAAG,CAAC,CAAC;YAClE,yCAAyC;YACzC,kFAAkF;YAClF,iFAAiF;YACjFC,MAAM;YACNC,iCAAiCN;QACnC;QACA,IACEH,QAAQU,WAAW,IACnB,+FAA+F;QAC/F,2DAA2D;QAC3DhD,kBAAkB,IAAIiD,IAAIhB,OAAOiB,QAAQ,CAACC,IAAI,OAAOZ,cACrD;YACA,qJAAqJ;YACrJD,QAAQU,WAAW,GAAG;YACtBf,OAAOW,OAAO,CAACQ,SAAS,CAACV,cAAc,IAAIH;QAC7C,OAAO;YACLN,OAAOW,OAAO,CAACS,YAAY,CAACX,cAAc,IAAIH;QAChD;QAEAhC,qBAAqB8B;IACvB,GAAG;QAACR;KAAe;IAEnBtC,UAAU;QACR,qEAAqE;QACrE,uEAAuE;QACvE,mEAAmE;QACnE,8DAA8D;QAC9D+B,iBAAiBO,eAAeyB,OAAO,EAAEzB,eAAeQ,IAAI;IAC9D,GAAG;QAACR,eAAeyB,OAAO;QAAEzB,eAAeQ,IAAI;KAAC;IAEhD,OAAO;AACT;AAEA,SAASkB,+BAA+BC,IAAS;IAC/C,IAAIA,QAAQ,MAAMA,OAAO,CAAC;IAC1B,MAAMC,eAAexB,OAAOW,OAAO,CAACC,KAAK;IACzC,MAAMC,OAAOW,cAAcX;IAC3B,IAAIA,MAAM;QACRU,KAAKV,IAAI,GAAGA;IACd;IACA,MAAMC,kCACJU,cAAcV;IAChB,IAAIA,iCAAiC;QACnCS,KAAKT,+BAA+B,GAAGA;IACzC;IAEA,OAAOS;AACT;AAEA,SAASE,KAAK,EACZC,aAAa,EAGd;IACC,6EAA6E;IAC7E,4EAA4E;IAC5E,kDAAkD;IAClD,MAAMC,OAAOD,kBAAkB,OAAOA,cAAcC,IAAI,GAAG;IAC3D,MAAMC,eACJF,kBAAkB,OAAOA,cAAcE,YAAY,GAAG;IAExD,6EAA6E;IAC7E,MAAMC,sBAAsBD,iBAAiB,OAAOA,eAAeD;IAEnE,2EAA2E;IAC3E,2EAA2E;IAC3E,sCAAsC;IACtC,OAAOjE,iBAAiBiE,MAAME;AAChC;AAEA;;CAEC,GACD,SAASC,OAAO,EACdC,WAAW,EACXC,WAAW,EACXC,SAAS,EACTC,oBAAoB,EAMrB;IACC,MAAMtB,QAAQvC,eAAe0D;IAC7B,MAAM,EAAEzB,YAAY,EAAE,GAAGM;IACzB,mEAAmE;IACnE,MAAM,EAAEuB,YAAY,EAAEC,QAAQ,EAAE,GAAG7E,QAAQ;QACzC,MAAM8E,MAAM,IAAIrB,IACdV,cACA,OAAON,WAAW,cAAc,aAAaA,OAAOiB,QAAQ,CAACC,IAAI;QAGnE,OAAO;YACL,4DAA4D;YAC5DiB,cAAcE,IAAIF,YAAY;YAC9BC,UAAUxD,YAAYyD,IAAID,QAAQ,IAC9BzD,eAAe0D,IAAID,QAAQ,IAC3BC,IAAID,QAAQ;QAClB;IACF,GAAG;QAAC9B;KAAa;IAEjB,IAAIT,QAAQC,GAAG,CAACwC,QAAQ,KAAK,cAAc;QACzC,MAAM,EAAEC,KAAK,EAAEnC,IAAI,EAAE,GAAGQ;QAExB,4FAA4F;QAC5F,sDAAsD;QACtDtD,UAAU;YACR,0CAA0C;YAC1C,uGAAuG;YACvG,mCAAmC;YACnC0C,OAAOwC,EAAE,GAAG;gBACVC,QAAQxD;gBACRsD;gBACAnC;YACF;QACF,GAAG;YAACmC;YAAOnC;SAAK;IAClB;IAEA9C,UAAU;QACR,MAAMoF,aAAa7D,uCAAuC+B,MAAMR,IAAI;QAEpE,IAAIsC,eAAevC,WAAW;YAC5BH,OAAOC,IAAI,CAAC0C,mBAAmB,GAAGD;QACpC,OAAO;YACL,OAAO1C,OAAOC,IAAI,CAAC0C,mBAAmB;QACxC;IACF,GAAG;QAAC/B,MAAMR,IAAI;KAAC;IAEf9C,UAAU;QACR,0DAA0D;QAC1D,uFAAuF;QACvF,qEAAqE;QACrE,wGAAwG;QACxG,SAASsF,eAAeC,KAA0B;YAChD,IACE,CAACA,MAAMC,SAAS,IAChB,CAAC9C,OAAOW,OAAO,CAACC,KAAK,EAAEE,iCACvB;gBACA;YACF;YAEA,uGAAuG;YACvG,qHAAqH;YACrH,8BAA8B;YAC9BpB,cAAcqD,cAAc,GAAG5C;YAE/B/B,wBAAwB;gBACtB4E,MAAMlF;gBACNuE,KAAK,IAAIrB,IAAIhB,OAAOiB,QAAQ,CAACC,IAAI;gBACjCT,cAAcT,OAAOW,OAAO,CAACC,KAAK,CAACE,+BAA+B;YACpE;QACF;QAEAd,OAAOiD,gBAAgB,CAAC,YAAYL;QAEpC,OAAO;YACL5C,OAAOkD,mBAAmB,CAAC,YAAYN;QACzC;IACF,GAAG,EAAE;IAELtF,UAAU;QACR,iFAAiF;QACjF,wCAAwC;QACxC,SAAS6F,wBACPN,KAAyC;YAEzC,MAAMO,QAAQ,YAAYP,QAAQA,MAAMQ,MAAM,GAAGR,MAAMO,KAAK;YAC5D,IAAIhE,gBAAgBgE,QAAQ;gBAC1BP,MAAMS,cAAc;gBACpB,MAAMjB,MAAMlD,wBAAwBiE;gBACpC,MAAMG,eAAerE,yBAAyBkE;gBAC9C,oEAAoE;gBACpE,mCAAmC;gBACnC,IAAIG,iBAAiB,QAAQ;oBAC3BtE,wBAAwBuE,IAAI,CAACnB,KAAK,CAAC;gBACrC,OAAO;oBACLpD,wBAAwBwE,OAAO,CAACpB,KAAK,CAAC;gBACxC;YACF;QACF;QACArC,OAAOiD,gBAAgB,CAAC,SAASE;QACjCnD,OAAOiD,gBAAgB,CAAC,sBAAsBE;QAE9C,OAAO;YACLnD,OAAOkD,mBAAmB,CAAC,SAASC;YACpCnD,OAAOkD,mBAAmB,CAAC,sBAAsBC;QACnD;IACF,GAAG,EAAE;IAEL,sEAAsE;IACtE,0EAA0E;IAC1E,wEAAwE;IACxE,6EAA6E;IAC7E,YAAY;IACZ,EAAE;IACF,sEAAsE;IACtE,6EAA6E;IAC7E,6EAA6E;IAC7E,uBAAuB;IACvB,MAAM,EAAE9C,OAAO,EAAE,GAAGO;IACpB,IAAIP,QAAQqD,aAAa,EAAE;QACzB,gHAAgH;QAChH,IAAIhE,cAAcqD,cAAc,KAAKzC,cAAc;YACjD,MAAMW,WAAWjB,OAAOiB,QAAQ;YAChC,IAAIZ,QAAQU,WAAW,EAAE;gBACvBE,SAAS0C,MAAM,CAACrD;YAClB,OAAO;gBACLW,SAASwC,OAAO,CAACnD;YACnB;YAEAZ,cAAcqD,cAAc,GAAGzC;QACjC;QACA,mEAAmE;QACnE,4EAA4E;QAC5E,+BAA+B;QAC/B,2EAA2E;QAC3E,wEAAwE;QACxE,+BAA+B;QAC/B,MAAM5B;IACR;IAEApB,UAAU;QACR,MAAMsG,oBAAoB5D,OAAOW,OAAO,CAACQ,SAAS,CAAC0C,IAAI,CAAC7D,OAAOW,OAAO;QACtE,MAAMmD,uBAAuB9D,OAAOW,OAAO,CAACS,YAAY,CAACyC,IAAI,CAC3D7D,OAAOW,OAAO;QAGhB,wJAAwJ;QACxJ,MAAMoD,iCAAiC,CACrC1B;YAEA,MAAMnB,OAAOlB,OAAOiB,QAAQ,CAACC,IAAI;YACjC,MAAMV,kBACJR,OAAOW,OAAO,CAACC,KAAK,EAAEE;YAExBtD,gBAAgB;gBACdY,wBAAwB;oBACtB4E,MAAMlF;oBACNuE,KAAK,IAAIrB,IAAIqB,OAAOnB,MAAMA;oBAC1BT,cAAcD;gBAChB;YACF;QACF;QAEA;;;;KAIC,GACDR,OAAOW,OAAO,CAACQ,SAAS,GAAG,SAASA,UAClCI,IAAS,EACTyC,OAAe,EACf3B,GAAyB;YAEzB,qFAAqF;YACrF,qEAAqE;YACrE,IAAId,MAAMV,QAAQU,MAAM0C,IAAI;gBAC1B,OAAOL,kBAAkBrC,MAAMyC,SAAS3B;YAC1C;YAEAd,OAAOD,+BAA+BC;YAEtC,IAAIc,KAAK;gBACP0B,+BAA+B1B;YACjC;YAEA,OAAOuB,kBAAkBrC,MAAMyC,SAAS3B;QAC1C;QAEA;;;;KAIC,GACDrC,OAAOW,OAAO,CAACS,YAAY,GAAG,SAASA,aACrCG,IAAS,EACTyC,OAAe,EACf3B,GAAyB;YAEzB,qFAAqF;YACrF,qEAAqE;YACrE,IAAId,MAAMV,QAAQU,MAAM0C,IAAI;gBAC1B,OAAOH,qBAAqBvC,MAAMyC,SAAS3B;YAC7C;YACAd,OAAOD,+BAA+BC;YAEtC,IAAIc,KAAK;gBACP0B,+BAA+B1B;YACjC;YACA,OAAOyB,qBAAqBvC,MAAMyC,SAAS3B;QAC7C;QAEA;;;;KAIC,GACD,MAAM6B,aAAa,CAACrB;YAClB,IAAI,CAACA,MAAMjC,KAAK,EAAE;gBAChB,+IAA+I;gBAC/I;YACF;YAEA,6EAA6E;YAC7E,IAAI,CAACiC,MAAMjC,KAAK,CAACC,IAAI,EAAE;gBACrBb,OAAOiB,QAAQ,CAACkD,MAAM;gBACtB;YACF;YAEA,gHAAgH;YAChH,oEAAoE;YACpE3G,gBAAgB;gBACdwB,uBACEgB,OAAOiB,QAAQ,CAACC,IAAI,EACpB2B,MAAMjC,KAAK,CAACE,+BAA+B;YAE/C;QACF;QAEA,8CAA8C;QAC9Cd,OAAOiD,gBAAgB,CAAC,YAAYiB;QACpC,OAAO;YACLlE,OAAOW,OAAO,CAACQ,SAAS,GAAGyC;YAC3B5D,OAAOW,OAAO,CAACS,YAAY,GAAG0C;YAC9B9D,OAAOkD,mBAAmB,CAAC,YAAYgB;QACzC;IACF,GAAG,EAAE;IAEL,MAAM,EAAE3B,KAAK,EAAEnC,IAAI,EAAEiB,OAAO,EAAE+C,iBAAiB,EAAEC,eAAe,EAAE,GAAGzD;IAErE,MAAM0D,eAAe/G,QAAQ;QAC3B,OAAOkB,gBAAgB8D,OAAOnC,IAAI,CAAC,EAAE;IACvC,GAAG;QAACmC;QAAOnC;KAAK;IAEhB,yCAAyC;IACzC,MAAMmE,aAAahH,QAAQ;QACzB,OAAOuB,kBAAkBsB;IAC3B,GAAG;QAACA;KAAK;IAET,+DAA+D;IAC/D,6EAA6E;IAC7E,qEAAqE;IACrE,IAAIoE,iCAA4D;IAChE,IAAI3E,QAAQC,GAAG,CAACwC,QAAQ,KAAK,cAAc;QACzC,MAAM,EAAEmC,4BAA4B,EAAE,GACpCC,QAAQ;QAEVF,iCAAiCC,6BAC/BrE,MACAgC,UACAD,cACAoC;IAEJ;IAEA,MAAMI,sBAAsBpH,QAAQ;QAClC,OAAO;YACLqH,YAAYxE;YACZyE,iBAAiBtC;YACjBuC,mBAAmB;YACnBC,cAAc,CAAC;YACfC,mBAAmB;YACnB,wEAAwE;YACxE,qCAAqC;YACrCC,kBAAkB;YAClB,6BAA6B;YAC7B,8EAA8E;YAC9E5C,KAAK/B;YACL,gCAAgC;YAChC4E,UAAU;QACZ;IACF,GAAG;QAAC9E;QAAMmC;QAAOjC;KAAa;IAE9B,MAAM6E,4BAA4B5H,QAAQ;QACxC,OAAO;YACL6C;YACAgE;YACA/C;YACAgD;QACF;IACF,GAAG;QAACjE;QAAMgE;QAAmB/C;QAASgD;KAAgB;IAEtD,IAAI1C;IACJ,IAAI2C,iBAAiB,MAAM;QACzB,0DAA0D;QAC1D,0EAA0E;QAC1E,oEAAoE;QACpE,EAAE;QACF,wEAAwE;QACxE,uBAAuB;QACvB,MAAM,CAAC5C,eAAe0D,SAASC,2BAA2B,GAAGf;QAE7D3C,qBACE,KAACF;YAKCC,eAAeA;WAHb,+EAA+E;QAC/E,OAAO1B,WAAW,cAAcqF,6BAA6BD;IAKrE,OAAO;QACLzD,OAAO;IACT;IAEA,IAAI2D,wBACF,MAAC9G;;YACEmD;0BAID,KAACnC;0BAAoB+C,MAAMgD,GAAG;;0BAC9B,KAAChH;gBAAmB6B,MAAMA;;;;IAI9B,IAAIP,QAAQC,GAAG,CAAC0F,iBAAiB,EAAE;QACjC,kEAAkE;QAClE,iGAAiG;QACjG,iBAAiB;QACjB,8CAA8C;QAC9C,wBAAwB;QACxB,kEAAkE;QAClE,IAAI,OAAOxF,WAAW,aAAa;YACjC,MAAM,EAAEyF,iCAAiC,EAAE,GACzCf,QAAQ;YACVY,wBACE,KAACG;0BACEH;;QAGP;QACA,MAAMI,cACJ,AACEhB,QAAQ,4CACRiB,OAAO;QAEXL,wBACE,KAACI;YACC1D,aAAaA;YACbC,WAAWA;YACXC,sBAAsBA;sBAErBoD;;IAGP,OAAO;QACLA,wBACE,KAAChG;YACCsG,gBAAgB5D,WAAW,CAAC,EAAE;YAC9B6D,aAAa7D,WAAW,CAAC,EAAE;sBAE1BsD;;IAGP;IAEA,qBACE;;0BACE,KAAC3F;gBAAeC,gBAAgBgB;;YAC/Bf,QAAQC,GAAG,CAACgG,SAAS,GAAG,qBAAO,KAACC;0BACjC,KAAC5H,0BAA0B6H,QAAQ;gBACjCC,OAAOzB;0BAEP,cAAA,KAACtG,kBAAkB8H,QAAQ;oBAACC,OAAO1B;8BACjC,cAAA,KAACtG,gBAAgB+H,QAAQ;wBAACC,OAAO7D;kCAC/B,cAAA,KAACpE,oBAAoBgI,QAAQ;4BAACC,OAAO9D;sCACnC,cAAA,KAACtE,0BAA0BmI,QAAQ;gCACjCC,OAAOd;0CAOP,cAAA,KAACxH,iBAAiBqI,QAAQ;oCAACC,OAAOhH;8CAChC,cAAA,KAACrB,oBAAoBoI,QAAQ;wCAACC,OAAOtB;kDAClCW;;;;;;;;;;AAUrB;AAEA,eAAe,SAASY,UAAU,EAChCnE,WAAW,EACXoE,gBAAgB,EAChBlE,SAAS,EACTC,oBAAoB,EAMrB;IACCnD;IAEA,MAAM0D,uBACJ,KAACX;QACCC,aAAaA;QACbC,aAAamE;QACblE,WAAWA;QACXC,sBAAsBA;;IAI1B,sFAAsF;IACtF,uGAAuG;IACvG,qBACE,KAAC5C;QAAkBsG,gBAAgBrG;kBAChCkD;;AAGP;AAEA,IAAI2D;AACJ,IAAIC;AACJ,IAAI,CAACxG,QAAQC,GAAG,CAACgG,SAAS,IAAI,OAAO9F,WAAW,aAAa;IAC3DoG,gBAAgB,IAAIE;IACpBD,sBAAsB,IAAIC;IAE1BC,WAAWC,eAAe,GAAG,SAAUtF,IAAY;QACjD,IAAI,CAACkF,iBAAiB,CAACC,qBAAqB,OAAOI,QAAQC,OAAO;QAClE,IAAIC,MAAMP,cAAcQ,IAAI;QAC5BR,cAAcS,GAAG,CAAC3F;QAClB,IAAIkF,cAAcQ,IAAI,KAAKD,KAAK;YAC9BN,oBAAoBS,OAAO,CAAC,CAACC,KAAOA;QACtC;QACA,4CAA4C;QAC5C,gFAAgF;QAChF,OAAON,QAAQC,OAAO;IACxB;AACF;AAEA,SAASX;IACP,MAAM,GAAGiB,YAAY,GAAG3J,MAAM4J,QAAQ,CAAC;IACvC,MAAMC,qBAAqBd,eAAeQ,QAAQ;IAClDtJ,UAAU;QACR,IAAI,CAAC8I,iBAAiB,CAACC,qBAAqB;QAC5C,MAAMc,UAAU,IAAMH,YAAY,CAACI,IAAMA,IAAI;QAC7Cf,oBAAoBQ,GAAG,CAACM;QACxB,IAAID,uBAAuBd,cAAcQ,IAAI,EAAE;YAC7CO;QACF;QACA,OAAO;YACLd,oBAAoBgB,MAAM,CAACF;QAC7B;IACF,GAAG;QAACD;QAAoBF;KAAY;IAEpC,MAAMM,QAAQ7H;IACd,OAAO;WAAK2G,iBAAiB,EAAE;KAAE,CAACmB,GAAG,CAAC,CAACrG,MAAMsG,kBAC3C,KAACC;YAECC,KAAI;YACJxG,MAAM,GAAGA,OAAOoG,OAAO;YACvB,aAAa;YACbK,YAAW;WAJNH;AAUX","ignoreList":[0]} | ||
| {"version":3,"sources":["../../../../src/client/components/app-router.tsx"],"sourcesContent":["import React, {\n useEffect,\n useMemo,\n startTransition,\n useInsertionEffect,\n useDeferredValue,\n} from 'react'\nimport {\n AppRouterContext,\n LayoutRouterContext,\n GlobalLayoutRouterContext,\n} from '../../shared/lib/app-router-context.shared-runtime'\nimport type { CacheNode } from '../../shared/lib/app-router-types'\nimport { ACTION_RESTORE } from './router-reducer/router-reducer-types'\nimport type {\n AppHistoryState,\n AppRouterState,\n} from './router-reducer/router-reducer-types'\nimport { createHrefFromUrl } from './router-reducer/create-href-from-url'\nimport {\n SearchParamsContext,\n PathnameContext,\n PathParamsContext,\n NavigationPromisesContext,\n type NavigationPromises,\n} from '../../shared/lib/hooks-client-context.shared-runtime'\nimport { dispatchAppRouterAction, useActionQueue } from './use-action-queue'\nimport { setLastCommittedTree } from './router-reducer/reducers/committed-state'\nimport { AppRouterAnnouncer } from './app-router-announcer'\nimport { RedirectBoundary } from './redirect-boundary'\nimport { findHeadInCache } from './router-reducer/reducers/find-head-in-cache'\nimport { unresolvedThenable } from './unresolved-thenable'\nimport { removeBasePath } from '../remove-base-path'\nimport { hasBasePath } from '../has-base-path'\nimport {\n extractSourcePageFromFlightRouterState,\n getSelectedParams,\n} from './router-reducer/compute-changed-path'\nimport { useNavFailureHandler } from './nav-failure-handler'\nimport {\n dispatchTraverseAction,\n publicAppRouterInstance,\n type AppRouterActionQueue,\n type GlobalErrorState,\n} from './app-router-instance'\nimport { getRedirectTypeFromError, getURLFromRedirectError } from './redirect'\nimport { isRedirectError } from './redirect-error'\nimport { pingVisibleLinks } from './links'\nimport RootErrorBoundary from './errors/root-error-boundary'\nimport DefaultGlobalError from './builtin/global-error'\nimport { RootLayoutBoundary } from '../../lib/framework/boundary-components'\nimport type { StaticIndicatorState } from '../dev/hot-reloader/app/hot-reloader-app'\nimport { getAssetTokenQuery } from '../../shared/lib/deployment-id'\n\nconst globalMutable: {\n pendingMpaPath?: string\n} = {}\n\nfunction HistoryUpdater({\n appRouterState,\n}: {\n appRouterState: AppRouterState\n}) {\n useInsertionEffect(() => {\n if (process.env.__NEXT_APP_NAV_FAIL_HANDLING) {\n // clear pending URL as navigation is no longer\n // in flight\n window.next.__pendingUrl = undefined\n }\n\n const { tree, pushRef, canonicalUrl, renderedSearch } = appRouterState\n\n const appHistoryState: AppHistoryState = {\n tree,\n renderedSearch,\n }\n\n // TODO: Use Navigation API if available\n const historyState = {\n ...(pushRef.preserveCustomHistoryState ? window.history.state : {}),\n // Identifier is shortened intentionally.\n // __NA is used to identify if the history entry can be handled by the app-router.\n // __N is used to identify if the history entry can be handled by the old router.\n __NA: true,\n __PRIVATE_NEXTJS_INTERNALS_TREE: appHistoryState,\n }\n if (\n pushRef.pendingPush &&\n // Skip pushing an additional history entry if the canonicalUrl is the same as the current url.\n // This mirrors the browser behavior for normal navigation.\n createHrefFromUrl(new URL(window.location.href)) !== canonicalUrl\n ) {\n // This intentionally mutates React state, pushRef is overwritten to ensure additional push/replace calls do not trigger an additional history entry.\n pushRef.pendingPush = false\n window.history.pushState(historyState, '', canonicalUrl)\n } else {\n window.history.replaceState(historyState, '', canonicalUrl)\n }\n\n setLastCommittedTree(tree)\n }, [appRouterState])\n\n useEffect(() => {\n // The Next-Url and the base tree may affect the result of a prefetch\n // task. Re-prefetch all visible links with the updated values. In most\n // cases, this will not result in any new network requests, only if\n // the prefetch result actually varies on one of these inputs.\n pingVisibleLinks(appRouterState.nextUrl, appRouterState.tree)\n }, [appRouterState.nextUrl, appRouterState.tree])\n\n return null\n}\n\nfunction copyNextJsInternalHistoryState(data: any) {\n if (data == null) data = {}\n const currentState = window.history.state\n const __NA = currentState?.__NA\n if (__NA) {\n data.__NA = __NA\n }\n const __PRIVATE_NEXTJS_INTERNALS_TREE =\n currentState?.__PRIVATE_NEXTJS_INTERNALS_TREE\n if (__PRIVATE_NEXTJS_INTERNALS_TREE) {\n data.__PRIVATE_NEXTJS_INTERNALS_TREE = __PRIVATE_NEXTJS_INTERNALS_TREE\n }\n\n return data\n}\n\nfunction Head({\n headCacheNode,\n}: {\n headCacheNode: CacheNode | null\n}): React.ReactNode {\n // If this segment has a `prefetchHead`, it's the statically prefetched data.\n // We should use that on initial render instead of `head`. Then we'll switch\n // to `head` when the dynamic response streams in.\n const head = headCacheNode !== null ? headCacheNode.head : null\n const prefetchHead =\n headCacheNode !== null ? headCacheNode.prefetchHead : null\n\n // If no prefetch data is available, then we go straight to rendering `head`.\n const resolvedPrefetchRsc = prefetchHead !== null ? prefetchHead : head\n\n // We use `useDeferredValue` to handle switching between the prefetched and\n // final values. The second argument is returned on initial render, then it\n // re-renders with the first argument.\n return useDeferredValue(head, resolvedPrefetchRsc)\n}\n\n/**\n * The global router that wraps the application components.\n */\nfunction Router({\n actionQueue,\n globalError,\n webSocket,\n staticIndicatorState,\n}: {\n actionQueue: AppRouterActionQueue\n globalError: GlobalErrorState\n webSocket: WebSocket | undefined\n staticIndicatorState: StaticIndicatorState | undefined\n}) {\n const state = useActionQueue(actionQueue)\n const { canonicalUrl } = state\n // Add memoized pathname/query for useSearchParams and usePathname.\n const { searchParams, pathname } = useMemo(() => {\n const url = new URL(\n canonicalUrl,\n typeof window === 'undefined' ? 'http://n' : window.location.href\n )\n\n return {\n // This is turned into a readonly class in `useSearchParams`\n searchParams: url.searchParams,\n pathname: hasBasePath(url.pathname)\n ? removeBasePath(url.pathname)\n : url.pathname,\n }\n }, [canonicalUrl])\n\n if (process.env.NODE_ENV !== 'production') {\n const { cache, tree } = state\n\n // This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useEffect(() => {\n // Add `window.nd` for debugging purposes.\n // This is not meant for use in applications as concurrent rendering will affect the cache/tree/router.\n // @ts-ignore this is for debugging\n window.nd = {\n router: publicAppRouterInstance,\n cache,\n tree,\n }\n }, [cache, tree])\n }\n\n useEffect(() => {\n const sourcePage = extractSourcePageFromFlightRouterState(state.tree)\n\n if (sourcePage !== undefined) {\n window.next.__internal_src_page = sourcePage\n } else {\n delete window.next.__internal_src_page\n }\n }, [state.tree])\n\n useEffect(() => {\n // If the app is restored from bfcache, it's possible that\n // pushRef.mpaNavigation is true, which would mean that any re-render of this component\n // would trigger the mpa navigation logic again from the lines below.\n // This will restore the router to the initial state in the event that the app is restored from bfcache.\n function handlePageShow(event: PageTransitionEvent) {\n if (\n !event.persisted ||\n !window.history.state?.__PRIVATE_NEXTJS_INTERNALS_TREE\n ) {\n return\n }\n\n // Clear the pendingMpaPath value so that a subsequent MPA navigation to the same URL can be triggered.\n // This is necessary because if the browser restored from bfcache, the pendingMpaPath would still be set to the value\n // of the last MPA navigation.\n globalMutable.pendingMpaPath = undefined\n\n dispatchAppRouterAction({\n type: ACTION_RESTORE,\n url: new URL(window.location.href),\n historyState: window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE,\n })\n }\n\n window.addEventListener('pageshow', handlePageShow)\n\n return () => {\n window.removeEventListener('pageshow', handlePageShow)\n }\n }, [])\n\n useEffect(() => {\n // Ensure that any redirect errors that bubble up outside of the RedirectBoundary\n // are caught and handled by the router.\n function handleUnhandledRedirect(\n event: ErrorEvent | PromiseRejectionEvent\n ) {\n const error = 'reason' in event ? event.reason : event.error\n if (isRedirectError(error)) {\n event.preventDefault()\n const url = getURLFromRedirectError(error)\n const redirectType = getRedirectTypeFromError(error)\n // TODO: This should access the router methods directly, rather than\n // go through the public interface.\n if (redirectType === 'push') {\n publicAppRouterInstance.push(url, {})\n } else {\n publicAppRouterInstance.replace(url, {})\n }\n }\n }\n window.addEventListener('error', handleUnhandledRedirect)\n window.addEventListener('unhandledrejection', handleUnhandledRedirect)\n\n return () => {\n window.removeEventListener('error', handleUnhandledRedirect)\n window.removeEventListener('unhandledrejection', handleUnhandledRedirect)\n }\n }, [])\n\n // When mpaNavigation flag is set do a hard navigation to the new url.\n // Infinitely suspend because we don't actually want to rerender any child\n // components with the new URL and any entangled state updates shouldn't\n // commit either (eg: useTransition isPending should stay true until the page\n // unloads).\n //\n // This is a side effect in render. Don't try this at home, kids. It's\n // probably safe because we know this is a singleton component and it's never\n // in <Offscreen>. At least I hope so. (It will run twice in dev strict mode,\n // but that's... fine?)\n const { pushRef } = state\n if (pushRef.mpaNavigation) {\n // if there's a re-render, we don't want to trigger another redirect if one is already in flight to the same URL\n if (globalMutable.pendingMpaPath !== canonicalUrl) {\n const location = window.location\n if (pushRef.pendingPush) {\n location.assign(canonicalUrl)\n } else {\n location.replace(canonicalUrl)\n }\n\n globalMutable.pendingMpaPath = canonicalUrl\n }\n // TODO-APP: Should we listen to navigateerror here to catch failed\n // navigations somehow? And should we call window.stop() if a SPA navigation\n // should interrupt an MPA one?\n // NOTE: This is intentionally using `throw` instead of `use` because we're\n // inside an externally mutable condition (pushRef.mpaNavigation), which\n // violates the rules of hooks.\n throw unresolvedThenable\n }\n\n useEffect(() => {\n const originalPushState = window.history.pushState.bind(window.history)\n const originalReplaceState = window.history.replaceState.bind(\n window.history\n )\n\n // Ensure the canonical URL in the Next.js Router is updated when the URL is changed so that `usePathname` and `useSearchParams` hold the pushed values.\n const applyUrlFromHistoryPushReplace = (\n url: string | URL | null | undefined\n ) => {\n const href = window.location.href\n const appHistoryState: AppHistoryState | undefined =\n window.history.state?.__PRIVATE_NEXTJS_INTERNALS_TREE\n\n startTransition(() => {\n dispatchAppRouterAction({\n type: ACTION_RESTORE,\n url: new URL(url ?? href, href),\n historyState: appHistoryState,\n })\n })\n }\n\n /**\n * Patch pushState to ensure external changes to the history are reflected in the Next.js Router.\n * Ensures Next.js internal history state is copied to the new history entry.\n * Ensures usePathname and useSearchParams hold the newly provided url.\n */\n window.history.pushState = function pushState(\n data: any,\n _unused: string,\n url?: string | URL | null\n ): void {\n // TODO: Warn when Navigation API is available (navigation.navigate() should be used)\n // Avoid a loop when Next.js internals trigger pushState/replaceState\n if (data?.__NA || data?._N) {\n return originalPushState(data, _unused, url)\n }\n\n data = copyNextJsInternalHistoryState(data)\n\n if (url) {\n applyUrlFromHistoryPushReplace(url)\n }\n\n return originalPushState(data, _unused, url)\n }\n\n /**\n * Patch replaceState to ensure external changes to the history are reflected in the Next.js Router.\n * Ensures Next.js internal history state is copied to the new history entry.\n * Ensures usePathname and useSearchParams hold the newly provided url.\n */\n window.history.replaceState = function replaceState(\n data: any,\n _unused: string,\n url?: string | URL | null\n ): void {\n // TODO: Warn when Navigation API is available (navigation.navigate() should be used)\n // Avoid a loop when Next.js internals trigger pushState/replaceState\n if (data?.__NA || data?._N) {\n return originalReplaceState(data, _unused, url)\n }\n data = copyNextJsInternalHistoryState(data)\n\n if (url) {\n applyUrlFromHistoryPushReplace(url)\n }\n return originalReplaceState(data, _unused, url)\n }\n\n /**\n * Handle popstate event, this is used to handle back/forward in the browser.\n * By default dispatches ACTION_RESTORE, however if the history entry was not pushed/replaced by app-router it will reload the page.\n * That case can happen when the old router injected the history entry.\n */\n const onPopState = (event: PopStateEvent) => {\n if (!event.state) {\n // TODO-APP: this case only happens when pushState/replaceState was called outside of Next.js. It should probably reload the page in this case.\n return\n }\n\n // This case happens when the history entry was pushed by the `pages` router.\n if (!event.state.__NA) {\n window.location.reload()\n return\n }\n\n // TODO-APP: Ideally the back button should not use startTransition as it should apply the updates synchronously\n // Without startTransition works if the cache is there for this path\n startTransition(() => {\n dispatchTraverseAction(\n window.location.href,\n event.state.__PRIVATE_NEXTJS_INTERNALS_TREE\n )\n })\n }\n\n // Register popstate event to call onPopstate.\n window.addEventListener('popstate', onPopState)\n return () => {\n window.history.pushState = originalPushState\n window.history.replaceState = originalReplaceState\n window.removeEventListener('popstate', onPopState)\n }\n }, [])\n\n const { cache, tree, nextUrl, focusAndScrollRef, previousNextUrl } = state\n\n const matchingHead = useMemo(() => {\n return findHeadInCache(cache, tree[1])\n }, [cache, tree])\n\n // Add memoized pathParams for useParams.\n const pathParams = useMemo(() => {\n return getSelectedParams(tree)\n }, [tree])\n\n // Create instrumented promises for navigation hooks (dev-only)\n // These are specially instrumented promises to show in the Suspense DevTools\n // Promises are cached outside of render to survive suspense retries.\n let instrumentedNavigationPromises: NavigationPromises | null = null\n if (process.env.NODE_ENV !== 'production') {\n const { createRootNavigationPromises } =\n require('./navigation-devtools') as typeof import('./navigation-devtools')\n\n instrumentedNavigationPromises = createRootNavigationPromises(\n tree,\n pathname,\n searchParams,\n pathParams\n )\n }\n\n const layoutRouterContext = useMemo(() => {\n return {\n parentTree: tree,\n parentCacheNode: cache,\n parentSegmentPath: null,\n parentParams: {},\n parentLoadingData: null,\n // This is the <Activity> \"name\" that shows up in the Suspense DevTools.\n // It represents the root of the app.\n debugNameContext: '/',\n // Root node always has `url`\n // Provided in AppTreeContext to ensure it can be overwritten in layout-router\n url: canonicalUrl,\n // Root segment is always active\n isActive: true,\n }\n }, [tree, cache, canonicalUrl])\n\n const globalLayoutRouterContext = useMemo(() => {\n return {\n tree,\n focusAndScrollRef,\n nextUrl,\n previousNextUrl,\n }\n }, [tree, focusAndScrollRef, nextUrl, previousNextUrl])\n\n let head\n if (matchingHead !== null) {\n // The head is wrapped in an extra component so we can use\n // `useDeferredValue` to swap between the prefetched and final versions of\n // the head. (This is what LayoutRouter does for segment data, too.)\n //\n // The `key` is used to remount the component whenever the head moves to\n // a different segment.\n const [headCacheNode, headKey, headKeyWithoutSearchParams] = matchingHead\n\n head = (\n <Head\n key={\n // Necessary for PPR: omit search params from the key to match prerendered keys\n typeof window === 'undefined' ? headKeyWithoutSearchParams : headKey\n }\n headCacheNode={headCacheNode}\n />\n )\n } else {\n head = null\n }\n\n let content = (\n <RedirectBoundary>\n {head}\n {/* RootLayoutBoundary enables detection of Suspense boundaries around the root layout.\n When users wrap their layout in <Suspense>, this creates the component stack pattern\n \"Suspense -> RootLayoutBoundary\" which dynamic-rendering.ts uses to allow dynamic rendering. */}\n <RootLayoutBoundary>{cache.rsc}</RootLayoutBoundary>\n <AppRouterAnnouncer tree={tree} />\n </RedirectBoundary>\n )\n\n if (process.env.__NEXT_DEV_SERVER) {\n // In development, we apply few error boundaries and hot-reloader:\n // - DevRootHTTPAccessFallbackBoundary: avoid using navigation API like notFound() in root layout\n // - HotReloader:\n // - hot-reload the app when the code changes\n // - render dev overlay\n // - catch runtime errors and display global-error when necessary\n if (typeof window !== 'undefined') {\n const { DevRootHTTPAccessFallbackBoundary } =\n require('./dev-root-http-access-fallback-boundary') as typeof import('./dev-root-http-access-fallback-boundary')\n content = (\n <DevRootHTTPAccessFallbackBoundary>\n {content}\n </DevRootHTTPAccessFallbackBoundary>\n )\n }\n const HotReloader: typeof import('../dev/hot-reloader/app/hot-reloader-app').default =\n (\n require('../dev/hot-reloader/app/hot-reloader-app') as typeof import('../dev/hot-reloader/app/hot-reloader-app')\n ).default\n\n content = (\n <HotReloader\n globalError={globalError}\n webSocket={webSocket}\n staticIndicatorState={staticIndicatorState}\n >\n {content}\n </HotReloader>\n )\n } else {\n content = (\n <RootErrorBoundary\n errorComponent={globalError[0]}\n errorStyles={globalError[1]}\n >\n {content}\n </RootErrorBoundary>\n )\n }\n\n if (process.env.__NEXT_USE_OFFLINE) {\n const { OfflineProvider } =\n require('./use-offline') as typeof import('./use-offline')\n content = <OfflineProvider>{content}</OfflineProvider>\n }\n\n return (\n <>\n <HistoryUpdater appRouterState={state} />\n {process.env.TURBOPACK ? null : <RuntimeStylesForWebpack />}\n <NavigationPromisesContext.Provider\n value={instrumentedNavigationPromises}\n >\n <PathParamsContext.Provider value={pathParams}>\n <PathnameContext.Provider value={pathname}>\n <SearchParamsContext.Provider value={searchParams}>\n <GlobalLayoutRouterContext.Provider\n value={globalLayoutRouterContext}\n >\n {/* TODO: We should be able to remove this context. useRouter\n should import from app-router-instance instead. It's only\n necessary because useRouter is shared between Pages and\n App Router. We should fork that module, then remove this\n context provider. */}\n <AppRouterContext.Provider value={publicAppRouterInstance}>\n <LayoutRouterContext.Provider value={layoutRouterContext}>\n {content}\n </LayoutRouterContext.Provider>\n </AppRouterContext.Provider>\n </GlobalLayoutRouterContext.Provider>\n </SearchParamsContext.Provider>\n </PathnameContext.Provider>\n </PathParamsContext.Provider>\n </NavigationPromisesContext.Provider>\n </>\n )\n}\n\nexport default function AppRouter({\n actionQueue,\n globalErrorState,\n webSocket,\n staticIndicatorState,\n}: {\n actionQueue: AppRouterActionQueue\n globalErrorState: GlobalErrorState\n webSocket?: WebSocket\n staticIndicatorState?: StaticIndicatorState\n}) {\n useNavFailureHandler()\n\n const router = (\n <Router\n actionQueue={actionQueue}\n globalError={globalErrorState}\n webSocket={webSocket}\n staticIndicatorState={staticIndicatorState}\n />\n )\n\n // At the very top level, use the default GlobalError component as the final fallback.\n // When the app router itself fails, which means the framework itself fails, we show the default error.\n return (\n <RootErrorBoundary errorComponent={DefaultGlobalError}>\n {router}\n </RootErrorBoundary>\n )\n}\n\nlet runtimeStyles: Set<string> | undefined\nlet runtimeStyleChanged: Set<() => void> | undefined\nif (!process.env.TURBOPACK && typeof window !== 'undefined') {\n runtimeStyles = new Set<string>()\n runtimeStyleChanged = new Set<() => void>()\n\n globalThis._N_E_STYLE_LOAD = function (href: string) {\n if (!runtimeStyles || !runtimeStyleChanged) return Promise.resolve()\n let len = runtimeStyles.size\n runtimeStyles.add(href)\n if (runtimeStyles.size !== len) {\n runtimeStyleChanged.forEach((cb) => cb())\n }\n // TODO figure out how to get a promise here\n // But maybe it's not necessary as react would block rendering until it's loaded\n return Promise.resolve()\n }\n}\n\nfunction RuntimeStylesForWebpack() {\n const [, forceUpdate] = React.useState(0)\n const renderedStylesSize = runtimeStyles?.size ?? 0\n useEffect(() => {\n if (!runtimeStyles || !runtimeStyleChanged) return\n const changed = () => forceUpdate((c) => c + 1)\n runtimeStyleChanged.add(changed)\n if (renderedStylesSize !== runtimeStyles.size) {\n changed()\n }\n return () => {\n runtimeStyleChanged.delete(changed)\n }\n }, [renderedStylesSize, forceUpdate])\n\n const query = getAssetTokenQuery()\n return [...(runtimeStyles || [])].map((href, i) => (\n <link\n key={i}\n rel=\"stylesheet\"\n href={`${href}${query}`}\n // @ts-ignore\n precedence=\"next\"\n // TODO figure out crossOrigin and nonce\n // crossOrigin={TODO}\n // nonce={TODO}\n />\n ))\n}\n"],"names":["React","useEffect","useMemo","startTransition","useInsertionEffect","useDeferredValue","AppRouterContext","LayoutRouterContext","GlobalLayoutRouterContext","ACTION_RESTORE","createHrefFromUrl","SearchParamsContext","PathnameContext","PathParamsContext","NavigationPromisesContext","dispatchAppRouterAction","useActionQueue","setLastCommittedTree","AppRouterAnnouncer","RedirectBoundary","findHeadInCache","unresolvedThenable","removeBasePath","hasBasePath","extractSourcePageFromFlightRouterState","getSelectedParams","useNavFailureHandler","dispatchTraverseAction","publicAppRouterInstance","getRedirectTypeFromError","getURLFromRedirectError","isRedirectError","pingVisibleLinks","RootErrorBoundary","DefaultGlobalError","RootLayoutBoundary","getAssetTokenQuery","globalMutable","HistoryUpdater","appRouterState","process","env","__NEXT_APP_NAV_FAIL_HANDLING","window","next","__pendingUrl","undefined","tree","pushRef","canonicalUrl","renderedSearch","appHistoryState","historyState","preserveCustomHistoryState","history","state","__NA","__PRIVATE_NEXTJS_INTERNALS_TREE","pendingPush","URL","location","href","pushState","replaceState","nextUrl","copyNextJsInternalHistoryState","data","currentState","Head","headCacheNode","head","prefetchHead","resolvedPrefetchRsc","Router","actionQueue","globalError","webSocket","staticIndicatorState","searchParams","pathname","url","NODE_ENV","cache","nd","router","sourcePage","__internal_src_page","handlePageShow","event","persisted","pendingMpaPath","type","addEventListener","removeEventListener","handleUnhandledRedirect","error","reason","preventDefault","redirectType","push","replace","mpaNavigation","assign","originalPushState","bind","originalReplaceState","applyUrlFromHistoryPushReplace","_unused","_N","onPopState","reload","focusAndScrollRef","previousNextUrl","matchingHead","pathParams","instrumentedNavigationPromises","createRootNavigationPromises","require","layoutRouterContext","parentTree","parentCacheNode","parentSegmentPath","parentParams","parentLoadingData","debugNameContext","isActive","globalLayoutRouterContext","headKey","headKeyWithoutSearchParams","content","rsc","__NEXT_DEV_SERVER","DevRootHTTPAccessFallbackBoundary","HotReloader","default","errorComponent","errorStyles","__NEXT_USE_OFFLINE","OfflineProvider","TURBOPACK","RuntimeStylesForWebpack","Provider","value","AppRouter","globalErrorState","runtimeStyles","runtimeStyleChanged","Set","globalThis","_N_E_STYLE_LOAD","Promise","resolve","len","size","add","forEach","cb","forceUpdate","useState","renderedStylesSize","changed","c","delete","query","map","i","link","rel","precedence"],"mappings":"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","ignoreList":[0]} |
@@ -80,2 +80,8 @@ 'use client'; | ||
| const res = await createFetch(url, headers, 'auto', shouldImmediatelyDecode); | ||
| // If the fetch succeeds while we're in the offline state, notify the | ||
| // offline module so it can short-circuit the polling loop. | ||
| if (process.env.__NEXT_USE_OFFLINE) { | ||
| const { notifyOnline } = require('../offline'); | ||
| notifyOnline(); | ||
| } | ||
| const responseUrl = urlToUrlWithoutFlightMarker(new URL(res.url)); | ||
@@ -162,2 +168,22 @@ const canonicalUrl = res.redirected ? responseUrl : originalUrl; | ||
| } catch (err) { | ||
| // If the fetch rejected due to a network error, wait for connectivity | ||
| // to be restored and then retry. checkOfflineError returns true for | ||
| // network errors (and starts the polling loop); returns false for | ||
| // intentional aborts/timeouts, which fall through to the MPA fallback. | ||
| // | ||
| // Note: when the user navigates multiple times while offline, each | ||
| // navigation queues a separate retry here. Once connectivity returns, | ||
| // all pending retries resume simultaneously. This is mitigated in PR 3 | ||
| // by reusing back-forward cache entries during offline navigation, which | ||
| // avoids issuing new fetches in the first place. | ||
| if (process.env.__NEXT_USE_OFFLINE && !isPageUnloading) { | ||
| const { checkOfflineError, getOffline, waitForConnection } = require('../offline'); | ||
| if (checkOfflineError(err)) { | ||
| const offline = getOffline(); | ||
| if (offline !== null) { | ||
| await waitForConnection(offline); | ||
| } | ||
| return fetchServerResponse(url, options); | ||
| } | ||
| } | ||
| if (!isPageUnloading) { | ||
@@ -164,0 +190,0 @@ console.error(`Failed to fetch RSC payload for ${originalUrl}. Falling back to browser navigation.`, err); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../../../../../src/client/components/router-reducer/fetch-server-response.ts"],"sourcesContent":["'use client'\n\n// TODO: Explicitly import from client.browser\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport {\n createFromReadableStream as createFromReadableStreamBrowser,\n createFromFetch as createFromFetchBrowser,\n} from 'react-server-dom-webpack/client'\n\nimport { InvariantError } from '../../../shared/lib/invariant-error'\nimport type {\n FlightRouterState,\n InitialRSCPayload,\n NavigationFlightResponse,\n} from '../../../shared/lib/app-router-types'\n\nimport {\n type NEXT_ROUTER_PREFETCH_HEADER,\n type NEXT_ROUTER_SEGMENT_PREFETCH_HEADER,\n type NEXT_INSTANT_PREFETCH_HEADER,\n NEXT_ROUTER_STATE_TREE_HEADER,\n NEXT_RSC_UNION_QUERY,\n NEXT_URL,\n RSC_HEADER,\n RSC_CONTENT_TYPE_HEADER,\n NEXT_HMR_REFRESH_HEADER,\n NEXT_DID_POSTPONE_HEADER,\n NEXT_HTML_REQUEST_ID_HEADER,\n NEXT_REQUEST_ID_HEADER,\n} from '../app-router-headers'\nimport { callServer } from '../../app-call-server'\nimport { findSourceMapURL } from '../../app-find-source-map-url'\nimport {\n normalizeFlightData,\n prepareFlightRouterStateForRequest,\n type NormalizedFlightData,\n} from '../../flight-data-helpers'\nimport { setCacheBustingSearchParam } from './set-cache-busting-search-param'\nimport { urlToUrlWithoutFlightMarker } from '../../route-params'\nimport type { NormalizedSearch } from '../segment-cache/cache-key'\nimport { getDeploymentId } from '../../../shared/lib/deployment-id'\nimport { getNavigationBuildId } from '../../navigation-build-id'\nimport { NEXT_NAV_DEPLOYMENT_ID_HEADER } from '../../../lib/constants'\nimport { stripIsPartialByte } from '../segment-cache/cache'\nimport { UnknownDynamicStaleTime } from '../segment-cache/bfcache'\n\nconst createFromReadableStream =\n createFromReadableStreamBrowser as (typeof import('react-server-dom-webpack/client.browser'))['createFromReadableStream']\nconst createFromFetch =\n createFromFetchBrowser as (typeof import('react-server-dom-webpack/client.browser'))['createFromFetch']\n\nlet createDebugChannel:\n | typeof import('../../dev/debug-channel').createDebugChannel\n | undefined\n\nif (process.env.__NEXT_DEV_SERVER && process.env.__NEXT_REACT_DEBUG_CHANNEL) {\n createDebugChannel = (\n require('../../dev/debug-channel') as typeof import('../../dev/debug-channel')\n ).createDebugChannel\n}\n\nexport interface FetchServerResponseOptions {\n readonly flightRouterState: FlightRouterState\n readonly nextUrl: string | null\n readonly isHmrRefresh?: boolean\n}\n\nexport type StaticStageData<\n T extends\n | NavigationFlightResponse\n | InitialRSCPayload = NavigationFlightResponse,\n> = {\n readonly response: T\n readonly isResponsePartial: boolean\n}\n\ntype SpaFetchServerResponseResult = {\n flightData: NormalizedFlightData[]\n canonicalUrl: URL\n renderedSearch: NormalizedSearch\n couldBeIntercepted: boolean\n supportsPerSegmentPrefetching: boolean\n postponed: boolean\n dynamicStaleTime: number\n staticStageData: StaticStageData | null\n runtimePrefetchStream: ReadableStream<Uint8Array> | null\n responseHeaders: Headers\n debugInfo: Array<any> | null\n}\n\ntype MpaFetchServerResponseResult = string\n\nexport type FetchServerResponseResult =\n | MpaFetchServerResponseResult\n | SpaFetchServerResponseResult\n\nexport type RequestHeaders = {\n [RSC_HEADER]?: '1'\n [NEXT_ROUTER_STATE_TREE_HEADER]?: string\n [NEXT_URL]?: string\n [NEXT_ROUTER_PREFETCH_HEADER]?: '1' | '2'\n [NEXT_ROUTER_SEGMENT_PREFETCH_HEADER]?: string\n 'x-deployment-id'?: string\n [NEXT_HMR_REFRESH_HEADER]?: '1'\n // A header that is only added in test mode to assert on fetch priority\n 'Next-Test-Fetch-Priority'?: RequestInit['priority']\n [NEXT_HTML_REQUEST_ID_HEADER]?: string // dev-only\n [NEXT_REQUEST_ID_HEADER]?: string // dev-only\n [NEXT_INSTANT_PREFETCH_HEADER]?: '1' // testing API only\n}\n\nfunction doMpaNavigation(url: string): FetchServerResponseResult {\n return urlToUrlWithoutFlightMarker(new URL(url, location.origin)).toString()\n}\n\nlet isPageUnloading = false\n\nif (typeof window !== 'undefined') {\n // Track when the page is unloading, e.g. due to reloading the page or\n // performing hard navigations. This allows us to suppress error logging when\n // the browser cancels in-flight requests during page unload.\n window.addEventListener('pagehide', () => {\n isPageUnloading = true\n })\n\n // Reset the flag on pageshow, e.g. when navigating back and the JavaScript\n // execution context is restored by the browser.\n window.addEventListener('pageshow', () => {\n isPageUnloading = false\n })\n}\n\n/**\n * Fetch the flight data for the provided url. Takes in the current router state\n * to decide what to render server-side.\n */\nexport async function fetchServerResponse(\n url: URL,\n options: FetchServerResponseOptions\n): Promise<FetchServerResponseResult> {\n const { flightRouterState, nextUrl } = options\n\n const headers: RequestHeaders = {\n // Enable flight response\n [RSC_HEADER]: '1',\n // Provide the current router state\n [NEXT_ROUTER_STATE_TREE_HEADER]: prepareFlightRouterStateForRequest(\n flightRouterState,\n options.isHmrRefresh\n ),\n }\n\n if (process.env.NODE_ENV === 'development' && options.isHmrRefresh) {\n headers[NEXT_HMR_REFRESH_HEADER] = '1'\n }\n\n if (nextUrl) {\n headers[NEXT_URL] = nextUrl\n }\n\n // In static export mode, we need to modify the URL to request the .txt file,\n // but we should preserve the original URL for the canonical URL and error handling.\n const originalUrl = url\n\n try {\n if (process.env.NODE_ENV === 'production') {\n if (process.env.__NEXT_CONFIG_OUTPUT === 'export') {\n // In \"output: export\" mode, we can't rely on headers to distinguish\n // between HTML and RSC requests. Instead, we append an extra prefix\n // to the request.\n url = new URL(url)\n if (url.pathname.endsWith('/')) {\n url.pathname += 'index.txt'\n } else {\n url.pathname += '.txt'\n }\n }\n }\n\n // Typically, during a navigation, we decode the response using Flight's\n // `createFromFetch` API, which accepts a `fetch` promise.\n // TODO: Remove this check once the old PPR flag is removed\n const isLegacyPPR =\n process.env.__NEXT_PPR && !process.env.__NEXT_CACHE_COMPONENTS\n const shouldImmediatelyDecode = !isLegacyPPR\n const res = await createFetch<NavigationFlightResponse>(\n url,\n headers,\n 'auto',\n shouldImmediatelyDecode\n )\n\n const responseUrl = urlToUrlWithoutFlightMarker(new URL(res.url))\n const canonicalUrl = res.redirected ? responseUrl : originalUrl\n\n const contentType = res.headers.get('content-type') || ''\n const interception = !!res.headers.get('vary')?.includes(NEXT_URL)\n const postponed = !!res.headers.get(NEXT_DID_POSTPONE_HEADER)\n let isFlightResponse = contentType.startsWith(RSC_CONTENT_TYPE_HEADER)\n\n if (process.env.NODE_ENV === 'production') {\n if (process.env.__NEXT_CONFIG_OUTPUT === 'export') {\n if (!isFlightResponse) {\n isFlightResponse = contentType.startsWith('text/plain')\n }\n }\n }\n\n // If fetch returns something different than flight response handle it like a mpa navigation\n // If the fetch was not 200, we also handle it like a mpa navigation\n if (!isFlightResponse || !res.ok || !res.body) {\n // in case the original URL came with a hash, preserve it before redirecting to the new URL\n if (url.hash) {\n responseUrl.hash = url.hash\n }\n\n return doMpaNavigation(responseUrl.toString())\n }\n\n // We may navigate to a page that requires a different Webpack runtime.\n // In prod, every page will have the same Webpack runtime.\n // In dev, the Webpack runtime is minimal for each page.\n // We need to ensure the Webpack runtime is updated before executing client-side JS of the new page.\n // TODO: This needs to happen in the Flight Client.\n // Or Webpack needs to include the runtime update in the Flight response as\n // a blocking script.\n if (process.env.NODE_ENV !== 'production' && !process.env.TURBOPACK) {\n await (\n require('../../dev/hot-reloader/app/hot-reloader-app') as typeof import('../../dev/hot-reloader/app/hot-reloader-app')\n ).waitForWebpackRuntimeHotUpdate()\n }\n\n let flightResponsePromise = res.flightResponsePromise\n if (flightResponsePromise === null) {\n // Typically, `createFetch` would have already started decoding the\n // Flight response. If it hasn't, though, we need to decode it now.\n // TODO: This should only be reachable if legacy PPR is enabled (i.e. PPR\n // without Cache Components). Remove this branch once legacy PPR\n // is deleted.\n flightResponsePromise =\n createFromNextReadableStream<NavigationFlightResponse>(\n res.body,\n headers,\n { allowPartialStream: postponed }\n )\n }\n\n const [flightResponse, cacheData] = await Promise.all([\n flightResponsePromise,\n res.cacheData,\n ])\n\n if (\n (res.headers.get(NEXT_NAV_DEPLOYMENT_ID_HEADER) ?? flightResponse.b) !==\n getNavigationBuildId()\n ) {\n // The server build does not match the client build.\n return doMpaNavigation(res.url)\n }\n\n const normalizedFlightData = normalizeFlightData(flightResponse.f)\n if (typeof normalizedFlightData === 'string') {\n return doMpaNavigation(normalizedFlightData)\n }\n\n const staticStageData =\n cacheData !== null\n ? await resolveStaticStageData(cacheData, flightResponse, headers)\n : null\n\n return {\n flightData: normalizedFlightData,\n canonicalUrl: canonicalUrl,\n // TODO: We should be able to read this from the rewrite header, not the\n // Flight response. Theoretically they should always agree, but there are\n // currently some cases where it's incorrect for interception routes. We\n // can always trust the value in the response body. However, per-segment\n // prefetch responses don't embed the value in the body; they rely on the\n // header alone. So we need to investigate why the header is sometimes\n // wrong for interception routes.\n renderedSearch: flightResponse.q as NormalizedSearch,\n couldBeIntercepted: interception,\n supportsPerSegmentPrefetching: flightResponse.S,\n postponed,\n // The dynamicStaleTime is only present in the response body when\n // a page exports unstable_dynamicStaleTime and this is a dynamic render.\n // When absent (UnknownDynamicStaleTime), the client falls back to the\n // global DYNAMIC_STALETIME_MS. The value is in seconds.\n dynamicStaleTime: flightResponse.d ?? UnknownDynamicStaleTime,\n staticStageData,\n runtimePrefetchStream: flightResponse.p ?? null,\n responseHeaders: res.headers,\n debugInfo: flightResponsePromise._debugInfo ?? null,\n }\n } catch (err) {\n if (!isPageUnloading) {\n console.error(\n `Failed to fetch RSC payload for ${originalUrl}. Falling back to browser navigation.`,\n err\n )\n }\n\n // If fetch fails handle it like a mpa navigation\n // TODO-APP: Add a test for the case where a CORS request fails, e.g. external url redirect coming from the response.\n // See https://github.com/vercel/next.js/issues/43605#issuecomment-1451617521 for a reproduction.\n return originalUrl.toString()\n }\n}\n\n// This is a subset of the standard Response type. We use a custom type for\n// this so we can limit which details about the response leak into the rest of\n// the codebase. For example, there's some custom logic for manually following\n// redirects, so \"redirected\" in this type could be a composite of multiple\n// browser fetch calls; however, this fact should not leak to the caller.\nexport type RSCResponse<T> = {\n ok: boolean\n redirected: boolean\n headers: Headers\n body: ReadableStream<Uint8Array> | null\n status: number\n url: string\n flightResponsePromise: (Promise<T> & { _debugInfo?: Array<any> }) | null\n cacheData: Promise<FetchResponseCacheData | null>\n}\n\ntype FetchResponseCacheData = {\n isResponsePartial: boolean\n responseBodyClone?: ReadableStream<Uint8Array>\n}\n\n/**\n * Strips the leading isPartial byte from an RSC navigation response and\n * clones the body for segment cache extraction.\n *\n * When cache components is enabled, the server prepends a single byte:\n * '~' (0x7e) for partial, '#' (0x23) for complete. This must be stripped\n * before Flight decoding because it's not valid RSC data. The body is\n * cloned before Flight can consume it so the clone is available for later use.\n *\n * When cache components is disabled, returns the original response with\n * cacheData: null.\n */\nexport async function processFetch(response: Response): Promise<{\n response: Response\n cacheData: FetchResponseCacheData | null\n}> {\n if (process.env.__NEXT_CACHE_COMPONENTS) {\n if (!response.body) {\n throw new InvariantError(\n 'Expected RSC navigation response to have a body'\n )\n }\n\n const { stream, isPartial } = await stripIsPartialByte(response.body)\n\n let responseStream: ReadableStream<Uint8Array>\n let cacheData: FetchResponseCacheData\n\n if (process.env.__NEXT_EXPERIMENTAL_CACHED_NAVIGATIONS) {\n const [stream1, stream2] = stream.tee()\n responseStream = stream1\n cacheData = { isResponsePartial: isPartial, responseBodyClone: stream2 }\n } else {\n responseStream = stream\n cacheData = { isResponsePartial: isPartial }\n }\n\n const strippedResponse = new Response(responseStream, {\n headers: response.headers,\n status: response.status,\n statusText: response.statusText,\n })\n\n // The Response constructor doesn't preserve `url` or `redirected` from\n // the original. We need both: `url` for React DevTools and `redirected`\n // for the redirect replay logic below.\n Object.defineProperty(strippedResponse, 'url', { value: response.url })\n Object.defineProperty(strippedResponse, 'redirected', {\n value: response.redirected,\n })\n\n return { response: strippedResponse, cacheData }\n }\n\n return { response, cacheData: null }\n}\n\n/**\n * Resolves the static stage response from the raw `processFetch` outputs and\n * the decoded flight response, for writing into the segment cache.\n *\n * - Fully static: use the decoded flight response as-is, no truncation needed.\n * - Not fully static + `l` field: truncate the body clone at the static stage\n * byte boundary and decode.\n * - Otherwise: no cache-worthy data.\n */\nexport async function resolveStaticStageData<\n T extends NavigationFlightResponse | InitialRSCPayload,\n>(\n cacheData: FetchResponseCacheData,\n flightResponse: T,\n headers: RequestHeaders | undefined\n): Promise<StaticStageData<T> | null> {\n const { isResponsePartial, responseBodyClone } = cacheData\n\n if (responseBodyClone) {\n if (!isResponsePartial) {\n // Fully static — cache the entire decoded response as-is.\n responseBodyClone.cancel()\n\n return { response: flightResponse, isResponsePartial: false }\n }\n\n if (flightResponse.l !== undefined) {\n // Partially static — truncate the body clone at the byte boundary and\n // decode it.\n const response = await decodeStaticStage<T>(\n responseBodyClone,\n flightResponse.l,\n headers\n )\n\n return { response, isResponsePartial: true }\n }\n\n // No caching — cancel the unused clone.\n responseBodyClone.cancel()\n }\n\n return null\n}\n\n/**\n * Truncates a Flight stream clone at the given byte boundary and decodes the\n * static stage prefix. Used by both the navigation path and the initial HTML\n * hydration path.\n */\nexport async function decodeStaticStage<T>(\n responseBodyClone: ReadableStream<Uint8Array>,\n staticStageByteLengthPromise: Promise<number>,\n headers: RequestHeaders | undefined\n): Promise<T> {\n const staticStageByteLength = await staticStageByteLengthPromise\n\n const truncatedStream = truncateStream(\n responseBodyClone,\n staticStageByteLength\n )\n\n return createFromNextReadableStream<T>(truncatedStream, headers, {\n allowPartialStream: true,\n })\n}\n\nexport async function createFetch<T>(\n url: URL,\n headers: RequestHeaders,\n fetchPriority: 'auto' | 'high' | 'low' | null,\n shouldImmediatelyDecode: boolean,\n signal?: AbortSignal\n): Promise<RSCResponse<T>> {\n // TODO: In output: \"export\" mode, the headers do nothing. Omit them (and the\n // cache busting search param) from the request so they're\n // maximally cacheable.\n\n if (process.env.__NEXT_TEST_MODE && fetchPriority !== null) {\n headers['Next-Test-Fetch-Priority'] = fetchPriority\n }\n\n const deploymentId = getDeploymentId()\n if (deploymentId) {\n headers['x-deployment-id'] = deploymentId\n }\n\n if (process.env.__NEXT_DEV_SERVER) {\n if (self.__next_r) {\n headers[NEXT_HTML_REQUEST_ID_HEADER] = self.__next_r\n }\n\n // Create a new request ID for the server action request. The server uses\n // this to tag debug information sent via WebSocket to the client, which\n // then routes those chunks to the debug channel associated with this ID.\n headers[NEXT_REQUEST_ID_HEADER] = crypto\n .getRandomValues(new Uint32Array(1))[0]\n .toString(16)\n }\n\n const fetchOptions: RequestInit = {\n // Backwards compat for older browsers. `same-origin` is the default in modern browsers.\n credentials: 'same-origin',\n headers,\n priority: fetchPriority || undefined,\n signal,\n }\n // `fetchUrl` is slightly different from `url` because we add a cache-busting\n // search param to it. This should not leak outside of this function, so we\n // track them separately.\n let fetchUrl = new URL(url)\n setCacheBustingSearchParam(fetchUrl, headers)\n let processed = fetch(fetchUrl, fetchOptions).then(processFetch)\n let fetchPromise = processed.then(({ response }) => response)\n\n // Immediately pass the fetch promise to the Flight client so that the debug\n // info includes the latency from the client to the server. The internal timer\n // in React starts as soon as `createFromFetch` is called.\n //\n // The only case where we don't do this is during a prefetch, because a\n // top-level prefetch response never blocks a navigation; if it hasn't already\n // been written into the cache by the time the navigation happens, the router\n // will go straight to a dynamic request.\n let flightResponsePromise = shouldImmediatelyDecode\n ? createFromNextFetch<T>(fetchPromise, headers)\n : null\n let browserResponse = await fetchPromise\n\n // If the server responds with a redirect (e.g. 307), and the redirected\n // location does not contain the cache busting search param set in the\n // original request, the response is likely invalid — when following the\n // redirect, the browser forwards the request headers, but since the cache\n // busting search param is missing, the server will reject the request due to\n // a mismatch.\n //\n // Ideally, we would be able to intercept the redirect response and perform it\n // manually, instead of letting the browser automatically follow it, but this\n // is not allowed by the fetch API.\n //\n // So instead, we must \"replay\" the redirect by fetching the new location\n // again, but this time we'll append the cache busting search param to prevent\n // a mismatch.\n //\n // TODO: We can optimize Next.js's built-in middleware APIs by returning a\n // custom status code, to prevent the browser from automatically following it.\n //\n // This does not affect Server Action-based redirects; those are encoded\n // differently, as part of the Flight body. It only affects redirects that\n // occur in a middleware or a third-party proxy.\n\n let redirected = browserResponse.redirected\n if (process.env.__NEXT_CLIENT_VALIDATE_RSC_REQUEST_HEADERS) {\n // This is to prevent a redirect loop. Same limit used by Chrome.\n const MAX_REDIRECTS = 20\n for (let n = 0; n < MAX_REDIRECTS; n++) {\n if (!browserResponse.redirected) {\n // The server did not perform a redirect.\n break\n }\n const responseUrl = new URL(browserResponse.url, fetchUrl)\n if (responseUrl.origin !== fetchUrl.origin) {\n // The server redirected to an external URL. The rest of the logic below\n // is not relevant, because it only applies to internal redirects.\n break\n }\n if (\n responseUrl.searchParams.get(NEXT_RSC_UNION_QUERY) ===\n fetchUrl.searchParams.get(NEXT_RSC_UNION_QUERY)\n ) {\n // The redirected URL already includes the cache busting search param.\n // This was probably intentional. Regardless, there's no reason to\n // issue another request to this URL because it already has the param\n // value that we would have added below.\n break\n }\n // The RSC request was redirected. Assume the response is invalid.\n //\n // Append the cache busting search param to the redirected URL and\n // fetch again.\n // TODO: We should abort the previous request.\n fetchUrl = new URL(responseUrl)\n setCacheBustingSearchParam(fetchUrl, headers)\n processed = fetch(fetchUrl, fetchOptions).then(processFetch)\n fetchPromise = processed.then(({ response }) => response)\n flightResponsePromise = shouldImmediatelyDecode\n ? createFromNextFetch<T>(fetchPromise, headers)\n : null\n browserResponse = await fetchPromise\n // We just performed a manual redirect, so this is now true.\n redirected = true\n }\n }\n\n // Remove the cache busting search param from the response URL, to prevent it\n // from leaking outside of this function.\n const responseUrl = new URL(browserResponse.url, fetchUrl)\n responseUrl.searchParams.delete(NEXT_RSC_UNION_QUERY)\n\n const rscResponse: RSCResponse<T> = {\n url: responseUrl.href,\n\n // This is true if any redirects occurred, either automatically by the\n // browser, or manually by us. So it's different from\n // `browserResponse.redirected`, which only tells us whether the browser\n // followed a redirect, and only for the last response in the chain.\n redirected,\n\n // These can be copied from the last browser response we received. We\n // intentionally only expose the subset of fields that are actually used\n // elsewhere in the codebase.\n ok: browserResponse.ok,\n headers: browserResponse.headers,\n body: browserResponse.body,\n status: browserResponse.status,\n\n // This is the exact promise returned by `createFromFetch`. It contains\n // debug information that we need to transfer to any derived promises that\n // are later rendered by React.\n flightResponsePromise: flightResponsePromise,\n\n cacheData: processed.then(({ cacheData }) => cacheData),\n }\n\n return rscResponse\n}\n\nexport function createFromNextReadableStream<T>(\n flightStream: ReadableStream<Uint8Array>,\n requestHeaders: RequestHeaders | undefined,\n options?: { allowPartialStream?: boolean }\n): Promise<T> {\n return createFromReadableStream(flightStream, {\n callServer,\n findSourceMapURL,\n debugChannel: createDebugChannel && createDebugChannel(requestHeaders),\n unstable_allowPartialStream: options?.allowPartialStream,\n })\n}\n\nfunction createFromNextFetch<T>(\n promiseForResponse: Promise<Response>,\n requestHeaders: RequestHeaders\n): Promise<T> & { _debugInfo?: Array<any> } {\n return createFromFetch(promiseForResponse, {\n callServer,\n findSourceMapURL,\n debugChannel: createDebugChannel && createDebugChannel(requestHeaders),\n })\n}\n\nfunction truncateStream(\n stream: ReadableStream<Uint8Array>,\n byteLength: number\n): ReadableStream<Uint8Array> {\n const reader = stream.getReader()\n let remaining = byteLength\n\n return new ReadableStream({\n async pull(controller) {\n if (remaining <= 0) {\n reader.cancel()\n controller.close()\n return\n }\n\n const { done, value } = await reader.read()\n\n if (done) {\n controller.close()\n return\n }\n\n if (value.byteLength <= remaining) {\n controller.enqueue(value)\n remaining -= value.byteLength\n } else {\n controller.enqueue(value.subarray(0, remaining))\n remaining = 0\n reader.cancel()\n controller.close()\n }\n },\n cancel() {\n reader.cancel()\n },\n })\n}\n"],"names":["createFromReadableStream","createFromReadableStreamBrowser","createFromFetch","createFromFetchBrowser","InvariantError","NEXT_ROUTER_STATE_TREE_HEADER","NEXT_RSC_UNION_QUERY","NEXT_URL","RSC_HEADER","RSC_CONTENT_TYPE_HEADER","NEXT_HMR_REFRESH_HEADER","NEXT_DID_POSTPONE_HEADER","NEXT_HTML_REQUEST_ID_HEADER","NEXT_REQUEST_ID_HEADER","callServer","findSourceMapURL","normalizeFlightData","prepareFlightRouterStateForRequest","setCacheBustingSearchParam","urlToUrlWithoutFlightMarker","getDeploymentId","getNavigationBuildId","NEXT_NAV_DEPLOYMENT_ID_HEADER","stripIsPartialByte","UnknownDynamicStaleTime","createDebugChannel","process","env","__NEXT_DEV_SERVER","__NEXT_REACT_DEBUG_CHANNEL","require","doMpaNavigation","url","URL","location","origin","toString","isPageUnloading","window","addEventListener","fetchServerResponse","options","flightRouterState","nextUrl","headers","isHmrRefresh","NODE_ENV","originalUrl","__NEXT_CONFIG_OUTPUT","pathname","endsWith","isLegacyPPR","__NEXT_PPR","__NEXT_CACHE_COMPONENTS","shouldImmediatelyDecode","res","createFetch","responseUrl","canonicalUrl","redirected","contentType","get","interception","includes","postponed","isFlightResponse","startsWith","ok","body","hash","TURBOPACK","waitForWebpackRuntimeHotUpdate","flightResponsePromise","createFromNextReadableStream","allowPartialStream","flightResponse","cacheData","Promise","all","b","normalizedFlightData","f","staticStageData","resolveStaticStageData","flightData","renderedSearch","q","couldBeIntercepted","supportsPerSegmentPrefetching","S","dynamicStaleTime","d","runtimePrefetchStream","p","responseHeaders","debugInfo","_debugInfo","err","console","error","processFetch","response","stream","isPartial","responseStream","__NEXT_EXPERIMENTAL_CACHED_NAVIGATIONS","stream1","stream2","tee","isResponsePartial","responseBodyClone","strippedResponse","Response","status","statusText","Object","defineProperty","value","cancel","l","undefined","decodeStaticStage","staticStageByteLengthPromise","staticStageByteLength","truncatedStream","truncateStream","fetchPriority","signal","__NEXT_TEST_MODE","deploymentId","self","__next_r","crypto","getRandomValues","Uint32Array","fetchOptions","credentials","priority","fetchUrl","processed","fetch","then","fetchPromise","createFromNextFetch","browserResponse","__NEXT_CLIENT_VALIDATE_RSC_REQUEST_HEADERS","MAX_REDIRECTS","n","searchParams","delete","rscResponse","href","flightStream","requestHeaders","debugChannel","unstable_allowPartialStream","promiseForResponse","byteLength","reader","getReader","remaining","ReadableStream","pull","controller","close","done","read","enqueue","subarray"],"mappings":"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","ignoreList":[0]} | ||
| {"version":3,"sources":["../../../../../src/client/components/router-reducer/fetch-server-response.ts"],"sourcesContent":["'use client'\n\n// TODO: Explicitly import from client.browser\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport {\n createFromReadableStream as createFromReadableStreamBrowser,\n createFromFetch as createFromFetchBrowser,\n} from 'react-server-dom-webpack/client'\n\nimport { InvariantError } from '../../../shared/lib/invariant-error'\nimport type {\n FlightRouterState,\n InitialRSCPayload,\n NavigationFlightResponse,\n} from '../../../shared/lib/app-router-types'\n\nimport {\n type NEXT_ROUTER_PREFETCH_HEADER,\n type NEXT_ROUTER_SEGMENT_PREFETCH_HEADER,\n type NEXT_INSTANT_PREFETCH_HEADER,\n NEXT_ROUTER_STATE_TREE_HEADER,\n NEXT_RSC_UNION_QUERY,\n NEXT_URL,\n RSC_HEADER,\n RSC_CONTENT_TYPE_HEADER,\n NEXT_HMR_REFRESH_HEADER,\n NEXT_DID_POSTPONE_HEADER,\n NEXT_HTML_REQUEST_ID_HEADER,\n NEXT_REQUEST_ID_HEADER,\n} from '../app-router-headers'\nimport { callServer } from '../../app-call-server'\nimport { findSourceMapURL } from '../../app-find-source-map-url'\nimport {\n normalizeFlightData,\n prepareFlightRouterStateForRequest,\n type NormalizedFlightData,\n} from '../../flight-data-helpers'\nimport { setCacheBustingSearchParam } from './set-cache-busting-search-param'\nimport { urlToUrlWithoutFlightMarker } from '../../route-params'\nimport type { NormalizedSearch } from '../segment-cache/cache-key'\nimport { getDeploymentId } from '../../../shared/lib/deployment-id'\nimport { getNavigationBuildId } from '../../navigation-build-id'\nimport { NEXT_NAV_DEPLOYMENT_ID_HEADER } from '../../../lib/constants'\nimport { stripIsPartialByte } from '../segment-cache/cache'\nimport { UnknownDynamicStaleTime } from '../segment-cache/bfcache'\n\nconst createFromReadableStream =\n createFromReadableStreamBrowser as (typeof import('react-server-dom-webpack/client.browser'))['createFromReadableStream']\nconst createFromFetch =\n createFromFetchBrowser as (typeof import('react-server-dom-webpack/client.browser'))['createFromFetch']\n\nlet createDebugChannel:\n | typeof import('../../dev/debug-channel').createDebugChannel\n | undefined\n\nif (process.env.__NEXT_DEV_SERVER && process.env.__NEXT_REACT_DEBUG_CHANNEL) {\n createDebugChannel = (\n require('../../dev/debug-channel') as typeof import('../../dev/debug-channel')\n ).createDebugChannel\n}\n\nexport interface FetchServerResponseOptions {\n readonly flightRouterState: FlightRouterState\n readonly nextUrl: string | null\n readonly isHmrRefresh?: boolean\n}\n\nexport type StaticStageData<\n T extends\n | NavigationFlightResponse\n | InitialRSCPayload = NavigationFlightResponse,\n> = {\n readonly response: T\n readonly isResponsePartial: boolean\n}\n\ntype SpaFetchServerResponseResult = {\n flightData: NormalizedFlightData[]\n canonicalUrl: URL\n renderedSearch: NormalizedSearch\n couldBeIntercepted: boolean\n supportsPerSegmentPrefetching: boolean\n postponed: boolean\n dynamicStaleTime: number\n staticStageData: StaticStageData | null\n runtimePrefetchStream: ReadableStream<Uint8Array> | null\n responseHeaders: Headers\n debugInfo: Array<any> | null\n}\n\ntype MpaFetchServerResponseResult = string\n\nexport type FetchServerResponseResult =\n | MpaFetchServerResponseResult\n | SpaFetchServerResponseResult\n\nexport type RequestHeaders = {\n [RSC_HEADER]?: '1'\n [NEXT_ROUTER_STATE_TREE_HEADER]?: string\n [NEXT_URL]?: string\n [NEXT_ROUTER_PREFETCH_HEADER]?: '1' | '2'\n [NEXT_ROUTER_SEGMENT_PREFETCH_HEADER]?: string\n 'x-deployment-id'?: string\n [NEXT_HMR_REFRESH_HEADER]?: '1'\n // A header that is only added in test mode to assert on fetch priority\n 'Next-Test-Fetch-Priority'?: RequestInit['priority']\n [NEXT_HTML_REQUEST_ID_HEADER]?: string // dev-only\n [NEXT_REQUEST_ID_HEADER]?: string // dev-only\n [NEXT_INSTANT_PREFETCH_HEADER]?: '1' // testing API only\n}\n\nfunction doMpaNavigation(url: string): FetchServerResponseResult {\n return urlToUrlWithoutFlightMarker(new URL(url, location.origin)).toString()\n}\n\nlet isPageUnloading = false\n\nif (typeof window !== 'undefined') {\n // Track when the page is unloading, e.g. due to reloading the page or\n // performing hard navigations. This allows us to suppress error logging when\n // the browser cancels in-flight requests during page unload.\n window.addEventListener('pagehide', () => {\n isPageUnloading = true\n })\n\n // Reset the flag on pageshow, e.g. when navigating back and the JavaScript\n // execution context is restored by the browser.\n window.addEventListener('pageshow', () => {\n isPageUnloading = false\n })\n}\n\n/**\n * Fetch the flight data for the provided url. Takes in the current router state\n * to decide what to render server-side.\n */\nexport async function fetchServerResponse(\n url: URL,\n options: FetchServerResponseOptions\n): Promise<FetchServerResponseResult> {\n const { flightRouterState, nextUrl } = options\n\n const headers: RequestHeaders = {\n // Enable flight response\n [RSC_HEADER]: '1',\n // Provide the current router state\n [NEXT_ROUTER_STATE_TREE_HEADER]: prepareFlightRouterStateForRequest(\n flightRouterState,\n options.isHmrRefresh\n ),\n }\n\n if (process.env.NODE_ENV === 'development' && options.isHmrRefresh) {\n headers[NEXT_HMR_REFRESH_HEADER] = '1'\n }\n\n if (nextUrl) {\n headers[NEXT_URL] = nextUrl\n }\n\n // In static export mode, we need to modify the URL to request the .txt file,\n // but we should preserve the original URL for the canonical URL and error handling.\n const originalUrl = url\n\n try {\n if (process.env.NODE_ENV === 'production') {\n if (process.env.__NEXT_CONFIG_OUTPUT === 'export') {\n // In \"output: export\" mode, we can't rely on headers to distinguish\n // between HTML and RSC requests. Instead, we append an extra prefix\n // to the request.\n url = new URL(url)\n if (url.pathname.endsWith('/')) {\n url.pathname += 'index.txt'\n } else {\n url.pathname += '.txt'\n }\n }\n }\n\n // Typically, during a navigation, we decode the response using Flight's\n // `createFromFetch` API, which accepts a `fetch` promise.\n // TODO: Remove this check once the old PPR flag is removed\n const isLegacyPPR =\n process.env.__NEXT_PPR && !process.env.__NEXT_CACHE_COMPONENTS\n const shouldImmediatelyDecode = !isLegacyPPR\n const res = await createFetch<NavigationFlightResponse>(\n url,\n headers,\n 'auto',\n shouldImmediatelyDecode\n )\n\n // If the fetch succeeds while we're in the offline state, notify the\n // offline module so it can short-circuit the polling loop.\n if (process.env.__NEXT_USE_OFFLINE) {\n const { notifyOnline } =\n require('../offline') as typeof import('../offline')\n notifyOnline()\n }\n\n const responseUrl = urlToUrlWithoutFlightMarker(new URL(res.url))\n const canonicalUrl = res.redirected ? responseUrl : originalUrl\n\n const contentType = res.headers.get('content-type') || ''\n const interception = !!res.headers.get('vary')?.includes(NEXT_URL)\n const postponed = !!res.headers.get(NEXT_DID_POSTPONE_HEADER)\n let isFlightResponse = contentType.startsWith(RSC_CONTENT_TYPE_HEADER)\n\n if (process.env.NODE_ENV === 'production') {\n if (process.env.__NEXT_CONFIG_OUTPUT === 'export') {\n if (!isFlightResponse) {\n isFlightResponse = contentType.startsWith('text/plain')\n }\n }\n }\n\n // If fetch returns something different than flight response handle it like a mpa navigation\n // If the fetch was not 200, we also handle it like a mpa navigation\n if (!isFlightResponse || !res.ok || !res.body) {\n // in case the original URL came with a hash, preserve it before redirecting to the new URL\n if (url.hash) {\n responseUrl.hash = url.hash\n }\n\n return doMpaNavigation(responseUrl.toString())\n }\n\n // We may navigate to a page that requires a different Webpack runtime.\n // In prod, every page will have the same Webpack runtime.\n // In dev, the Webpack runtime is minimal for each page.\n // We need to ensure the Webpack runtime is updated before executing client-side JS of the new page.\n // TODO: This needs to happen in the Flight Client.\n // Or Webpack needs to include the runtime update in the Flight response as\n // a blocking script.\n if (process.env.NODE_ENV !== 'production' && !process.env.TURBOPACK) {\n await (\n require('../../dev/hot-reloader/app/hot-reloader-app') as typeof import('../../dev/hot-reloader/app/hot-reloader-app')\n ).waitForWebpackRuntimeHotUpdate()\n }\n\n let flightResponsePromise = res.flightResponsePromise\n if (flightResponsePromise === null) {\n // Typically, `createFetch` would have already started decoding the\n // Flight response. If it hasn't, though, we need to decode it now.\n // TODO: This should only be reachable if legacy PPR is enabled (i.e. PPR\n // without Cache Components). Remove this branch once legacy PPR\n // is deleted.\n flightResponsePromise =\n createFromNextReadableStream<NavigationFlightResponse>(\n res.body,\n headers,\n { allowPartialStream: postponed }\n )\n }\n\n const [flightResponse, cacheData] = await Promise.all([\n flightResponsePromise,\n res.cacheData,\n ])\n\n if (\n (res.headers.get(NEXT_NAV_DEPLOYMENT_ID_HEADER) ?? flightResponse.b) !==\n getNavigationBuildId()\n ) {\n // The server build does not match the client build.\n return doMpaNavigation(res.url)\n }\n\n const normalizedFlightData = normalizeFlightData(flightResponse.f)\n if (typeof normalizedFlightData === 'string') {\n return doMpaNavigation(normalizedFlightData)\n }\n\n const staticStageData =\n cacheData !== null\n ? await resolveStaticStageData(cacheData, flightResponse, headers)\n : null\n\n return {\n flightData: normalizedFlightData,\n canonicalUrl: canonicalUrl,\n // TODO: We should be able to read this from the rewrite header, not the\n // Flight response. Theoretically they should always agree, but there are\n // currently some cases where it's incorrect for interception routes. We\n // can always trust the value in the response body. However, per-segment\n // prefetch responses don't embed the value in the body; they rely on the\n // header alone. So we need to investigate why the header is sometimes\n // wrong for interception routes.\n renderedSearch: flightResponse.q as NormalizedSearch,\n couldBeIntercepted: interception,\n supportsPerSegmentPrefetching: flightResponse.S,\n postponed,\n // The dynamicStaleTime is only present in the response body when\n // a page exports unstable_dynamicStaleTime and this is a dynamic render.\n // When absent (UnknownDynamicStaleTime), the client falls back to the\n // global DYNAMIC_STALETIME_MS. The value is in seconds.\n dynamicStaleTime: flightResponse.d ?? UnknownDynamicStaleTime,\n staticStageData,\n runtimePrefetchStream: flightResponse.p ?? null,\n responseHeaders: res.headers,\n debugInfo: flightResponsePromise._debugInfo ?? null,\n }\n } catch (err) {\n // If the fetch rejected due to a network error, wait for connectivity\n // to be restored and then retry. checkOfflineError returns true for\n // network errors (and starts the polling loop); returns false for\n // intentional aborts/timeouts, which fall through to the MPA fallback.\n //\n // Note: when the user navigates multiple times while offline, each\n // navigation queues a separate retry here. Once connectivity returns,\n // all pending retries resume simultaneously. This is mitigated in PR 3\n // by reusing back-forward cache entries during offline navigation, which\n // avoids issuing new fetches in the first place.\n if (process.env.__NEXT_USE_OFFLINE && !isPageUnloading) {\n const { checkOfflineError, getOffline, waitForConnection } =\n require('../offline') as typeof import('../offline')\n if (checkOfflineError(err)) {\n const offline = getOffline()\n if (offline !== null) {\n await waitForConnection(offline)\n }\n return fetchServerResponse(url, options)\n }\n }\n\n if (!isPageUnloading) {\n console.error(\n `Failed to fetch RSC payload for ${originalUrl}. Falling back to browser navigation.`,\n err\n )\n }\n\n // If fetch fails handle it like a mpa navigation\n // TODO-APP: Add a test for the case where a CORS request fails, e.g. external url redirect coming from the response.\n // See https://github.com/vercel/next.js/issues/43605#issuecomment-1451617521 for a reproduction.\n return originalUrl.toString()\n }\n}\n\n// This is a subset of the standard Response type. We use a custom type for\n// this so we can limit which details about the response leak into the rest of\n// the codebase. For example, there's some custom logic for manually following\n// redirects, so \"redirected\" in this type could be a composite of multiple\n// browser fetch calls; however, this fact should not leak to the caller.\nexport type RSCResponse<T> = {\n ok: boolean\n redirected: boolean\n headers: Headers\n body: ReadableStream<Uint8Array> | null\n status: number\n url: string\n flightResponsePromise: (Promise<T> & { _debugInfo?: Array<any> }) | null\n cacheData: Promise<FetchResponseCacheData | null>\n}\n\ntype FetchResponseCacheData = {\n isResponsePartial: boolean\n responseBodyClone?: ReadableStream<Uint8Array>\n}\n\n/**\n * Strips the leading isPartial byte from an RSC navigation response and\n * clones the body for segment cache extraction.\n *\n * When cache components is enabled, the server prepends a single byte:\n * '~' (0x7e) for partial, '#' (0x23) for complete. This must be stripped\n * before Flight decoding because it's not valid RSC data. The body is\n * cloned before Flight can consume it so the clone is available for later use.\n *\n * When cache components is disabled, returns the original response with\n * cacheData: null.\n */\nexport async function processFetch(response: Response): Promise<{\n response: Response\n cacheData: FetchResponseCacheData | null\n}> {\n if (process.env.__NEXT_CACHE_COMPONENTS) {\n if (!response.body) {\n throw new InvariantError(\n 'Expected RSC navigation response to have a body'\n )\n }\n\n const { stream, isPartial } = await stripIsPartialByte(response.body)\n\n let responseStream: ReadableStream<Uint8Array>\n let cacheData: FetchResponseCacheData\n\n if (process.env.__NEXT_EXPERIMENTAL_CACHED_NAVIGATIONS) {\n const [stream1, stream2] = stream.tee()\n responseStream = stream1\n cacheData = { isResponsePartial: isPartial, responseBodyClone: stream2 }\n } else {\n responseStream = stream\n cacheData = { isResponsePartial: isPartial }\n }\n\n const strippedResponse = new Response(responseStream, {\n headers: response.headers,\n status: response.status,\n statusText: response.statusText,\n })\n\n // The Response constructor doesn't preserve `url` or `redirected` from\n // the original. We need both: `url` for React DevTools and `redirected`\n // for the redirect replay logic below.\n Object.defineProperty(strippedResponse, 'url', { value: response.url })\n Object.defineProperty(strippedResponse, 'redirected', {\n value: response.redirected,\n })\n\n return { response: strippedResponse, cacheData }\n }\n\n return { response, cacheData: null }\n}\n\n/**\n * Resolves the static stage response from the raw `processFetch` outputs and\n * the decoded flight response, for writing into the segment cache.\n *\n * - Fully static: use the decoded flight response as-is, no truncation needed.\n * - Not fully static + `l` field: truncate the body clone at the static stage\n * byte boundary and decode.\n * - Otherwise: no cache-worthy data.\n */\nexport async function resolveStaticStageData<\n T extends NavigationFlightResponse | InitialRSCPayload,\n>(\n cacheData: FetchResponseCacheData,\n flightResponse: T,\n headers: RequestHeaders | undefined\n): Promise<StaticStageData<T> | null> {\n const { isResponsePartial, responseBodyClone } = cacheData\n\n if (responseBodyClone) {\n if (!isResponsePartial) {\n // Fully static — cache the entire decoded response as-is.\n responseBodyClone.cancel()\n\n return { response: flightResponse, isResponsePartial: false }\n }\n\n if (flightResponse.l !== undefined) {\n // Partially static — truncate the body clone at the byte boundary and\n // decode it.\n const response = await decodeStaticStage<T>(\n responseBodyClone,\n flightResponse.l,\n headers\n )\n\n return { response, isResponsePartial: true }\n }\n\n // No caching — cancel the unused clone.\n responseBodyClone.cancel()\n }\n\n return null\n}\n\n/**\n * Truncates a Flight stream clone at the given byte boundary and decodes the\n * static stage prefix. Used by both the navigation path and the initial HTML\n * hydration path.\n */\nexport async function decodeStaticStage<T>(\n responseBodyClone: ReadableStream<Uint8Array>,\n staticStageByteLengthPromise: Promise<number>,\n headers: RequestHeaders | undefined\n): Promise<T> {\n const staticStageByteLength = await staticStageByteLengthPromise\n\n const truncatedStream = truncateStream(\n responseBodyClone,\n staticStageByteLength\n )\n\n return createFromNextReadableStream<T>(truncatedStream, headers, {\n allowPartialStream: true,\n })\n}\n\nexport async function createFetch<T>(\n url: URL,\n headers: RequestHeaders,\n fetchPriority: 'auto' | 'high' | 'low' | null,\n shouldImmediatelyDecode: boolean,\n signal?: AbortSignal\n): Promise<RSCResponse<T>> {\n // TODO: In output: \"export\" mode, the headers do nothing. Omit them (and the\n // cache busting search param) from the request so they're\n // maximally cacheable.\n\n if (process.env.__NEXT_TEST_MODE && fetchPriority !== null) {\n headers['Next-Test-Fetch-Priority'] = fetchPriority\n }\n\n const deploymentId = getDeploymentId()\n if (deploymentId) {\n headers['x-deployment-id'] = deploymentId\n }\n\n if (process.env.__NEXT_DEV_SERVER) {\n if (self.__next_r) {\n headers[NEXT_HTML_REQUEST_ID_HEADER] = self.__next_r\n }\n\n // Create a new request ID for the server action request. The server uses\n // this to tag debug information sent via WebSocket to the client, which\n // then routes those chunks to the debug channel associated with this ID.\n headers[NEXT_REQUEST_ID_HEADER] = crypto\n .getRandomValues(new Uint32Array(1))[0]\n .toString(16)\n }\n\n const fetchOptions: RequestInit = {\n // Backwards compat for older browsers. `same-origin` is the default in modern browsers.\n credentials: 'same-origin',\n headers,\n priority: fetchPriority || undefined,\n signal,\n }\n // `fetchUrl` is slightly different from `url` because we add a cache-busting\n // search param to it. This should not leak outside of this function, so we\n // track them separately.\n let fetchUrl = new URL(url)\n setCacheBustingSearchParam(fetchUrl, headers)\n let processed = fetch(fetchUrl, fetchOptions).then(processFetch)\n let fetchPromise = processed.then(({ response }) => response)\n\n // Immediately pass the fetch promise to the Flight client so that the debug\n // info includes the latency from the client to the server. The internal timer\n // in React starts as soon as `createFromFetch` is called.\n //\n // The only case where we don't do this is during a prefetch, because a\n // top-level prefetch response never blocks a navigation; if it hasn't already\n // been written into the cache by the time the navigation happens, the router\n // will go straight to a dynamic request.\n let flightResponsePromise = shouldImmediatelyDecode\n ? createFromNextFetch<T>(fetchPromise, headers)\n : null\n let browserResponse = await fetchPromise\n\n // If the server responds with a redirect (e.g. 307), and the redirected\n // location does not contain the cache busting search param set in the\n // original request, the response is likely invalid — when following the\n // redirect, the browser forwards the request headers, but since the cache\n // busting search param is missing, the server will reject the request due to\n // a mismatch.\n //\n // Ideally, we would be able to intercept the redirect response and perform it\n // manually, instead of letting the browser automatically follow it, but this\n // is not allowed by the fetch API.\n //\n // So instead, we must \"replay\" the redirect by fetching the new location\n // again, but this time we'll append the cache busting search param to prevent\n // a mismatch.\n //\n // TODO: We can optimize Next.js's built-in middleware APIs by returning a\n // custom status code, to prevent the browser from automatically following it.\n //\n // This does not affect Server Action-based redirects; those are encoded\n // differently, as part of the Flight body. It only affects redirects that\n // occur in a middleware or a third-party proxy.\n\n let redirected = browserResponse.redirected\n if (process.env.__NEXT_CLIENT_VALIDATE_RSC_REQUEST_HEADERS) {\n // This is to prevent a redirect loop. Same limit used by Chrome.\n const MAX_REDIRECTS = 20\n for (let n = 0; n < MAX_REDIRECTS; n++) {\n if (!browserResponse.redirected) {\n // The server did not perform a redirect.\n break\n }\n const responseUrl = new URL(browserResponse.url, fetchUrl)\n if (responseUrl.origin !== fetchUrl.origin) {\n // The server redirected to an external URL. The rest of the logic below\n // is not relevant, because it only applies to internal redirects.\n break\n }\n if (\n responseUrl.searchParams.get(NEXT_RSC_UNION_QUERY) ===\n fetchUrl.searchParams.get(NEXT_RSC_UNION_QUERY)\n ) {\n // The redirected URL already includes the cache busting search param.\n // This was probably intentional. Regardless, there's no reason to\n // issue another request to this URL because it already has the param\n // value that we would have added below.\n break\n }\n // The RSC request was redirected. Assume the response is invalid.\n //\n // Append the cache busting search param to the redirected URL and\n // fetch again.\n // TODO: We should abort the previous request.\n fetchUrl = new URL(responseUrl)\n setCacheBustingSearchParam(fetchUrl, headers)\n processed = fetch(fetchUrl, fetchOptions).then(processFetch)\n fetchPromise = processed.then(({ response }) => response)\n flightResponsePromise = shouldImmediatelyDecode\n ? createFromNextFetch<T>(fetchPromise, headers)\n : null\n browserResponse = await fetchPromise\n // We just performed a manual redirect, so this is now true.\n redirected = true\n }\n }\n\n // Remove the cache busting search param from the response URL, to prevent it\n // from leaking outside of this function.\n const responseUrl = new URL(browserResponse.url, fetchUrl)\n responseUrl.searchParams.delete(NEXT_RSC_UNION_QUERY)\n\n const rscResponse: RSCResponse<T> = {\n url: responseUrl.href,\n\n // This is true if any redirects occurred, either automatically by the\n // browser, or manually by us. So it's different from\n // `browserResponse.redirected`, which only tells us whether the browser\n // followed a redirect, and only for the last response in the chain.\n redirected,\n\n // These can be copied from the last browser response we received. We\n // intentionally only expose the subset of fields that are actually used\n // elsewhere in the codebase.\n ok: browserResponse.ok,\n headers: browserResponse.headers,\n body: browserResponse.body,\n status: browserResponse.status,\n\n // This is the exact promise returned by `createFromFetch`. It contains\n // debug information that we need to transfer to any derived promises that\n // are later rendered by React.\n flightResponsePromise: flightResponsePromise,\n\n cacheData: processed.then(({ cacheData }) => cacheData),\n }\n\n return rscResponse\n}\n\nexport function createFromNextReadableStream<T>(\n flightStream: ReadableStream<Uint8Array>,\n requestHeaders: RequestHeaders | undefined,\n options?: { allowPartialStream?: boolean }\n): Promise<T> {\n return createFromReadableStream(flightStream, {\n callServer,\n findSourceMapURL,\n debugChannel: createDebugChannel && createDebugChannel(requestHeaders),\n unstable_allowPartialStream: options?.allowPartialStream,\n })\n}\n\nfunction createFromNextFetch<T>(\n promiseForResponse: Promise<Response>,\n requestHeaders: RequestHeaders\n): Promise<T> & { _debugInfo?: Array<any> } {\n return createFromFetch(promiseForResponse, {\n callServer,\n findSourceMapURL,\n debugChannel: createDebugChannel && createDebugChannel(requestHeaders),\n })\n}\n\nfunction truncateStream(\n stream: ReadableStream<Uint8Array>,\n byteLength: number\n): ReadableStream<Uint8Array> {\n const reader = stream.getReader()\n let remaining = byteLength\n\n return new ReadableStream({\n async pull(controller) {\n if (remaining <= 0) {\n reader.cancel()\n controller.close()\n return\n }\n\n const { done, value } = await reader.read()\n\n if (done) {\n controller.close()\n return\n }\n\n if (value.byteLength <= remaining) {\n controller.enqueue(value)\n remaining -= value.byteLength\n } else {\n controller.enqueue(value.subarray(0, remaining))\n remaining = 0\n reader.cancel()\n controller.close()\n }\n },\n cancel() {\n reader.cancel()\n },\n })\n}\n"],"names":["createFromReadableStream","createFromReadableStreamBrowser","createFromFetch","createFromFetchBrowser","InvariantError","NEXT_ROUTER_STATE_TREE_HEADER","NEXT_RSC_UNION_QUERY","NEXT_URL","RSC_HEADER","RSC_CONTENT_TYPE_HEADER","NEXT_HMR_REFRESH_HEADER","NEXT_DID_POSTPONE_HEADER","NEXT_HTML_REQUEST_ID_HEADER","NEXT_REQUEST_ID_HEADER","callServer","findSourceMapURL","normalizeFlightData","prepareFlightRouterStateForRequest","setCacheBustingSearchParam","urlToUrlWithoutFlightMarker","getDeploymentId","getNavigationBuildId","NEXT_NAV_DEPLOYMENT_ID_HEADER","stripIsPartialByte","UnknownDynamicStaleTime","createDebugChannel","process","env","__NEXT_DEV_SERVER","__NEXT_REACT_DEBUG_CHANNEL","require","doMpaNavigation","url","URL","location","origin","toString","isPageUnloading","window","addEventListener","fetchServerResponse","options","flightRouterState","nextUrl","headers","isHmrRefresh","NODE_ENV","originalUrl","__NEXT_CONFIG_OUTPUT","pathname","endsWith","isLegacyPPR","__NEXT_PPR","__NEXT_CACHE_COMPONENTS","shouldImmediatelyDecode","res","createFetch","__NEXT_USE_OFFLINE","notifyOnline","responseUrl","canonicalUrl","redirected","contentType","get","interception","includes","postponed","isFlightResponse","startsWith","ok","body","hash","TURBOPACK","waitForWebpackRuntimeHotUpdate","flightResponsePromise","createFromNextReadableStream","allowPartialStream","flightResponse","cacheData","Promise","all","b","normalizedFlightData","f","staticStageData","resolveStaticStageData","flightData","renderedSearch","q","couldBeIntercepted","supportsPerSegmentPrefetching","S","dynamicStaleTime","d","runtimePrefetchStream","p","responseHeaders","debugInfo","_debugInfo","err","checkOfflineError","getOffline","waitForConnection","offline","console","error","processFetch","response","stream","isPartial","responseStream","__NEXT_EXPERIMENTAL_CACHED_NAVIGATIONS","stream1","stream2","tee","isResponsePartial","responseBodyClone","strippedResponse","Response","status","statusText","Object","defineProperty","value","cancel","l","undefined","decodeStaticStage","staticStageByteLengthPromise","staticStageByteLength","truncatedStream","truncateStream","fetchPriority","signal","__NEXT_TEST_MODE","deploymentId","self","__next_r","crypto","getRandomValues","Uint32Array","fetchOptions","credentials","priority","fetchUrl","processed","fetch","then","fetchPromise","createFromNextFetch","browserResponse","__NEXT_CLIENT_VALIDATE_RSC_REQUEST_HEADERS","MAX_REDIRECTS","n","searchParams","delete","rscResponse","href","flightStream","requestHeaders","debugChannel","unstable_allowPartialStream","promiseForResponse","byteLength","reader","getReader","remaining","ReadableStream","pull","controller","close","done","read","enqueue","subarray"],"mappings":"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","ignoreList":[0]} |
@@ -34,3 +34,4 @@ import { callServer } from '../../../app-call-server'; | ||
| } | ||
| async function fetchServerAction(state, nextUrl, { actionId, actionArgs }) { | ||
| async function fetchServerAction(state, nextUrl, action) { | ||
| const { actionId, actionArgs } = action; | ||
| const temporaryReferences = createTemporaryReferenceSet(); | ||
@@ -63,7 +64,31 @@ const info = extractInfoFromServerReferenceId(actionId); | ||
| } | ||
| const res = await fetch(state.canonicalUrl, { | ||
| method: 'POST', | ||
| headers, | ||
| body | ||
| }); | ||
| let res; | ||
| try { | ||
| res = await fetch(state.canonicalUrl, { | ||
| method: 'POST', | ||
| headers, | ||
| body | ||
| }); | ||
| // If the fetch succeeds while we're in the offline state, notify the | ||
| // offline module so it can short-circuit the polling loop. | ||
| if (process.env.__NEXT_USE_OFFLINE) { | ||
| const { notifyOnline } = require('../../offline'); | ||
| notifyOnline(); | ||
| } | ||
| } catch (err) { | ||
| if (process.env.__NEXT_USE_OFFLINE) { | ||
| const { checkOfflineError, getOffline, waitForConnection } = require('../../offline'); | ||
| if (checkOfflineError(err)) { | ||
| // It's safe to replay the action because the fetch rejection | ||
| // means the request never reached the server — there are no | ||
| // side effects to duplicate. | ||
| const offline = getOffline(); | ||
| if (offline !== null) { | ||
| await waitForConnection(offline); | ||
| } | ||
| return fetchServerAction(state, nextUrl, action); | ||
| } | ||
| } | ||
| throw err; | ||
| } | ||
| // Handle server actions that the server didn't recognize. | ||
@@ -70,0 +95,0 @@ const unrecognizedActionHeader = res.headers.get(NEXT_ACTION_NOT_FOUND_HEADER); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../../../../../../src/client/components/router-reducer/reducers/server-action-reducer.ts"],"sourcesContent":["import type {\n ActionFlightResponse,\n ActionResult,\n} from '../../../../shared/lib/app-router-types'\nimport { callServer } from '../../../app-call-server'\nimport { findSourceMapURL } from '../../../app-find-source-map-url'\nimport {\n ACTION_HEADER,\n NEXT_ACTION_NOT_FOUND_HEADER,\n NEXT_IS_PRERENDER_HEADER,\n NEXT_HTML_REQUEST_ID_HEADER,\n NEXT_ROUTER_STATE_TREE_HEADER,\n NEXT_URL,\n RSC_CONTENT_TYPE_HEADER,\n NEXT_REQUEST_ID_HEADER,\n} from '../../app-router-headers'\nimport { UnrecognizedActionError } from '../../unrecognized-action-error'\n\n// TODO: Explicitly import from client.browser\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport {\n createFromFetch as createFromFetchBrowser,\n createTemporaryReferenceSet,\n encodeReply,\n} from 'react-server-dom-webpack/client'\n\nimport type {\n ReadonlyReducerState,\n ReducerState,\n ServerActionAction,\n} from '../router-reducer-types'\nimport { ScrollBehavior } from '../router-reducer-types'\nimport { assignLocation } from '../../../assign-location'\nimport { createHrefFromUrl } from '../create-href-from-url'\nimport { hasInterceptionRouteInCurrentTree } from './has-interception-route-in-current-tree'\nimport {\n normalizeFlightData,\n prepareFlightRouterStateForRequest,\n type NormalizedFlightData,\n} from '../../../flight-data-helpers'\nimport { getRedirectError } from '../../redirect'\nimport type { RedirectType } from '../../redirect-error'\nimport { removeBasePath } from '../../../remove-base-path'\nimport { hasBasePath } from '../../../has-base-path'\nimport {\n extractInfoFromServerReferenceId,\n omitUnusedArgs,\n} from '../../../../shared/lib/server-reference-info'\nimport { invalidateEntirePrefetchCache } from '../../segment-cache/cache'\nimport { startRevalidationCooldown } from '../../segment-cache/scheduler'\nimport { getDeploymentId } from '../../../../shared/lib/deployment-id'\nimport { getNavigationBuildId } from '../../../navigation-build-id'\nimport { NEXT_NAV_DEPLOYMENT_ID_HEADER } from '../../../../lib/constants'\nimport {\n completeHardNavigation,\n convertServerPatchToFullTree,\n navigateToKnownRoute,\n navigate,\n} from '../../segment-cache/navigation'\nimport { discoverKnownRoute } from '../../segment-cache/optimistic-routes'\nimport type { NormalizedSearch } from '../../segment-cache/cache-key'\nimport {\n ActionDidNotRevalidate,\n ActionDidRevalidateDynamicOnly,\n ActionDidRevalidateStaticAndDynamic,\n type ActionRevalidationKind,\n} from '../../../../shared/lib/action-revalidation-kind'\nimport { isExternalURL } from '../../app-router-utils'\nimport { FreshnessPolicy } from '../ppr-navigations'\nimport { processFetch } from '../fetch-server-response'\nimport {\n invalidateBfCache,\n UnknownDynamicStaleTime,\n} from '../../segment-cache/bfcache'\n\nconst createFromFetch =\n createFromFetchBrowser as (typeof import('react-server-dom-webpack/client.browser'))['createFromFetch']\n\nlet createDebugChannel:\n | typeof import('../../../dev/debug-channel').createDebugChannel\n | undefined\n\nif (process.env.__NEXT_DEV_SERVER && process.env.__NEXT_REACT_DEBUG_CHANNEL) {\n createDebugChannel = (\n require('../../../dev/debug-channel') as typeof import('../../../dev/debug-channel')\n ).createDebugChannel\n}\n\n// TODO: Refactor to be a discriminated union. Or just get rid of it;\n// fetchServerAction only has one caller, no reason this intermediate type has\n// to exist.\ntype FetchServerActionResult = {\n redirectLocation: URL | undefined\n redirectType: RedirectType | undefined\n revalidationKind: ActionRevalidationKind\n actionResult: ActionResult | undefined\n actionFlightData: NormalizedFlightData[] | string | undefined\n actionFlightDataRenderedSearch: NormalizedSearch | undefined\n isPrerender: boolean\n couldBeIntercepted: boolean\n}\n\nasync function fetchServerAction(\n state: ReadonlyReducerState,\n nextUrl: ReadonlyReducerState['nextUrl'],\n { actionId, actionArgs }: ServerActionAction\n): Promise<FetchServerActionResult> {\n const temporaryReferences = createTemporaryReferenceSet()\n const info = extractInfoFromServerReferenceId(actionId)\n const usedArgs = omitUnusedArgs(actionArgs, info)\n const body = await encodeReply(usedArgs, { temporaryReferences })\n\n const headers: Record<string, string> = {\n Accept: RSC_CONTENT_TYPE_HEADER,\n [ACTION_HEADER]: actionId,\n [NEXT_ROUTER_STATE_TREE_HEADER]: prepareFlightRouterStateForRequest(\n state.tree\n ),\n }\n\n const deploymentId = getDeploymentId()\n if (deploymentId) {\n headers['x-deployment-id'] = deploymentId\n }\n\n if (nextUrl) {\n headers[NEXT_URL] = nextUrl\n }\n\n if (process.env.__NEXT_DEV_SERVER) {\n if (self.__next_r) {\n headers[NEXT_HTML_REQUEST_ID_HEADER] = self.__next_r\n }\n\n // Create a new request ID for the server action request. The server uses\n // this to tag debug information sent via WebSocket to the client, which\n // then routes those chunks to the debug channel associated with this ID.\n headers[NEXT_REQUEST_ID_HEADER] = crypto\n .getRandomValues(new Uint32Array(1))[0]\n .toString(16)\n }\n\n const res = await fetch(state.canonicalUrl, { method: 'POST', headers, body })\n\n // Handle server actions that the server didn't recognize.\n const unrecognizedActionHeader = res.headers.get(NEXT_ACTION_NOT_FOUND_HEADER)\n if (unrecognizedActionHeader === '1') {\n throw new UnrecognizedActionError(\n `Server Action \"${actionId}\" was not found on the server. \\nRead more: https://nextjs.org/docs/messages/failed-to-find-server-action`\n )\n }\n\n const redirectHeader = res.headers.get('x-action-redirect')\n const [location, _redirectType] = redirectHeader?.split(';') || []\n let redirectType: RedirectType | undefined\n switch (_redirectType) {\n case 'push':\n redirectType = 'push'\n break\n case 'replace':\n redirectType = 'replace'\n break\n default:\n redirectType = undefined\n }\n\n const isPrerender = !!res.headers.get(NEXT_IS_PRERENDER_HEADER)\n\n let revalidationKind: ActionRevalidationKind = ActionDidNotRevalidate\n try {\n const revalidationHeader = res.headers.get('x-action-revalidated')\n if (revalidationHeader) {\n const parsedKind = JSON.parse(revalidationHeader)\n if (\n parsedKind === ActionDidRevalidateStaticAndDynamic ||\n parsedKind === ActionDidRevalidateDynamicOnly\n ) {\n revalidationKind = parsedKind\n }\n }\n } catch {}\n\n const redirectLocation = location\n ? assignLocation(\n location,\n new URL(state.canonicalUrl, window.location.href)\n )\n : undefined\n\n const contentType = res.headers.get('content-type')\n const isRscResponse = !!(\n contentType && contentType.startsWith(RSC_CONTENT_TYPE_HEADER)\n )\n\n // Handle invalid server action responses.\n // A valid response must have `content-type: text/x-component`, unless it's an external redirect.\n // (external redirects have an 'x-action-redirect' header, but the body is an empty 'text/plain')\n if (!isRscResponse && !redirectLocation) {\n // The server can respond with a text/plain error message, but we'll fallback to something generic\n // if there isn't one.\n const message =\n res.status >= 400 && contentType === 'text/plain'\n ? await res.text()\n : 'An unexpected response was received from the server.'\n\n throw new Error(message)\n }\n\n let actionResult: FetchServerActionResult['actionResult']\n let actionFlightData: FetchServerActionResult['actionFlightData']\n let actionFlightDataRenderedSearch: FetchServerActionResult['actionFlightDataRenderedSearch']\n let couldBeIntercepted: boolean = false\n\n if (isRscResponse) {\n // Server action redirect responses carry the Flight data of the redirect\n // target, which may be prerendered with a completeness marker byte\n // prepended. Strip it before passing to Flight.\n const responsePromise = redirectLocation\n ? processFetch(res).then(({ response: r }) => r)\n : Promise.resolve(res)\n\n const response: ActionFlightResponse = await createFromFetch(\n responsePromise,\n {\n callServer,\n findSourceMapURL,\n temporaryReferences,\n debugChannel: createDebugChannel && createDebugChannel(headers),\n }\n )\n\n // An internal redirect can send an RSC response, but does not have a useful `actionResult`.\n actionResult = redirectLocation ? undefined : response.a\n couldBeIntercepted = response.i\n\n // Check if the response build ID matches the client build ID.\n // In a multi-zone setup, when a server action triggers a redirect,\n // the server pre-fetches the redirect target as RSC. If the redirect\n // target is served by a different Next.js zone (different build), the\n // pre-fetched RSC data will have a foreign build ID. We must discard\n // the flight data in that case so the redirect triggers an MPA\n // navigation (full page load) instead of trying to apply the foreign\n // RSC payload — which would result in a blank page.\n const responseBuildId =\n res.headers.get(NEXT_NAV_DEPLOYMENT_ID_HEADER) ?? response.b\n if (\n responseBuildId !== undefined &&\n responseBuildId !== getNavigationBuildId()\n ) {\n // Build ID mismatch — discard the flight data. The redirect will\n // still be processed, and the absence of flight data will cause an\n // MPA navigation via completeHardNavigation().\n } else {\n const maybeFlightData = normalizeFlightData(response.f)\n if (maybeFlightData !== '') {\n actionFlightData = maybeFlightData\n actionFlightDataRenderedSearch = response.q as NormalizedSearch\n }\n }\n } else {\n // An external redirect doesn't contain RSC data.\n actionResult = undefined\n actionFlightData = undefined\n actionFlightDataRenderedSearch = undefined\n }\n\n return {\n actionResult,\n actionFlightData,\n actionFlightDataRenderedSearch,\n redirectLocation,\n redirectType,\n revalidationKind,\n isPrerender,\n couldBeIntercepted,\n }\n}\n\n/*\n * This reducer is responsible for calling the server action and processing any side-effects from the server action.\n * It does not mutate the state by itself but rather delegates to other reducers to do the actual mutation.\n */\nexport function serverActionReducer(\n state: ReadonlyReducerState,\n action: ServerActionAction\n): ReducerState {\n const { resolve, reject } = action\n\n // only pass along the `nextUrl` param (used for interception routes) if the current route was intercepted.\n // If the route has been intercepted, the action should be as well.\n // Otherwise the server action might be intercepted with the wrong action id\n // (ie, one that corresponds with the intercepted route)\n const nextUrl =\n // We always send the last next-url, not the current when\n // performing a dynamic request. This is because we update\n // the next-url after a navigation, but we want the same\n // interception route to be matched that used the last\n // next-url.\n (state.previousNextUrl || state.nextUrl) &&\n hasInterceptionRouteInCurrentTree(state.tree)\n ? state.previousNextUrl || state.nextUrl\n : null\n\n return fetchServerAction(state, nextUrl, action).then(\n async ({\n revalidationKind,\n actionResult,\n actionFlightData: flightData,\n actionFlightDataRenderedSearch: flightDataRenderedSearch,\n redirectLocation,\n redirectType,\n isPrerender,\n couldBeIntercepted,\n }) => {\n if (revalidationKind !== ActionDidNotRevalidate) {\n // There was either a revalidation or a refresh, or maybe both.\n\n // Evict the BFCache, which may contain dynamic data.\n invalidateBfCache()\n\n // Store whether this action triggered any revalidation\n // The action queue will use this information to potentially\n // trigger a refresh action if the action was discarded\n // (ie, due to a navigation, before the action completed)\n action.didRevalidate = true\n\n // If there was a revalidation, evict the prefetch cache.\n // TODO: Evict only segments with matching tags and/or paths.\n // TODO: We should only invalidate the route cache if cookies were\n // mutated, since route trees may vary based on cookies. For now we\n // invalidate both caches until we have a way to detect cookie\n // mutations on the client.\n if (revalidationKind === ActionDidRevalidateStaticAndDynamic) {\n invalidateEntirePrefetchCache(nextUrl, state.tree)\n }\n\n // Start a cooldown before re-prefetching to allow CDN cache\n // propagation.\n startRevalidationCooldown()\n }\n\n const navigateType = redirectType || 'push'\n\n if (redirectLocation !== undefined) {\n // If the action triggered a redirect, the action promise will be rejected with\n // a redirect so that it's handled by RedirectBoundary as we won't have a valid\n // action result to resolve the promise with. This will effectively reset the state of\n // the component that called the action as the error boundary will remount the tree.\n // The status code doesn't matter here as the action handler will have already sent\n // a response with the correct status code.\n\n if (isExternalURL(redirectLocation)) {\n // External redirect. Triggers an MPA navigation.\n const redirectHref = redirectLocation.href\n const redirectError = createRedirectErrorForAction(\n redirectHref,\n navigateType\n )\n reject(redirectError)\n return completeHardNavigation(state, redirectLocation, navigateType)\n } else {\n // Internal redirect. Triggers an SPA navigation.\n const redirectWithBasepath = createHrefFromUrl(\n redirectLocation,\n false\n )\n const redirectHref = hasBasePath(redirectWithBasepath)\n ? removeBasePath(redirectWithBasepath)\n : redirectWithBasepath\n const redirectError = createRedirectErrorForAction(\n redirectHref,\n navigateType\n )\n reject(redirectError)\n }\n } else {\n // If there's no redirect, resolve the action with the result.\n resolve(actionResult)\n }\n\n // Check if we can bail out without updating any state.\n if (\n // Did the action trigger a redirect?\n redirectLocation === undefined &&\n // Did the action revalidate any data?\n revalidationKind === ActionDidNotRevalidate &&\n // Did the server render new data?\n flightData === undefined\n ) {\n // The action did not trigger any revalidations or redirects. No\n // navigation is required.\n return state\n }\n\n if (flightData === undefined && redirectLocation !== undefined) {\n // The server redirected, but did not send any Flight data. This implies\n // an external redirect.\n // TODO: We should refactor the action response type to be more explicit\n // about the various response types.\n return completeHardNavigation(state, redirectLocation, navigateType)\n }\n\n if (typeof flightData === 'string') {\n // If the flight data is just a string, something earlier in the\n // response handling triggered an external redirect.\n return completeHardNavigation(\n state,\n new URL(flightData, location.origin),\n navigateType\n )\n }\n\n // The action triggered a navigation — either a redirect, a revalidation,\n // or both.\n\n // If there was no redirect, then the target URL is the same as the\n // current URL.\n const currentUrl = new URL(state.canonicalUrl, location.origin)\n const currentRenderedSearch = state.renderedSearch\n const redirectUrl =\n redirectLocation !== undefined ? redirectLocation : currentUrl\n const currentFlightRouterState = state.tree\n const scrollBehavior = ScrollBehavior.Default\n\n // If the action triggered a revalidation of the cache, we should also\n // refresh all the dynamic data.\n const freshnessPolicy =\n revalidationKind === ActionDidNotRevalidate\n ? FreshnessPolicy.Default\n : FreshnessPolicy.RefreshAll\n\n // The server may have sent back new data. If so, we will perform a\n // \"seeded\" navigation that uses the data from the response.\n // TODO: Currently the server always renders from the root in\n // response to a Server Action. In the case of a normal redirect\n // with no revalidation, it should skip over the shared layouts.\n if (flightData !== undefined && flightDataRenderedSearch !== undefined) {\n // The server sent back new route data as part of the response. We\n // will use this to render the new page. If this happens to be only a\n // subset of the data needed to render the new page, we'll initiate a\n // new fetch, like we would for a normal navigation.\n const redirectCanonicalUrl = createHrefFromUrl(redirectUrl)\n const now = Date.now()\n // TODO: Store the dynamic stale time on the top-level state so it's\n // known during restores and refreshes.\n const redirectSeed = convertServerPatchToFullTree(\n now,\n currentFlightRouterState,\n flightData,\n flightDataRenderedSearch,\n UnknownDynamicStaleTime\n )\n\n // Learn the route pattern so we can predict it for future navigations.\n const metadataVaryPath = redirectSeed.metadataVaryPath\n if (metadataVaryPath !== null) {\n discoverKnownRoute(\n now,\n redirectUrl.pathname,\n nextUrl,\n null, // No pending entry\n redirectSeed.routeTree,\n metadataVaryPath,\n couldBeIntercepted,\n redirectCanonicalUrl,\n isPrerender,\n false // hasDynamicRewrite\n )\n }\n\n return navigateToKnownRoute(\n now,\n state,\n redirectUrl,\n redirectCanonicalUrl,\n redirectSeed,\n currentUrl,\n currentRenderedSearch,\n state.cache,\n currentFlightRouterState,\n freshnessPolicy,\n nextUrl,\n scrollBehavior,\n navigateType,\n null,\n // Server action redirects don't use route prediction - we already\n // have the route tree from the server response. If a mismatch occurs\n // during dynamic data fetch, the retry handler will traverse the\n // known route tree to mark the entry as having a dynamic rewrite.\n null\n )\n }\n\n // The server did not send back new data. We'll perform a regular, non-\n // seeded navigation — effectively the same as <Link> or router.push().\n return navigate(\n state,\n redirectUrl,\n currentUrl,\n currentRenderedSearch,\n state.cache,\n currentFlightRouterState,\n nextUrl,\n freshnessPolicy,\n scrollBehavior,\n navigateType\n )\n },\n (e: any) => {\n // When the server action is rejected we don't update the state and instead call the reject handler of the promise.\n reject(e)\n\n return state\n }\n )\n}\n\nfunction createRedirectErrorForAction(\n redirectHref: string,\n resolvedRedirectType: RedirectType\n) {\n const redirectError = getRedirectError(redirectHref, resolvedRedirectType)\n // We mark the error as handled because we don't want the redirect to be tried later by\n // the RedirectBoundary, in case the user goes back and `Activity` triggers the redirect\n // again, as it's run within an effect.\n // We don't actually need the RedirectBoundary to do a router.push because we already\n // have all the necessary RSC data to render the new page within a single roundtrip.\n ;(redirectError as any).handled = true\n return redirectError\n}\n"],"names":["callServer","findSourceMapURL","ACTION_HEADER","NEXT_ACTION_NOT_FOUND_HEADER","NEXT_IS_PRERENDER_HEADER","NEXT_HTML_REQUEST_ID_HEADER","NEXT_ROUTER_STATE_TREE_HEADER","NEXT_URL","RSC_CONTENT_TYPE_HEADER","NEXT_REQUEST_ID_HEADER","UnrecognizedActionError","createFromFetch","createFromFetchBrowser","createTemporaryReferenceSet","encodeReply","ScrollBehavior","assignLocation","createHrefFromUrl","hasInterceptionRouteInCurrentTree","normalizeFlightData","prepareFlightRouterStateForRequest","getRedirectError","removeBasePath","hasBasePath","extractInfoFromServerReferenceId","omitUnusedArgs","invalidateEntirePrefetchCache","startRevalidationCooldown","getDeploymentId","getNavigationBuildId","NEXT_NAV_DEPLOYMENT_ID_HEADER","completeHardNavigation","convertServerPatchToFullTree","navigateToKnownRoute","navigate","discoverKnownRoute","ActionDidNotRevalidate","ActionDidRevalidateDynamicOnly","ActionDidRevalidateStaticAndDynamic","isExternalURL","FreshnessPolicy","processFetch","invalidateBfCache","UnknownDynamicStaleTime","createDebugChannel","process","env","__NEXT_DEV_SERVER","__NEXT_REACT_DEBUG_CHANNEL","require","fetchServerAction","state","nextUrl","actionId","actionArgs","temporaryReferences","info","usedArgs","body","headers","Accept","tree","deploymentId","self","__next_r","crypto","getRandomValues","Uint32Array","toString","res","fetch","canonicalUrl","method","unrecognizedActionHeader","get","redirectHeader","location","_redirectType","split","redirectType","undefined","isPrerender","revalidationKind","revalidationHeader","parsedKind","JSON","parse","redirectLocation","URL","window","href","contentType","isRscResponse","startsWith","message","status","text","Error","actionResult","actionFlightData","actionFlightDataRenderedSearch","couldBeIntercepted","responsePromise","then","response","r","Promise","resolve","debugChannel","a","i","responseBuildId","b","maybeFlightData","f","q","serverActionReducer","action","reject","previousNextUrl","flightData","flightDataRenderedSearch","didRevalidate","navigateType","redirectHref","redirectError","createRedirectErrorForAction","redirectWithBasepath","origin","currentUrl","currentRenderedSearch","renderedSearch","redirectUrl","currentFlightRouterState","scrollBehavior","Default","freshnessPolicy","RefreshAll","redirectCanonicalUrl","now","Date","redirectSeed","metadataVaryPath","pathname","routeTree","cache","e","resolvedRedirectType","handled"],"mappings":"AAIA,SAASA,UAAU,QAAQ,2BAA0B;AACrD,SAASC,gBAAgB,QAAQ,mCAAkC;AACnE,SACEC,aAAa,EACbC,4BAA4B,EAC5BC,wBAAwB,EACxBC,2BAA2B,EAC3BC,6BAA6B,EAC7BC,QAAQ,EACRC,uBAAuB,EACvBC,sBAAsB,QACjB,2BAA0B;AACjC,SAASC,uBAAuB,QAAQ,kCAAiC;AAEzE,8CAA8C;AAC9C,6DAA6D;AAC7D,SACEC,mBAAmBC,sBAAsB,EACzCC,2BAA2B,EAC3BC,WAAW,QACN,kCAAiC;AAOxC,SAASC,cAAc,QAAQ,0BAAyB;AACxD,SAASC,cAAc,QAAQ,2BAA0B;AACzD,SAASC,iBAAiB,QAAQ,0BAAyB;AAC3D,SAASC,iCAAiC,QAAQ,2CAA0C;AAC5F,SACEC,mBAAmB,EACnBC,kCAAkC,QAE7B,+BAA8B;AACrC,SAASC,gBAAgB,QAAQ,iBAAgB;AAEjD,SAASC,cAAc,QAAQ,4BAA2B;AAC1D,SAASC,WAAW,QAAQ,yBAAwB;AACpD,SACEC,gCAAgC,EAChCC,cAAc,QACT,+CAA8C;AACrD,SAASC,6BAA6B,QAAQ,4BAA2B;AACzE,SAASC,yBAAyB,QAAQ,gCAA+B;AACzE,SAASC,eAAe,QAAQ,uCAAsC;AACtE,SAASC,oBAAoB,QAAQ,+BAA8B;AACnE,SAASC,6BAA6B,QAAQ,4BAA2B;AACzE,SACEC,sBAAsB,EACtBC,4BAA4B,EAC5BC,oBAAoB,EACpBC,QAAQ,QACH,iCAAgC;AACvC,SAASC,kBAAkB,QAAQ,wCAAuC;AAE1E,SACEC,sBAAsB,EACtBC,8BAA8B,EAC9BC,mCAAmC,QAE9B,kDAAiD;AACxD,SAASC,aAAa,QAAQ,yBAAwB;AACtD,SAASC,eAAe,QAAQ,qBAAoB;AACpD,SAASC,YAAY,QAAQ,2BAA0B;AACvD,SACEC,iBAAiB,EACjBC,uBAAuB,QAClB,8BAA6B;AAEpC,MAAMhC,kBACJC;AAEF,IAAIgC;AAIJ,IAAIC,QAAQC,GAAG,CAACC,iBAAiB,IAAIF,QAAQC,GAAG,CAACE,0BAA0B,EAAE;IAC3EJ,qBAAqB,AACnBK,QAAQ,8BACRL,kBAAkB;AACtB;AAgBA,eAAeM,kBACbC,KAA2B,EAC3BC,OAAwC,EACxC,EAAEC,QAAQ,EAAEC,UAAU,EAAsB;IAE5C,MAAMC,sBAAsB1C;IAC5B,MAAM2C,OAAOhC,iCAAiC6B;IAC9C,MAAMI,WAAWhC,eAAe6B,YAAYE;IAC5C,MAAME,OAAO,MAAM5C,YAAY2C,UAAU;QAAEF;IAAoB;IAE/D,MAAMI,UAAkC;QACtCC,QAAQpD;QACR,CAACN,cAAc,EAAEmD;QACjB,CAAC/C,8BAA8B,EAAEc,mCAC/B+B,MAAMU,IAAI;IAEd;IAEA,MAAMC,eAAelC;IACrB,IAAIkC,cAAc;QAChBH,OAAO,CAAC,kBAAkB,GAAGG;IAC/B;IAEA,IAAIV,SAAS;QACXO,OAAO,CAACpD,SAAS,GAAG6C;IACtB;IAEA,IAAIP,QAAQC,GAAG,CAACC,iBAAiB,EAAE;QACjC,IAAIgB,KAAKC,QAAQ,EAAE;YACjBL,OAAO,CAACtD,4BAA4B,GAAG0D,KAAKC,QAAQ;QACtD;QAEA,yEAAyE;QACzE,wEAAwE;QACxE,yEAAyE;QACzEL,OAAO,CAAClD,uBAAuB,GAAGwD,OAC/BC,eAAe,CAAC,IAAIC,YAAY,GAAG,CAAC,EAAE,CACtCC,QAAQ,CAAC;IACd;IAEA,MAAMC,MAAM,MAAMC,MAAMnB,MAAMoB,YAAY,EAAE;QAAEC,QAAQ;QAAQb;QAASD;IAAK;IAE5E,0DAA0D;IAC1D,MAAMe,2BAA2BJ,IAAIV,OAAO,CAACe,GAAG,CAACvE;IACjD,IAAIsE,6BAA6B,KAAK;QACpC,MAAM,qBAEL,CAFK,IAAI/D,wBACR,CAAC,eAAe,EAAE2C,SAAS,yGAAyG,CAAC,GADjI,qBAAA;mBAAA;wBAAA;0BAAA;QAEN;IACF;IAEA,MAAMsB,iBAAiBN,IAAIV,OAAO,CAACe,GAAG,CAAC;IACvC,MAAM,CAACE,WAAUC,cAAc,GAAGF,gBAAgBG,MAAM,QAAQ,EAAE;IAClE,IAAIC;IACJ,OAAQF;QACN,KAAK;YACHE,eAAe;YACf;QACF,KAAK;YACHA,eAAe;YACf;QACF;YACEA,eAAeC;IACnB;IAEA,MAAMC,cAAc,CAAC,CAACZ,IAAIV,OAAO,CAACe,GAAG,CAACtE;IAEtC,IAAI8E,mBAA2C9C;IAC/C,IAAI;QACF,MAAM+C,qBAAqBd,IAAIV,OAAO,CAACe,GAAG,CAAC;QAC3C,IAAIS,oBAAoB;YACtB,MAAMC,aAAaC,KAAKC,KAAK,CAACH;YAC9B,IACEC,eAAe9C,uCACf8C,eAAe/C,gCACf;gBACA6C,mBAAmBE;YACrB;QACF;IACF,EAAE,OAAM,CAAC;IAET,MAAMG,mBAAmBX,YACrB5D,eACE4D,WACA,IAAIY,IAAIrC,MAAMoB,YAAY,EAAEkB,OAAOb,QAAQ,CAACc,IAAI,KAElDV;IAEJ,MAAMW,cAActB,IAAIV,OAAO,CAACe,GAAG,CAAC;IACpC,MAAMkB,gBAAgB,CAAC,CACrBD,CAAAA,eAAeA,YAAYE,UAAU,CAACrF,wBAAuB;IAG/D,0CAA0C;IAC1C,iGAAiG;IACjG,iGAAiG;IACjG,IAAI,CAACoF,iBAAiB,CAACL,kBAAkB;QACvC,kGAAkG;QAClG,sBAAsB;QACtB,MAAMO,UACJzB,IAAI0B,MAAM,IAAI,OAAOJ,gBAAgB,eACjC,MAAMtB,IAAI2B,IAAI,KACd;QAEN,MAAM,qBAAkB,CAAlB,IAAIC,MAAMH,UAAV,qBAAA;mBAAA;wBAAA;0BAAA;QAAiB;IACzB;IAEA,IAAII;IACJ,IAAIC;IACJ,IAAIC;IACJ,IAAIC,qBAA8B;IAElC,IAAIT,eAAe;QACjB,yEAAyE;QACzE,mEAAmE;QACnE,gDAAgD;QAChD,MAAMU,kBAAkBf,mBACpB9C,aAAa4B,KAAKkC,IAAI,CAAC,CAAC,EAAEC,UAAUC,CAAC,EAAE,GAAKA,KAC5CC,QAAQC,OAAO,CAACtC;QAEpB,MAAMmC,WAAiC,MAAM7F,gBAC3C2F,iBACA;YACEtG;YACAC;YACAsD;YACAqD,cAAchE,sBAAsBA,mBAAmBe;QACzD;QAGF,4FAA4F;QAC5FuC,eAAeX,mBAAmBP,YAAYwB,SAASK,CAAC;QACxDR,qBAAqBG,SAASM,CAAC;QAE/B,8DAA8D;QAC9D,mEAAmE;QACnE,qEAAqE;QACrE,sEAAsE;QACtE,qEAAqE;QACrE,+DAA+D;QAC/D,qEAAqE;QACrE,oDAAoD;QACpD,MAAMC,kBACJ1C,IAAIV,OAAO,CAACe,GAAG,CAAC5C,kCAAkC0E,SAASQ,CAAC;QAC9D,IACED,oBAAoB/B,aACpB+B,oBAAoBlF,wBACpB;QACA,iEAAiE;QACjE,mEAAmE;QACnE,+CAA+C;QACjD,OAAO;YACL,MAAMoF,kBAAkB9F,oBAAoBqF,SAASU,CAAC;YACtD,IAAID,oBAAoB,IAAI;gBAC1Bd,mBAAmBc;gBACnBb,iCAAiCI,SAASW,CAAC;YAC7C;QACF;IACF,OAAO;QACL,iDAAiD;QACjDjB,eAAelB;QACfmB,mBAAmBnB;QACnBoB,iCAAiCpB;IACnC;IAEA,OAAO;QACLkB;QACAC;QACAC;QACAb;QACAR;QACAG;QACAD;QACAoB;IACF;AACF;AAEA;;;CAGC,GACD,OAAO,SAASe,oBACdjE,KAA2B,EAC3BkE,MAA0B;IAE1B,MAAM,EAAEV,OAAO,EAAEW,MAAM,EAAE,GAAGD;IAE5B,2GAA2G;IAC3G,mEAAmE;IACnE,4EAA4E;IAC5E,wDAAwD;IACxD,MAAMjE,UAMJ,AALA,yDAAyD;IACzD,0DAA0D;IAC1D,wDAAwD;IACxD,sDAAsD;IACtD,YAAY;IACXD,CAAAA,MAAMoE,eAAe,IAAIpE,MAAMC,OAAO,AAAD,KACtClC,kCAAkCiC,MAAMU,IAAI,IACxCV,MAAMoE,eAAe,IAAIpE,MAAMC,OAAO,GACtC;IAEN,OAAOF,kBAAkBC,OAAOC,SAASiE,QAAQd,IAAI,CACnD,OAAO,EACLrB,gBAAgB,EAChBgB,YAAY,EACZC,kBAAkBqB,UAAU,EAC5BpB,gCAAgCqB,wBAAwB,EACxDlC,gBAAgB,EAChBR,YAAY,EACZE,WAAW,EACXoB,kBAAkB,EACnB;QACC,IAAInB,qBAAqB9C,wBAAwB;YAC/C,+DAA+D;YAE/D,qDAAqD;YACrDM;YAEA,uDAAuD;YACvD,4DAA4D;YAC5D,uDAAuD;YACvD,yDAAyD;YACzD2E,OAAOK,aAAa,GAAG;YAEvB,yDAAyD;YACzD,6DAA6D;YAC7D,kEAAkE;YAClE,mEAAmE;YACnE,8DAA8D;YAC9D,2BAA2B;YAC3B,IAAIxC,qBAAqB5C,qCAAqC;gBAC5DZ,8BAA8B0B,SAASD,MAAMU,IAAI;YACnD;YAEA,4DAA4D;YAC5D,eAAe;YACflC;QACF;QAEA,MAAMgG,eAAe5C,gBAAgB;QAErC,IAAIQ,qBAAqBP,WAAW;YAClC,+EAA+E;YAC/E,+EAA+E;YAC/E,sFAAsF;YACtF,oFAAoF;YACpF,mFAAmF;YACnF,2CAA2C;YAE3C,IAAIzC,cAAcgD,mBAAmB;gBACnC,iDAAiD;gBACjD,MAAMqC,eAAerC,iBAAiBG,IAAI;gBAC1C,MAAMmC,gBAAgBC,6BACpBF,cACAD;gBAEFL,OAAOO;gBACP,OAAO9F,uBAAuBoB,OAAOoC,kBAAkBoC;YACzD,OAAO;gBACL,iDAAiD;gBACjD,MAAMI,uBAAuB9G,kBAC3BsE,kBACA;gBAEF,MAAMqC,eAAerG,YAAYwG,wBAC7BzG,eAAeyG,wBACfA;gBACJ,MAAMF,gBAAgBC,6BACpBF,cACAD;gBAEFL,OAAOO;YACT;QACF,OAAO;YACL,8DAA8D;YAC9DlB,QAAQT;QACV;QAEA,uDAAuD;QACvD,IACE,qCAAqC;QACrCX,qBAAqBP,aACrB,sCAAsC;QACtCE,qBAAqB9C,0BACrB,kCAAkC;QAClCoF,eAAexC,WACf;YACA,gEAAgE;YAChE,0BAA0B;YAC1B,OAAO7B;QACT;QAEA,IAAIqE,eAAexC,aAAaO,qBAAqBP,WAAW;YAC9D,wEAAwE;YACxE,wBAAwB;YACxB,wEAAwE;YACxE,oCAAoC;YACpC,OAAOjD,uBAAuBoB,OAAOoC,kBAAkBoC;QACzD;QAEA,IAAI,OAAOH,eAAe,UAAU;YAClC,gEAAgE;YAChE,oDAAoD;YACpD,OAAOzF,uBACLoB,OACA,IAAIqC,IAAIgC,YAAY5C,SAASoD,MAAM,GACnCL;QAEJ;QAEA,yEAAyE;QACzE,WAAW;QAEX,mEAAmE;QACnE,eAAe;QACf,MAAMM,aAAa,IAAIzC,IAAIrC,MAAMoB,YAAY,EAAEK,SAASoD,MAAM;QAC9D,MAAME,wBAAwB/E,MAAMgF,cAAc;QAClD,MAAMC,cACJ7C,qBAAqBP,YAAYO,mBAAmB0C;QACtD,MAAMI,2BAA2BlF,MAAMU,IAAI;QAC3C,MAAMyE,iBAAiBvH,eAAewH,OAAO;QAE7C,sEAAsE;QACtE,gCAAgC;QAChC,MAAMC,kBACJtD,qBAAqB9C,yBACjBI,gBAAgB+F,OAAO,GACvB/F,gBAAgBiG,UAAU;QAEhC,mEAAmE;QACnE,4DAA4D;QAC5D,6DAA6D;QAC7D,gEAAgE;QAChE,gEAAgE;QAChE,IAAIjB,eAAexC,aAAayC,6BAA6BzC,WAAW;YACtE,kEAAkE;YAClE,qEAAqE;YACrE,qEAAqE;YACrE,oDAAoD;YACpD,MAAM0D,uBAAuBzH,kBAAkBmH;YAC/C,MAAMO,MAAMC,KAAKD,GAAG;YACpB,oEAAoE;YACpE,uCAAuC;YACvC,MAAME,eAAe7G,6BACnB2G,KACAN,0BACAb,YACAC,0BACA9E;YAGF,uEAAuE;YACvE,MAAMmG,mBAAmBD,aAAaC,gBAAgB;YACtD,IAAIA,qBAAqB,MAAM;gBAC7B3G,mBACEwG,KACAP,YAAYW,QAAQ,EACpB3F,SACA,MACAyF,aAAaG,SAAS,EACtBF,kBACAzC,oBACAqC,sBACAzD,aACA,MAAM,oBAAoB;;YAE9B;YAEA,OAAOhD,qBACL0G,KACAxF,OACAiF,aACAM,sBACAG,cACAZ,YACAC,uBACA/E,MAAM8F,KAAK,EACXZ,0BACAG,iBACApF,SACAkF,gBACAX,cACA,MACA,kEAAkE;YAClE,qEAAqE;YACrE,iEAAiE;YACjE,kEAAkE;YAClE;QAEJ;QAEA,uEAAuE;QACvE,uEAAuE;QACvE,OAAOzF,SACLiB,OACAiF,aACAH,YACAC,uBACA/E,MAAM8F,KAAK,EACXZ,0BACAjF,SACAoF,iBACAF,gBACAX;IAEJ,GACA,CAACuB;QACC,mHAAmH;QACnH5B,OAAO4B;QAEP,OAAO/F;IACT;AAEJ;AAEA,SAAS2E,6BACPF,YAAoB,EACpBuB,oBAAkC;IAElC,MAAMtB,gBAAgBxG,iBAAiBuG,cAAcuB;IAMnDtB,cAAsBuB,OAAO,GAAG;IAClC,OAAOvB;AACT","ignoreList":[0]} | ||
| {"version":3,"sources":["../../../../../../src/client/components/router-reducer/reducers/server-action-reducer.ts"],"sourcesContent":["import type {\n ActionFlightResponse,\n ActionResult,\n} from '../../../../shared/lib/app-router-types'\nimport { callServer } from '../../../app-call-server'\nimport { findSourceMapURL } from '../../../app-find-source-map-url'\nimport {\n ACTION_HEADER,\n NEXT_ACTION_NOT_FOUND_HEADER,\n NEXT_IS_PRERENDER_HEADER,\n NEXT_HTML_REQUEST_ID_HEADER,\n NEXT_ROUTER_STATE_TREE_HEADER,\n NEXT_URL,\n RSC_CONTENT_TYPE_HEADER,\n NEXT_REQUEST_ID_HEADER,\n} from '../../app-router-headers'\nimport { UnrecognizedActionError } from '../../unrecognized-action-error'\n\n// TODO: Explicitly import from client.browser\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport {\n createFromFetch as createFromFetchBrowser,\n createTemporaryReferenceSet,\n encodeReply,\n} from 'react-server-dom-webpack/client'\n\nimport type {\n ReadonlyReducerState,\n ReducerState,\n ServerActionAction,\n} from '../router-reducer-types'\nimport { ScrollBehavior } from '../router-reducer-types'\nimport { assignLocation } from '../../../assign-location'\nimport { createHrefFromUrl } from '../create-href-from-url'\nimport { hasInterceptionRouteInCurrentTree } from './has-interception-route-in-current-tree'\nimport {\n normalizeFlightData,\n prepareFlightRouterStateForRequest,\n type NormalizedFlightData,\n} from '../../../flight-data-helpers'\nimport { getRedirectError } from '../../redirect'\nimport type { RedirectType } from '../../redirect-error'\nimport { removeBasePath } from '../../../remove-base-path'\nimport { hasBasePath } from '../../../has-base-path'\nimport {\n extractInfoFromServerReferenceId,\n omitUnusedArgs,\n} from '../../../../shared/lib/server-reference-info'\nimport { invalidateEntirePrefetchCache } from '../../segment-cache/cache'\nimport { startRevalidationCooldown } from '../../segment-cache/scheduler'\nimport { getDeploymentId } from '../../../../shared/lib/deployment-id'\nimport { getNavigationBuildId } from '../../../navigation-build-id'\nimport { NEXT_NAV_DEPLOYMENT_ID_HEADER } from '../../../../lib/constants'\nimport {\n completeHardNavigation,\n convertServerPatchToFullTree,\n navigateToKnownRoute,\n navigate,\n} from '../../segment-cache/navigation'\nimport { discoverKnownRoute } from '../../segment-cache/optimistic-routes'\nimport type { NormalizedSearch } from '../../segment-cache/cache-key'\nimport {\n ActionDidNotRevalidate,\n ActionDidRevalidateDynamicOnly,\n ActionDidRevalidateStaticAndDynamic,\n type ActionRevalidationKind,\n} from '../../../../shared/lib/action-revalidation-kind'\nimport { isExternalURL } from '../../app-router-utils'\nimport { FreshnessPolicy } from '../ppr-navigations'\nimport { processFetch } from '../fetch-server-response'\nimport {\n invalidateBfCache,\n UnknownDynamicStaleTime,\n} from '../../segment-cache/bfcache'\n\nconst createFromFetch =\n createFromFetchBrowser as (typeof import('react-server-dom-webpack/client.browser'))['createFromFetch']\n\nlet createDebugChannel:\n | typeof import('../../../dev/debug-channel').createDebugChannel\n | undefined\n\nif (process.env.__NEXT_DEV_SERVER && process.env.__NEXT_REACT_DEBUG_CHANNEL) {\n createDebugChannel = (\n require('../../../dev/debug-channel') as typeof import('../../../dev/debug-channel')\n ).createDebugChannel\n}\n\n// TODO: Refactor to be a discriminated union. Or just get rid of it;\n// fetchServerAction only has one caller, no reason this intermediate type has\n// to exist.\ntype FetchServerActionResult = {\n redirectLocation: URL | undefined\n redirectType: RedirectType | undefined\n revalidationKind: ActionRevalidationKind\n actionResult: ActionResult | undefined\n actionFlightData: NormalizedFlightData[] | string | undefined\n actionFlightDataRenderedSearch: NormalizedSearch | undefined\n isPrerender: boolean\n couldBeIntercepted: boolean\n}\n\nasync function fetchServerAction(\n state: ReadonlyReducerState,\n nextUrl: ReadonlyReducerState['nextUrl'],\n action: ServerActionAction\n): Promise<FetchServerActionResult> {\n const { actionId, actionArgs } = action\n const temporaryReferences = createTemporaryReferenceSet()\n const info = extractInfoFromServerReferenceId(actionId)\n const usedArgs = omitUnusedArgs(actionArgs, info)\n const body = await encodeReply(usedArgs, { temporaryReferences })\n\n const headers: Record<string, string> = {\n Accept: RSC_CONTENT_TYPE_HEADER,\n [ACTION_HEADER]: actionId,\n [NEXT_ROUTER_STATE_TREE_HEADER]: prepareFlightRouterStateForRequest(\n state.tree\n ),\n }\n\n const deploymentId = getDeploymentId()\n if (deploymentId) {\n headers['x-deployment-id'] = deploymentId\n }\n\n if (nextUrl) {\n headers[NEXT_URL] = nextUrl\n }\n\n if (process.env.__NEXT_DEV_SERVER) {\n if (self.__next_r) {\n headers[NEXT_HTML_REQUEST_ID_HEADER] = self.__next_r\n }\n\n // Create a new request ID for the server action request. The server uses\n // this to tag debug information sent via WebSocket to the client, which\n // then routes those chunks to the debug channel associated with this ID.\n headers[NEXT_REQUEST_ID_HEADER] = crypto\n .getRandomValues(new Uint32Array(1))[0]\n .toString(16)\n }\n\n let res: Response\n try {\n res = await fetch(state.canonicalUrl, { method: 'POST', headers, body })\n // If the fetch succeeds while we're in the offline state, notify the\n // offline module so it can short-circuit the polling loop.\n if (process.env.__NEXT_USE_OFFLINE) {\n const { notifyOnline } =\n require('../../offline') as typeof import('../../offline')\n notifyOnline()\n }\n } catch (err) {\n if (process.env.__NEXT_USE_OFFLINE) {\n const { checkOfflineError, getOffline, waitForConnection } =\n require('../../offline') as typeof import('../../offline')\n if (checkOfflineError(err)) {\n // It's safe to replay the action because the fetch rejection\n // means the request never reached the server — there are no\n // side effects to duplicate.\n const offline = getOffline()\n if (offline !== null) {\n await waitForConnection(offline)\n }\n return fetchServerAction(state, nextUrl, action)\n }\n }\n throw err\n }\n\n // Handle server actions that the server didn't recognize.\n const unrecognizedActionHeader = res.headers.get(NEXT_ACTION_NOT_FOUND_HEADER)\n if (unrecognizedActionHeader === '1') {\n throw new UnrecognizedActionError(\n `Server Action \"${actionId}\" was not found on the server. \\nRead more: https://nextjs.org/docs/messages/failed-to-find-server-action`\n )\n }\n\n const redirectHeader = res.headers.get('x-action-redirect')\n const [location, _redirectType] = redirectHeader?.split(';') || []\n let redirectType: RedirectType | undefined\n switch (_redirectType) {\n case 'push':\n redirectType = 'push'\n break\n case 'replace':\n redirectType = 'replace'\n break\n default:\n redirectType = undefined\n }\n\n const isPrerender = !!res.headers.get(NEXT_IS_PRERENDER_HEADER)\n\n let revalidationKind: ActionRevalidationKind = ActionDidNotRevalidate\n try {\n const revalidationHeader = res.headers.get('x-action-revalidated')\n if (revalidationHeader) {\n const parsedKind = JSON.parse(revalidationHeader)\n if (\n parsedKind === ActionDidRevalidateStaticAndDynamic ||\n parsedKind === ActionDidRevalidateDynamicOnly\n ) {\n revalidationKind = parsedKind\n }\n }\n } catch {}\n\n const redirectLocation = location\n ? assignLocation(\n location,\n new URL(state.canonicalUrl, window.location.href)\n )\n : undefined\n\n const contentType = res.headers.get('content-type')\n const isRscResponse = !!(\n contentType && contentType.startsWith(RSC_CONTENT_TYPE_HEADER)\n )\n\n // Handle invalid server action responses.\n // A valid response must have `content-type: text/x-component`, unless it's an external redirect.\n // (external redirects have an 'x-action-redirect' header, but the body is an empty 'text/plain')\n if (!isRscResponse && !redirectLocation) {\n // The server can respond with a text/plain error message, but we'll fallback to something generic\n // if there isn't one.\n const message =\n res.status >= 400 && contentType === 'text/plain'\n ? await res.text()\n : 'An unexpected response was received from the server.'\n\n throw new Error(message)\n }\n\n let actionResult: FetchServerActionResult['actionResult']\n let actionFlightData: FetchServerActionResult['actionFlightData']\n let actionFlightDataRenderedSearch: FetchServerActionResult['actionFlightDataRenderedSearch']\n let couldBeIntercepted: boolean = false\n\n if (isRscResponse) {\n // Server action redirect responses carry the Flight data of the redirect\n // target, which may be prerendered with a completeness marker byte\n // prepended. Strip it before passing to Flight.\n const responsePromise = redirectLocation\n ? processFetch(res).then(({ response: r }) => r)\n : Promise.resolve(res)\n\n const response: ActionFlightResponse = await createFromFetch(\n responsePromise,\n {\n callServer,\n findSourceMapURL,\n temporaryReferences,\n debugChannel: createDebugChannel && createDebugChannel(headers),\n }\n )\n\n // An internal redirect can send an RSC response, but does not have a useful `actionResult`.\n actionResult = redirectLocation ? undefined : response.a\n couldBeIntercepted = response.i\n\n // Check if the response build ID matches the client build ID.\n // In a multi-zone setup, when a server action triggers a redirect,\n // the server pre-fetches the redirect target as RSC. If the redirect\n // target is served by a different Next.js zone (different build), the\n // pre-fetched RSC data will have a foreign build ID. We must discard\n // the flight data in that case so the redirect triggers an MPA\n // navigation (full page load) instead of trying to apply the foreign\n // RSC payload — which would result in a blank page.\n const responseBuildId =\n res.headers.get(NEXT_NAV_DEPLOYMENT_ID_HEADER) ?? response.b\n if (\n responseBuildId !== undefined &&\n responseBuildId !== getNavigationBuildId()\n ) {\n // Build ID mismatch — discard the flight data. The redirect will\n // still be processed, and the absence of flight data will cause an\n // MPA navigation via completeHardNavigation().\n } else {\n const maybeFlightData = normalizeFlightData(response.f)\n if (maybeFlightData !== '') {\n actionFlightData = maybeFlightData\n actionFlightDataRenderedSearch = response.q as NormalizedSearch\n }\n }\n } else {\n // An external redirect doesn't contain RSC data.\n actionResult = undefined\n actionFlightData = undefined\n actionFlightDataRenderedSearch = undefined\n }\n\n return {\n actionResult,\n actionFlightData,\n actionFlightDataRenderedSearch,\n redirectLocation,\n redirectType,\n revalidationKind,\n isPrerender,\n couldBeIntercepted,\n }\n}\n\n/*\n * This reducer is responsible for calling the server action and processing any side-effects from the server action.\n * It does not mutate the state by itself but rather delegates to other reducers to do the actual mutation.\n */\nexport function serverActionReducer(\n state: ReadonlyReducerState,\n action: ServerActionAction\n): ReducerState {\n const { resolve, reject } = action\n\n // only pass along the `nextUrl` param (used for interception routes) if the current route was intercepted.\n // If the route has been intercepted, the action should be as well.\n // Otherwise the server action might be intercepted with the wrong action id\n // (ie, one that corresponds with the intercepted route)\n const nextUrl =\n // We always send the last next-url, not the current when\n // performing a dynamic request. This is because we update\n // the next-url after a navigation, but we want the same\n // interception route to be matched that used the last\n // next-url.\n (state.previousNextUrl || state.nextUrl) &&\n hasInterceptionRouteInCurrentTree(state.tree)\n ? state.previousNextUrl || state.nextUrl\n : null\n\n return fetchServerAction(state, nextUrl, action).then(\n async ({\n revalidationKind,\n actionResult,\n actionFlightData: flightData,\n actionFlightDataRenderedSearch: flightDataRenderedSearch,\n redirectLocation,\n redirectType,\n isPrerender,\n couldBeIntercepted,\n }) => {\n if (revalidationKind !== ActionDidNotRevalidate) {\n // There was either a revalidation or a refresh, or maybe both.\n\n // Evict the BFCache, which may contain dynamic data.\n invalidateBfCache()\n\n // Store whether this action triggered any revalidation\n // The action queue will use this information to potentially\n // trigger a refresh action if the action was discarded\n // (ie, due to a navigation, before the action completed)\n action.didRevalidate = true\n\n // If there was a revalidation, evict the prefetch cache.\n // TODO: Evict only segments with matching tags and/or paths.\n // TODO: We should only invalidate the route cache if cookies were\n // mutated, since route trees may vary based on cookies. For now we\n // invalidate both caches until we have a way to detect cookie\n // mutations on the client.\n if (revalidationKind === ActionDidRevalidateStaticAndDynamic) {\n invalidateEntirePrefetchCache(nextUrl, state.tree)\n }\n\n // Start a cooldown before re-prefetching to allow CDN cache\n // propagation.\n startRevalidationCooldown()\n }\n\n const navigateType = redirectType || 'push'\n\n if (redirectLocation !== undefined) {\n // If the action triggered a redirect, the action promise will be rejected with\n // a redirect so that it's handled by RedirectBoundary as we won't have a valid\n // action result to resolve the promise with. This will effectively reset the state of\n // the component that called the action as the error boundary will remount the tree.\n // The status code doesn't matter here as the action handler will have already sent\n // a response with the correct status code.\n\n if (isExternalURL(redirectLocation)) {\n // External redirect. Triggers an MPA navigation.\n const redirectHref = redirectLocation.href\n const redirectError = createRedirectErrorForAction(\n redirectHref,\n navigateType\n )\n reject(redirectError)\n return completeHardNavigation(state, redirectLocation, navigateType)\n } else {\n // Internal redirect. Triggers an SPA navigation.\n const redirectWithBasepath = createHrefFromUrl(\n redirectLocation,\n false\n )\n const redirectHref = hasBasePath(redirectWithBasepath)\n ? removeBasePath(redirectWithBasepath)\n : redirectWithBasepath\n const redirectError = createRedirectErrorForAction(\n redirectHref,\n navigateType\n )\n reject(redirectError)\n }\n } else {\n // If there's no redirect, resolve the action with the result.\n resolve(actionResult)\n }\n\n // Check if we can bail out without updating any state.\n if (\n // Did the action trigger a redirect?\n redirectLocation === undefined &&\n // Did the action revalidate any data?\n revalidationKind === ActionDidNotRevalidate &&\n // Did the server render new data?\n flightData === undefined\n ) {\n // The action did not trigger any revalidations or redirects. No\n // navigation is required.\n return state\n }\n\n if (flightData === undefined && redirectLocation !== undefined) {\n // The server redirected, but did not send any Flight data. This implies\n // an external redirect.\n // TODO: We should refactor the action response type to be more explicit\n // about the various response types.\n return completeHardNavigation(state, redirectLocation, navigateType)\n }\n\n if (typeof flightData === 'string') {\n // If the flight data is just a string, something earlier in the\n // response handling triggered an external redirect.\n return completeHardNavigation(\n state,\n new URL(flightData, location.origin),\n navigateType\n )\n }\n\n // The action triggered a navigation — either a redirect, a revalidation,\n // or both.\n\n // If there was no redirect, then the target URL is the same as the\n // current URL.\n const currentUrl = new URL(state.canonicalUrl, location.origin)\n const currentRenderedSearch = state.renderedSearch\n const redirectUrl =\n redirectLocation !== undefined ? redirectLocation : currentUrl\n const currentFlightRouterState = state.tree\n const scrollBehavior = ScrollBehavior.Default\n\n // If the action triggered a revalidation of the cache, we should also\n // refresh all the dynamic data.\n const freshnessPolicy =\n revalidationKind === ActionDidNotRevalidate\n ? FreshnessPolicy.Default\n : FreshnessPolicy.RefreshAll\n\n // The server may have sent back new data. If so, we will perform a\n // \"seeded\" navigation that uses the data from the response.\n // TODO: Currently the server always renders from the root in\n // response to a Server Action. In the case of a normal redirect\n // with no revalidation, it should skip over the shared layouts.\n if (flightData !== undefined && flightDataRenderedSearch !== undefined) {\n // The server sent back new route data as part of the response. We\n // will use this to render the new page. If this happens to be only a\n // subset of the data needed to render the new page, we'll initiate a\n // new fetch, like we would for a normal navigation.\n const redirectCanonicalUrl = createHrefFromUrl(redirectUrl)\n const now = Date.now()\n // TODO: Store the dynamic stale time on the top-level state so it's\n // known during restores and refreshes.\n const redirectSeed = convertServerPatchToFullTree(\n now,\n currentFlightRouterState,\n flightData,\n flightDataRenderedSearch,\n UnknownDynamicStaleTime\n )\n\n // Learn the route pattern so we can predict it for future navigations.\n const metadataVaryPath = redirectSeed.metadataVaryPath\n if (metadataVaryPath !== null) {\n discoverKnownRoute(\n now,\n redirectUrl.pathname,\n nextUrl,\n null, // No pending entry\n redirectSeed.routeTree,\n metadataVaryPath,\n couldBeIntercepted,\n redirectCanonicalUrl,\n isPrerender,\n false // hasDynamicRewrite\n )\n }\n\n return navigateToKnownRoute(\n now,\n state,\n redirectUrl,\n redirectCanonicalUrl,\n redirectSeed,\n currentUrl,\n currentRenderedSearch,\n state.cache,\n currentFlightRouterState,\n freshnessPolicy,\n nextUrl,\n scrollBehavior,\n navigateType,\n null,\n // Server action redirects don't use route prediction - we already\n // have the route tree from the server response. If a mismatch occurs\n // during dynamic data fetch, the retry handler will traverse the\n // known route tree to mark the entry as having a dynamic rewrite.\n null\n )\n }\n\n // The server did not send back new data. We'll perform a regular, non-\n // seeded navigation — effectively the same as <Link> or router.push().\n return navigate(\n state,\n redirectUrl,\n currentUrl,\n currentRenderedSearch,\n state.cache,\n currentFlightRouterState,\n nextUrl,\n freshnessPolicy,\n scrollBehavior,\n navigateType\n )\n },\n (e: any) => {\n // When the server action is rejected we don't update the state and instead call the reject handler of the promise.\n reject(e)\n\n return state\n }\n )\n}\n\nfunction createRedirectErrorForAction(\n redirectHref: string,\n resolvedRedirectType: RedirectType\n) {\n const redirectError = getRedirectError(redirectHref, resolvedRedirectType)\n // We mark the error as handled because we don't want the redirect to be tried later by\n // the RedirectBoundary, in case the user goes back and `Activity` triggers the redirect\n // again, as it's run within an effect.\n // We don't actually need the RedirectBoundary to do a router.push because we already\n // have all the necessary RSC data to render the new page within a single roundtrip.\n ;(redirectError as any).handled = true\n return redirectError\n}\n"],"names":["callServer","findSourceMapURL","ACTION_HEADER","NEXT_ACTION_NOT_FOUND_HEADER","NEXT_IS_PRERENDER_HEADER","NEXT_HTML_REQUEST_ID_HEADER","NEXT_ROUTER_STATE_TREE_HEADER","NEXT_URL","RSC_CONTENT_TYPE_HEADER","NEXT_REQUEST_ID_HEADER","UnrecognizedActionError","createFromFetch","createFromFetchBrowser","createTemporaryReferenceSet","encodeReply","ScrollBehavior","assignLocation","createHrefFromUrl","hasInterceptionRouteInCurrentTree","normalizeFlightData","prepareFlightRouterStateForRequest","getRedirectError","removeBasePath","hasBasePath","extractInfoFromServerReferenceId","omitUnusedArgs","invalidateEntirePrefetchCache","startRevalidationCooldown","getDeploymentId","getNavigationBuildId","NEXT_NAV_DEPLOYMENT_ID_HEADER","completeHardNavigation","convertServerPatchToFullTree","navigateToKnownRoute","navigate","discoverKnownRoute","ActionDidNotRevalidate","ActionDidRevalidateDynamicOnly","ActionDidRevalidateStaticAndDynamic","isExternalURL","FreshnessPolicy","processFetch","invalidateBfCache","UnknownDynamicStaleTime","createDebugChannel","process","env","__NEXT_DEV_SERVER","__NEXT_REACT_DEBUG_CHANNEL","require","fetchServerAction","state","nextUrl","action","actionId","actionArgs","temporaryReferences","info","usedArgs","body","headers","Accept","tree","deploymentId","self","__next_r","crypto","getRandomValues","Uint32Array","toString","res","fetch","canonicalUrl","method","__NEXT_USE_OFFLINE","notifyOnline","err","checkOfflineError","getOffline","waitForConnection","offline","unrecognizedActionHeader","get","redirectHeader","location","_redirectType","split","redirectType","undefined","isPrerender","revalidationKind","revalidationHeader","parsedKind","JSON","parse","redirectLocation","URL","window","href","contentType","isRscResponse","startsWith","message","status","text","Error","actionResult","actionFlightData","actionFlightDataRenderedSearch","couldBeIntercepted","responsePromise","then","response","r","Promise","resolve","debugChannel","a","i","responseBuildId","b","maybeFlightData","f","q","serverActionReducer","reject","previousNextUrl","flightData","flightDataRenderedSearch","didRevalidate","navigateType","redirectHref","redirectError","createRedirectErrorForAction","redirectWithBasepath","origin","currentUrl","currentRenderedSearch","renderedSearch","redirectUrl","currentFlightRouterState","scrollBehavior","Default","freshnessPolicy","RefreshAll","redirectCanonicalUrl","now","Date","redirectSeed","metadataVaryPath","pathname","routeTree","cache","e","resolvedRedirectType","handled"],"mappings":"AAIA,SAASA,UAAU,QAAQ,2BAA0B;AACrD,SAASC,gBAAgB,QAAQ,mCAAkC;AACnE,SACEC,aAAa,EACbC,4BAA4B,EAC5BC,wBAAwB,EACxBC,2BAA2B,EAC3BC,6BAA6B,EAC7BC,QAAQ,EACRC,uBAAuB,EACvBC,sBAAsB,QACjB,2BAA0B;AACjC,SAASC,uBAAuB,QAAQ,kCAAiC;AAEzE,8CAA8C;AAC9C,6DAA6D;AAC7D,SACEC,mBAAmBC,sBAAsB,EACzCC,2BAA2B,EAC3BC,WAAW,QACN,kCAAiC;AAOxC,SAASC,cAAc,QAAQ,0BAAyB;AACxD,SAASC,cAAc,QAAQ,2BAA0B;AACzD,SAASC,iBAAiB,QAAQ,0BAAyB;AAC3D,SAASC,iCAAiC,QAAQ,2CAA0C;AAC5F,SACEC,mBAAmB,EACnBC,kCAAkC,QAE7B,+BAA8B;AACrC,SAASC,gBAAgB,QAAQ,iBAAgB;AAEjD,SAASC,cAAc,QAAQ,4BAA2B;AAC1D,SAASC,WAAW,QAAQ,yBAAwB;AACpD,SACEC,gCAAgC,EAChCC,cAAc,QACT,+CAA8C;AACrD,SAASC,6BAA6B,QAAQ,4BAA2B;AACzE,SAASC,yBAAyB,QAAQ,gCAA+B;AACzE,SAASC,eAAe,QAAQ,uCAAsC;AACtE,SAASC,oBAAoB,QAAQ,+BAA8B;AACnE,SAASC,6BAA6B,QAAQ,4BAA2B;AACzE,SACEC,sBAAsB,EACtBC,4BAA4B,EAC5BC,oBAAoB,EACpBC,QAAQ,QACH,iCAAgC;AACvC,SAASC,kBAAkB,QAAQ,wCAAuC;AAE1E,SACEC,sBAAsB,EACtBC,8BAA8B,EAC9BC,mCAAmC,QAE9B,kDAAiD;AACxD,SAASC,aAAa,QAAQ,yBAAwB;AACtD,SAASC,eAAe,QAAQ,qBAAoB;AACpD,SAASC,YAAY,QAAQ,2BAA0B;AACvD,SACEC,iBAAiB,EACjBC,uBAAuB,QAClB,8BAA6B;AAEpC,MAAMhC,kBACJC;AAEF,IAAIgC;AAIJ,IAAIC,QAAQC,GAAG,CAACC,iBAAiB,IAAIF,QAAQC,GAAG,CAACE,0BAA0B,EAAE;IAC3EJ,qBAAqB,AACnBK,QAAQ,8BACRL,kBAAkB;AACtB;AAgBA,eAAeM,kBACbC,KAA2B,EAC3BC,OAAwC,EACxCC,MAA0B;IAE1B,MAAM,EAAEC,QAAQ,EAAEC,UAAU,EAAE,GAAGF;IACjC,MAAMG,sBAAsB3C;IAC5B,MAAM4C,OAAOjC,iCAAiC8B;IAC9C,MAAMI,WAAWjC,eAAe8B,YAAYE;IAC5C,MAAME,OAAO,MAAM7C,YAAY4C,UAAU;QAAEF;IAAoB;IAE/D,MAAMI,UAAkC;QACtCC,QAAQrD;QACR,CAACN,cAAc,EAAEoD;QACjB,CAAChD,8BAA8B,EAAEc,mCAC/B+B,MAAMW,IAAI;IAEd;IAEA,MAAMC,eAAenC;IACrB,IAAImC,cAAc;QAChBH,OAAO,CAAC,kBAAkB,GAAGG;IAC/B;IAEA,IAAIX,SAAS;QACXQ,OAAO,CAACrD,SAAS,GAAG6C;IACtB;IAEA,IAAIP,QAAQC,GAAG,CAACC,iBAAiB,EAAE;QACjC,IAAIiB,KAAKC,QAAQ,EAAE;YACjBL,OAAO,CAACvD,4BAA4B,GAAG2D,KAAKC,QAAQ;QACtD;QAEA,yEAAyE;QACzE,wEAAwE;QACxE,yEAAyE;QACzEL,OAAO,CAACnD,uBAAuB,GAAGyD,OAC/BC,eAAe,CAAC,IAAIC,YAAY,GAAG,CAAC,EAAE,CACtCC,QAAQ,CAAC;IACd;IAEA,IAAIC;IACJ,IAAI;QACFA,MAAM,MAAMC,MAAMpB,MAAMqB,YAAY,EAAE;YAAEC,QAAQ;YAAQb;YAASD;QAAK;QACtE,qEAAqE;QACrE,2DAA2D;QAC3D,IAAId,QAAQC,GAAG,CAAC4B,kBAAkB,EAAE;YAClC,MAAM,EAAEC,YAAY,EAAE,GACpB1B,QAAQ;YACV0B;QACF;IACF,EAAE,OAAOC,KAAK;QACZ,IAAI/B,QAAQC,GAAG,CAAC4B,kBAAkB,EAAE;YAClC,MAAM,EAAEG,iBAAiB,EAAEC,UAAU,EAAEC,iBAAiB,EAAE,GACxD9B,QAAQ;YACV,IAAI4B,kBAAkBD,MAAM;gBAC1B,6DAA6D;gBAC7D,4DAA4D;gBAC5D,6BAA6B;gBAC7B,MAAMI,UAAUF;gBAChB,IAAIE,YAAY,MAAM;oBACpB,MAAMD,kBAAkBC;gBAC1B;gBACA,OAAO9B,kBAAkBC,OAAOC,SAASC;YAC3C;QACF;QACA,MAAMuB;IACR;IAEA,0DAA0D;IAC1D,MAAMK,2BAA2BX,IAAIV,OAAO,CAACsB,GAAG,CAAC/E;IACjD,IAAI8E,6BAA6B,KAAK;QACpC,MAAM,qBAEL,CAFK,IAAIvE,wBACR,CAAC,eAAe,EAAE4C,SAAS,yGAAyG,CAAC,GADjI,qBAAA;mBAAA;wBAAA;0BAAA;QAEN;IACF;IAEA,MAAM6B,iBAAiBb,IAAIV,OAAO,CAACsB,GAAG,CAAC;IACvC,MAAM,CAACE,WAAUC,cAAc,GAAGF,gBAAgBG,MAAM,QAAQ,EAAE;IAClE,IAAIC;IACJ,OAAQF;QACN,KAAK;YACHE,eAAe;YACf;QACF,KAAK;YACHA,eAAe;YACf;QACF;YACEA,eAAeC;IACnB;IAEA,MAAMC,cAAc,CAAC,CAACnB,IAAIV,OAAO,CAACsB,GAAG,CAAC9E;IAEtC,IAAIsF,mBAA2CtD;IAC/C,IAAI;QACF,MAAMuD,qBAAqBrB,IAAIV,OAAO,CAACsB,GAAG,CAAC;QAC3C,IAAIS,oBAAoB;YACtB,MAAMC,aAAaC,KAAKC,KAAK,CAACH;YAC9B,IACEC,eAAetD,uCACfsD,eAAevD,gCACf;gBACAqD,mBAAmBE;YACrB;QACF;IACF,EAAE,OAAM,CAAC;IAET,MAAMG,mBAAmBX,YACrBpE,eACEoE,WACA,IAAIY,IAAI7C,MAAMqB,YAAY,EAAEyB,OAAOb,QAAQ,CAACc,IAAI,KAElDV;IAEJ,MAAMW,cAAc7B,IAAIV,OAAO,CAACsB,GAAG,CAAC;IACpC,MAAMkB,gBAAgB,CAAC,CACrBD,CAAAA,eAAeA,YAAYE,UAAU,CAAC7F,wBAAuB;IAG/D,0CAA0C;IAC1C,iGAAiG;IACjG,iGAAiG;IACjG,IAAI,CAAC4F,iBAAiB,CAACL,kBAAkB;QACvC,kGAAkG;QAClG,sBAAsB;QACtB,MAAMO,UACJhC,IAAIiC,MAAM,IAAI,OAAOJ,gBAAgB,eACjC,MAAM7B,IAAIkC,IAAI,KACd;QAEN,MAAM,qBAAkB,CAAlB,IAAIC,MAAMH,UAAV,qBAAA;mBAAA;wBAAA;0BAAA;QAAiB;IACzB;IAEA,IAAII;IACJ,IAAIC;IACJ,IAAIC;IACJ,IAAIC,qBAA8B;IAElC,IAAIT,eAAe;QACjB,yEAAyE;QACzE,mEAAmE;QACnE,gDAAgD;QAChD,MAAMU,kBAAkBf,mBACpBtD,aAAa6B,KAAKyC,IAAI,CAAC,CAAC,EAAEC,UAAUC,CAAC,EAAE,GAAKA,KAC5CC,QAAQC,OAAO,CAAC7C;QAEpB,MAAM0C,WAAiC,MAAMrG,gBAC3CmG,iBACA;YACE9G;YACAC;YACAuD;YACA4D,cAAcxE,sBAAsBA,mBAAmBgB;QACzD;QAGF,4FAA4F;QAC5F8C,eAAeX,mBAAmBP,YAAYwB,SAASK,CAAC;QACxDR,qBAAqBG,SAASM,CAAC;QAE/B,8DAA8D;QAC9D,mEAAmE;QACnE,qEAAqE;QACrE,sEAAsE;QACtE,qEAAqE;QACrE,+DAA+D;QAC/D,qEAAqE;QACrE,oDAAoD;QACpD,MAAMC,kBACJjD,IAAIV,OAAO,CAACsB,GAAG,CAACpD,kCAAkCkF,SAASQ,CAAC;QAC9D,IACED,oBAAoB/B,aACpB+B,oBAAoB1F,wBACpB;QACA,iEAAiE;QACjE,mEAAmE;QACnE,+CAA+C;QACjD,OAAO;YACL,MAAM4F,kBAAkBtG,oBAAoB6F,SAASU,CAAC;YACtD,IAAID,oBAAoB,IAAI;gBAC1Bd,mBAAmBc;gBACnBb,iCAAiCI,SAASW,CAAC;YAC7C;QACF;IACF,OAAO;QACL,iDAAiD;QACjDjB,eAAelB;QACfmB,mBAAmBnB;QACnBoB,iCAAiCpB;IACnC;IAEA,OAAO;QACLkB;QACAC;QACAC;QACAb;QACAR;QACAG;QACAD;QACAoB;IACF;AACF;AAEA;;;CAGC,GACD,OAAO,SAASe,oBACdzE,KAA2B,EAC3BE,MAA0B;IAE1B,MAAM,EAAE8D,OAAO,EAAEU,MAAM,EAAE,GAAGxE;IAE5B,2GAA2G;IAC3G,mEAAmE;IACnE,4EAA4E;IAC5E,wDAAwD;IACxD,MAAMD,UAMJ,AALA,yDAAyD;IACzD,0DAA0D;IAC1D,wDAAwD;IACxD,sDAAsD;IACtD,YAAY;IACXD,CAAAA,MAAM2E,eAAe,IAAI3E,MAAMC,OAAO,AAAD,KACtClC,kCAAkCiC,MAAMW,IAAI,IACxCX,MAAM2E,eAAe,IAAI3E,MAAMC,OAAO,GACtC;IAEN,OAAOF,kBAAkBC,OAAOC,SAASC,QAAQ0D,IAAI,CACnD,OAAO,EACLrB,gBAAgB,EAChBgB,YAAY,EACZC,kBAAkBoB,UAAU,EAC5BnB,gCAAgCoB,wBAAwB,EACxDjC,gBAAgB,EAChBR,YAAY,EACZE,WAAW,EACXoB,kBAAkB,EACnB;QACC,IAAInB,qBAAqBtD,wBAAwB;YAC/C,+DAA+D;YAE/D,qDAAqD;YACrDM;YAEA,uDAAuD;YACvD,4DAA4D;YAC5D,uDAAuD;YACvD,yDAAyD;YACzDW,OAAO4E,aAAa,GAAG;YAEvB,yDAAyD;YACzD,6DAA6D;YAC7D,kEAAkE;YAClE,mEAAmE;YACnE,8DAA8D;YAC9D,2BAA2B;YAC3B,IAAIvC,qBAAqBpD,qCAAqC;gBAC5DZ,8BAA8B0B,SAASD,MAAMW,IAAI;YACnD;YAEA,4DAA4D;YAC5D,eAAe;YACfnC;QACF;QAEA,MAAMuG,eAAe3C,gBAAgB;QAErC,IAAIQ,qBAAqBP,WAAW;YAClC,+EAA+E;YAC/E,+EAA+E;YAC/E,sFAAsF;YACtF,oFAAoF;YACpF,mFAAmF;YACnF,2CAA2C;YAE3C,IAAIjD,cAAcwD,mBAAmB;gBACnC,iDAAiD;gBACjD,MAAMoC,eAAepC,iBAAiBG,IAAI;gBAC1C,MAAMkC,gBAAgBC,6BACpBF,cACAD;gBAEFL,OAAOO;gBACP,OAAOrG,uBAAuBoB,OAAO4C,kBAAkBmC;YACzD,OAAO;gBACL,iDAAiD;gBACjD,MAAMI,uBAAuBrH,kBAC3B8E,kBACA;gBAEF,MAAMoC,eAAe5G,YAAY+G,wBAC7BhH,eAAegH,wBACfA;gBACJ,MAAMF,gBAAgBC,6BACpBF,cACAD;gBAEFL,OAAOO;YACT;QACF,OAAO;YACL,8DAA8D;YAC9DjB,QAAQT;QACV;QAEA,uDAAuD;QACvD,IACE,qCAAqC;QACrCX,qBAAqBP,aACrB,sCAAsC;QACtCE,qBAAqBtD,0BACrB,kCAAkC;QAClC2F,eAAevC,WACf;YACA,gEAAgE;YAChE,0BAA0B;YAC1B,OAAOrC;QACT;QAEA,IAAI4E,eAAevC,aAAaO,qBAAqBP,WAAW;YAC9D,wEAAwE;YACxE,wBAAwB;YACxB,wEAAwE;YACxE,oCAAoC;YACpC,OAAOzD,uBAAuBoB,OAAO4C,kBAAkBmC;QACzD;QAEA,IAAI,OAAOH,eAAe,UAAU;YAClC,gEAAgE;YAChE,oDAAoD;YACpD,OAAOhG,uBACLoB,OACA,IAAI6C,IAAI+B,YAAY3C,SAASmD,MAAM,GACnCL;QAEJ;QAEA,yEAAyE;QACzE,WAAW;QAEX,mEAAmE;QACnE,eAAe;QACf,MAAMM,aAAa,IAAIxC,IAAI7C,MAAMqB,YAAY,EAAEY,SAASmD,MAAM;QAC9D,MAAME,wBAAwBtF,MAAMuF,cAAc;QAClD,MAAMC,cACJ5C,qBAAqBP,YAAYO,mBAAmByC;QACtD,MAAMI,2BAA2BzF,MAAMW,IAAI;QAC3C,MAAM+E,iBAAiB9H,eAAe+H,OAAO;QAE7C,sEAAsE;QACtE,gCAAgC;QAChC,MAAMC,kBACJrD,qBAAqBtD,yBACjBI,gBAAgBsG,OAAO,GACvBtG,gBAAgBwG,UAAU;QAEhC,mEAAmE;QACnE,4DAA4D;QAC5D,6DAA6D;QAC7D,gEAAgE;QAChE,gEAAgE;QAChE,IAAIjB,eAAevC,aAAawC,6BAA6BxC,WAAW;YACtE,kEAAkE;YAClE,qEAAqE;YACrE,qEAAqE;YACrE,oDAAoD;YACpD,MAAMyD,uBAAuBhI,kBAAkB0H;YAC/C,MAAMO,MAAMC,KAAKD,GAAG;YACpB,oEAAoE;YACpE,uCAAuC;YACvC,MAAME,eAAepH,6BACnBkH,KACAN,0BACAb,YACAC,0BACArF;YAGF,uEAAuE;YACvE,MAAM0G,mBAAmBD,aAAaC,gBAAgB;YACtD,IAAIA,qBAAqB,MAAM;gBAC7BlH,mBACE+G,KACAP,YAAYW,QAAQ,EACpBlG,SACA,MACAgG,aAAaG,SAAS,EACtBF,kBACAxC,oBACAoC,sBACAxD,aACA,MAAM,oBAAoB;;YAE9B;YAEA,OAAOxD,qBACLiH,KACA/F,OACAwF,aACAM,sBACAG,cACAZ,YACAC,uBACAtF,MAAMqG,KAAK,EACXZ,0BACAG,iBACA3F,SACAyF,gBACAX,cACA,MACA,kEAAkE;YAClE,qEAAqE;YACrE,iEAAiE;YACjE,kEAAkE;YAClE;QAEJ;QAEA,uEAAuE;QACvE,uEAAuE;QACvE,OAAOhG,SACLiB,OACAwF,aACAH,YACAC,uBACAtF,MAAMqG,KAAK,EACXZ,0BACAxF,SACA2F,iBACAF,gBACAX;IAEJ,GACA,CAACuB;QACC,mHAAmH;QACnH5B,OAAO4B;QAEP,OAAOtG;IACT;AAEJ;AAEA,SAASkF,6BACPF,YAAoB,EACpBuB,oBAAkC;IAElC,MAAMtB,gBAAgB/G,iBAAiB8G,cAAcuB;IAMnDtB,cAAsBuB,OAAO,GAAG;IAClC,OAAOvB;AACT","ignoreList":[0]} |
@@ -172,2 +172,10 @@ import { PrefetchHint, StaticPrefetchDisabled } from '../../../shared/lib/app-router-types'; | ||
| */ function hasNetworkBandwidth(task) { | ||
| // When offline, don't issue any prefetch requests. The scheduler will be | ||
| // re-pinged when connectivity is restored. | ||
| if (process.env.__NEXT_USE_OFFLINE) { | ||
| const { getOffline } = require('../offline'); | ||
| if (getOffline()) { | ||
| return false; | ||
| } | ||
| } | ||
| // Check if we're within the revalidation cooldown window | ||
@@ -174,0 +182,0 @@ if (revalidationCooldownTimeoutHandle !== null) { |
@@ -28,3 +28,3 @@ /* global location */ // imports polyfill from `@next/polyfill-module` after build. | ||
| import { isNextRouterError } from './components/is-next-router-error'; | ||
| export const version = "16.2.1-canary.11"; | ||
| export const version = "16.2.1-canary.12"; | ||
| export let router; | ||
@@ -31,0 +31,0 @@ export const emitter = mitt(); |
@@ -20,3 +20,3 @@ import { readFileSync, writeFileSync } from 'fs'; | ||
| const data = await res.json(); | ||
| const versionData = data.versions["16.2.1-canary.11"]; | ||
| const versionData = data.versions["16.2.1-canary.12"]; | ||
| return { | ||
@@ -54,3 +54,3 @@ os: versionData.os, | ||
| lockfileParsed.dependencies[pkg] = { | ||
| version: "16.2.1-canary.11", | ||
| version: "16.2.1-canary.12", | ||
| resolved: pkgData.tarball, | ||
@@ -63,3 +63,3 @@ integrity: pkgData.integrity, | ||
| lockfileParsed.packages[pkg] = { | ||
| version: "16.2.1-canary.11", | ||
| version: "16.2.1-canary.12", | ||
| resolved: pkgData.tarball, | ||
@@ -66,0 +66,0 @@ integrity: pkgData.integrity, |
@@ -200,2 +200,3 @@ import { VALID_LOADERS } from '../shared/lib/image-config'; | ||
| dynamicOnHover: z.boolean().optional(), | ||
| useOffline: z.boolean().optional(), | ||
| optimisticRouting: z.boolean().optional(), | ||
@@ -202,0 +203,0 @@ varyParams: z.boolean().optional(), |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../../../src/server/config-schema.ts"],"sourcesContent":["import type { NextConfig } from './config'\nimport { VALID_LOADERS } from '../shared/lib/image-config'\n\nimport { z } from 'next/dist/compiled/zod'\nimport type zod from 'next/dist/compiled/zod'\n\nimport type { SizeLimit } from '../types'\nimport {\n LIGHTNINGCSS_FEATURE_NAMES,\n type ExportPathMap,\n type TurbopackLoaderItem,\n type TurbopackOptions,\n type TurbopackRuleConfigItem,\n type TurbopackRuleConfigCollection,\n type TurbopackRuleCondition,\n type TurbopackLoaderBuiltinCondition,\n} from './config-shared'\nimport type {\n Header,\n Rewrite,\n RouteHas,\n Redirect,\n} from '../lib/load-custom-routes'\nimport { SUPPORTED_TEST_RUNNERS_LIST } from '../cli/next-test'\n\n// A custom zod schema for the SizeLimit type\nconst zSizeLimit = z.custom<SizeLimit>((val) => {\n if (typeof val === 'number' || typeof val === 'string') {\n return true\n }\n return false\n})\n\nconst zExportMap: zod.ZodType<ExportPathMap> = z.record(\n z.string(),\n z.object({\n page: z.string(),\n query: z.any(), // NextParsedUrlQuery\n\n // private optional properties\n _fallbackRouteParams: z.array(z.any()).optional(),\n _isAppDir: z.boolean().optional(),\n _isDynamicError: z.boolean().optional(),\n _isRoutePPREnabled: z.boolean().optional(),\n _allowEmptyStaticShell: z.boolean().optional(),\n })\n)\n\nconst zRouteHas: zod.ZodType<RouteHas> = z.union([\n z.object({\n type: z.enum(['header', 'query', 'cookie']),\n key: z.string(),\n value: z.string().optional(),\n }),\n z.object({\n type: z.literal('host'),\n key: z.undefined().optional(),\n value: z.string(),\n }),\n])\n\nconst zRewrite: zod.ZodType<Rewrite> = z.object({\n source: z.string(),\n destination: z.string(),\n basePath: z.literal(false).optional(),\n locale: z.literal(false).optional(),\n has: z.array(zRouteHas).optional(),\n missing: z.array(zRouteHas).optional(),\n internal: z.boolean().optional(),\n})\n\nconst zRedirect: zod.ZodType<Redirect> = z\n .object({\n source: z.string(),\n destination: z.string(),\n basePath: z.literal(false).optional(),\n locale: z.literal(false).optional(),\n has: z.array(zRouteHas).optional(),\n missing: z.array(zRouteHas).optional(),\n internal: z.boolean().optional(),\n })\n .and(\n z.union([\n z.object({\n statusCode: z.never().optional(),\n permanent: z.boolean(),\n }),\n z.object({\n statusCode: z.number(),\n permanent: z.never().optional(),\n }),\n ])\n )\n\nconst zHeader: zod.ZodType<Header> = z.object({\n source: z.string(),\n basePath: z.literal(false).optional(),\n locale: z.literal(false).optional(),\n headers: z.array(z.object({ key: z.string(), value: z.string() })),\n has: z.array(zRouteHas).optional(),\n missing: z.array(zRouteHas).optional(),\n\n internal: z.boolean().optional(),\n})\n\nconst zTurbopackLoaderItem: zod.ZodType<TurbopackLoaderItem> = z.union([\n z.string(),\n z.strictObject({\n loader: z.string(),\n // Any JSON value can be used as turbo loader options, so use z.any() here\n options: z.record(z.string(), z.any()).optional(),\n }),\n])\n\nconst zTurbopackLoaderBuiltinCondition: zod.ZodType<TurbopackLoaderBuiltinCondition> =\n z.union([\n z.literal('browser'),\n z.literal('foreign'),\n z.literal('development'),\n z.literal('production'),\n z.literal('node'),\n z.literal('edge-light'),\n ])\n\nconst zTurbopackCondition: zod.ZodType<TurbopackRuleCondition> = z.union([\n z.strictObject({ all: z.lazy(() => z.array(zTurbopackCondition)) }),\n z.strictObject({ any: z.lazy(() => z.array(zTurbopackCondition)) }),\n z.strictObject({ not: z.lazy(() => zTurbopackCondition) }),\n zTurbopackLoaderBuiltinCondition,\n z.strictObject({\n path: z.union([z.string(), z.instanceof(RegExp)]).optional(),\n content: z.instanceof(RegExp).optional(),\n query: z.union([z.string(), z.instanceof(RegExp)]).optional(),\n contentType: z.union([z.string(), z.instanceof(RegExp)]).optional(),\n }),\n])\n\nconst zTurbopackModuleType = z.enum([\n 'asset',\n 'ecmascript',\n 'typescript',\n 'css',\n 'css-module',\n 'wasm',\n 'raw',\n 'node',\n 'bytes',\n])\n\nconst zTurbopackRuleConfigItem: zod.ZodType<TurbopackRuleConfigItem> =\n z.strictObject({\n loaders: z.array(zTurbopackLoaderItem).optional(),\n as: z.string().optional(),\n condition: zTurbopackCondition.optional(),\n type: zTurbopackModuleType.optional(),\n })\n\nconst zTurbopackRuleConfigCollection: zod.ZodType<TurbopackRuleConfigCollection> =\n z.union([\n zTurbopackRuleConfigItem,\n z.array(z.union([zTurbopackLoaderItem, zTurbopackRuleConfigItem])),\n ])\n\nconst zTurbopackConfig: zod.ZodType<TurbopackOptions> = z.strictObject({\n rules: z.record(z.string(), zTurbopackRuleConfigCollection).optional(),\n resolveAlias: z\n .record(\n z.string(),\n z.union([\n z.string(),\n z.array(z.string()),\n z.record(z.string(), z.union([z.string(), z.array(z.string())])),\n ])\n )\n .optional(),\n resolveExtensions: z.array(z.string()).optional(),\n root: z.string().optional(),\n debugIds: z.boolean().optional(),\n ignoreIssue: z\n .array(\n z.object({\n path: z.union([z.string(), z.instanceof(RegExp)]),\n title: z.union([z.string(), z.instanceof(RegExp)]).optional(),\n description: z.union([z.string(), z.instanceof(RegExp)]).optional(),\n })\n )\n .optional(),\n})\n\nexport const experimentalSchema = {\n useSkewCookie: z.boolean().optional(),\n after: z.boolean().optional(),\n appNavFailHandling: z.boolean().optional(),\n appNewScrollHandler: z.boolean().optional(),\n preloadEntriesOnStart: z.boolean().optional(),\n allowedRevalidateHeaderKeys: z.array(z.string()).optional(),\n staleTimes: z\n .object({\n dynamic: z.number().optional(),\n static: z.number().gte(30).optional(),\n })\n .optional(),\n cacheLife: z\n .record(\n z.object({\n stale: z.number().optional(),\n revalidate: z.number().optional(),\n expire: z.number().optional(),\n })\n )\n .optional(),\n cacheHandlers: z.record(z.string(), z.string().optional()).optional(),\n clientRouterFilter: z.boolean().optional(),\n clientRouterFilterRedirects: z.boolean().optional(),\n clientRouterFilterAllowedRate: z.number().optional(),\n cpus: z.number().optional(),\n memoryBasedWorkersCount: z.boolean().optional(),\n craCompat: z.boolean().optional(),\n caseSensitiveRoutes: z.boolean().optional(),\n clientParamParsingOrigins: z.array(z.string()).optional(),\n cachedNavigations: z.boolean().optional(),\n partialFallbacks: z.boolean().optional(),\n dynamicOnHover: z.boolean().optional(),\n optimisticRouting: z.boolean().optional(),\n varyParams: z.boolean().optional(),\n prefetchInlining: z\n .union([\n z.boolean(),\n z.object({\n maxSize: z.number().optional(),\n maxBundleSize: z.number().optional(),\n }),\n ])\n .optional(),\n disableOptimizedLoading: z.boolean().optional(),\n disablePostcssPresetEnv: z.boolean().optional(),\n cacheComponents: z.boolean().optional(),\n inlineCss: z.boolean().optional(),\n esmExternals: z.union([z.boolean(), z.literal('loose')]).optional(),\n serverActions: z\n .object({\n bodySizeLimit: zSizeLimit.optional(),\n allowedOrigins: z.array(z.string()).optional(),\n })\n .optional(),\n maxPostponedStateSize: zSizeLimit.optional(),\n // The original type was Record<string, any>\n extensionAlias: z.record(z.string(), z.any()).optional(),\n externalDir: z.boolean().optional(),\n externalMiddlewareRewritesResolve: z.boolean().optional(),\n externalProxyRewritesResolve: z.boolean().optional(),\n exposeTestingApiInProductionBuild: z.boolean().optional(),\n instantNavigationDevToolsToggle: z.boolean().optional(),\n fallbackNodePolyfills: z.literal(false).optional(),\n fetchCacheKeyPrefix: z.string().optional(),\n forceSwcTransforms: z.boolean().optional(),\n fullySpecified: z.boolean().optional(),\n gzipSize: z.boolean().optional(),\n imgOptConcurrency: z.number().int().optional().nullable(),\n imgOptTimeoutInSeconds: z.number().int().optional(),\n imgOptMaxInputPixels: z.number().int().optional(),\n imgOptSequentialRead: z.boolean().optional().nullable(),\n imgOptSkipMetadata: z.boolean().optional().nullable(),\n isrFlushToDisk: z.boolean().optional(),\n largePageDataBytes: z.number().optional(),\n linkNoTouchStart: z.boolean().optional(),\n manualClientBasePath: z.boolean().optional(),\n middlewarePrefetch: z.enum(['strict', 'flexible']).optional(),\n proxyPrefetch: z.enum(['strict', 'flexible']).optional(),\n middlewareClientMaxBodySize: zSizeLimit.optional(),\n proxyClientMaxBodySize: zSizeLimit.optional(),\n multiZoneDraftMode: z.boolean().optional(),\n cssChunking: z.union([z.boolean(), z.literal('strict')]).optional(),\n nextScriptWorkers: z.boolean().optional(),\n // The critter option is unknown, use z.any() here\n optimizeCss: z.union([z.boolean(), z.any()]).optional(),\n optimisticClientCache: z.boolean().optional(),\n parallelServerCompiles: z.boolean().optional(),\n parallelServerBuildTraces: z.boolean().optional(),\n ppr: z\n .union([z.boolean(), z.literal('incremental')])\n .readonly()\n .optional(),\n taint: z.boolean().optional(),\n prerenderEarlyExit: z.boolean().optional(),\n proxyTimeout: z.number().gte(0).optional(),\n rootParams: z.boolean().optional(),\n mcpServer: z.boolean().optional(),\n removeUncaughtErrorAndRejectionListeners: z.boolean().optional(),\n validateRSCRequestHeaders: z.boolean().optional(),\n scrollRestoration: z.boolean().optional(),\n sri: z\n .object({\n algorithm: z.enum(['sha256', 'sha384', 'sha512']).optional(),\n })\n .optional(),\n swcPlugins: z\n // The specific swc plugin's option is unknown, use z.any() here\n .array(z.tuple([z.string(), z.record(z.string(), z.any())]))\n .optional(),\n swcTraceProfiling: z.boolean().optional(),\n // NonNullable<webpack.Configuration['experiments']>['buildHttp']\n urlImports: z.any().optional(),\n viewTransition: z.boolean().optional(),\n workerThreads: z.boolean().optional(),\n webVitalsAttribution: z\n .array(\n z.union([\n z.literal('CLS'),\n z.literal('FCP'),\n z.literal('FID'),\n z.literal('INP'),\n z.literal('LCP'),\n z.literal('TTFB'),\n ])\n )\n .optional(),\n // This is partial set of mdx-rs transform options we support, aligned\n // with next_core::next_config::MdxRsOptions. Ensure both types are kept in sync.\n mdxRs: z\n .union([\n z.boolean(),\n z.object({\n development: z.boolean().optional(),\n jsxRuntime: z.string().optional(),\n jsxImportSource: z.string().optional(),\n providerImportSource: z.string().optional(),\n mdxType: z.enum(['gfm', 'commonmark']).optional(),\n }),\n ])\n .optional(),\n transitionIndicator: z.boolean().optional(),\n gestureTransition: z.boolean().optional(),\n typedRoutes: z.boolean().optional(),\n webpackBuildWorker: z.boolean().optional(),\n webpackMemoryOptimizations: z.boolean().optional(),\n turbopackMemoryLimit: z.number().optional(),\n turbopackPluginRuntimeStrategy: z\n .enum(['workerThreads', 'childProcesses'])\n .optional(),\n turbopackMinify: z.boolean().optional(),\n turbopackFileSystemCacheForDev: z.boolean().optional(),\n turbopackFileSystemCacheForBuild: z.boolean().optional(),\n turbopackSourceMaps: z.boolean().optional(),\n turbopackInputSourceMaps: z.boolean().optional(),\n turbopackTreeShaking: z.boolean().optional(),\n turbopackRemoveUnusedImports: z.boolean().optional(),\n turbopackRemoveUnusedExports: z.boolean().optional(),\n turbopackScopeHoisting: z.boolean().optional(),\n turbopackClientSideNestedAsyncChunking: z.boolean().optional(),\n turbopackServerSideNestedAsyncChunking: z.boolean().optional(),\n turbopackImportTypeBytes: z.boolean().optional(),\n turbopackImportTypeText: z.boolean().optional(),\n turbopackUseBuiltinBabel: z.boolean().optional(),\n turbopackUseBuiltinSass: z.boolean().optional(),\n turbopackModuleIds: z.enum(['named', 'deterministic']).optional(),\n turbopackInferModuleSideEffects: z.boolean().optional(),\n optimizePackageImports: z.array(z.string()).optional(),\n optimizeServerReact: z.boolean().optional(),\n strictRouteTypes: z.boolean().optional(),\n clientTraceMetadata: z.array(z.string()).optional(),\n serverMinification: z.boolean().optional(),\n serverSourceMaps: z.boolean().optional(),\n useWasmBinary: z.boolean().optional(),\n useLightningcss: z.boolean().optional(),\n lightningCssFeatures: z\n .object({\n include: z.array(z.enum(LIGHTNINGCSS_FEATURE_NAMES)).optional(),\n exclude: z.array(z.enum(LIGHTNINGCSS_FEATURE_NAMES)).optional(),\n })\n .optional(),\n testProxy: z.boolean().optional(),\n defaultTestRunner: z.enum(SUPPORTED_TEST_RUNNERS_LIST).optional(),\n allowDevelopmentBuild: z.literal(true).optional(),\n\n reactDebugChannel: z.boolean().optional(),\n staticGenerationRetryCount: z.number().int().optional(),\n staticGenerationMaxConcurrency: z.number().int().optional(),\n staticGenerationMinPagesPerWorker: z.number().int().optional(),\n typedEnv: z.boolean().optional(),\n serverComponentsHmrCache: z.boolean().optional(),\n authInterrupts: z.boolean().optional(),\n useCache: z.boolean().optional(),\n useNodeStreams: z.boolean().optional(),\n slowModuleDetection: z\n .object({\n buildTimeThresholdMs: z.number().int(),\n })\n .optional(),\n globalNotFound: z.boolean().optional(),\n browserDebugInfoInTerminal: z\n .union([\n z.boolean(),\n z.enum(['error', 'warn', 'verbose']),\n z.object({\n level: z.enum(['error', 'warn', 'verbose']).optional(),\n depthLimit: z.number().int().positive().optional(),\n edgeLimit: z.number().int().positive().optional(),\n showSourceLocation: z.boolean().optional(),\n }),\n ])\n .optional(),\n lockDistDir: z.boolean().optional(),\n hideLogsAfterAbort: z.boolean().optional(),\n runtimeServerDeploymentId: z.boolean().optional(),\n immutableAssetToken: z.string().optional(),\n deferredEntries: z.array(z.string()).optional(),\n onBeforeDeferredEntries: z.function().returns(z.promise(z.void())).optional(),\n reportSystemEnvInlining: z.enum(['warn', 'error']).optional(),\n}\n\nexport const configSchema: zod.ZodType<NextConfig> = z.lazy(() =>\n z.strictObject({\n adapterPath: z.string().optional(),\n allowedDevOrigins: z.array(z.string()).optional(),\n assetPrefix: z.string().optional(),\n basePath: z.string().optional(),\n bundlePagesRouterDependencies: z.boolean().optional(),\n cacheComponents: z.boolean().optional(),\n cacheHandler: z.string().min(1).optional(),\n cacheHandlers: z.record(z.string(), z.string().optional()).optional(),\n cacheLife: z\n .record(\n z.object({\n stale: z.number().optional(),\n revalidate: z.number().optional(),\n expire: z.number().optional(),\n })\n )\n .optional(),\n cacheMaxMemorySize: z.number().optional(),\n cleanDistDir: z.boolean().optional(),\n compiler: z\n .strictObject({\n emotion: z\n .union([\n z.boolean(),\n z.object({\n sourceMap: z.boolean().optional(),\n autoLabel: z\n .union([\n z.literal('always'),\n z.literal('dev-only'),\n z.literal('never'),\n ])\n .optional(),\n labelFormat: z.string().min(1).optional(),\n importMap: z\n .record(\n z.string(),\n z.record(\n z.string(),\n z.object({\n canonicalImport: z\n .tuple([z.string(), z.string()])\n .optional(),\n styledBaseImport: z\n .tuple([z.string(), z.string()])\n .optional(),\n })\n )\n )\n .optional(),\n }),\n ])\n .optional(),\n reactRemoveProperties: z\n .union([\n z.boolean().optional(),\n z.object({\n properties: z.array(z.string()).optional(),\n }),\n ])\n .optional(),\n relay: z\n .object({\n src: z.string(),\n artifactDirectory: z.string().optional(),\n language: z.enum(['javascript', 'typescript', 'flow']).optional(),\n eagerEsModules: z.boolean().optional(),\n })\n .optional(),\n removeConsole: z\n .union([\n z.boolean().optional(),\n z.object({\n exclude: z.array(z.string()).min(1).optional(),\n }),\n ])\n .optional(),\n styledComponents: z.union([\n z.boolean().optional(),\n z.object({\n displayName: z.boolean().optional(),\n topLevelImportPaths: z.array(z.string()).optional(),\n ssr: z.boolean().optional(),\n fileName: z.boolean().optional(),\n meaninglessFileNames: z.array(z.string()).optional(),\n minify: z.boolean().optional(),\n transpileTemplateLiterals: z.boolean().optional(),\n namespace: z.string().min(1).optional(),\n pure: z.boolean().optional(),\n cssProp: z.boolean().optional(),\n }),\n ]),\n styledJsx: z.union([\n z.boolean().optional(),\n z.object({\n useLightningcss: z.boolean().optional(),\n }),\n ]),\n define: z.record(z.string(), z.string()).optional(),\n defineServer: z.record(z.string(), z.string()).optional(),\n runAfterProductionCompile: z\n .function()\n .returns(z.promise(z.void()))\n .optional(),\n })\n .optional(),\n compress: z.boolean().optional(),\n configOrigin: z.string().optional(),\n crossOrigin: z\n .union([z.literal('anonymous'), z.literal('use-credentials')])\n .optional(),\n deploymentId: z.string().optional(),\n devIndicators: z\n .union([\n z.object({\n position: z\n .union([\n z.literal('bottom-left'),\n z.literal('bottom-right'),\n z.literal('top-left'),\n z.literal('top-right'),\n ])\n .optional(),\n }),\n z.literal(false),\n ])\n .optional(),\n distDir: z.string().min(1).optional(),\n env: z.record(z.string(), z.union([z.string(), z.undefined()])).optional(),\n enablePrerenderSourceMaps: z.boolean().optional(),\n excludeDefaultMomentLocales: z.boolean().optional(),\n experimental: z.strictObject(experimentalSchema).optional(),\n exportPathMap: z\n .function()\n .args(\n zExportMap,\n z.object({\n dev: z.boolean(),\n dir: z.string(),\n outDir: z.string().nullable(),\n distDir: z.string(),\n buildId: z.string(),\n })\n )\n .returns(z.union([zExportMap, z.promise(zExportMap)]))\n .optional(),\n generateBuildId: z\n .function()\n .args()\n .returns(\n z.union([\n z.string(),\n z.null(),\n z.promise(z.union([z.string(), z.null()])),\n ])\n )\n .optional(),\n generateEtags: z.boolean().optional(),\n headers: z\n .function()\n .args()\n .returns(z.promise(z.array(zHeader)))\n .optional(),\n htmlLimitedBots: z.instanceof(RegExp).optional(),\n httpAgentOptions: z\n .strictObject({ keepAlive: z.boolean().optional() })\n .optional(),\n i18n: z\n .strictObject({\n defaultLocale: z.string().min(1),\n domains: z\n .array(\n z.strictObject({\n defaultLocale: z.string().min(1),\n domain: z.string().min(1),\n http: z.literal(true).optional(),\n locales: z.array(z.string().min(1)).optional(),\n })\n )\n .optional(),\n localeDetection: z.literal(false).optional(),\n locales: z.array(z.string().min(1)),\n })\n .nullable()\n .optional(),\n images: z\n .strictObject({\n localPatterns: z\n .array(\n z.strictObject({\n pathname: z.string().optional(),\n search: z.string().optional(),\n })\n )\n .max(25)\n .optional(),\n remotePatterns: z\n .array(\n z.union([\n z.instanceof(URL),\n z.strictObject({\n hostname: z.string(),\n pathname: z.string().optional(),\n port: z.string().max(5).optional(),\n protocol: z.enum(['http', 'https']).optional(),\n search: z.string().optional(),\n }),\n ])\n )\n .max(50)\n .optional(),\n unoptimized: z.boolean().optional(),\n customCacheHandler: z.boolean().optional(),\n contentSecurityPolicy: z.string().optional(),\n contentDispositionType: z.enum(['inline', 'attachment']).optional(),\n dangerouslyAllowSVG: z.boolean().optional(),\n dangerouslyAllowLocalIP: z.boolean().optional(),\n deviceSizes: z\n .array(z.number().int().gte(1).lte(10000))\n .max(25)\n .optional(),\n disableStaticImages: z.boolean().optional(),\n domains: z.array(z.string()).max(50).optional(),\n formats: z\n .array(z.enum(['image/avif', 'image/webp']))\n .max(4)\n .optional(),\n imageSizes: z\n .array(z.number().int().gte(1).lte(10000))\n .min(0)\n .max(25)\n .optional(),\n loader: z.enum(VALID_LOADERS).optional(),\n loaderFile: z.string().optional(),\n maximumDiskCacheSize: z.number().int().min(0).optional(),\n maximumRedirects: z.number().int().min(0).max(20).optional(),\n maximumResponseBody: z\n .number()\n .int()\n .min(1)\n .max(Number.MAX_SAFE_INTEGER)\n .optional(),\n minimumCacheTTL: z.number().int().gte(0).optional(),\n path: z.string().optional(),\n qualities: z\n .array(z.number().int().gte(1).lte(100))\n .min(1)\n .max(20)\n .optional(),\n })\n .optional(),\n logging: z\n .union([\n z.object({\n fetches: z\n .object({\n fullUrl: z.boolean().optional(),\n hmrRefreshes: z.boolean().optional(),\n })\n .optional(),\n incomingRequests: z\n .union([\n z.boolean(),\n z.object({\n ignore: z.array(z.instanceof(RegExp)),\n }),\n ])\n .optional(),\n serverFunctions: z.boolean().optional(),\n browserToTerminal: z\n .union([z.boolean(), z.enum(['error', 'warn'])])\n .optional(),\n }),\n z.literal(false),\n ])\n .optional(),\n modularizeImports: z\n .record(\n z.string(),\n z.object({\n transform: z.union([z.string(), z.record(z.string(), z.string())]),\n preventFullImport: z.boolean().optional(),\n skipDefaultConversion: z.boolean().optional(),\n })\n )\n .optional(),\n onDemandEntries: z\n .strictObject({\n maxInactiveAge: z.number().optional(),\n pagesBufferLength: z.number().optional(),\n })\n .optional(),\n output: z.enum(['standalone', 'export']).optional(),\n outputFileTracingRoot: z.string().optional(),\n outputFileTracingExcludes: z\n .record(z.string(), z.array(z.string()))\n .optional(),\n outputFileTracingIncludes: z\n .record(z.string(), z.array(z.string()))\n .optional(),\n pageExtensions: z.array(z.string()).min(1).optional(),\n poweredByHeader: z.boolean().optional(),\n productionBrowserSourceMaps: z.boolean().optional(),\n reactCompiler: z.union([\n z.boolean(),\n z\n .object({\n compilationMode: z.enum(['infer', 'annotation', 'all']).optional(),\n panicThreshold: z\n .enum(['none', 'critical_errors', 'all_errors'])\n .optional(),\n })\n .optional(),\n ]),\n reactProductionProfiling: z.boolean().optional(),\n reactStrictMode: z.boolean().nullable().optional(),\n reactMaxHeadersLength: z.number().nonnegative().int().optional(),\n redirects: z\n .function()\n .args()\n .returns(z.promise(z.array(zRedirect)))\n .optional(),\n rewrites: z\n .function()\n .args()\n .returns(\n z.promise(\n z.union([\n z.array(zRewrite),\n z.object({\n beforeFiles: z.array(zRewrite),\n afterFiles: z.array(zRewrite),\n fallback: z.array(zRewrite),\n }),\n ])\n )\n )\n .optional(),\n // sassOptions properties are unknown besides implementation, use z.any() here\n sassOptions: z\n .object({\n implementation: z.string().optional(),\n })\n .catchall(z.any())\n .optional(),\n serverExternalPackages: z.array(z.string()).optional(),\n skipMiddlewareUrlNormalize: z.boolean().optional(),\n skipProxyUrlNormalize: z.boolean().optional(),\n skipTrailingSlashRedirect: z.boolean().optional(),\n staticPageGenerationTimeout: z.number().optional(),\n expireTime: z.number().optional(),\n target: z.string().optional(),\n trailingSlash: z.boolean().optional(),\n transpilePackages: z.array(z.string()).optional(),\n turbopack: zTurbopackConfig.optional(),\n typescript: z\n .strictObject({\n ignoreBuildErrors: z.boolean().optional(),\n tsconfigPath: z.string().min(1).optional(),\n })\n .optional(),\n typedRoutes: z.boolean().optional(),\n useFileSystemPublicRoutes: z.boolean().optional(),\n // The webpack config type is unknown, use z.any() here\n webpack: z.any().nullable().optional(),\n watchOptions: z\n .strictObject({\n pollIntervalMs: z.number().positive().finite().optional(),\n })\n .optional(),\n })\n)\n"],"names":["VALID_LOADERS","z","LIGHTNINGCSS_FEATURE_NAMES","SUPPORTED_TEST_RUNNERS_LIST","zSizeLimit","custom","val","zExportMap","record","string","object","page","query","any","_fallbackRouteParams","array","optional","_isAppDir","boolean","_isDynamicError","_isRoutePPREnabled","_allowEmptyStaticShell","zRouteHas","union","type","enum","key","value","literal","undefined","zRewrite","source","destination","basePath","locale","has","missing","internal","zRedirect","and","statusCode","never","permanent","number","zHeader","headers","zTurbopackLoaderItem","strictObject","loader","options","zTurbopackLoaderBuiltinCondition","zTurbopackCondition","all","lazy","not","path","instanceof","RegExp","content","contentType","zTurbopackModuleType","zTurbopackRuleConfigItem","loaders","as","condition","zTurbopackRuleConfigCollection","zTurbopackConfig","rules","resolveAlias","resolveExtensions","root","debugIds","ignoreIssue","title","description","experimentalSchema","useSkewCookie","after","appNavFailHandling","appNewScrollHandler","preloadEntriesOnStart","allowedRevalidateHeaderKeys","staleTimes","dynamic","static","gte","cacheLife","stale","revalidate","expire","cacheHandlers","clientRouterFilter","clientRouterFilterRedirects","clientRouterFilterAllowedRate","cpus","memoryBasedWorkersCount","craCompat","caseSensitiveRoutes","clientParamParsingOrigins","cachedNavigations","partialFallbacks","dynamicOnHover","optimisticRouting","varyParams","prefetchInlining","maxSize","maxBundleSize","disableOptimizedLoading","disablePostcssPresetEnv","cacheComponents","inlineCss","esmExternals","serverActions","bodySizeLimit","allowedOrigins","maxPostponedStateSize","extensionAlias","externalDir","externalMiddlewareRewritesResolve","externalProxyRewritesResolve","exposeTestingApiInProductionBuild","instantNavigationDevToolsToggle","fallbackNodePolyfills","fetchCacheKeyPrefix","forceSwcTransforms","fullySpecified","gzipSize","imgOptConcurrency","int","nullable","imgOptTimeoutInSeconds","imgOptMaxInputPixels","imgOptSequentialRead","imgOptSkipMetadata","isrFlushToDisk","largePageDataBytes","linkNoTouchStart","manualClientBasePath","middlewarePrefetch","proxyPrefetch","middlewareClientMaxBodySize","proxyClientMaxBodySize","multiZoneDraftMode","cssChunking","nextScriptWorkers","optimizeCss","optimisticClientCache","parallelServerCompiles","parallelServerBuildTraces","ppr","readonly","taint","prerenderEarlyExit","proxyTimeout","rootParams","mcpServer","removeUncaughtErrorAndRejectionListeners","validateRSCRequestHeaders","scrollRestoration","sri","algorithm","swcPlugins","tuple","swcTraceProfiling","urlImports","viewTransition","workerThreads","webVitalsAttribution","mdxRs","development","jsxRuntime","jsxImportSource","providerImportSource","mdxType","transitionIndicator","gestureTransition","typedRoutes","webpackBuildWorker","webpackMemoryOptimizations","turbopackMemoryLimit","turbopackPluginRuntimeStrategy","turbopackMinify","turbopackFileSystemCacheForDev","turbopackFileSystemCacheForBuild","turbopackSourceMaps","turbopackInputSourceMaps","turbopackTreeShaking","turbopackRemoveUnusedImports","turbopackRemoveUnusedExports","turbopackScopeHoisting","turbopackClientSideNestedAsyncChunking","turbopackServerSideNestedAsyncChunking","turbopackImportTypeBytes","turbopackImportTypeText","turbopackUseBuiltinBabel","turbopackUseBuiltinSass","turbopackModuleIds","turbopackInferModuleSideEffects","optimizePackageImports","optimizeServerReact","strictRouteTypes","clientTraceMetadata","serverMinification","serverSourceMaps","useWasmBinary","useLightningcss","lightningCssFeatures","include","exclude","testProxy","defaultTestRunner","allowDevelopmentBuild","reactDebugChannel","staticGenerationRetryCount","staticGenerationMaxConcurrency","staticGenerationMinPagesPerWorker","typedEnv","serverComponentsHmrCache","authInterrupts","useCache","useNodeStreams","slowModuleDetection","buildTimeThresholdMs","globalNotFound","browserDebugInfoInTerminal","level","depthLimit","positive","edgeLimit","showSourceLocation","lockDistDir","hideLogsAfterAbort","runtimeServerDeploymentId","immutableAssetToken","deferredEntries","onBeforeDeferredEntries","function","returns","promise","void","reportSystemEnvInlining","configSchema","adapterPath","allowedDevOrigins","assetPrefix","bundlePagesRouterDependencies","cacheHandler","min","cacheMaxMemorySize","cleanDistDir","compiler","emotion","sourceMap","autoLabel","labelFormat","importMap","canonicalImport","styledBaseImport","reactRemoveProperties","properties","relay","src","artifactDirectory","language","eagerEsModules","removeConsole","styledComponents","displayName","topLevelImportPaths","ssr","fileName","meaninglessFileNames","minify","transpileTemplateLiterals","namespace","pure","cssProp","styledJsx","define","defineServer","runAfterProductionCompile","compress","configOrigin","crossOrigin","deploymentId","devIndicators","position","distDir","env","enablePrerenderSourceMaps","excludeDefaultMomentLocales","experimental","exportPathMap","args","dev","dir","outDir","buildId","generateBuildId","null","generateEtags","htmlLimitedBots","httpAgentOptions","keepAlive","i18n","defaultLocale","domains","domain","http","locales","localeDetection","images","localPatterns","pathname","search","max","remotePatterns","URL","hostname","port","protocol","unoptimized","customCacheHandler","contentSecurityPolicy","contentDispositionType","dangerouslyAllowSVG","dangerouslyAllowLocalIP","deviceSizes","lte","disableStaticImages","formats","imageSizes","loaderFile","maximumDiskCacheSize","maximumRedirects","maximumResponseBody","Number","MAX_SAFE_INTEGER","minimumCacheTTL","qualities","logging","fetches","fullUrl","hmrRefreshes","incomingRequests","ignore","serverFunctions","browserToTerminal","modularizeImports","transform","preventFullImport","skipDefaultConversion","onDemandEntries","maxInactiveAge","pagesBufferLength","output","outputFileTracingRoot","outputFileTracingExcludes","outputFileTracingIncludes","pageExtensions","poweredByHeader","productionBrowserSourceMaps","reactCompiler","compilationMode","panicThreshold","reactProductionProfiling","reactStrictMode","reactMaxHeadersLength","nonnegative","redirects","rewrites","beforeFiles","afterFiles","fallback","sassOptions","implementation","catchall","serverExternalPackages","skipMiddlewareUrlNormalize","skipProxyUrlNormalize","skipTrailingSlashRedirect","staticPageGenerationTimeout","expireTime","target","trailingSlash","transpilePackages","turbopack","typescript","ignoreBuildErrors","tsconfigPath","useFileSystemPublicRoutes","webpack","watchOptions","pollIntervalMs","finite"],"mappings":"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","ignoreList":[0]} | ||
| {"version":3,"sources":["../../../src/server/config-schema.ts"],"sourcesContent":["import type { NextConfig } from './config'\nimport { VALID_LOADERS } from '../shared/lib/image-config'\n\nimport { z } from 'next/dist/compiled/zod'\nimport type zod from 'next/dist/compiled/zod'\n\nimport type { SizeLimit } from '../types'\nimport {\n LIGHTNINGCSS_FEATURE_NAMES,\n type ExportPathMap,\n type TurbopackLoaderItem,\n type TurbopackOptions,\n type TurbopackRuleConfigItem,\n type TurbopackRuleConfigCollection,\n type TurbopackRuleCondition,\n type TurbopackLoaderBuiltinCondition,\n} from './config-shared'\nimport type {\n Header,\n Rewrite,\n RouteHas,\n Redirect,\n} from '../lib/load-custom-routes'\nimport { SUPPORTED_TEST_RUNNERS_LIST } from '../cli/next-test'\n\n// A custom zod schema for the SizeLimit type\nconst zSizeLimit = z.custom<SizeLimit>((val) => {\n if (typeof val === 'number' || typeof val === 'string') {\n return true\n }\n return false\n})\n\nconst zExportMap: zod.ZodType<ExportPathMap> = z.record(\n z.string(),\n z.object({\n page: z.string(),\n query: z.any(), // NextParsedUrlQuery\n\n // private optional properties\n _fallbackRouteParams: z.array(z.any()).optional(),\n _isAppDir: z.boolean().optional(),\n _isDynamicError: z.boolean().optional(),\n _isRoutePPREnabled: z.boolean().optional(),\n _allowEmptyStaticShell: z.boolean().optional(),\n })\n)\n\nconst zRouteHas: zod.ZodType<RouteHas> = z.union([\n z.object({\n type: z.enum(['header', 'query', 'cookie']),\n key: z.string(),\n value: z.string().optional(),\n }),\n z.object({\n type: z.literal('host'),\n key: z.undefined().optional(),\n value: z.string(),\n }),\n])\n\nconst zRewrite: zod.ZodType<Rewrite> = z.object({\n source: z.string(),\n destination: z.string(),\n basePath: z.literal(false).optional(),\n locale: z.literal(false).optional(),\n has: z.array(zRouteHas).optional(),\n missing: z.array(zRouteHas).optional(),\n internal: z.boolean().optional(),\n})\n\nconst zRedirect: zod.ZodType<Redirect> = z\n .object({\n source: z.string(),\n destination: z.string(),\n basePath: z.literal(false).optional(),\n locale: z.literal(false).optional(),\n has: z.array(zRouteHas).optional(),\n missing: z.array(zRouteHas).optional(),\n internal: z.boolean().optional(),\n })\n .and(\n z.union([\n z.object({\n statusCode: z.never().optional(),\n permanent: z.boolean(),\n }),\n z.object({\n statusCode: z.number(),\n permanent: z.never().optional(),\n }),\n ])\n )\n\nconst zHeader: zod.ZodType<Header> = z.object({\n source: z.string(),\n basePath: z.literal(false).optional(),\n locale: z.literal(false).optional(),\n headers: z.array(z.object({ key: z.string(), value: z.string() })),\n has: z.array(zRouteHas).optional(),\n missing: z.array(zRouteHas).optional(),\n\n internal: z.boolean().optional(),\n})\n\nconst zTurbopackLoaderItem: zod.ZodType<TurbopackLoaderItem> = z.union([\n z.string(),\n z.strictObject({\n loader: z.string(),\n // Any JSON value can be used as turbo loader options, so use z.any() here\n options: z.record(z.string(), z.any()).optional(),\n }),\n])\n\nconst zTurbopackLoaderBuiltinCondition: zod.ZodType<TurbopackLoaderBuiltinCondition> =\n z.union([\n z.literal('browser'),\n z.literal('foreign'),\n z.literal('development'),\n z.literal('production'),\n z.literal('node'),\n z.literal('edge-light'),\n ])\n\nconst zTurbopackCondition: zod.ZodType<TurbopackRuleCondition> = z.union([\n z.strictObject({ all: z.lazy(() => z.array(zTurbopackCondition)) }),\n z.strictObject({ any: z.lazy(() => z.array(zTurbopackCondition)) }),\n z.strictObject({ not: z.lazy(() => zTurbopackCondition) }),\n zTurbopackLoaderBuiltinCondition,\n z.strictObject({\n path: z.union([z.string(), z.instanceof(RegExp)]).optional(),\n content: z.instanceof(RegExp).optional(),\n query: z.union([z.string(), z.instanceof(RegExp)]).optional(),\n contentType: z.union([z.string(), z.instanceof(RegExp)]).optional(),\n }),\n])\n\nconst zTurbopackModuleType = z.enum([\n 'asset',\n 'ecmascript',\n 'typescript',\n 'css',\n 'css-module',\n 'wasm',\n 'raw',\n 'node',\n 'bytes',\n])\n\nconst zTurbopackRuleConfigItem: zod.ZodType<TurbopackRuleConfigItem> =\n z.strictObject({\n loaders: z.array(zTurbopackLoaderItem).optional(),\n as: z.string().optional(),\n condition: zTurbopackCondition.optional(),\n type: zTurbopackModuleType.optional(),\n })\n\nconst zTurbopackRuleConfigCollection: zod.ZodType<TurbopackRuleConfigCollection> =\n z.union([\n zTurbopackRuleConfigItem,\n z.array(z.union([zTurbopackLoaderItem, zTurbopackRuleConfigItem])),\n ])\n\nconst zTurbopackConfig: zod.ZodType<TurbopackOptions> = z.strictObject({\n rules: z.record(z.string(), zTurbopackRuleConfigCollection).optional(),\n resolveAlias: z\n .record(\n z.string(),\n z.union([\n z.string(),\n z.array(z.string()),\n z.record(z.string(), z.union([z.string(), z.array(z.string())])),\n ])\n )\n .optional(),\n resolveExtensions: z.array(z.string()).optional(),\n root: z.string().optional(),\n debugIds: z.boolean().optional(),\n ignoreIssue: z\n .array(\n z.object({\n path: z.union([z.string(), z.instanceof(RegExp)]),\n title: z.union([z.string(), z.instanceof(RegExp)]).optional(),\n description: z.union([z.string(), z.instanceof(RegExp)]).optional(),\n })\n )\n .optional(),\n})\n\nexport const experimentalSchema = {\n useSkewCookie: z.boolean().optional(),\n after: z.boolean().optional(),\n appNavFailHandling: z.boolean().optional(),\n appNewScrollHandler: z.boolean().optional(),\n preloadEntriesOnStart: z.boolean().optional(),\n allowedRevalidateHeaderKeys: z.array(z.string()).optional(),\n staleTimes: z\n .object({\n dynamic: z.number().optional(),\n static: z.number().gte(30).optional(),\n })\n .optional(),\n cacheLife: z\n .record(\n z.object({\n stale: z.number().optional(),\n revalidate: z.number().optional(),\n expire: z.number().optional(),\n })\n )\n .optional(),\n cacheHandlers: z.record(z.string(), z.string().optional()).optional(),\n clientRouterFilter: z.boolean().optional(),\n clientRouterFilterRedirects: z.boolean().optional(),\n clientRouterFilterAllowedRate: z.number().optional(),\n cpus: z.number().optional(),\n memoryBasedWorkersCount: z.boolean().optional(),\n craCompat: z.boolean().optional(),\n caseSensitiveRoutes: z.boolean().optional(),\n clientParamParsingOrigins: z.array(z.string()).optional(),\n cachedNavigations: z.boolean().optional(),\n partialFallbacks: z.boolean().optional(),\n dynamicOnHover: z.boolean().optional(),\n useOffline: z.boolean().optional(),\n optimisticRouting: z.boolean().optional(),\n varyParams: z.boolean().optional(),\n prefetchInlining: z\n .union([\n z.boolean(),\n z.object({\n maxSize: z.number().optional(),\n maxBundleSize: z.number().optional(),\n }),\n ])\n .optional(),\n disableOptimizedLoading: z.boolean().optional(),\n disablePostcssPresetEnv: z.boolean().optional(),\n cacheComponents: z.boolean().optional(),\n inlineCss: z.boolean().optional(),\n esmExternals: z.union([z.boolean(), z.literal('loose')]).optional(),\n serverActions: z\n .object({\n bodySizeLimit: zSizeLimit.optional(),\n allowedOrigins: z.array(z.string()).optional(),\n })\n .optional(),\n maxPostponedStateSize: zSizeLimit.optional(),\n // The original type was Record<string, any>\n extensionAlias: z.record(z.string(), z.any()).optional(),\n externalDir: z.boolean().optional(),\n externalMiddlewareRewritesResolve: z.boolean().optional(),\n externalProxyRewritesResolve: z.boolean().optional(),\n exposeTestingApiInProductionBuild: z.boolean().optional(),\n instantNavigationDevToolsToggle: z.boolean().optional(),\n fallbackNodePolyfills: z.literal(false).optional(),\n fetchCacheKeyPrefix: z.string().optional(),\n forceSwcTransforms: z.boolean().optional(),\n fullySpecified: z.boolean().optional(),\n gzipSize: z.boolean().optional(),\n imgOptConcurrency: z.number().int().optional().nullable(),\n imgOptTimeoutInSeconds: z.number().int().optional(),\n imgOptMaxInputPixels: z.number().int().optional(),\n imgOptSequentialRead: z.boolean().optional().nullable(),\n imgOptSkipMetadata: z.boolean().optional().nullable(),\n isrFlushToDisk: z.boolean().optional(),\n largePageDataBytes: z.number().optional(),\n linkNoTouchStart: z.boolean().optional(),\n manualClientBasePath: z.boolean().optional(),\n middlewarePrefetch: z.enum(['strict', 'flexible']).optional(),\n proxyPrefetch: z.enum(['strict', 'flexible']).optional(),\n middlewareClientMaxBodySize: zSizeLimit.optional(),\n proxyClientMaxBodySize: zSizeLimit.optional(),\n multiZoneDraftMode: z.boolean().optional(),\n cssChunking: z.union([z.boolean(), z.literal('strict')]).optional(),\n nextScriptWorkers: z.boolean().optional(),\n // The critter option is unknown, use z.any() here\n optimizeCss: z.union([z.boolean(), z.any()]).optional(),\n optimisticClientCache: z.boolean().optional(),\n parallelServerCompiles: z.boolean().optional(),\n parallelServerBuildTraces: z.boolean().optional(),\n ppr: z\n .union([z.boolean(), z.literal('incremental')])\n .readonly()\n .optional(),\n taint: z.boolean().optional(),\n prerenderEarlyExit: z.boolean().optional(),\n proxyTimeout: z.number().gte(0).optional(),\n rootParams: z.boolean().optional(),\n mcpServer: z.boolean().optional(),\n removeUncaughtErrorAndRejectionListeners: z.boolean().optional(),\n validateRSCRequestHeaders: z.boolean().optional(),\n scrollRestoration: z.boolean().optional(),\n sri: z\n .object({\n algorithm: z.enum(['sha256', 'sha384', 'sha512']).optional(),\n })\n .optional(),\n swcPlugins: z\n // The specific swc plugin's option is unknown, use z.any() here\n .array(z.tuple([z.string(), z.record(z.string(), z.any())]))\n .optional(),\n swcTraceProfiling: z.boolean().optional(),\n // NonNullable<webpack.Configuration['experiments']>['buildHttp']\n urlImports: z.any().optional(),\n viewTransition: z.boolean().optional(),\n workerThreads: z.boolean().optional(),\n webVitalsAttribution: z\n .array(\n z.union([\n z.literal('CLS'),\n z.literal('FCP'),\n z.literal('FID'),\n z.literal('INP'),\n z.literal('LCP'),\n z.literal('TTFB'),\n ])\n )\n .optional(),\n // This is partial set of mdx-rs transform options we support, aligned\n // with next_core::next_config::MdxRsOptions. Ensure both types are kept in sync.\n mdxRs: z\n .union([\n z.boolean(),\n z.object({\n development: z.boolean().optional(),\n jsxRuntime: z.string().optional(),\n jsxImportSource: z.string().optional(),\n providerImportSource: z.string().optional(),\n mdxType: z.enum(['gfm', 'commonmark']).optional(),\n }),\n ])\n .optional(),\n transitionIndicator: z.boolean().optional(),\n gestureTransition: z.boolean().optional(),\n typedRoutes: z.boolean().optional(),\n webpackBuildWorker: z.boolean().optional(),\n webpackMemoryOptimizations: z.boolean().optional(),\n turbopackMemoryLimit: z.number().optional(),\n turbopackPluginRuntimeStrategy: z\n .enum(['workerThreads', 'childProcesses'])\n .optional(),\n turbopackMinify: z.boolean().optional(),\n turbopackFileSystemCacheForDev: z.boolean().optional(),\n turbopackFileSystemCacheForBuild: z.boolean().optional(),\n turbopackSourceMaps: z.boolean().optional(),\n turbopackInputSourceMaps: z.boolean().optional(),\n turbopackTreeShaking: z.boolean().optional(),\n turbopackRemoveUnusedImports: z.boolean().optional(),\n turbopackRemoveUnusedExports: z.boolean().optional(),\n turbopackScopeHoisting: z.boolean().optional(),\n turbopackClientSideNestedAsyncChunking: z.boolean().optional(),\n turbopackServerSideNestedAsyncChunking: z.boolean().optional(),\n turbopackImportTypeBytes: z.boolean().optional(),\n turbopackImportTypeText: z.boolean().optional(),\n turbopackUseBuiltinBabel: z.boolean().optional(),\n turbopackUseBuiltinSass: z.boolean().optional(),\n turbopackModuleIds: z.enum(['named', 'deterministic']).optional(),\n turbopackInferModuleSideEffects: z.boolean().optional(),\n optimizePackageImports: z.array(z.string()).optional(),\n optimizeServerReact: z.boolean().optional(),\n strictRouteTypes: z.boolean().optional(),\n clientTraceMetadata: z.array(z.string()).optional(),\n serverMinification: z.boolean().optional(),\n serverSourceMaps: z.boolean().optional(),\n useWasmBinary: z.boolean().optional(),\n useLightningcss: z.boolean().optional(),\n lightningCssFeatures: z\n .object({\n include: z.array(z.enum(LIGHTNINGCSS_FEATURE_NAMES)).optional(),\n exclude: z.array(z.enum(LIGHTNINGCSS_FEATURE_NAMES)).optional(),\n })\n .optional(),\n testProxy: z.boolean().optional(),\n defaultTestRunner: z.enum(SUPPORTED_TEST_RUNNERS_LIST).optional(),\n allowDevelopmentBuild: z.literal(true).optional(),\n\n reactDebugChannel: z.boolean().optional(),\n staticGenerationRetryCount: z.number().int().optional(),\n staticGenerationMaxConcurrency: z.number().int().optional(),\n staticGenerationMinPagesPerWorker: z.number().int().optional(),\n typedEnv: z.boolean().optional(),\n serverComponentsHmrCache: z.boolean().optional(),\n authInterrupts: z.boolean().optional(),\n useCache: z.boolean().optional(),\n useNodeStreams: z.boolean().optional(),\n slowModuleDetection: z\n .object({\n buildTimeThresholdMs: z.number().int(),\n })\n .optional(),\n globalNotFound: z.boolean().optional(),\n browserDebugInfoInTerminal: z\n .union([\n z.boolean(),\n z.enum(['error', 'warn', 'verbose']),\n z.object({\n level: z.enum(['error', 'warn', 'verbose']).optional(),\n depthLimit: z.number().int().positive().optional(),\n edgeLimit: z.number().int().positive().optional(),\n showSourceLocation: z.boolean().optional(),\n }),\n ])\n .optional(),\n lockDistDir: z.boolean().optional(),\n hideLogsAfterAbort: z.boolean().optional(),\n runtimeServerDeploymentId: z.boolean().optional(),\n immutableAssetToken: z.string().optional(),\n deferredEntries: z.array(z.string()).optional(),\n onBeforeDeferredEntries: z.function().returns(z.promise(z.void())).optional(),\n reportSystemEnvInlining: z.enum(['warn', 'error']).optional(),\n}\n\nexport const configSchema: zod.ZodType<NextConfig> = z.lazy(() =>\n z.strictObject({\n adapterPath: z.string().optional(),\n allowedDevOrigins: z.array(z.string()).optional(),\n assetPrefix: z.string().optional(),\n basePath: z.string().optional(),\n bundlePagesRouterDependencies: z.boolean().optional(),\n cacheComponents: z.boolean().optional(),\n cacheHandler: z.string().min(1).optional(),\n cacheHandlers: z.record(z.string(), z.string().optional()).optional(),\n cacheLife: z\n .record(\n z.object({\n stale: z.number().optional(),\n revalidate: z.number().optional(),\n expire: z.number().optional(),\n })\n )\n .optional(),\n cacheMaxMemorySize: z.number().optional(),\n cleanDistDir: z.boolean().optional(),\n compiler: z\n .strictObject({\n emotion: z\n .union([\n z.boolean(),\n z.object({\n sourceMap: z.boolean().optional(),\n autoLabel: z\n .union([\n z.literal('always'),\n z.literal('dev-only'),\n z.literal('never'),\n ])\n .optional(),\n labelFormat: z.string().min(1).optional(),\n importMap: z\n .record(\n z.string(),\n z.record(\n z.string(),\n z.object({\n canonicalImport: z\n .tuple([z.string(), z.string()])\n .optional(),\n styledBaseImport: z\n .tuple([z.string(), z.string()])\n .optional(),\n })\n )\n )\n .optional(),\n }),\n ])\n .optional(),\n reactRemoveProperties: z\n .union([\n z.boolean().optional(),\n z.object({\n properties: z.array(z.string()).optional(),\n }),\n ])\n .optional(),\n relay: z\n .object({\n src: z.string(),\n artifactDirectory: z.string().optional(),\n language: z.enum(['javascript', 'typescript', 'flow']).optional(),\n eagerEsModules: z.boolean().optional(),\n })\n .optional(),\n removeConsole: z\n .union([\n z.boolean().optional(),\n z.object({\n exclude: z.array(z.string()).min(1).optional(),\n }),\n ])\n .optional(),\n styledComponents: z.union([\n z.boolean().optional(),\n z.object({\n displayName: z.boolean().optional(),\n topLevelImportPaths: z.array(z.string()).optional(),\n ssr: z.boolean().optional(),\n fileName: z.boolean().optional(),\n meaninglessFileNames: z.array(z.string()).optional(),\n minify: z.boolean().optional(),\n transpileTemplateLiterals: z.boolean().optional(),\n namespace: z.string().min(1).optional(),\n pure: z.boolean().optional(),\n cssProp: z.boolean().optional(),\n }),\n ]),\n styledJsx: z.union([\n z.boolean().optional(),\n z.object({\n useLightningcss: z.boolean().optional(),\n }),\n ]),\n define: z.record(z.string(), z.string()).optional(),\n defineServer: z.record(z.string(), z.string()).optional(),\n runAfterProductionCompile: z\n .function()\n .returns(z.promise(z.void()))\n .optional(),\n })\n .optional(),\n compress: z.boolean().optional(),\n configOrigin: z.string().optional(),\n crossOrigin: z\n .union([z.literal('anonymous'), z.literal('use-credentials')])\n .optional(),\n deploymentId: z.string().optional(),\n devIndicators: z\n .union([\n z.object({\n position: z\n .union([\n z.literal('bottom-left'),\n z.literal('bottom-right'),\n z.literal('top-left'),\n z.literal('top-right'),\n ])\n .optional(),\n }),\n z.literal(false),\n ])\n .optional(),\n distDir: z.string().min(1).optional(),\n env: z.record(z.string(), z.union([z.string(), z.undefined()])).optional(),\n enablePrerenderSourceMaps: z.boolean().optional(),\n excludeDefaultMomentLocales: z.boolean().optional(),\n experimental: z.strictObject(experimentalSchema).optional(),\n exportPathMap: z\n .function()\n .args(\n zExportMap,\n z.object({\n dev: z.boolean(),\n dir: z.string(),\n outDir: z.string().nullable(),\n distDir: z.string(),\n buildId: z.string(),\n })\n )\n .returns(z.union([zExportMap, z.promise(zExportMap)]))\n .optional(),\n generateBuildId: z\n .function()\n .args()\n .returns(\n z.union([\n z.string(),\n z.null(),\n z.promise(z.union([z.string(), z.null()])),\n ])\n )\n .optional(),\n generateEtags: z.boolean().optional(),\n headers: z\n .function()\n .args()\n .returns(z.promise(z.array(zHeader)))\n .optional(),\n htmlLimitedBots: z.instanceof(RegExp).optional(),\n httpAgentOptions: z\n .strictObject({ keepAlive: z.boolean().optional() })\n .optional(),\n i18n: z\n .strictObject({\n defaultLocale: z.string().min(1),\n domains: z\n .array(\n z.strictObject({\n defaultLocale: z.string().min(1),\n domain: z.string().min(1),\n http: z.literal(true).optional(),\n locales: z.array(z.string().min(1)).optional(),\n })\n )\n .optional(),\n localeDetection: z.literal(false).optional(),\n locales: z.array(z.string().min(1)),\n })\n .nullable()\n .optional(),\n images: z\n .strictObject({\n localPatterns: z\n .array(\n z.strictObject({\n pathname: z.string().optional(),\n search: z.string().optional(),\n })\n )\n .max(25)\n .optional(),\n remotePatterns: z\n .array(\n z.union([\n z.instanceof(URL),\n z.strictObject({\n hostname: z.string(),\n pathname: z.string().optional(),\n port: z.string().max(5).optional(),\n protocol: z.enum(['http', 'https']).optional(),\n search: z.string().optional(),\n }),\n ])\n )\n .max(50)\n .optional(),\n unoptimized: z.boolean().optional(),\n customCacheHandler: z.boolean().optional(),\n contentSecurityPolicy: z.string().optional(),\n contentDispositionType: z.enum(['inline', 'attachment']).optional(),\n dangerouslyAllowSVG: z.boolean().optional(),\n dangerouslyAllowLocalIP: z.boolean().optional(),\n deviceSizes: z\n .array(z.number().int().gte(1).lte(10000))\n .max(25)\n .optional(),\n disableStaticImages: z.boolean().optional(),\n domains: z.array(z.string()).max(50).optional(),\n formats: z\n .array(z.enum(['image/avif', 'image/webp']))\n .max(4)\n .optional(),\n imageSizes: z\n .array(z.number().int().gte(1).lte(10000))\n .min(0)\n .max(25)\n .optional(),\n loader: z.enum(VALID_LOADERS).optional(),\n loaderFile: z.string().optional(),\n maximumDiskCacheSize: z.number().int().min(0).optional(),\n maximumRedirects: z.number().int().min(0).max(20).optional(),\n maximumResponseBody: z\n .number()\n .int()\n .min(1)\n .max(Number.MAX_SAFE_INTEGER)\n .optional(),\n minimumCacheTTL: z.number().int().gte(0).optional(),\n path: z.string().optional(),\n qualities: z\n .array(z.number().int().gte(1).lte(100))\n .min(1)\n .max(20)\n .optional(),\n })\n .optional(),\n logging: z\n .union([\n z.object({\n fetches: z\n .object({\n fullUrl: z.boolean().optional(),\n hmrRefreshes: z.boolean().optional(),\n })\n .optional(),\n incomingRequests: z\n .union([\n z.boolean(),\n z.object({\n ignore: z.array(z.instanceof(RegExp)),\n }),\n ])\n .optional(),\n serverFunctions: z.boolean().optional(),\n browserToTerminal: z\n .union([z.boolean(), z.enum(['error', 'warn'])])\n .optional(),\n }),\n z.literal(false),\n ])\n .optional(),\n modularizeImports: z\n .record(\n z.string(),\n z.object({\n transform: z.union([z.string(), z.record(z.string(), z.string())]),\n preventFullImport: z.boolean().optional(),\n skipDefaultConversion: z.boolean().optional(),\n })\n )\n .optional(),\n onDemandEntries: z\n .strictObject({\n maxInactiveAge: z.number().optional(),\n pagesBufferLength: z.number().optional(),\n })\n .optional(),\n output: z.enum(['standalone', 'export']).optional(),\n outputFileTracingRoot: z.string().optional(),\n outputFileTracingExcludes: z\n .record(z.string(), z.array(z.string()))\n .optional(),\n outputFileTracingIncludes: z\n .record(z.string(), z.array(z.string()))\n .optional(),\n pageExtensions: z.array(z.string()).min(1).optional(),\n poweredByHeader: z.boolean().optional(),\n productionBrowserSourceMaps: z.boolean().optional(),\n reactCompiler: z.union([\n z.boolean(),\n z\n .object({\n compilationMode: z.enum(['infer', 'annotation', 'all']).optional(),\n panicThreshold: z\n .enum(['none', 'critical_errors', 'all_errors'])\n .optional(),\n })\n .optional(),\n ]),\n reactProductionProfiling: z.boolean().optional(),\n reactStrictMode: z.boolean().nullable().optional(),\n reactMaxHeadersLength: z.number().nonnegative().int().optional(),\n redirects: z\n .function()\n .args()\n .returns(z.promise(z.array(zRedirect)))\n .optional(),\n rewrites: z\n .function()\n .args()\n .returns(\n z.promise(\n z.union([\n z.array(zRewrite),\n z.object({\n beforeFiles: z.array(zRewrite),\n afterFiles: z.array(zRewrite),\n fallback: z.array(zRewrite),\n }),\n ])\n )\n )\n .optional(),\n // sassOptions properties are unknown besides implementation, use z.any() here\n sassOptions: z\n .object({\n implementation: z.string().optional(),\n })\n .catchall(z.any())\n .optional(),\n serverExternalPackages: z.array(z.string()).optional(),\n skipMiddlewareUrlNormalize: z.boolean().optional(),\n skipProxyUrlNormalize: z.boolean().optional(),\n skipTrailingSlashRedirect: z.boolean().optional(),\n staticPageGenerationTimeout: z.number().optional(),\n expireTime: z.number().optional(),\n target: z.string().optional(),\n trailingSlash: z.boolean().optional(),\n transpilePackages: z.array(z.string()).optional(),\n turbopack: zTurbopackConfig.optional(),\n typescript: z\n .strictObject({\n ignoreBuildErrors: z.boolean().optional(),\n tsconfigPath: z.string().min(1).optional(),\n })\n .optional(),\n typedRoutes: z.boolean().optional(),\n useFileSystemPublicRoutes: z.boolean().optional(),\n // The webpack config type is unknown, use z.any() here\n webpack: z.any().nullable().optional(),\n watchOptions: z\n .strictObject({\n pollIntervalMs: z.number().positive().finite().optional(),\n })\n .optional(),\n })\n)\n"],"names":["VALID_LOADERS","z","LIGHTNINGCSS_FEATURE_NAMES","SUPPORTED_TEST_RUNNERS_LIST","zSizeLimit","custom","val","zExportMap","record","string","object","page","query","any","_fallbackRouteParams","array","optional","_isAppDir","boolean","_isDynamicError","_isRoutePPREnabled","_allowEmptyStaticShell","zRouteHas","union","type","enum","key","value","literal","undefined","zRewrite","source","destination","basePath","locale","has","missing","internal","zRedirect","and","statusCode","never","permanent","number","zHeader","headers","zTurbopackLoaderItem","strictObject","loader","options","zTurbopackLoaderBuiltinCondition","zTurbopackCondition","all","lazy","not","path","instanceof","RegExp","content","contentType","zTurbopackModuleType","zTurbopackRuleConfigItem","loaders","as","condition","zTurbopackRuleConfigCollection","zTurbopackConfig","rules","resolveAlias","resolveExtensions","root","debugIds","ignoreIssue","title","description","experimentalSchema","useSkewCookie","after","appNavFailHandling","appNewScrollHandler","preloadEntriesOnStart","allowedRevalidateHeaderKeys","staleTimes","dynamic","static","gte","cacheLife","stale","revalidate","expire","cacheHandlers","clientRouterFilter","clientRouterFilterRedirects","clientRouterFilterAllowedRate","cpus","memoryBasedWorkersCount","craCompat","caseSensitiveRoutes","clientParamParsingOrigins","cachedNavigations","partialFallbacks","dynamicOnHover","useOffline","optimisticRouting","varyParams","prefetchInlining","maxSize","maxBundleSize","disableOptimizedLoading","disablePostcssPresetEnv","cacheComponents","inlineCss","esmExternals","serverActions","bodySizeLimit","allowedOrigins","maxPostponedStateSize","extensionAlias","externalDir","externalMiddlewareRewritesResolve","externalProxyRewritesResolve","exposeTestingApiInProductionBuild","instantNavigationDevToolsToggle","fallbackNodePolyfills","fetchCacheKeyPrefix","forceSwcTransforms","fullySpecified","gzipSize","imgOptConcurrency","int","nullable","imgOptTimeoutInSeconds","imgOptMaxInputPixels","imgOptSequentialRead","imgOptSkipMetadata","isrFlushToDisk","largePageDataBytes","linkNoTouchStart","manualClientBasePath","middlewarePrefetch","proxyPrefetch","middlewareClientMaxBodySize","proxyClientMaxBodySize","multiZoneDraftMode","cssChunking","nextScriptWorkers","optimizeCss","optimisticClientCache","parallelServerCompiles","parallelServerBuildTraces","ppr","readonly","taint","prerenderEarlyExit","proxyTimeout","rootParams","mcpServer","removeUncaughtErrorAndRejectionListeners","validateRSCRequestHeaders","scrollRestoration","sri","algorithm","swcPlugins","tuple","swcTraceProfiling","urlImports","viewTransition","workerThreads","webVitalsAttribution","mdxRs","development","jsxRuntime","jsxImportSource","providerImportSource","mdxType","transitionIndicator","gestureTransition","typedRoutes","webpackBuildWorker","webpackMemoryOptimizations","turbopackMemoryLimit","turbopackPluginRuntimeStrategy","turbopackMinify","turbopackFileSystemCacheForDev","turbopackFileSystemCacheForBuild","turbopackSourceMaps","turbopackInputSourceMaps","turbopackTreeShaking","turbopackRemoveUnusedImports","turbopackRemoveUnusedExports","turbopackScopeHoisting","turbopackClientSideNestedAsyncChunking","turbopackServerSideNestedAsyncChunking","turbopackImportTypeBytes","turbopackImportTypeText","turbopackUseBuiltinBabel","turbopackUseBuiltinSass","turbopackModuleIds","turbopackInferModuleSideEffects","optimizePackageImports","optimizeServerReact","strictRouteTypes","clientTraceMetadata","serverMinification","serverSourceMaps","useWasmBinary","useLightningcss","lightningCssFeatures","include","exclude","testProxy","defaultTestRunner","allowDevelopmentBuild","reactDebugChannel","staticGenerationRetryCount","staticGenerationMaxConcurrency","staticGenerationMinPagesPerWorker","typedEnv","serverComponentsHmrCache","authInterrupts","useCache","useNodeStreams","slowModuleDetection","buildTimeThresholdMs","globalNotFound","browserDebugInfoInTerminal","level","depthLimit","positive","edgeLimit","showSourceLocation","lockDistDir","hideLogsAfterAbort","runtimeServerDeploymentId","immutableAssetToken","deferredEntries","onBeforeDeferredEntries","function","returns","promise","void","reportSystemEnvInlining","configSchema","adapterPath","allowedDevOrigins","assetPrefix","bundlePagesRouterDependencies","cacheHandler","min","cacheMaxMemorySize","cleanDistDir","compiler","emotion","sourceMap","autoLabel","labelFormat","importMap","canonicalImport","styledBaseImport","reactRemoveProperties","properties","relay","src","artifactDirectory","language","eagerEsModules","removeConsole","styledComponents","displayName","topLevelImportPaths","ssr","fileName","meaninglessFileNames","minify","transpileTemplateLiterals","namespace","pure","cssProp","styledJsx","define","defineServer","runAfterProductionCompile","compress","configOrigin","crossOrigin","deploymentId","devIndicators","position","distDir","env","enablePrerenderSourceMaps","excludeDefaultMomentLocales","experimental","exportPathMap","args","dev","dir","outDir","buildId","generateBuildId","null","generateEtags","htmlLimitedBots","httpAgentOptions","keepAlive","i18n","defaultLocale","domains","domain","http","locales","localeDetection","images","localPatterns","pathname","search","max","remotePatterns","URL","hostname","port","protocol","unoptimized","customCacheHandler","contentSecurityPolicy","contentDispositionType","dangerouslyAllowSVG","dangerouslyAllowLocalIP","deviceSizes","lte","disableStaticImages","formats","imageSizes","loaderFile","maximumDiskCacheSize","maximumRedirects","maximumResponseBody","Number","MAX_SAFE_INTEGER","minimumCacheTTL","qualities","logging","fetches","fullUrl","hmrRefreshes","incomingRequests","ignore","serverFunctions","browserToTerminal","modularizeImports","transform","preventFullImport","skipDefaultConversion","onDemandEntries","maxInactiveAge","pagesBufferLength","output","outputFileTracingRoot","outputFileTracingExcludes","outputFileTracingIncludes","pageExtensions","poweredByHeader","productionBrowserSourceMaps","reactCompiler","compilationMode","panicThreshold","reactProductionProfiling","reactStrictMode","reactMaxHeadersLength","nonnegative","redirects","rewrites","beforeFiles","afterFiles","fallback","sassOptions","implementation","catchall","serverExternalPackages","skipMiddlewareUrlNormalize","skipProxyUrlNormalize","skipTrailingSlashRedirect","staticPageGenerationTimeout","expireTime","target","trailingSlash","transpilePackages","turbopack","typescript","ignoreBuildErrors","tsconfigPath","useFileSystemPublicRoutes","webpack","watchOptions","pollIntervalMs","finite"],"mappings":"AACA,SAASA,aAAa,QAAQ,6BAA4B;AAE1D,SAASC,CAAC,QAAQ,yBAAwB;AAI1C,SACEC,0BAA0B,QAQrB,kBAAiB;AAOxB,SAASC,2BAA2B,QAAQ,mBAAkB;AAE9D,6CAA6C;AAC7C,MAAMC,aAAaH,EAAEI,MAAM,CAAY,CAACC;IACtC,IAAI,OAAOA,QAAQ,YAAY,OAAOA,QAAQ,UAAU;QACtD,OAAO;IACT;IACA,OAAO;AACT;AAEA,MAAMC,aAAyCN,EAAEO,MAAM,CACrDP,EAAEQ,MAAM,IACRR,EAAES,MAAM,CAAC;IACPC,MAAMV,EAAEQ,MAAM;IACdG,OAAOX,EAAEY,GAAG;IAEZ,8BAA8B;IAC9BC,sBAAsBb,EAAEc,KAAK,CAACd,EAAEY,GAAG,IAAIG,QAAQ;IAC/CC,WAAWhB,EAAEiB,OAAO,GAAGF,QAAQ;IAC/BG,iBAAiBlB,EAAEiB,OAAO,GAAGF,QAAQ;IACrCI,oBAAoBnB,EAAEiB,OAAO,GAAGF,QAAQ;IACxCK,wBAAwBpB,EAAEiB,OAAO,GAAGF,QAAQ;AAC9C;AAGF,MAAMM,YAAmCrB,EAAEsB,KAAK,CAAC;IAC/CtB,EAAES,MAAM,CAAC;QACPc,MAAMvB,EAAEwB,IAAI,CAAC;YAAC;YAAU;YAAS;SAAS;QAC1CC,KAAKzB,EAAEQ,MAAM;QACbkB,OAAO1B,EAAEQ,MAAM,GAAGO,QAAQ;IAC5B;IACAf,EAAES,MAAM,CAAC;QACPc,MAAMvB,EAAE2B,OAAO,CAAC;QAChBF,KAAKzB,EAAE4B,SAAS,GAAGb,QAAQ;QAC3BW,OAAO1B,EAAEQ,MAAM;IACjB;CACD;AAED,MAAMqB,WAAiC7B,EAAES,MAAM,CAAC;IAC9CqB,QAAQ9B,EAAEQ,MAAM;IAChBuB,aAAa/B,EAAEQ,MAAM;IACrBwB,UAAUhC,EAAE2B,OAAO,CAAC,OAAOZ,QAAQ;IACnCkB,QAAQjC,EAAE2B,OAAO,CAAC,OAAOZ,QAAQ;IACjCmB,KAAKlC,EAAEc,KAAK,CAACO,WAAWN,QAAQ;IAChCoB,SAASnC,EAAEc,KAAK,CAACO,WAAWN,QAAQ;IACpCqB,UAAUpC,EAAEiB,OAAO,GAAGF,QAAQ;AAChC;AAEA,MAAMsB,YAAmCrC,EACtCS,MAAM,CAAC;IACNqB,QAAQ9B,EAAEQ,MAAM;IAChBuB,aAAa/B,EAAEQ,MAAM;IACrBwB,UAAUhC,EAAE2B,OAAO,CAAC,OAAOZ,QAAQ;IACnCkB,QAAQjC,EAAE2B,OAAO,CAAC,OAAOZ,QAAQ;IACjCmB,KAAKlC,EAAEc,KAAK,CAACO,WAAWN,QAAQ;IAChCoB,SAASnC,EAAEc,KAAK,CAACO,WAAWN,QAAQ;IACpCqB,UAAUpC,EAAEiB,OAAO,GAAGF,QAAQ;AAChC,GACCuB,GAAG,CACFtC,EAAEsB,KAAK,CAAC;IACNtB,EAAES,MAAM,CAAC;QACP8B,YAAYvC,EAAEwC,KAAK,GAAGzB,QAAQ;QAC9B0B,WAAWzC,EAAEiB,OAAO;IACtB;IACAjB,EAAES,MAAM,CAAC;QACP8B,YAAYvC,EAAE0C,MAAM;QACpBD,WAAWzC,EAAEwC,KAAK,GAAGzB,QAAQ;IAC/B;CACD;AAGL,MAAM4B,UAA+B3C,EAAES,MAAM,CAAC;IAC5CqB,QAAQ9B,EAAEQ,MAAM;IAChBwB,UAAUhC,EAAE2B,OAAO,CAAC,OAAOZ,QAAQ;IACnCkB,QAAQjC,EAAE2B,OAAO,CAAC,OAAOZ,QAAQ;IACjC6B,SAAS5C,EAAEc,KAAK,CAACd,EAAES,MAAM,CAAC;QAAEgB,KAAKzB,EAAEQ,MAAM;QAAIkB,OAAO1B,EAAEQ,MAAM;IAAG;IAC/D0B,KAAKlC,EAAEc,KAAK,CAACO,WAAWN,QAAQ;IAChCoB,SAASnC,EAAEc,KAAK,CAACO,WAAWN,QAAQ;IAEpCqB,UAAUpC,EAAEiB,OAAO,GAAGF,QAAQ;AAChC;AAEA,MAAM8B,uBAAyD7C,EAAEsB,KAAK,CAAC;IACrEtB,EAAEQ,MAAM;IACRR,EAAE8C,YAAY,CAAC;QACbC,QAAQ/C,EAAEQ,MAAM;QAChB,0EAA0E;QAC1EwC,SAAShD,EAAEO,MAAM,CAACP,EAAEQ,MAAM,IAAIR,EAAEY,GAAG,IAAIG,QAAQ;IACjD;CACD;AAED,MAAMkC,mCACJjD,EAAEsB,KAAK,CAAC;IACNtB,EAAE2B,OAAO,CAAC;IACV3B,EAAE2B,OAAO,CAAC;IACV3B,EAAE2B,OAAO,CAAC;IACV3B,EAAE2B,OAAO,CAAC;IACV3B,EAAE2B,OAAO,CAAC;IACV3B,EAAE2B,OAAO,CAAC;CACX;AAEH,MAAMuB,sBAA2DlD,EAAEsB,KAAK,CAAC;IACvEtB,EAAE8C,YAAY,CAAC;QAAEK,KAAKnD,EAAEoD,IAAI,CAAC,IAAMpD,EAAEc,KAAK,CAACoC;IAAsB;IACjElD,EAAE8C,YAAY,CAAC;QAAElC,KAAKZ,EAAEoD,IAAI,CAAC,IAAMpD,EAAEc,KAAK,CAACoC;IAAsB;IACjElD,EAAE8C,YAAY,CAAC;QAAEO,KAAKrD,EAAEoD,IAAI,CAAC,IAAMF;IAAqB;IACxDD;IACAjD,EAAE8C,YAAY,CAAC;QACbQ,MAAMtD,EAAEsB,KAAK,CAAC;YAACtB,EAAEQ,MAAM;YAAIR,EAAEuD,UAAU,CAACC;SAAQ,EAAEzC,QAAQ;QAC1D0C,SAASzD,EAAEuD,UAAU,CAACC,QAAQzC,QAAQ;QACtCJ,OAAOX,EAAEsB,KAAK,CAAC;YAACtB,EAAEQ,MAAM;YAAIR,EAAEuD,UAAU,CAACC;SAAQ,EAAEzC,QAAQ;QAC3D2C,aAAa1D,EAAEsB,KAAK,CAAC;YAACtB,EAAEQ,MAAM;YAAIR,EAAEuD,UAAU,CAACC;SAAQ,EAAEzC,QAAQ;IACnE;CACD;AAED,MAAM4C,uBAAuB3D,EAAEwB,IAAI,CAAC;IAClC;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD;AAED,MAAMoC,2BACJ5D,EAAE8C,YAAY,CAAC;IACbe,SAAS7D,EAAEc,KAAK,CAAC+B,sBAAsB9B,QAAQ;IAC/C+C,IAAI9D,EAAEQ,MAAM,GAAGO,QAAQ;IACvBgD,WAAWb,oBAAoBnC,QAAQ;IACvCQ,MAAMoC,qBAAqB5C,QAAQ;AACrC;AAEF,MAAMiD,iCACJhE,EAAEsB,KAAK,CAAC;IACNsC;IACA5D,EAAEc,KAAK,CAACd,EAAEsB,KAAK,CAAC;QAACuB;QAAsBe;KAAyB;CACjE;AAEH,MAAMK,mBAAkDjE,EAAE8C,YAAY,CAAC;IACrEoB,OAAOlE,EAAEO,MAAM,CAACP,EAAEQ,MAAM,IAAIwD,gCAAgCjD,QAAQ;IACpEoD,cAAcnE,EACXO,MAAM,CACLP,EAAEQ,MAAM,IACRR,EAAEsB,KAAK,CAAC;QACNtB,EAAEQ,MAAM;QACRR,EAAEc,KAAK,CAACd,EAAEQ,MAAM;QAChBR,EAAEO,MAAM,CAACP,EAAEQ,MAAM,IAAIR,EAAEsB,KAAK,CAAC;YAACtB,EAAEQ,MAAM;YAAIR,EAAEc,KAAK,CAACd,EAAEQ,MAAM;SAAI;KAC/D,GAEFO,QAAQ;IACXqD,mBAAmBpE,EAAEc,KAAK,CAACd,EAAEQ,MAAM,IAAIO,QAAQ;IAC/CsD,MAAMrE,EAAEQ,MAAM,GAAGO,QAAQ;IACzBuD,UAAUtE,EAAEiB,OAAO,GAAGF,QAAQ;IAC9BwD,aAAavE,EACVc,KAAK,CACJd,EAAES,MAAM,CAAC;QACP6C,MAAMtD,EAAEsB,KAAK,CAAC;YAACtB,EAAEQ,MAAM;YAAIR,EAAEuD,UAAU,CAACC;SAAQ;QAChDgB,OAAOxE,EAAEsB,KAAK,CAAC;YAACtB,EAAEQ,MAAM;YAAIR,EAAEuD,UAAU,CAACC;SAAQ,EAAEzC,QAAQ;QAC3D0D,aAAazE,EAAEsB,KAAK,CAAC;YAACtB,EAAEQ,MAAM;YAAIR,EAAEuD,UAAU,CAACC;SAAQ,EAAEzC,QAAQ;IACnE,IAEDA,QAAQ;AACb;AAEA,OAAO,MAAM2D,qBAAqB;IAChCC,eAAe3E,EAAEiB,OAAO,GAAGF,QAAQ;IACnC6D,OAAO5E,EAAEiB,OAAO,GAAGF,QAAQ;IAC3B8D,oBAAoB7E,EAAEiB,OAAO,GAAGF,QAAQ;IACxC+D,qBAAqB9E,EAAEiB,OAAO,GAAGF,QAAQ;IACzCgE,uBAAuB/E,EAAEiB,OAAO,GAAGF,QAAQ;IAC3CiE,6BAA6BhF,EAAEc,KAAK,CAACd,EAAEQ,MAAM,IAAIO,QAAQ;IACzDkE,YAAYjF,EACTS,MAAM,CAAC;QACNyE,SAASlF,EAAE0C,MAAM,GAAG3B,QAAQ;QAC5BoE,QAAQnF,EAAE0C,MAAM,GAAG0C,GAAG,CAAC,IAAIrE,QAAQ;IACrC,GACCA,QAAQ;IACXsE,WAAWrF,EACRO,MAAM,CACLP,EAAES,MAAM,CAAC;QACP6E,OAAOtF,EAAE0C,MAAM,GAAG3B,QAAQ;QAC1BwE,YAAYvF,EAAE0C,MAAM,GAAG3B,QAAQ;QAC/ByE,QAAQxF,EAAE0C,MAAM,GAAG3B,QAAQ;IAC7B,IAEDA,QAAQ;IACX0E,eAAezF,EAAEO,MAAM,CAACP,EAAEQ,MAAM,IAAIR,EAAEQ,MAAM,GAAGO,QAAQ,IAAIA,QAAQ;IACnE2E,oBAAoB1F,EAAEiB,OAAO,GAAGF,QAAQ;IACxC4E,6BAA6B3F,EAAEiB,OAAO,GAAGF,QAAQ;IACjD6E,+BAA+B5F,EAAE0C,MAAM,GAAG3B,QAAQ;IAClD8E,MAAM7F,EAAE0C,MAAM,GAAG3B,QAAQ;IACzB+E,yBAAyB9F,EAAEiB,OAAO,GAAGF,QAAQ;IAC7CgF,WAAW/F,EAAEiB,OAAO,GAAGF,QAAQ;IAC/BiF,qBAAqBhG,EAAEiB,OAAO,GAAGF,QAAQ;IACzCkF,2BAA2BjG,EAAEc,KAAK,CAACd,EAAEQ,MAAM,IAAIO,QAAQ;IACvDmF,mBAAmBlG,EAAEiB,OAAO,GAAGF,QAAQ;IACvCoF,kBAAkBnG,EAAEiB,OAAO,GAAGF,QAAQ;IACtCqF,gBAAgBpG,EAAEiB,OAAO,GAAGF,QAAQ;IACpCsF,YAAYrG,EAAEiB,OAAO,GAAGF,QAAQ;IAChCuF,mBAAmBtG,EAAEiB,OAAO,GAAGF,QAAQ;IACvCwF,YAAYvG,EAAEiB,OAAO,GAAGF,QAAQ;IAChCyF,kBAAkBxG,EACfsB,KAAK,CAAC;QACLtB,EAAEiB,OAAO;QACTjB,EAAES,MAAM,CAAC;YACPgG,SAASzG,EAAE0C,MAAM,GAAG3B,QAAQ;YAC5B2F,eAAe1G,EAAE0C,MAAM,GAAG3B,QAAQ;QACpC;KACD,EACAA,QAAQ;IACX4F,yBAAyB3G,EAAEiB,OAAO,GAAGF,QAAQ;IAC7C6F,yBAAyB5G,EAAEiB,OAAO,GAAGF,QAAQ;IAC7C8F,iBAAiB7G,EAAEiB,OAAO,GAAGF,QAAQ;IACrC+F,WAAW9G,EAAEiB,OAAO,GAAGF,QAAQ;IAC/BgG,cAAc/G,EAAEsB,KAAK,CAAC;QAACtB,EAAEiB,OAAO;QAAIjB,EAAE2B,OAAO,CAAC;KAAS,EAAEZ,QAAQ;IACjEiG,eAAehH,EACZS,MAAM,CAAC;QACNwG,eAAe9G,WAAWY,QAAQ;QAClCmG,gBAAgBlH,EAAEc,KAAK,CAACd,EAAEQ,MAAM,IAAIO,QAAQ;IAC9C,GACCA,QAAQ;IACXoG,uBAAuBhH,WAAWY,QAAQ;IAC1C,4CAA4C;IAC5CqG,gBAAgBpH,EAAEO,MAAM,CAACP,EAAEQ,MAAM,IAAIR,EAAEY,GAAG,IAAIG,QAAQ;IACtDsG,aAAarH,EAAEiB,OAAO,GAAGF,QAAQ;IACjCuG,mCAAmCtH,EAAEiB,OAAO,GAAGF,QAAQ;IACvDwG,8BAA8BvH,EAAEiB,OAAO,GAAGF,QAAQ;IAClDyG,mCAAmCxH,EAAEiB,OAAO,GAAGF,QAAQ;IACvD0G,iCAAiCzH,EAAEiB,OAAO,GAAGF,QAAQ;IACrD2G,uBAAuB1H,EAAE2B,OAAO,CAAC,OAAOZ,QAAQ;IAChD4G,qBAAqB3H,EAAEQ,MAAM,GAAGO,QAAQ;IACxC6G,oBAAoB5H,EAAEiB,OAAO,GAAGF,QAAQ;IACxC8G,gBAAgB7H,EAAEiB,OAAO,GAAGF,QAAQ;IACpC+G,UAAU9H,EAAEiB,OAAO,GAAGF,QAAQ;IAC9BgH,mBAAmB/H,EAAE0C,MAAM,GAAGsF,GAAG,GAAGjH,QAAQ,GAAGkH,QAAQ;IACvDC,wBAAwBlI,EAAE0C,MAAM,GAAGsF,GAAG,GAAGjH,QAAQ;IACjDoH,sBAAsBnI,EAAE0C,MAAM,GAAGsF,GAAG,GAAGjH,QAAQ;IAC/CqH,sBAAsBpI,EAAEiB,OAAO,GAAGF,QAAQ,GAAGkH,QAAQ;IACrDI,oBAAoBrI,EAAEiB,OAAO,GAAGF,QAAQ,GAAGkH,QAAQ;IACnDK,gBAAgBtI,EAAEiB,OAAO,GAAGF,QAAQ;IACpCwH,oBAAoBvI,EAAE0C,MAAM,GAAG3B,QAAQ;IACvCyH,kBAAkBxI,EAAEiB,OAAO,GAAGF,QAAQ;IACtC0H,sBAAsBzI,EAAEiB,OAAO,GAAGF,QAAQ;IAC1C2H,oBAAoB1I,EAAEwB,IAAI,CAAC;QAAC;QAAU;KAAW,EAAET,QAAQ;IAC3D4H,eAAe3I,EAAEwB,IAAI,CAAC;QAAC;QAAU;KAAW,EAAET,QAAQ;IACtD6H,6BAA6BzI,WAAWY,QAAQ;IAChD8H,wBAAwB1I,WAAWY,QAAQ;IAC3C+H,oBAAoB9I,EAAEiB,OAAO,GAAGF,QAAQ;IACxCgI,aAAa/I,EAAEsB,KAAK,CAAC;QAACtB,EAAEiB,OAAO;QAAIjB,EAAE2B,OAAO,CAAC;KAAU,EAAEZ,QAAQ;IACjEiI,mBAAmBhJ,EAAEiB,OAAO,GAAGF,QAAQ;IACvC,kDAAkD;IAClDkI,aAAajJ,EAAEsB,KAAK,CAAC;QAACtB,EAAEiB,OAAO;QAAIjB,EAAEY,GAAG;KAAG,EAAEG,QAAQ;IACrDmI,uBAAuBlJ,EAAEiB,OAAO,GAAGF,QAAQ;IAC3CoI,wBAAwBnJ,EAAEiB,OAAO,GAAGF,QAAQ;IAC5CqI,2BAA2BpJ,EAAEiB,OAAO,GAAGF,QAAQ;IAC/CsI,KAAKrJ,EACFsB,KAAK,CAAC;QAACtB,EAAEiB,OAAO;QAAIjB,EAAE2B,OAAO,CAAC;KAAe,EAC7C2H,QAAQ,GACRvI,QAAQ;IACXwI,OAAOvJ,EAAEiB,OAAO,GAAGF,QAAQ;IAC3ByI,oBAAoBxJ,EAAEiB,OAAO,GAAGF,QAAQ;IACxC0I,cAAczJ,EAAE0C,MAAM,GAAG0C,GAAG,CAAC,GAAGrE,QAAQ;IACxC2I,YAAY1J,EAAEiB,OAAO,GAAGF,QAAQ;IAChC4I,WAAW3J,EAAEiB,OAAO,GAAGF,QAAQ;IAC/B6I,0CAA0C5J,EAAEiB,OAAO,GAAGF,QAAQ;IAC9D8I,2BAA2B7J,EAAEiB,OAAO,GAAGF,QAAQ;IAC/C+I,mBAAmB9J,EAAEiB,OAAO,GAAGF,QAAQ;IACvCgJ,KAAK/J,EACFS,MAAM,CAAC;QACNuJ,WAAWhK,EAAEwB,IAAI,CAAC;YAAC;YAAU;YAAU;SAAS,EAAET,QAAQ;IAC5D,GACCA,QAAQ;IACXkJ,YAAYjK,CACV,gEAAgE;KAC/Dc,KAAK,CAACd,EAAEkK,KAAK,CAAC;QAAClK,EAAEQ,MAAM;QAAIR,EAAEO,MAAM,CAACP,EAAEQ,MAAM,IAAIR,EAAEY,GAAG;KAAI,GACzDG,QAAQ;IACXoJ,mBAAmBnK,EAAEiB,OAAO,GAAGF,QAAQ;IACvC,iEAAiE;IACjEqJ,YAAYpK,EAAEY,GAAG,GAAGG,QAAQ;IAC5BsJ,gBAAgBrK,EAAEiB,OAAO,GAAGF,QAAQ;IACpCuJ,eAAetK,EAAEiB,OAAO,GAAGF,QAAQ;IACnCwJ,sBAAsBvK,EACnBc,KAAK,CACJd,EAAEsB,KAAK,CAAC;QACNtB,EAAE2B,OAAO,CAAC;QACV3B,EAAE2B,OAAO,CAAC;QACV3B,EAAE2B,OAAO,CAAC;QACV3B,EAAE2B,OAAO,CAAC;QACV3B,EAAE2B,OAAO,CAAC;QACV3B,EAAE2B,OAAO,CAAC;KACX,GAEFZ,QAAQ;IACX,sEAAsE;IACtE,iFAAiF;IACjFyJ,OAAOxK,EACJsB,KAAK,CAAC;QACLtB,EAAEiB,OAAO;QACTjB,EAAES,MAAM,CAAC;YACPgK,aAAazK,EAAEiB,OAAO,GAAGF,QAAQ;YACjC2J,YAAY1K,EAAEQ,MAAM,GAAGO,QAAQ;YAC/B4J,iBAAiB3K,EAAEQ,MAAM,GAAGO,QAAQ;YACpC6J,sBAAsB5K,EAAEQ,MAAM,GAAGO,QAAQ;YACzC8J,SAAS7K,EAAEwB,IAAI,CAAC;gBAAC;gBAAO;aAAa,EAAET,QAAQ;QACjD;KACD,EACAA,QAAQ;IACX+J,qBAAqB9K,EAAEiB,OAAO,GAAGF,QAAQ;IACzCgK,mBAAmB/K,EAAEiB,OAAO,GAAGF,QAAQ;IACvCiK,aAAahL,EAAEiB,OAAO,GAAGF,QAAQ;IACjCkK,oBAAoBjL,EAAEiB,OAAO,GAAGF,QAAQ;IACxCmK,4BAA4BlL,EAAEiB,OAAO,GAAGF,QAAQ;IAChDoK,sBAAsBnL,EAAE0C,MAAM,GAAG3B,QAAQ;IACzCqK,gCAAgCpL,EAC7BwB,IAAI,CAAC;QAAC;QAAiB;KAAiB,EACxCT,QAAQ;IACXsK,iBAAiBrL,EAAEiB,OAAO,GAAGF,QAAQ;IACrCuK,gCAAgCtL,EAAEiB,OAAO,GAAGF,QAAQ;IACpDwK,kCAAkCvL,EAAEiB,OAAO,GAAGF,QAAQ;IACtDyK,qBAAqBxL,EAAEiB,OAAO,GAAGF,QAAQ;IACzC0K,0BAA0BzL,EAAEiB,OAAO,GAAGF,QAAQ;IAC9C2K,sBAAsB1L,EAAEiB,OAAO,GAAGF,QAAQ;IAC1C4K,8BAA8B3L,EAAEiB,OAAO,GAAGF,QAAQ;IAClD6K,8BAA8B5L,EAAEiB,OAAO,GAAGF,QAAQ;IAClD8K,wBAAwB7L,EAAEiB,OAAO,GAAGF,QAAQ;IAC5C+K,wCAAwC9L,EAAEiB,OAAO,GAAGF,QAAQ;IAC5DgL,wCAAwC/L,EAAEiB,OAAO,GAAGF,QAAQ;IAC5DiL,0BAA0BhM,EAAEiB,OAAO,GAAGF,QAAQ;IAC9CkL,yBAAyBjM,EAAEiB,OAAO,GAAGF,QAAQ;IAC7CmL,0BAA0BlM,EAAEiB,OAAO,GAAGF,QAAQ;IAC9CoL,yBAAyBnM,EAAEiB,OAAO,GAAGF,QAAQ;IAC7CqL,oBAAoBpM,EAAEwB,IAAI,CAAC;QAAC;QAAS;KAAgB,EAAET,QAAQ;IAC/DsL,iCAAiCrM,EAAEiB,OAAO,GAAGF,QAAQ;IACrDuL,wBAAwBtM,EAAEc,KAAK,CAACd,EAAEQ,MAAM,IAAIO,QAAQ;IACpDwL,qBAAqBvM,EAAEiB,OAAO,GAAGF,QAAQ;IACzCyL,kBAAkBxM,EAAEiB,OAAO,GAAGF,QAAQ;IACtC0L,qBAAqBzM,EAAEc,KAAK,CAACd,EAAEQ,MAAM,IAAIO,QAAQ;IACjD2L,oBAAoB1M,EAAEiB,OAAO,GAAGF,QAAQ;IACxC4L,kBAAkB3M,EAAEiB,OAAO,GAAGF,QAAQ;IACtC6L,eAAe5M,EAAEiB,OAAO,GAAGF,QAAQ;IACnC8L,iBAAiB7M,EAAEiB,OAAO,GAAGF,QAAQ;IACrC+L,sBAAsB9M,EACnBS,MAAM,CAAC;QACNsM,SAAS/M,EAAEc,KAAK,CAACd,EAAEwB,IAAI,CAACvB,6BAA6Bc,QAAQ;QAC7DiM,SAAShN,EAAEc,KAAK,CAACd,EAAEwB,IAAI,CAACvB,6BAA6Bc,QAAQ;IAC/D,GACCA,QAAQ;IACXkM,WAAWjN,EAAEiB,OAAO,GAAGF,QAAQ;IAC/BmM,mBAAmBlN,EAAEwB,IAAI,CAACtB,6BAA6Ba,QAAQ;IAC/DoM,uBAAuBnN,EAAE2B,OAAO,CAAC,MAAMZ,QAAQ;IAE/CqM,mBAAmBpN,EAAEiB,OAAO,GAAGF,QAAQ;IACvCsM,4BAA4BrN,EAAE0C,MAAM,GAAGsF,GAAG,GAAGjH,QAAQ;IACrDuM,gCAAgCtN,EAAE0C,MAAM,GAAGsF,GAAG,GAAGjH,QAAQ;IACzDwM,mCAAmCvN,EAAE0C,MAAM,GAAGsF,GAAG,GAAGjH,QAAQ;IAC5DyM,UAAUxN,EAAEiB,OAAO,GAAGF,QAAQ;IAC9B0M,0BAA0BzN,EAAEiB,OAAO,GAAGF,QAAQ;IAC9C2M,gBAAgB1N,EAAEiB,OAAO,GAAGF,QAAQ;IACpC4M,UAAU3N,EAAEiB,OAAO,GAAGF,QAAQ;IAC9B6M,gBAAgB5N,EAAEiB,OAAO,GAAGF,QAAQ;IACpC8M,qBAAqB7N,EAClBS,MAAM,CAAC;QACNqN,sBAAsB9N,EAAE0C,MAAM,GAAGsF,GAAG;IACtC,GACCjH,QAAQ;IACXgN,gBAAgB/N,EAAEiB,OAAO,GAAGF,QAAQ;IACpCiN,4BAA4BhO,EACzBsB,KAAK,CAAC;QACLtB,EAAEiB,OAAO;QACTjB,EAAEwB,IAAI,CAAC;YAAC;YAAS;YAAQ;SAAU;QACnCxB,EAAES,MAAM,CAAC;YACPwN,OAAOjO,EAAEwB,IAAI,CAAC;gBAAC;gBAAS;gBAAQ;aAAU,EAAET,QAAQ;YACpDmN,YAAYlO,EAAE0C,MAAM,GAAGsF,GAAG,GAAGmG,QAAQ,GAAGpN,QAAQ;YAChDqN,WAAWpO,EAAE0C,MAAM,GAAGsF,GAAG,GAAGmG,QAAQ,GAAGpN,QAAQ;YAC/CsN,oBAAoBrO,EAAEiB,OAAO,GAAGF,QAAQ;QAC1C;KACD,EACAA,QAAQ;IACXuN,aAAatO,EAAEiB,OAAO,GAAGF,QAAQ;IACjCwN,oBAAoBvO,EAAEiB,OAAO,GAAGF,QAAQ;IACxCyN,2BAA2BxO,EAAEiB,OAAO,GAAGF,QAAQ;IAC/C0N,qBAAqBzO,EAAEQ,MAAM,GAAGO,QAAQ;IACxC2N,iBAAiB1O,EAAEc,KAAK,CAACd,EAAEQ,MAAM,IAAIO,QAAQ;IAC7C4N,yBAAyB3O,EAAE4O,QAAQ,GAAGC,OAAO,CAAC7O,EAAE8O,OAAO,CAAC9O,EAAE+O,IAAI,KAAKhO,QAAQ;IAC3EiO,yBAAyBhP,EAAEwB,IAAI,CAAC;QAAC;QAAQ;KAAQ,EAAET,QAAQ;AAC7D,EAAC;AAED,OAAO,MAAMkO,eAAwCjP,EAAEoD,IAAI,CAAC,IAC1DpD,EAAE8C,YAAY,CAAC;QACboM,aAAalP,EAAEQ,MAAM,GAAGO,QAAQ;QAChCoO,mBAAmBnP,EAAEc,KAAK,CAACd,EAAEQ,MAAM,IAAIO,QAAQ;QAC/CqO,aAAapP,EAAEQ,MAAM,GAAGO,QAAQ;QAChCiB,UAAUhC,EAAEQ,MAAM,GAAGO,QAAQ;QAC7BsO,+BAA+BrP,EAAEiB,OAAO,GAAGF,QAAQ;QACnD8F,iBAAiB7G,EAAEiB,OAAO,GAAGF,QAAQ;QACrCuO,cAActP,EAAEQ,MAAM,GAAG+O,GAAG,CAAC,GAAGxO,QAAQ;QACxC0E,eAAezF,EAAEO,MAAM,CAACP,EAAEQ,MAAM,IAAIR,EAAEQ,MAAM,GAAGO,QAAQ,IAAIA,QAAQ;QACnEsE,WAAWrF,EACRO,MAAM,CACLP,EAAES,MAAM,CAAC;YACP6E,OAAOtF,EAAE0C,MAAM,GAAG3B,QAAQ;YAC1BwE,YAAYvF,EAAE0C,MAAM,GAAG3B,QAAQ;YAC/ByE,QAAQxF,EAAE0C,MAAM,GAAG3B,QAAQ;QAC7B,IAEDA,QAAQ;QACXyO,oBAAoBxP,EAAE0C,MAAM,GAAG3B,QAAQ;QACvC0O,cAAczP,EAAEiB,OAAO,GAAGF,QAAQ;QAClC2O,UAAU1P,EACP8C,YAAY,CAAC;YACZ6M,SAAS3P,EACNsB,KAAK,CAAC;gBACLtB,EAAEiB,OAAO;gBACTjB,EAAES,MAAM,CAAC;oBACPmP,WAAW5P,EAAEiB,OAAO,GAAGF,QAAQ;oBAC/B8O,WAAW7P,EACRsB,KAAK,CAAC;wBACLtB,EAAE2B,OAAO,CAAC;wBACV3B,EAAE2B,OAAO,CAAC;wBACV3B,EAAE2B,OAAO,CAAC;qBACX,EACAZ,QAAQ;oBACX+O,aAAa9P,EAAEQ,MAAM,GAAG+O,GAAG,CAAC,GAAGxO,QAAQ;oBACvCgP,WAAW/P,EACRO,MAAM,CACLP,EAAEQ,MAAM,IACRR,EAAEO,MAAM,CACNP,EAAEQ,MAAM,IACRR,EAAES,MAAM,CAAC;wBACPuP,iBAAiBhQ,EACdkK,KAAK,CAAC;4BAAClK,EAAEQ,MAAM;4BAAIR,EAAEQ,MAAM;yBAAG,EAC9BO,QAAQ;wBACXkP,kBAAkBjQ,EACfkK,KAAK,CAAC;4BAAClK,EAAEQ,MAAM;4BAAIR,EAAEQ,MAAM;yBAAG,EAC9BO,QAAQ;oBACb,KAGHA,QAAQ;gBACb;aACD,EACAA,QAAQ;YACXmP,uBAAuBlQ,EACpBsB,KAAK,CAAC;gBACLtB,EAAEiB,OAAO,GAAGF,QAAQ;gBACpBf,EAAES,MAAM,CAAC;oBACP0P,YAAYnQ,EAAEc,KAAK,CAACd,EAAEQ,MAAM,IAAIO,QAAQ;gBAC1C;aACD,EACAA,QAAQ;YACXqP,OAAOpQ,EACJS,MAAM,CAAC;gBACN4P,KAAKrQ,EAAEQ,MAAM;gBACb8P,mBAAmBtQ,EAAEQ,MAAM,GAAGO,QAAQ;gBACtCwP,UAAUvQ,EAAEwB,IAAI,CAAC;oBAAC;oBAAc;oBAAc;iBAAO,EAAET,QAAQ;gBAC/DyP,gBAAgBxQ,EAAEiB,OAAO,GAAGF,QAAQ;YACtC,GACCA,QAAQ;YACX0P,eAAezQ,EACZsB,KAAK,CAAC;gBACLtB,EAAEiB,OAAO,GAAGF,QAAQ;gBACpBf,EAAES,MAAM,CAAC;oBACPuM,SAAShN,EAAEc,KAAK,CAACd,EAAEQ,MAAM,IAAI+O,GAAG,CAAC,GAAGxO,QAAQ;gBAC9C;aACD,EACAA,QAAQ;YACX2P,kBAAkB1Q,EAAEsB,KAAK,CAAC;gBACxBtB,EAAEiB,OAAO,GAAGF,QAAQ;gBACpBf,EAAES,MAAM,CAAC;oBACPkQ,aAAa3Q,EAAEiB,OAAO,GAAGF,QAAQ;oBACjC6P,qBAAqB5Q,EAAEc,KAAK,CAACd,EAAEQ,MAAM,IAAIO,QAAQ;oBACjD8P,KAAK7Q,EAAEiB,OAAO,GAAGF,QAAQ;oBACzB+P,UAAU9Q,EAAEiB,OAAO,GAAGF,QAAQ;oBAC9BgQ,sBAAsB/Q,EAAEc,KAAK,CAACd,EAAEQ,MAAM,IAAIO,QAAQ;oBAClDiQ,QAAQhR,EAAEiB,OAAO,GAAGF,QAAQ;oBAC5BkQ,2BAA2BjR,EAAEiB,OAAO,GAAGF,QAAQ;oBAC/CmQ,WAAWlR,EAAEQ,MAAM,GAAG+O,GAAG,CAAC,GAAGxO,QAAQ;oBACrCoQ,MAAMnR,EAAEiB,OAAO,GAAGF,QAAQ;oBAC1BqQ,SAASpR,EAAEiB,OAAO,GAAGF,QAAQ;gBAC/B;aACD;YACDsQ,WAAWrR,EAAEsB,KAAK,CAAC;gBACjBtB,EAAEiB,OAAO,GAAGF,QAAQ;gBACpBf,EAAES,MAAM,CAAC;oBACPoM,iBAAiB7M,EAAEiB,OAAO,GAAGF,QAAQ;gBACvC;aACD;YACDuQ,QAAQtR,EAAEO,MAAM,CAACP,EAAEQ,MAAM,IAAIR,EAAEQ,MAAM,IAAIO,QAAQ;YACjDwQ,cAAcvR,EAAEO,MAAM,CAACP,EAAEQ,MAAM,IAAIR,EAAEQ,MAAM,IAAIO,QAAQ;YACvDyQ,2BAA2BxR,EACxB4O,QAAQ,GACRC,OAAO,CAAC7O,EAAE8O,OAAO,CAAC9O,EAAE+O,IAAI,KACxBhO,QAAQ;QACb,GACCA,QAAQ;QACX0Q,UAAUzR,EAAEiB,OAAO,GAAGF,QAAQ;QAC9B2Q,cAAc1R,EAAEQ,MAAM,GAAGO,QAAQ;QACjC4Q,aAAa3R,EACVsB,KAAK,CAAC;YAACtB,EAAE2B,OAAO,CAAC;YAAc3B,EAAE2B,OAAO,CAAC;SAAmB,EAC5DZ,QAAQ;QACX6Q,cAAc5R,EAAEQ,MAAM,GAAGO,QAAQ;QACjC8Q,eAAe7R,EACZsB,KAAK,CAAC;YACLtB,EAAES,MAAM,CAAC;gBACPqR,UAAU9R,EACPsB,KAAK,CAAC;oBACLtB,EAAE2B,OAAO,CAAC;oBACV3B,EAAE2B,OAAO,CAAC;oBACV3B,EAAE2B,OAAO,CAAC;oBACV3B,EAAE2B,OAAO,CAAC;iBACX,EACAZ,QAAQ;YACb;YACAf,EAAE2B,OAAO,CAAC;SACX,EACAZ,QAAQ;QACXgR,SAAS/R,EAAEQ,MAAM,GAAG+O,GAAG,CAAC,GAAGxO,QAAQ;QACnCiR,KAAKhS,EAAEO,MAAM,CAACP,EAAEQ,MAAM,IAAIR,EAAEsB,KAAK,CAAC;YAACtB,EAAEQ,MAAM;YAAIR,EAAE4B,SAAS;SAAG,GAAGb,QAAQ;QACxEkR,2BAA2BjS,EAAEiB,OAAO,GAAGF,QAAQ;QAC/CmR,6BAA6BlS,EAAEiB,OAAO,GAAGF,QAAQ;QACjDoR,cAAcnS,EAAE8C,YAAY,CAAC4B,oBAAoB3D,QAAQ;QACzDqR,eAAepS,EACZ4O,QAAQ,GACRyD,IAAI,CACH/R,YACAN,EAAES,MAAM,CAAC;YACP6R,KAAKtS,EAAEiB,OAAO;YACdsR,KAAKvS,EAAEQ,MAAM;YACbgS,QAAQxS,EAAEQ,MAAM,GAAGyH,QAAQ;YAC3B8J,SAAS/R,EAAEQ,MAAM;YACjBiS,SAASzS,EAAEQ,MAAM;QACnB,IAEDqO,OAAO,CAAC7O,EAAEsB,KAAK,CAAC;YAAChB;YAAYN,EAAE8O,OAAO,CAACxO;SAAY,GACnDS,QAAQ;QACX2R,iBAAiB1S,EACd4O,QAAQ,GACRyD,IAAI,GACJxD,OAAO,CACN7O,EAAEsB,KAAK,CAAC;YACNtB,EAAEQ,MAAM;YACRR,EAAE2S,IAAI;YACN3S,EAAE8O,OAAO,CAAC9O,EAAEsB,KAAK,CAAC;gBAACtB,EAAEQ,MAAM;gBAAIR,EAAE2S,IAAI;aAAG;SACzC,GAEF5R,QAAQ;QACX6R,eAAe5S,EAAEiB,OAAO,GAAGF,QAAQ;QACnC6B,SAAS5C,EACN4O,QAAQ,GACRyD,IAAI,GACJxD,OAAO,CAAC7O,EAAE8O,OAAO,CAAC9O,EAAEc,KAAK,CAAC6B,WAC1B5B,QAAQ;QACX8R,iBAAiB7S,EAAEuD,UAAU,CAACC,QAAQzC,QAAQ;QAC9C+R,kBAAkB9S,EACf8C,YAAY,CAAC;YAAEiQ,WAAW/S,EAAEiB,OAAO,GAAGF,QAAQ;QAAG,GACjDA,QAAQ;QACXiS,MAAMhT,EACH8C,YAAY,CAAC;YACZmQ,eAAejT,EAAEQ,MAAM,GAAG+O,GAAG,CAAC;YAC9B2D,SAASlT,EACNc,KAAK,CACJd,EAAE8C,YAAY,CAAC;gBACbmQ,eAAejT,EAAEQ,MAAM,GAAG+O,GAAG,CAAC;gBAC9B4D,QAAQnT,EAAEQ,MAAM,GAAG+O,GAAG,CAAC;gBACvB6D,MAAMpT,EAAE2B,OAAO,CAAC,MAAMZ,QAAQ;gBAC9BsS,SAASrT,EAAEc,KAAK,CAACd,EAAEQ,MAAM,GAAG+O,GAAG,CAAC,IAAIxO,QAAQ;YAC9C,IAEDA,QAAQ;YACXuS,iBAAiBtT,EAAE2B,OAAO,CAAC,OAAOZ,QAAQ;YAC1CsS,SAASrT,EAAEc,KAAK,CAACd,EAAEQ,MAAM,GAAG+O,GAAG,CAAC;QAClC,GACCtH,QAAQ,GACRlH,QAAQ;QACXwS,QAAQvT,EACL8C,YAAY,CAAC;YACZ0Q,eAAexT,EACZc,KAAK,CACJd,EAAE8C,YAAY,CAAC;gBACb2Q,UAAUzT,EAAEQ,MAAM,GAAGO,QAAQ;gBAC7B2S,QAAQ1T,EAAEQ,MAAM,GAAGO,QAAQ;YAC7B,IAED4S,GAAG,CAAC,IACJ5S,QAAQ;YACX6S,gBAAgB5T,EACbc,KAAK,CACJd,EAAEsB,KAAK,CAAC;gBACNtB,EAAEuD,UAAU,CAACsQ;gBACb7T,EAAE8C,YAAY,CAAC;oBACbgR,UAAU9T,EAAEQ,MAAM;oBAClBiT,UAAUzT,EAAEQ,MAAM,GAAGO,QAAQ;oBAC7BgT,MAAM/T,EAAEQ,MAAM,GAAGmT,GAAG,CAAC,GAAG5S,QAAQ;oBAChCiT,UAAUhU,EAAEwB,IAAI,CAAC;wBAAC;wBAAQ;qBAAQ,EAAET,QAAQ;oBAC5C2S,QAAQ1T,EAAEQ,MAAM,GAAGO,QAAQ;gBAC7B;aACD,GAEF4S,GAAG,CAAC,IACJ5S,QAAQ;YACXkT,aAAajU,EAAEiB,OAAO,GAAGF,QAAQ;YACjCmT,oBAAoBlU,EAAEiB,OAAO,GAAGF,QAAQ;YACxCoT,uBAAuBnU,EAAEQ,MAAM,GAAGO,QAAQ;YAC1CqT,wBAAwBpU,EAAEwB,IAAI,CAAC;gBAAC;gBAAU;aAAa,EAAET,QAAQ;YACjEsT,qBAAqBrU,EAAEiB,OAAO,GAAGF,QAAQ;YACzCuT,yBAAyBtU,EAAEiB,OAAO,GAAGF,QAAQ;YAC7CwT,aAAavU,EACVc,KAAK,CAACd,EAAE0C,MAAM,GAAGsF,GAAG,GAAG5C,GAAG,CAAC,GAAGoP,GAAG,CAAC,QAClCb,GAAG,CAAC,IACJ5S,QAAQ;YACX0T,qBAAqBzU,EAAEiB,OAAO,GAAGF,QAAQ;YACzCmS,SAASlT,EAAEc,KAAK,CAACd,EAAEQ,MAAM,IAAImT,GAAG,CAAC,IAAI5S,QAAQ;YAC7C2T,SAAS1U,EACNc,KAAK,CAACd,EAAEwB,IAAI,CAAC;gBAAC;gBAAc;aAAa,GACzCmS,GAAG,CAAC,GACJ5S,QAAQ;YACX4T,YAAY3U,EACTc,KAAK,CAACd,EAAE0C,MAAM,GAAGsF,GAAG,GAAG5C,GAAG,CAAC,GAAGoP,GAAG,CAAC,QAClCjF,GAAG,CAAC,GACJoE,GAAG,CAAC,IACJ5S,QAAQ;YACXgC,QAAQ/C,EAAEwB,IAAI,CAACzB,eAAegB,QAAQ;YACtC6T,YAAY5U,EAAEQ,MAAM,GAAGO,QAAQ;YAC/B8T,sBAAsB7U,EAAE0C,MAAM,GAAGsF,GAAG,GAAGuH,GAAG,CAAC,GAAGxO,QAAQ;YACtD+T,kBAAkB9U,EAAE0C,MAAM,GAAGsF,GAAG,GAAGuH,GAAG,CAAC,GAAGoE,GAAG,CAAC,IAAI5S,QAAQ;YAC1DgU,qBAAqB/U,EAClB0C,MAAM,GACNsF,GAAG,GACHuH,GAAG,CAAC,GACJoE,GAAG,CAACqB,OAAOC,gBAAgB,EAC3BlU,QAAQ;YACXmU,iBAAiBlV,EAAE0C,MAAM,GAAGsF,GAAG,GAAG5C,GAAG,CAAC,GAAGrE,QAAQ;YACjDuC,MAAMtD,EAAEQ,MAAM,GAAGO,QAAQ;YACzBoU,WAAWnV,EACRc,KAAK,CAACd,EAAE0C,MAAM,GAAGsF,GAAG,GAAG5C,GAAG,CAAC,GAAGoP,GAAG,CAAC,MAClCjF,GAAG,CAAC,GACJoE,GAAG,CAAC,IACJ5S,QAAQ;QACb,GACCA,QAAQ;QACXqU,SAASpV,EACNsB,KAAK,CAAC;YACLtB,EAAES,MAAM,CAAC;gBACP4U,SAASrV,EACNS,MAAM,CAAC;oBACN6U,SAAStV,EAAEiB,OAAO,GAAGF,QAAQ;oBAC7BwU,cAAcvV,EAAEiB,OAAO,GAAGF,QAAQ;gBACpC,GACCA,QAAQ;gBACXyU,kBAAkBxV,EACfsB,KAAK,CAAC;oBACLtB,EAAEiB,OAAO;oBACTjB,EAAES,MAAM,CAAC;wBACPgV,QAAQzV,EAAEc,KAAK,CAACd,EAAEuD,UAAU,CAACC;oBAC/B;iBACD,EACAzC,QAAQ;gBACX2U,iBAAiB1V,EAAEiB,OAAO,GAAGF,QAAQ;gBACrC4U,mBAAmB3V,EAChBsB,KAAK,CAAC;oBAACtB,EAAEiB,OAAO;oBAAIjB,EAAEwB,IAAI,CAAC;wBAAC;wBAAS;qBAAO;iBAAE,EAC9CT,QAAQ;YACb;YACAf,EAAE2B,OAAO,CAAC;SACX,EACAZ,QAAQ;QACX6U,mBAAmB5V,EAChBO,MAAM,CACLP,EAAEQ,MAAM,IACRR,EAAES,MAAM,CAAC;YACPoV,WAAW7V,EAAEsB,KAAK,CAAC;gBAACtB,EAAEQ,MAAM;gBAAIR,EAAEO,MAAM,CAACP,EAAEQ,MAAM,IAAIR,EAAEQ,MAAM;aAAI;YACjEsV,mBAAmB9V,EAAEiB,OAAO,GAAGF,QAAQ;YACvCgV,uBAAuB/V,EAAEiB,OAAO,GAAGF,QAAQ;QAC7C,IAEDA,QAAQ;QACXiV,iBAAiBhW,EACd8C,YAAY,CAAC;YACZmT,gBAAgBjW,EAAE0C,MAAM,GAAG3B,QAAQ;YACnCmV,mBAAmBlW,EAAE0C,MAAM,GAAG3B,QAAQ;QACxC,GACCA,QAAQ;QACXoV,QAAQnW,EAAEwB,IAAI,CAAC;YAAC;YAAc;SAAS,EAAET,QAAQ;QACjDqV,uBAAuBpW,EAAEQ,MAAM,GAAGO,QAAQ;QAC1CsV,2BAA2BrW,EACxBO,MAAM,CAACP,EAAEQ,MAAM,IAAIR,EAAEc,KAAK,CAACd,EAAEQ,MAAM,KACnCO,QAAQ;QACXuV,2BAA2BtW,EACxBO,MAAM,CAACP,EAAEQ,MAAM,IAAIR,EAAEc,KAAK,CAACd,EAAEQ,MAAM,KACnCO,QAAQ;QACXwV,gBAAgBvW,EAAEc,KAAK,CAACd,EAAEQ,MAAM,IAAI+O,GAAG,CAAC,GAAGxO,QAAQ;QACnDyV,iBAAiBxW,EAAEiB,OAAO,GAAGF,QAAQ;QACrC0V,6BAA6BzW,EAAEiB,OAAO,GAAGF,QAAQ;QACjD2V,eAAe1W,EAAEsB,KAAK,CAAC;YACrBtB,EAAEiB,OAAO;YACTjB,EACGS,MAAM,CAAC;gBACNkW,iBAAiB3W,EAAEwB,IAAI,CAAC;oBAAC;oBAAS;oBAAc;iBAAM,EAAET,QAAQ;gBAChE6V,gBAAgB5W,EACbwB,IAAI,CAAC;oBAAC;oBAAQ;oBAAmB;iBAAa,EAC9CT,QAAQ;YACb,GACCA,QAAQ;SACZ;QACD8V,0BAA0B7W,EAAEiB,OAAO,GAAGF,QAAQ;QAC9C+V,iBAAiB9W,EAAEiB,OAAO,GAAGgH,QAAQ,GAAGlH,QAAQ;QAChDgW,uBAAuB/W,EAAE0C,MAAM,GAAGsU,WAAW,GAAGhP,GAAG,GAAGjH,QAAQ;QAC9DkW,WAAWjX,EACR4O,QAAQ,GACRyD,IAAI,GACJxD,OAAO,CAAC7O,EAAE8O,OAAO,CAAC9O,EAAEc,KAAK,CAACuB,aAC1BtB,QAAQ;QACXmW,UAAUlX,EACP4O,QAAQ,GACRyD,IAAI,GACJxD,OAAO,CACN7O,EAAE8O,OAAO,CACP9O,EAAEsB,KAAK,CAAC;YACNtB,EAAEc,KAAK,CAACe;YACR7B,EAAES,MAAM,CAAC;gBACP0W,aAAanX,EAAEc,KAAK,CAACe;gBACrBuV,YAAYpX,EAAEc,KAAK,CAACe;gBACpBwV,UAAUrX,EAAEc,KAAK,CAACe;YACpB;SACD,IAGJd,QAAQ;QACX,8EAA8E;QAC9EuW,aAAatX,EACVS,MAAM,CAAC;YACN8W,gBAAgBvX,EAAEQ,MAAM,GAAGO,QAAQ;QACrC,GACCyW,QAAQ,CAACxX,EAAEY,GAAG,IACdG,QAAQ;QACX0W,wBAAwBzX,EAAEc,KAAK,CAACd,EAAEQ,MAAM,IAAIO,QAAQ;QACpD2W,4BAA4B1X,EAAEiB,OAAO,GAAGF,QAAQ;QAChD4W,uBAAuB3X,EAAEiB,OAAO,GAAGF,QAAQ;QAC3C6W,2BAA2B5X,EAAEiB,OAAO,GAAGF,QAAQ;QAC/C8W,6BAA6B7X,EAAE0C,MAAM,GAAG3B,QAAQ;QAChD+W,YAAY9X,EAAE0C,MAAM,GAAG3B,QAAQ;QAC/BgX,QAAQ/X,EAAEQ,MAAM,GAAGO,QAAQ;QAC3BiX,eAAehY,EAAEiB,OAAO,GAAGF,QAAQ;QACnCkX,mBAAmBjY,EAAEc,KAAK,CAACd,EAAEQ,MAAM,IAAIO,QAAQ;QAC/CmX,WAAWjU,iBAAiBlD,QAAQ;QACpCoX,YAAYnY,EACT8C,YAAY,CAAC;YACZsV,mBAAmBpY,EAAEiB,OAAO,GAAGF,QAAQ;YACvCsX,cAAcrY,EAAEQ,MAAM,GAAG+O,GAAG,CAAC,GAAGxO,QAAQ;QAC1C,GACCA,QAAQ;QACXiK,aAAahL,EAAEiB,OAAO,GAAGF,QAAQ;QACjCuX,2BAA2BtY,EAAEiB,OAAO,GAAGF,QAAQ;QAC/C,uDAAuD;QACvDwX,SAASvY,EAAEY,GAAG,GAAGqH,QAAQ,GAAGlH,QAAQ;QACpCyX,cAAcxY,EACX8C,YAAY,CAAC;YACZ2V,gBAAgBzY,EAAE0C,MAAM,GAAGyL,QAAQ,GAAGuK,MAAM,GAAG3X,QAAQ;QACzD,GACCA,QAAQ;IACb,IACD","ignoreList":[0]} |
@@ -158,2 +158,3 @@ import os from 'os'; | ||
| dynamicOnHover: false, | ||
| useOffline: false, | ||
| varyParams: false, | ||
@@ -258,2 +259,3 @@ prefetchInlining: false, | ||
| dynamicOnHover: ex.dynamicOnHover, | ||
| useOffline: ex.useOffline, | ||
| optimisticRouting: ex.optimisticRouting, | ||
@@ -260,0 +262,0 @@ inlineCss: ex.inlineCss, |
@@ -24,3 +24,3 @@ import { loadEnvConfig } from '@next/env'; | ||
| } | ||
| Log.bootstrap(`${bold(purple(`${Log.prefixes.ready} Next.js ${"16.2.1-canary.11"}`))}${versionSuffix}`); | ||
| Log.bootstrap(`${bold(purple(`${Log.prefixes.ready} Next.js ${"16.2.1-canary.12"}`))}${versionSuffix}`); | ||
| if (appUrl) { | ||
@@ -27,0 +27,0 @@ Log.bootstrap(`- Local: ${appUrl}`); |
@@ -113,3 +113,3 @@ // Start CPU profile if it wasn't already started. | ||
| let { port } = serverOptions; | ||
| process.title = `next-server (v${"16.2.1-canary.11"})`; | ||
| process.title = `next-server (v${"16.2.1-canary.12"})`; | ||
| let handlersReady = ()=>{}; | ||
@@ -116,0 +116,0 @@ let handlersError = ()=>{}; |
| export function isStableBuild() { | ||
| return !"16.2.1-canary.11"?.includes('canary') && !process.env.__NEXT_TEST_MODE && !process.env.NEXT_PRIVATE_LOCAL_DEV; | ||
| return !"16.2.1-canary.12"?.includes('canary') && !process.env.__NEXT_TEST_MODE && !process.env.NEXT_PRIVATE_LOCAL_DEV; | ||
| } | ||
@@ -4,0 +4,0 @@ export class CanaryOnlyConfigError extends Error { |
@@ -75,3 +75,3 @@ "use strict"; | ||
| const data = await res.json(); | ||
| const versionData = data.versions["16.2.1-canary.11"]; | ||
| const versionData = data.versions["16.2.1-canary.12"]; | ||
| return { | ||
@@ -104,3 +104,3 @@ os: versionData.os, | ||
| lockfileParsed.dependencies[pkg] = { | ||
| version: "16.2.1-canary.11", | ||
| version: "16.2.1-canary.12", | ||
| resolved: pkgData.tarball, | ||
@@ -113,3 +113,3 @@ integrity: pkgData.integrity, | ||
| lockfileParsed.packages[pkg] = { | ||
| version: "16.2.1-canary.11", | ||
| version: "16.2.1-canary.12", | ||
| resolved: pkgData.tarball, | ||
@@ -116,0 +116,0 @@ integrity: pkgData.integrity, |
@@ -47,2 +47,3 @@ import type { NextConfig } from './config'; | ||
| dynamicOnHover: z.ZodOptional<z.ZodBoolean>; | ||
| useOffline: z.ZodOptional<z.ZodBoolean>; | ||
| optimisticRouting: z.ZodOptional<z.ZodBoolean>; | ||
@@ -49,0 +50,0 @@ varyParams: z.ZodOptional<z.ZodBoolean>; |
@@ -222,2 +222,3 @@ "use strict"; | ||
| dynamicOnHover: _zod.z.boolean().optional(), | ||
| useOffline: _zod.z.boolean().optional(), | ||
| optimisticRouting: _zod.z.boolean().optional(), | ||
@@ -224,0 +225,0 @@ varyParams: _zod.z.boolean().optional(), |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../../src/server/config-schema.ts"],"sourcesContent":["import type { NextConfig } from './config'\nimport { VALID_LOADERS } from '../shared/lib/image-config'\n\nimport { z } from 'next/dist/compiled/zod'\nimport type zod from 'next/dist/compiled/zod'\n\nimport type { SizeLimit } from '../types'\nimport {\n LIGHTNINGCSS_FEATURE_NAMES,\n type ExportPathMap,\n type TurbopackLoaderItem,\n type TurbopackOptions,\n type TurbopackRuleConfigItem,\n type TurbopackRuleConfigCollection,\n type TurbopackRuleCondition,\n type TurbopackLoaderBuiltinCondition,\n} from './config-shared'\nimport type {\n Header,\n Rewrite,\n RouteHas,\n Redirect,\n} from '../lib/load-custom-routes'\nimport { SUPPORTED_TEST_RUNNERS_LIST } from '../cli/next-test'\n\n// A custom zod schema for the SizeLimit type\nconst zSizeLimit = z.custom<SizeLimit>((val) => {\n if (typeof val === 'number' || typeof val === 'string') {\n return true\n }\n return false\n})\n\nconst zExportMap: zod.ZodType<ExportPathMap> = z.record(\n z.string(),\n z.object({\n page: z.string(),\n query: z.any(), // NextParsedUrlQuery\n\n // private optional properties\n _fallbackRouteParams: z.array(z.any()).optional(),\n _isAppDir: z.boolean().optional(),\n _isDynamicError: z.boolean().optional(),\n _isRoutePPREnabled: z.boolean().optional(),\n _allowEmptyStaticShell: z.boolean().optional(),\n })\n)\n\nconst zRouteHas: zod.ZodType<RouteHas> = z.union([\n z.object({\n type: z.enum(['header', 'query', 'cookie']),\n key: z.string(),\n value: z.string().optional(),\n }),\n z.object({\n type: z.literal('host'),\n key: z.undefined().optional(),\n value: z.string(),\n }),\n])\n\nconst zRewrite: zod.ZodType<Rewrite> = z.object({\n source: z.string(),\n destination: z.string(),\n basePath: z.literal(false).optional(),\n locale: z.literal(false).optional(),\n has: z.array(zRouteHas).optional(),\n missing: z.array(zRouteHas).optional(),\n internal: z.boolean().optional(),\n})\n\nconst zRedirect: zod.ZodType<Redirect> = z\n .object({\n source: z.string(),\n destination: z.string(),\n basePath: z.literal(false).optional(),\n locale: z.literal(false).optional(),\n has: z.array(zRouteHas).optional(),\n missing: z.array(zRouteHas).optional(),\n internal: z.boolean().optional(),\n })\n .and(\n z.union([\n z.object({\n statusCode: z.never().optional(),\n permanent: z.boolean(),\n }),\n z.object({\n statusCode: z.number(),\n permanent: z.never().optional(),\n }),\n ])\n )\n\nconst zHeader: zod.ZodType<Header> = z.object({\n source: z.string(),\n basePath: z.literal(false).optional(),\n locale: z.literal(false).optional(),\n headers: z.array(z.object({ key: z.string(), value: z.string() })),\n has: z.array(zRouteHas).optional(),\n missing: z.array(zRouteHas).optional(),\n\n internal: z.boolean().optional(),\n})\n\nconst zTurbopackLoaderItem: zod.ZodType<TurbopackLoaderItem> = z.union([\n z.string(),\n z.strictObject({\n loader: z.string(),\n // Any JSON value can be used as turbo loader options, so use z.any() here\n options: z.record(z.string(), z.any()).optional(),\n }),\n])\n\nconst zTurbopackLoaderBuiltinCondition: zod.ZodType<TurbopackLoaderBuiltinCondition> =\n z.union([\n z.literal('browser'),\n z.literal('foreign'),\n z.literal('development'),\n z.literal('production'),\n z.literal('node'),\n z.literal('edge-light'),\n ])\n\nconst zTurbopackCondition: zod.ZodType<TurbopackRuleCondition> = z.union([\n z.strictObject({ all: z.lazy(() => z.array(zTurbopackCondition)) }),\n z.strictObject({ any: z.lazy(() => z.array(zTurbopackCondition)) }),\n z.strictObject({ not: z.lazy(() => zTurbopackCondition) }),\n zTurbopackLoaderBuiltinCondition,\n z.strictObject({\n path: z.union([z.string(), z.instanceof(RegExp)]).optional(),\n content: z.instanceof(RegExp).optional(),\n query: z.union([z.string(), z.instanceof(RegExp)]).optional(),\n contentType: z.union([z.string(), z.instanceof(RegExp)]).optional(),\n }),\n])\n\nconst zTurbopackModuleType = z.enum([\n 'asset',\n 'ecmascript',\n 'typescript',\n 'css',\n 'css-module',\n 'wasm',\n 'raw',\n 'node',\n 'bytes',\n])\n\nconst zTurbopackRuleConfigItem: zod.ZodType<TurbopackRuleConfigItem> =\n z.strictObject({\n loaders: z.array(zTurbopackLoaderItem).optional(),\n as: z.string().optional(),\n condition: zTurbopackCondition.optional(),\n type: zTurbopackModuleType.optional(),\n })\n\nconst zTurbopackRuleConfigCollection: zod.ZodType<TurbopackRuleConfigCollection> =\n z.union([\n zTurbopackRuleConfigItem,\n z.array(z.union([zTurbopackLoaderItem, zTurbopackRuleConfigItem])),\n ])\n\nconst zTurbopackConfig: zod.ZodType<TurbopackOptions> = z.strictObject({\n rules: z.record(z.string(), zTurbopackRuleConfigCollection).optional(),\n resolveAlias: z\n .record(\n z.string(),\n z.union([\n z.string(),\n z.array(z.string()),\n z.record(z.string(), z.union([z.string(), z.array(z.string())])),\n ])\n )\n .optional(),\n resolveExtensions: z.array(z.string()).optional(),\n root: z.string().optional(),\n debugIds: z.boolean().optional(),\n ignoreIssue: z\n .array(\n z.object({\n path: z.union([z.string(), z.instanceof(RegExp)]),\n title: z.union([z.string(), z.instanceof(RegExp)]).optional(),\n description: z.union([z.string(), z.instanceof(RegExp)]).optional(),\n })\n )\n .optional(),\n})\n\nexport const experimentalSchema = {\n useSkewCookie: z.boolean().optional(),\n after: z.boolean().optional(),\n appNavFailHandling: z.boolean().optional(),\n appNewScrollHandler: z.boolean().optional(),\n preloadEntriesOnStart: z.boolean().optional(),\n allowedRevalidateHeaderKeys: z.array(z.string()).optional(),\n staleTimes: z\n .object({\n dynamic: z.number().optional(),\n static: z.number().gte(30).optional(),\n })\n .optional(),\n cacheLife: z\n .record(\n z.object({\n stale: z.number().optional(),\n revalidate: z.number().optional(),\n expire: z.number().optional(),\n })\n )\n .optional(),\n cacheHandlers: z.record(z.string(), z.string().optional()).optional(),\n clientRouterFilter: z.boolean().optional(),\n clientRouterFilterRedirects: z.boolean().optional(),\n clientRouterFilterAllowedRate: z.number().optional(),\n cpus: z.number().optional(),\n memoryBasedWorkersCount: z.boolean().optional(),\n craCompat: z.boolean().optional(),\n caseSensitiveRoutes: z.boolean().optional(),\n clientParamParsingOrigins: z.array(z.string()).optional(),\n cachedNavigations: z.boolean().optional(),\n partialFallbacks: z.boolean().optional(),\n dynamicOnHover: z.boolean().optional(),\n optimisticRouting: z.boolean().optional(),\n varyParams: z.boolean().optional(),\n prefetchInlining: z\n .union([\n z.boolean(),\n z.object({\n maxSize: z.number().optional(),\n maxBundleSize: z.number().optional(),\n }),\n ])\n .optional(),\n disableOptimizedLoading: z.boolean().optional(),\n disablePostcssPresetEnv: z.boolean().optional(),\n cacheComponents: z.boolean().optional(),\n inlineCss: z.boolean().optional(),\n esmExternals: z.union([z.boolean(), z.literal('loose')]).optional(),\n serverActions: z\n .object({\n bodySizeLimit: zSizeLimit.optional(),\n allowedOrigins: z.array(z.string()).optional(),\n })\n .optional(),\n maxPostponedStateSize: zSizeLimit.optional(),\n // The original type was Record<string, any>\n extensionAlias: z.record(z.string(), z.any()).optional(),\n externalDir: z.boolean().optional(),\n externalMiddlewareRewritesResolve: z.boolean().optional(),\n externalProxyRewritesResolve: z.boolean().optional(),\n exposeTestingApiInProductionBuild: z.boolean().optional(),\n instantNavigationDevToolsToggle: z.boolean().optional(),\n fallbackNodePolyfills: z.literal(false).optional(),\n fetchCacheKeyPrefix: z.string().optional(),\n forceSwcTransforms: z.boolean().optional(),\n fullySpecified: z.boolean().optional(),\n gzipSize: z.boolean().optional(),\n imgOptConcurrency: z.number().int().optional().nullable(),\n imgOptTimeoutInSeconds: z.number().int().optional(),\n imgOptMaxInputPixels: z.number().int().optional(),\n imgOptSequentialRead: z.boolean().optional().nullable(),\n imgOptSkipMetadata: z.boolean().optional().nullable(),\n isrFlushToDisk: z.boolean().optional(),\n largePageDataBytes: z.number().optional(),\n linkNoTouchStart: z.boolean().optional(),\n manualClientBasePath: z.boolean().optional(),\n middlewarePrefetch: z.enum(['strict', 'flexible']).optional(),\n proxyPrefetch: z.enum(['strict', 'flexible']).optional(),\n middlewareClientMaxBodySize: zSizeLimit.optional(),\n proxyClientMaxBodySize: zSizeLimit.optional(),\n multiZoneDraftMode: z.boolean().optional(),\n cssChunking: z.union([z.boolean(), z.literal('strict')]).optional(),\n nextScriptWorkers: z.boolean().optional(),\n // The critter option is unknown, use z.any() here\n optimizeCss: z.union([z.boolean(), z.any()]).optional(),\n optimisticClientCache: z.boolean().optional(),\n parallelServerCompiles: z.boolean().optional(),\n parallelServerBuildTraces: z.boolean().optional(),\n ppr: z\n .union([z.boolean(), z.literal('incremental')])\n .readonly()\n .optional(),\n taint: z.boolean().optional(),\n prerenderEarlyExit: z.boolean().optional(),\n proxyTimeout: z.number().gte(0).optional(),\n rootParams: z.boolean().optional(),\n mcpServer: z.boolean().optional(),\n removeUncaughtErrorAndRejectionListeners: z.boolean().optional(),\n validateRSCRequestHeaders: z.boolean().optional(),\n scrollRestoration: z.boolean().optional(),\n sri: z\n .object({\n algorithm: z.enum(['sha256', 'sha384', 'sha512']).optional(),\n })\n .optional(),\n swcPlugins: z\n // The specific swc plugin's option is unknown, use z.any() here\n .array(z.tuple([z.string(), z.record(z.string(), z.any())]))\n .optional(),\n swcTraceProfiling: z.boolean().optional(),\n // NonNullable<webpack.Configuration['experiments']>['buildHttp']\n urlImports: z.any().optional(),\n viewTransition: z.boolean().optional(),\n workerThreads: z.boolean().optional(),\n webVitalsAttribution: z\n .array(\n z.union([\n z.literal('CLS'),\n z.literal('FCP'),\n z.literal('FID'),\n z.literal('INP'),\n z.literal('LCP'),\n z.literal('TTFB'),\n ])\n )\n .optional(),\n // This is partial set of mdx-rs transform options we support, aligned\n // with next_core::next_config::MdxRsOptions. Ensure both types are kept in sync.\n mdxRs: z\n .union([\n z.boolean(),\n z.object({\n development: z.boolean().optional(),\n jsxRuntime: z.string().optional(),\n jsxImportSource: z.string().optional(),\n providerImportSource: z.string().optional(),\n mdxType: z.enum(['gfm', 'commonmark']).optional(),\n }),\n ])\n .optional(),\n transitionIndicator: z.boolean().optional(),\n gestureTransition: z.boolean().optional(),\n typedRoutes: z.boolean().optional(),\n webpackBuildWorker: z.boolean().optional(),\n webpackMemoryOptimizations: z.boolean().optional(),\n turbopackMemoryLimit: z.number().optional(),\n turbopackPluginRuntimeStrategy: z\n .enum(['workerThreads', 'childProcesses'])\n .optional(),\n turbopackMinify: z.boolean().optional(),\n turbopackFileSystemCacheForDev: z.boolean().optional(),\n turbopackFileSystemCacheForBuild: z.boolean().optional(),\n turbopackSourceMaps: z.boolean().optional(),\n turbopackInputSourceMaps: z.boolean().optional(),\n turbopackTreeShaking: z.boolean().optional(),\n turbopackRemoveUnusedImports: z.boolean().optional(),\n turbopackRemoveUnusedExports: z.boolean().optional(),\n turbopackScopeHoisting: z.boolean().optional(),\n turbopackClientSideNestedAsyncChunking: z.boolean().optional(),\n turbopackServerSideNestedAsyncChunking: z.boolean().optional(),\n turbopackImportTypeBytes: z.boolean().optional(),\n turbopackImportTypeText: z.boolean().optional(),\n turbopackUseBuiltinBabel: z.boolean().optional(),\n turbopackUseBuiltinSass: z.boolean().optional(),\n turbopackModuleIds: z.enum(['named', 'deterministic']).optional(),\n turbopackInferModuleSideEffects: z.boolean().optional(),\n optimizePackageImports: z.array(z.string()).optional(),\n optimizeServerReact: z.boolean().optional(),\n strictRouteTypes: z.boolean().optional(),\n clientTraceMetadata: z.array(z.string()).optional(),\n serverMinification: z.boolean().optional(),\n serverSourceMaps: z.boolean().optional(),\n useWasmBinary: z.boolean().optional(),\n useLightningcss: z.boolean().optional(),\n lightningCssFeatures: z\n .object({\n include: z.array(z.enum(LIGHTNINGCSS_FEATURE_NAMES)).optional(),\n exclude: z.array(z.enum(LIGHTNINGCSS_FEATURE_NAMES)).optional(),\n })\n .optional(),\n testProxy: z.boolean().optional(),\n defaultTestRunner: z.enum(SUPPORTED_TEST_RUNNERS_LIST).optional(),\n allowDevelopmentBuild: z.literal(true).optional(),\n\n reactDebugChannel: z.boolean().optional(),\n staticGenerationRetryCount: z.number().int().optional(),\n staticGenerationMaxConcurrency: z.number().int().optional(),\n staticGenerationMinPagesPerWorker: z.number().int().optional(),\n typedEnv: z.boolean().optional(),\n serverComponentsHmrCache: z.boolean().optional(),\n authInterrupts: z.boolean().optional(),\n useCache: z.boolean().optional(),\n useNodeStreams: z.boolean().optional(),\n slowModuleDetection: z\n .object({\n buildTimeThresholdMs: z.number().int(),\n })\n .optional(),\n globalNotFound: z.boolean().optional(),\n browserDebugInfoInTerminal: z\n .union([\n z.boolean(),\n z.enum(['error', 'warn', 'verbose']),\n z.object({\n level: z.enum(['error', 'warn', 'verbose']).optional(),\n depthLimit: z.number().int().positive().optional(),\n edgeLimit: z.number().int().positive().optional(),\n showSourceLocation: z.boolean().optional(),\n }),\n ])\n .optional(),\n lockDistDir: z.boolean().optional(),\n hideLogsAfterAbort: z.boolean().optional(),\n runtimeServerDeploymentId: z.boolean().optional(),\n immutableAssetToken: z.string().optional(),\n deferredEntries: z.array(z.string()).optional(),\n onBeforeDeferredEntries: z.function().returns(z.promise(z.void())).optional(),\n reportSystemEnvInlining: z.enum(['warn', 'error']).optional(),\n}\n\nexport const configSchema: zod.ZodType<NextConfig> = z.lazy(() =>\n z.strictObject({\n adapterPath: z.string().optional(),\n allowedDevOrigins: z.array(z.string()).optional(),\n assetPrefix: z.string().optional(),\n basePath: z.string().optional(),\n bundlePagesRouterDependencies: z.boolean().optional(),\n cacheComponents: z.boolean().optional(),\n cacheHandler: z.string().min(1).optional(),\n cacheHandlers: z.record(z.string(), z.string().optional()).optional(),\n cacheLife: z\n .record(\n z.object({\n stale: z.number().optional(),\n revalidate: z.number().optional(),\n expire: z.number().optional(),\n })\n )\n .optional(),\n cacheMaxMemorySize: z.number().optional(),\n cleanDistDir: z.boolean().optional(),\n compiler: z\n .strictObject({\n emotion: z\n .union([\n z.boolean(),\n z.object({\n sourceMap: z.boolean().optional(),\n autoLabel: z\n .union([\n z.literal('always'),\n z.literal('dev-only'),\n z.literal('never'),\n ])\n .optional(),\n labelFormat: z.string().min(1).optional(),\n importMap: z\n .record(\n z.string(),\n z.record(\n z.string(),\n z.object({\n canonicalImport: z\n .tuple([z.string(), z.string()])\n .optional(),\n styledBaseImport: z\n .tuple([z.string(), z.string()])\n .optional(),\n })\n )\n )\n .optional(),\n }),\n ])\n .optional(),\n reactRemoveProperties: z\n .union([\n z.boolean().optional(),\n z.object({\n properties: z.array(z.string()).optional(),\n }),\n ])\n .optional(),\n relay: z\n .object({\n src: z.string(),\n artifactDirectory: z.string().optional(),\n language: z.enum(['javascript', 'typescript', 'flow']).optional(),\n eagerEsModules: z.boolean().optional(),\n })\n .optional(),\n removeConsole: z\n .union([\n z.boolean().optional(),\n z.object({\n exclude: z.array(z.string()).min(1).optional(),\n }),\n ])\n .optional(),\n styledComponents: z.union([\n z.boolean().optional(),\n z.object({\n displayName: z.boolean().optional(),\n topLevelImportPaths: z.array(z.string()).optional(),\n ssr: z.boolean().optional(),\n fileName: z.boolean().optional(),\n meaninglessFileNames: z.array(z.string()).optional(),\n minify: z.boolean().optional(),\n transpileTemplateLiterals: z.boolean().optional(),\n namespace: z.string().min(1).optional(),\n pure: z.boolean().optional(),\n cssProp: z.boolean().optional(),\n }),\n ]),\n styledJsx: z.union([\n z.boolean().optional(),\n z.object({\n useLightningcss: z.boolean().optional(),\n }),\n ]),\n define: z.record(z.string(), z.string()).optional(),\n defineServer: z.record(z.string(), z.string()).optional(),\n runAfterProductionCompile: z\n .function()\n .returns(z.promise(z.void()))\n .optional(),\n })\n .optional(),\n compress: z.boolean().optional(),\n configOrigin: z.string().optional(),\n crossOrigin: z\n .union([z.literal('anonymous'), z.literal('use-credentials')])\n .optional(),\n deploymentId: z.string().optional(),\n devIndicators: z\n .union([\n z.object({\n position: z\n .union([\n z.literal('bottom-left'),\n z.literal('bottom-right'),\n z.literal('top-left'),\n z.literal('top-right'),\n ])\n .optional(),\n }),\n z.literal(false),\n ])\n .optional(),\n distDir: z.string().min(1).optional(),\n env: z.record(z.string(), z.union([z.string(), z.undefined()])).optional(),\n enablePrerenderSourceMaps: z.boolean().optional(),\n excludeDefaultMomentLocales: z.boolean().optional(),\n experimental: z.strictObject(experimentalSchema).optional(),\n exportPathMap: z\n .function()\n .args(\n zExportMap,\n z.object({\n dev: z.boolean(),\n dir: z.string(),\n outDir: z.string().nullable(),\n distDir: z.string(),\n buildId: z.string(),\n })\n )\n .returns(z.union([zExportMap, z.promise(zExportMap)]))\n .optional(),\n generateBuildId: z\n .function()\n .args()\n .returns(\n z.union([\n z.string(),\n z.null(),\n z.promise(z.union([z.string(), z.null()])),\n ])\n )\n .optional(),\n generateEtags: z.boolean().optional(),\n headers: z\n .function()\n .args()\n .returns(z.promise(z.array(zHeader)))\n .optional(),\n htmlLimitedBots: z.instanceof(RegExp).optional(),\n httpAgentOptions: z\n .strictObject({ keepAlive: z.boolean().optional() })\n .optional(),\n i18n: z\n .strictObject({\n defaultLocale: z.string().min(1),\n domains: z\n .array(\n z.strictObject({\n defaultLocale: z.string().min(1),\n domain: z.string().min(1),\n http: z.literal(true).optional(),\n locales: z.array(z.string().min(1)).optional(),\n })\n )\n .optional(),\n localeDetection: z.literal(false).optional(),\n locales: z.array(z.string().min(1)),\n })\n .nullable()\n .optional(),\n images: z\n .strictObject({\n localPatterns: z\n .array(\n z.strictObject({\n pathname: z.string().optional(),\n search: z.string().optional(),\n })\n )\n .max(25)\n .optional(),\n remotePatterns: z\n .array(\n z.union([\n z.instanceof(URL),\n z.strictObject({\n hostname: z.string(),\n pathname: z.string().optional(),\n port: z.string().max(5).optional(),\n protocol: z.enum(['http', 'https']).optional(),\n search: z.string().optional(),\n }),\n ])\n )\n .max(50)\n .optional(),\n unoptimized: z.boolean().optional(),\n customCacheHandler: z.boolean().optional(),\n contentSecurityPolicy: z.string().optional(),\n contentDispositionType: z.enum(['inline', 'attachment']).optional(),\n dangerouslyAllowSVG: z.boolean().optional(),\n dangerouslyAllowLocalIP: z.boolean().optional(),\n deviceSizes: z\n .array(z.number().int().gte(1).lte(10000))\n .max(25)\n .optional(),\n disableStaticImages: z.boolean().optional(),\n domains: z.array(z.string()).max(50).optional(),\n formats: z\n .array(z.enum(['image/avif', 'image/webp']))\n .max(4)\n .optional(),\n imageSizes: z\n .array(z.number().int().gte(1).lte(10000))\n .min(0)\n .max(25)\n .optional(),\n loader: z.enum(VALID_LOADERS).optional(),\n loaderFile: z.string().optional(),\n maximumDiskCacheSize: z.number().int().min(0).optional(),\n maximumRedirects: z.number().int().min(0).max(20).optional(),\n maximumResponseBody: z\n .number()\n .int()\n .min(1)\n .max(Number.MAX_SAFE_INTEGER)\n .optional(),\n minimumCacheTTL: z.number().int().gte(0).optional(),\n path: z.string().optional(),\n qualities: z\n .array(z.number().int().gte(1).lte(100))\n .min(1)\n .max(20)\n .optional(),\n })\n .optional(),\n logging: z\n .union([\n z.object({\n fetches: z\n .object({\n fullUrl: z.boolean().optional(),\n hmrRefreshes: z.boolean().optional(),\n })\n .optional(),\n incomingRequests: z\n .union([\n z.boolean(),\n z.object({\n ignore: z.array(z.instanceof(RegExp)),\n }),\n ])\n .optional(),\n serverFunctions: z.boolean().optional(),\n browserToTerminal: z\n .union([z.boolean(), z.enum(['error', 'warn'])])\n .optional(),\n }),\n z.literal(false),\n ])\n .optional(),\n modularizeImports: z\n .record(\n z.string(),\n z.object({\n transform: z.union([z.string(), z.record(z.string(), z.string())]),\n preventFullImport: z.boolean().optional(),\n skipDefaultConversion: z.boolean().optional(),\n })\n )\n .optional(),\n onDemandEntries: z\n .strictObject({\n maxInactiveAge: z.number().optional(),\n pagesBufferLength: z.number().optional(),\n })\n .optional(),\n output: z.enum(['standalone', 'export']).optional(),\n outputFileTracingRoot: z.string().optional(),\n outputFileTracingExcludes: z\n .record(z.string(), z.array(z.string()))\n .optional(),\n outputFileTracingIncludes: z\n .record(z.string(), z.array(z.string()))\n .optional(),\n pageExtensions: z.array(z.string()).min(1).optional(),\n poweredByHeader: z.boolean().optional(),\n productionBrowserSourceMaps: z.boolean().optional(),\n reactCompiler: z.union([\n z.boolean(),\n z\n .object({\n compilationMode: z.enum(['infer', 'annotation', 'all']).optional(),\n panicThreshold: z\n .enum(['none', 'critical_errors', 'all_errors'])\n .optional(),\n })\n .optional(),\n ]),\n reactProductionProfiling: z.boolean().optional(),\n reactStrictMode: z.boolean().nullable().optional(),\n reactMaxHeadersLength: z.number().nonnegative().int().optional(),\n redirects: z\n .function()\n .args()\n .returns(z.promise(z.array(zRedirect)))\n .optional(),\n rewrites: z\n .function()\n .args()\n .returns(\n z.promise(\n z.union([\n z.array(zRewrite),\n z.object({\n beforeFiles: z.array(zRewrite),\n afterFiles: z.array(zRewrite),\n fallback: z.array(zRewrite),\n }),\n ])\n )\n )\n .optional(),\n // sassOptions properties are unknown besides implementation, use z.any() here\n sassOptions: z\n .object({\n implementation: z.string().optional(),\n })\n .catchall(z.any())\n .optional(),\n serverExternalPackages: z.array(z.string()).optional(),\n skipMiddlewareUrlNormalize: z.boolean().optional(),\n skipProxyUrlNormalize: z.boolean().optional(),\n skipTrailingSlashRedirect: z.boolean().optional(),\n staticPageGenerationTimeout: z.number().optional(),\n expireTime: z.number().optional(),\n target: z.string().optional(),\n trailingSlash: z.boolean().optional(),\n transpilePackages: z.array(z.string()).optional(),\n turbopack: zTurbopackConfig.optional(),\n typescript: z\n .strictObject({\n ignoreBuildErrors: z.boolean().optional(),\n tsconfigPath: z.string().min(1).optional(),\n })\n .optional(),\n typedRoutes: z.boolean().optional(),\n useFileSystemPublicRoutes: z.boolean().optional(),\n // The webpack config type is unknown, use z.any() here\n webpack: z.any().nullable().optional(),\n watchOptions: z\n .strictObject({\n pollIntervalMs: z.number().positive().finite().optional(),\n })\n .optional(),\n })\n)\n"],"names":["configSchema","experimentalSchema","zSizeLimit","z","custom","val","zExportMap","record","string","object","page","query","any","_fallbackRouteParams","array","optional","_isAppDir","boolean","_isDynamicError","_isRoutePPREnabled","_allowEmptyStaticShell","zRouteHas","union","type","enum","key","value","literal","undefined","zRewrite","source","destination","basePath","locale","has","missing","internal","zRedirect","and","statusCode","never","permanent","number","zHeader","headers","zTurbopackLoaderItem","strictObject","loader","options","zTurbopackLoaderBuiltinCondition","zTurbopackCondition","all","lazy","not","path","instanceof","RegExp","content","contentType","zTurbopackModuleType","zTurbopackRuleConfigItem","loaders","as","condition","zTurbopackRuleConfigCollection","zTurbopackConfig","rules","resolveAlias","resolveExtensions","root","debugIds","ignoreIssue","title","description","useSkewCookie","after","appNavFailHandling","appNewScrollHandler","preloadEntriesOnStart","allowedRevalidateHeaderKeys","staleTimes","dynamic","static","gte","cacheLife","stale","revalidate","expire","cacheHandlers","clientRouterFilter","clientRouterFilterRedirects","clientRouterFilterAllowedRate","cpus","memoryBasedWorkersCount","craCompat","caseSensitiveRoutes","clientParamParsingOrigins","cachedNavigations","partialFallbacks","dynamicOnHover","optimisticRouting","varyParams","prefetchInlining","maxSize","maxBundleSize","disableOptimizedLoading","disablePostcssPresetEnv","cacheComponents","inlineCss","esmExternals","serverActions","bodySizeLimit","allowedOrigins","maxPostponedStateSize","extensionAlias","externalDir","externalMiddlewareRewritesResolve","externalProxyRewritesResolve","exposeTestingApiInProductionBuild","instantNavigationDevToolsToggle","fallbackNodePolyfills","fetchCacheKeyPrefix","forceSwcTransforms","fullySpecified","gzipSize","imgOptConcurrency","int","nullable","imgOptTimeoutInSeconds","imgOptMaxInputPixels","imgOptSequentialRead","imgOptSkipMetadata","isrFlushToDisk","largePageDataBytes","linkNoTouchStart","manualClientBasePath","middlewarePrefetch","proxyPrefetch","middlewareClientMaxBodySize","proxyClientMaxBodySize","multiZoneDraftMode","cssChunking","nextScriptWorkers","optimizeCss","optimisticClientCache","parallelServerCompiles","parallelServerBuildTraces","ppr","readonly","taint","prerenderEarlyExit","proxyTimeout","rootParams","mcpServer","removeUncaughtErrorAndRejectionListeners","validateRSCRequestHeaders","scrollRestoration","sri","algorithm","swcPlugins","tuple","swcTraceProfiling","urlImports","viewTransition","workerThreads","webVitalsAttribution","mdxRs","development","jsxRuntime","jsxImportSource","providerImportSource","mdxType","transitionIndicator","gestureTransition","typedRoutes","webpackBuildWorker","webpackMemoryOptimizations","turbopackMemoryLimit","turbopackPluginRuntimeStrategy","turbopackMinify","turbopackFileSystemCacheForDev","turbopackFileSystemCacheForBuild","turbopackSourceMaps","turbopackInputSourceMaps","turbopackTreeShaking","turbopackRemoveUnusedImports","turbopackRemoveUnusedExports","turbopackScopeHoisting","turbopackClientSideNestedAsyncChunking","turbopackServerSideNestedAsyncChunking","turbopackImportTypeBytes","turbopackImportTypeText","turbopackUseBuiltinBabel","turbopackUseBuiltinSass","turbopackModuleIds","turbopackInferModuleSideEffects","optimizePackageImports","optimizeServerReact","strictRouteTypes","clientTraceMetadata","serverMinification","serverSourceMaps","useWasmBinary","useLightningcss","lightningCssFeatures","include","LIGHTNINGCSS_FEATURE_NAMES","exclude","testProxy","defaultTestRunner","SUPPORTED_TEST_RUNNERS_LIST","allowDevelopmentBuild","reactDebugChannel","staticGenerationRetryCount","staticGenerationMaxConcurrency","staticGenerationMinPagesPerWorker","typedEnv","serverComponentsHmrCache","authInterrupts","useCache","useNodeStreams","slowModuleDetection","buildTimeThresholdMs","globalNotFound","browserDebugInfoInTerminal","level","depthLimit","positive","edgeLimit","showSourceLocation","lockDistDir","hideLogsAfterAbort","runtimeServerDeploymentId","immutableAssetToken","deferredEntries","onBeforeDeferredEntries","function","returns","promise","void","reportSystemEnvInlining","adapterPath","allowedDevOrigins","assetPrefix","bundlePagesRouterDependencies","cacheHandler","min","cacheMaxMemorySize","cleanDistDir","compiler","emotion","sourceMap","autoLabel","labelFormat","importMap","canonicalImport","styledBaseImport","reactRemoveProperties","properties","relay","src","artifactDirectory","language","eagerEsModules","removeConsole","styledComponents","displayName","topLevelImportPaths","ssr","fileName","meaninglessFileNames","minify","transpileTemplateLiterals","namespace","pure","cssProp","styledJsx","define","defineServer","runAfterProductionCompile","compress","configOrigin","crossOrigin","deploymentId","devIndicators","position","distDir","env","enablePrerenderSourceMaps","excludeDefaultMomentLocales","experimental","exportPathMap","args","dev","dir","outDir","buildId","generateBuildId","null","generateEtags","htmlLimitedBots","httpAgentOptions","keepAlive","i18n","defaultLocale","domains","domain","http","locales","localeDetection","images","localPatterns","pathname","search","max","remotePatterns","URL","hostname","port","protocol","unoptimized","customCacheHandler","contentSecurityPolicy","contentDispositionType","dangerouslyAllowSVG","dangerouslyAllowLocalIP","deviceSizes","lte","disableStaticImages","formats","imageSizes","VALID_LOADERS","loaderFile","maximumDiskCacheSize","maximumRedirects","maximumResponseBody","Number","MAX_SAFE_INTEGER","minimumCacheTTL","qualities","logging","fetches","fullUrl","hmrRefreshes","incomingRequests","ignore","serverFunctions","browserToTerminal","modularizeImports","transform","preventFullImport","skipDefaultConversion","onDemandEntries","maxInactiveAge","pagesBufferLength","output","outputFileTracingRoot","outputFileTracingExcludes","outputFileTracingIncludes","pageExtensions","poweredByHeader","productionBrowserSourceMaps","reactCompiler","compilationMode","panicThreshold","reactProductionProfiling","reactStrictMode","reactMaxHeadersLength","nonnegative","redirects","rewrites","beforeFiles","afterFiles","fallback","sassOptions","implementation","catchall","serverExternalPackages","skipMiddlewareUrlNormalize","skipProxyUrlNormalize","skipTrailingSlashRedirect","staticPageGenerationTimeout","expireTime","target","trailingSlash","transpilePackages","turbopack","typescript","ignoreBuildErrors","tsconfigPath","useFileSystemPublicRoutes","webpack","watchOptions","pollIntervalMs","finite"],"mappings":";;;;;;;;;;;;;;;IA2ZaA,YAAY;eAAZA;;IA9NAC,kBAAkB;eAAlBA;;;6BA5LiB;qBAEZ;8BAaX;0BAOqC;AAE5C,6CAA6C;AAC7C,MAAMC,aAAaC,MAAC,CAACC,MAAM,CAAY,CAACC;IACtC,IAAI,OAAOA,QAAQ,YAAY,OAAOA,QAAQ,UAAU;QACtD,OAAO;IACT;IACA,OAAO;AACT;AAEA,MAAMC,aAAyCH,MAAC,CAACI,MAAM,CACrDJ,MAAC,CAACK,MAAM,IACRL,MAAC,CAACM,MAAM,CAAC;IACPC,MAAMP,MAAC,CAACK,MAAM;IACdG,OAAOR,MAAC,CAACS,GAAG;IAEZ,8BAA8B;IAC9BC,sBAAsBV,MAAC,CAACW,KAAK,CAACX,MAAC,CAACS,GAAG,IAAIG,QAAQ;IAC/CC,WAAWb,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC/BG,iBAAiBf,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACrCI,oBAAoBhB,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACxCK,wBAAwBjB,MAAC,CAACc,OAAO,GAAGF,QAAQ;AAC9C;AAGF,MAAMM,YAAmClB,MAAC,CAACmB,KAAK,CAAC;IAC/CnB,MAAC,CAACM,MAAM,CAAC;QACPc,MAAMpB,MAAC,CAACqB,IAAI,CAAC;YAAC;YAAU;YAAS;SAAS;QAC1CC,KAAKtB,MAAC,CAACK,MAAM;QACbkB,OAAOvB,MAAC,CAACK,MAAM,GAAGO,QAAQ;IAC5B;IACAZ,MAAC,CAACM,MAAM,CAAC;QACPc,MAAMpB,MAAC,CAACwB,OAAO,CAAC;QAChBF,KAAKtB,MAAC,CAACyB,SAAS,GAAGb,QAAQ;QAC3BW,OAAOvB,MAAC,CAACK,MAAM;IACjB;CACD;AAED,MAAMqB,WAAiC1B,MAAC,CAACM,MAAM,CAAC;IAC9CqB,QAAQ3B,MAAC,CAACK,MAAM;IAChBuB,aAAa5B,MAAC,CAACK,MAAM;IACrBwB,UAAU7B,MAAC,CAACwB,OAAO,CAAC,OAAOZ,QAAQ;IACnCkB,QAAQ9B,MAAC,CAACwB,OAAO,CAAC,OAAOZ,QAAQ;IACjCmB,KAAK/B,MAAC,CAACW,KAAK,CAACO,WAAWN,QAAQ;IAChCoB,SAAShC,MAAC,CAACW,KAAK,CAACO,WAAWN,QAAQ;IACpCqB,UAAUjC,MAAC,CAACc,OAAO,GAAGF,QAAQ;AAChC;AAEA,MAAMsB,YAAmClC,MAAC,CACvCM,MAAM,CAAC;IACNqB,QAAQ3B,MAAC,CAACK,MAAM;IAChBuB,aAAa5B,MAAC,CAACK,MAAM;IACrBwB,UAAU7B,MAAC,CAACwB,OAAO,CAAC,OAAOZ,QAAQ;IACnCkB,QAAQ9B,MAAC,CAACwB,OAAO,CAAC,OAAOZ,QAAQ;IACjCmB,KAAK/B,MAAC,CAACW,KAAK,CAACO,WAAWN,QAAQ;IAChCoB,SAAShC,MAAC,CAACW,KAAK,CAACO,WAAWN,QAAQ;IACpCqB,UAAUjC,MAAC,CAACc,OAAO,GAAGF,QAAQ;AAChC,GACCuB,GAAG,CACFnC,MAAC,CAACmB,KAAK,CAAC;IACNnB,MAAC,CAACM,MAAM,CAAC;QACP8B,YAAYpC,MAAC,CAACqC,KAAK,GAAGzB,QAAQ;QAC9B0B,WAAWtC,MAAC,CAACc,OAAO;IACtB;IACAd,MAAC,CAACM,MAAM,CAAC;QACP8B,YAAYpC,MAAC,CAACuC,MAAM;QACpBD,WAAWtC,MAAC,CAACqC,KAAK,GAAGzB,QAAQ;IAC/B;CACD;AAGL,MAAM4B,UAA+BxC,MAAC,CAACM,MAAM,CAAC;IAC5CqB,QAAQ3B,MAAC,CAACK,MAAM;IAChBwB,UAAU7B,MAAC,CAACwB,OAAO,CAAC,OAAOZ,QAAQ;IACnCkB,QAAQ9B,MAAC,CAACwB,OAAO,CAAC,OAAOZ,QAAQ;IACjC6B,SAASzC,MAAC,CAACW,KAAK,CAACX,MAAC,CAACM,MAAM,CAAC;QAAEgB,KAAKtB,MAAC,CAACK,MAAM;QAAIkB,OAAOvB,MAAC,CAACK,MAAM;IAAG;IAC/D0B,KAAK/B,MAAC,CAACW,KAAK,CAACO,WAAWN,QAAQ;IAChCoB,SAAShC,MAAC,CAACW,KAAK,CAACO,WAAWN,QAAQ;IAEpCqB,UAAUjC,MAAC,CAACc,OAAO,GAAGF,QAAQ;AAChC;AAEA,MAAM8B,uBAAyD1C,MAAC,CAACmB,KAAK,CAAC;IACrEnB,MAAC,CAACK,MAAM;IACRL,MAAC,CAAC2C,YAAY,CAAC;QACbC,QAAQ5C,MAAC,CAACK,MAAM;QAChB,0EAA0E;QAC1EwC,SAAS7C,MAAC,CAACI,MAAM,CAACJ,MAAC,CAACK,MAAM,IAAIL,MAAC,CAACS,GAAG,IAAIG,QAAQ;IACjD;CACD;AAED,MAAMkC,mCACJ9C,MAAC,CAACmB,KAAK,CAAC;IACNnB,MAAC,CAACwB,OAAO,CAAC;IACVxB,MAAC,CAACwB,OAAO,CAAC;IACVxB,MAAC,CAACwB,OAAO,CAAC;IACVxB,MAAC,CAACwB,OAAO,CAAC;IACVxB,MAAC,CAACwB,OAAO,CAAC;IACVxB,MAAC,CAACwB,OAAO,CAAC;CACX;AAEH,MAAMuB,sBAA2D/C,MAAC,CAACmB,KAAK,CAAC;IACvEnB,MAAC,CAAC2C,YAAY,CAAC;QAAEK,KAAKhD,MAAC,CAACiD,IAAI,CAAC,IAAMjD,MAAC,CAACW,KAAK,CAACoC;IAAsB;IACjE/C,MAAC,CAAC2C,YAAY,CAAC;QAAElC,KAAKT,MAAC,CAACiD,IAAI,CAAC,IAAMjD,MAAC,CAACW,KAAK,CAACoC;IAAsB;IACjE/C,MAAC,CAAC2C,YAAY,CAAC;QAAEO,KAAKlD,MAAC,CAACiD,IAAI,CAAC,IAAMF;IAAqB;IACxDD;IACA9C,MAAC,CAAC2C,YAAY,CAAC;QACbQ,MAAMnD,MAAC,CAACmB,KAAK,CAAC;YAACnB,MAAC,CAACK,MAAM;YAAIL,MAAC,CAACoD,UAAU,CAACC;SAAQ,EAAEzC,QAAQ;QAC1D0C,SAAStD,MAAC,CAACoD,UAAU,CAACC,QAAQzC,QAAQ;QACtCJ,OAAOR,MAAC,CAACmB,KAAK,CAAC;YAACnB,MAAC,CAACK,MAAM;YAAIL,MAAC,CAACoD,UAAU,CAACC;SAAQ,EAAEzC,QAAQ;QAC3D2C,aAAavD,MAAC,CAACmB,KAAK,CAAC;YAACnB,MAAC,CAACK,MAAM;YAAIL,MAAC,CAACoD,UAAU,CAACC;SAAQ,EAAEzC,QAAQ;IACnE;CACD;AAED,MAAM4C,uBAAuBxD,MAAC,CAACqB,IAAI,CAAC;IAClC;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD;AAED,MAAMoC,2BACJzD,MAAC,CAAC2C,YAAY,CAAC;IACbe,SAAS1D,MAAC,CAACW,KAAK,CAAC+B,sBAAsB9B,QAAQ;IAC/C+C,IAAI3D,MAAC,CAACK,MAAM,GAAGO,QAAQ;IACvBgD,WAAWb,oBAAoBnC,QAAQ;IACvCQ,MAAMoC,qBAAqB5C,QAAQ;AACrC;AAEF,MAAMiD,iCACJ7D,MAAC,CAACmB,KAAK,CAAC;IACNsC;IACAzD,MAAC,CAACW,KAAK,CAACX,MAAC,CAACmB,KAAK,CAAC;QAACuB;QAAsBe;KAAyB;CACjE;AAEH,MAAMK,mBAAkD9D,MAAC,CAAC2C,YAAY,CAAC;IACrEoB,OAAO/D,MAAC,CAACI,MAAM,CAACJ,MAAC,CAACK,MAAM,IAAIwD,gCAAgCjD,QAAQ;IACpEoD,cAAchE,MAAC,CACZI,MAAM,CACLJ,MAAC,CAACK,MAAM,IACRL,MAAC,CAACmB,KAAK,CAAC;QACNnB,MAAC,CAACK,MAAM;QACRL,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM;QAChBL,MAAC,CAACI,MAAM,CAACJ,MAAC,CAACK,MAAM,IAAIL,MAAC,CAACmB,KAAK,CAAC;YAACnB,MAAC,CAACK,MAAM;YAAIL,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM;SAAI;KAC/D,GAEFO,QAAQ;IACXqD,mBAAmBjE,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,IAAIO,QAAQ;IAC/CsD,MAAMlE,MAAC,CAACK,MAAM,GAAGO,QAAQ;IACzBuD,UAAUnE,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC9BwD,aAAapE,MAAC,CACXW,KAAK,CACJX,MAAC,CAACM,MAAM,CAAC;QACP6C,MAAMnD,MAAC,CAACmB,KAAK,CAAC;YAACnB,MAAC,CAACK,MAAM;YAAIL,MAAC,CAACoD,UAAU,CAACC;SAAQ;QAChDgB,OAAOrE,MAAC,CAACmB,KAAK,CAAC;YAACnB,MAAC,CAACK,MAAM;YAAIL,MAAC,CAACoD,UAAU,CAACC;SAAQ,EAAEzC,QAAQ;QAC3D0D,aAAatE,MAAC,CAACmB,KAAK,CAAC;YAACnB,MAAC,CAACK,MAAM;YAAIL,MAAC,CAACoD,UAAU,CAACC;SAAQ,EAAEzC,QAAQ;IACnE,IAEDA,QAAQ;AACb;AAEO,MAAMd,qBAAqB;IAChCyE,eAAevE,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACnC4D,OAAOxE,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC3B6D,oBAAoBzE,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACxC8D,qBAAqB1E,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACzC+D,uBAAuB3E,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC3CgE,6BAA6B5E,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,IAAIO,QAAQ;IACzDiE,YAAY7E,MAAC,CACVM,MAAM,CAAC;QACNwE,SAAS9E,MAAC,CAACuC,MAAM,GAAG3B,QAAQ;QAC5BmE,QAAQ/E,MAAC,CAACuC,MAAM,GAAGyC,GAAG,CAAC,IAAIpE,QAAQ;IACrC,GACCA,QAAQ;IACXqE,WAAWjF,MAAC,CACTI,MAAM,CACLJ,MAAC,CAACM,MAAM,CAAC;QACP4E,OAAOlF,MAAC,CAACuC,MAAM,GAAG3B,QAAQ;QAC1BuE,YAAYnF,MAAC,CAACuC,MAAM,GAAG3B,QAAQ;QAC/BwE,QAAQpF,MAAC,CAACuC,MAAM,GAAG3B,QAAQ;IAC7B,IAEDA,QAAQ;IACXyE,eAAerF,MAAC,CAACI,MAAM,CAACJ,MAAC,CAACK,MAAM,IAAIL,MAAC,CAACK,MAAM,GAAGO,QAAQ,IAAIA,QAAQ;IACnE0E,oBAAoBtF,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACxC2E,6BAA6BvF,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACjD4E,+BAA+BxF,MAAC,CAACuC,MAAM,GAAG3B,QAAQ;IAClD6E,MAAMzF,MAAC,CAACuC,MAAM,GAAG3B,QAAQ;IACzB8E,yBAAyB1F,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC7C+E,WAAW3F,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC/BgF,qBAAqB5F,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACzCiF,2BAA2B7F,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,IAAIO,QAAQ;IACvDkF,mBAAmB9F,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACvCmF,kBAAkB/F,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACtCoF,gBAAgBhG,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACpCqF,mBAAmBjG,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACvCsF,YAAYlG,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAChCuF,kBAAkBnG,MAAC,CAChBmB,KAAK,CAAC;QACLnB,MAAC,CAACc,OAAO;QACTd,MAAC,CAACM,MAAM,CAAC;YACP8F,SAASpG,MAAC,CAACuC,MAAM,GAAG3B,QAAQ;YAC5ByF,eAAerG,MAAC,CAACuC,MAAM,GAAG3B,QAAQ;QACpC;KACD,EACAA,QAAQ;IACX0F,yBAAyBtG,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC7C2F,yBAAyBvG,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC7C4F,iBAAiBxG,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACrC6F,WAAWzG,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC/B8F,cAAc1G,MAAC,CAACmB,KAAK,CAAC;QAACnB,MAAC,CAACc,OAAO;QAAId,MAAC,CAACwB,OAAO,CAAC;KAAS,EAAEZ,QAAQ;IACjE+F,eAAe3G,MAAC,CACbM,MAAM,CAAC;QACNsG,eAAe7G,WAAWa,QAAQ;QAClCiG,gBAAgB7G,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,IAAIO,QAAQ;IAC9C,GACCA,QAAQ;IACXkG,uBAAuB/G,WAAWa,QAAQ;IAC1C,4CAA4C;IAC5CmG,gBAAgB/G,MAAC,CAACI,MAAM,CAACJ,MAAC,CAACK,MAAM,IAAIL,MAAC,CAACS,GAAG,IAAIG,QAAQ;IACtDoG,aAAahH,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACjCqG,mCAAmCjH,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACvDsG,8BAA8BlH,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAClDuG,mCAAmCnH,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACvDwG,iCAAiCpH,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACrDyG,uBAAuBrH,MAAC,CAACwB,OAAO,CAAC,OAAOZ,QAAQ;IAChD0G,qBAAqBtH,MAAC,CAACK,MAAM,GAAGO,QAAQ;IACxC2G,oBAAoBvH,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACxC4G,gBAAgBxH,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACpC6G,UAAUzH,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC9B8G,mBAAmB1H,MAAC,CAACuC,MAAM,GAAGoF,GAAG,GAAG/G,QAAQ,GAAGgH,QAAQ;IACvDC,wBAAwB7H,MAAC,CAACuC,MAAM,GAAGoF,GAAG,GAAG/G,QAAQ;IACjDkH,sBAAsB9H,MAAC,CAACuC,MAAM,GAAGoF,GAAG,GAAG/G,QAAQ;IAC/CmH,sBAAsB/H,MAAC,CAACc,OAAO,GAAGF,QAAQ,GAAGgH,QAAQ;IACrDI,oBAAoBhI,MAAC,CAACc,OAAO,GAAGF,QAAQ,GAAGgH,QAAQ;IACnDK,gBAAgBjI,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACpCsH,oBAAoBlI,MAAC,CAACuC,MAAM,GAAG3B,QAAQ;IACvCuH,kBAAkBnI,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACtCwH,sBAAsBpI,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC1CyH,oBAAoBrI,MAAC,CAACqB,IAAI,CAAC;QAAC;QAAU;KAAW,EAAET,QAAQ;IAC3D0H,eAAetI,MAAC,CAACqB,IAAI,CAAC;QAAC;QAAU;KAAW,EAAET,QAAQ;IACtD2H,6BAA6BxI,WAAWa,QAAQ;IAChD4H,wBAAwBzI,WAAWa,QAAQ;IAC3C6H,oBAAoBzI,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACxC8H,aAAa1I,MAAC,CAACmB,KAAK,CAAC;QAACnB,MAAC,CAACc,OAAO;QAAId,MAAC,CAACwB,OAAO,CAAC;KAAU,EAAEZ,QAAQ;IACjE+H,mBAAmB3I,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACvC,kDAAkD;IAClDgI,aAAa5I,MAAC,CAACmB,KAAK,CAAC;QAACnB,MAAC,CAACc,OAAO;QAAId,MAAC,CAACS,GAAG;KAAG,EAAEG,QAAQ;IACrDiI,uBAAuB7I,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC3CkI,wBAAwB9I,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC5CmI,2BAA2B/I,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC/CoI,KAAKhJ,MAAC,CACHmB,KAAK,CAAC;QAACnB,MAAC,CAACc,OAAO;QAAId,MAAC,CAACwB,OAAO,CAAC;KAAe,EAC7CyH,QAAQ,GACRrI,QAAQ;IACXsI,OAAOlJ,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC3BuI,oBAAoBnJ,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACxCwI,cAAcpJ,MAAC,CAACuC,MAAM,GAAGyC,GAAG,CAAC,GAAGpE,QAAQ;IACxCyI,YAAYrJ,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAChC0I,WAAWtJ,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC/B2I,0CAA0CvJ,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC9D4I,2BAA2BxJ,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC/C6I,mBAAmBzJ,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACvC8I,KAAK1J,MAAC,CACHM,MAAM,CAAC;QACNqJ,WAAW3J,MAAC,CAACqB,IAAI,CAAC;YAAC;YAAU;YAAU;SAAS,EAAET,QAAQ;IAC5D,GACCA,QAAQ;IACXgJ,YAAY5J,MAAC,AACX,gEAAgE;KAC/DW,KAAK,CAACX,MAAC,CAAC6J,KAAK,CAAC;QAAC7J,MAAC,CAACK,MAAM;QAAIL,MAAC,CAACI,MAAM,CAACJ,MAAC,CAACK,MAAM,IAAIL,MAAC,CAACS,GAAG;KAAI,GACzDG,QAAQ;IACXkJ,mBAAmB9J,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACvC,iEAAiE;IACjEmJ,YAAY/J,MAAC,CAACS,GAAG,GAAGG,QAAQ;IAC5BoJ,gBAAgBhK,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACpCqJ,eAAejK,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACnCsJ,sBAAsBlK,MAAC,CACpBW,KAAK,CACJX,MAAC,CAACmB,KAAK,CAAC;QACNnB,MAAC,CAACwB,OAAO,CAAC;QACVxB,MAAC,CAACwB,OAAO,CAAC;QACVxB,MAAC,CAACwB,OAAO,CAAC;QACVxB,MAAC,CAACwB,OAAO,CAAC;QACVxB,MAAC,CAACwB,OAAO,CAAC;QACVxB,MAAC,CAACwB,OAAO,CAAC;KACX,GAEFZ,QAAQ;IACX,sEAAsE;IACtE,iFAAiF;IACjFuJ,OAAOnK,MAAC,CACLmB,KAAK,CAAC;QACLnB,MAAC,CAACc,OAAO;QACTd,MAAC,CAACM,MAAM,CAAC;YACP8J,aAAapK,MAAC,CAACc,OAAO,GAAGF,QAAQ;YACjCyJ,YAAYrK,MAAC,CAACK,MAAM,GAAGO,QAAQ;YAC/B0J,iBAAiBtK,MAAC,CAACK,MAAM,GAAGO,QAAQ;YACpC2J,sBAAsBvK,MAAC,CAACK,MAAM,GAAGO,QAAQ;YACzC4J,SAASxK,MAAC,CAACqB,IAAI,CAAC;gBAAC;gBAAO;aAAa,EAAET,QAAQ;QACjD;KACD,EACAA,QAAQ;IACX6J,qBAAqBzK,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACzC8J,mBAAmB1K,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACvC+J,aAAa3K,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACjCgK,oBAAoB5K,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACxCiK,4BAA4B7K,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAChDkK,sBAAsB9K,MAAC,CAACuC,MAAM,GAAG3B,QAAQ;IACzCmK,gCAAgC/K,MAAC,CAC9BqB,IAAI,CAAC;QAAC;QAAiB;KAAiB,EACxCT,QAAQ;IACXoK,iBAAiBhL,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACrCqK,gCAAgCjL,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACpDsK,kCAAkClL,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACtDuK,qBAAqBnL,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACzCwK,0BAA0BpL,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC9CyK,sBAAsBrL,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC1C0K,8BAA8BtL,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAClD2K,8BAA8BvL,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAClD4K,wBAAwBxL,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC5C6K,wCAAwCzL,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC5D8K,wCAAwC1L,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC5D+K,0BAA0B3L,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC9CgL,yBAAyB5L,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC7CiL,0BAA0B7L,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC9CkL,yBAAyB9L,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC7CmL,oBAAoB/L,MAAC,CAACqB,IAAI,CAAC;QAAC;QAAS;KAAgB,EAAET,QAAQ;IAC/DoL,iCAAiChM,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACrDqL,wBAAwBjM,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,IAAIO,QAAQ;IACpDsL,qBAAqBlM,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACzCuL,kBAAkBnM,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACtCwL,qBAAqBpM,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,IAAIO,QAAQ;IACjDyL,oBAAoBrM,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACxC0L,kBAAkBtM,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACtC2L,eAAevM,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACnC4L,iBAAiBxM,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACrC6L,sBAAsBzM,MAAC,CACpBM,MAAM,CAAC;QACNoM,SAAS1M,MAAC,CAACW,KAAK,CAACX,MAAC,CAACqB,IAAI,CAACsL,wCAA0B,GAAG/L,QAAQ;QAC7DgM,SAAS5M,MAAC,CAACW,KAAK,CAACX,MAAC,CAACqB,IAAI,CAACsL,wCAA0B,GAAG/L,QAAQ;IAC/D,GACCA,QAAQ;IACXiM,WAAW7M,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC/BkM,mBAAmB9M,MAAC,CAACqB,IAAI,CAAC0L,qCAA2B,EAAEnM,QAAQ;IAC/DoM,uBAAuBhN,MAAC,CAACwB,OAAO,CAAC,MAAMZ,QAAQ;IAE/CqM,mBAAmBjN,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACvCsM,4BAA4BlN,MAAC,CAACuC,MAAM,GAAGoF,GAAG,GAAG/G,QAAQ;IACrDuM,gCAAgCnN,MAAC,CAACuC,MAAM,GAAGoF,GAAG,GAAG/G,QAAQ;IACzDwM,mCAAmCpN,MAAC,CAACuC,MAAM,GAAGoF,GAAG,GAAG/G,QAAQ;IAC5DyM,UAAUrN,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC9B0M,0BAA0BtN,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC9C2M,gBAAgBvN,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACpC4M,UAAUxN,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC9B6M,gBAAgBzN,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACpC8M,qBAAqB1N,MAAC,CACnBM,MAAM,CAAC;QACNqN,sBAAsB3N,MAAC,CAACuC,MAAM,GAAGoF,GAAG;IACtC,GACC/G,QAAQ;IACXgN,gBAAgB5N,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACpCiN,4BAA4B7N,MAAC,CAC1BmB,KAAK,CAAC;QACLnB,MAAC,CAACc,OAAO;QACTd,MAAC,CAACqB,IAAI,CAAC;YAAC;YAAS;YAAQ;SAAU;QACnCrB,MAAC,CAACM,MAAM,CAAC;YACPwN,OAAO9N,MAAC,CAACqB,IAAI,CAAC;gBAAC;gBAAS;gBAAQ;aAAU,EAAET,QAAQ;YACpDmN,YAAY/N,MAAC,CAACuC,MAAM,GAAGoF,GAAG,GAAGqG,QAAQ,GAAGpN,QAAQ;YAChDqN,WAAWjO,MAAC,CAACuC,MAAM,GAAGoF,GAAG,GAAGqG,QAAQ,GAAGpN,QAAQ;YAC/CsN,oBAAoBlO,MAAC,CAACc,OAAO,GAAGF,QAAQ;QAC1C;KACD,EACAA,QAAQ;IACXuN,aAAanO,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACjCwN,oBAAoBpO,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACxCyN,2BAA2BrO,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC/C0N,qBAAqBtO,MAAC,CAACK,MAAM,GAAGO,QAAQ;IACxC2N,iBAAiBvO,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,IAAIO,QAAQ;IAC7C4N,yBAAyBxO,MAAC,CAACyO,QAAQ,GAAGC,OAAO,CAAC1O,MAAC,CAAC2O,OAAO,CAAC3O,MAAC,CAAC4O,IAAI,KAAKhO,QAAQ;IAC3EiO,yBAAyB7O,MAAC,CAACqB,IAAI,CAAC;QAAC;QAAQ;KAAQ,EAAET,QAAQ;AAC7D;AAEO,MAAMf,eAAwCG,MAAC,CAACiD,IAAI,CAAC,IAC1DjD,MAAC,CAAC2C,YAAY,CAAC;QACbmM,aAAa9O,MAAC,CAACK,MAAM,GAAGO,QAAQ;QAChCmO,mBAAmB/O,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,IAAIO,QAAQ;QAC/CoO,aAAahP,MAAC,CAACK,MAAM,GAAGO,QAAQ;QAChCiB,UAAU7B,MAAC,CAACK,MAAM,GAAGO,QAAQ;QAC7BqO,+BAA+BjP,MAAC,CAACc,OAAO,GAAGF,QAAQ;QACnD4F,iBAAiBxG,MAAC,CAACc,OAAO,GAAGF,QAAQ;QACrCsO,cAAclP,MAAC,CAACK,MAAM,GAAG8O,GAAG,CAAC,GAAGvO,QAAQ;QACxCyE,eAAerF,MAAC,CAACI,MAAM,CAACJ,MAAC,CAACK,MAAM,IAAIL,MAAC,CAACK,MAAM,GAAGO,QAAQ,IAAIA,QAAQ;QACnEqE,WAAWjF,MAAC,CACTI,MAAM,CACLJ,MAAC,CAACM,MAAM,CAAC;YACP4E,OAAOlF,MAAC,CAACuC,MAAM,GAAG3B,QAAQ;YAC1BuE,YAAYnF,MAAC,CAACuC,MAAM,GAAG3B,QAAQ;YAC/BwE,QAAQpF,MAAC,CAACuC,MAAM,GAAG3B,QAAQ;QAC7B,IAEDA,QAAQ;QACXwO,oBAAoBpP,MAAC,CAACuC,MAAM,GAAG3B,QAAQ;QACvCyO,cAAcrP,MAAC,CAACc,OAAO,GAAGF,QAAQ;QAClC0O,UAAUtP,MAAC,CACR2C,YAAY,CAAC;YACZ4M,SAASvP,MAAC,CACPmB,KAAK,CAAC;gBACLnB,MAAC,CAACc,OAAO;gBACTd,MAAC,CAACM,MAAM,CAAC;oBACPkP,WAAWxP,MAAC,CAACc,OAAO,GAAGF,QAAQ;oBAC/B6O,WAAWzP,MAAC,CACTmB,KAAK,CAAC;wBACLnB,MAAC,CAACwB,OAAO,CAAC;wBACVxB,MAAC,CAACwB,OAAO,CAAC;wBACVxB,MAAC,CAACwB,OAAO,CAAC;qBACX,EACAZ,QAAQ;oBACX8O,aAAa1P,MAAC,CAACK,MAAM,GAAG8O,GAAG,CAAC,GAAGvO,QAAQ;oBACvC+O,WAAW3P,MAAC,CACTI,MAAM,CACLJ,MAAC,CAACK,MAAM,IACRL,MAAC,CAACI,MAAM,CACNJ,MAAC,CAACK,MAAM,IACRL,MAAC,CAACM,MAAM,CAAC;wBACPsP,iBAAiB5P,MAAC,CACf6J,KAAK,CAAC;4BAAC7J,MAAC,CAACK,MAAM;4BAAIL,MAAC,CAACK,MAAM;yBAAG,EAC9BO,QAAQ;wBACXiP,kBAAkB7P,MAAC,CAChB6J,KAAK,CAAC;4BAAC7J,MAAC,CAACK,MAAM;4BAAIL,MAAC,CAACK,MAAM;yBAAG,EAC9BO,QAAQ;oBACb,KAGHA,QAAQ;gBACb;aACD,EACAA,QAAQ;YACXkP,uBAAuB9P,MAAC,CACrBmB,KAAK,CAAC;gBACLnB,MAAC,CAACc,OAAO,GAAGF,QAAQ;gBACpBZ,MAAC,CAACM,MAAM,CAAC;oBACPyP,YAAY/P,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,IAAIO,QAAQ;gBAC1C;aACD,EACAA,QAAQ;YACXoP,OAAOhQ,MAAC,CACLM,MAAM,CAAC;gBACN2P,KAAKjQ,MAAC,CAACK,MAAM;gBACb6P,mBAAmBlQ,MAAC,CAACK,MAAM,GAAGO,QAAQ;gBACtCuP,UAAUnQ,MAAC,CAACqB,IAAI,CAAC;oBAAC;oBAAc;oBAAc;iBAAO,EAAET,QAAQ;gBAC/DwP,gBAAgBpQ,MAAC,CAACc,OAAO,GAAGF,QAAQ;YACtC,GACCA,QAAQ;YACXyP,eAAerQ,MAAC,CACbmB,KAAK,CAAC;gBACLnB,MAAC,CAACc,OAAO,GAAGF,QAAQ;gBACpBZ,MAAC,CAACM,MAAM,CAAC;oBACPsM,SAAS5M,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,IAAI8O,GAAG,CAAC,GAAGvO,QAAQ;gBAC9C;aACD,EACAA,QAAQ;YACX0P,kBAAkBtQ,MAAC,CAACmB,KAAK,CAAC;gBACxBnB,MAAC,CAACc,OAAO,GAAGF,QAAQ;gBACpBZ,MAAC,CAACM,MAAM,CAAC;oBACPiQ,aAAavQ,MAAC,CAACc,OAAO,GAAGF,QAAQ;oBACjC4P,qBAAqBxQ,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,IAAIO,QAAQ;oBACjD6P,KAAKzQ,MAAC,CAACc,OAAO,GAAGF,QAAQ;oBACzB8P,UAAU1Q,MAAC,CAACc,OAAO,GAAGF,QAAQ;oBAC9B+P,sBAAsB3Q,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,IAAIO,QAAQ;oBAClDgQ,QAAQ5Q,MAAC,CAACc,OAAO,GAAGF,QAAQ;oBAC5BiQ,2BAA2B7Q,MAAC,CAACc,OAAO,GAAGF,QAAQ;oBAC/CkQ,WAAW9Q,MAAC,CAACK,MAAM,GAAG8O,GAAG,CAAC,GAAGvO,QAAQ;oBACrCmQ,MAAM/Q,MAAC,CAACc,OAAO,GAAGF,QAAQ;oBAC1BoQ,SAAShR,MAAC,CAACc,OAAO,GAAGF,QAAQ;gBAC/B;aACD;YACDqQ,WAAWjR,MAAC,CAACmB,KAAK,CAAC;gBACjBnB,MAAC,CAACc,OAAO,GAAGF,QAAQ;gBACpBZ,MAAC,CAACM,MAAM,CAAC;oBACPkM,iBAAiBxM,MAAC,CAACc,OAAO,GAAGF,QAAQ;gBACvC;aACD;YACDsQ,QAAQlR,MAAC,CAACI,MAAM,CAACJ,MAAC,CAACK,MAAM,IAAIL,MAAC,CAACK,MAAM,IAAIO,QAAQ;YACjDuQ,cAAcnR,MAAC,CAACI,MAAM,CAACJ,MAAC,CAACK,MAAM,IAAIL,MAAC,CAACK,MAAM,IAAIO,QAAQ;YACvDwQ,2BAA2BpR,MAAC,CACzByO,QAAQ,GACRC,OAAO,CAAC1O,MAAC,CAAC2O,OAAO,CAAC3O,MAAC,CAAC4O,IAAI,KACxBhO,QAAQ;QACb,GACCA,QAAQ;QACXyQ,UAAUrR,MAAC,CAACc,OAAO,GAAGF,QAAQ;QAC9B0Q,cAActR,MAAC,CAACK,MAAM,GAAGO,QAAQ;QACjC2Q,aAAavR,MAAC,CACXmB,KAAK,CAAC;YAACnB,MAAC,CAACwB,OAAO,CAAC;YAAcxB,MAAC,CAACwB,OAAO,CAAC;SAAmB,EAC5DZ,QAAQ;QACX4Q,cAAcxR,MAAC,CAACK,MAAM,GAAGO,QAAQ;QACjC6Q,eAAezR,MAAC,CACbmB,KAAK,CAAC;YACLnB,MAAC,CAACM,MAAM,CAAC;gBACPoR,UAAU1R,MAAC,CACRmB,KAAK,CAAC;oBACLnB,MAAC,CAACwB,OAAO,CAAC;oBACVxB,MAAC,CAACwB,OAAO,CAAC;oBACVxB,MAAC,CAACwB,OAAO,CAAC;oBACVxB,MAAC,CAACwB,OAAO,CAAC;iBACX,EACAZ,QAAQ;YACb;YACAZ,MAAC,CAACwB,OAAO,CAAC;SACX,EACAZ,QAAQ;QACX+Q,SAAS3R,MAAC,CAACK,MAAM,GAAG8O,GAAG,CAAC,GAAGvO,QAAQ;QACnCgR,KAAK5R,MAAC,CAACI,MAAM,CAACJ,MAAC,CAACK,MAAM,IAAIL,MAAC,CAACmB,KAAK,CAAC;YAACnB,MAAC,CAACK,MAAM;YAAIL,MAAC,CAACyB,SAAS;SAAG,GAAGb,QAAQ;QACxEiR,2BAA2B7R,MAAC,CAACc,OAAO,GAAGF,QAAQ;QAC/CkR,6BAA6B9R,MAAC,CAACc,OAAO,GAAGF,QAAQ;QACjDmR,cAAc/R,MAAC,CAAC2C,YAAY,CAAC7C,oBAAoBc,QAAQ;QACzDoR,eAAehS,MAAC,CACbyO,QAAQ,GACRwD,IAAI,CACH9R,YACAH,MAAC,CAACM,MAAM,CAAC;YACP4R,KAAKlS,MAAC,CAACc,OAAO;YACdqR,KAAKnS,MAAC,CAACK,MAAM;YACb+R,QAAQpS,MAAC,CAACK,MAAM,GAAGuH,QAAQ;YAC3B+J,SAAS3R,MAAC,CAACK,MAAM;YACjBgS,SAASrS,MAAC,CAACK,MAAM;QACnB,IAEDqO,OAAO,CAAC1O,MAAC,CAACmB,KAAK,CAAC;YAAChB;YAAYH,MAAC,CAAC2O,OAAO,CAACxO;SAAY,GACnDS,QAAQ;QACX0R,iBAAiBtS,MAAC,CACfyO,QAAQ,GACRwD,IAAI,GACJvD,OAAO,CACN1O,MAAC,CAACmB,KAAK,CAAC;YACNnB,MAAC,CAACK,MAAM;YACRL,MAAC,CAACuS,IAAI;YACNvS,MAAC,CAAC2O,OAAO,CAAC3O,MAAC,CAACmB,KAAK,CAAC;gBAACnB,MAAC,CAACK,MAAM;gBAAIL,MAAC,CAACuS,IAAI;aAAG;SACzC,GAEF3R,QAAQ;QACX4R,eAAexS,MAAC,CAACc,OAAO,GAAGF,QAAQ;QACnC6B,SAASzC,MAAC,CACPyO,QAAQ,GACRwD,IAAI,GACJvD,OAAO,CAAC1O,MAAC,CAAC2O,OAAO,CAAC3O,MAAC,CAACW,KAAK,CAAC6B,WAC1B5B,QAAQ;QACX6R,iBAAiBzS,MAAC,CAACoD,UAAU,CAACC,QAAQzC,QAAQ;QAC9C8R,kBAAkB1S,MAAC,CAChB2C,YAAY,CAAC;YAAEgQ,WAAW3S,MAAC,CAACc,OAAO,GAAGF,QAAQ;QAAG,GACjDA,QAAQ;QACXgS,MAAM5S,MAAC,CACJ2C,YAAY,CAAC;YACZkQ,eAAe7S,MAAC,CAACK,MAAM,GAAG8O,GAAG,CAAC;YAC9B2D,SAAS9S,MAAC,CACPW,KAAK,CACJX,MAAC,CAAC2C,YAAY,CAAC;gBACbkQ,eAAe7S,MAAC,CAACK,MAAM,GAAG8O,GAAG,CAAC;gBAC9B4D,QAAQ/S,MAAC,CAACK,MAAM,GAAG8O,GAAG,CAAC;gBACvB6D,MAAMhT,MAAC,CAACwB,OAAO,CAAC,MAAMZ,QAAQ;gBAC9BqS,SAASjT,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,GAAG8O,GAAG,CAAC,IAAIvO,QAAQ;YAC9C,IAEDA,QAAQ;YACXsS,iBAAiBlT,MAAC,CAACwB,OAAO,CAAC,OAAOZ,QAAQ;YAC1CqS,SAASjT,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,GAAG8O,GAAG,CAAC;QAClC,GACCvH,QAAQ,GACRhH,QAAQ;QACXuS,QAAQnT,MAAC,CACN2C,YAAY,CAAC;YACZyQ,eAAepT,MAAC,CACbW,KAAK,CACJX,MAAC,CAAC2C,YAAY,CAAC;gBACb0Q,UAAUrT,MAAC,CAACK,MAAM,GAAGO,QAAQ;gBAC7B0S,QAAQtT,MAAC,CAACK,MAAM,GAAGO,QAAQ;YAC7B,IAED2S,GAAG,CAAC,IACJ3S,QAAQ;YACX4S,gBAAgBxT,MAAC,CACdW,KAAK,CACJX,MAAC,CAACmB,KAAK,CAAC;gBACNnB,MAAC,CAACoD,UAAU,CAACqQ;gBACbzT,MAAC,CAAC2C,YAAY,CAAC;oBACb+Q,UAAU1T,MAAC,CAACK,MAAM;oBAClBgT,UAAUrT,MAAC,CAACK,MAAM,GAAGO,QAAQ;oBAC7B+S,MAAM3T,MAAC,CAACK,MAAM,GAAGkT,GAAG,CAAC,GAAG3S,QAAQ;oBAChCgT,UAAU5T,MAAC,CAACqB,IAAI,CAAC;wBAAC;wBAAQ;qBAAQ,EAAET,QAAQ;oBAC5C0S,QAAQtT,MAAC,CAACK,MAAM,GAAGO,QAAQ;gBAC7B;aACD,GAEF2S,GAAG,CAAC,IACJ3S,QAAQ;YACXiT,aAAa7T,MAAC,CAACc,OAAO,GAAGF,QAAQ;YACjCkT,oBAAoB9T,MAAC,CAACc,OAAO,GAAGF,QAAQ;YACxCmT,uBAAuB/T,MAAC,CAACK,MAAM,GAAGO,QAAQ;YAC1CoT,wBAAwBhU,MAAC,CAACqB,IAAI,CAAC;gBAAC;gBAAU;aAAa,EAAET,QAAQ;YACjEqT,qBAAqBjU,MAAC,CAACc,OAAO,GAAGF,QAAQ;YACzCsT,yBAAyBlU,MAAC,CAACc,OAAO,GAAGF,QAAQ;YAC7CuT,aAAanU,MAAC,CACXW,KAAK,CAACX,MAAC,CAACuC,MAAM,GAAGoF,GAAG,GAAG3C,GAAG,CAAC,GAAGoP,GAAG,CAAC,QAClCb,GAAG,CAAC,IACJ3S,QAAQ;YACXyT,qBAAqBrU,MAAC,CAACc,OAAO,GAAGF,QAAQ;YACzCkS,SAAS9S,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,IAAIkT,GAAG,CAAC,IAAI3S,QAAQ;YAC7C0T,SAAStU,MAAC,CACPW,KAAK,CAACX,MAAC,CAACqB,IAAI,CAAC;gBAAC;gBAAc;aAAa,GACzCkS,GAAG,CAAC,GACJ3S,QAAQ;YACX2T,YAAYvU,MAAC,CACVW,KAAK,CAACX,MAAC,CAACuC,MAAM,GAAGoF,GAAG,GAAG3C,GAAG,CAAC,GAAGoP,GAAG,CAAC,QAClCjF,GAAG,CAAC,GACJoE,GAAG,CAAC,IACJ3S,QAAQ;YACXgC,QAAQ5C,MAAC,CAACqB,IAAI,CAACmT,0BAAa,EAAE5T,QAAQ;YACtC6T,YAAYzU,MAAC,CAACK,MAAM,GAAGO,QAAQ;YAC/B8T,sBAAsB1U,MAAC,CAACuC,MAAM,GAAGoF,GAAG,GAAGwH,GAAG,CAAC,GAAGvO,QAAQ;YACtD+T,kBAAkB3U,MAAC,CAACuC,MAAM,GAAGoF,GAAG,GAAGwH,GAAG,CAAC,GAAGoE,GAAG,CAAC,IAAI3S,QAAQ;YAC1DgU,qBAAqB5U,MAAC,CACnBuC,MAAM,GACNoF,GAAG,GACHwH,GAAG,CAAC,GACJoE,GAAG,CAACsB,OAAOC,gBAAgB,EAC3BlU,QAAQ;YACXmU,iBAAiB/U,MAAC,CAACuC,MAAM,GAAGoF,GAAG,GAAG3C,GAAG,CAAC,GAAGpE,QAAQ;YACjDuC,MAAMnD,MAAC,CAACK,MAAM,GAAGO,QAAQ;YACzBoU,WAAWhV,MAAC,CACTW,KAAK,CAACX,MAAC,CAACuC,MAAM,GAAGoF,GAAG,GAAG3C,GAAG,CAAC,GAAGoP,GAAG,CAAC,MAClCjF,GAAG,CAAC,GACJoE,GAAG,CAAC,IACJ3S,QAAQ;QACb,GACCA,QAAQ;QACXqU,SAASjV,MAAC,CACPmB,KAAK,CAAC;YACLnB,MAAC,CAACM,MAAM,CAAC;gBACP4U,SAASlV,MAAC,CACPM,MAAM,CAAC;oBACN6U,SAASnV,MAAC,CAACc,OAAO,GAAGF,QAAQ;oBAC7BwU,cAAcpV,MAAC,CAACc,OAAO,GAAGF,QAAQ;gBACpC,GACCA,QAAQ;gBACXyU,kBAAkBrV,MAAC,CAChBmB,KAAK,CAAC;oBACLnB,MAAC,CAACc,OAAO;oBACTd,MAAC,CAACM,MAAM,CAAC;wBACPgV,QAAQtV,MAAC,CAACW,KAAK,CAACX,MAAC,CAACoD,UAAU,CAACC;oBAC/B;iBACD,EACAzC,QAAQ;gBACX2U,iBAAiBvV,MAAC,CAACc,OAAO,GAAGF,QAAQ;gBACrC4U,mBAAmBxV,MAAC,CACjBmB,KAAK,CAAC;oBAACnB,MAAC,CAACc,OAAO;oBAAId,MAAC,CAACqB,IAAI,CAAC;wBAAC;wBAAS;qBAAO;iBAAE,EAC9CT,QAAQ;YACb;YACAZ,MAAC,CAACwB,OAAO,CAAC;SACX,EACAZ,QAAQ;QACX6U,mBAAmBzV,MAAC,CACjBI,MAAM,CACLJ,MAAC,CAACK,MAAM,IACRL,MAAC,CAACM,MAAM,CAAC;YACPoV,WAAW1V,MAAC,CAACmB,KAAK,CAAC;gBAACnB,MAAC,CAACK,MAAM;gBAAIL,MAAC,CAACI,MAAM,CAACJ,MAAC,CAACK,MAAM,IAAIL,MAAC,CAACK,MAAM;aAAI;YACjEsV,mBAAmB3V,MAAC,CAACc,OAAO,GAAGF,QAAQ;YACvCgV,uBAAuB5V,MAAC,CAACc,OAAO,GAAGF,QAAQ;QAC7C,IAEDA,QAAQ;QACXiV,iBAAiB7V,MAAC,CACf2C,YAAY,CAAC;YACZmT,gBAAgB9V,MAAC,CAACuC,MAAM,GAAG3B,QAAQ;YACnCmV,mBAAmB/V,MAAC,CAACuC,MAAM,GAAG3B,QAAQ;QACxC,GACCA,QAAQ;QACXoV,QAAQhW,MAAC,CAACqB,IAAI,CAAC;YAAC;YAAc;SAAS,EAAET,QAAQ;QACjDqV,uBAAuBjW,MAAC,CAACK,MAAM,GAAGO,QAAQ;QAC1CsV,2BAA2BlW,MAAC,CACzBI,MAAM,CAACJ,MAAC,CAACK,MAAM,IAAIL,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,KACnCO,QAAQ;QACXuV,2BAA2BnW,MAAC,CACzBI,MAAM,CAACJ,MAAC,CAACK,MAAM,IAAIL,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,KACnCO,QAAQ;QACXwV,gBAAgBpW,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,IAAI8O,GAAG,CAAC,GAAGvO,QAAQ;QACnDyV,iBAAiBrW,MAAC,CAACc,OAAO,GAAGF,QAAQ;QACrC0V,6BAA6BtW,MAAC,CAACc,OAAO,GAAGF,QAAQ;QACjD2V,eAAevW,MAAC,CAACmB,KAAK,CAAC;YACrBnB,MAAC,CAACc,OAAO;YACTd,MAAC,CACEM,MAAM,CAAC;gBACNkW,iBAAiBxW,MAAC,CAACqB,IAAI,CAAC;oBAAC;oBAAS;oBAAc;iBAAM,EAAET,QAAQ;gBAChE6V,gBAAgBzW,MAAC,CACdqB,IAAI,CAAC;oBAAC;oBAAQ;oBAAmB;iBAAa,EAC9CT,QAAQ;YACb,GACCA,QAAQ;SACZ;QACD8V,0BAA0B1W,MAAC,CAACc,OAAO,GAAGF,QAAQ;QAC9C+V,iBAAiB3W,MAAC,CAACc,OAAO,GAAG8G,QAAQ,GAAGhH,QAAQ;QAChDgW,uBAAuB5W,MAAC,CAACuC,MAAM,GAAGsU,WAAW,GAAGlP,GAAG,GAAG/G,QAAQ;QAC9DkW,WAAW9W,MAAC,CACTyO,QAAQ,GACRwD,IAAI,GACJvD,OAAO,CAAC1O,MAAC,CAAC2O,OAAO,CAAC3O,MAAC,CAACW,KAAK,CAACuB,aAC1BtB,QAAQ;QACXmW,UAAU/W,MAAC,CACRyO,QAAQ,GACRwD,IAAI,GACJvD,OAAO,CACN1O,MAAC,CAAC2O,OAAO,CACP3O,MAAC,CAACmB,KAAK,CAAC;YACNnB,MAAC,CAACW,KAAK,CAACe;YACR1B,MAAC,CAACM,MAAM,CAAC;gBACP0W,aAAahX,MAAC,CAACW,KAAK,CAACe;gBACrBuV,YAAYjX,MAAC,CAACW,KAAK,CAACe;gBACpBwV,UAAUlX,MAAC,CAACW,KAAK,CAACe;YACpB;SACD,IAGJd,QAAQ;QACX,8EAA8E;QAC9EuW,aAAanX,MAAC,CACXM,MAAM,CAAC;YACN8W,gBAAgBpX,MAAC,CAACK,MAAM,GAAGO,QAAQ;QACrC,GACCyW,QAAQ,CAACrX,MAAC,CAACS,GAAG,IACdG,QAAQ;QACX0W,wBAAwBtX,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,IAAIO,QAAQ;QACpD2W,4BAA4BvX,MAAC,CAACc,OAAO,GAAGF,QAAQ;QAChD4W,uBAAuBxX,MAAC,CAACc,OAAO,GAAGF,QAAQ;QAC3C6W,2BAA2BzX,MAAC,CAACc,OAAO,GAAGF,QAAQ;QAC/C8W,6BAA6B1X,MAAC,CAACuC,MAAM,GAAG3B,QAAQ;QAChD+W,YAAY3X,MAAC,CAACuC,MAAM,GAAG3B,QAAQ;QAC/BgX,QAAQ5X,MAAC,CAACK,MAAM,GAAGO,QAAQ;QAC3BiX,eAAe7X,MAAC,CAACc,OAAO,GAAGF,QAAQ;QACnCkX,mBAAmB9X,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,IAAIO,QAAQ;QAC/CmX,WAAWjU,iBAAiBlD,QAAQ;QACpCoX,YAAYhY,MAAC,CACV2C,YAAY,CAAC;YACZsV,mBAAmBjY,MAAC,CAACc,OAAO,GAAGF,QAAQ;YACvCsX,cAAclY,MAAC,CAACK,MAAM,GAAG8O,GAAG,CAAC,GAAGvO,QAAQ;QAC1C,GACCA,QAAQ;QACX+J,aAAa3K,MAAC,CAACc,OAAO,GAAGF,QAAQ;QACjCuX,2BAA2BnY,MAAC,CAACc,OAAO,GAAGF,QAAQ;QAC/C,uDAAuD;QACvDwX,SAASpY,MAAC,CAACS,GAAG,GAAGmH,QAAQ,GAAGhH,QAAQ;QACpCyX,cAAcrY,MAAC,CACZ2C,YAAY,CAAC;YACZ2V,gBAAgBtY,MAAC,CAACuC,MAAM,GAAGyL,QAAQ,GAAGuK,MAAM,GAAG3X,QAAQ;QACzD,GACCA,QAAQ;IACb","ignoreList":[0]} | ||
| {"version":3,"sources":["../../src/server/config-schema.ts"],"sourcesContent":["import type { NextConfig } from './config'\nimport { VALID_LOADERS } from '../shared/lib/image-config'\n\nimport { z } from 'next/dist/compiled/zod'\nimport type zod from 'next/dist/compiled/zod'\n\nimport type { SizeLimit } from '../types'\nimport {\n LIGHTNINGCSS_FEATURE_NAMES,\n type ExportPathMap,\n type TurbopackLoaderItem,\n type TurbopackOptions,\n type TurbopackRuleConfigItem,\n type TurbopackRuleConfigCollection,\n type TurbopackRuleCondition,\n type TurbopackLoaderBuiltinCondition,\n} from './config-shared'\nimport type {\n Header,\n Rewrite,\n RouteHas,\n Redirect,\n} from '../lib/load-custom-routes'\nimport { SUPPORTED_TEST_RUNNERS_LIST } from '../cli/next-test'\n\n// A custom zod schema for the SizeLimit type\nconst zSizeLimit = z.custom<SizeLimit>((val) => {\n if (typeof val === 'number' || typeof val === 'string') {\n return true\n }\n return false\n})\n\nconst zExportMap: zod.ZodType<ExportPathMap> = z.record(\n z.string(),\n z.object({\n page: z.string(),\n query: z.any(), // NextParsedUrlQuery\n\n // private optional properties\n _fallbackRouteParams: z.array(z.any()).optional(),\n _isAppDir: z.boolean().optional(),\n _isDynamicError: z.boolean().optional(),\n _isRoutePPREnabled: z.boolean().optional(),\n _allowEmptyStaticShell: z.boolean().optional(),\n })\n)\n\nconst zRouteHas: zod.ZodType<RouteHas> = z.union([\n z.object({\n type: z.enum(['header', 'query', 'cookie']),\n key: z.string(),\n value: z.string().optional(),\n }),\n z.object({\n type: z.literal('host'),\n key: z.undefined().optional(),\n value: z.string(),\n }),\n])\n\nconst zRewrite: zod.ZodType<Rewrite> = z.object({\n source: z.string(),\n destination: z.string(),\n basePath: z.literal(false).optional(),\n locale: z.literal(false).optional(),\n has: z.array(zRouteHas).optional(),\n missing: z.array(zRouteHas).optional(),\n internal: z.boolean().optional(),\n})\n\nconst zRedirect: zod.ZodType<Redirect> = z\n .object({\n source: z.string(),\n destination: z.string(),\n basePath: z.literal(false).optional(),\n locale: z.literal(false).optional(),\n has: z.array(zRouteHas).optional(),\n missing: z.array(zRouteHas).optional(),\n internal: z.boolean().optional(),\n })\n .and(\n z.union([\n z.object({\n statusCode: z.never().optional(),\n permanent: z.boolean(),\n }),\n z.object({\n statusCode: z.number(),\n permanent: z.never().optional(),\n }),\n ])\n )\n\nconst zHeader: zod.ZodType<Header> = z.object({\n source: z.string(),\n basePath: z.literal(false).optional(),\n locale: z.literal(false).optional(),\n headers: z.array(z.object({ key: z.string(), value: z.string() })),\n has: z.array(zRouteHas).optional(),\n missing: z.array(zRouteHas).optional(),\n\n internal: z.boolean().optional(),\n})\n\nconst zTurbopackLoaderItem: zod.ZodType<TurbopackLoaderItem> = z.union([\n z.string(),\n z.strictObject({\n loader: z.string(),\n // Any JSON value can be used as turbo loader options, so use z.any() here\n options: z.record(z.string(), z.any()).optional(),\n }),\n])\n\nconst zTurbopackLoaderBuiltinCondition: zod.ZodType<TurbopackLoaderBuiltinCondition> =\n z.union([\n z.literal('browser'),\n z.literal('foreign'),\n z.literal('development'),\n z.literal('production'),\n z.literal('node'),\n z.literal('edge-light'),\n ])\n\nconst zTurbopackCondition: zod.ZodType<TurbopackRuleCondition> = z.union([\n z.strictObject({ all: z.lazy(() => z.array(zTurbopackCondition)) }),\n z.strictObject({ any: z.lazy(() => z.array(zTurbopackCondition)) }),\n z.strictObject({ not: z.lazy(() => zTurbopackCondition) }),\n zTurbopackLoaderBuiltinCondition,\n z.strictObject({\n path: z.union([z.string(), z.instanceof(RegExp)]).optional(),\n content: z.instanceof(RegExp).optional(),\n query: z.union([z.string(), z.instanceof(RegExp)]).optional(),\n contentType: z.union([z.string(), z.instanceof(RegExp)]).optional(),\n }),\n])\n\nconst zTurbopackModuleType = z.enum([\n 'asset',\n 'ecmascript',\n 'typescript',\n 'css',\n 'css-module',\n 'wasm',\n 'raw',\n 'node',\n 'bytes',\n])\n\nconst zTurbopackRuleConfigItem: zod.ZodType<TurbopackRuleConfigItem> =\n z.strictObject({\n loaders: z.array(zTurbopackLoaderItem).optional(),\n as: z.string().optional(),\n condition: zTurbopackCondition.optional(),\n type: zTurbopackModuleType.optional(),\n })\n\nconst zTurbopackRuleConfigCollection: zod.ZodType<TurbopackRuleConfigCollection> =\n z.union([\n zTurbopackRuleConfigItem,\n z.array(z.union([zTurbopackLoaderItem, zTurbopackRuleConfigItem])),\n ])\n\nconst zTurbopackConfig: zod.ZodType<TurbopackOptions> = z.strictObject({\n rules: z.record(z.string(), zTurbopackRuleConfigCollection).optional(),\n resolveAlias: z\n .record(\n z.string(),\n z.union([\n z.string(),\n z.array(z.string()),\n z.record(z.string(), z.union([z.string(), z.array(z.string())])),\n ])\n )\n .optional(),\n resolveExtensions: z.array(z.string()).optional(),\n root: z.string().optional(),\n debugIds: z.boolean().optional(),\n ignoreIssue: z\n .array(\n z.object({\n path: z.union([z.string(), z.instanceof(RegExp)]),\n title: z.union([z.string(), z.instanceof(RegExp)]).optional(),\n description: z.union([z.string(), z.instanceof(RegExp)]).optional(),\n })\n )\n .optional(),\n})\n\nexport const experimentalSchema = {\n useSkewCookie: z.boolean().optional(),\n after: z.boolean().optional(),\n appNavFailHandling: z.boolean().optional(),\n appNewScrollHandler: z.boolean().optional(),\n preloadEntriesOnStart: z.boolean().optional(),\n allowedRevalidateHeaderKeys: z.array(z.string()).optional(),\n staleTimes: z\n .object({\n dynamic: z.number().optional(),\n static: z.number().gte(30).optional(),\n })\n .optional(),\n cacheLife: z\n .record(\n z.object({\n stale: z.number().optional(),\n revalidate: z.number().optional(),\n expire: z.number().optional(),\n })\n )\n .optional(),\n cacheHandlers: z.record(z.string(), z.string().optional()).optional(),\n clientRouterFilter: z.boolean().optional(),\n clientRouterFilterRedirects: z.boolean().optional(),\n clientRouterFilterAllowedRate: z.number().optional(),\n cpus: z.number().optional(),\n memoryBasedWorkersCount: z.boolean().optional(),\n craCompat: z.boolean().optional(),\n caseSensitiveRoutes: z.boolean().optional(),\n clientParamParsingOrigins: z.array(z.string()).optional(),\n cachedNavigations: z.boolean().optional(),\n partialFallbacks: z.boolean().optional(),\n dynamicOnHover: z.boolean().optional(),\n useOffline: z.boolean().optional(),\n optimisticRouting: z.boolean().optional(),\n varyParams: z.boolean().optional(),\n prefetchInlining: z\n .union([\n z.boolean(),\n z.object({\n maxSize: z.number().optional(),\n maxBundleSize: z.number().optional(),\n }),\n ])\n .optional(),\n disableOptimizedLoading: z.boolean().optional(),\n disablePostcssPresetEnv: z.boolean().optional(),\n cacheComponents: z.boolean().optional(),\n inlineCss: z.boolean().optional(),\n esmExternals: z.union([z.boolean(), z.literal('loose')]).optional(),\n serverActions: z\n .object({\n bodySizeLimit: zSizeLimit.optional(),\n allowedOrigins: z.array(z.string()).optional(),\n })\n .optional(),\n maxPostponedStateSize: zSizeLimit.optional(),\n // The original type was Record<string, any>\n extensionAlias: z.record(z.string(), z.any()).optional(),\n externalDir: z.boolean().optional(),\n externalMiddlewareRewritesResolve: z.boolean().optional(),\n externalProxyRewritesResolve: z.boolean().optional(),\n exposeTestingApiInProductionBuild: z.boolean().optional(),\n instantNavigationDevToolsToggle: z.boolean().optional(),\n fallbackNodePolyfills: z.literal(false).optional(),\n fetchCacheKeyPrefix: z.string().optional(),\n forceSwcTransforms: z.boolean().optional(),\n fullySpecified: z.boolean().optional(),\n gzipSize: z.boolean().optional(),\n imgOptConcurrency: z.number().int().optional().nullable(),\n imgOptTimeoutInSeconds: z.number().int().optional(),\n imgOptMaxInputPixels: z.number().int().optional(),\n imgOptSequentialRead: z.boolean().optional().nullable(),\n imgOptSkipMetadata: z.boolean().optional().nullable(),\n isrFlushToDisk: z.boolean().optional(),\n largePageDataBytes: z.number().optional(),\n linkNoTouchStart: z.boolean().optional(),\n manualClientBasePath: z.boolean().optional(),\n middlewarePrefetch: z.enum(['strict', 'flexible']).optional(),\n proxyPrefetch: z.enum(['strict', 'flexible']).optional(),\n middlewareClientMaxBodySize: zSizeLimit.optional(),\n proxyClientMaxBodySize: zSizeLimit.optional(),\n multiZoneDraftMode: z.boolean().optional(),\n cssChunking: z.union([z.boolean(), z.literal('strict')]).optional(),\n nextScriptWorkers: z.boolean().optional(),\n // The critter option is unknown, use z.any() here\n optimizeCss: z.union([z.boolean(), z.any()]).optional(),\n optimisticClientCache: z.boolean().optional(),\n parallelServerCompiles: z.boolean().optional(),\n parallelServerBuildTraces: z.boolean().optional(),\n ppr: z\n .union([z.boolean(), z.literal('incremental')])\n .readonly()\n .optional(),\n taint: z.boolean().optional(),\n prerenderEarlyExit: z.boolean().optional(),\n proxyTimeout: z.number().gte(0).optional(),\n rootParams: z.boolean().optional(),\n mcpServer: z.boolean().optional(),\n removeUncaughtErrorAndRejectionListeners: z.boolean().optional(),\n validateRSCRequestHeaders: z.boolean().optional(),\n scrollRestoration: z.boolean().optional(),\n sri: z\n .object({\n algorithm: z.enum(['sha256', 'sha384', 'sha512']).optional(),\n })\n .optional(),\n swcPlugins: z\n // The specific swc plugin's option is unknown, use z.any() here\n .array(z.tuple([z.string(), z.record(z.string(), z.any())]))\n .optional(),\n swcTraceProfiling: z.boolean().optional(),\n // NonNullable<webpack.Configuration['experiments']>['buildHttp']\n urlImports: z.any().optional(),\n viewTransition: z.boolean().optional(),\n workerThreads: z.boolean().optional(),\n webVitalsAttribution: z\n .array(\n z.union([\n z.literal('CLS'),\n z.literal('FCP'),\n z.literal('FID'),\n z.literal('INP'),\n z.literal('LCP'),\n z.literal('TTFB'),\n ])\n )\n .optional(),\n // This is partial set of mdx-rs transform options we support, aligned\n // with next_core::next_config::MdxRsOptions. Ensure both types are kept in sync.\n mdxRs: z\n .union([\n z.boolean(),\n z.object({\n development: z.boolean().optional(),\n jsxRuntime: z.string().optional(),\n jsxImportSource: z.string().optional(),\n providerImportSource: z.string().optional(),\n mdxType: z.enum(['gfm', 'commonmark']).optional(),\n }),\n ])\n .optional(),\n transitionIndicator: z.boolean().optional(),\n gestureTransition: z.boolean().optional(),\n typedRoutes: z.boolean().optional(),\n webpackBuildWorker: z.boolean().optional(),\n webpackMemoryOptimizations: z.boolean().optional(),\n turbopackMemoryLimit: z.number().optional(),\n turbopackPluginRuntimeStrategy: z\n .enum(['workerThreads', 'childProcesses'])\n .optional(),\n turbopackMinify: z.boolean().optional(),\n turbopackFileSystemCacheForDev: z.boolean().optional(),\n turbopackFileSystemCacheForBuild: z.boolean().optional(),\n turbopackSourceMaps: z.boolean().optional(),\n turbopackInputSourceMaps: z.boolean().optional(),\n turbopackTreeShaking: z.boolean().optional(),\n turbopackRemoveUnusedImports: z.boolean().optional(),\n turbopackRemoveUnusedExports: z.boolean().optional(),\n turbopackScopeHoisting: z.boolean().optional(),\n turbopackClientSideNestedAsyncChunking: z.boolean().optional(),\n turbopackServerSideNestedAsyncChunking: z.boolean().optional(),\n turbopackImportTypeBytes: z.boolean().optional(),\n turbopackImportTypeText: z.boolean().optional(),\n turbopackUseBuiltinBabel: z.boolean().optional(),\n turbopackUseBuiltinSass: z.boolean().optional(),\n turbopackModuleIds: z.enum(['named', 'deterministic']).optional(),\n turbopackInferModuleSideEffects: z.boolean().optional(),\n optimizePackageImports: z.array(z.string()).optional(),\n optimizeServerReact: z.boolean().optional(),\n strictRouteTypes: z.boolean().optional(),\n clientTraceMetadata: z.array(z.string()).optional(),\n serverMinification: z.boolean().optional(),\n serverSourceMaps: z.boolean().optional(),\n useWasmBinary: z.boolean().optional(),\n useLightningcss: z.boolean().optional(),\n lightningCssFeatures: z\n .object({\n include: z.array(z.enum(LIGHTNINGCSS_FEATURE_NAMES)).optional(),\n exclude: z.array(z.enum(LIGHTNINGCSS_FEATURE_NAMES)).optional(),\n })\n .optional(),\n testProxy: z.boolean().optional(),\n defaultTestRunner: z.enum(SUPPORTED_TEST_RUNNERS_LIST).optional(),\n allowDevelopmentBuild: z.literal(true).optional(),\n\n reactDebugChannel: z.boolean().optional(),\n staticGenerationRetryCount: z.number().int().optional(),\n staticGenerationMaxConcurrency: z.number().int().optional(),\n staticGenerationMinPagesPerWorker: z.number().int().optional(),\n typedEnv: z.boolean().optional(),\n serverComponentsHmrCache: z.boolean().optional(),\n authInterrupts: z.boolean().optional(),\n useCache: z.boolean().optional(),\n useNodeStreams: z.boolean().optional(),\n slowModuleDetection: z\n .object({\n buildTimeThresholdMs: z.number().int(),\n })\n .optional(),\n globalNotFound: z.boolean().optional(),\n browserDebugInfoInTerminal: z\n .union([\n z.boolean(),\n z.enum(['error', 'warn', 'verbose']),\n z.object({\n level: z.enum(['error', 'warn', 'verbose']).optional(),\n depthLimit: z.number().int().positive().optional(),\n edgeLimit: z.number().int().positive().optional(),\n showSourceLocation: z.boolean().optional(),\n }),\n ])\n .optional(),\n lockDistDir: z.boolean().optional(),\n hideLogsAfterAbort: z.boolean().optional(),\n runtimeServerDeploymentId: z.boolean().optional(),\n immutableAssetToken: z.string().optional(),\n deferredEntries: z.array(z.string()).optional(),\n onBeforeDeferredEntries: z.function().returns(z.promise(z.void())).optional(),\n reportSystemEnvInlining: z.enum(['warn', 'error']).optional(),\n}\n\nexport const configSchema: zod.ZodType<NextConfig> = z.lazy(() =>\n z.strictObject({\n adapterPath: z.string().optional(),\n allowedDevOrigins: z.array(z.string()).optional(),\n assetPrefix: z.string().optional(),\n basePath: z.string().optional(),\n bundlePagesRouterDependencies: z.boolean().optional(),\n cacheComponents: z.boolean().optional(),\n cacheHandler: z.string().min(1).optional(),\n cacheHandlers: z.record(z.string(), z.string().optional()).optional(),\n cacheLife: z\n .record(\n z.object({\n stale: z.number().optional(),\n revalidate: z.number().optional(),\n expire: z.number().optional(),\n })\n )\n .optional(),\n cacheMaxMemorySize: z.number().optional(),\n cleanDistDir: z.boolean().optional(),\n compiler: z\n .strictObject({\n emotion: z\n .union([\n z.boolean(),\n z.object({\n sourceMap: z.boolean().optional(),\n autoLabel: z\n .union([\n z.literal('always'),\n z.literal('dev-only'),\n z.literal('never'),\n ])\n .optional(),\n labelFormat: z.string().min(1).optional(),\n importMap: z\n .record(\n z.string(),\n z.record(\n z.string(),\n z.object({\n canonicalImport: z\n .tuple([z.string(), z.string()])\n .optional(),\n styledBaseImport: z\n .tuple([z.string(), z.string()])\n .optional(),\n })\n )\n )\n .optional(),\n }),\n ])\n .optional(),\n reactRemoveProperties: z\n .union([\n z.boolean().optional(),\n z.object({\n properties: z.array(z.string()).optional(),\n }),\n ])\n .optional(),\n relay: z\n .object({\n src: z.string(),\n artifactDirectory: z.string().optional(),\n language: z.enum(['javascript', 'typescript', 'flow']).optional(),\n eagerEsModules: z.boolean().optional(),\n })\n .optional(),\n removeConsole: z\n .union([\n z.boolean().optional(),\n z.object({\n exclude: z.array(z.string()).min(1).optional(),\n }),\n ])\n .optional(),\n styledComponents: z.union([\n z.boolean().optional(),\n z.object({\n displayName: z.boolean().optional(),\n topLevelImportPaths: z.array(z.string()).optional(),\n ssr: z.boolean().optional(),\n fileName: z.boolean().optional(),\n meaninglessFileNames: z.array(z.string()).optional(),\n minify: z.boolean().optional(),\n transpileTemplateLiterals: z.boolean().optional(),\n namespace: z.string().min(1).optional(),\n pure: z.boolean().optional(),\n cssProp: z.boolean().optional(),\n }),\n ]),\n styledJsx: z.union([\n z.boolean().optional(),\n z.object({\n useLightningcss: z.boolean().optional(),\n }),\n ]),\n define: z.record(z.string(), z.string()).optional(),\n defineServer: z.record(z.string(), z.string()).optional(),\n runAfterProductionCompile: z\n .function()\n .returns(z.promise(z.void()))\n .optional(),\n })\n .optional(),\n compress: z.boolean().optional(),\n configOrigin: z.string().optional(),\n crossOrigin: z\n .union([z.literal('anonymous'), z.literal('use-credentials')])\n .optional(),\n deploymentId: z.string().optional(),\n devIndicators: z\n .union([\n z.object({\n position: z\n .union([\n z.literal('bottom-left'),\n z.literal('bottom-right'),\n z.literal('top-left'),\n z.literal('top-right'),\n ])\n .optional(),\n }),\n z.literal(false),\n ])\n .optional(),\n distDir: z.string().min(1).optional(),\n env: z.record(z.string(), z.union([z.string(), z.undefined()])).optional(),\n enablePrerenderSourceMaps: z.boolean().optional(),\n excludeDefaultMomentLocales: z.boolean().optional(),\n experimental: z.strictObject(experimentalSchema).optional(),\n exportPathMap: z\n .function()\n .args(\n zExportMap,\n z.object({\n dev: z.boolean(),\n dir: z.string(),\n outDir: z.string().nullable(),\n distDir: z.string(),\n buildId: z.string(),\n })\n )\n .returns(z.union([zExportMap, z.promise(zExportMap)]))\n .optional(),\n generateBuildId: z\n .function()\n .args()\n .returns(\n z.union([\n z.string(),\n z.null(),\n z.promise(z.union([z.string(), z.null()])),\n ])\n )\n .optional(),\n generateEtags: z.boolean().optional(),\n headers: z\n .function()\n .args()\n .returns(z.promise(z.array(zHeader)))\n .optional(),\n htmlLimitedBots: z.instanceof(RegExp).optional(),\n httpAgentOptions: z\n .strictObject({ keepAlive: z.boolean().optional() })\n .optional(),\n i18n: z\n .strictObject({\n defaultLocale: z.string().min(1),\n domains: z\n .array(\n z.strictObject({\n defaultLocale: z.string().min(1),\n domain: z.string().min(1),\n http: z.literal(true).optional(),\n locales: z.array(z.string().min(1)).optional(),\n })\n )\n .optional(),\n localeDetection: z.literal(false).optional(),\n locales: z.array(z.string().min(1)),\n })\n .nullable()\n .optional(),\n images: z\n .strictObject({\n localPatterns: z\n .array(\n z.strictObject({\n pathname: z.string().optional(),\n search: z.string().optional(),\n })\n )\n .max(25)\n .optional(),\n remotePatterns: z\n .array(\n z.union([\n z.instanceof(URL),\n z.strictObject({\n hostname: z.string(),\n pathname: z.string().optional(),\n port: z.string().max(5).optional(),\n protocol: z.enum(['http', 'https']).optional(),\n search: z.string().optional(),\n }),\n ])\n )\n .max(50)\n .optional(),\n unoptimized: z.boolean().optional(),\n customCacheHandler: z.boolean().optional(),\n contentSecurityPolicy: z.string().optional(),\n contentDispositionType: z.enum(['inline', 'attachment']).optional(),\n dangerouslyAllowSVG: z.boolean().optional(),\n dangerouslyAllowLocalIP: z.boolean().optional(),\n deviceSizes: z\n .array(z.number().int().gte(1).lte(10000))\n .max(25)\n .optional(),\n disableStaticImages: z.boolean().optional(),\n domains: z.array(z.string()).max(50).optional(),\n formats: z\n .array(z.enum(['image/avif', 'image/webp']))\n .max(4)\n .optional(),\n imageSizes: z\n .array(z.number().int().gte(1).lte(10000))\n .min(0)\n .max(25)\n .optional(),\n loader: z.enum(VALID_LOADERS).optional(),\n loaderFile: z.string().optional(),\n maximumDiskCacheSize: z.number().int().min(0).optional(),\n maximumRedirects: z.number().int().min(0).max(20).optional(),\n maximumResponseBody: z\n .number()\n .int()\n .min(1)\n .max(Number.MAX_SAFE_INTEGER)\n .optional(),\n minimumCacheTTL: z.number().int().gte(0).optional(),\n path: z.string().optional(),\n qualities: z\n .array(z.number().int().gte(1).lte(100))\n .min(1)\n .max(20)\n .optional(),\n })\n .optional(),\n logging: z\n .union([\n z.object({\n fetches: z\n .object({\n fullUrl: z.boolean().optional(),\n hmrRefreshes: z.boolean().optional(),\n })\n .optional(),\n incomingRequests: z\n .union([\n z.boolean(),\n z.object({\n ignore: z.array(z.instanceof(RegExp)),\n }),\n ])\n .optional(),\n serverFunctions: z.boolean().optional(),\n browserToTerminal: z\n .union([z.boolean(), z.enum(['error', 'warn'])])\n .optional(),\n }),\n z.literal(false),\n ])\n .optional(),\n modularizeImports: z\n .record(\n z.string(),\n z.object({\n transform: z.union([z.string(), z.record(z.string(), z.string())]),\n preventFullImport: z.boolean().optional(),\n skipDefaultConversion: z.boolean().optional(),\n })\n )\n .optional(),\n onDemandEntries: z\n .strictObject({\n maxInactiveAge: z.number().optional(),\n pagesBufferLength: z.number().optional(),\n })\n .optional(),\n output: z.enum(['standalone', 'export']).optional(),\n outputFileTracingRoot: z.string().optional(),\n outputFileTracingExcludes: z\n .record(z.string(), z.array(z.string()))\n .optional(),\n outputFileTracingIncludes: z\n .record(z.string(), z.array(z.string()))\n .optional(),\n pageExtensions: z.array(z.string()).min(1).optional(),\n poweredByHeader: z.boolean().optional(),\n productionBrowserSourceMaps: z.boolean().optional(),\n reactCompiler: z.union([\n z.boolean(),\n z\n .object({\n compilationMode: z.enum(['infer', 'annotation', 'all']).optional(),\n panicThreshold: z\n .enum(['none', 'critical_errors', 'all_errors'])\n .optional(),\n })\n .optional(),\n ]),\n reactProductionProfiling: z.boolean().optional(),\n reactStrictMode: z.boolean().nullable().optional(),\n reactMaxHeadersLength: z.number().nonnegative().int().optional(),\n redirects: z\n .function()\n .args()\n .returns(z.promise(z.array(zRedirect)))\n .optional(),\n rewrites: z\n .function()\n .args()\n .returns(\n z.promise(\n z.union([\n z.array(zRewrite),\n z.object({\n beforeFiles: z.array(zRewrite),\n afterFiles: z.array(zRewrite),\n fallback: z.array(zRewrite),\n }),\n ])\n )\n )\n .optional(),\n // sassOptions properties are unknown besides implementation, use z.any() here\n sassOptions: z\n .object({\n implementation: z.string().optional(),\n })\n .catchall(z.any())\n .optional(),\n serverExternalPackages: z.array(z.string()).optional(),\n skipMiddlewareUrlNormalize: z.boolean().optional(),\n skipProxyUrlNormalize: z.boolean().optional(),\n skipTrailingSlashRedirect: z.boolean().optional(),\n staticPageGenerationTimeout: z.number().optional(),\n expireTime: z.number().optional(),\n target: z.string().optional(),\n trailingSlash: z.boolean().optional(),\n transpilePackages: z.array(z.string()).optional(),\n turbopack: zTurbopackConfig.optional(),\n typescript: z\n .strictObject({\n ignoreBuildErrors: z.boolean().optional(),\n tsconfigPath: z.string().min(1).optional(),\n })\n .optional(),\n typedRoutes: z.boolean().optional(),\n useFileSystemPublicRoutes: z.boolean().optional(),\n // The webpack config type is unknown, use z.any() here\n webpack: z.any().nullable().optional(),\n watchOptions: z\n .strictObject({\n pollIntervalMs: z.number().positive().finite().optional(),\n })\n .optional(),\n })\n)\n"],"names":["configSchema","experimentalSchema","zSizeLimit","z","custom","val","zExportMap","record","string","object","page","query","any","_fallbackRouteParams","array","optional","_isAppDir","boolean","_isDynamicError","_isRoutePPREnabled","_allowEmptyStaticShell","zRouteHas","union","type","enum","key","value","literal","undefined","zRewrite","source","destination","basePath","locale","has","missing","internal","zRedirect","and","statusCode","never","permanent","number","zHeader","headers","zTurbopackLoaderItem","strictObject","loader","options","zTurbopackLoaderBuiltinCondition","zTurbopackCondition","all","lazy","not","path","instanceof","RegExp","content","contentType","zTurbopackModuleType","zTurbopackRuleConfigItem","loaders","as","condition","zTurbopackRuleConfigCollection","zTurbopackConfig","rules","resolveAlias","resolveExtensions","root","debugIds","ignoreIssue","title","description","useSkewCookie","after","appNavFailHandling","appNewScrollHandler","preloadEntriesOnStart","allowedRevalidateHeaderKeys","staleTimes","dynamic","static","gte","cacheLife","stale","revalidate","expire","cacheHandlers","clientRouterFilter","clientRouterFilterRedirects","clientRouterFilterAllowedRate","cpus","memoryBasedWorkersCount","craCompat","caseSensitiveRoutes","clientParamParsingOrigins","cachedNavigations","partialFallbacks","dynamicOnHover","useOffline","optimisticRouting","varyParams","prefetchInlining","maxSize","maxBundleSize","disableOptimizedLoading","disablePostcssPresetEnv","cacheComponents","inlineCss","esmExternals","serverActions","bodySizeLimit","allowedOrigins","maxPostponedStateSize","extensionAlias","externalDir","externalMiddlewareRewritesResolve","externalProxyRewritesResolve","exposeTestingApiInProductionBuild","instantNavigationDevToolsToggle","fallbackNodePolyfills","fetchCacheKeyPrefix","forceSwcTransforms","fullySpecified","gzipSize","imgOptConcurrency","int","nullable","imgOptTimeoutInSeconds","imgOptMaxInputPixels","imgOptSequentialRead","imgOptSkipMetadata","isrFlushToDisk","largePageDataBytes","linkNoTouchStart","manualClientBasePath","middlewarePrefetch","proxyPrefetch","middlewareClientMaxBodySize","proxyClientMaxBodySize","multiZoneDraftMode","cssChunking","nextScriptWorkers","optimizeCss","optimisticClientCache","parallelServerCompiles","parallelServerBuildTraces","ppr","readonly","taint","prerenderEarlyExit","proxyTimeout","rootParams","mcpServer","removeUncaughtErrorAndRejectionListeners","validateRSCRequestHeaders","scrollRestoration","sri","algorithm","swcPlugins","tuple","swcTraceProfiling","urlImports","viewTransition","workerThreads","webVitalsAttribution","mdxRs","development","jsxRuntime","jsxImportSource","providerImportSource","mdxType","transitionIndicator","gestureTransition","typedRoutes","webpackBuildWorker","webpackMemoryOptimizations","turbopackMemoryLimit","turbopackPluginRuntimeStrategy","turbopackMinify","turbopackFileSystemCacheForDev","turbopackFileSystemCacheForBuild","turbopackSourceMaps","turbopackInputSourceMaps","turbopackTreeShaking","turbopackRemoveUnusedImports","turbopackRemoveUnusedExports","turbopackScopeHoisting","turbopackClientSideNestedAsyncChunking","turbopackServerSideNestedAsyncChunking","turbopackImportTypeBytes","turbopackImportTypeText","turbopackUseBuiltinBabel","turbopackUseBuiltinSass","turbopackModuleIds","turbopackInferModuleSideEffects","optimizePackageImports","optimizeServerReact","strictRouteTypes","clientTraceMetadata","serverMinification","serverSourceMaps","useWasmBinary","useLightningcss","lightningCssFeatures","include","LIGHTNINGCSS_FEATURE_NAMES","exclude","testProxy","defaultTestRunner","SUPPORTED_TEST_RUNNERS_LIST","allowDevelopmentBuild","reactDebugChannel","staticGenerationRetryCount","staticGenerationMaxConcurrency","staticGenerationMinPagesPerWorker","typedEnv","serverComponentsHmrCache","authInterrupts","useCache","useNodeStreams","slowModuleDetection","buildTimeThresholdMs","globalNotFound","browserDebugInfoInTerminal","level","depthLimit","positive","edgeLimit","showSourceLocation","lockDistDir","hideLogsAfterAbort","runtimeServerDeploymentId","immutableAssetToken","deferredEntries","onBeforeDeferredEntries","function","returns","promise","void","reportSystemEnvInlining","adapterPath","allowedDevOrigins","assetPrefix","bundlePagesRouterDependencies","cacheHandler","min","cacheMaxMemorySize","cleanDistDir","compiler","emotion","sourceMap","autoLabel","labelFormat","importMap","canonicalImport","styledBaseImport","reactRemoveProperties","properties","relay","src","artifactDirectory","language","eagerEsModules","removeConsole","styledComponents","displayName","topLevelImportPaths","ssr","fileName","meaninglessFileNames","minify","transpileTemplateLiterals","namespace","pure","cssProp","styledJsx","define","defineServer","runAfterProductionCompile","compress","configOrigin","crossOrigin","deploymentId","devIndicators","position","distDir","env","enablePrerenderSourceMaps","excludeDefaultMomentLocales","experimental","exportPathMap","args","dev","dir","outDir","buildId","generateBuildId","null","generateEtags","htmlLimitedBots","httpAgentOptions","keepAlive","i18n","defaultLocale","domains","domain","http","locales","localeDetection","images","localPatterns","pathname","search","max","remotePatterns","URL","hostname","port","protocol","unoptimized","customCacheHandler","contentSecurityPolicy","contentDispositionType","dangerouslyAllowSVG","dangerouslyAllowLocalIP","deviceSizes","lte","disableStaticImages","formats","imageSizes","VALID_LOADERS","loaderFile","maximumDiskCacheSize","maximumRedirects","maximumResponseBody","Number","MAX_SAFE_INTEGER","minimumCacheTTL","qualities","logging","fetches","fullUrl","hmrRefreshes","incomingRequests","ignore","serverFunctions","browserToTerminal","modularizeImports","transform","preventFullImport","skipDefaultConversion","onDemandEntries","maxInactiveAge","pagesBufferLength","output","outputFileTracingRoot","outputFileTracingExcludes","outputFileTracingIncludes","pageExtensions","poweredByHeader","productionBrowserSourceMaps","reactCompiler","compilationMode","panicThreshold","reactProductionProfiling","reactStrictMode","reactMaxHeadersLength","nonnegative","redirects","rewrites","beforeFiles","afterFiles","fallback","sassOptions","implementation","catchall","serverExternalPackages","skipMiddlewareUrlNormalize","skipProxyUrlNormalize","skipTrailingSlashRedirect","staticPageGenerationTimeout","expireTime","target","trailingSlash","transpilePackages","turbopack","typescript","ignoreBuildErrors","tsconfigPath","useFileSystemPublicRoutes","webpack","watchOptions","pollIntervalMs","finite"],"mappings":";;;;;;;;;;;;;;;IA4ZaA,YAAY;eAAZA;;IA/NAC,kBAAkB;eAAlBA;;;6BA5LiB;qBAEZ;8BAaX;0BAOqC;AAE5C,6CAA6C;AAC7C,MAAMC,aAAaC,MAAC,CAACC,MAAM,CAAY,CAACC;IACtC,IAAI,OAAOA,QAAQ,YAAY,OAAOA,QAAQ,UAAU;QACtD,OAAO;IACT;IACA,OAAO;AACT;AAEA,MAAMC,aAAyCH,MAAC,CAACI,MAAM,CACrDJ,MAAC,CAACK,MAAM,IACRL,MAAC,CAACM,MAAM,CAAC;IACPC,MAAMP,MAAC,CAACK,MAAM;IACdG,OAAOR,MAAC,CAACS,GAAG;IAEZ,8BAA8B;IAC9BC,sBAAsBV,MAAC,CAACW,KAAK,CAACX,MAAC,CAACS,GAAG,IAAIG,QAAQ;IAC/CC,WAAWb,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC/BG,iBAAiBf,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACrCI,oBAAoBhB,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACxCK,wBAAwBjB,MAAC,CAACc,OAAO,GAAGF,QAAQ;AAC9C;AAGF,MAAMM,YAAmClB,MAAC,CAACmB,KAAK,CAAC;IAC/CnB,MAAC,CAACM,MAAM,CAAC;QACPc,MAAMpB,MAAC,CAACqB,IAAI,CAAC;YAAC;YAAU;YAAS;SAAS;QAC1CC,KAAKtB,MAAC,CAACK,MAAM;QACbkB,OAAOvB,MAAC,CAACK,MAAM,GAAGO,QAAQ;IAC5B;IACAZ,MAAC,CAACM,MAAM,CAAC;QACPc,MAAMpB,MAAC,CAACwB,OAAO,CAAC;QAChBF,KAAKtB,MAAC,CAACyB,SAAS,GAAGb,QAAQ;QAC3BW,OAAOvB,MAAC,CAACK,MAAM;IACjB;CACD;AAED,MAAMqB,WAAiC1B,MAAC,CAACM,MAAM,CAAC;IAC9CqB,QAAQ3B,MAAC,CAACK,MAAM;IAChBuB,aAAa5B,MAAC,CAACK,MAAM;IACrBwB,UAAU7B,MAAC,CAACwB,OAAO,CAAC,OAAOZ,QAAQ;IACnCkB,QAAQ9B,MAAC,CAACwB,OAAO,CAAC,OAAOZ,QAAQ;IACjCmB,KAAK/B,MAAC,CAACW,KAAK,CAACO,WAAWN,QAAQ;IAChCoB,SAAShC,MAAC,CAACW,KAAK,CAACO,WAAWN,QAAQ;IACpCqB,UAAUjC,MAAC,CAACc,OAAO,GAAGF,QAAQ;AAChC;AAEA,MAAMsB,YAAmClC,MAAC,CACvCM,MAAM,CAAC;IACNqB,QAAQ3B,MAAC,CAACK,MAAM;IAChBuB,aAAa5B,MAAC,CAACK,MAAM;IACrBwB,UAAU7B,MAAC,CAACwB,OAAO,CAAC,OAAOZ,QAAQ;IACnCkB,QAAQ9B,MAAC,CAACwB,OAAO,CAAC,OAAOZ,QAAQ;IACjCmB,KAAK/B,MAAC,CAACW,KAAK,CAACO,WAAWN,QAAQ;IAChCoB,SAAShC,MAAC,CAACW,KAAK,CAACO,WAAWN,QAAQ;IACpCqB,UAAUjC,MAAC,CAACc,OAAO,GAAGF,QAAQ;AAChC,GACCuB,GAAG,CACFnC,MAAC,CAACmB,KAAK,CAAC;IACNnB,MAAC,CAACM,MAAM,CAAC;QACP8B,YAAYpC,MAAC,CAACqC,KAAK,GAAGzB,QAAQ;QAC9B0B,WAAWtC,MAAC,CAACc,OAAO;IACtB;IACAd,MAAC,CAACM,MAAM,CAAC;QACP8B,YAAYpC,MAAC,CAACuC,MAAM;QACpBD,WAAWtC,MAAC,CAACqC,KAAK,GAAGzB,QAAQ;IAC/B;CACD;AAGL,MAAM4B,UAA+BxC,MAAC,CAACM,MAAM,CAAC;IAC5CqB,QAAQ3B,MAAC,CAACK,MAAM;IAChBwB,UAAU7B,MAAC,CAACwB,OAAO,CAAC,OAAOZ,QAAQ;IACnCkB,QAAQ9B,MAAC,CAACwB,OAAO,CAAC,OAAOZ,QAAQ;IACjC6B,SAASzC,MAAC,CAACW,KAAK,CAACX,MAAC,CAACM,MAAM,CAAC;QAAEgB,KAAKtB,MAAC,CAACK,MAAM;QAAIkB,OAAOvB,MAAC,CAACK,MAAM;IAAG;IAC/D0B,KAAK/B,MAAC,CAACW,KAAK,CAACO,WAAWN,QAAQ;IAChCoB,SAAShC,MAAC,CAACW,KAAK,CAACO,WAAWN,QAAQ;IAEpCqB,UAAUjC,MAAC,CAACc,OAAO,GAAGF,QAAQ;AAChC;AAEA,MAAM8B,uBAAyD1C,MAAC,CAACmB,KAAK,CAAC;IACrEnB,MAAC,CAACK,MAAM;IACRL,MAAC,CAAC2C,YAAY,CAAC;QACbC,QAAQ5C,MAAC,CAACK,MAAM;QAChB,0EAA0E;QAC1EwC,SAAS7C,MAAC,CAACI,MAAM,CAACJ,MAAC,CAACK,MAAM,IAAIL,MAAC,CAACS,GAAG,IAAIG,QAAQ;IACjD;CACD;AAED,MAAMkC,mCACJ9C,MAAC,CAACmB,KAAK,CAAC;IACNnB,MAAC,CAACwB,OAAO,CAAC;IACVxB,MAAC,CAACwB,OAAO,CAAC;IACVxB,MAAC,CAACwB,OAAO,CAAC;IACVxB,MAAC,CAACwB,OAAO,CAAC;IACVxB,MAAC,CAACwB,OAAO,CAAC;IACVxB,MAAC,CAACwB,OAAO,CAAC;CACX;AAEH,MAAMuB,sBAA2D/C,MAAC,CAACmB,KAAK,CAAC;IACvEnB,MAAC,CAAC2C,YAAY,CAAC;QAAEK,KAAKhD,MAAC,CAACiD,IAAI,CAAC,IAAMjD,MAAC,CAACW,KAAK,CAACoC;IAAsB;IACjE/C,MAAC,CAAC2C,YAAY,CAAC;QAAElC,KAAKT,MAAC,CAACiD,IAAI,CAAC,IAAMjD,MAAC,CAACW,KAAK,CAACoC;IAAsB;IACjE/C,MAAC,CAAC2C,YAAY,CAAC;QAAEO,KAAKlD,MAAC,CAACiD,IAAI,CAAC,IAAMF;IAAqB;IACxDD;IACA9C,MAAC,CAAC2C,YAAY,CAAC;QACbQ,MAAMnD,MAAC,CAACmB,KAAK,CAAC;YAACnB,MAAC,CAACK,MAAM;YAAIL,MAAC,CAACoD,UAAU,CAACC;SAAQ,EAAEzC,QAAQ;QAC1D0C,SAAStD,MAAC,CAACoD,UAAU,CAACC,QAAQzC,QAAQ;QACtCJ,OAAOR,MAAC,CAACmB,KAAK,CAAC;YAACnB,MAAC,CAACK,MAAM;YAAIL,MAAC,CAACoD,UAAU,CAACC;SAAQ,EAAEzC,QAAQ;QAC3D2C,aAAavD,MAAC,CAACmB,KAAK,CAAC;YAACnB,MAAC,CAACK,MAAM;YAAIL,MAAC,CAACoD,UAAU,CAACC;SAAQ,EAAEzC,QAAQ;IACnE;CACD;AAED,MAAM4C,uBAAuBxD,MAAC,CAACqB,IAAI,CAAC;IAClC;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD;AAED,MAAMoC,2BACJzD,MAAC,CAAC2C,YAAY,CAAC;IACbe,SAAS1D,MAAC,CAACW,KAAK,CAAC+B,sBAAsB9B,QAAQ;IAC/C+C,IAAI3D,MAAC,CAACK,MAAM,GAAGO,QAAQ;IACvBgD,WAAWb,oBAAoBnC,QAAQ;IACvCQ,MAAMoC,qBAAqB5C,QAAQ;AACrC;AAEF,MAAMiD,iCACJ7D,MAAC,CAACmB,KAAK,CAAC;IACNsC;IACAzD,MAAC,CAACW,KAAK,CAACX,MAAC,CAACmB,KAAK,CAAC;QAACuB;QAAsBe;KAAyB;CACjE;AAEH,MAAMK,mBAAkD9D,MAAC,CAAC2C,YAAY,CAAC;IACrEoB,OAAO/D,MAAC,CAACI,MAAM,CAACJ,MAAC,CAACK,MAAM,IAAIwD,gCAAgCjD,QAAQ;IACpEoD,cAAchE,MAAC,CACZI,MAAM,CACLJ,MAAC,CAACK,MAAM,IACRL,MAAC,CAACmB,KAAK,CAAC;QACNnB,MAAC,CAACK,MAAM;QACRL,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM;QAChBL,MAAC,CAACI,MAAM,CAACJ,MAAC,CAACK,MAAM,IAAIL,MAAC,CAACmB,KAAK,CAAC;YAACnB,MAAC,CAACK,MAAM;YAAIL,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM;SAAI;KAC/D,GAEFO,QAAQ;IACXqD,mBAAmBjE,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,IAAIO,QAAQ;IAC/CsD,MAAMlE,MAAC,CAACK,MAAM,GAAGO,QAAQ;IACzBuD,UAAUnE,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC9BwD,aAAapE,MAAC,CACXW,KAAK,CACJX,MAAC,CAACM,MAAM,CAAC;QACP6C,MAAMnD,MAAC,CAACmB,KAAK,CAAC;YAACnB,MAAC,CAACK,MAAM;YAAIL,MAAC,CAACoD,UAAU,CAACC;SAAQ;QAChDgB,OAAOrE,MAAC,CAACmB,KAAK,CAAC;YAACnB,MAAC,CAACK,MAAM;YAAIL,MAAC,CAACoD,UAAU,CAACC;SAAQ,EAAEzC,QAAQ;QAC3D0D,aAAatE,MAAC,CAACmB,KAAK,CAAC;YAACnB,MAAC,CAACK,MAAM;YAAIL,MAAC,CAACoD,UAAU,CAACC;SAAQ,EAAEzC,QAAQ;IACnE,IAEDA,QAAQ;AACb;AAEO,MAAMd,qBAAqB;IAChCyE,eAAevE,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACnC4D,OAAOxE,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC3B6D,oBAAoBzE,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACxC8D,qBAAqB1E,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACzC+D,uBAAuB3E,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC3CgE,6BAA6B5E,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,IAAIO,QAAQ;IACzDiE,YAAY7E,MAAC,CACVM,MAAM,CAAC;QACNwE,SAAS9E,MAAC,CAACuC,MAAM,GAAG3B,QAAQ;QAC5BmE,QAAQ/E,MAAC,CAACuC,MAAM,GAAGyC,GAAG,CAAC,IAAIpE,QAAQ;IACrC,GACCA,QAAQ;IACXqE,WAAWjF,MAAC,CACTI,MAAM,CACLJ,MAAC,CAACM,MAAM,CAAC;QACP4E,OAAOlF,MAAC,CAACuC,MAAM,GAAG3B,QAAQ;QAC1BuE,YAAYnF,MAAC,CAACuC,MAAM,GAAG3B,QAAQ;QAC/BwE,QAAQpF,MAAC,CAACuC,MAAM,GAAG3B,QAAQ;IAC7B,IAEDA,QAAQ;IACXyE,eAAerF,MAAC,CAACI,MAAM,CAACJ,MAAC,CAACK,MAAM,IAAIL,MAAC,CAACK,MAAM,GAAGO,QAAQ,IAAIA,QAAQ;IACnE0E,oBAAoBtF,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACxC2E,6BAA6BvF,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACjD4E,+BAA+BxF,MAAC,CAACuC,MAAM,GAAG3B,QAAQ;IAClD6E,MAAMzF,MAAC,CAACuC,MAAM,GAAG3B,QAAQ;IACzB8E,yBAAyB1F,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC7C+E,WAAW3F,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC/BgF,qBAAqB5F,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACzCiF,2BAA2B7F,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,IAAIO,QAAQ;IACvDkF,mBAAmB9F,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACvCmF,kBAAkB/F,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACtCoF,gBAAgBhG,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACpCqF,YAAYjG,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAChCsF,mBAAmBlG,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACvCuF,YAAYnG,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAChCwF,kBAAkBpG,MAAC,CAChBmB,KAAK,CAAC;QACLnB,MAAC,CAACc,OAAO;QACTd,MAAC,CAACM,MAAM,CAAC;YACP+F,SAASrG,MAAC,CAACuC,MAAM,GAAG3B,QAAQ;YAC5B0F,eAAetG,MAAC,CAACuC,MAAM,GAAG3B,QAAQ;QACpC;KACD,EACAA,QAAQ;IACX2F,yBAAyBvG,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC7C4F,yBAAyBxG,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC7C6F,iBAAiBzG,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACrC8F,WAAW1G,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC/B+F,cAAc3G,MAAC,CAACmB,KAAK,CAAC;QAACnB,MAAC,CAACc,OAAO;QAAId,MAAC,CAACwB,OAAO,CAAC;KAAS,EAAEZ,QAAQ;IACjEgG,eAAe5G,MAAC,CACbM,MAAM,CAAC;QACNuG,eAAe9G,WAAWa,QAAQ;QAClCkG,gBAAgB9G,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,IAAIO,QAAQ;IAC9C,GACCA,QAAQ;IACXmG,uBAAuBhH,WAAWa,QAAQ;IAC1C,4CAA4C;IAC5CoG,gBAAgBhH,MAAC,CAACI,MAAM,CAACJ,MAAC,CAACK,MAAM,IAAIL,MAAC,CAACS,GAAG,IAAIG,QAAQ;IACtDqG,aAAajH,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACjCsG,mCAAmClH,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACvDuG,8BAA8BnH,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAClDwG,mCAAmCpH,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACvDyG,iCAAiCrH,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACrD0G,uBAAuBtH,MAAC,CAACwB,OAAO,CAAC,OAAOZ,QAAQ;IAChD2G,qBAAqBvH,MAAC,CAACK,MAAM,GAAGO,QAAQ;IACxC4G,oBAAoBxH,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACxC6G,gBAAgBzH,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACpC8G,UAAU1H,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC9B+G,mBAAmB3H,MAAC,CAACuC,MAAM,GAAGqF,GAAG,GAAGhH,QAAQ,GAAGiH,QAAQ;IACvDC,wBAAwB9H,MAAC,CAACuC,MAAM,GAAGqF,GAAG,GAAGhH,QAAQ;IACjDmH,sBAAsB/H,MAAC,CAACuC,MAAM,GAAGqF,GAAG,GAAGhH,QAAQ;IAC/CoH,sBAAsBhI,MAAC,CAACc,OAAO,GAAGF,QAAQ,GAAGiH,QAAQ;IACrDI,oBAAoBjI,MAAC,CAACc,OAAO,GAAGF,QAAQ,GAAGiH,QAAQ;IACnDK,gBAAgBlI,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACpCuH,oBAAoBnI,MAAC,CAACuC,MAAM,GAAG3B,QAAQ;IACvCwH,kBAAkBpI,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACtCyH,sBAAsBrI,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC1C0H,oBAAoBtI,MAAC,CAACqB,IAAI,CAAC;QAAC;QAAU;KAAW,EAAET,QAAQ;IAC3D2H,eAAevI,MAAC,CAACqB,IAAI,CAAC;QAAC;QAAU;KAAW,EAAET,QAAQ;IACtD4H,6BAA6BzI,WAAWa,QAAQ;IAChD6H,wBAAwB1I,WAAWa,QAAQ;IAC3C8H,oBAAoB1I,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACxC+H,aAAa3I,MAAC,CAACmB,KAAK,CAAC;QAACnB,MAAC,CAACc,OAAO;QAAId,MAAC,CAACwB,OAAO,CAAC;KAAU,EAAEZ,QAAQ;IACjEgI,mBAAmB5I,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACvC,kDAAkD;IAClDiI,aAAa7I,MAAC,CAACmB,KAAK,CAAC;QAACnB,MAAC,CAACc,OAAO;QAAId,MAAC,CAACS,GAAG;KAAG,EAAEG,QAAQ;IACrDkI,uBAAuB9I,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC3CmI,wBAAwB/I,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC5CoI,2BAA2BhJ,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC/CqI,KAAKjJ,MAAC,CACHmB,KAAK,CAAC;QAACnB,MAAC,CAACc,OAAO;QAAId,MAAC,CAACwB,OAAO,CAAC;KAAe,EAC7C0H,QAAQ,GACRtI,QAAQ;IACXuI,OAAOnJ,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC3BwI,oBAAoBpJ,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACxCyI,cAAcrJ,MAAC,CAACuC,MAAM,GAAGyC,GAAG,CAAC,GAAGpE,QAAQ;IACxC0I,YAAYtJ,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAChC2I,WAAWvJ,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC/B4I,0CAA0CxJ,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC9D6I,2BAA2BzJ,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC/C8I,mBAAmB1J,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACvC+I,KAAK3J,MAAC,CACHM,MAAM,CAAC;QACNsJ,WAAW5J,MAAC,CAACqB,IAAI,CAAC;YAAC;YAAU;YAAU;SAAS,EAAET,QAAQ;IAC5D,GACCA,QAAQ;IACXiJ,YAAY7J,MAAC,AACX,gEAAgE;KAC/DW,KAAK,CAACX,MAAC,CAAC8J,KAAK,CAAC;QAAC9J,MAAC,CAACK,MAAM;QAAIL,MAAC,CAACI,MAAM,CAACJ,MAAC,CAACK,MAAM,IAAIL,MAAC,CAACS,GAAG;KAAI,GACzDG,QAAQ;IACXmJ,mBAAmB/J,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACvC,iEAAiE;IACjEoJ,YAAYhK,MAAC,CAACS,GAAG,GAAGG,QAAQ;IAC5BqJ,gBAAgBjK,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACpCsJ,eAAelK,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACnCuJ,sBAAsBnK,MAAC,CACpBW,KAAK,CACJX,MAAC,CAACmB,KAAK,CAAC;QACNnB,MAAC,CAACwB,OAAO,CAAC;QACVxB,MAAC,CAACwB,OAAO,CAAC;QACVxB,MAAC,CAACwB,OAAO,CAAC;QACVxB,MAAC,CAACwB,OAAO,CAAC;QACVxB,MAAC,CAACwB,OAAO,CAAC;QACVxB,MAAC,CAACwB,OAAO,CAAC;KACX,GAEFZ,QAAQ;IACX,sEAAsE;IACtE,iFAAiF;IACjFwJ,OAAOpK,MAAC,CACLmB,KAAK,CAAC;QACLnB,MAAC,CAACc,OAAO;QACTd,MAAC,CAACM,MAAM,CAAC;YACP+J,aAAarK,MAAC,CAACc,OAAO,GAAGF,QAAQ;YACjC0J,YAAYtK,MAAC,CAACK,MAAM,GAAGO,QAAQ;YAC/B2J,iBAAiBvK,MAAC,CAACK,MAAM,GAAGO,QAAQ;YACpC4J,sBAAsBxK,MAAC,CAACK,MAAM,GAAGO,QAAQ;YACzC6J,SAASzK,MAAC,CAACqB,IAAI,CAAC;gBAAC;gBAAO;aAAa,EAAET,QAAQ;QACjD;KACD,EACAA,QAAQ;IACX8J,qBAAqB1K,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACzC+J,mBAAmB3K,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACvCgK,aAAa5K,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACjCiK,oBAAoB7K,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACxCkK,4BAA4B9K,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAChDmK,sBAAsB/K,MAAC,CAACuC,MAAM,GAAG3B,QAAQ;IACzCoK,gCAAgChL,MAAC,CAC9BqB,IAAI,CAAC;QAAC;QAAiB;KAAiB,EACxCT,QAAQ;IACXqK,iBAAiBjL,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACrCsK,gCAAgClL,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACpDuK,kCAAkCnL,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACtDwK,qBAAqBpL,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACzCyK,0BAA0BrL,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC9C0K,sBAAsBtL,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC1C2K,8BAA8BvL,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAClD4K,8BAA8BxL,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAClD6K,wBAAwBzL,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC5C8K,wCAAwC1L,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC5D+K,wCAAwC3L,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC5DgL,0BAA0B5L,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC9CiL,yBAAyB7L,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC7CkL,0BAA0B9L,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC9CmL,yBAAyB/L,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC7CoL,oBAAoBhM,MAAC,CAACqB,IAAI,CAAC;QAAC;QAAS;KAAgB,EAAET,QAAQ;IAC/DqL,iCAAiCjM,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACrDsL,wBAAwBlM,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,IAAIO,QAAQ;IACpDuL,qBAAqBnM,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACzCwL,kBAAkBpM,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACtCyL,qBAAqBrM,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,IAAIO,QAAQ;IACjD0L,oBAAoBtM,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACxC2L,kBAAkBvM,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACtC4L,eAAexM,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACnC6L,iBAAiBzM,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACrC8L,sBAAsB1M,MAAC,CACpBM,MAAM,CAAC;QACNqM,SAAS3M,MAAC,CAACW,KAAK,CAACX,MAAC,CAACqB,IAAI,CAACuL,wCAA0B,GAAGhM,QAAQ;QAC7DiM,SAAS7M,MAAC,CAACW,KAAK,CAACX,MAAC,CAACqB,IAAI,CAACuL,wCAA0B,GAAGhM,QAAQ;IAC/D,GACCA,QAAQ;IACXkM,WAAW9M,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC/BmM,mBAAmB/M,MAAC,CAACqB,IAAI,CAAC2L,qCAA2B,EAAEpM,QAAQ;IAC/DqM,uBAAuBjN,MAAC,CAACwB,OAAO,CAAC,MAAMZ,QAAQ;IAE/CsM,mBAAmBlN,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACvCuM,4BAA4BnN,MAAC,CAACuC,MAAM,GAAGqF,GAAG,GAAGhH,QAAQ;IACrDwM,gCAAgCpN,MAAC,CAACuC,MAAM,GAAGqF,GAAG,GAAGhH,QAAQ;IACzDyM,mCAAmCrN,MAAC,CAACuC,MAAM,GAAGqF,GAAG,GAAGhH,QAAQ;IAC5D0M,UAAUtN,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC9B2M,0BAA0BvN,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC9C4M,gBAAgBxN,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACpC6M,UAAUzN,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC9B8M,gBAAgB1N,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACpC+M,qBAAqB3N,MAAC,CACnBM,MAAM,CAAC;QACNsN,sBAAsB5N,MAAC,CAACuC,MAAM,GAAGqF,GAAG;IACtC,GACChH,QAAQ;IACXiN,gBAAgB7N,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACpCkN,4BAA4B9N,MAAC,CAC1BmB,KAAK,CAAC;QACLnB,MAAC,CAACc,OAAO;QACTd,MAAC,CAACqB,IAAI,CAAC;YAAC;YAAS;YAAQ;SAAU;QACnCrB,MAAC,CAACM,MAAM,CAAC;YACPyN,OAAO/N,MAAC,CAACqB,IAAI,CAAC;gBAAC;gBAAS;gBAAQ;aAAU,EAAET,QAAQ;YACpDoN,YAAYhO,MAAC,CAACuC,MAAM,GAAGqF,GAAG,GAAGqG,QAAQ,GAAGrN,QAAQ;YAChDsN,WAAWlO,MAAC,CAACuC,MAAM,GAAGqF,GAAG,GAAGqG,QAAQ,GAAGrN,QAAQ;YAC/CuN,oBAAoBnO,MAAC,CAACc,OAAO,GAAGF,QAAQ;QAC1C;KACD,EACAA,QAAQ;IACXwN,aAAapO,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACjCyN,oBAAoBrO,MAAC,CAACc,OAAO,GAAGF,QAAQ;IACxC0N,2BAA2BtO,MAAC,CAACc,OAAO,GAAGF,QAAQ;IAC/C2N,qBAAqBvO,MAAC,CAACK,MAAM,GAAGO,QAAQ;IACxC4N,iBAAiBxO,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,IAAIO,QAAQ;IAC7C6N,yBAAyBzO,MAAC,CAAC0O,QAAQ,GAAGC,OAAO,CAAC3O,MAAC,CAAC4O,OAAO,CAAC5O,MAAC,CAAC6O,IAAI,KAAKjO,QAAQ;IAC3EkO,yBAAyB9O,MAAC,CAACqB,IAAI,CAAC;QAAC;QAAQ;KAAQ,EAAET,QAAQ;AAC7D;AAEO,MAAMf,eAAwCG,MAAC,CAACiD,IAAI,CAAC,IAC1DjD,MAAC,CAAC2C,YAAY,CAAC;QACboM,aAAa/O,MAAC,CAACK,MAAM,GAAGO,QAAQ;QAChCoO,mBAAmBhP,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,IAAIO,QAAQ;QAC/CqO,aAAajP,MAAC,CAACK,MAAM,GAAGO,QAAQ;QAChCiB,UAAU7B,MAAC,CAACK,MAAM,GAAGO,QAAQ;QAC7BsO,+BAA+BlP,MAAC,CAACc,OAAO,GAAGF,QAAQ;QACnD6F,iBAAiBzG,MAAC,CAACc,OAAO,GAAGF,QAAQ;QACrCuO,cAAcnP,MAAC,CAACK,MAAM,GAAG+O,GAAG,CAAC,GAAGxO,QAAQ;QACxCyE,eAAerF,MAAC,CAACI,MAAM,CAACJ,MAAC,CAACK,MAAM,IAAIL,MAAC,CAACK,MAAM,GAAGO,QAAQ,IAAIA,QAAQ;QACnEqE,WAAWjF,MAAC,CACTI,MAAM,CACLJ,MAAC,CAACM,MAAM,CAAC;YACP4E,OAAOlF,MAAC,CAACuC,MAAM,GAAG3B,QAAQ;YAC1BuE,YAAYnF,MAAC,CAACuC,MAAM,GAAG3B,QAAQ;YAC/BwE,QAAQpF,MAAC,CAACuC,MAAM,GAAG3B,QAAQ;QAC7B,IAEDA,QAAQ;QACXyO,oBAAoBrP,MAAC,CAACuC,MAAM,GAAG3B,QAAQ;QACvC0O,cAActP,MAAC,CAACc,OAAO,GAAGF,QAAQ;QAClC2O,UAAUvP,MAAC,CACR2C,YAAY,CAAC;YACZ6M,SAASxP,MAAC,CACPmB,KAAK,CAAC;gBACLnB,MAAC,CAACc,OAAO;gBACTd,MAAC,CAACM,MAAM,CAAC;oBACPmP,WAAWzP,MAAC,CAACc,OAAO,GAAGF,QAAQ;oBAC/B8O,WAAW1P,MAAC,CACTmB,KAAK,CAAC;wBACLnB,MAAC,CAACwB,OAAO,CAAC;wBACVxB,MAAC,CAACwB,OAAO,CAAC;wBACVxB,MAAC,CAACwB,OAAO,CAAC;qBACX,EACAZ,QAAQ;oBACX+O,aAAa3P,MAAC,CAACK,MAAM,GAAG+O,GAAG,CAAC,GAAGxO,QAAQ;oBACvCgP,WAAW5P,MAAC,CACTI,MAAM,CACLJ,MAAC,CAACK,MAAM,IACRL,MAAC,CAACI,MAAM,CACNJ,MAAC,CAACK,MAAM,IACRL,MAAC,CAACM,MAAM,CAAC;wBACPuP,iBAAiB7P,MAAC,CACf8J,KAAK,CAAC;4BAAC9J,MAAC,CAACK,MAAM;4BAAIL,MAAC,CAACK,MAAM;yBAAG,EAC9BO,QAAQ;wBACXkP,kBAAkB9P,MAAC,CAChB8J,KAAK,CAAC;4BAAC9J,MAAC,CAACK,MAAM;4BAAIL,MAAC,CAACK,MAAM;yBAAG,EAC9BO,QAAQ;oBACb,KAGHA,QAAQ;gBACb;aACD,EACAA,QAAQ;YACXmP,uBAAuB/P,MAAC,CACrBmB,KAAK,CAAC;gBACLnB,MAAC,CAACc,OAAO,GAAGF,QAAQ;gBACpBZ,MAAC,CAACM,MAAM,CAAC;oBACP0P,YAAYhQ,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,IAAIO,QAAQ;gBAC1C;aACD,EACAA,QAAQ;YACXqP,OAAOjQ,MAAC,CACLM,MAAM,CAAC;gBACN4P,KAAKlQ,MAAC,CAACK,MAAM;gBACb8P,mBAAmBnQ,MAAC,CAACK,MAAM,GAAGO,QAAQ;gBACtCwP,UAAUpQ,MAAC,CAACqB,IAAI,CAAC;oBAAC;oBAAc;oBAAc;iBAAO,EAAET,QAAQ;gBAC/DyP,gBAAgBrQ,MAAC,CAACc,OAAO,GAAGF,QAAQ;YACtC,GACCA,QAAQ;YACX0P,eAAetQ,MAAC,CACbmB,KAAK,CAAC;gBACLnB,MAAC,CAACc,OAAO,GAAGF,QAAQ;gBACpBZ,MAAC,CAACM,MAAM,CAAC;oBACPuM,SAAS7M,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,IAAI+O,GAAG,CAAC,GAAGxO,QAAQ;gBAC9C;aACD,EACAA,QAAQ;YACX2P,kBAAkBvQ,MAAC,CAACmB,KAAK,CAAC;gBACxBnB,MAAC,CAACc,OAAO,GAAGF,QAAQ;gBACpBZ,MAAC,CAACM,MAAM,CAAC;oBACPkQ,aAAaxQ,MAAC,CAACc,OAAO,GAAGF,QAAQ;oBACjC6P,qBAAqBzQ,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,IAAIO,QAAQ;oBACjD8P,KAAK1Q,MAAC,CAACc,OAAO,GAAGF,QAAQ;oBACzB+P,UAAU3Q,MAAC,CAACc,OAAO,GAAGF,QAAQ;oBAC9BgQ,sBAAsB5Q,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,IAAIO,QAAQ;oBAClDiQ,QAAQ7Q,MAAC,CAACc,OAAO,GAAGF,QAAQ;oBAC5BkQ,2BAA2B9Q,MAAC,CAACc,OAAO,GAAGF,QAAQ;oBAC/CmQ,WAAW/Q,MAAC,CAACK,MAAM,GAAG+O,GAAG,CAAC,GAAGxO,QAAQ;oBACrCoQ,MAAMhR,MAAC,CAACc,OAAO,GAAGF,QAAQ;oBAC1BqQ,SAASjR,MAAC,CAACc,OAAO,GAAGF,QAAQ;gBAC/B;aACD;YACDsQ,WAAWlR,MAAC,CAACmB,KAAK,CAAC;gBACjBnB,MAAC,CAACc,OAAO,GAAGF,QAAQ;gBACpBZ,MAAC,CAACM,MAAM,CAAC;oBACPmM,iBAAiBzM,MAAC,CAACc,OAAO,GAAGF,QAAQ;gBACvC;aACD;YACDuQ,QAAQnR,MAAC,CAACI,MAAM,CAACJ,MAAC,CAACK,MAAM,IAAIL,MAAC,CAACK,MAAM,IAAIO,QAAQ;YACjDwQ,cAAcpR,MAAC,CAACI,MAAM,CAACJ,MAAC,CAACK,MAAM,IAAIL,MAAC,CAACK,MAAM,IAAIO,QAAQ;YACvDyQ,2BAA2BrR,MAAC,CACzB0O,QAAQ,GACRC,OAAO,CAAC3O,MAAC,CAAC4O,OAAO,CAAC5O,MAAC,CAAC6O,IAAI,KACxBjO,QAAQ;QACb,GACCA,QAAQ;QACX0Q,UAAUtR,MAAC,CAACc,OAAO,GAAGF,QAAQ;QAC9B2Q,cAAcvR,MAAC,CAACK,MAAM,GAAGO,QAAQ;QACjC4Q,aAAaxR,MAAC,CACXmB,KAAK,CAAC;YAACnB,MAAC,CAACwB,OAAO,CAAC;YAAcxB,MAAC,CAACwB,OAAO,CAAC;SAAmB,EAC5DZ,QAAQ;QACX6Q,cAAczR,MAAC,CAACK,MAAM,GAAGO,QAAQ;QACjC8Q,eAAe1R,MAAC,CACbmB,KAAK,CAAC;YACLnB,MAAC,CAACM,MAAM,CAAC;gBACPqR,UAAU3R,MAAC,CACRmB,KAAK,CAAC;oBACLnB,MAAC,CAACwB,OAAO,CAAC;oBACVxB,MAAC,CAACwB,OAAO,CAAC;oBACVxB,MAAC,CAACwB,OAAO,CAAC;oBACVxB,MAAC,CAACwB,OAAO,CAAC;iBACX,EACAZ,QAAQ;YACb;YACAZ,MAAC,CAACwB,OAAO,CAAC;SACX,EACAZ,QAAQ;QACXgR,SAAS5R,MAAC,CAACK,MAAM,GAAG+O,GAAG,CAAC,GAAGxO,QAAQ;QACnCiR,KAAK7R,MAAC,CAACI,MAAM,CAACJ,MAAC,CAACK,MAAM,IAAIL,MAAC,CAACmB,KAAK,CAAC;YAACnB,MAAC,CAACK,MAAM;YAAIL,MAAC,CAACyB,SAAS;SAAG,GAAGb,QAAQ;QACxEkR,2BAA2B9R,MAAC,CAACc,OAAO,GAAGF,QAAQ;QAC/CmR,6BAA6B/R,MAAC,CAACc,OAAO,GAAGF,QAAQ;QACjDoR,cAAchS,MAAC,CAAC2C,YAAY,CAAC7C,oBAAoBc,QAAQ;QACzDqR,eAAejS,MAAC,CACb0O,QAAQ,GACRwD,IAAI,CACH/R,YACAH,MAAC,CAACM,MAAM,CAAC;YACP6R,KAAKnS,MAAC,CAACc,OAAO;YACdsR,KAAKpS,MAAC,CAACK,MAAM;YACbgS,QAAQrS,MAAC,CAACK,MAAM,GAAGwH,QAAQ;YAC3B+J,SAAS5R,MAAC,CAACK,MAAM;YACjBiS,SAAStS,MAAC,CAACK,MAAM;QACnB,IAEDsO,OAAO,CAAC3O,MAAC,CAACmB,KAAK,CAAC;YAAChB;YAAYH,MAAC,CAAC4O,OAAO,CAACzO;SAAY,GACnDS,QAAQ;QACX2R,iBAAiBvS,MAAC,CACf0O,QAAQ,GACRwD,IAAI,GACJvD,OAAO,CACN3O,MAAC,CAACmB,KAAK,CAAC;YACNnB,MAAC,CAACK,MAAM;YACRL,MAAC,CAACwS,IAAI;YACNxS,MAAC,CAAC4O,OAAO,CAAC5O,MAAC,CAACmB,KAAK,CAAC;gBAACnB,MAAC,CAACK,MAAM;gBAAIL,MAAC,CAACwS,IAAI;aAAG;SACzC,GAEF5R,QAAQ;QACX6R,eAAezS,MAAC,CAACc,OAAO,GAAGF,QAAQ;QACnC6B,SAASzC,MAAC,CACP0O,QAAQ,GACRwD,IAAI,GACJvD,OAAO,CAAC3O,MAAC,CAAC4O,OAAO,CAAC5O,MAAC,CAACW,KAAK,CAAC6B,WAC1B5B,QAAQ;QACX8R,iBAAiB1S,MAAC,CAACoD,UAAU,CAACC,QAAQzC,QAAQ;QAC9C+R,kBAAkB3S,MAAC,CAChB2C,YAAY,CAAC;YAAEiQ,WAAW5S,MAAC,CAACc,OAAO,GAAGF,QAAQ;QAAG,GACjDA,QAAQ;QACXiS,MAAM7S,MAAC,CACJ2C,YAAY,CAAC;YACZmQ,eAAe9S,MAAC,CAACK,MAAM,GAAG+O,GAAG,CAAC;YAC9B2D,SAAS/S,MAAC,CACPW,KAAK,CACJX,MAAC,CAAC2C,YAAY,CAAC;gBACbmQ,eAAe9S,MAAC,CAACK,MAAM,GAAG+O,GAAG,CAAC;gBAC9B4D,QAAQhT,MAAC,CAACK,MAAM,GAAG+O,GAAG,CAAC;gBACvB6D,MAAMjT,MAAC,CAACwB,OAAO,CAAC,MAAMZ,QAAQ;gBAC9BsS,SAASlT,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,GAAG+O,GAAG,CAAC,IAAIxO,QAAQ;YAC9C,IAEDA,QAAQ;YACXuS,iBAAiBnT,MAAC,CAACwB,OAAO,CAAC,OAAOZ,QAAQ;YAC1CsS,SAASlT,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,GAAG+O,GAAG,CAAC;QAClC,GACCvH,QAAQ,GACRjH,QAAQ;QACXwS,QAAQpT,MAAC,CACN2C,YAAY,CAAC;YACZ0Q,eAAerT,MAAC,CACbW,KAAK,CACJX,MAAC,CAAC2C,YAAY,CAAC;gBACb2Q,UAAUtT,MAAC,CAACK,MAAM,GAAGO,QAAQ;gBAC7B2S,QAAQvT,MAAC,CAACK,MAAM,GAAGO,QAAQ;YAC7B,IAED4S,GAAG,CAAC,IACJ5S,QAAQ;YACX6S,gBAAgBzT,MAAC,CACdW,KAAK,CACJX,MAAC,CAACmB,KAAK,CAAC;gBACNnB,MAAC,CAACoD,UAAU,CAACsQ;gBACb1T,MAAC,CAAC2C,YAAY,CAAC;oBACbgR,UAAU3T,MAAC,CAACK,MAAM;oBAClBiT,UAAUtT,MAAC,CAACK,MAAM,GAAGO,QAAQ;oBAC7BgT,MAAM5T,MAAC,CAACK,MAAM,GAAGmT,GAAG,CAAC,GAAG5S,QAAQ;oBAChCiT,UAAU7T,MAAC,CAACqB,IAAI,CAAC;wBAAC;wBAAQ;qBAAQ,EAAET,QAAQ;oBAC5C2S,QAAQvT,MAAC,CAACK,MAAM,GAAGO,QAAQ;gBAC7B;aACD,GAEF4S,GAAG,CAAC,IACJ5S,QAAQ;YACXkT,aAAa9T,MAAC,CAACc,OAAO,GAAGF,QAAQ;YACjCmT,oBAAoB/T,MAAC,CAACc,OAAO,GAAGF,QAAQ;YACxCoT,uBAAuBhU,MAAC,CAACK,MAAM,GAAGO,QAAQ;YAC1CqT,wBAAwBjU,MAAC,CAACqB,IAAI,CAAC;gBAAC;gBAAU;aAAa,EAAET,QAAQ;YACjEsT,qBAAqBlU,MAAC,CAACc,OAAO,GAAGF,QAAQ;YACzCuT,yBAAyBnU,MAAC,CAACc,OAAO,GAAGF,QAAQ;YAC7CwT,aAAapU,MAAC,CACXW,KAAK,CAACX,MAAC,CAACuC,MAAM,GAAGqF,GAAG,GAAG5C,GAAG,CAAC,GAAGqP,GAAG,CAAC,QAClCb,GAAG,CAAC,IACJ5S,QAAQ;YACX0T,qBAAqBtU,MAAC,CAACc,OAAO,GAAGF,QAAQ;YACzCmS,SAAS/S,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,IAAImT,GAAG,CAAC,IAAI5S,QAAQ;YAC7C2T,SAASvU,MAAC,CACPW,KAAK,CAACX,MAAC,CAACqB,IAAI,CAAC;gBAAC;gBAAc;aAAa,GACzCmS,GAAG,CAAC,GACJ5S,QAAQ;YACX4T,YAAYxU,MAAC,CACVW,KAAK,CAACX,MAAC,CAACuC,MAAM,GAAGqF,GAAG,GAAG5C,GAAG,CAAC,GAAGqP,GAAG,CAAC,QAClCjF,GAAG,CAAC,GACJoE,GAAG,CAAC,IACJ5S,QAAQ;YACXgC,QAAQ5C,MAAC,CAACqB,IAAI,CAACoT,0BAAa,EAAE7T,QAAQ;YACtC8T,YAAY1U,MAAC,CAACK,MAAM,GAAGO,QAAQ;YAC/B+T,sBAAsB3U,MAAC,CAACuC,MAAM,GAAGqF,GAAG,GAAGwH,GAAG,CAAC,GAAGxO,QAAQ;YACtDgU,kBAAkB5U,MAAC,CAACuC,MAAM,GAAGqF,GAAG,GAAGwH,GAAG,CAAC,GAAGoE,GAAG,CAAC,IAAI5S,QAAQ;YAC1DiU,qBAAqB7U,MAAC,CACnBuC,MAAM,GACNqF,GAAG,GACHwH,GAAG,CAAC,GACJoE,GAAG,CAACsB,OAAOC,gBAAgB,EAC3BnU,QAAQ;YACXoU,iBAAiBhV,MAAC,CAACuC,MAAM,GAAGqF,GAAG,GAAG5C,GAAG,CAAC,GAAGpE,QAAQ;YACjDuC,MAAMnD,MAAC,CAACK,MAAM,GAAGO,QAAQ;YACzBqU,WAAWjV,MAAC,CACTW,KAAK,CAACX,MAAC,CAACuC,MAAM,GAAGqF,GAAG,GAAG5C,GAAG,CAAC,GAAGqP,GAAG,CAAC,MAClCjF,GAAG,CAAC,GACJoE,GAAG,CAAC,IACJ5S,QAAQ;QACb,GACCA,QAAQ;QACXsU,SAASlV,MAAC,CACPmB,KAAK,CAAC;YACLnB,MAAC,CAACM,MAAM,CAAC;gBACP6U,SAASnV,MAAC,CACPM,MAAM,CAAC;oBACN8U,SAASpV,MAAC,CAACc,OAAO,GAAGF,QAAQ;oBAC7ByU,cAAcrV,MAAC,CAACc,OAAO,GAAGF,QAAQ;gBACpC,GACCA,QAAQ;gBACX0U,kBAAkBtV,MAAC,CAChBmB,KAAK,CAAC;oBACLnB,MAAC,CAACc,OAAO;oBACTd,MAAC,CAACM,MAAM,CAAC;wBACPiV,QAAQvV,MAAC,CAACW,KAAK,CAACX,MAAC,CAACoD,UAAU,CAACC;oBAC/B;iBACD,EACAzC,QAAQ;gBACX4U,iBAAiBxV,MAAC,CAACc,OAAO,GAAGF,QAAQ;gBACrC6U,mBAAmBzV,MAAC,CACjBmB,KAAK,CAAC;oBAACnB,MAAC,CAACc,OAAO;oBAAId,MAAC,CAACqB,IAAI,CAAC;wBAAC;wBAAS;qBAAO;iBAAE,EAC9CT,QAAQ;YACb;YACAZ,MAAC,CAACwB,OAAO,CAAC;SACX,EACAZ,QAAQ;QACX8U,mBAAmB1V,MAAC,CACjBI,MAAM,CACLJ,MAAC,CAACK,MAAM,IACRL,MAAC,CAACM,MAAM,CAAC;YACPqV,WAAW3V,MAAC,CAACmB,KAAK,CAAC;gBAACnB,MAAC,CAACK,MAAM;gBAAIL,MAAC,CAACI,MAAM,CAACJ,MAAC,CAACK,MAAM,IAAIL,MAAC,CAACK,MAAM;aAAI;YACjEuV,mBAAmB5V,MAAC,CAACc,OAAO,GAAGF,QAAQ;YACvCiV,uBAAuB7V,MAAC,CAACc,OAAO,GAAGF,QAAQ;QAC7C,IAEDA,QAAQ;QACXkV,iBAAiB9V,MAAC,CACf2C,YAAY,CAAC;YACZoT,gBAAgB/V,MAAC,CAACuC,MAAM,GAAG3B,QAAQ;YACnCoV,mBAAmBhW,MAAC,CAACuC,MAAM,GAAG3B,QAAQ;QACxC,GACCA,QAAQ;QACXqV,QAAQjW,MAAC,CAACqB,IAAI,CAAC;YAAC;YAAc;SAAS,EAAET,QAAQ;QACjDsV,uBAAuBlW,MAAC,CAACK,MAAM,GAAGO,QAAQ;QAC1CuV,2BAA2BnW,MAAC,CACzBI,MAAM,CAACJ,MAAC,CAACK,MAAM,IAAIL,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,KACnCO,QAAQ;QACXwV,2BAA2BpW,MAAC,CACzBI,MAAM,CAACJ,MAAC,CAACK,MAAM,IAAIL,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,KACnCO,QAAQ;QACXyV,gBAAgBrW,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,IAAI+O,GAAG,CAAC,GAAGxO,QAAQ;QACnD0V,iBAAiBtW,MAAC,CAACc,OAAO,GAAGF,QAAQ;QACrC2V,6BAA6BvW,MAAC,CAACc,OAAO,GAAGF,QAAQ;QACjD4V,eAAexW,MAAC,CAACmB,KAAK,CAAC;YACrBnB,MAAC,CAACc,OAAO;YACTd,MAAC,CACEM,MAAM,CAAC;gBACNmW,iBAAiBzW,MAAC,CAACqB,IAAI,CAAC;oBAAC;oBAAS;oBAAc;iBAAM,EAAET,QAAQ;gBAChE8V,gBAAgB1W,MAAC,CACdqB,IAAI,CAAC;oBAAC;oBAAQ;oBAAmB;iBAAa,EAC9CT,QAAQ;YACb,GACCA,QAAQ;SACZ;QACD+V,0BAA0B3W,MAAC,CAACc,OAAO,GAAGF,QAAQ;QAC9CgW,iBAAiB5W,MAAC,CAACc,OAAO,GAAG+G,QAAQ,GAAGjH,QAAQ;QAChDiW,uBAAuB7W,MAAC,CAACuC,MAAM,GAAGuU,WAAW,GAAGlP,GAAG,GAAGhH,QAAQ;QAC9DmW,WAAW/W,MAAC,CACT0O,QAAQ,GACRwD,IAAI,GACJvD,OAAO,CAAC3O,MAAC,CAAC4O,OAAO,CAAC5O,MAAC,CAACW,KAAK,CAACuB,aAC1BtB,QAAQ;QACXoW,UAAUhX,MAAC,CACR0O,QAAQ,GACRwD,IAAI,GACJvD,OAAO,CACN3O,MAAC,CAAC4O,OAAO,CACP5O,MAAC,CAACmB,KAAK,CAAC;YACNnB,MAAC,CAACW,KAAK,CAACe;YACR1B,MAAC,CAACM,MAAM,CAAC;gBACP2W,aAAajX,MAAC,CAACW,KAAK,CAACe;gBACrBwV,YAAYlX,MAAC,CAACW,KAAK,CAACe;gBACpByV,UAAUnX,MAAC,CAACW,KAAK,CAACe;YACpB;SACD,IAGJd,QAAQ;QACX,8EAA8E;QAC9EwW,aAAapX,MAAC,CACXM,MAAM,CAAC;YACN+W,gBAAgBrX,MAAC,CAACK,MAAM,GAAGO,QAAQ;QACrC,GACC0W,QAAQ,CAACtX,MAAC,CAACS,GAAG,IACdG,QAAQ;QACX2W,wBAAwBvX,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,IAAIO,QAAQ;QACpD4W,4BAA4BxX,MAAC,CAACc,OAAO,GAAGF,QAAQ;QAChD6W,uBAAuBzX,MAAC,CAACc,OAAO,GAAGF,QAAQ;QAC3C8W,2BAA2B1X,MAAC,CAACc,OAAO,GAAGF,QAAQ;QAC/C+W,6BAA6B3X,MAAC,CAACuC,MAAM,GAAG3B,QAAQ;QAChDgX,YAAY5X,MAAC,CAACuC,MAAM,GAAG3B,QAAQ;QAC/BiX,QAAQ7X,MAAC,CAACK,MAAM,GAAGO,QAAQ;QAC3BkX,eAAe9X,MAAC,CAACc,OAAO,GAAGF,QAAQ;QACnCmX,mBAAmB/X,MAAC,CAACW,KAAK,CAACX,MAAC,CAACK,MAAM,IAAIO,QAAQ;QAC/CoX,WAAWlU,iBAAiBlD,QAAQ;QACpCqX,YAAYjY,MAAC,CACV2C,YAAY,CAAC;YACZuV,mBAAmBlY,MAAC,CAACc,OAAO,GAAGF,QAAQ;YACvCuX,cAAcnY,MAAC,CAACK,MAAM,GAAG+O,GAAG,CAAC,GAAGxO,QAAQ;QAC1C,GACCA,QAAQ;QACXgK,aAAa5K,MAAC,CAACc,OAAO,GAAGF,QAAQ;QACjCwX,2BAA2BpY,MAAC,CAACc,OAAO,GAAGF,QAAQ;QAC/C,uDAAuD;QACvDyX,SAASrY,MAAC,CAACS,GAAG,GAAGoH,QAAQ,GAAGjH,QAAQ;QACpC0X,cAActY,MAAC,CACZ2C,YAAY,CAAC;YACZ4V,gBAAgBvY,MAAC,CAACuC,MAAM,GAAG0L,QAAQ,GAAGuK,MAAM,GAAG5X,QAAQ;QACzD,GACCA,QAAQ;IACb","ignoreList":[0]} |
@@ -316,2 +316,3 @@ import type { webpack } from 'next/dist/compiled/webpack/webpack'; | ||
| dynamicOnHover?: boolean; | ||
| useOffline?: boolean; | ||
| optimisticRouting?: boolean; | ||
@@ -1356,2 +1357,3 @@ varyParams?: boolean; | ||
| dynamicOnHover: false; | ||
| useOffline: false; | ||
| varyParams: false; | ||
@@ -1463,5 +1465,5 @@ prefetchInlining: false; | ||
| adapterPath?: NextConfigComplete['adapterPath']; | ||
| experimental: Pick<NextConfigComplete['experimental'], 'ppr' | 'taint' | 'serverActions' | 'staleTimes' | 'dynamicOnHover' | 'optimisticRouting' | 'inlineCss' | 'prefetchInlining' | 'authInterrupts' | 'clientTraceMetadata' | 'clientParamParsingOrigins' | 'allowedRevalidateHeaderKeys' | 'fetchCacheKeyPrefix' | 'isrFlushToDisk' | 'optimizeCss' | 'nextScriptWorkers' | 'disableOptimizedLoading' | 'largePageDataBytes' | 'serverComponentsHmrCache' | 'caseSensitiveRoutes' | 'validateRSCRequestHeaders' | 'sri' | 'useSkewCookie' | 'preloadEntriesOnStart' | 'hideLogsAfterAbort' | 'removeUncaughtErrorAndRejectionListeners' | 'imgOptConcurrency' | 'imgOptMaxInputPixels' | 'imgOptSequentialRead' | 'imgOptSkipMetadata' | 'imgOptTimeoutInSeconds' | 'proxyClientMaxBodySize' | 'proxyTimeout' | 'testProxy' | 'runtimeServerDeploymentId' | 'maxPostponedStateSize' | 'cachedNavigations' | 'partialFallbacks' | 'exposeTestingApiInProductionBuild' | 'immutableAssetToken' | 'useNodeStreams'> & {}; | ||
| experimental: Pick<NextConfigComplete['experimental'], 'ppr' | 'taint' | 'serverActions' | 'staleTimes' | 'dynamicOnHover' | 'useOffline' | 'optimisticRouting' | 'inlineCss' | 'prefetchInlining' | 'authInterrupts' | 'clientTraceMetadata' | 'clientParamParsingOrigins' | 'allowedRevalidateHeaderKeys' | 'fetchCacheKeyPrefix' | 'isrFlushToDisk' | 'optimizeCss' | 'nextScriptWorkers' | 'disableOptimizedLoading' | 'largePageDataBytes' | 'serverComponentsHmrCache' | 'caseSensitiveRoutes' | 'validateRSCRequestHeaders' | 'sri' | 'useSkewCookie' | 'preloadEntriesOnStart' | 'hideLogsAfterAbort' | 'removeUncaughtErrorAndRejectionListeners' | 'imgOptConcurrency' | 'imgOptMaxInputPixels' | 'imgOptSequentialRead' | 'imgOptSkipMetadata' | 'imgOptTimeoutInSeconds' | 'proxyClientMaxBodySize' | 'proxyTimeout' | 'testProxy' | 'runtimeServerDeploymentId' | 'maxPostponedStateSize' | 'cachedNavigations' | 'partialFallbacks' | 'exposeTestingApiInProductionBuild' | 'immutableAssetToken' | 'useNodeStreams'> & {}; | ||
| } | ||
| export declare function getNextConfigRuntime(config: NextConfigComplete | NextConfigRuntime): NextConfigRuntime; | ||
| export { DEFAULT_MAX_POSTPONED_STATE_SIZE, parseMaxPostponedStateSize, } from '../shared/lib/size-limit'; |
@@ -193,2 +193,3 @@ "use strict"; | ||
| dynamicOnHover: false, | ||
| useOffline: false, | ||
| varyParams: false, | ||
@@ -293,2 +294,3 @@ prefetchInlining: false, | ||
| dynamicOnHover: ex.dynamicOnHover, | ||
| useOffline: ex.useOffline, | ||
| optimisticRouting: ex.optimisticRouting, | ||
@@ -295,0 +297,0 @@ inlineCss: ex.inlineCss, |
@@ -88,3 +88,3 @@ "use strict"; | ||
| } | ||
| _log.bootstrap(`${(0, _picocolors.bold)((0, _picocolors.purple)(`${_log.prefixes.ready} Next.js ${"16.2.1-canary.11"}`))}${versionSuffix}`); | ||
| _log.bootstrap(`${(0, _picocolors.bold)((0, _picocolors.purple)(`${_log.prefixes.ready} Next.js ${"16.2.1-canary.12"}`))}${versionSuffix}`); | ||
| if (appUrl) { | ||
@@ -91,0 +91,0 @@ _log.bootstrap(`- Local: ${appUrl}`); |
@@ -181,3 +181,3 @@ // Start CPU profile if it wasn't already started. | ||
| let { port } = serverOptions; | ||
| process.title = `next-server (v${"16.2.1-canary.11"})`; | ||
| process.title = `next-server (v${"16.2.1-canary.12"})`; | ||
| let handlersReady = ()=>{}; | ||
@@ -184,0 +184,0 @@ let handlersError = ()=>{}; |
@@ -24,3 +24,3 @@ "use strict"; | ||
| function isStableBuild() { | ||
| return !"16.2.1-canary.11"?.includes('canary') && !process.env.__NEXT_TEST_MODE && !process.env.NEXT_PRIVATE_LOCAL_DEV; | ||
| return !"16.2.1-canary.12"?.includes('canary') && !process.env.__NEXT_TEST_MODE && !process.env.NEXT_PRIVATE_LOCAL_DEV; | ||
| } | ||
@@ -27,0 +27,0 @@ class CanaryOnlyConfigError extends Error { |
@@ -84,3 +84,3 @@ "use strict"; | ||
| ciName: _ciinfo.isCI && _ciinfo.name || null, | ||
| nextVersion: "16.2.1-canary.11" | ||
| nextVersion: "16.2.1-canary.12" | ||
| }; | ||
@@ -87,0 +87,0 @@ return traits; |
@@ -14,7 +14,7 @@ "use strict"; | ||
| // This should be an invariant, if it fails our build tooling is broken. | ||
| if (typeof "16.2.1-canary.11" !== 'string') { | ||
| if (typeof "16.2.1-canary.12" !== 'string') { | ||
| return []; | ||
| } | ||
| const payload = { | ||
| nextVersion: "16.2.1-canary.11", | ||
| nextVersion: "16.2.1-canary.12", | ||
| nodeVersion: process.version, | ||
@@ -21,0 +21,0 @@ cliCommand: event.cliCommand, |
@@ -41,3 +41,3 @@ "use strict"; | ||
| payload: { | ||
| nextVersion: "16.2.1-canary.11", | ||
| nextVersion: "16.2.1-canary.12", | ||
| glibcVersion, | ||
@@ -44,0 +44,0 @@ installedSwcPackages, |
@@ -15,3 +15,3 @@ "use strict"; | ||
| // This should be an invariant, if it fails our build tooling is broken. | ||
| if (typeof "16.2.1-canary.11" !== 'string') { | ||
| if (typeof "16.2.1-canary.12" !== 'string') { | ||
| return []; | ||
@@ -21,3 +21,3 @@ } | ||
| const payload = { | ||
| nextVersion: "16.2.1-canary.11", | ||
| nextVersion: "16.2.1-canary.12", | ||
| nodeVersion: process.version, | ||
@@ -24,0 +24,0 @@ cliCommand: event.cliCommand, |
+17
-15
| { | ||
| "name": "next", | ||
| "version": "16.2.1-canary.11", | ||
| "version": "16.2.1-canary.12", | ||
| "description": "The React Framework", | ||
@@ -42,2 +42,4 @@ "main": "./dist/server/next.js", | ||
| "link.d.ts", | ||
| "offline.js", | ||
| "offline.d.ts", | ||
| "form.js", | ||
@@ -101,3 +103,3 @@ "form.d.ts", | ||
| "dependencies": { | ||
| "@next/env": "16.2.1-canary.11", | ||
| "@next/env": "16.2.1-canary.12", | ||
| "@swc/helpers": "0.5.15", | ||
@@ -133,10 +135,10 @@ "baseline-browser-mapping": "^2.9.19", | ||
| "sharp": "^0.34.5", | ||
| "@next/swc-darwin-arm64": "16.2.1-canary.11", | ||
| "@next/swc-darwin-x64": "16.2.1-canary.11", | ||
| "@next/swc-linux-arm64-gnu": "16.2.1-canary.11", | ||
| "@next/swc-linux-arm64-musl": "16.2.1-canary.11", | ||
| "@next/swc-linux-x64-gnu": "16.2.1-canary.11", | ||
| "@next/swc-linux-x64-musl": "16.2.1-canary.11", | ||
| "@next/swc-win32-arm64-msvc": "16.2.1-canary.11", | ||
| "@next/swc-win32-x64-msvc": "16.2.1-canary.11" | ||
| "@next/swc-darwin-arm64": "16.2.1-canary.12", | ||
| "@next/swc-darwin-x64": "16.2.1-canary.12", | ||
| "@next/swc-linux-arm64-gnu": "16.2.1-canary.12", | ||
| "@next/swc-linux-arm64-musl": "16.2.1-canary.12", | ||
| "@next/swc-linux-x64-gnu": "16.2.1-canary.12", | ||
| "@next/swc-linux-x64-musl": "16.2.1-canary.12", | ||
| "@next/swc-win32-arm64-msvc": "16.2.1-canary.12", | ||
| "@next/swc-win32-x64-msvc": "16.2.1-canary.12" | ||
| }, | ||
@@ -175,7 +177,7 @@ "devDependencies": { | ||
| "@napi-rs/triples": "1.2.0", | ||
| "@next/font": "16.2.1-canary.11", | ||
| "@next/polyfill-module": "16.2.1-canary.11", | ||
| "@next/polyfill-nomodule": "16.2.1-canary.11", | ||
| "@next/react-refresh-utils": "16.2.1-canary.11", | ||
| "@next/swc": "16.2.1-canary.11", | ||
| "@next/font": "16.2.1-canary.12", | ||
| "@next/polyfill-module": "16.2.1-canary.12", | ||
| "@next/polyfill-nomodule": "16.2.1-canary.12", | ||
| "@next/react-refresh-utils": "16.2.1-canary.12", | ||
| "@next/swc": "16.2.1-canary.12", | ||
| "@opentelemetry/api": "1.6.0", | ||
@@ -182,0 +184,0 @@ "@playwright/test": "1.58.2", |
Sorry, the diff of this file is too big to display
| (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,16085,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"warnOnce",{enumerable:!0,get:function(){return warnOnce}});let warnOnce=_=>{}},53062,(__turbopack_context__,module,exports)=>{"use strict";function disableSmoothScrollDuringRouteTransition(fn,options={}){if(options.onlyHashChange)return void fn();let htmlElement=document.documentElement;if("smooth"!==htmlElement.dataset.scrollBehavior)return void fn();let existing=htmlElement.style.scrollBehavior;htmlElement.style.scrollBehavior="auto",options.dontForceLayout||htmlElement.getClientRects(),fn(),htmlElement.style.scrollBehavior=existing}Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"disableSmoothScrollDuringRouteTransition",{enumerable:!0,get:function(){return disableSmoothScrollDuringRouteTransition}}),__turbopack_context__.r(16085)},94309,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"HTTPAccessFallbackBoundary",{enumerable:!0,get:function(){return HTTPAccessFallbackBoundary}});let _interop_require_wildcard=__turbopack_context__.r(44066),_jsxruntime=__turbopack_context__.r(22658),_react=_interop_require_wildcard._(__turbopack_context__.r(91438)),_navigationuntracked=__turbopack_context__.r(69885),_httpaccessfallback=__turbopack_context__.r(10966);__turbopack_context__.r(16085);let _approutercontextsharedruntime=__turbopack_context__.r(18350);class HTTPAccessFallbackErrorBoundary extends _react.default.Component{constructor(props){super(props),this.state={triggeredStatus:void 0,previousPathname:props.pathname}}componentDidCatch(){}static getDerivedStateFromError(error){if((0,_httpaccessfallback.isHTTPAccessFallbackError)(error))return{triggeredStatus:(0,_httpaccessfallback.getAccessFallbackHTTPStatus)(error)};throw error}static getDerivedStateFromProps(props,state){return props.pathname!==state.previousPathname&&state.triggeredStatus?{triggeredStatus:void 0,previousPathname:props.pathname}:{triggeredStatus:state.triggeredStatus,previousPathname:props.pathname}}render(){let{notFound,forbidden,unauthorized,children}=this.props,{triggeredStatus}=this.state,errorComponents={[_httpaccessfallback.HTTPAccessErrorStatus.NOT_FOUND]:notFound,[_httpaccessfallback.HTTPAccessErrorStatus.FORBIDDEN]:forbidden,[_httpaccessfallback.HTTPAccessErrorStatus.UNAUTHORIZED]:unauthorized};if(triggeredStatus){let isNotFound=triggeredStatus===_httpaccessfallback.HTTPAccessErrorStatus.NOT_FOUND&¬Found,isForbidden=triggeredStatus===_httpaccessfallback.HTTPAccessErrorStatus.FORBIDDEN&&forbidden,isUnauthorized=triggeredStatus===_httpaccessfallback.HTTPAccessErrorStatus.UNAUTHORIZED&&unauthorized;return isNotFound||isForbidden||isUnauthorized?(0,_jsxruntime.jsxs)(_jsxruntime.Fragment,{children:[(0,_jsxruntime.jsx)("meta",{name:"robots",content:"noindex"}),!1,errorComponents[triggeredStatus]]}):children}return children}}function HTTPAccessFallbackBoundary({notFound,forbidden,unauthorized,children}){let pathname=(0,_navigationuntracked.useUntrackedPathname)(),missingSlots=(0,_react.useContext)(_approutercontextsharedruntime.MissingSlotContext);return notFound||forbidden||unauthorized?(0,_jsxruntime.jsx)(HTTPAccessFallbackErrorBoundary,{pathname:pathname,notFound:notFound,forbidden:forbidden,unauthorized:unauthorized,missingSlots:missingSlots,children:children}):(0,_jsxruntime.jsx)(_jsxruntime.Fragment,{children:children})}("function"==typeof exports.default||"object"==typeof exports.default&&null!==exports.default)&&void 0===exports.default.__esModule&&(Object.defineProperty(exports.default,"__esModule",{value:!0}),Object.assign(exports.default,exports),module.exports=exports.default)},31796,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"useRouterBFCache",{enumerable:!0,get:function(){return useRouterBFCache}});let _react=__turbopack_context__.r(91438);function useRouterBFCache(activeTree,activeStateKey){let[prevActiveEntry,setPrevActiveEntry]=(0,_react.useState)(()=>({tree:activeTree,stateKey:activeStateKey,next:null}));if(prevActiveEntry.tree===activeTree)return prevActiveEntry;let newActiveEntry={tree:activeTree,stateKey:activeStateKey,next:null},n=1,oldEntry=prevActiveEntry,clonedEntry=newActiveEntry;for(;null!==oldEntry&&n<1;){if(oldEntry.stateKey===activeStateKey){clonedEntry.next=oldEntry.next;break}{n++;let entry={tree:oldEntry.tree,stateKey:oldEntry.stateKey,next:null};clonedEntry.next=entry,clonedEntry=entry}oldEntry=oldEntry.next}return setPrevActiveEntry(newActiveEntry),newActiveEntry}("function"==typeof exports.default||"object"==typeof exports.default&&null!==exports.default)&&void 0===exports.default.__esModule&&(Object.defineProperty(exports.default,"__esModule",{value:!0}),Object.assign(exports.default,exports),module.exports=exports.default)},92215,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return OuterLayoutRouter}});let _interop_require_default=__turbopack_context__.r(81258),_interop_require_wildcard=__turbopack_context__.r(44066),_jsxruntime=__turbopack_context__.r(22658),_routerreducertypes=__turbopack_context__.r(97669),_react=_interop_require_wildcard._(__turbopack_context__.r(91438)),_reactdom=_interop_require_default._(__turbopack_context__.r(48951)),_approutercontextsharedruntime=__turbopack_context__.r(18350),_fetchserverresponse=__turbopack_context__.r(93931),_unresolvedthenable=__turbopack_context__.r(13091),_errorboundary=__turbopack_context__.r(86679),_matchsegments=__turbopack_context__.r(81605),_disablesmoothscroll=__turbopack_context__.r(53062),_redirectboundary=__turbopack_context__.r(77680),_errorboundary1=__turbopack_context__.r(94309),_createroutercachekey=__turbopack_context__.r(75903),_hasinterceptionrouteincurrenttree=__turbopack_context__.r(82094),_useactionqueue=__turbopack_context__.r(37530),_bfcache=__turbopack_context__.r(31796);__turbopack_context__.r(36896);let _hooksclientcontextsharedruntime=__turbopack_context__.r(21183),_routeparams=__turbopack_context__.r(81332);function walkAddRefetch(segmentPathToWalk,treeToRecreate){if(segmentPathToWalk){let[segment,parallelRouteKey]=segmentPathToWalk,isLast=2===segmentPathToWalk.length;if((0,_matchsegments.matchSegment)(treeToRecreate[0],segment)&&treeToRecreate[1].hasOwnProperty(parallelRouteKey)){if(isLast){let subTree=walkAddRefetch(void 0,treeToRecreate[1][parallelRouteKey]);return[treeToRecreate[0],{...treeToRecreate[1],[parallelRouteKey]:[subTree[0],subTree[1],subTree[2],"refetch"]}]}return[treeToRecreate[0],{...treeToRecreate[1],[parallelRouteKey]:walkAddRefetch(segmentPathToWalk.slice(2),treeToRecreate[1][parallelRouteKey])}]}}return treeToRecreate}let __DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=_reactdom.default.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function findDOMNode(instance){return"undefined"==typeof window?null:(0,__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE.findDOMNode)(instance)}let rectProperties=["bottom","height","left","right","top","width","x","y"];function shouldSkipElement(element){if(["sticky","fixed"].includes(getComputedStyle(element).position))return!0;let rect=element.getBoundingClientRect();return rectProperties.every(item=>0===rect[item])}function topOfElementInViewport(element,viewportHeight){let rect=element.getBoundingClientRect();return rect.top>=0&&rect.top<=viewportHeight}function getHashFragmentDomNode(hashFragment){return"top"===hashFragment?document.body:document.getElementById(hashFragment)??document.getElementsByName(hashFragment)[0]}class InnerScrollAndFocusHandler extends _react.default.Component{componentDidMount(){this.handlePotentialScroll()}componentDidUpdate(){this.props.focusAndScrollRef.apply&&this.handlePotentialScroll()}render(){return this.props.children}constructor(...args){super(...args),this.handlePotentialScroll=()=>{let{focusAndScrollRef,segmentPath}=this.props;if(focusAndScrollRef.apply){if(0!==focusAndScrollRef.segmentPaths.length&&!focusAndScrollRef.segmentPaths.some(scrollRefSegmentPath=>segmentPath.every((segment,index)=>(0,_matchsegments.matchSegment)(segment,scrollRefSegmentPath[index]))))return;let domNode=null,hashFragment=focusAndScrollRef.hashFragment;if(hashFragment&&(domNode=getHashFragmentDomNode(hashFragment)),domNode||(domNode=findDOMNode(this)),!(domNode instanceof Element))return;for(;!(domNode instanceof HTMLElement)||shouldSkipElement(domNode);){if(null===domNode.nextElementSibling)return;domNode=domNode.nextElementSibling}focusAndScrollRef.apply=!1,focusAndScrollRef.hashFragment=null,focusAndScrollRef.segmentPaths=[],(0,_disablesmoothscroll.disableSmoothScrollDuringRouteTransition)(()=>{if(hashFragment)return void domNode.scrollIntoView();let htmlElement=document.documentElement,viewportHeight=htmlElement.clientHeight;!topOfElementInViewport(domNode,viewportHeight)&&(htmlElement.scrollTop=0,topOfElementInViewport(domNode,viewportHeight)||domNode.scrollIntoView())},{dontForceLayout:!0,onlyHashChange:focusAndScrollRef.onlyHashChange}),focusAndScrollRef.onlyHashChange=!1,domNode.focus()}}}}function ScrollAndFocusHandler({segmentPath,children}){let context=(0,_react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);if(!context)throw Object.defineProperty(Error("invariant global layout router not mounted"),"__NEXT_ERROR_CODE",{value:"E473",enumerable:!1,configurable:!0});return(0,_jsxruntime.jsx)(InnerScrollAndFocusHandler,{segmentPath:segmentPath,focusAndScrollRef:context.focusAndScrollRef,children:children})}function InnerLayoutRouter({tree,segmentPath,debugNameContext,cacheNode,params,url,isActive}){let context=(0,_react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);if((0,_react.useContext)(_hooksclientcontextsharedruntime.NavigationPromisesContext),!context)throw Object.defineProperty(Error("invariant global layout router not mounted"),"__NEXT_ERROR_CODE",{value:"E473",enumerable:!1,configurable:!0});let{tree:fullTree}=context,resolvedPrefetchRsc=null!==cacheNode.prefetchRsc?cacheNode.prefetchRsc:cacheNode.rsc,rsc=(0,_react.useDeferredValue)(cacheNode.rsc,resolvedPrefetchRsc),resolvedRsc="object"==typeof rsc&&null!==rsc&&"function"==typeof rsc.then?(0,_react.use)(rsc):rsc;if(!resolvedRsc){if(isActive){let lazyData=cacheNode.lazyData;if(null===lazyData){let refetchTree=walkAddRefetch(["",...segmentPath],fullTree),includeNextUrl=(0,_hasinterceptionrouteincurrenttree.hasInterceptionRouteInCurrentTree)(fullTree),navigatedAt=Date.now();cacheNode.lazyData=lazyData=(0,_fetchserverresponse.fetchServerResponse)(new URL(url,location.origin),{flightRouterState:refetchTree,nextUrl:includeNextUrl?context.previousNextUrl||context.nextUrl:null}).then(serverResponse=>((0,_react.startTransition)(()=>{(0,_useactionqueue.dispatchAppRouterAction)({type:_routerreducertypes.ACTION_SERVER_PATCH,previousTree:fullTree,serverResponse,navigatedAt})}),serverResponse)),(0,_react.use)(lazyData)}}(0,_react.use)(_unresolvedthenable.unresolvedThenable)}return(0,_jsxruntime.jsx)(_approutercontextsharedruntime.LayoutRouterContext.Provider,{value:{parentTree:tree,parentCacheNode:cacheNode,parentSegmentPath:segmentPath,parentParams:params,debugNameContext:debugNameContext,url:url,isActive:isActive},children:resolvedRsc})}function LoadingBoundary({name,loading,children}){let loadingModuleData;if(loadingModuleData="object"==typeof loading&&null!==loading&&"function"==typeof loading.then?(0,_react.use)(loading):loading){let loadingRsc=loadingModuleData[0],loadingStyles=loadingModuleData[1],loadingScripts=loadingModuleData[2];return(0,_jsxruntime.jsx)(_react.Suspense,{name:name,fallback:(0,_jsxruntime.jsxs)(_jsxruntime.Fragment,{children:[loadingStyles,loadingScripts,loadingRsc]}),children:children})}return(0,_jsxruntime.jsx)(_jsxruntime.Fragment,{children:children})}function OuterLayoutRouter({parallelRouterKey,error,errorStyles,errorScripts,templateStyles,templateScripts,template,notFound,forbidden,unauthorized,segmentViewBoundaries}){let context=(0,_react.useContext)(_approutercontextsharedruntime.LayoutRouterContext);if(!context)throw Object.defineProperty(Error("invariant expected layout router to be mounted"),"__NEXT_ERROR_CODE",{value:"E56",enumerable:!1,configurable:!0});let{parentTree,parentCacheNode,parentSegmentPath,parentParams,url,isActive,debugNameContext}=context,parentParallelRoutes=parentCacheNode.parallelRoutes,segmentMap=parentParallelRoutes.get(parallelRouterKey);segmentMap||(segmentMap=new Map,parentParallelRoutes.set(parallelRouterKey,segmentMap));let parentTreeSegment=parentTree[0],segmentPath=null===parentSegmentPath?[parallelRouterKey]:parentSegmentPath.concat([parentTreeSegment,parallelRouterKey]),activeTree=parentTree[1][parallelRouterKey],activeSegment=activeTree[0],activeStateKey=(0,_createroutercachekey.createRouterCacheKey)(activeSegment,!0),bfcacheEntry=(0,_bfcache.useRouterBFCache)(activeTree,activeStateKey),children=[];do{let tree=bfcacheEntry.tree,stateKey=bfcacheEntry.stateKey,segment=tree[0],cacheKey=(0,_createroutercachekey.createRouterCacheKey)(segment),cacheNode=segmentMap.get(cacheKey);if(void 0===cacheNode){let newLazyCacheNode={lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null,navigatedAt:-1};cacheNode=newLazyCacheNode,segmentMap.set(cacheKey,newLazyCacheNode)}let params=parentParams;if(Array.isArray(segment)){let paramName=segment[0],paramCacheKey=segment[1],paramType=segment[2],paramValue=(0,_routeparams.getParamValueFromCacheKey)(paramCacheKey,paramType);null!==paramValue&&(params={...parentParams,[paramName]:paramValue})}let debugName=getBoundaryDebugNameFromSegment(segment),childDebugNameContext=debugName??debugNameContext,debugNameToDisplay=void 0===debugName?void 0:debugNameContext,loadingModuleData=parentCacheNode.loading,child=(0,_jsxruntime.jsxs)(_approutercontextsharedruntime.TemplateContext.Provider,{value:(0,_jsxruntime.jsxs)(ScrollAndFocusHandler,{segmentPath:segmentPath,children:[(0,_jsxruntime.jsx)(_errorboundary.ErrorBoundary,{errorComponent:error,errorStyles:errorStyles,errorScripts:errorScripts,children:(0,_jsxruntime.jsx)(LoadingBoundary,{name:debugNameToDisplay,loading:loadingModuleData,children:(0,_jsxruntime.jsx)(_errorboundary1.HTTPAccessFallbackBoundary,{notFound:notFound,forbidden:forbidden,unauthorized:unauthorized,children:(0,_jsxruntime.jsxs)(_redirectboundary.RedirectBoundary,{children:[(0,_jsxruntime.jsx)(InnerLayoutRouter,{url:url,tree:tree,params:params,cacheNode:cacheNode,segmentPath:segmentPath,debugNameContext:childDebugNameContext,isActive:isActive&&stateKey===activeStateKey}),null]})})})}),null]}),children:[templateStyles,templateScripts,template]},stateKey);children.push(child),bfcacheEntry=bfcacheEntry.next}while(null!==bfcacheEntry)return children}function getBoundaryDebugNameFromSegment(segment){if("/"===segment)return"/";if("string"==typeof segment)if(isVirtualLayout(segment))return;else return segment+"/";return segment[1]+"/"}function isVirtualLayout(segment){return"(slot)"===segment}("function"==typeof exports.default||"object"==typeof exports.default&&null!==exports.default)&&void 0===exports.default.__esModule&&(Object.defineProperty(exports.default,"__esModule",{value:!0}),Object.assign(exports.default,exports),module.exports=exports.default)},97551,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return RenderFromTemplateContext}});let _interop_require_wildcard=__turbopack_context__.r(44066),_jsxruntime=__turbopack_context__.r(22658),_react=_interop_require_wildcard._(__turbopack_context__.r(91438)),_approutercontextsharedruntime=__turbopack_context__.r(18350);function RenderFromTemplateContext(){let children=(0,_react.useContext)(_approutercontextsharedruntime.TemplateContext);return(0,_jsxruntime.jsx)(_jsxruntime.Fragment,{children:children})}("function"==typeof exports.default||"object"==typeof exports.default&&null!==exports.default)&&void 0===exports.default.__esModule&&(Object.defineProperty(exports.default,"__esModule",{value:!0}),Object.assign(exports.default,exports),module.exports=exports.default)},61042,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"createRenderSearchParamsFromClient",{enumerable:!0,get:function(){return createRenderSearchParamsFromClient}});let CachedSearchParams=new WeakMap;function makeUntrackedSearchParams(underlyingSearchParams){let cachedSearchParams=CachedSearchParams.get(underlyingSearchParams);if(cachedSearchParams)return cachedSearchParams;let promise=Promise.resolve(underlyingSearchParams);return CachedSearchParams.set(underlyingSearchParams,promise),promise}function createRenderSearchParamsFromClient(underlyingSearchParams){return makeUntrackedSearchParams(underlyingSearchParams)}("function"==typeof exports.default||"object"==typeof exports.default&&null!==exports.default)&&void 0===exports.default.__esModule&&(Object.defineProperty(exports.default,"__esModule",{value:!0}),Object.assign(exports.default,exports),module.exports=exports.default)},76149,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"createRenderSearchParamsFromClient",{enumerable:!0,get:function(){return createRenderSearchParamsFromClient}});let createRenderSearchParamsFromClient=__turbopack_context__.r(61042).createRenderSearchParamsFromClient;("function"==typeof exports.default||"object"==typeof exports.default&&null!==exports.default)&&void 0===exports.default.__esModule&&(Object.defineProperty(exports.default,"__esModule",{value:!0}),Object.assign(exports.default,exports),module.exports=exports.default)},76837,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"createRenderParamsFromClient",{enumerable:!0,get:function(){return createRenderParamsFromClient}});let CachedParams=new WeakMap;function makeUntrackedParams(underlyingParams){let cachedParams=CachedParams.get(underlyingParams);if(cachedParams)return cachedParams;let promise=Promise.resolve(underlyingParams);return CachedParams.set(underlyingParams,promise),promise}function createRenderParamsFromClient(clientParams){return makeUntrackedParams(clientParams)}("function"==typeof exports.default||"object"==typeof exports.default&&null!==exports.default)&&void 0===exports.default.__esModule&&(Object.defineProperty(exports.default,"__esModule",{value:!0}),Object.assign(exports.default,exports),module.exports=exports.default)},67608,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"createRenderParamsFromClient",{enumerable:!0,get:function(){return createRenderParamsFromClient}});let createRenderParamsFromClient=__turbopack_context__.r(76837).createRenderParamsFromClient;("function"==typeof exports.default||"object"==typeof exports.default&&null!==exports.default)&&void 0===exports.default.__esModule&&(Object.defineProperty(exports.default,"__esModule",{value:!0}),Object.assign(exports.default,exports),module.exports=exports.default)},35721,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"ReflectAdapter",{enumerable:!0,get:function(){return ReflectAdapter}});class ReflectAdapter{static get(target,prop,receiver){let value=Reflect.get(target,prop,receiver);return"function"==typeof value?value.bind(target):value}static set(target,prop,value,receiver){return Reflect.set(target,prop,value,receiver)}static has(target,prop){return Reflect.has(target,prop)}static deleteProperty(target,prop){return Reflect.deleteProperty(target,prop)}}},60776,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"createDedupedByCallsiteServerErrorLoggerDev",{enumerable:!0,get:function(){return createDedupedByCallsiteServerErrorLoggerDev}});let _react=_interop_require_wildcard(__turbopack_context__.r(91438));function _getRequireWildcardCache(nodeInterop){if("function"!=typeof WeakMap)return null;var cacheBabelInterop=new WeakMap,cacheNodeInterop=new WeakMap;return(_getRequireWildcardCache=function(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop})(nodeInterop)}function _interop_require_wildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule)return obj;if(null===obj||"object"!=typeof obj&&"function"!=typeof obj)return{default:obj};var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj))return cache.get(obj);var newObj={__proto__:null},hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj)if("default"!==key&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;desc&&(desc.get||desc.set)?Object.defineProperty(newObj,key,desc):newObj[key]=obj[key]}return newObj.default=obj,cache&&cache.set(obj,newObj),newObj}let errorRef={current:null},cache="function"==typeof _react.cache?_react.cache:fn=>fn,logErrorOrWarn=console.warn;function createDedupedByCallsiteServerErrorLoggerDev(getMessage){return function logDedupedError(...args){logErrorOrWarn(getMessage(...args))}}cache(key=>{try{logErrorOrWarn(errorRef.current)}finally{errorRef.current=null}})},14487,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:all[name]})}(exports,{describeHasCheckingStringProperty:function(){return describeHasCheckingStringProperty},describeStringPropertyAccess:function(){return describeStringPropertyAccess},wellKnownProperties:function(){return wellKnownProperties}});let isDefinitelyAValidIdentifier=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function describeStringPropertyAccess(target,prop){return isDefinitelyAValidIdentifier.test(prop)?`\`${target}.${prop}\``:`\`${target}[${JSON.stringify(prop)}]\``}function describeHasCheckingStringProperty(target,prop){let stringifiedProp=JSON.stringify(prop);return`\`Reflect.has(${target}, ${stringifiedProp})\`, \`${stringifiedProp} in ${target}\`, or similar`}let wellKnownProperties=new Set(["hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toString","valueOf","toLocaleString","then","catch","finally","status","displayName","_debugInfo","toJSON","$$typeof","__esModule"])},67116,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"afterTaskAsyncStorageInstance",{enumerable:!0,get:function(){return afterTaskAsyncStorageInstance}});let afterTaskAsyncStorageInstance=(0,__turbopack_context__.r(24926).createAsyncLocalStorage)()},40681,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"afterTaskAsyncStorage",{enumerable:!0,get:function(){return _aftertaskasyncstorageinstance.afterTaskAsyncStorageInstance}});let _aftertaskasyncstorageinstance=__turbopack_context__.r(67116)},51528,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:all[name]})}(exports,{isRequestAPICallableInsideAfter:function(){return isRequestAPICallableInsideAfter},throwForSearchParamsAccessInUseCache:function(){return throwForSearchParamsAccessInUseCache},throwWithStaticGenerationBailoutErrorWithDynamicError:function(){return throwWithStaticGenerationBailoutErrorWithDynamicError}});let _staticgenerationbailout=__turbopack_context__.r(97591),_aftertaskasyncstorageexternal=__turbopack_context__.r(40681);function throwWithStaticGenerationBailoutErrorWithDynamicError(route,expression){throw Object.defineProperty(new _staticgenerationbailout.StaticGenBailoutError(`Route ${route} with \`dynamic = "error"\` couldn't be rendered statically because it used ${expression}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E543",enumerable:!1,configurable:!0})}function throwForSearchParamsAccessInUseCache(workStore,constructorOpt){let error=Object.defineProperty(Error(`Route ${workStore.route} used \`searchParams\` inside "use cache". Accessing dynamic request data inside a cache scope is not supported. If you need some search params inside a cached function await \`searchParams\` outside of the cached function and pass only the required search params as arguments to the cached function. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E842",enumerable:!1,configurable:!0});throw Error.captureStackTrace(error,constructorOpt),workStore.invalidDynamicUsageError??=error,error}function isRequestAPICallableInsideAfter(){let afterTaskStore=_aftertaskasyncstorageexternal.afterTaskAsyncStorage.getStore();return(null==afterTaskStore?void 0:afterTaskStore.rootTaskSpawnPhase)==="action"}},85490,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:all[name]})}(exports,{createPrerenderSearchParamsForClientPage:function(){return createPrerenderSearchParamsForClientPage},createSearchParamsFromClient:function(){return createSearchParamsFromClient},createServerSearchParamsForMetadata:function(){return createServerSearchParamsForMetadata},createServerSearchParamsForServerPage:function(){return createServerSearchParamsForServerPage},makeErroringSearchParamsForUseCache:function(){return makeErroringSearchParamsForUseCache}});let _reflect=__turbopack_context__.r(35721),_dynamicrendering=__turbopack_context__.r(44405),_workunitasyncstorageexternal=__turbopack_context__.r(31120),_invarianterror=__turbopack_context__.r(88681),_dynamicrenderingutils=__turbopack_context__.r(61395),_creatededupedbycallsiteservererrorlogger=__turbopack_context__.r(60776),_reflectutils=__turbopack_context__.r(14487),_utils=__turbopack_context__.r(51528);function createSearchParamsFromClient(underlyingSearchParams,workStore){let workUnitStore=_workunitasyncstorageexternal.workUnitAsyncStorage.getStore();if(workUnitStore)switch(workUnitStore.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return createStaticPrerenderSearchParams(workStore,workUnitStore);case"prerender-runtime":throw Object.defineProperty(new _invarianterror.InvariantError("createSearchParamsFromClient should not be called in a runtime prerender."),"__NEXT_ERROR_CODE",{value:"E769",enumerable:!1,configurable:!0});case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new _invarianterror.InvariantError("createSearchParamsFromClient should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E739",enumerable:!1,configurable:!0});case"request":return createRenderSearchParams(underlyingSearchParams,workStore,workUnitStore)}(0,_workunitasyncstorageexternal.throwInvariantForMissingStore)()}__turbopack_context__.r(3797);let createServerSearchParamsForMetadata=createServerSearchParamsForServerPage;function createServerSearchParamsForServerPage(underlyingSearchParams,workStore){let workUnitStore=_workunitasyncstorageexternal.workUnitAsyncStorage.getStore();if(workUnitStore)switch(workUnitStore.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return createStaticPrerenderSearchParams(workStore,workUnitStore);case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new _invarianterror.InvariantError("createServerSearchParamsForServerPage should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E747",enumerable:!1,configurable:!0});case"prerender-runtime":return createRuntimePrerenderSearchParams(underlyingSearchParams,workUnitStore);case"request":return createRenderSearchParams(underlyingSearchParams,workStore,workUnitStore)}(0,_workunitasyncstorageexternal.throwInvariantForMissingStore)()}function createPrerenderSearchParamsForClientPage(workStore){if(workStore.forceStatic)return Promise.resolve({});let workUnitStore=_workunitasyncstorageexternal.workUnitAsyncStorage.getStore();if(workUnitStore)switch(workUnitStore.type){case"prerender":case"prerender-client":return(0,_dynamicrenderingutils.makeHangingPromise)(workUnitStore.renderSignal,workStore.route,"`searchParams`");case"prerender-runtime":throw Object.defineProperty(new _invarianterror.InvariantError("createPrerenderSearchParamsForClientPage should not be called in a runtime prerender."),"__NEXT_ERROR_CODE",{value:"E768",enumerable:!1,configurable:!0});case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new _invarianterror.InvariantError("createPrerenderSearchParamsForClientPage should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E746",enumerable:!1,configurable:!0});case"prerender-ppr":case"prerender-legacy":case"request":return Promise.resolve({})}(0,_workunitasyncstorageexternal.throwInvariantForMissingStore)()}function createStaticPrerenderSearchParams(workStore,prerenderStore){if(workStore.forceStatic)return Promise.resolve({});switch(prerenderStore.type){case"prerender":case"prerender-client":return makeHangingSearchParams(workStore,prerenderStore);case"prerender-ppr":case"prerender-legacy":return makeErroringSearchParams(workStore,prerenderStore);default:return prerenderStore}}function createRuntimePrerenderSearchParams(underlyingSearchParams,workUnitStore){return(0,_dynamicrendering.delayUntilRuntimeStage)(workUnitStore,makeUntrackedSearchParams(underlyingSearchParams))}function createRenderSearchParams(underlyingSearchParams,workStore,requestStore){return workStore.forceStatic?Promise.resolve({}):makeUntrackedSearchParams(underlyingSearchParams)}let CachedSearchParams=new WeakMap,CachedSearchParamsForUseCache=new WeakMap;function makeHangingSearchParams(workStore,prerenderStore){let cachedSearchParams=CachedSearchParams.get(prerenderStore);if(cachedSearchParams)return cachedSearchParams;let promise=(0,_dynamicrenderingutils.makeHangingPromise)(prerenderStore.renderSignal,workStore.route,"`searchParams`"),proxiedPromise=new Proxy(promise,{get(target,prop,receiver){if(Object.hasOwn(promise,prop))return _reflect.ReflectAdapter.get(target,prop,receiver);switch(prop){case"then":return(0,_dynamicrendering.annotateDynamicAccess)("`await searchParams`, `searchParams.then`, or similar",prerenderStore),_reflect.ReflectAdapter.get(target,prop,receiver);case"status":return(0,_dynamicrendering.annotateDynamicAccess)("`use(searchParams)`, `searchParams.status`, or similar",prerenderStore),_reflect.ReflectAdapter.get(target,prop,receiver);default:return _reflect.ReflectAdapter.get(target,prop,receiver)}}});return CachedSearchParams.set(prerenderStore,proxiedPromise),proxiedPromise}function makeErroringSearchParams(workStore,prerenderStore){let cachedSearchParams=CachedSearchParams.get(workStore);if(cachedSearchParams)return cachedSearchParams;let promise=Promise.resolve({}),proxiedPromise=new Proxy(promise,{get(target,prop,receiver){if(Object.hasOwn(promise,prop))return _reflect.ReflectAdapter.get(target,prop,receiver);if("string"==typeof prop&&"then"===prop){let expression="`await searchParams`, `searchParams.then`, or similar";workStore.dynamicShouldError?(0,_utils.throwWithStaticGenerationBailoutErrorWithDynamicError)(workStore.route,expression):"prerender-ppr"===prerenderStore.type?(0,_dynamicrendering.postponeWithTracking)(workStore.route,expression,prerenderStore.dynamicTracking):(0,_dynamicrendering.throwToInterruptStaticGeneration)(expression,workStore,prerenderStore)}return _reflect.ReflectAdapter.get(target,prop,receiver)}});return CachedSearchParams.set(workStore,proxiedPromise),proxiedPromise}function makeErroringSearchParamsForUseCache(workStore){let cachedSearchParams=CachedSearchParamsForUseCache.get(workStore);if(cachedSearchParams)return cachedSearchParams;let promise=Promise.resolve({}),proxiedPromise=new Proxy(promise,{get:function get(target,prop,receiver){return Object.hasOwn(promise,prop)||"string"!=typeof prop||"then"!==prop&&_reflectutils.wellKnownProperties.has(prop)||(0,_utils.throwForSearchParamsAccessInUseCache)(workStore,get),_reflect.ReflectAdapter.get(target,prop,receiver)}});return CachedSearchParamsForUseCache.set(workStore,proxiedPromise),proxiedPromise}function makeUntrackedSearchParams(underlyingSearchParams){let cachedSearchParams=CachedSearchParams.get(underlyingSearchParams);if(cachedSearchParams)return cachedSearchParams;let promise=Promise.resolve(underlyingSearchParams);return CachedSearchParams.set(underlyingSearchParams,promise),promise}function createSearchAccessError(route,expression){let prefix=route?`Route "${route}" `:"This route ";return Object.defineProperty(Error(`${prefix}used ${expression}. \`searchParams\` is a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E848",enumerable:!1,configurable:!0})}(0,_creatededupedbycallsiteservererrorlogger.createDedupedByCallsiteServerErrorLoggerDev)(createSearchAccessError)},79259,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"dynamicAccessAsyncStorageInstance",{enumerable:!0,get:function(){return dynamicAccessAsyncStorageInstance}});let dynamicAccessAsyncStorageInstance=(0,__turbopack_context__.r(24926).createAsyncLocalStorage)()},88279,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"dynamicAccessAsyncStorage",{enumerable:!0,get:function(){return _dynamicaccessasyncstorageinstance.dynamicAccessAsyncStorageInstance}});let _dynamicaccessasyncstorageinstance=__turbopack_context__.r(79259)},58514,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:all[name]})}(exports,{createParamsFromClient:function(){return createParamsFromClient},createPrerenderParamsForClientSegment:function(){return createPrerenderParamsForClientSegment},createServerParamsForMetadata:function(){return createServerParamsForMetadata},createServerParamsForRoute:function(){return createServerParamsForRoute},createServerParamsForServerSegment:function(){return createServerParamsForServerSegment}});let _workasyncstorageexternal=__turbopack_context__.r(48624),_reflect=__turbopack_context__.r(35721),_dynamicrendering=__turbopack_context__.r(44405),_workunitasyncstorageexternal=__turbopack_context__.r(31120),_invarianterror=__turbopack_context__.r(88681),_reflectutils=__turbopack_context__.r(14487),_dynamicrenderingutils=__turbopack_context__.r(61395),_creatededupedbycallsiteservererrorlogger=__turbopack_context__.r(60776),_dynamicaccessasyncstorageexternal=__turbopack_context__.r(88279);function createParamsFromClient(underlyingParams,workStore){let workUnitStore=_workunitasyncstorageexternal.workUnitAsyncStorage.getStore();if(workUnitStore)switch(workUnitStore.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return createStaticPrerenderParams(underlyingParams,workStore,workUnitStore);case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new _invarianterror.InvariantError("createParamsFromClient should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E736",enumerable:!1,configurable:!0});case"prerender-runtime":throw Object.defineProperty(new _invarianterror.InvariantError("createParamsFromClient should not be called in a runtime prerender."),"__NEXT_ERROR_CODE",{value:"E770",enumerable:!1,configurable:!0});case"request":return makeUntrackedParams(underlyingParams)}(0,_workunitasyncstorageexternal.throwInvariantForMissingStore)()}__turbopack_context__.r(3797);let createServerParamsForMetadata=createServerParamsForServerSegment;function createServerParamsForRoute(underlyingParams,workStore){let workUnitStore=_workunitasyncstorageexternal.workUnitAsyncStorage.getStore();if(workUnitStore)switch(workUnitStore.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return createStaticPrerenderParams(underlyingParams,workStore,workUnitStore);case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new _invarianterror.InvariantError("createServerParamsForRoute should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E738",enumerable:!1,configurable:!0});case"prerender-runtime":return createRuntimePrerenderParams(underlyingParams,workUnitStore);case"request":return makeUntrackedParams(underlyingParams)}(0,_workunitasyncstorageexternal.throwInvariantForMissingStore)()}function createServerParamsForServerSegment(underlyingParams,workStore){let workUnitStore=_workunitasyncstorageexternal.workUnitAsyncStorage.getStore();if(workUnitStore)switch(workUnitStore.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return createStaticPrerenderParams(underlyingParams,workStore,workUnitStore);case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new _invarianterror.InvariantError("createServerParamsForServerSegment should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E743",enumerable:!1,configurable:!0});case"prerender-runtime":return createRuntimePrerenderParams(underlyingParams,workUnitStore);case"request":return makeUntrackedParams(underlyingParams)}(0,_workunitasyncstorageexternal.throwInvariantForMissingStore)()}function createPrerenderParamsForClientSegment(underlyingParams){let workStore=_workasyncstorageexternal.workAsyncStorage.getStore();if(!workStore)throw Object.defineProperty(new _invarianterror.InvariantError("Missing workStore in createPrerenderParamsForClientSegment"),"__NEXT_ERROR_CODE",{value:"E773",enumerable:!1,configurable:!0});let workUnitStore=_workunitasyncstorageexternal.workUnitAsyncStorage.getStore();if(workUnitStore)switch(workUnitStore.type){case"prerender":case"prerender-client":let fallbackParams=workUnitStore.fallbackRouteParams;if(fallbackParams){for(let key in underlyingParams)if(fallbackParams.has(key))return(0,_dynamicrenderingutils.makeHangingPromise)(workUnitStore.renderSignal,workStore.route,"`params`")}break;case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new _invarianterror.InvariantError("createPrerenderParamsForClientSegment should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E734",enumerable:!1,configurable:!0})}return Promise.resolve(underlyingParams)}function createStaticPrerenderParams(underlyingParams,workStore,prerenderStore){switch(prerenderStore.type){case"prerender":case"prerender-client":{let fallbackParams=prerenderStore.fallbackRouteParams;if(fallbackParams){for(let key in underlyingParams)if(fallbackParams.has(key))return makeHangingParams(underlyingParams,workStore,prerenderStore)}break}case"prerender-ppr":{let fallbackParams=prerenderStore.fallbackRouteParams;if(fallbackParams){for(let key in underlyingParams)if(fallbackParams.has(key))return makeErroringParams(underlyingParams,fallbackParams,workStore,prerenderStore)}}}return makeUntrackedParams(underlyingParams)}function createRuntimePrerenderParams(underlyingParams,workUnitStore){return(0,_dynamicrendering.delayUntilRuntimeStage)(workUnitStore,makeUntrackedParams(underlyingParams))}let CachedParams=new WeakMap,fallbackParamsProxyHandler={get:function get(target,prop,receiver){if("then"===prop||"catch"===prop||"finally"===prop){let originalMethod=_reflect.ReflectAdapter.get(target,prop,receiver);return({[prop]:(...args)=>{let store=_dynamicaccessasyncstorageexternal.dynamicAccessAsyncStorage.getStore();return store&&store.abortController.abort(Object.defineProperty(Error("Accessed fallback `params` during prerendering."),"__NEXT_ERROR_CODE",{value:"E691",enumerable:!1,configurable:!0})),new Proxy(originalMethod.apply(target,args),fallbackParamsProxyHandler)}})[prop]}return _reflect.ReflectAdapter.get(target,prop,receiver)}};function makeHangingParams(underlyingParams,workStore,prerenderStore){let cachedParams=CachedParams.get(underlyingParams);if(cachedParams)return cachedParams;let promise=new Proxy((0,_dynamicrenderingutils.makeHangingPromise)(prerenderStore.renderSignal,workStore.route,"`params`"),fallbackParamsProxyHandler);return CachedParams.set(underlyingParams,promise),promise}function makeErroringParams(underlyingParams,fallbackParams,workStore,prerenderStore){let cachedParams=CachedParams.get(underlyingParams);if(cachedParams)return cachedParams;let augmentedUnderlying={...underlyingParams},promise=Promise.resolve(augmentedUnderlying);return CachedParams.set(underlyingParams,promise),Object.keys(underlyingParams).forEach(prop=>{_reflectutils.wellKnownProperties.has(prop)||fallbackParams.has(prop)&&Object.defineProperty(augmentedUnderlying,prop,{get(){let expression=(0,_reflectutils.describeStringPropertyAccess)("params",prop);"prerender-ppr"===prerenderStore.type?(0,_dynamicrendering.postponeWithTracking)(workStore.route,expression,prerenderStore.dynamicTracking):(0,_dynamicrendering.throwToInterruptStaticGeneration)(expression,workStore,prerenderStore)},enumerable:!0})}),promise}function makeUntrackedParams(underlyingParams){let cachedParams=CachedParams.get(underlyingParams);if(cachedParams)return cachedParams;let promise=Promise.resolve(underlyingParams);return CachedParams.set(underlyingParams,promise),promise}function createParamsAccessError(route,expression){let prefix=route?`Route "${route}" `:"This route ";return Object.defineProperty(Error(`${prefix}used ${expression}. \`params\` is a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E834",enumerable:!1,configurable:!0})}(0,_creatededupedbycallsiteservererrorlogger.createDedupedByCallsiteServerErrorLoggerDev)(createParamsAccessError)},7010,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"ClientPageRoot",{enumerable:!0,get:function(){return ClientPageRoot}});let _jsxruntime=__turbopack_context__.r(22658),_invarianterror=__turbopack_context__.r(88681),_approutercontextsharedruntime=__turbopack_context__.r(18350),_react=__turbopack_context__.r(91438),_routeparams=__turbopack_context__.r(81332),_hooksclientcontextsharedruntime=__turbopack_context__.r(21183);function ClientPageRoot({Component,serverProvidedParams}){let searchParams,params;if(null!==serverProvidedParams)searchParams=serverProvidedParams.searchParams,params=serverProvidedParams.params;else{let layoutRouterContext=(0,_react.use)(_approutercontextsharedruntime.LayoutRouterContext);params=null!==layoutRouterContext?layoutRouterContext.parentParams:{},searchParams=(0,_routeparams.urlSearchParamsToParsedUrlQuery)((0,_react.use)(_hooksclientcontextsharedruntime.SearchParamsContext))}if("undefined"==typeof window){let clientSearchParams,clientParams,{workAsyncStorage}=__turbopack_context__.r(48624),store=workAsyncStorage.getStore();if(!store)throw Object.defineProperty(new _invarianterror.InvariantError("Expected workStore to exist when handling searchParams in a client Page."),"__NEXT_ERROR_CODE",{value:"E564",enumerable:!1,configurable:!0});let{createSearchParamsFromClient}=__turbopack_context__.r(85490);clientSearchParams=createSearchParamsFromClient(searchParams,store);let{createParamsFromClient}=__turbopack_context__.r(58514);return clientParams=createParamsFromClient(params,store),(0,_jsxruntime.jsx)(Component,{params:clientParams,searchParams:clientSearchParams})}{let{createRenderSearchParamsFromClient}=__turbopack_context__.r(76149),clientSearchParams=createRenderSearchParamsFromClient(searchParams),{createRenderParamsFromClient}=__turbopack_context__.r(67608),clientParams=createRenderParamsFromClient(params);return(0,_jsxruntime.jsx)(Component,{params:clientParams,searchParams:clientSearchParams})}}("function"==typeof exports.default||"object"==typeof exports.default&&null!==exports.default)&&void 0===exports.default.__esModule&&(Object.defineProperty(exports.default,"__esModule",{value:!0}),Object.assign(exports.default,exports),module.exports=exports.default)},50059,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"ClientSegmentRoot",{enumerable:!0,get:function(){return ClientSegmentRoot}});let _jsxruntime=__turbopack_context__.r(22658),_invarianterror=__turbopack_context__.r(88681),_approutercontextsharedruntime=__turbopack_context__.r(18350),_react=__turbopack_context__.r(91438);function ClientSegmentRoot({Component,slots,serverProvidedParams}){let params;if(null!==serverProvidedParams)params=serverProvidedParams.params;else{let layoutRouterContext=(0,_react.use)(_approutercontextsharedruntime.LayoutRouterContext);params=null!==layoutRouterContext?layoutRouterContext.parentParams:{}}if("undefined"==typeof window){let clientParams,{workAsyncStorage}=__turbopack_context__.r(48624),store=workAsyncStorage.getStore();if(!store)throw Object.defineProperty(new _invarianterror.InvariantError("Expected workStore to exist when handling params in a client segment such as a Layout or Template."),"__NEXT_ERROR_CODE",{value:"E600",enumerable:!1,configurable:!0});let{createParamsFromClient}=__turbopack_context__.r(58514);return clientParams=createParamsFromClient(params,store),(0,_jsxruntime.jsx)(Component,{...slots,params:clientParams})}{let{createRenderParamsFromClient}=__turbopack_context__.r(67608),clientParams=createRenderParamsFromClient(params);return(0,_jsxruntime.jsx)(Component,{...slots,params:clientParams})}}("function"==typeof exports.default||"object"==typeof exports.default&&null!==exports.default)&&void 0===exports.default.__esModule&&(Object.defineProperty(exports.default,"__esModule",{value:!0}),Object.assign(exports.default,exports),module.exports=exports.default)},241,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"IconMark",{enumerable:!0,get:function(){return IconMark}});let _jsxruntime=__turbopack_context__.r(22658),IconMark=()=>"undefined"!=typeof window?null:(0,_jsxruntime.jsx)("meta",{name:"«nxt-icon»"})}]); |
| (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,11354,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return _default}});let _jsxruntime=__turbopack_context__.r(22658),_handleisrerror=__turbopack_context__.r(9378),styles_error={fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},styles_text={fontSize:"14px",fontWeight:400,lineHeight:"28px",margin:"0 8px"},_default=function DefaultGlobalError({error}){let digest=error?.digest;return(0,_jsxruntime.jsxs)("html",{id:"__next_error__",children:[(0,_jsxruntime.jsx)("head",{}),(0,_jsxruntime.jsxs)("body",{children:[(0,_jsxruntime.jsx)(_handleisrerror.HandleISRError,{error:error}),(0,_jsxruntime.jsx)("div",{style:styles_error,children:(0,_jsxruntime.jsxs)("div",{children:[(0,_jsxruntime.jsxs)("h2",{style:styles_text,children:["Application error: a ",digest?"server":"client","-side exception has occurred while loading ",window.location.hostname," (see the"," ",digest?"server logs":"browser console"," for more information)."]}),digest?(0,_jsxruntime.jsx)("p",{style:styles_text,children:`Digest: ${digest}`}):null]})})]})]})};("function"==typeof exports.default||"object"==typeof exports.default&&null!==exports.default)&&void 0===exports.default.__esModule&&(Object.defineProperty(exports.default,"__esModule",{value:!0}),Object.assign(exports.default,exports),module.exports=exports.default)},90389,(__turbopack_context__,module,exports)=>{var e={229:function(e){var r,n,u,t=e.exports={};function defaultSetTimout(){throw Error("setTimeout has not been defined")}function defaultClearTimeout(){throw Error("clearTimeout has not been defined")}try{r="function"==typeof setTimeout?setTimeout:defaultSetTimout}catch(e){r=defaultSetTimout}try{n="function"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(e){n=defaultClearTimeout}function runTimeout(e){if(r===setTimeout)return setTimeout(e,0);if((r===defaultSetTimout||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}function runClearTimeout(e){if(n===clearTimeout)return clearTimeout(e);if((n===defaultClearTimeout||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{return n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}var i=[],o=!1,a=-1;function cleanUpNextTick(){o&&u&&(o=!1,u.length?i=u.concat(i):a=-1,i.length&&drainQueue())}function drainQueue(){if(!o){var e=runTimeout(cleanUpNextTick);o=!0;for(var t=i.length;t;){for(u=i,i=[];++a<t;)u&&u[a].run();a=-1,t=i.length}u=null,o=!1,runClearTimeout(e)}}function Item(e,t){this.fun=e,this.array=t}function noop(){}t.nextTick=function(e){var t=Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];i.push(new Item(e,t)),1!==i.length||o||runTimeout(drainQueue)},Item.prototype.run=function(){this.fun.apply(null,this.array)},t.title="browser",t.browser=!0,t.env={},t.argv=[],t.version="",t.versions={},t.on=noop,t.addListener=noop,t.once=noop,t.off=noop,t.removeListener=noop,t.removeAllListeners=noop,t.emit=noop,t.prependListener=noop,t.prependOnceListener=noop,t.listeners=function(e){return[]},t.binding=function(e){throw Error("process.binding is not supported")},t.cwd=function(){return"/"},t.chdir=function(e){throw Error("process.chdir is not supported")},t.umask=function(){return 0}}},t={};function __nccwpck_require__(r){var n=t[r];if(void 0!==n)return n.exports;var i=t[r]={exports:{}},o=!0;try{e[r](i,i.exports,__nccwpck_require__),o=!1}finally{o&&delete t[r]}return i.exports}__nccwpck_require__.ab="/ROOT/node_modules/.pnpm/next@16.0.8_@babel+core@7.26.10_@opentelemetry+api@1.9.0_@playwright+test@1.58.2_babel-plugin_7d4xc6xdv4bf2kqk5r7v72a5aq/node_modules/next/dist/compiled/process/",module.exports=__nccwpck_require__(229)},55250,(__turbopack_context__,module,exports)=>{"use strict";var _global_process,_global_process1;module.exports=(null==(_global_process=__turbopack_context__.g.process)?void 0:_global_process.env)&&"object"==typeof(null==(_global_process1=__turbopack_context__.g.process)?void 0:_global_process1.env)?__turbopack_context__.g.process:__turbopack_context__.r(90389)},39115,(__turbopack_context__,module,exports)=>{"use strict";var REACT_ELEMENT_TYPE=Symbol.for("react.transitional.element");function jsxProd(type,config,maybeKey){var key=null;if(void 0!==maybeKey&&(key=""+maybeKey),void 0!==config.key&&(key=""+config.key),"key"in config)for(var propName in maybeKey={},config)"key"!==propName&&(maybeKey[propName]=config[propName]);else maybeKey=config;return{$$typeof:REACT_ELEMENT_TYPE,type:type,key:key,ref:void 0!==(config=maybeKey.ref)?config:null,props:maybeKey}}exports.Fragment=Symbol.for("react.fragment"),exports.jsx=jsxProd,exports.jsxs=jsxProd},22658,(__turbopack_context__,module,exports)=>{"use strict";module.exports=__turbopack_context__.r(39115)},24926,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:all[name]})}(exports,{bindSnapshot:function(){return bindSnapshot},createAsyncLocalStorage:function(){return createAsyncLocalStorage},createSnapshot:function(){return createSnapshot}});let sharedAsyncLocalStorageNotAvailableError=Object.defineProperty(Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"),"__NEXT_ERROR_CODE",{value:"E504",enumerable:!1,configurable:!0});class FakeAsyncLocalStorage{disable(){throw sharedAsyncLocalStorageNotAvailableError}getStore(){}run(){throw sharedAsyncLocalStorageNotAvailableError}exit(){throw sharedAsyncLocalStorageNotAvailableError}enterWith(){throw sharedAsyncLocalStorageNotAvailableError}static bind(fn){return fn}}let maybeGlobalAsyncLocalStorage="undefined"!=typeof globalThis&&globalThis.AsyncLocalStorage;function createAsyncLocalStorage(){return maybeGlobalAsyncLocalStorage?new maybeGlobalAsyncLocalStorage:new FakeAsyncLocalStorage}function bindSnapshot(fn){return maybeGlobalAsyncLocalStorage?maybeGlobalAsyncLocalStorage.bind(fn):FakeAsyncLocalStorage.bind(fn)}function createSnapshot(){return maybeGlobalAsyncLocalStorage?maybeGlobalAsyncLocalStorage.snapshot():function(fn,...args){return fn(...args)}}},76001,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"workAsyncStorageInstance",{enumerable:!0,get:function(){return workAsyncStorageInstance}});let workAsyncStorageInstance=(0,__turbopack_context__.r(24926).createAsyncLocalStorage)()},48624,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"workAsyncStorage",{enumerable:!0,get:function(){return _workasyncstorageinstance.workAsyncStorageInstance}});let _workasyncstorageinstance=__turbopack_context__.r(76001)},9378,(__turbopack_context__,module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"HandleISRError",{enumerable:!0,get:function(){return HandleISRError}});let workAsyncStorage="undefined"==typeof window?__turbopack_context__.r(48624).workAsyncStorage:void 0;function HandleISRError({error}){if(workAsyncStorage){let store=workAsyncStorage.getStore();if(store?.isStaticGeneration)throw error&&console.error(error),error}return null}("function"==typeof exports.default||"object"==typeof exports.default&&null!==exports.default)&&void 0===exports.default.__esModule&&(Object.defineProperty(exports.default,"__esModule",{value:!0}),Object.assign(exports.default,exports),module.exports=exports.default)},79412,(__turbopack_context__,module,exports)=>{"use strict";var __TURBOPACK__imported__module__55250__=__turbopack_context__.i(55250),REACT_ELEMENT_TYPE=Symbol.for("react.transitional.element"),REACT_PORTAL_TYPE=Symbol.for("react.portal"),REACT_FRAGMENT_TYPE=Symbol.for("react.fragment"),REACT_STRICT_MODE_TYPE=Symbol.for("react.strict_mode"),REACT_PROFILER_TYPE=Symbol.for("react.profiler"),REACT_CONSUMER_TYPE=Symbol.for("react.consumer"),REACT_CONTEXT_TYPE=Symbol.for("react.context"),REACT_FORWARD_REF_TYPE=Symbol.for("react.forward_ref"),REACT_SUSPENSE_TYPE=Symbol.for("react.suspense"),REACT_MEMO_TYPE=Symbol.for("react.memo"),REACT_LAZY_TYPE=Symbol.for("react.lazy"),REACT_ACTIVITY_TYPE=Symbol.for("react.activity"),REACT_VIEW_TRANSITION_TYPE=Symbol.for("react.view_transition"),MAYBE_ITERATOR_SYMBOL=Symbol.iterator;function getIteratorFn(maybeIterable){return null===maybeIterable||"object"!=typeof maybeIterable?null:"function"==typeof(maybeIterable=MAYBE_ITERATOR_SYMBOL&&maybeIterable[MAYBE_ITERATOR_SYMBOL]||maybeIterable["@@iterator"])?maybeIterable:null}var ReactNoopUpdateQueue={isMounted:function(){return!1},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}function ComponentDummy(){}function PureComponent(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")},ComponentDummy.prototype=Component.prototype;var pureComponentPrototype=PureComponent.prototype=new ComponentDummy;pureComponentPrototype.constructor=PureComponent,assign(pureComponentPrototype,Component.prototype),pureComponentPrototype.isPureReactComponent=!0;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:type,key:key,ref:void 0!==refProp?refProp:null,props: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;("undefined"===type||"boolean"===type)&&(children=null);var invokeCallback=!1;if(null===children)invokeCallback=!0;else switch(type){case"bigint":case"string":case"number":invokeCallback=!0;break;case"object":switch(children.$$typeof){case REACT_ELEMENT_TYPE:case REACT_PORTAL_TYPE:invokeCallback=!0;break;case REACT_LAZY_TYPE:return mapIntoArray((invokeCallback=children._init)(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++)type=nextNamePrefix+getElementKey(nameSoFar=children[i],i),invokeCallback+=mapIntoArray(nameSoFar,array,escapedPrefix,type,callback);else if("function"==typeof(i=getIteratorFn(children)))for(children=i.call(children),i=0;!(nameSoFar=children.next()).done;)type=nextNamePrefix+getElementKey(nameSoFar=nameSoFar.value,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);throw Error("Objects are not valid as a React child (found: "+("[object Object]"===(array=String(children))?"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;return mapIntoArray(children,result,"","",function(child){return func.call(context,child,count++)}),result}function lazyInitializer(payload){if(-1===payload._status){var ctor=payload._result;(ctor=ctor()).then(function(moduleObject){(0===payload._status||-1===payload._status)&&(payload._status=1,payload._result=moduleObject)},function(error){(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:!0,cancelable:!0,message:"object"==typeof error&&null!==error&&"string"==typeof error.message?String(error.message):String(error),error:error});if(!window.dispatchEvent(event))return}else if("object"==typeof __TURBOPACK__imported__module__55250__.default&&"function"==typeof __TURBOPACK__imported__module__55250__.default.emit)return void __TURBOPACK__imported__module__55250__.default.emit("uncaughtException",error);console.error(error)};function startTransition(scope){var prevTransition=ReactSharedInternals.T,currentTransition={};currentTransition.types=null!==prevTransition?prevTransition.types:null,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}}function addTransitionType(type){var transition=ReactSharedInternals.T;if(null!==transition){var transitionTypes=transition.types;null===transitionTypes?transition.types=[type]:-1===transitionTypes.indexOf(type)&&transitionTypes.push(type)}else startTransition(addTransitionType.bind(null,type))}exports.Activity=REACT_ACTIVITY_TYPE,exports.Children={map:mapChildren,forEach:function(children,forEachFunc,forEachContext){mapChildren(children,function(){forEachFunc.apply(this,arguments)},forEachContext)},count:function(children){var n=0;return mapChildren(children,function(){n++}),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}},exports.Component=Component,exports.Fragment=REACT_FRAGMENT_TYPE,exports.Profiler=REACT_PROFILER_TYPE,exports.PureComponent=PureComponent,exports.StrictMode=REACT_STRICT_MODE_TYPE,exports.Suspense=REACT_SUSPENSE_TYPE,exports.ViewTransition=REACT_VIEW_TRANSITION_TYPE,exports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=ReactSharedInternals,exports.__COMPILER_RUNTIME={__proto__:null,c:function(size){return ReactSharedInternals.H.useMemoCache(size)}},exports.addTransitionType=addTransitionType,exports.cache=function(fn){return function(){return fn.apply(null,arguments)}},exports.cacheSignal=function(){return null},exports.cloneElement=function(element,config,children){if(null==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)},exports.createContext=function(defaultValue){return(defaultValue={$$typeof:REACT_CONTEXT_TYPE,_currentValue:defaultValue,_currentValue2:defaultValue,_threadCount:0,Provider:null,Consumer:null}).Provider=defaultValue,defaultValue.Consumer={$$typeof:REACT_CONSUMER_TYPE,_context:defaultValue},defaultValue},exports.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)void 0===props[propName]&&(props[propName]=childrenLength[propName]);return ReactElement(type,key,props)},exports.createRef=function(){return{current:null}},exports.forwardRef=function(render){return{$$typeof:REACT_FORWARD_REF_TYPE,render:render}},exports.isValidElement=isValidElement,exports.lazy=function(ctor){return{$$typeof:REACT_LAZY_TYPE,_payload:{_status:-1,_result:ctor},_init:lazyInitializer}},exports.memo=function(type,compare){return{$$typeof:REACT_MEMO_TYPE,type:type,compare:void 0===compare?null:compare}},exports.startTransition=startTransition,exports.unstable_useCacheRefresh=function(){return ReactSharedInternals.H.useCacheRefresh()},exports.use=function(usable){return ReactSharedInternals.H.use(usable)},exports.useActionState=function(action,initialState,permalink){return ReactSharedInternals.H.useActionState(action,initialState,permalink)},exports.useCallback=function(callback,deps){return ReactSharedInternals.H.useCallback(callback,deps)},exports.useContext=function(Context){return ReactSharedInternals.H.useContext(Context)},exports.useDebugValue=function(){},exports.useDeferredValue=function(value,initialValue){return ReactSharedInternals.H.useDeferredValue(value,initialValue)},exports.useEffect=function(create,deps){return ReactSharedInternals.H.useEffect(create,deps)},exports.useEffectEvent=function(callback){return ReactSharedInternals.H.useEffectEvent(callback)},exports.useId=function(){return ReactSharedInternals.H.useId()},exports.useImperativeHandle=function(ref,create,deps){return ReactSharedInternals.H.useImperativeHandle(ref,create,deps)},exports.useInsertionEffect=function(create,deps){return ReactSharedInternals.H.useInsertionEffect(create,deps)},exports.useLayoutEffect=function(create,deps){return ReactSharedInternals.H.useLayoutEffect(create,deps)},exports.useMemo=function(create,deps){return ReactSharedInternals.H.useMemo(create,deps)},exports.useOptimistic=function(passthrough,reducer){return ReactSharedInternals.H.useOptimistic(passthrough,reducer)},exports.useReducer=function(reducer,initialArg,init){return ReactSharedInternals.H.useReducer(reducer,initialArg,init)},exports.useRef=function(initialValue){return ReactSharedInternals.H.useRef(initialValue)},exports.useState=function(initialState){return ReactSharedInternals.H.useState(initialState)},exports.useSyncExternalStore=function(subscribe,getSnapshot,getServerSnapshot){return ReactSharedInternals.H.useSyncExternalStore(subscribe,getSnapshot,getServerSnapshot)},exports.useTransition=function(){return ReactSharedInternals.H.useTransition()},exports.version="19.3.0-canary-52684925-20251110"},91438,(__turbopack_context__,module,exports)=>{"use strict";module.exports=__turbopack_context__.r(79412)},68927,(__turbopack_context__,module,exports)=>{"use strict";var React=__turbopack_context__.r(91438);function formatProdErrorMessage(code){var url="https://react.dev/errors/"+code;if(1<arguments.length){url+="?args[]="+encodeURIComponent(arguments[1]);for(var i=2;i<arguments.length;i++)url+="&args[]="+encodeURIComponent(arguments[i])}return"Minified React error #"+code+"; visit "+url+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function noop(){}var Internals={d:{f:noop,r:function(){throw Error(formatProdErrorMessage(522))},D:noop,C:noop,L:noop,m:noop,X:noop,S:noop,M:noop},p:0,findDOMNode:null},REACT_PORTAL_TYPE=Symbol.for("react.portal");function createPortal$1(children,containerInfo,implementation){var key=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:REACT_PORTAL_TYPE,key:null==key?null:""+key,children:children,containerInfo:containerInfo,implementation:implementation}}var ReactSharedInternals=React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function getCrossOriginStringAs(as,input){return"font"===as?"":"string"==typeof input?"use-credentials"===input?input:"":void 0}exports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=Internals,exports.createPortal=function(children,container){var key=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!container||1!==container.nodeType&&9!==container.nodeType&&11!==container.nodeType)throw Error(formatProdErrorMessage(299));return createPortal$1(children,container,null,key)},exports.flushSync=function(fn){var previousTransition=ReactSharedInternals.T,previousUpdatePriority=Internals.p;try{if(ReactSharedInternals.T=null,Internals.p=2,fn)return fn()}finally{ReactSharedInternals.T=previousTransition,Internals.p=previousUpdatePriority,Internals.d.f()}},exports.preconnect=function(href,options){"string"==typeof href&&(options=options?"string"==typeof(options=options.crossOrigin)?"use-credentials"===options?options:"":void 0:null,Internals.d.C(href,options))},exports.prefetchDNS=function(href){"string"==typeof href&&Internals.d.D(href)},exports.preinit=function(href,options){if("string"==typeof href&&options&&"string"==typeof options.as){var as=options.as,crossOrigin=getCrossOriginStringAs(as,options.crossOrigin),integrity="string"==typeof options.integrity?options.integrity:void 0,fetchPriority="string"==typeof options.fetchPriority?options.fetchPriority:void 0;"style"===as?Internals.d.S(href,"string"==typeof options.precedence?options.precedence:void 0,{crossOrigin:crossOrigin,integrity:integrity,fetchPriority:fetchPriority}):"script"===as&&Internals.d.X(href,{crossOrigin:crossOrigin,integrity:integrity,fetchPriority:fetchPriority,nonce:"string"==typeof options.nonce?options.nonce:void 0})}},exports.preinitModule=function(href,options){if("string"==typeof href)if("object"==typeof options&&null!==options){if(null==options.as||"script"===options.as){var crossOrigin=getCrossOriginStringAs(options.as,options.crossOrigin);Internals.d.M(href,{crossOrigin:crossOrigin,integrity:"string"==typeof options.integrity?options.integrity:void 0,nonce:"string"==typeof options.nonce?options.nonce:void 0})}}else null==options&&Internals.d.M(href)},exports.preload=function(href,options){if("string"==typeof href&&"object"==typeof options&&null!==options&&"string"==typeof options.as){var as=options.as,crossOrigin=getCrossOriginStringAs(as,options.crossOrigin);Internals.d.L(href,as,{crossOrigin:crossOrigin,integrity:"string"==typeof options.integrity?options.integrity:void 0,nonce:"string"==typeof options.nonce?options.nonce:void 0,type:"string"==typeof options.type?options.type:void 0,fetchPriority:"string"==typeof options.fetchPriority?options.fetchPriority:void 0,referrerPolicy:"string"==typeof options.referrerPolicy?options.referrerPolicy:void 0,imageSrcSet:"string"==typeof options.imageSrcSet?options.imageSrcSet:void 0,imageSizes:"string"==typeof options.imageSizes?options.imageSizes:void 0,media:"string"==typeof options.media?options.media:void 0})}},exports.preloadModule=function(href,options){if("string"==typeof href)if(options){var crossOrigin=getCrossOriginStringAs(options.as,options.crossOrigin);Internals.d.m(href,{as:"string"==typeof options.as&&"script"!==options.as?options.as:void 0,crossOrigin:crossOrigin,integrity:"string"==typeof options.integrity?options.integrity:void 0})}else Internals.d.m(href)},exports.requestFormReset=function(form){Internals.d.r(form)},exports.unstable_batchedUpdates=function(fn,a){return fn(a)},exports.useFormState=function(action,initialState,permalink){return ReactSharedInternals.H.useFormState(action,initialState,permalink)},exports.useFormStatus=function(){return ReactSharedInternals.H.useHostTransitionStatus()},exports.version="19.3.0-canary-52684925-20251110"},48951,(__turbopack_context__,module,exports)=>{"use strict";function checkDCE(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE)}catch(err){console.error(err)}}checkDCE(),module.exports=__turbopack_context__.r(68927)}]); |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
| (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,{otherChunks:["static/chunks/7e2cafa37796dc83.js","static/chunks/17afecf516145aa7.js","static/chunks/f79a700c47e315e9.js"],runtimeModuleIds:[5003]}]),(()=>{let BACKEND;if(!Array.isArray(globalThis.TURBOPACK))return;let CHUNK_BASE_PATH="/_next/",REEXPORTED_OBJECTS=new WeakMap;function Context(module,exports){this.m=module,this.e=exports}let contextPrototype=Context.prototype,hasOwnProperty=Object.prototype.hasOwnProperty,toStringTag="undefined"!=typeof Symbol&&Symbol.toStringTag;function defineProp(obj,name,options){hasOwnProperty.call(obj,name)||Object.defineProperty(obj,name,options)}function getOverwrittenModule(moduleCache,id){let module=moduleCache[id];return module||(module=createModuleObject(id),moduleCache[id]=module),module}function createModuleObject(id){return{exports:{},error:void 0,id,namespaceObject:void 0}}function esm(exports,bindings){defineProp(exports,"__esModule",{value:!0}),toStringTag&&defineProp(exports,toStringTag,{value:"Module"});let i=0;for(;i<bindings.length;){let propName=bindings[i++],tagOrFunction=bindings[i++];if("number"==typeof tagOrFunction)if(0===tagOrFunction)defineProp(exports,propName,{value:bindings[i++],enumerable:!0,writable:!1});else throw Error(`unexpected tag: ${tagOrFunction}`);else"function"==typeof bindings[i]?defineProp(exports,propName,{get:tagOrFunction,set:bindings[i++],enumerable:!0}):defineProp(exports,propName,{get:tagOrFunction,enumerable:!0})}Object.seal(exports)}function ensureDynamicExports(module,exports){let reexportedObjects=REEXPORTED_OBJECTS.get(module);return reexportedObjects||(REEXPORTED_OBJECTS.set(module,reexportedObjects=[]),module.exports=module.namespaceObject=new Proxy(exports,{get(target,prop){if(hasOwnProperty.call(target,prop)||"default"===prop||"__esModule"===prop)return Reflect.get(target,prop);for(let obj of reexportedObjects){let value=Reflect.get(obj,prop);if(void 0!==value)return value}},ownKeys(target){let keys=Reflect.ownKeys(target);for(let obj of reexportedObjects)for(let key of Reflect.ownKeys(obj))"default"===key||keys.includes(key)||keys.push(key);return keys}})),reexportedObjects}function createGetter(obj,key){return()=>obj[key]}contextPrototype.s=function esmExport(bindings,id){let module,exports;null!=id?exports=(module=getOverwrittenModule(this.c,id)).exports:(module=this.m,exports=this.e),module.namespaceObject=exports,esm(exports,bindings)},contextPrototype.j=function dynamicExport(object,id){let module,exports;null!=id?exports=(module=getOverwrittenModule(this.c,id)).exports:(module=this.m,exports=this.e);let reexportedObjects=ensureDynamicExports(module,exports);"object"==typeof object&&null!==object&&reexportedObjects.push(object)},contextPrototype.v=function exportValue(value,id){(null!=id?getOverwrittenModule(this.c,id):this.m).exports=value},contextPrototype.n=function exportNamespace(namespace,id){let module;(module=null!=id?getOverwrittenModule(this.c,id):this.m).exports=module.namespaceObject=namespace};let getProto=Object.getPrototypeOf?obj=>Object.getPrototypeOf(obj):obj=>obj.__proto__,LEAF_PROTOTYPES=[null,getProto({}),getProto([]),getProto(getProto)];function interopEsm(raw,ns,allowExportDefault){let bindings=[],defaultLocation=-1;for(let current=raw;("object"==typeof current||"function"==typeof current)&&!LEAF_PROTOTYPES.includes(current);current=getProto(current))for(let key of Object.getOwnPropertyNames(current))bindings.push(key,createGetter(raw,key)),-1===defaultLocation&&"default"===key&&(defaultLocation=bindings.length-1);return allowExportDefault&&defaultLocation>=0||(defaultLocation>=0?bindings.splice(defaultLocation,1,0,raw):bindings.push("default",0,raw)),esm(ns,bindings),ns}function createNS(raw){return"function"==typeof raw?function(...args){return raw.apply(this,args)}:Object.create(null)}function esmImport(id){let module=getOrInstantiateModuleFromParent(id,this.m);if(module.namespaceObject)return module.namespaceObject;let raw=module.exports;return module.namespaceObject=interopEsm(raw,createNS(raw),raw&&raw.__esModule)}function getChunkPath(chunkData){return"string"==typeof chunkData?chunkData:chunkData.path}function isPromise(maybePromise){return null!=maybePromise&&"object"==typeof maybePromise&&"then"in maybePromise&&"function"==typeof maybePromise.then}function isAsyncModuleExt(obj){return turbopackQueues in obj}function createPromise(){let resolve,reject;return{promise:new Promise((res,rej)=>{reject=rej,resolve=res}),resolve:resolve,reject:reject}}function installCompressedModuleFactories(chunkModules,offset,moduleFactories,newModuleId){let i=offset;for(;i<chunkModules.length;){let moduleId=chunkModules[i],end=i+1;for(;end<chunkModules.length&&"function"!=typeof chunkModules[end];)end++;if(end===chunkModules.length)throw Error("malformed chunk format, expected a factory function");if(!moduleFactories.has(moduleId)){let moduleFactoryFn=chunkModules[end];for(applyModuleFactoryName(moduleFactoryFn),newModuleId?.(moduleId);i<end;i++)moduleId=chunkModules[i],moduleFactories.set(moduleId,moduleFactoryFn)}i=end+1}}contextPrototype.i=esmImport,contextPrototype.A=function asyncLoader(moduleId){return this.r(moduleId)(esmImport.bind(this))},contextPrototype.t="function"==typeof require?require:function require1(){throw Error("Unexpected use of runtime require")},contextPrototype.r=function commonJsRequire(id){return getOrInstantiateModuleFromParent(id,this.m).exports},contextPrototype.f=function moduleContext(map){function moduleContext(id){if(hasOwnProperty.call(map,id))return map[id].module();let e=Error(`Cannot find module '${id}'`);throw e.code="MODULE_NOT_FOUND",e}return moduleContext.keys=()=>Object.keys(map),moduleContext.resolve=id=>{if(hasOwnProperty.call(map,id))return map[id].id();let e=Error(`Cannot find module '${id}'`);throw e.code="MODULE_NOT_FOUND",e},moduleContext.import=async id=>await moduleContext(id),moduleContext};let turbopackQueues=Symbol("turbopack queues"),turbopackExports=Symbol("turbopack exports"),turbopackError=Symbol("turbopack error");function resolveQueue(queue){queue&&1!==queue.status&&(queue.status=1,queue.forEach(fn=>fn.queueCount--),queue.forEach(fn=>fn.queueCount--?fn.queueCount++:fn()))}function wrapDeps(deps){return deps.map(dep=>{if(null!==dep&&"object"==typeof dep){if(isAsyncModuleExt(dep))return dep;if(isPromise(dep)){let queue=Object.assign([],{status:0}),obj={[turbopackExports]:{},[turbopackQueues]:fn=>fn(queue)};return dep.then(res=>{obj[turbopackExports]=res,resolveQueue(queue)},err=>{obj[turbopackError]=err,resolveQueue(queue)}),obj}}return{[turbopackExports]:dep,[turbopackQueues]:()=>{}}})}contextPrototype.a=function asyncModule(body,hasAwait){let module=this.m,queue=hasAwait?Object.assign([],{status:-1}):void 0,depQueues=new Set,{resolve,reject,promise:rawPromise}=createPromise(),promise=Object.assign(rawPromise,{[turbopackExports]:module.exports,[turbopackQueues]:fn=>{queue&&fn(queue),depQueues.forEach(fn),promise.catch(()=>{})}}),attributes={get:()=>promise,set(v){v!==promise&&(promise[turbopackExports]=v)}};Object.defineProperty(module,"exports",attributes),Object.defineProperty(module,"namespaceObject",attributes),body(function handleAsyncDependencies(deps){let currentDeps=wrapDeps(deps),getResult=()=>currentDeps.map(d=>{if(d[turbopackError])throw d[turbopackError];return d[turbopackExports]}),{promise,resolve}=createPromise(),fn=Object.assign(()=>resolve(getResult),{queueCount:0});function fnQueue(q){q!==queue&&!depQueues.has(q)&&(depQueues.add(q),q&&0===q.status&&(fn.queueCount++,q.push(fn)))}return currentDeps.map(dep=>dep[turbopackQueues](fnQueue)),fn.queueCount?promise:getResult()},function asyncResult(err){err?reject(promise[turbopackError]=err):resolve(promise[turbopackExports]),resolveQueue(queue)}),queue&&-1===queue.status&&(queue.status=0)};let relativeURL=function relativeURL(inputUrl){let realUrl=new URL(inputUrl,"x:/"),values={};for(let key in realUrl)values[key]=realUrl[key];for(let key in values.href=inputUrl,values.pathname=inputUrl.replace(/[?#].*/,""),values.origin=values.protocol="",values.toString=values.toJSON=(..._args)=>inputUrl,values)Object.defineProperty(this,key,{enumerable:!0,configurable:!0,value:values[key]})};function invariant(never,computeMessage){throw Error(`Invariant: ${computeMessage(never)}`)}function applyModuleFactoryName(factory){Object.defineProperty(factory,"name",{value:"module evaluation"})}relativeURL.prototype=URL.prototype,contextPrototype.U=relativeURL,contextPrototype.z=function requireStub(_moduleId){throw Error("dynamic usage of require is not supported")},contextPrototype.g=globalThis;let browserContextPrototype=Context.prototype;var SourceType,SourceType1=((SourceType=SourceType1||{})[SourceType.Runtime=0]="Runtime",SourceType[SourceType.Parent=1]="Parent",SourceType[SourceType.Update=2]="Update",SourceType);let moduleFactories=new Map;contextPrototype.M=moduleFactories;let availableModules=new Map,availableModuleChunks=new Map;function factoryNotAvailableMessage(moduleId,sourceType,sourceData){let instantiationReason;switch(sourceType){case 0:instantiationReason=`as a runtime entry of chunk ${sourceData}`;break;case 1:instantiationReason=`because it was required from module ${sourceData}`;break;case 2:instantiationReason="because of an HMR update";break;default:invariant(sourceType,sourceType=>`Unknown source type: ${sourceType}`)}return`Module ${moduleId} was instantiated ${instantiationReason}, but the module factory is not available.`}function loadInitialChunk(chunkPath,chunkData){return loadChunkInternal(0,chunkPath,chunkData)}async function loadChunkInternal(sourceType,sourceData,chunkData){let promise;if("string"==typeof chunkData)return loadChunkByUrlInternal(sourceType,sourceData,getChunkRelativeUrl(chunkData));let includedList=chunkData.included||[],modulesPromises=includedList.map(included=>!!moduleFactories.has(included)||availableModules.get(included));if(modulesPromises.length>0&&modulesPromises.every(p=>p))return void await Promise.all(modulesPromises);let includedModuleChunksList=chunkData.moduleChunks||[],moduleChunksPromises=includedModuleChunksList.map(included=>availableModuleChunks.get(included)).filter(p=>p);if(moduleChunksPromises.length>0){if(moduleChunksPromises.length===includedModuleChunksList.length)return void await Promise.all(moduleChunksPromises);let moduleChunksToLoad=new Set;for(let moduleChunk of includedModuleChunksList)availableModuleChunks.has(moduleChunk)||moduleChunksToLoad.add(moduleChunk);for(let moduleChunkToLoad of moduleChunksToLoad){let promise=loadChunkByUrlInternal(sourceType,sourceData,getChunkRelativeUrl(moduleChunkToLoad));availableModuleChunks.set(moduleChunkToLoad,promise),moduleChunksPromises.push(promise)}promise=Promise.all(moduleChunksPromises)}else{for(let includedModuleChunk of(promise=loadChunkByUrlInternal(sourceType,sourceData,getChunkRelativeUrl(chunkData.path)),includedModuleChunksList))availableModuleChunks.has(includedModuleChunk)||availableModuleChunks.set(includedModuleChunk,promise)}for(let included of includedList)availableModules.has(included)||availableModules.set(included,promise);await promise}browserContextPrototype.l=function loadChunk(chunkData){return loadChunkInternal(1,this.m.id,chunkData)};let loadedChunk=Promise.resolve(void 0),instrumentedBackendLoadChunks=new WeakMap;function loadChunkByUrlInternal(sourceType,sourceData,chunkUrl){let thenable=BACKEND.loadChunkCached(sourceType,chunkUrl),entry=instrumentedBackendLoadChunks.get(thenable);if(void 0===entry){let resolve=instrumentedBackendLoadChunks.set.bind(instrumentedBackendLoadChunks,thenable,loadedChunk);entry=thenable.then(resolve).catch(error=>{let loadReason;switch(sourceType){case 0:loadReason=`as a runtime dependency of chunk ${sourceData}`;break;case 1:loadReason=`from module ${sourceData}`;break;case 2:loadReason="from an HMR update";break;default:invariant(sourceType,sourceType=>`Unknown source type: ${sourceType}`)}throw Error(`Failed to load chunk ${chunkUrl} ${loadReason}${error?`: ${error}`:""}`,error?{cause:error}:void 0)}),instrumentedBackendLoadChunks.set(thenable,entry)}return entry}function getChunkRelativeUrl(chunkPath){return`${CHUNK_BASE_PATH}${chunkPath.split("/").map(p=>encodeURIComponent(p)).join("/")}`}function getPathFromScript(chunkScript){if("string"==typeof chunkScript)return chunkScript;let src=decodeURIComponent(("undefined"!=typeof TURBOPACK_NEXT_CHUNK_URLS?TURBOPACK_NEXT_CHUNK_URLS.pop():chunkScript.getAttribute("src")).replace(/[?#].*$/,""));return src.startsWith(CHUNK_BASE_PATH)?src.slice(CHUNK_BASE_PATH.length):src}browserContextPrototype.L=function loadChunkByUrl(chunkUrl){return loadChunkByUrlInternal(1,this.m.id,chunkUrl)},browserContextPrototype.R=function resolvePathFromModule(moduleId){let exported=this.r(moduleId);return exported?.default??exported},browserContextPrototype.P=function resolveAbsolutePath(modulePath){return`/ROOT/${modulePath??""}`},browserContextPrototype.b=function getWorkerBlobURL(chunks){let blob=new Blob([`self.TURBOPACK_WORKER_LOCATION = ${JSON.stringify(location.origin)}; | ||
| self.TURBOPACK_NEXT_CHUNK_URLS = ${JSON.stringify(chunks.reverse().map(getChunkRelativeUrl),null,2)}; | ||
| importScripts(...self.TURBOPACK_NEXT_CHUNK_URLS.map(c => self.TURBOPACK_WORKER_LOCATION + c).reverse());`],{type:"text/javascript"});return URL.createObjectURL(blob)};let regexJsUrl=/\.js(?:\?[^#]*)?(?:#.*)?$/,regexCssUrl=/\.css(?:\?[^#]*)?(?:#.*)?$/;function isCss(chunkUrl){return regexCssUrl.test(chunkUrl)}contextPrototype.w=function loadWebAssembly(chunkPath,edgeModule,importsObj){return BACKEND.loadWebAssembly(1,this.m.id,chunkPath,edgeModule,importsObj)},contextPrototype.u=function loadWebAssemblyModule(chunkPath,edgeModule){return BACKEND.loadWebAssemblyModule(1,this.m.id,chunkPath,edgeModule)};let moduleCache={};function getOrInstantiateRuntimeModule(chunkPath,moduleId){let module=moduleCache[moduleId];if(module){if(module.error)throw module.error;return module}return instantiateModule(moduleId,SourceType1.Runtime,chunkPath)}contextPrototype.c=moduleCache;let getOrInstantiateModuleFromParent=(id,sourceModule)=>{let module=moduleCache[id];if(module){if(module.error)throw module.error;return module}return instantiateModule(id,SourceType1.Parent,sourceModule.id)};function instantiateModule(id,sourceType,sourceData){let moduleFactory=moduleFactories.get(id);if("function"!=typeof moduleFactory)throw Error(factoryNotAvailableMessage(id,sourceType,sourceData));let module=createModuleObject(id),exports=module.exports;moduleCache[id]=module;let context=new Context(module,exports);try{moduleFactory(context,module,exports)}catch(error){throw module.error=error,error}return module.namespaceObject&&module.exports!==module.namespaceObject&&interopEsm(module.exports,module.namespaceObject),module}function registerChunk(registration){let runtimeParams,chunkPath=getPathFromScript(registration[0]);return 2===registration.length?runtimeParams=registration[1]:(runtimeParams=void 0,installCompressedModuleFactories(registration,1,moduleFactories)),BACKEND.registerChunk(chunkPath,runtimeParams)}let chunkResolvers=new Map;function getOrCreateResolver(chunkUrl){let resolver=chunkResolvers.get(chunkUrl);if(!resolver){let resolve,reject;resolver={resolved:!1,loadingStarted:!1,promise:new Promise((innerResolve,innerReject)=>{resolve=innerResolve,reject=innerReject}),resolve:()=>{resolver.resolved=!0,resolve()},reject:reject},chunkResolvers.set(chunkUrl,resolver)}return resolver}function doLoadChunk(sourceType,chunkUrl){let resolver=getOrCreateResolver(chunkUrl);if(resolver.loadingStarted)return resolver.promise;if(sourceType===SourceType1.Runtime)return resolver.loadingStarted=!0,isCss(chunkUrl)&&resolver.resolve(),resolver.promise;if("function"==typeof importScripts)if(isCss(chunkUrl));else if(regexJsUrl.test(chunkUrl))self.TURBOPACK_NEXT_CHUNK_URLS.push(chunkUrl),importScripts(TURBOPACK_WORKER_LOCATION+chunkUrl);else throw Error(`can't infer type of chunk from URL ${chunkUrl} in worker`);else{let decodedChunkUrl=decodeURI(chunkUrl);if(isCss(chunkUrl))if(document.querySelectorAll(`link[rel=stylesheet][href="${chunkUrl}"],link[rel=stylesheet][href^="${chunkUrl}?"],link[rel=stylesheet][href="${decodedChunkUrl}"],link[rel=stylesheet][href^="${decodedChunkUrl}?"]`).length>0)resolver.resolve();else{let link=document.createElement("link");link.rel="stylesheet",link.href=chunkUrl,link.onerror=()=>{resolver.reject()},link.onload=()=>{resolver.resolve()},document.head.appendChild(link)}else if(regexJsUrl.test(chunkUrl)){let previousScripts=document.querySelectorAll(`script[src="${chunkUrl}"],script[src^="${chunkUrl}?"],script[src="${decodedChunkUrl}"],script[src^="${decodedChunkUrl}?"]`);if(previousScripts.length>0)for(let script of Array.from(previousScripts))script.addEventListener("error",()=>{resolver.reject()});else{let script=document.createElement("script");script.src=chunkUrl,script.onerror=()=>{resolver.reject()},document.head.appendChild(script)}}else throw Error(`can't infer type of chunk from URL ${chunkUrl}`)}return resolver.loadingStarted=!0,resolver.promise}BACKEND={async registerChunk(chunkPath,params){if(getOrCreateResolver(getChunkRelativeUrl(chunkPath)).resolve(),null!=params){for(let otherChunkData of params.otherChunks)getOrCreateResolver(getChunkRelativeUrl(getChunkPath(otherChunkData)));if(await Promise.all(params.otherChunks.map(otherChunkData=>loadInitialChunk(chunkPath,otherChunkData))),params.runtimeModuleIds.length>0)for(let moduleId of params.runtimeModuleIds)getOrInstantiateRuntimeModule(chunkPath,moduleId)}},loadChunkCached:(sourceType,chunkUrl)=>doLoadChunk(sourceType,chunkUrl),async loadWebAssembly(_sourceType,_sourceData,wasmChunkPath,_edgeModule,importsObj){let req=fetch(getChunkRelativeUrl(wasmChunkPath)),{instance}=await WebAssembly.instantiateStreaming(req,importsObj);return instance.exports},async loadWebAssemblyModule(_sourceType,_sourceData,wasmChunkPath,_edgeModule){let req=fetch(getChunkRelativeUrl(wasmChunkPath));return await WebAssembly.compileStreaming(req)}};let chunksToRegister=globalThis.TURBOPACK;globalThis.TURBOPACK={push:registerChunk},chunksToRegister.forEach(registerChunk)})(); |
| self.__BUILD_MANIFEST = { | ||
| "__rewrites": { | ||
| "afterFiles": [], | ||
| "beforeFiles": [], | ||
| "fallback": [] | ||
| }, | ||
| "sortedPages": [ | ||
| "/_app", | ||
| "/_error" | ||
| ] | ||
| };self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB() |
| self.__SSG_MANIFEST=new Set([]);self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB() |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Network access
Supply chain riskThis module accesses the network.
Found 8 instances in 1 package
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Found 1 instance in 1 package
Uses eval
Supply chain riskPackage uses dynamic code execution (e.g., eval()), which is a dangerous practice. This can prevent the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.
Found 2 instances in 1 package
Debug access
Supply chain riskUses debug, reflection and dynamic code execution features.
Found 7 instances in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 267 instances in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 2 instances in 1 package
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
Found 1 instance in 1 package
High entropy strings
Supply chain riskContains high entropy strings. This could be a sign of encrypted data, leaked secrets or obfuscated code.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 8 instances in 1 package
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Found 1 instance in 1 package
Uses eval
Supply chain riskPackage uses dynamic code execution (e.g., eval()), which is a dangerous practice. This can prevent the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.
Found 2 instances in 1 package
Debug access
Supply chain riskUses debug, reflection and dynamic code execution features.
Found 7 instances in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 266 instances in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 2 instances in 1 package
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
Found 1 instance in 1 package
High entropy strings
Supply chain riskContains high entropy strings. This could be a sign of encrypted data, leaked secrets or obfuscated code.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
154970995
0.21%8056
0.15%1238286
0.08%9214
0.73%1633
2.58%+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
Updated