@customize-agent/server 4.0.97 → 4.0.98

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -169,7 +169,7 @@ ${g.join("\n")}`:"",i.length?`本章资料中可直接使用的可靠精确参
169
169
  ${b.join("\n")}`:""}(_)}),ah={total:_.length,satisfied:_.filter(a=>"satisfied"===a.status).length,missing:_.filter(a=>"missing"===a.status).length,lowConfidence:_.filter(a=>"low_confidence"===a.status).length};for(let a of aa)az.push(`${c.title}:事实需求未确认 ${a}`);let ai=S?.chapterRules.find(a=>a.id===c.id||a.title===c.title),ak=bB.chapterTargets.get(c.id)||1200,al=Math.ceil(ak*(bB.maxChars?1.1:1.18)),ao=bB.targetChars?Math.min(1200,Math.max(450,Math.floor(.72*ak))):1200,as=Math.max(d?.minWords||0,ai?.minWords||0,S?.dynamicChapterRule.minWordsPerChapter||0,Math.floor(.78*ak),ao),at=bU(as,ak),aA=bB.longformStrict?1:.55,aB=bB.longformStrict?ak:2600,aF=Math.max(900,Math.min(ak,Math.ceil(ak*aA),aB)),aG=Math.max(450,Math.min(as,Math.floor(.72*aF))),aH=Math.max(aF+300,Math.min(al,Math.ceil(1.25*aF))),aI=bU(aG,aF),aM=Math.min(bV(aF),3e5),aN=c.sections?.filter(Boolean).length||0,aO=/[、,,;;]/u.test(c.title),aP=0!==Number(process.env.DOCUMENT_SECTION_FIRST_GENERATION??1)&&aN>=2&&(bB.longformStrict||!aO);G[i]=a9({type:"chapter_generation",roleId:"chapter_generation",promptId:V.primaryPromptId,status:"running",message:aP?`${(0,P.GQ)(c.title)} 正在按小节并发成稿`:`${(0,P.GQ)(c.title)} 正在整章一次成稿`,details:aP?[...Y,`有效证据:${N.length} 条`,`事实需求:${ah.satisfied}/${ah.total} 已满足,缺失 ${ah.missing},低置信 ${ah.lowConfidence}`,`目标字数:约 ${ak} 字,上限约 ${al} 字`,`小节并发上限:${bC.maxSectionConcurrency}`,`规划小节:${c.sections?.length||0} 个`,"按章节结构拆分小节并发生成,章节聚合后再审查修复"]:[...Y,`有效证据:${N.length} 条`,`事实需求:${ah.satisfied}/${ah.total} 已满足,缺失 ${ah.missing},低置信 ${ah.lowConfidence}`,`目标字数:约 ${ak} 字,上限约 ${al} 字`,`章节并发上限:${bR}`,"首次生成必须覆盖章节结构、小节、事实和目标篇幅,后置修复仅兜底"],progress:{current:g+1,total:bh.length,label:aP?"小节并发":"整章成稿"}},{subtitle:(0,P.GQ)(c.title),order:g}),y();let aR=Math.ceil((c.sections?.length||2)/Math.max(1,bC.maxSectionConcurrency||1)),aT=Math.max(bV(ak),Math.min(18e5,3e5*aR+18e4)),aU=aP?await B(()=>bd(bD,`chapter-section-draft:${c.id}`,()=>aK(b=>bT({template:q,chapter:c,evidence:N,missingFacts:O,promptTexts:X,projectContext:bn,requirement:a.requirement,roleContext:U,targetWords:ak,maxWords:al,forbidDrawingImages:R,factCoverageContext:ag,projectRoot:o,modelName:aQ,fileRolesHash:aS,allowPartialResult:!1,maxSectionConcurrency:bC.maxSectionConcurrency,sectionEvidenceProvider:a=>cH({manager:t,projectRoot:o,chapter:c,sectionTitle:a,scopedFilePaths:v,fileRoleByPath:ap,fileProcessingByPath:aq,signal:b}),diagnostics:bD,signal:b}),aT,a.signal))):await B(()=>bd(bD,`chapter-draft:${c.id}`,()=>aK(b=>bF(q,c,N,O,X,bn,a.requirement,U,{forbidDrawingImages:R,minWords:as,targetWords:ak,maxWords:al,maxTokens:at,factCoverageContext:ag,signal:b}),bV(ak),a.signal)));if(!aU&&aP?(G[i]=a9({type:"chapter_generation",roleId:"chapter_generation",promptId:V.primaryPromptId,status:"running",message:`${(0,P.GQ)(c.title)} 小节并发未完整返回,改用整章兜底生成`,details:[`目标字数:约 ${ak} 字`,`有效证据:${N.length} 条`],progress:{current:g+1,total:bh.length,label:"整章兜底"}},{subtitle:(0,P.GQ)(c.title),order:g}),y(u),aU=await B(()=>bd(bD,`chapter-draft-fallback:${c.id}`,()=>aK(b=>bF(q,c,N,O,X,bn,a.requirement,U,{forbidDrawingImages:R,minWords:aG,targetWords:aF,maxWords:aH,maxTokens:aI,factCoverageContext:ag,signal:b}),aM,a.signal)))):aU||(G[i]=a9({type:"chapter_generation",roleId:"chapter_generation",promptId:V.primaryPromptId,status:"running",message:`${(0,P.GQ)(c.title)} 整章成稿未完整返回,正在执行整章兜底生成`,details:[`目标字数:约 ${ak} 字`,`有效证据:${N.length} 条`],progress:{current:g+1,total:bh.length,label:"整章兜底"}},{subtitle:(0,P.GQ)(c.title),order:g}),y(u),aU=await B(()=>bd(bD,`chapter-draft-fallback:${c.id}`,()=>aK(b=>bF(q,c,N,O,X,bn,a.requirement,U,{forbidDrawingImages:R,minWords:aG,targetWords:aF,maxWords:aH,maxTokens:aI,factCoverageContext:ag,signal:b}),aM,a.signal)))),ax(a.signal),aU||(G[i]=a9({type:"chapter_generation",roleId:"chapter_generation",promptId:V.primaryPromptId,status:"running",message:`${(0,P.GQ)(c.title)} 正在执行紧凑兜底生成`,details:["已压缩证据与上下文",`目标字数:约 ${ak} 字`],progress:{current:g+1,total:bh.length,label:"紧凑兜底"}},{subtitle:(0,P.GQ)(c.title),order:g}),y(u),aU=await B(()=>bd(bD,`chapter-draft-compact-fallback:${c.id}`,()=>aK(b=>bF(q,c,N,O,X,bn,a.requirement,U,{forbidDrawingImages:R,minWords:Math.max(450,Math.floor(.75*as)),targetWords:ak,maxWords:al,maxTokens:at,factCoverageContext:ag,signal:b}),bV(ak),a.signal)))),ax(a.signal),!aU)throw Error(`${c.title} 大模型未返回有效章节正文`);let aV=ch(aU,c);if(aV.length>0){let b=aU;G[i]=a9({type:"chapter_generation",roleId:"chapter_generation",promptId:V.primaryPromptId,status:"running",message:`${(0,P.GQ)(c.title)} 首次成稿存在 ${aV.length} 个小节缺口,正在定向补写`,details:aV.map(a=>a.message),progress:{current:g+1,total:bh.length,label:"小节补写"}},{subtitle:(0,P.GQ)(c.title),order:g}),y(u),aU=await B(()=>bd(bD,`chapter-supplement:${c.id}`,()=>b$({template:q,chapter:c,content:b,evidence:N,missingFacts:O,promptTexts:X,projectContext:bn,requirement:a.requirement,roleContext:U,targetWords:ak,forbidDrawingImages:R,factCoverageContext:ag,maxSectionConcurrency:bC.maxSectionConcurrency,forcedSections:aV,signal:a.signal})))}if((aV=ch(aU,c)).length>0){G[i]=a9({type:"chapter_generation",roleId:"chapter_generation",promptId:V.primaryPromptId,status:"running",message:`${(0,P.GQ)(c.title)} 首次生成仍有 ${aV.length} 个小节缺口,正在章节内强制补齐`,details:aV.map(a=>a.message),progress:{current:g+1,total:bh.length,label:"章节内小节补齐"}},{subtitle:(0,P.GQ)(c.title),order:g}),y(u);let b=aU;aU=await B(()=>bd(bD,`chapter-forced-section-supplement:${c.id}`,()=>b$({template:q,chapter:c,content:b,evidence:N,missingFacts:O,promptTexts:X,projectContext:bn,requirement:a.requirement,roleContext:U,targetWords:ak,forbidDrawingImages:R,factCoverageContext:ag,maxSectionConcurrency:bC.maxSectionConcurrency,forcedSections:aV,signal:a.signal}))),aV=ch(aU,c)}aV.length>0&&(G[i]=a9({type:"chapter_generation",roleId:"chapter_generation",promptId:V.primaryPromptId,status:"fallback",message:`${(0,P.GQ)(c.title)} 小节补齐仍未完全达标,保留当前可用章节继续合并`,details:aV.map(a=>a.message),progress:{current:g+1,total:bh.length,label:"保留可用章节"}},{subtitle:(0,P.GQ)(c.title),order:g}),y(u));let aW=bo({chapter:c,content:aU,missingFacts:O,targetWords:ak}),aX=(0,an.Ff)(aW);bD.quality.blockingCount+=aX.blocking,bD.quality.importantCount+=aX.important,bD.quality.minorCount+=aX.minor;let a3=bg(aW);if(a3.length>0){let b=aU;G[i]=a9({type:"chapter_generation",roleId:"chapter_generation",promptId:V.primaryPromptId,status:"running",message:`${(0,P.GQ)(c.title)} 正在根据质量问题修复章节:${a3.length} 个阻断问题`,details:a3,progress:{current:g+1,total:bh.length,label:"章节修复"}},{subtitle:(0,P.GQ)(c.title),order:g}),y(u);let d=await B(()=>bd(bD,`chapter-repair:${c.id}`,()=>bp({template:q,chapter:{id:c.id,title:c.title,content:b,evidence:N,missingFacts:[...O,...aa.map(a=>`事实需求未确认:${a}`)],sections:c.sections||[]},issues:a3,promptTexts:X,requirement:a.requirement,forbidDrawingImages:R,diagnostics:bD,signal:a.signal})));aU=d.content,d.appliedCount>0&&(bD.quality.repairedCount+=1),ax(a.signal)}if(!aU?.trim())throw Error(`${(0,P.GQ)(c.title)} 首次生成失败,未获得可用于定稿的正文`);let a5=cj(aU,c),a7=0;if((0,am.V7)(a5)<Math.floor(.82*ak)||bg(bo({chapter:c,content:a5,missingFacts:O,targetWords:ak})).length>0){G[i]=a9({type:"chapter_generation",roleId:"chapter_generation",promptId:V.primaryPromptId,status:"running",message:`${(0,P.GQ)(c.title)} 首次成稿未达定稿门槛,正在定向扩写`,details:[`当前 ${(0,am.V7)(a5)} 字 / 目标 ${Math.floor(.95*ak)} 字`,`章节并发:${bR}`],progress:{current:g+1,total:bh.length,label:"章节扩写"}},{subtitle:(0,P.GQ)(c.title),order:g}),y(u);let b=await B(()=>bd(bD,`chapter-expand:${c.id}`,()=>b_({template:q,chapter:c,content:aU,evidence:N,promptTexts:X,requirement:a.requirement,roleContext:U,targetChars:Math.floor(.95*ak),maxChars:al,forbidDrawingImages:R,maxTokens:Math.min(at,aI),signal:a.signal})));a5=cj(b.content,c),a7=b.rounds}a5=cz(a5,c);let bc=(0,am.V7)(a5),be=c.sections?.length?c.sections:Z(a5),bf=(0,an.qK)(a5,[{title:c.title,content:a5,sections:be}]).map(a=>a.message),bi=[...bo({chapter:{...c,sections:be},content:a5,missingFacts:O,targetWords:ak}),...bf],bq=function(a,b,c=[]){if(a<=0||c.some(a=>/未返回有效章节正文|生成失败/u.test(a)))return"failed";let d=Math.max(1,Math.floor(.95*b));return a<Math.floor(.75*d)?"failed":a<Math.floor(.9*d)||c.length>0?"fallback":"success"}(bc,ak,bi);f=a9({type:"chapter_generation",roleId:"chapter_generation",promptId:V.primaryPromptId,status:bq,message:bb(`${(0,P.GQ)(c.title)} 已由大模型首轮成稿${a7>0?`并定向扩写 ${a7} 轮`:""}:当前 ${bc} 字 / 目标 ${Math.floor(.95*ak)} 字${"success"!==bq?`;风险:${bi.join("、")||"篇幅未达标"}`:""}`,h),details:[`达标率:${Math.round(bc/Math.max(1,Math.floor(.95*ak))*100)}%`,...Y,`二级小节:${be.length} 个`,`扩写轮次:${a7}`],progress:{current:g+1,total:bh.length,label:"success"===bq?"章节达标":"章节风险"}},{subtitle:(0,P.GQ)(c.title),order:g}),aC.push(f);let br={id:c.id,title:c.title,content:a5,evidence:N,missingFacts:O,sections:be};u.push(br),y(u);let bt=bo({chapter:c,content:a5,missingFacts:O,targetWords:ak}),bu=(0,an.Ff)(bt);bD.quality.blockingCount+=bu.blocking,bD.quality.importantCount+=bu.important,bD.quality.minorCount+=bu.minor}catch(b){if(a.signal?.aborted)throw b;console.error(`[gen] chapter ${c.title} failed:`,b),aA.push(`${c.title}:${b instanceof Error?b.message:"生成失败"}`),aC.push(a9({type:"chapter_generation",roleId:"chapter_generation",status:"failed",message:`${(0,P.GQ)(c.title)} 生成失败`},{subtitle:(0,P.GQ)(c.title),order:g}))}f&&(G[i]=f),y(u)}))}if(u.sort((a,b)=>bh.findIndex(b=>b.id===a.id)-bh.findIndex(a=>a.id===b.id)),0===u.length)throw Error(`章节生成未完成:${aA.join(";")||"没有生成任何有效章节"}`);if(O&&u.length<bh.length)throw Error(`OUTLINE 指定 ${bh.length} 章,实际只生成 ${u.length} 章:${aA.join(";")||"部分章节未生成"}`);ax(a.signal),ba(G,a9({type:"file_understanding",roleId:"multimodal-files",status:"running",message:"正在理解多模态参考文件"},{subtitle:"多模态参考文件"})),y(u);let bS={stage:{type:"file_understanding",roleId:"multimodal-files",status:"skipped",message:"文件理解跳过"},notes:[]};try{bS=await bE(o,av,a.signal)}catch(b){if(a.signal?.aborted)throw b;console.error("[gen] fileUnderstanding failed:",b)}for(let b of(ba(G,bS.stage),y(u),ax(a.signal),bS.notes))av.push({chapterId:"multimodal-file-understanding",filePath:"多模态模型文件理解结果",score:1,content:b,roleId:"multimodal-files",processingType:"reference",source:"multimodal"});let bW=I(av,{maxItems:Math.max(48,10*bh.length),maxChars:Math.max(52e3,9e3*bh.length),preservePinned:!0});av.splice(0,av.length,...bW);let bX=function(a,b,c){let d={};for(let e of(0,D.Uy)(a,c)){let a=b.find(a=>(0,D.I2)(a,e));a&&(d[e.name]=`${a.content.replace(/\s+/gu," ")}(来源:${a.filePath},角色:${a.roleId||"未标注"})`)}return d}(q,av,S);for(let a of aL)for(let b of a.facts)bX[b.key]=`${aw(b.value)}(来源:${b.sourceFile},角色:${b.roleId})`;let bY=aN(av,q,S),bZ=aT(av),b4=aU(av,T),b5=aL.flatMap(a=>a.facts.map(a=>({key:a.key,value:aw(a.value),sourceFile:a.sourceFile,roleId:a.roleId,confidence:.9}))),b6={facts:[],stages:[{type:"fact_extraction",roleId:"llm-json",status:"skipped",message:"已有本地/角色事实覆盖主要必需字段,跳过 LLM 全量事实抽取"}]};if(function(a,b,c){let d=(0,D.Uy)(b,c).filter(a=>a.required);return 0===d.length?a.filter(a=>a.confidence>=.75&&aw(a.value).trim().length>=2).length<12:d.filter(b=>a.some(a=>(function(a,b){let c=aw(a.value).trim();if(!c||c.length<2||c.length>220&&a.confidence<.8)return!1;let d=`${a.fieldId||""} ${a.fieldName||""} ${a.key}`.toLowerCase();return!!(d.includes(b.id.toLowerCase())||d.includes(b.name.toLowerCase()))&&("project_basic_fact"===a.roleId||a.roleId?.startsWith("role-")||a.sourceRef?.filePath?a.confidence>=.55:a.confidence>=.75)})(a,b))).length/d.length<.9}([...b5,...bY,...bZ,...b4],q,S)){let b=I(av,{maxItems:48,maxChars:45e3,preservePinned:!0});try{b6=await aO(b,af,q,S,a.signal)}catch(b){if(a.signal?.aborted)throw b;console.error("[gen] fact extraction failed:",b)}}ax(a.signal);let b7=function(a,b){let c=b.find(a=>a.filePath)?.filePath||"";return c?a.map(a=>a.sourceFile?a:{...a,sourceFile:c,sourceRef:{filePath:c,roleId:a.sourceRef?.roleId||a.roleId,processingType:a.sourceRef?.processingType||a.processingType,sectionTitle:a.sourceRef?.sectionTitle,chunkIndex:a.sourceRef?.chunkIndex,cellRange:a.sourceRef?.cellRange}}):a}([...b5,...bY,...bZ,...b4,...b6.facts],av);for(let a of(ba(G,bS.stage),b6.stages))ba(G,a);y();let b8=aM(av),b9=av.filter(a=>"pinned-evidence"===a.source).length,ca=av.filter(a=>"pinned-evidence"!==a.source&&"bound-file"!==a.source).length,cf=a9({type:"reference",roleId:"quality-enhancement",status:av.length>0?"success":"skipped",message:`增强贡献:知识库证据 ${av.length} 条,人工确认/固定证据 ${b9} 条,自动检索证据 ${ca} 条`},{subtitle:"证据与上下文增强"});for(let a of(G.push(cf),y(),b7))bX[a.key]=`${aw(a.value)}(来源:${a.sourceFile},角色:${a.roleId})`;let ci=new Map;for(let a of av)ci.set(a.filePath,(ci.get(a.filePath)??0)+1);let ck=new Map;for(let a of av)ck.set(a.source||"unknown",(ck.get(a.source||"unknown")??0)+1);let cl=[...ci.entries()].sort((a,b)=>b[1]-a[1]).map(([a,b])=>({filePath:a,count:b})),cn=a3(b7,b8,az,S,T),co=u.map(a=>{let b=S.chapterRules.find(b=>b.id===a.id||b.title===a.title),c=(b?.requiredFactIds||[]).map(a=>S.factFields.find(b=>b.id===a)?.name).filter(Boolean),d=[...new Set([...a.missingFacts||[],...c].filter(Boolean))],e=d.filter(b=>!a.missingFacts.includes(b)),f=d.filter(b=>a.missingFacts.includes(b)),g=+(a.evidence.length>0),h=d.length?e.length/d.length:1;return{chapterId:a.id,title:a.title,requiredFacts:d,coveredFacts:e,missingFacts:f,evidenceCount:a.evidence.length,readinessRate:Math.min(1,.7*h+.3*g)}}),cp=function(a,b=[],c){let e=[],f=[];for(let b of a)0===b.evidence.length&&e.push(`${b.title} 未检索到资料证据`),b.content.length<80&&e.push(`${b.title} 内容较短,建议人工补充或重新生成`);c&&a.length<c.chapters.length&&f.push(`章节生成不完整:已生成 ${a.length}/${c.chapters.length} 章`),c&&0===(0,d.zY)(c).length&&f.push("模板未绑定任何提示词");let g=new Set(b.map(a=>a.roleId));return c?.fileBindings?.some(a=>"rule"===a.roleId)&&!g.has("rule")&&e.push("rule 角色未抽取到结构化事实"),{passed:0===f.length,warnings:e,errors:f}}(u,b7,q);cp.warnings.push(...V.warnings),cp.errors.push(...V.blockingIssues);let cq=function(a,b,c){let d=[...a.errors.map(a=>({level:"error",message:a,suggestion:"请补充配置或资料后重新生成。"})),...a.warnings.map(a=>({level:"warning",message:a,suggestion:"建议人工确认或补充对应资料。"}))];return c.some(a=>a.content.includes("资料未提供"))&&d.push({level:"warning",message:"存在资料未提供章节",suggestion:"请检查项目角色配置中的文件绑定和顺序。"}),b.conflicts.length>0&&d.push(...b.conflicts.map(a=>({level:"warning",message:a,suggestion:"请根据当前模板绑定的角色、文件证据和用户要求复核取值口径。"}))),d}(cp,cn,u);for(let a of(cq.push(...function(a){let b=[];for(let c of a)0===c.evidenceCount?b.push({level:"error",message:`章节缺少证据:${c.title}`,suggestion:"请补充对应绑定材料或调整模板章节检索词。"}):c.readinessRate<.5&&b.push({level:"warning",message:`章节事实覆盖率较低:${c.title} ${Math.round(100*c.readinessRate)}%`,suggestion:"建议补充章节 requiredFacts 或绑定材料证据。"});return b}(co)),aL))for(let b of a.warnings)cq.push({level:/结构化事实读取不足|结构化章节读取不足|兜底|片段/u.test(b)?"info":"warning",message:b,suggestion:"这是资料抽取诊断,不代表已抽取到的可靠参数不可用;生成时仍应优先使用绑定资料中的可靠参数。"});let cr=bm(aL,q),cs=Date.now(),ct=(0,am.V7)(u.map(a=>a.content).join("\n\n"));ba(G,a9({type:"validation",roleId:"document-budget",status:"running",message:`正在进行全文预算校准:当前 ${ct} 字`,details:[`章节数:${u.length}`,`目标:${bB.targetChars||bB.targetPages||"按章节深度"}`],progress:{current:1,total:2,label:"预算校准"}},{subtitle:"文档预算"})),y(u);let cu=bC.enableDocumentBudgetExpansion?await B(()=>b0({template:q,chapters:u,budget:bB,promptTexts:ae,requirement:a.requirement,forbidDrawingImages:cr,signal:a.signal})):u;u.splice(0,u.length,...cu);let cv=u.map(a=>a.content).join("\n\n"),cB=cF(u,b7,cv);cB.patchedCount>0&&(u.splice(0,u.length,...cB.chapters),cq.push({level:"info",message:`已自动补写未落位事实 ${cB.patchedCount} 项`,suggestion:"补写仅使用已确认资料事实,未补写商务敏感信息或资料未明确内容。"}));let cC=(0,am.fW)(bB,u.map(a=>a.content).join("\n\n")),cD=[bB.targetChars?`目标 ${bB.targetChars} 字${bB.minChars||bB.maxChars?`(区间 ${bB.minChars||0}-${bB.maxChars||"∞"} 字)`:""}`:void 0,bB.targetPages?`目标 ${bB.targetPages} 页${bB.minPages||bB.maxPages?`(区间 ${bB.minPages||0}-${bB.maxPages||"∞"} 页)`:""}`:void 0].filter(Boolean).join(" / ")||"默认章节深度";ba(G,a9({type:"validation",roleId:"document-budget",status:bB.maxChars&&cC.currentChars>bB.maxChars||bB.minChars&&cC.currentChars<bB.minChars?"fallback":"success",message:bb(`文档预算:当前 ${cC.currentChars} 字,新增 ${Math.max(0,cC.currentChars-ct)} 字,预计 ${cC.estimatedPages} 页;${cD}`,cs)},{subtitle:"文档预算"})),y(u);let cK=aC.filter(a=>"chapter_generation"===a.type&&"fallback"===a.status).length,cL=Math.max(0,bh.length-u.length);cK>0&&cq.push({level:"info",message:`章节生成存在补充完善:${cK} 章`,suggestion:"已保留章节成果;如需更高质量可复核对应章节,但不阻断导出。"}),cL>0&&cq.push({level:"error",message:`部分章节生成失败:${cL} 章`,suggestion:aA.join(";")||"请检查模型调用或资料配置后重新生成失败章节。"});let cM=cq.filter(a=>"error"===a.level&&(0,an.Nz)(a)).length,cN=[...G];ba(cN,a9({type:"reference",roleId:"knowledge-usage-report",status:"success",message:`资料使用报告:证据 ${av.length} 条,来源文件 ${cl.length} 份,结构化事实 ${b7.length} 条`,details:[`证据类型:${[...ck.entries()].map(([a,b])=>`${a} ${b}`).join(",")||"无"}`,`索引健康:可用切片 ${at.usableChunkCount} 条,待索引 ${at.pendingJobs} 个,向量 ${at.vectorStatus?.status||"unknown"}`,cB.patchedCount>0?`自动补写事实:${cB.patchedCount}/${cB.missingCount}`:`事实落位补写:0/${cB.missingCount}`]},{subtitle:"资料使用报告"})),ba(cN,a9({type:"reference",roleId:"web-research-report",status:ay.enabled?"success":"skipped",message:ay.enabled?`联网增强:检索章节 ${new Set(ay.chapters).size} 个,查询 ${ay.queries.length} 个,使用公开资料 ${ay.evidenceCount} 条`:"联网增强未开启",details:ay.enabled?[`检索主题:${[...new Set(ay.queries)].join(";")||"无"}`,`过滤结果:${ay.filteredCount} 条`,"公开资料仅用于通用规范、政策、工艺和措施补充,不作为项目事实来源"]:["可在模型配置中开启联网增强"]},{subtitle:"联网增强报告"})),ba(cN,a9({type:"validation",roleId:"document-workflow",status:cM>0?"failed":"success",message:`阻断 ${cM},错误 ${cp.errors.length},警告 ${cp.warnings.length}`},{subtitle:"最终规范校验"})),ba(cN,a9({type:"formatting",roleId:"document-workflow",status:"success",message:"已生成正式排版 Markdown"})),ba(cN,a9({type:"export_ready",roleId:"document-workflow",status:cM>0?"failed":"success",message:cM>0?"导出门禁未通过,请完成阻断问题修复后再导出":"已准备好导出 Markdown/HTML/DOCX/PDF"}));let cO={templateId:q.id,templateName:q.name,title:q.outputTitle,requirement:a.requirement||"",projectRoot:o,projectId:p,exportSettings:q.exportSettings,generationSettings:q.generationSettings,facts:bX,structuredFacts:b7,factsModel:cn,chapters:u,sources:cl,missingItems:[...new Set(az)],validation:cp,validationIssues:cq,executionStages:cN,exportGate:{passed:0===cM,blockingIssues:cq.filter(a=>"error"===a.level&&(0,an.Nz)(a)),checklist:[]},assets:[],partialChapters:u.map(a=>({id:a.id,title:a.title,chars:(0,am.V7)(a.content),status:cd(a,bB.chapterTargets.get(a.id)),updatedAt:Date.now()})),checkpointChapters:u,generatedAt:Date.now()},cP=al(cO);if("1"!==process.env.DOCUMENT_ENABLE_POST_EXPORT_REVIEW){let a=ak(cP,u,{forbidDrawingImages:cr,promptRules:ac}).chapters.map(a=>{let b=bh.find(b=>b.id===a.id)||a;return{...a,content:cz(a.content,b)}}),b=cw(cm(cy(ak(al({...cO,chapters:a}),a,{forbidDrawingImages:cr,promptRules:ac}).markdown),b7),b7),c=[...cq];c.push(...w({markdown:b,spec:S,summary:Q})),c.push(...A({markdown:b,facts:b7,summary:Q,profile:T})),c.push(...x(b,Q)),c.push(...cx(b,b7)),ac.forbidToc||(c.push(...(0,an.gN)(b)),c.push(...(0,an.f8)(b))),c.push(...(0,an.k0)(b)),c.push(...(0,an.qK)(b,a)),c.push(...(0,an.iC)(b)),c.push(...(0,an.BV)(b)),c.push(..._(b)),c.push(...(0,an.Ty)(a)),c.push(...(0,an.N1)(b,cn)),c.push(...cc(b)),c.push(...(0,an.bM)(b)),c.push(...(0,an.M$)(b,J)),c.push(...(0,an.AC)(b,a)),c.push(...(0,an.mR)(b,q)),c.push(...(0,am.PE)(q.generationSettings||q.exportSettings,b).filter(a=>!(bB.minPages&&/低于目标页数/u.test(a.message)))),c.push(...(0,am.ty)(bB,b)),c.push(...ai(b,q)),c.push(...ah(b,ac));let d=(0,an.Ai)(c,cn,a),e=cN.map(a=>"validation"===a.type&&"document-workflow"===a.roleId?{...a,status:d.blockingIssues.length>0?"failed":"success",message:`阻断 ${d.blockingIssues.length},问题 ${c.length}`}:"export_ready"===a.type?{...a,status:d.passed?"success":"failed",message:d.passed?"已准备好导出 Markdown/HTML/DOCX/PDF":"导出门禁未通过,请完成阻断问题修复后再导出"}:a);e.push(a9({type:"llm_review",roleId:"post-export-review",status:"skipped",message:"已跳过导出后的重型 LLM 复审;如需开启请设置 DOCUMENT_ENABLE_POST_EXPORT_REVIEW=1"},{subtitle:"导出后复审"}));let f=a.map(a=>({...a,evidence:I(a.evidence||[],{maxItems:12,maxChars:9e3,preservePinned:!0})}));return{...cO,chapters:f,validationIssues:c,exportGate:d,executionStages:e,partialChapters:a.map(a=>({id:a.id,title:a.title,chars:(0,am.V7)(a.content),status:cd(a,bB.chapterTargets.get(a.id)),updatedAt:Date.now()})),checkpointChapters:f,reviewMetadata:{chapterSummaries:[],globalIssues:[],diagnostics:bD},markdown:b}}ax(a.signal);let cQ=u.map(a=>{let b=bo({chapter:bh.find(b=>b.id===a.id)||{id:a.id,title:a.title,purpose:"",queries:[],requiredFacts:[],sections:a.sections},content:a.content,missingFacts:a.missingFacts,targetWords:bB.chapterTargets.get(a.id)||1200}),c=b.some(a=>/缺少|空小节|只有标题|只有表格|正文篇幅明显低于目标|后台流程话术|占位|requiredFacts/u.test(a));return{chapterId:a.id,title:a.title,status:c?"fail":b.length>0?"warn":"pass",issues:b,suggestions:[],chars:(0,am.V7)(a.content)}}),cR=cQ.filter(a=>"pass"!==a.status).length,cS=bC.enableChapterReview&&cR>0;cS&&(ba(cN,a9({type:"llm_review",roleId:"chapter-review",status:"running",message:`正在进行章节级质量审查:${cR}/${u.length} 章存在本地风险`,details:[`审查并发:${bC.maxChapterReviewConcurrency}`,"仅对本地扫描发现风险的生成结果触发 LLM 审查"],progress:{current:1,total:3,label:"章节审查"}},{subtitle:"章节级质量审查"})),y(u,cN));let cT=cS?await B(()=>bd(bD,"chapter-review",()=>b1({template:q,chapters:u,budget:bB,promptTexts:ag||ae,requirement:a.requirement,strategy:bC,diagnostics:bD,signal:a.signal}),{chapters:u.length}),cN):{summaries:cQ,stage:a9({type:"llm_review",roleId:"chapter-review",status:"skipped",message:bC.enableChapterReview?"本地章节扫描未发现需要 LLM 章节审查的问题,已跳过":"当前策略未启用章节级 LLM 审查"},{subtitle:"章节级质量审查"})};cN.push(cT.stage);let cU=cT.summaries,cV=cU.filter(a=>"pass"!==a.status&&a.issues.length>0);if(cV.length>0){ba(cN,a9({type:"llm_review",roleId:"chapter-review-repair",status:"running",message:`正在按章节审查结果就地修复:${cV.length} 章`,details:cV.map(a=>`${a.title}:${a.issues.slice(0,5).join(";")}`),progress:{current:1,total:cV.length,label:"章节就地修复"}},{subtitle:"章节就地修复"})),y(u,cN);let b=new Map,c=0,d=Number(process.env.DOCUMENT_CHAPTER_REPAIR_CONCURRENCY??bC.maxChapterReviewConcurrency??1),e=Math.max(1,Math.min(bC.maxChapterReviewConcurrency||1,Number.isFinite(d)?Math.floor(d):1));for(let d=0;d<cV.length;d+=e){ax(a.signal);let f=cV.slice(d,d+e);for(let d of(await Promise.all(f.map(async b=>{let c=u.find(a=>a.id===b.chapterId);if(!c)return{chapterId:b.chapterId,content:void 0,appliedCount:0};try{let d=await aK(d=>bp({template:q,chapter:c,issues:b.issues.slice(0,4),promptTexts:ag||ae,requirement:a.requirement,forbidDrawingImages:cr,diagnostics:bD,signal:d}),9e4,a.signal);return{chapterId:b.chapterId,content:d?.content,appliedCount:d?.appliedCount||0}}catch{return{chapterId:b.chapterId,content:void 0,appliedCount:0}}}))))d.content&&b.set(d.chapterId,d.content),c+=d.appliedCount}let f=0,g=new Set;for(let a=0;a<u.length;a+=1){let c=b.get(u[a].id);c&&c!==u[a].content&&(u[a]={...u[a],content:c},g.add(u[a].id),f+=1)}f>0&&(cU=cU.map(a=>g.has(a.chapterId)?{...a,status:"warn",issues:[],suggestions:[`已按章节审查结果应用局部修复,修复前问题已移交最终校验复核。`],chars:(0,am.V7)(u.find(b=>b.id===a.chapterId)?.content||"")}:a),cP=al({...cO,chapters:u,validationIssues:cq,executionStages:cN})),cN.push(a9({type:"llm_review",roleId:"chapter-review-repair",status:"success",message:`章节就地修复完成:修复 ${f} 章,应用 ${c} 个 patch`},{subtitle:"章节就地修复"})),y(u,cN)}if(cS)for(let a of cU.filter(a=>"pass"!==a.status&&a.issues.length>0))cq.push({level:"fail"===a.status?"error":"warning",message:`${a.title} 章节审查:共 ${a.issues.length} 个问题;${a.issues.join(";")||"存在质量风险"}`,suggestion:a.suggestions.join(";")||"请复核章节事实覆盖、结构完整性和角色证据覆盖。"});let cW=bC.enableGlobalReview&&(cS||cq.some(a=>/事实一致性|项目污染|章节缺失|结构/u.test(a.message)));cW&&(ba(cN,a9({type:"llm_review",roleId:"global-consistency-review",status:"running",message:"正在进行全局一致性审查",details:["仅在章节审查或本地校验发现跨章节风险时触发"],progress:{current:2,total:3,label:"全局审查"}},{subtitle:"全局一致性审查"})),y(u,cN));let cX=cW?await B(()=>bd(bD,"global-consistency-review",()=>b2({template:q,chapters:u,chapterReviews:cU,promptTexts:ag||ae,requirement:a.requirement,projectContext:bn,diagnostics:bD,signal:a.signal}),{chapters:u.length}),cN):{issues:[],stage:a9({type:"llm_review",roleId:"global-consistency-review",status:"skipped",message:bC.enableGlobalReview?"未发现需要 LLM 全局一致性审查的跨章节风险,已跳过":"当前策略未启用全局一致性审查"},{subtitle:"全局一致性审查"})};for(let a of(cN.push(cX.stage),cX.issues))cq.push({level:"warning",message:`全局一致性审查:${a}`,suggestion:"请复核跨章节术语、关键事实、范围边界和上下文一致性。"});y(u,cN);let cY=u.filter(a=>0===a.evidence.length||a.missingFacts.length>0||(0,am.V7)(a.content)<Math.floor(.7*(bB.chapterTargets.get(a.id)||1200))||cU.some(b=>b.chapterId===a.id&&"fail"===b.status)||bo({chapter:bh.find(b=>b.id===a.id)||{id:a.id,title:a.title,purpose:"",queries:[],requiredFacts:[],sections:a.sections},content:a.content,missingFacts:a.missingFacts,targetWords:bB.chapterTargets.get(a.id)||1200}).length>0),cZ=cM>0||cX.issues.length>0||cU.some(a=>"fail"===a.status)||cq.some(a=>/事实一致性|项目污染|章节生成存在兜底|章节生成失败|阻断/u.test(a.message)),c$=bC.enableFinalQualityReview&&(cZ||cY.length>Math.max(3,Math.floor(.35*u.length))),c_=Date.now();c$&&(ba(cN,a9({type:"llm_review",roleId:"llm-review",status:"running",message:`正在进行最终质量审查:风险章节 ${cY.length} 个`,details:["只检查结构、事实一致性、目录层级和正式文档风格,不重写正文"],progress:{current:3,total:3,label:"质量审查"}},{subtitle:"最终质量审查"})),y(u,cN));let c0=I(av,{maxItems:Math.max(32,8*bh.length),maxChars:Math.max(36e3,6e3*bh.length),preservePinned:!0}),c1=c$?await B(()=>b3({template:q,spec:S,markdown:cP,evidence:c0,promptTexts:ag||ae,projectContext:bn,requirement:a.requirement,diagnostics:bD,signal:a.signal}),cN):{markdown:cP,stage:{type:"llm_review",roleId:"llm-review",status:cY.length>0?"fallback":"success",message:cY.length>0?`本地风险扫描发现 ${cY.length} 个低/中风险章节,未达到最终 LLM 审查触发阈值,保留为待复核 warning`:"本地风险扫描未发现需要 LLM 最终质量审查的章节"}};c1.stage.message=bb(c1.stage.message||"LLM 审查完成",c_),ax(a.signal);let c2=ak(c1.markdown===cP?al({...cO,validationIssues:cq,exportGate:cO.exportGate,executionStages:cN}):c1.markdown,u,{forbidDrawingImages:cr,promptRules:ac}).markdown,c3=ai(c2,q).map(a=>a.message),c4=(0,an.bM)(c2).map(a=>`${a.message}${a.suggestion?`:${a.suggestion}`:""}`),c5=(0,an.mR)(c2,q).map(a=>`${a.message}${a.suggestion?`:${a.suggestion}`:""}`),c6=(0,an.N1)(c2,cn).map(a=>`${a.message}${a.suggestion?`:${a.suggestion}`:""}`),c7=ac.forbidToc?[]:[...(0,an.gN)(c2),...(0,an.f8)(c2)].map(a=>`${a.message}${a.suggestion?`:${a.suggestion}`:""}`),c8=(0,an.k0)(c2).map(a=>`${a.message}${a.suggestion?`:${a.suggestion}`:""}`),c9=(0,an.qK)(c2,u).map(a=>`${a.message}${a.suggestion?`:${a.suggestion}`:""}`),da=(0,an.iC)(c2).map(a=>`${a.message}${a.suggestion?`:${a.suggestion}`:""}`),db=(0,an.BV)(c2).map(a=>`${a.message}${a.suggestion?`:${a.suggestion}`:""}`),dc=[...c3,...c4,...c5,...c6,...c7,...c8,...c9,...da,...db,...(0,an.Ty)(u).map(a=>`${a.message}${a.suggestion?`:${a.suggestion}`:""}`),..._(c2).map(a=>`${a.message}${a.suggestion?`:${a.suggestion}`:""}`)],dd=new Set(c9),de=Date.now(),df=dc.filter(a=>!dd.has(a));ba(cN,a9({type:"llm_review",roleId:"quality-repair",status:df.length>0?"running":"success",message:df.length>0?`正在进行精准质量修复:${df.length} 个问题`:"未发现需要精准修复的问题",details:df,progress:{current:1,total:Math.max(1,df.length),label:"质量修复"}},{subtitle:"精准质量修复"})),y(u,cN);let dg=await B(()=>bd(bD,"local-patch-quality-repair",()=>bq({markdown:c2,template:q,chapters:u,promptTexts:ae,requirement:a.requirement,issues:df,forbidDrawingImages:cr,strategy:bC,diagnostics:bD,signal:a.signal}),{issues:df.length}),cN);dg.stage&&(dg.stage.message=bb(dg.stage.message||"质量修复完成",de)),ax(a.signal);let dh=dg.stage?[...cN,c1.stage,dg.stage]:[...cN,c1.stage],di=dg.chapters,dj=al({...cO,chapters:di,validationIssues:cq,exportGate:cO.exportGate,executionStages:cN}),dk=(0,an.yw)(dj,di).filter(a=>a.planned||"missing_planned_section"===a.reason||"empty"===a.reason||"table_only"===a.reason);if(dk.length>0){let b=Date.now();ba(dh,a9({type:"llm_review",roleId:"section-content-repair",status:"running",message:`正在补写空洞小节:${dk.length} 个问题`,details:dk.map(a=>a.message),progress:{current:1,total:dk.length,label:"小节补写"}},{subtitle:"小节内容补写"})),y(di,dh);let c=[...di];for(let b=0;b<di.length;b+=bC.maxChapterConcurrency){ax(a.signal);let d=di.slice(b,b+bC.maxChapterConcurrency);(await Promise.all(d.map(async b=>{let c=dk.filter(a=>a.chapterTitle===b.title);if(0===c.length)return b;let d=bh.find(a=>a.id===b.id||a.title===b.title)||{id:b.id,title:b.title,purpose:"",queries:[],requiredFacts:[],sections:b.sections},e=bB.chapterTargets.get(b.id)||1200,f=bj(d,a8);try{let g=await aK(g=>b$({template:q,chapter:d,content:b.content,evidence:b.evidence,missingFacts:b.missingFacts,promptTexts:ae,projectContext:bn,requirement:a.requirement,roleContext:bl(aL,d,f),targetWords:e,forbidDrawingImages:cr,maxSectionConcurrency:bC.maxSectionConcurrency,forcedSections:c,signal:g}),Math.min(3e5,Math.max(9e4,9e4*c.length)),a.signal);if(!g)return b;let h=b.sections?.length?b.sections:Z(g);return{...b,content:g,markdown:g,sections:h}}catch{return b}}))).forEach((a,d)=>{c[b+d]=a})}di=c;let d=(0,an.qK)(al({...cO,chapters:di,validationIssues:cq,exportGate:cO.exportGate,executionStages:cN}),di);ba(dh,a9({type:"llm_review",roleId:"section-content-repair",status:d.length>0?"fallback":"success",message:bb(d.length>0?`小节补写后仍存在 ${d.length} 个内容缺口`:"小节内容补写完成",b),details:d.map(a=>a.message)},{subtitle:"小节内容补写"})),y(di,dh)}let dl=(0,am.fW)(bB,di.map(a=>a.content).join("\n\n"));if(bC.enableDocumentBudgetExpansion&&bB.minChars&&dl.currentChars<Math.floor(.9*bB.minChars)&&(!bB.maxChars||dl.currentChars<bB.maxChars)){let b=Date.now(),c=dl.currentChars;ba(dh,a9({type:"validation",roleId:"document-budget-repair",status:"running",message:`正在进行修复后预算补齐:当前 ${c} 字`,details:[`目标下限:${bB.minChars} 字`,`章节数:${di.length}`],progress:{current:1,total:2,label:"预算补齐"}},{subtitle:"修复后预算补齐"})),y(di,dh),di=await B(()=>b0({template:q,chapters:di,budget:bB,promptTexts:ae,requirement:a.requirement,forbidDrawingImages:cr,signal:a.signal}),dh);let d=(0,am.fW)(bB,di.map(a=>a.content).join("\n\n"));ba(dh,a9({type:"validation",roleId:"document-budget-repair",status:bB.minChars&&d.currentChars<bB.minChars?"fallback":"success",message:bb(`修复后预算补齐:当前 ${d.currentChars} 字,新增 ${Math.max(0,d.currentChars-c)} 字,预计 ${d.estimatedPages} 页`,b)},{subtitle:"修复后预算补齐"}))}let dm=ak(al({...cO,chapters:di,validationIssues:cq,exportGate:cO.exportGate,executionStages:cN}),di,{forbidDrawingImages:cr,promptRules:ac}),dn=dm.chapters,dp=dm.markdown,dq=dn.map(a=>{let b=di.find(b=>b.id===a.id||b.title===a.title);return{...a,sections:b?.sections||[]}}),dr=(0,an.yw)(dp,dq).filter(a=>a.planned||"missing_planned_section"===a.reason||"empty"===a.reason||"table_only"===a.reason);if(dr.length>0){let b=Date.now();ba(dh,a9({type:"llm_review",roleId:"final-section-content-repair",status:"running",message:`最终结构化后补写残留空洞小节:${dr.length} 个问题`,details:dr.map(a=>a.message),progress:{current:1,total:dr.length,label:"最终小节补写"}},{subtitle:"最终小节内容补写"})),y(dn,dh);let c=[...dn];for(let b=0;b<dn.length;b+=bC.maxChapterConcurrency){ax(a.signal);let d=dn.slice(b,b+bC.maxChapterConcurrency);(await Promise.all(d.map(async b=>{let c=dr.filter(a=>a.chapterTitle===b.title);if(0===c.length)return b;let d=bh.find(a=>a.id===b.id||a.title===b.title)||{id:b.id,title:b.title,purpose:"",queries:[],requiredFacts:[],sections:b.sections},e=bB.chapterTargets.get(b.id)||1200,f=bj(d,a8);try{let g=await aK(g=>b$({template:q,chapter:d,content:b.content,evidence:b.evidence,missingFacts:b.missingFacts,promptTexts:ae,projectContext:bn,requirement:a.requirement,roleContext:bl(aL,d,f),targetWords:e,forbidDrawingImages:cr,maxSectionConcurrency:bC.maxSectionConcurrency,forcedSections:c,signal:g}),Math.min(3e5,Math.max(9e4,9e4*c.length)),a.signal);if(!g)return b;let h=b.sections?.length?b.sections:Z(g);return{...b,content:g,markdown:g,sections:h}}catch{return b}}))).forEach((a,d)=>{c[b+d]=a})}dn=(dm=ak(al({...cO,chapters:c,validationIssues:cq,exportGate:cO.exportGate,executionStages:cN}),c,{forbidDrawingImages:cr,promptRules:ac})).chapters,dp=dm.markdown;let d=(0,an.qK)(dp,dn);ba(dh,a9({type:"llm_review",roleId:"final-section-content-repair",status:d.length>0?"fallback":"success",message:bb(d.length>0?`最终补写后仍存在 ${d.length} 个内容缺口`:"最终小节内容补写完成",b),details:d.map(a=>a.message)},{subtitle:"最终小节内容补写"})),y(dn,dh)}dn=(dm=ak(al({...cO,chapters:dn,validationIssues:cq,exportGate:cO.exportGate,executionStages:cN}),dn,{forbidDrawingImages:cr,promptRules:ac})).chapters,dp=cw(cm(dm.markdown,b7),b7);let ds=a7({facts:b7,markdown:dp});ds.size>0&&cN.push({type:"fact_extraction",roleId:"canonical-facts",status:"success",message:`已决策可信基础事实 ${ds.size} 项`,details:[...ds.values()].map(a=>`${a.label}=${a.value}(${a.source},confidence=${a.confidence})`).slice(0,12)});let dt=[...c3];(cq=(0,an.kQ)(S,[...cq,...dt.map(a=>({level:"warning",message:a}))],cn,dn,dp,K,J)).push(...w({markdown:dp,spec:S,summary:Q})),cq.push(...A({markdown:dp,facts:b7,summary:Q,profile:T})),cq.push(...x(dp,Q)),cq.push(...cx(dp,b7)),ac.forbidToc||(cq.push(...(0,an.gN)(dp)),cq.push(...(0,an.f8)(dp))),cq.push(...(0,an.k0)(dp)),cq.push(...(0,an.qK)(dp,dn)),cq.push(...(0,an.iC)(dp)),cq.push(...(0,an.BV)(dp)),cq.push(..._(dp)),cq.push(...(0,an.Ty)(dn)),cq.push(...(0,an.N1)(dp,cn)),cq.push(...cc(dp)),cq.push(...(0,an.bM)(dp)),cq.push(...(0,an.M$)(dp,J)),cq.push(...(0,an.AC)(dp,dn)),cq.push(...(0,an.mR)(dp,q));let du=cF(dn,b7,dp);du.patchedCount>0&&(dn=du.chapters.map(a=>({...a,sections:a.sections||[]})),cq.push({level:"info",message:`最终审查阶段已补写未落位事实 ${du.patchedCount} 项`,suggestion:"补写仅使用已确认资料事实,未补写商务敏感信息或资料未明确内容。"}),dp=ak(al({...cO,chapters:dn,validationIssues:cq,exportGate:cO.exportGate,executionStages:cN}),dn,{forbidDrawingImages:cr,promptRules:ac}).markdown),cq.push(...function(a,b,c={}){return cE(a,b,{maxItems:c.maxIssues}).map(a=>({level:"warning",message:`已确认事实未在正文中落位:${a.label}=${a.value}`,suggestion:"请将该事实自然写入对应章节或小节,不得改变原始数值和单位。"}))}(dp,[...b7,...cn.preciseFacts],{maxIssues:30})),dp=ak(dp,dn,{forbidDrawingImages:cr,promptRules:ac}).markdown;let dv=(0,am.ty)(bB,dp),dw=(0,am.PE)(q.generationSettings||q.exportSettings,dp).filter(a=>!(bB.minPages&&/低于目标页数/u.test(a.message)));cq.push(...dw),cq.push(...dv),cq.push(...ai(dp,q)),cq.push(...ah(dp,ac));let dx=(0,an.Ai)(cq,cn,dn),dy=dx.blockingIssues.length,dz=(0,an.Ff)(cq);bD.quality.blockingCount+=dz.blocking,bD.quality.importantCount+=dz.important,bD.quality.minorCount+=dz.minor;let dA=dh.map(a=>"validation"===a.type&&"document-workflow"===a.roleId?{...a,status:dy>0?"failed":"success",message:`阻断 ${dy},问题 ${cq.length}`}:"export_ready"===a.type?{...a,status:dx.passed?"success":"failed",message:dx.passed?"已准备好导出 Markdown/HTML/DOCX/PDF":"导出门禁未通过,请完成阻断问题修复后再导出"}:a);bD.llm.currentLimit=aE();let dB=[...bD.metrics].sort((a,b)=>b.durationMs-a.durationMs).slice(0,5).map(a=>`${a.name} ${Math.round(a.durationMs/1e3)}秒`).join(",");dA.push(a9({type:"validation",roleId:"document-diagnostics",status:"success",message:`性能统计:LLM ${bD.llm.calls} 次,失败 ${bD.llm.failures} 次,排队 ${bD.llm.throttledWaits} 次/${Math.round(bD.llm.throttledWaitMs/1e3)} 秒,检索 ${bD.evidence.searchQueries} 次/${Math.round(bD.evidence.searchMs/1e3)} 秒,证据上下文 ${bD.evidence.contextChars} 字,噪声过滤 ${bD.evidence.filteredNoise} 条,质量问题 阻断${bD.quality.blockingCount}/重要${bD.quality.importantCount}/轻微${bD.quality.minorCount},自动限流调整 ${bD.llm.limitAdjustments} 次${dB?`,Top耗时:${dB}`:""}`},{subtitle:"后台诊断"}));let dC=dn.map(a=>({...a,evidence:I(a.evidence||[],{maxItems:12,maxChars:9e3,preservePinned:!0})}));return{...{...cO,chapters:dC,validationIssues:cq,exportGate:dx,executionStages:dA,partialChapters:dn.map(a=>({id:a.id,title:a.title,chars:(0,am.V7)(a.content),status:cd(a,bB.chapterTargets.get(a.id)),updatedAt:Date.now()})),checkpointChapters:dC,reviewMetadata:{chapterSummaries:cU,globalIssues:cX.issues,diagnostics:bD}},markdown:dp}}async function cL(a){let b=(0,d.QJ)(a.templateId);if(!b)throw Error("Document template not found");let c=b.chapters.find(b=>b.id===a.chapterId);if(!c)throw Error("Document chapter not found");let f=e.resolve(a.projectRoot||(0,g.aY)());if(!f)throw Error("No knowledge base project found");let h=(0,g.Qh)(),i=bt(f,(0,d.Vh)(b)),j=cJ(await h.getProject(f),[...i],a.maxEvidencePerChapter),k=[],l=[...i].filter(Boolean).sort(),m=Math.max(2,Math.min(8,Math.floor(Number(process.env.DOCUMENT_MAX_QUERIES_PER_CHAPTER??6))));for(let a of c.queries.slice(0,m)){let b=await h.search(f,a,{scope:"project",filters:{filePaths:l},limit:Math.min(j,12),weights:{keyword:.4,vector:.45,rewrite:.75,hybridBonus:.15}});k.push(...b.results.filter(a=>bs(f,a.filePath,i)).map(a=>({chapterId:c.id,filePath:a.filePath,score:a.score,content:a.content,sectionTitle:a.sectionTitle,source:a.source})))}let n=I(k.filter(a=>bs(f,a.filePath,i)),{maxItems:Math.max(8,Math.min(28,2*j)),maxChars:18e3,preservePinned:!0}),o=a.currentMarkdown||"",p=new Set(a.existingFacts??[]),q=c.requiredFacts.filter(a=>!p.has(a)&&!n.some(b=>(0,D.Lk)(b,a))),r=[`## ${c.title}`,"",a.requirement?`> 生成要求:${a.requirement}`:"",o?`> 当前文档上下文摘要:${o.replace(/\s+/gu," ")}`:"",n.length>0?`本章根据知识库资料围绕“${c.purpose}”重新整理,并与当前文档上下文保持一致。`:"建议补充更多资料后复核。","",n.length>0?"### 资料依据":"",...n.map(J),"",q.length>0?"### 待确认事项":"",...q.map(a=>`- ${a}:建议人工复核或补充更明确资料。`)].filter(Boolean).join("\n");return{id:c.id,title:c.title,content:r,evidence:n,missingFacts:q}}},44533:(a,b,c)=>{c.d(b,{Qh:()=>l,VS:()=>p,Yy:()=>o,aY:()=>n});var d=c(19898),e=c(87550),f=c.n(e),g=c(33873),h=c(21820),i=c(29021);let j=null;function k(){return g.join(h.homedir(),".customize-agent")}function l(){return j||(j=new d.MultiProjectManager(k())),j}function m(a){let b=g.resolve(a),c=g.resolve(g.join(h.homedir(),".customize-agent"));return!(i.existsSync(g.join(b,"pnpm-workspace.yaml"))&&i.existsSync(g.join(b,"apps","server")))&&(b===c||b.includes(`${g.sep}.customize-agent${g.sep}`)||b.endsWith(`${g.sep}apps${g.sep}server`)||b.endsWith(`${g.sep}apps${g.sep}cli`))}function n(){let a=process.env.CUSTOMIZE_PROJECT_ROOT??process.env.INIT_CWD;if(a&&i.existsSync(a)&&!m(a))return g.resolve(a);let b=function(){let a=g.join(k(),"projects","registry.db");if(!i.existsSync(a))return[];let b=new(f())(a,{readonly:!0});try{return b.prepare("SELECT project_root FROM project_registry ORDER BY last_opened_at DESC").all().map(a=>g.resolve(a.project_root)).filter(a=>!m(a))}finally{b.close()}}();return b.length>0?b[0]:process.env.INIT_CWD&&!m(process.env.INIT_CWD)?process.env.INIT_CWD:g.resolve(process.cwd(),"../..")}function o(a,b={}){let c=new Map;for(let b of function(a){let b=g.join(h.homedir(),".customize-agent","projects",(0,d.computeProjectId)(g.resolve(a)),"kb.db");if(!i.existsSync(b))return[];let c=new d.IndexStateStore(b);try{return c.listRecords().map(a=>({...a,matchedBy:"metadata"}))}finally{c.close()}}(a))c.set(b.relativePath,b);for(let b of function(a){let b=g.join(a,"knowledgeBase");if(!i.existsSync(b))return[];let c=[],d=a=>{for(let e of i.readdirSync(a,{withFileTypes:!0})){let f=g.join(a,e.name);if(e.isDirectory()){d(f);continue}if(e.name.endsWith(".source.txt"))continue;let h=i.statSync(f),j=g.relative(b,f).split(g.sep).join("/");c.push({relativePath:j,category:j.includes("表格数据/")?"spreadsheet":j.includes("图片素材/")?"image":j.includes("图纸文件/")?"cad":j.includes("文档资料/")?"document":"other",format:g.extname(j).slice(1).toLowerCase()||"text",contentHash:"",fileSize:h.size,mtime:h.mtimeMs,chunkCount:0,collectionName:"",indexedAt:0,lastVerifiedAt:0,status:"disk",matchedBy:"disk"})}};return d(b),c}(a)){let a=c.get(b.relativePath);c.set(b.relativePath,a?{...a,fileSize:b.fileSize,mtime:b.mtime,matchedBy:"metadata"}:b)}return Array.from(c.values()).filter(a=>!b.category||a.category===b.category).sort((a,b)=>b.mtime-a.mtime||a.relativePath.localeCompare(b.relativePath,"zh-CN"))}async function p(a,b={}){let c=(b.query||"").trim(),d=Math.max(1,Math.min(500,b.limit??50)),e=new Map,f=o(a,{category:b.category});for(let a of f)(!c||`${a.relativePath}
170
170
  ${a.category}
171
171
  ${a.format}
172
- ${a.status}`.toLowerCase().includes(c.toLowerCase()))&&e.set(a.relativePath,{...a,matchedBy:c?"path":a.matchedBy});if(c&&!1!==b.includeContent)try{for(let b of(await l().search(a,c,{limit:Math.max(20,d)})).results){let a=b.filePath,c=e.get(a)||f.find(b=>b.relativePath===a);e.set(a,{...c||{relativePath:a,category:"content",format:"knowledge",fileSize:0,mtime:0,chunkCount:0,indexedAt:0,lastVerifiedAt:0,status:"active"},matchedBy:"content",score:b.score})}}catch{}let g=Array.from(e.values()).sort((a,b)=>{let c=a=>"content"===a.matchedBy?3:"path"===a.matchedBy?2:+("metadata"===a.matchedBy);return c(b)-c(a)||(b.score??0)-(a.score??0)||b.mtime-a.mtime||a.relativePath.localeCompare(b.relativePath,"zh-CN")});return{files:g.slice(0,d),total:g.length}}},52511:(a,b,c)=>{c.d(b,{Bh:()=>z,C1:()=>F,DX:()=>G,N6:()=>H,QJ:()=>y,Vh:()=>N,bV:()=>C,bj:()=>w,dU:()=>u,h0:()=>B,jG:()=>x,wR:()=>J,xm:()=>A,zY:()=>M});var d=c(73024),e=c(76760),f=c(48161),g=c(44533),h=c(25840),i=c(8753),j=c(6444),k=c(85441),l=c(81125),m=c(56942);function n(){let a=e.join(f.homedir(),".customize-agent");return d.mkdirSync(a,{recursive:!0}),a}function o(){return e.join(n(),"document-templates.json")}function p(a){return{...a,id:a.id.replace(/[^a-zA-Z0-9_-]/gu,"-").slice(0,80)||`template-${Date.now()}`,name:a.name||"未命名模板",description:a.description||"",category:a.category||"自定义",outputTitle:a.outputTitle||a.name||"文档",projectRoleConfigId:a.projectRoleConfigId||void 0,chapters:Array.isArray(a.chapters)&&a.chapters.length>0?a.chapters.map((a,b)=>({id:(a.id||`chapter-${b+1}`).replace(/[^a-zA-Z0-9_-]/gu,"-").slice(0,80),title:a.title||`第 ${b+1} 章`,purpose:a.purpose||"",queries:Array.isArray(a.queries)?a.queries.filter(Boolean):[],requiredFacts:Array.isArray(a.requiredFacts)?a.requiredFacts.filter(Boolean):[],sections:Array.isArray(a.sections)?a.sections.filter(Boolean):[],tableSections:Array.isArray(a.tableSections)?a.tableSections.filter(Boolean):[],tableRequirements:Array.isArray(a.tableRequirements)?a.tableRequirements.filter(Boolean):[],pinnedEvidenceFilePaths:Array.isArray(a.pinnedEvidenceFilePaths)?a.pinnedEvidenceFilePaths.filter(Boolean):[]})):[{id:"document",title:a.outputTitle||a.name||"文档",purpose:a.description||"",queries:[],requiredFacts:[]}],exportSettings:a.exportSettings,generationSettings:a.generationSettings,promptIds:Array.isArray(a.promptIds)?a.promptIds.filter(Boolean):[],boundFilePaths:Array.isArray(a.boundFilePaths)?a.boundFilePaths.filter(Boolean):[],promptBindings:Array.isArray(a.promptBindings)?a.promptBindings.filter(a=>a.promptId&&a.roleId):Array.isArray(a.promptIds)?a.promptIds.filter(Boolean).map(a=>({promptId:a,roleId:"chapter_generation"})):[],fileBindings:Array.isArray(a.fileBindings)?a.fileBindings.filter(a=>a.filePath&&a.roleId):Array.isArray(a.boundFilePaths)?a.boundFilePaths.filter(Boolean).map(a=>({filePath:a,roleId:"reference"})):[],builtIn:!1}}function q(){try{let a=o();if(!d.existsSync(a))return[];return JSON.parse(d.readFileSync(a,"utf-8")).map(p)}catch{return[]}}function r(a){d.writeFileSync(o(),JSON.stringify(a.map(p),null,2),"utf-8")}function s(){try{let a=JSON.parse(d.readFileSync(e.join(n(),"prompts.json"),"utf-8"));return Array.isArray(a.customPrompts)?a.customPrompts:[]}catch{return[]}}function t(a){let b=s();if(a.startsWith("custom:")){let c=b.find(b=>b.id===a);return c?{id:a,name:c.name,content:c.content}:void 0}if(a.startsWith("file:")){let b=a.slice(5);if(d.existsSync(b))return{id:a,name:e.basename(e.dirname(b))||b,content:d.readFileSync(b,"utf-8")}}}function u(a=[]){if(0===a.length)return[];let b=[];for(let c of a){let a=t(c.promptId);a&&b.push({...a,roleId:c.roleId})}return b}function v(a,b,c=""){let d=`${a} ${b} ${c}`;return/extract|extraction|抽取|清单|图纸|品牌|识别/u.test(d)?"extraction":/format|排版/u.test(d)?"formatting":/总控|writer|施工组织设计总控|写作主控/u.test(d)?"writer":/chapter_generation|method|schedule|quality|resource|safety|dangerous|施工|进度|质量|资源|安全|危大/u.test(d)?"chapter":"reference"}function w(a){var b;let c=I(a),d=(0,h.XB)("prompt"),e=M(a),f=[],g=[],i=[];if(c)for(let a of c.promptRoles)d.find(b=>b.id===a.roleId)||i.push(a.roleId),e.some(b=>b.roleId===a.roleId||b.roleId===K(a.roleId))||f.push({roleId:a.roleId,promptId:"",reason:"项目角色提示词未解析到可用提示词资源"});let j=[...e];if(/施工组织设计|施工方案|危大工程|安全文明施工/u.test(`${a.name} ${a.category} ${a.outputTitle} ${a.description}`)&&!u(j).some(a=>"writer"===v(a.roleId,d.find(b=>b.id===a.roleId)?.executionType||K(a.roleId),a.name)))for(let a of(b=/施工组织设计总控|总控|施工组织/u,s().filter(a=>b.test(a.name||"")).map(a=>a.id)).slice(0,1))j.push({promptId:a,roleId:"runtime-construction-writer"}),g.push({roleId:"runtime-construction-writer",promptId:a,reason:"施工组织设计运行时必需写作总控提示词"});let k=L(j),l=[];for(let a of k){let b=t(a.promptId);if(!b)continue;let e=d.find(b=>b.id===a.roleId),f=e?.executionType||K(a.roleId),h=v(a.roleId,f,b.name),i=g.some(b=>b.roleId===a.roleId&&b.promptId===a.promptId)?"runtimeRequired":c?"projectRole":"template";l.push({...b,roleId:a.roleId,executionType:f,category:h,bindingSource:i})}return{bindings:k,prompts:l,writerPrompts:l.filter(a=>"writer"===a.category),chapterPrompts:l.filter(a=>"chapter"===a.category),extractionPrompts:l.filter(a=>"extraction"===a.category),formattingPrompts:l.filter(a=>"formatting"===a.category),referencePrompts:l.filter(a=>"reference"===a.category),unresolvedRoles:[...new Set(i)],fallbackBindings:f,runtimeRequiredBindings:g}}function x(){let a=(0,i.V)().templates,b=q().filter(b=>!a.some(a=>a.id===b.id));return[...a,...b]}function y(a){return x().find(b=>b.id===a)}function z(a){let b=p(a),c=q().filter(a=>a.id!==b.id);return c.push(b),r(c),b}async function A(a,b=(0,g.aY)()){let c,d=y(a),f=[];if(!d)return{issues:[{level:"error",message:"文档模板不存在或已删除"}],fileDiagnostics:[],promptDiagnostics:[],config:void 0};let i=(0,h.XB)("prompt"),n=(0,h.XB)("file"),o=H(d),p=I(d);o||f.push({level:"error",message:"模板未绑定项目角色配置,且未匹配到自动专业角色配置"}),o&&!p&&f.push({level:"error",message:`项目角色配置不存在或已删除:${o}`});let q=M(d),r=N(d);0===q.length&&f.push({level:"warning",message:"模板未绑定提示词角色,生成会缺少说明提示词约束"});let s=e.resolve(b),t=(0,g.Yy)(s);0===r.length&&f.push({level:"error",message:"模板未绑定知识库文件。模板生成文件只允许使用显式绑定的知识库文件,请先在模板中绑定需要参与生成的资料。"});let v=new Map(t.map(a=>[a.relativePath,a])),w=r.map(a=>{let b=n.find(b=>b.id===a.roleId),c=v.get(a.filePath);return b||f.push({level:"error",message:`文件角色不存在:${a.roleId}`}),c||f.push({level:"error",message:`知识库文件不存在:${a.filePath}`}),c&&("disk"===c.status||0===c.indexedAt)&&f.push({level:"warning",message:`知识库文件存在但尚未完成索引:${a.filePath}`}),c?.status==="error"&&f.push({level:"warning",message:`知识库文件索引失败:${a.filePath}${c.errorMessage?`,${c.errorMessage}`:""}`}),c&&0===c.chunkCount&&f.push({level:"warning",message:`知识库文件暂无可检索内容切片:${a.filePath}`}),{...a,roleName:b?.name,exists:!!c,indexed:!!(c&&c.indexedAt>0&&"disk"!==c.status),chunkCount:c?.chunkCount??0,vectorReady:!!(c&&c.chunkCount>0)}}),x=u(q),z=q.map(a=>{let b=i.find(b=>b.id===a.roleId),c=x.find(b=>b.id===a.promptId);return b||f.push({level:"error",message:`提示词角色不存在:${a.roleId}`}),c||f.push({level:"error",message:`提示词不存在:${a.promptId}`}),c&&!c.content.trim()&&f.push({level:"warning",message:`提示词为空:${c.name}`}),{...a,roleName:b?.name,promptTitle:c?.name,exists:!!c,contentLength:c?.content.length??0}});if(d){let a=(0,k.P)(s,{boundFilePaths:r.map(a=>a.filePath),boundFileRoles:J(r)}),b=(0,l.h)(d,a);for(let e of(c=(0,m.$)({template:d,spec:(0,j.x)(d).spec,summary:a,resolvedRoles:b})).blockingIssues)f.push({level:"error",message:`生成准备度不足:${e}`});for(let a of c.warnings)f.push({level:"warning",message:a})}return{templateId:a,projectRoleConfigId:o,fileDiagnostics:w,promptDiagnostics:z,readiness:c,issues:f}}function B(a){if(new Set((0,i.V)().templates.map(a=>a.id)).has(a))throw Error("Configured template cannot be deleted");r(q().filter(b=>b.id!==a))}function C(a){let b=y(a);if(!b)throw Error("Document template not found");let c=p({...b,id:`${b.id}-copy-${Date.now()}`,name:`${b.name} Copy`,builtIn:!1}),d=q();return d.push(c),r(d),c}function D(a,b){try{return RegExp(b,"iu").test(a)}catch{return a.includes(b)}}function E(a){let b=`${a.name} ${a.category} ${a.outputTitle} ${a.description}`;return(0,i.V)().chapterTitleFilters.filter(a=>a.templateMatchers.some(a=>D(b,a)))}function F(a,b){return E(b).some(b=>!!b.minLength&&a.length<b.minLength||!!b.maxLength&&a.length>b.maxLength||b.forbiddenPatterns.some(b=>D(a,b)))}function G(a,b){return E(b).some(b=>!!(b.minLength&&a.length<b.minLength||b.maxLength&&a.length>b.maxLength||b.forbiddenPatterns.some(b=>D(a,b)))||b.requiredPatterns.length>0&&!b.requiredPatterns.some(b=>D(a,b)))}function H(a){return a.projectRoleConfigId||void 0}function I(a){let b=H(a);return b?(0,h.Mu)(b):void 0}function J(a){let b=new Map;for(let d of a){var c;b.set(d.filePath,[...new Set([...b.get(d.filePath)||[],...(c=d.roleId,/requirement|response|rule|需求|规则|评审|实质/u.test(c)?["requirement_document","technical_specification","schedule_quality_safety"]:/table|sheet|data|scope|quantity|表格|列表|明细|数量|数据|范围/u.test(c)?["structured_data","scope_description","budget_cost"]:/drawing|drawings|image|map|design|设计|图像|地图/u.test(c)?["design_specification"]:/schedule|quality|safety|progress|周期|进度|质量|安全/u.test(c)?["schedule_quality_safety","technical_specification"]:/risk|constraints|重点|难点|约束/u.test(c)?["risk_constraints","addendum","requirement_document"]:/material|equipment|brand|resource|材料|设备|品牌|资源/u.test(c)?["resource_recommendation","structured_data","technical_specification"]:/enterprise|reference|经验|体系/u.test(c)?["project_overview","technical_specification"]:["project_overview"])])])}return[...b.entries()].map(([a,b])=>({filePath:a,roles:b}))}function K(a){return/extract|extraction|抽取|清单|图纸|品牌/u.test(a)?"fact_extraction":/validation|校验|审查|审核/u.test(a)?"validation":/format|排版/u.test(a)?"formatting":/writer|method|schedule|quality|resource|safety|dangerous|施工|进度|质量|资源|安全|危大/u.test(a)?"chapter_generation":"reference"}function L(a){let b=new Set,c=[];for(let d of a){let a=`${d.roleId}:${d.promptId}`;!d.promptId||!d.roleId||b.has(a)||(b.add(a),c.push(d))}return c}function M(a){let b=I(a);if(b){let a=(0,h.XB)("prompt"),c=[];for(let d of[...b.promptRoles].sort((a,b)=>a.order-b.order)){let b=a.find(a=>a.id===d.roleId),e=b?b.resourceIds?.length?b.resourceIds:b.resourceId?[b.resourceId]:[]:[],f=e.length>0?e:function(a,b=""){let c=s(),d=`${a} ${b}`;return c.filter(a=>{let b=a.name||"";return/writer|施工组织|construction-organization/u.test(d)?/施工组织设计总控|总控|施工组织/u.test(b):/method|施工方法/u.test(d)?/施工方法|主要施工/u.test(b):/schedule|quality|进度|工期|质量/u.test(d)?/工期|进度|质量/u.test(b):/resource|人材机|资源/u.test(d)?/人材机|资源|材料|设备/u.test(b):/safety|文明|安全/u.test(d)?/安全|文明/u.test(b):/dangerous|危大/u.test(d)?/危大|危险性/u.test(b):!!/extract|extraction|抽取|清单|图纸|品牌/u.test(d)&&/抽取|识别|清单|图纸|品牌|总控/u.test(b)}).slice(0,2).map(a=>a.id)}(d.roleId,b?.name),g=b?.id||K(d.roleId);c.push(...f.map(a=>({promptId:a,roleId:g})))}if(c.length>0)return L(c)}return a.promptBindings?.length?a.promptBindings:(a.promptIds??[]).map(a=>({promptId:a,roleId:"chapter_generation"}))}function N(a){return a.fileBindings?.length?a.fileBindings:(a.boundFilePaths??[]).map(a=>({filePath:a,roleId:"reference"}))}},56942:(a,b,c)=>{c.d(b,{$:()=>h,R:()=>i});var d=c(81125),e=c(92808);function f(a){return[...new Set(a.filter(Boolean))]}function g(a){let b=(0,e.t0)(a,e.hW);return b.length>0?b:["project_overview"]}function h(a){var b,c,e;let h=a.resolvedRoles.filter(a=>a.required&&!a.satisfied).map(a=>a.role),i=a.resolvedRoles.filter(a=>a.weak).map(a=>a.role),j=(b=a.template,c=a.spec,e=a.summary,b.chapters.map(a=>{let b=function(a,b){let c=b.chapterRules.find(b=>b.id===a.id||b.title===a.title),d=(c?.requiredFactIds||[]).map(a=>b.factFields.find(b=>b.id===a)?.name).filter(Boolean);return f([...a.requiredFacts||[],...d])}(a,c),d=f([...g([a.title,a.purpose,...a.queries||[],...a.sections||[]].join("\n")),...b.flatMap(a=>g(a))]),h=d.filter(a=>(e.materialInventory[a]||[]).length>0),i=h.reduce((a,b)=>a+(e.materialInventory[b]||[]).length,0),j=b.filter(a=>g(a).some(a=>h.includes(a))),k=b.filter(a=>!j.includes(a)),l=b.length>0?j.length/b.length:1,m=d.length>0?h.length/d.length:1;return{chapterId:a.id,title:a.title,requiredFacts:b,coveredFacts:j,missingFacts:k,requiredRoles:d,satisfiedRoles:h,evidenceCount:i,readinessRate:Math.min(1,.5*l+.3*m+.2*(i>0))}})),k=[],l=[];0===a.template.chapters.length&&l.push("模板未配置章节,建议通过模板章节或显式 OUTLINE 提供文档结构"),a.template.chapters.some(a=>!a.purpose&&(!a.queries||0===a.queries.length)&&(!a.requiredFacts||0===a.requiredFacts.length))&&l.push("部分模板章节缺少 purpose、queries 或 requiredFacts,生成质量可能不稳定"),a.summary.source.ambiguous&&k.push(a.summary.source.selectionReason),a.summary.fingerprint.confidence<.34&&l.push("材料指纹置信度较低,建议绑定明确的材料文件"),a.summary.coverage.materialCompletenessRate<.5&&k.push("绑定材料覆盖率过低,无法支撑文档生成"),h.length>0&&l.push(`模板必需材料角色未完全满足:${h.join("、")}`),i.length>0&&l.push(`部分材料角色证据较弱:${i.join("、")}`);let m=j.filter(a=>a.readinessRate<.5);m.length>0&&l.push(`章节级证据覆盖较弱:${m.slice(0,5).map(a=>`${a.title} ${Math.round(100*a.readinessRate)}%`).join("、")}`);let n=j.filter(a=>a.requiredFacts.length>0&&0===a.evidenceCount);n.length>0&&l.push(`部分章节缺少匹配证据:${n.slice(0,5).map(a=>a.title).join("、")}`);let o=[a.spec.factFields.length>0,a.spec.chapterRules.length>0,a.spec.gateRules.length>0];return{ready:0===k.length,materialCoverageRate:a.summary.coverage.materialCompletenessRate,roleSatisfactionRate:(0,d.o)(a.resolvedRoles),specCompletenessRate:o.filter(Boolean).length/o.length,missingRoles:h,weakRoles:i,chapterDiagnostics:j,blockingIssues:k,warnings:l}}function i(a,b={}){let c=a.chapterDiagnostics.filter(a=>a.readinessRate<.7||a.missingFacts.length>0).slice(0,8).map(a=>`${a.title}:${Math.round(100*a.readinessRate)}%,证据 ${a.evidenceCount} 条${a.missingFacts.length?`,缺失 ${a.missingFacts.slice(0,6).join("、")}`:""}`);return b.publicSafe?["## 生成事实使用边界",`资料覆盖程度:${Math.round(100*a.materialCoverageRate)}%`,`资料角色满足程度:${Math.round(100*a.roleSatisfactionRate)}%`,c.length?`章节证据风险:
172
+ ${a.status}`.toLowerCase().includes(c.toLowerCase()))&&e.set(a.relativePath,{...a,matchedBy:c?"path":a.matchedBy});if(c&&!1!==b.includeContent)try{for(let b of(await l().search(a,c,{limit:Math.max(20,d)})).results){let a=b.filePath,c=e.get(a)||f.find(b=>b.relativePath===a);e.set(a,{...c||{relativePath:a,category:"content",format:"knowledge",fileSize:0,mtime:0,chunkCount:0,indexedAt:0,lastVerifiedAt:0,status:"active"},matchedBy:"content",score:b.score})}}catch{}let g=Array.from(e.values()).sort((a,b)=>{let c=a=>"content"===a.matchedBy?3:"path"===a.matchedBy?2:+("metadata"===a.matchedBy);return c(b)-c(a)||(b.score??0)-(a.score??0)||b.mtime-a.mtime||a.relativePath.localeCompare(b.relativePath,"zh-CN")});return{files:g.slice(0,d),total:g.length}}},52511:(a,b,c)=>{c.d(b,{Bh:()=>z,C1:()=>F,DX:()=>G,N6:()=>H,QJ:()=>y,Vh:()=>N,bV:()=>C,bj:()=>w,dU:()=>u,h0:()=>B,jG:()=>x,wR:()=>J,xm:()=>A,zY:()=>M});var d=c(73024),e=c(76760),f=c(48161),g=c(44533),h=c(25840),i=c(8753),j=c(6444),k=c(85441),l=c(81125),m=c(56942);function n(){let a=e.join(f.homedir(),".customize-agent");return d.mkdirSync(a,{recursive:!0}),a}function o(){return e.join(n(),"document-templates.json")}function p(a){return{...a,id:a.id.replace(/[^a-zA-Z0-9_-]/gu,"-").slice(0,80)||`template-${Date.now()}`,name:a.name||"未命名模板",description:a.description||"",category:a.category||"自定义",outputTitle:a.outputTitle||a.name||"文档",projectRoleConfigId:a.projectRoleConfigId||void 0,chapters:Array.isArray(a.chapters)&&a.chapters.length>0?a.chapters.map((a,b)=>({id:(a.id||`chapter-${b+1}`).replace(/[^a-zA-Z0-9_-]/gu,"-").slice(0,80),title:a.title||`第 ${b+1} 章`,purpose:a.purpose||"",queries:Array.isArray(a.queries)?a.queries.filter(Boolean):[],requiredFacts:Array.isArray(a.requiredFacts)?a.requiredFacts.filter(Boolean):[],sections:Array.isArray(a.sections)?a.sections.filter(Boolean):[],tableSections:Array.isArray(a.tableSections)?a.tableSections.filter(Boolean):[],tableRequirements:Array.isArray(a.tableRequirements)?a.tableRequirements.filter(Boolean):[],pinnedEvidenceFilePaths:Array.isArray(a.pinnedEvidenceFilePaths)?a.pinnedEvidenceFilePaths.filter(Boolean):[]})):[{id:"document",title:a.outputTitle||a.name||"文档",purpose:a.description||"",queries:[],requiredFacts:[]}],exportSettings:a.exportSettings,generationSettings:a.generationSettings,promptIds:Array.isArray(a.promptIds)?a.promptIds.filter(Boolean):[],boundFilePaths:Array.isArray(a.boundFilePaths)?a.boundFilePaths.filter(Boolean):[],promptBindings:Array.isArray(a.promptBindings)?a.promptBindings.filter(a=>a.promptId&&a.roleId):Array.isArray(a.promptIds)?a.promptIds.filter(Boolean).map(a=>({promptId:a,roleId:"chapter_generation"})):[],fileBindings:Array.isArray(a.fileBindings)?a.fileBindings.filter(a=>a.filePath&&a.roleId):Array.isArray(a.boundFilePaths)?a.boundFilePaths.filter(Boolean).map(a=>({filePath:a,roleId:"reference"})):[],builtIn:!1}}function q(){try{let a=o();if(!d.existsSync(a))return[];return JSON.parse(d.readFileSync(a,"utf-8")).map(p)}catch{return[]}}function r(a){d.writeFileSync(o(),JSON.stringify(a.map(p),null,2),"utf-8")}function s(){try{let a=JSON.parse(d.readFileSync(e.join(n(),"prompts.json"),"utf-8"));return Array.isArray(a.customPrompts)?a.customPrompts:[]}catch{return[]}}function t(a){let b=s();if(a.startsWith("custom:")){let c=b.find(b=>b.id===a);return c?{id:a,name:c.name,content:c.content}:void 0}if(a.startsWith("file:")){let b=a.slice(5);if(d.existsSync(b))return{id:a,name:e.basename(e.dirname(b))||b,content:d.readFileSync(b,"utf-8")}}}function u(a=[]){if(0===a.length)return[];let b=[];for(let c of a){let a=t(c.promptId);a&&b.push({...a,roleId:c.roleId})}return b}function v(a,b,c=""){let d=`${a} ${b} ${c}`;return/extract|extraction|抽取|清单|图纸|品牌|识别/u.test(d)?"extraction":/format|排版/u.test(d)?"formatting":/总控|writer|施工组织设计总控|写作主控/u.test(d)?"writer":/chapter_generation|method|schedule|quality|resource|safety|dangerous|施工|进度|质量|资源|安全|危大/u.test(d)?"chapter":"reference"}function w(a){var b;let c=I(a),d=(0,h.XB)("prompt"),e=M(a),f=[],g=[],i=[];if(c)for(let a of c.promptRoles)d.find(b=>b.id===a.roleId)||i.push(a.roleId),e.some(b=>b.roleId===a.roleId||b.roleId===K(a.roleId))||f.push({roleId:a.roleId,promptId:"",reason:"项目角色提示词未解析到可用提示词资源"});let j=[...e];if(/施工组织设计|施工方案|危大工程|安全文明施工/u.test(`${a.name} ${a.category} ${a.outputTitle} ${a.description}`)&&!u(j).some(a=>"writer"===v(a.roleId,d.find(b=>b.id===a.roleId)?.executionType||K(a.roleId),a.name)))for(let a of(b=/施工组织设计总控|总控|施工组织/u,s().filter(a=>b.test(a.name||"")).map(a=>a.id)).slice(0,1))j.push({promptId:a,roleId:"runtime-construction-writer"}),g.push({roleId:"runtime-construction-writer",promptId:a,reason:"施工组织设计运行时必需写作总控提示词"});let k=L(j),l=[];for(let a of k){let b=t(a.promptId);if(!b)continue;let e=d.find(b=>b.id===a.roleId),f=e?.executionType||K(a.roleId),h=v(a.roleId,f,b.name),i=g.some(b=>b.roleId===a.roleId&&b.promptId===a.promptId)?"runtimeRequired":c?"projectRole":"template";l.push({...b,roleId:a.roleId,executionType:f,category:h,bindingSource:i})}return{bindings:k,prompts:l,writerPrompts:l.filter(a=>"writer"===a.category),chapterPrompts:l.filter(a=>"chapter"===a.category),extractionPrompts:l.filter(a=>"extraction"===a.category),formattingPrompts:l.filter(a=>"formatting"===a.category),referencePrompts:l.filter(a=>"reference"===a.category),unresolvedRoles:[...new Set(i)],fallbackBindings:f,runtimeRequiredBindings:g}}function x(){let a=(0,i.V)().templates,b=q().filter(b=>!a.some(a=>a.id===b.id));return[...a,...b]}function y(a){return x().find(b=>b.id===a)}function z(a){let b=p(a),c=q().filter(a=>a.id!==b.id);return c.push(b),r(c),b}async function A(a,b=(0,g.aY)()){let c,d=y(a),f=[];if(!d)return{issues:[{level:"error",message:"文档模板不存在或已删除"}],fileDiagnostics:[],promptDiagnostics:[],config:void 0};let i=(0,h.XB)("prompt"),n=(0,h.XB)("file"),o=H(d),p=I(d);o||f.push({level:"error",message:"模板未绑定项目角色配置,且未匹配到自动专业角色配置"}),o&&!p&&f.push({level:"error",message:`项目角色配置不存在或已删除:${o}`});let q=M(d),r=N(d);0===q.length&&f.push({level:"warning",message:"模板未绑定提示词角色,生成会缺少说明提示词约束"});let s=e.resolve(b),t=(0,g.Yy)(s);0===r.length&&f.push({level:"error",message:"模板未绑定知识库文件。模板生成文件只允许使用显式绑定的知识库文件,请先在模板中绑定需要参与生成的资料。"});let v=new Map(t.map(a=>[a.relativePath,a])),w=r.map(a=>{let b=n.find(b=>b.id===a.roleId),c=v.get(a.filePath);return b||f.push({level:"error",message:`文件角色不存在:${a.roleId}`}),c||f.push({level:"error",message:`知识库文件不存在:${a.filePath}`}),c&&("disk"===c.status||0===c.indexedAt)&&f.push({level:"warning",message:`知识库文件存在但尚未完成索引:${a.filePath}`}),c?.status==="error"&&f.push({level:"warning",message:`知识库文件索引失败:${a.filePath}${c.errorMessage?`,${c.errorMessage}`:""}`}),c&&0===c.chunkCount&&f.push({level:"warning",message:`知识库文件暂无可检索内容切片:${a.filePath}`}),{...a,roleName:b?.name,exists:!!c,indexed:!!(c&&c.indexedAt>0&&"disk"!==c.status),chunkCount:c?.chunkCount??0,vectorReady:!!(c&&c.chunkCount>0)}}),x=u(q),z=q.map(a=>{let b=i.find(b=>b.id===a.roleId),c=x.find(b=>b.id===a.promptId);return b||f.push({level:"error",message:`提示词角色不存在:${a.roleId}`}),c||f.push({level:"error",message:`提示词不存在:${a.promptId}`}),c&&!c.content.trim()&&f.push({level:"warning",message:`提示词为空:${c.name}`}),{...a,roleName:b?.name,promptTitle:c?.name,exists:!!c,contentLength:c?.content.length??0}});if(d){let a=(0,k.P)(s,{boundFilePaths:r.map(a=>a.filePath),boundFileRoles:J(r)}),b=(0,l.h)(d,a);for(let e of(c=(0,m.$)({template:d,spec:(0,j.x)(d).spec,summary:a,resolvedRoles:b})).blockingIssues)f.push({level:"error",message:`生成准备度不足:${e}`});for(let a of c.warnings)f.push({level:"warning",message:a})}return{templateId:a,projectRoleConfigId:o,fileDiagnostics:w,promptDiagnostics:z,readiness:c,issues:f}}function B(a){if(new Set((0,i.V)().templates.map(a=>a.id)).has(a))throw Error("Configured template cannot be deleted");r(q().filter(b=>b.id!==a))}function C(a){let b=y(a);if(!b)throw Error("Document template not found");let c=p({...b,id:`${b.id}-copy-${Date.now()}`,name:`${b.name} Copy`,builtIn:!1}),d=q();return d.push(c),r(d),c}function D(a,b){try{return RegExp(b,"iu").test(a)}catch{return a.includes(b)}}function E(a){let b=`${a.name} ${a.category} ${a.outputTitle} ${a.description}`;return(0,i.V)().chapterTitleFilters.filter(a=>a.templateMatchers.some(a=>D(b,a)))}function F(a,b){return E(b).some(b=>!!b.minLength&&a.length<b.minLength||!!b.maxLength&&a.length>b.maxLength||b.forbiddenPatterns.some(b=>D(a,b)))}function G(a,b){return E(b).some(b=>!!(b.minLength&&a.length<b.minLength||b.maxLength&&a.length>b.maxLength||b.forbiddenPatterns.some(b=>D(a,b)))||b.requiredPatterns.length>0&&!b.requiredPatterns.some(b=>D(a,b)))}function H(a){return a.projectRoleConfigId||void 0}function I(a){let b=H(a);return b?(0,h.Mu)(b):void 0}function J(a){let b=new Map,c=(0,h.XB)("file");for(let d of a){let a=c.find(a=>a.id===d.roleId),e=function(a,b="",c="",d=""){let e=`${a} ${b} ${c} ${d}`,f=new Set;return"rule"===d&&["requirement_document","technical_specification","schedule_quality_safety"].forEach(a=>f.add(a)),"table"===d&&["structured_data","scope_description","budget_cost"].forEach(a=>f.add(a)),"drawing"===d&&f.add("design_specification"),"specification"===d&&["technical_specification","design_specification","requirement_document"].forEach(a=>f.add(a)),"reference"===d&&f.add("project_overview"),/requirement|response|rule|需求|规则|评审|实质/u.test(e)&&["requirement_document","technical_specification","schedule_quality_safety"].forEach(a=>f.add(a)),/table|sheet|data|scope|quantity|表格|列表|明细|数量|数据|范围|清单|工程量/u.test(e)&&["structured_data","scope_description","budget_cost"].forEach(a=>f.add(a)),/drawing|drawings|image|map|design|设计|图像|地图|图纸/u.test(e)&&f.add("design_specification"),/schedule|quality|safety|progress|周期|进度|质量|安全/u.test(e)&&["schedule_quality_safety","technical_specification"].forEach(a=>f.add(a)),/risk|constraints|重点|难点|约束/u.test(e)&&["risk_constraints","addendum","requirement_document"].forEach(a=>f.add(a)),/material|equipment|brand|resource|材料|设备|品牌|资源/u.test(e)&&["resource_recommendation","structured_data","technical_specification"].forEach(a=>f.add(a)),/enterprise|reference|经验|体系/u.test(e)&&["project_overview","technical_specification"].forEach(a=>f.add(a)),f.add("project_overview"),[...f]}(d.roleId,a?.name,a?.description,a?.processingType);b.set(d.filePath,[...new Set([...b.get(d.filePath)||[],...e])])}return[...b.entries()].map(([a,b])=>({filePath:a,roles:b}))}function K(a){return/extract|extraction|抽取|清单|图纸|品牌/u.test(a)?"fact_extraction":/validation|校验|审查|审核/u.test(a)?"validation":/format|排版/u.test(a)?"formatting":/writer|method|schedule|quality|resource|safety|dangerous|施工|进度|质量|资源|安全|危大/u.test(a)?"chapter_generation":"reference"}function L(a){let b=new Set,c=[];for(let d of a){let a=`${d.roleId}:${d.promptId}`;!d.promptId||!d.roleId||b.has(a)||(b.add(a),c.push(d))}return c}function M(a){let b=I(a);if(b){let a=(0,h.XB)("prompt"),c=[];for(let d of[...b.promptRoles].sort((a,b)=>a.order-b.order)){let b=a.find(a=>a.id===d.roleId),e=b?b.resourceIds?.length?b.resourceIds:b.resourceId?[b.resourceId]:[]:[],f=e.length>0?e:function(a,b=""){let c=s(),d=`${a} ${b}`;return c.filter(a=>{let b=a.name||"";return/writer|施工组织|construction-organization/u.test(d)?/施工组织设计总控|总控|施工组织/u.test(b):/method|施工方法/u.test(d)?/施工方法|主要施工/u.test(b):/schedule|quality|进度|工期|质量/u.test(d)?/工期|进度|质量/u.test(b):/resource|人材机|资源/u.test(d)?/人材机|资源|材料|设备/u.test(b):/safety|文明|安全/u.test(d)?/安全|文明/u.test(b):/dangerous|危大/u.test(d)?/危大|危险性/u.test(b):!!/extract|extraction|抽取|清单|图纸|品牌/u.test(d)&&/抽取|识别|清单|图纸|品牌|总控/u.test(b)}).slice(0,2).map(a=>a.id)}(d.roleId,b?.name),g=b?.id||K(d.roleId);c.push(...f.map(a=>({promptId:a,roleId:g})))}if(c.length>0)return L(c)}return a.promptBindings?.length?a.promptBindings:(a.promptIds??[]).map(a=>({promptId:a,roleId:"chapter_generation"}))}function N(a){return a.fileBindings?.length?a.fileBindings:(a.boundFilePaths??[]).map(a=>({filePath:a,roleId:"reference"}))}},56942:(a,b,c)=>{c.d(b,{$:()=>h,R:()=>i});var d=c(81125),e=c(92808);function f(a){return[...new Set(a.filter(Boolean))]}function g(a){let b=(0,e.t0)(a,e.hW);return b.length>0?b:["project_overview"]}function h(a){var b,c,e;let h=a.resolvedRoles.filter(a=>a.required&&!a.satisfied).map(a=>a.role),i=a.resolvedRoles.filter(a=>a.weak).map(a=>a.role),j=(b=a.template,c=a.spec,e=a.summary,b.chapters.map(a=>{let b=function(a,b){let c=b.chapterRules.find(b=>b.id===a.id||b.title===a.title),d=(c?.requiredFactIds||[]).map(a=>b.factFields.find(b=>b.id===a)?.name).filter(Boolean);return f([...a.requiredFacts||[],...d])}(a,c),d=f([...g([a.title,a.purpose,...a.queries||[],...a.sections||[]].join("\n")),...b.flatMap(a=>g(a))]),h=d.filter(a=>(e.materialInventory[a]||[]).length>0),i=h.reduce((a,b)=>a+(e.materialInventory[b]||[]).length,0),j=b.filter(a=>g(a).some(a=>h.includes(a))),k=b.filter(a=>!j.includes(a)),l=b.length>0?j.length/b.length:1,m=d.length>0?h.length/d.length:1;return{chapterId:a.id,title:a.title,requiredFacts:b,coveredFacts:j,missingFacts:k,requiredRoles:d,satisfiedRoles:h,evidenceCount:i,readinessRate:Math.min(1,.5*l+.3*m+.2*(i>0))}})),k=[],l=[];0===a.template.chapters.length&&l.push("模板未配置章节,建议通过模板章节或显式 OUTLINE 提供文档结构"),a.template.chapters.some(a=>!a.purpose&&(!a.queries||0===a.queries.length)&&(!a.requiredFacts||0===a.requiredFacts.length))&&l.push("部分模板章节缺少 purpose、queries 或 requiredFacts,生成质量可能不稳定"),a.summary.source.ambiguous&&k.push(a.summary.source.selectionReason),a.summary.fingerprint.confidence<.34&&l.push("材料指纹置信度较低,建议绑定明确的材料文件"),a.summary.coverage.materialCompletenessRate<.5&&k.push("绑定材料覆盖率过低,无法支撑文档生成"),h.length>0&&l.push(`模板必需材料角色未完全满足:${h.join("、")}`),i.length>0&&l.push(`部分材料角色证据较弱:${i.join("、")}`);let m=j.filter(a=>a.readinessRate<.5);m.length>0&&l.push(`章节级证据覆盖较弱:${m.slice(0,5).map(a=>`${a.title} ${Math.round(100*a.readinessRate)}%`).join("、")}`);let n=j.filter(a=>a.requiredFacts.length>0&&0===a.evidenceCount);n.length>0&&l.push(`部分章节缺少匹配证据:${n.slice(0,5).map(a=>a.title).join("、")}`);let o=[a.spec.factFields.length>0,a.spec.chapterRules.length>0,a.spec.gateRules.length>0];return{ready:0===k.length,materialCoverageRate:a.summary.coverage.materialCompletenessRate,roleSatisfactionRate:(0,d.o)(a.resolvedRoles),specCompletenessRate:o.filter(Boolean).length/o.length,missingRoles:h,weakRoles:i,chapterDiagnostics:j,blockingIssues:k,warnings:l}}function i(a,b={}){let c=a.chapterDiagnostics.filter(a=>a.readinessRate<.7||a.missingFacts.length>0).slice(0,8).map(a=>`${a.title}:${Math.round(100*a.readinessRate)}%,证据 ${a.evidenceCount} 条${a.missingFacts.length?`,缺失 ${a.missingFacts.slice(0,6).join("、")}`:""}`);return b.publicSafe?["## 生成事实使用边界",`资料覆盖程度:${Math.round(100*a.materialCoverageRate)}%`,`资料角色满足程度:${Math.round(100*a.roleSatisfactionRate)}%`,c.length?`章节证据风险:
173
173
  ${c.join("\n")}`:"","资料不足的事实不得编造;仅施工组织、计划安排、资源配置类数据可在文档要求允许时进行计划推导并标注。"].filter(Boolean).join("\n"):["## 后台生成准备度",`可生成:${a.ready?"是":"否"}`,`资料覆盖率:${Math.round(100*a.materialCoverageRate)}%`,`资料角色满足率:${Math.round(100*a.roleSatisfactionRate)}%`,`优化建议完整度:${Math.round(100*a.specCompletenessRate)}%`,a.missingRoles.length?`缺失角色:${a.missingRoles.join("、")}`:"",a.weakRoles.length?`较弱角色:${a.weakRoles.join("、")}`:"",c.length?`章节级证据风险:
174
174
  ${c.join("\n")}`:""].filter(Boolean).join("\n")}},58965:(a,b,c)=>{c.d(b,{$m:()=>f,VX:()=>d,tK:()=>e});let d=/\b(?:TDbPipe|TDbPipeValve|TDbPipeFitting|TDbWellh|AcDb\w+|Dwg\w+|Polyline|Hatch|Layer|BlockReference)\b/giu,e=/[\w\u4e00-\u9fa5()()\-—_+\s]+\.(?:pdf|dwg|docx?|xlsx?|xls|csv|png|jpe?g|webp)\b/giu,f="[零〇一二三四五六七八九十百千万两]+"},70208:(a,b,c)=>{c.d(b,{GQ:()=>l,Ui:()=>j,YZ:()=>m,_9:()=>r,bE:()=>n,bl:()=>i,cs:()=>k,tb:()=>o});var d=c(58965),e=c(52511);function f(a){return 0===a.trim().length}let g="(?:OUTLINE|CHAPTERS?|章节(?:大纲)?|大纲|目录)",h=RegExp(`<\\s*${g}(?:\\s[^>]*)?>([\\s\\S]*?)<\\/\\s*${g}\\s*>`,"giu");function i(a){return RegExp(`^\\s*<\\s*${g}(?:\\s[^>]*)?>`,"iu").test(a)}function j(a){return RegExp(`^\\s*<\\/\\s*${g}\\s*>`,"iu").test(a)}function k(a){for(let b of a){let a=function(a,b,c){let e=[];for(let g of function(a,b){h.lastIndex=0;let c=[...a.matchAll(h)].map(a=>a[1]||"");if(c.length>0||b?.strict)return c;let d=/(?:<\s*)?(?:OUTLINE|CHAPTERS?|章节(?:大纲)?|大纲|目录)\s*>?\s*[::]?\s*([\s\S]*?)(?:<\/\s*(?:OUTLINE|CHAPTERS?|章节(?:大纲)?|大纲|目录)\s*>|END\s+(?:OUTLINE|CHAPTERS?)|$)/iu.exec(a);return d?.[1]?[d[1]]:[]}(a,c))for(let a of function(a){let b=`${d.$m}`,c=[`第(?:\\d{1,3}|${b})[章节]\\s*`,`(?:\\d{1,3})[、))]\\s*`,`(?:\\d{1,3})[..]\\s+(?!\\d)`,`(?:${b})[、..))]\\s*`,`[((](?:\\d{1,3}|${b})[))]\\s*`,"[-*+]\\s+"],e=a.replace(/\r?\n/gu,"\n");for(let a of c)e=(e=(e=e.replace(RegExp(`([;;。!?!?])\\s*(?=${a})`,"gu"),"$1\n")).replace(RegExp(`(?<=\\n)\\s+(?=${a})`,"gu"),"")).replace(RegExp(`(?<![\\d..])\\s+(?=${a})`,"gu"),"\n");return e.split(/\n|;|;/u).map(a=>(function(a){let b=a.trim(),c="";for(;b!==c;)c=b,b=b.replace(RegExp(`^\\s*第(?:\\d{1,3}|${d.$m})[章节]\\s*`,"u"),"").replace(RegExp(`^\\s*[((]?(?:\\d{1,3}|${d.$m})[))、..]\\s*`,"u"),"").replace(RegExp("^\\s*[-*+]\\s+","u"),"").trim();return b.replace(/\s+/gu," ")})(a)).filter(a=>!f(a))}(g))e.push({id:`explicit-${b}-${e.length+1}`,title:a,purpose:`根据显式大纲章节生成正式正文:${a}`,requiredFacts:[],sections:[],queries:[a]});return e.filter(a=>!f(a.title))}(b.text||"",b.source,{strict:b.strict});if(a.length>=2)return a}return[]}function l(a){let b=a.replace(/^#+\s*/u,"").trim(),c="";for(;b&&b!==c;)c=b,b=b.replace(/^第[一二三四五六七八九十百千万\d]+[章节]\s*/u,"").replace(/^\d+(?:\.\d+)*[、..\s]+/u,"").replace(/^[((]?[一二三四五六七八九十]+[))、..\s]+/u,"").trim();return b}function m(a){return l(a.replace(/\s+/gu," ").trim()).replace(/^[,,、;;::。.!!??\-—\s]+/u,"").trim()}function n(a){let b=a.trim(),c=m(b);return!(!c||c.length<2||c.length>50||/^#{3,6}\s*/u.test(b)||/^\|.*\|/u.test(b)||/\|/u.test(c)||/^[,,、;;::。.!!??\-—]/u.test(b)||/[{}<>]|Markdown|JSON|变量|占位符/u.test(c)||/[。;;]$/u.test(c)||/[::]\s*[。;;]?$/u.test(c)||/^(目录|章节|大纲|要求|说明|注意|输出|格式|示例|例如|写法|占位)$/u.test(c)||/(评标委员会|完全满足评审要求|全面梳理与响应|坚实的技术保障)/u.test(c))&&!p(c)}function o(a,b){let c=l(b);return`第${function(a){let b=["零","一","二","三","四","五","六","七","八","九"];if(a<=10)return 10===a?"十":b[a];if(a<20)return`十${b[a%10]}`;if(a<100){let c=Math.floor(a/10),d=a%10;return`${b[c]}十${d?b[d]:""}`}return String(a)}(a+1)}章 ${c}`}function p(a){return/见(?:公告|文件|资料|附件)|按(?:资料|文件|相关要求)|质量标准[::]|范围[::].*依据/u.test(a)}function q(a,b){let c=new Set;return a.filter(a=>{let d=m(a.title);return!(!d||!b?.preserveExplicitOutline&&(c.has(d)||p(d)||b?.template&&(0,e.C1)(d,b.template)))&&(c.add(d),a.title=d,!0)})}function r(a,b,c){return!b||c?.preserveExplicitOutline?q([...a.chapters],{...c,template:a}):q([...a.chapters].map(a=>{let c=l(a.title),d=b.chapterRules.find(b=>b.id===a.id||l(b.title)===c);return{...a,title:c,purpose:a.purpose,requiredFacts:a.requiredFacts||[],queries:[...new Set([...a.queries||[],c,d?.generationHint||"",...a.sections||[]].filter(Boolean))]}}),{...c,template:a})}},78217:(a,b,c)=>{function d(a,b){return Math.ceil(e(a)/f(b))}function e(a){return a.replace(/<[^>]+>/gu,"").replace(/\s+/gu,"").length}function f(a){let b=Number(String(a&&"typography"in a&&a.typography?.bodySize||"").replace(/[^\d.]/gu,""))||14,c=Number(String(a&&"typography"in a&&a.typography?.lineHeight||"").replace(/[^\d.]/gu,""))||22;return b>=14&&c>=22?900:1050}function g(a){let b=a.trim();if(/^\d+(?:\.\d+)?$/u.test(b))return Number(b);let c={零:0,一:1,二:2,两:2,三:3,四:4,五:5,六:6,七:7,八:8,九:9};if("十"===b)return 10;let d=/^([一二两三四五六七八九])?十([一二三四五六七八九])?$/u.exec(b);if(d)return(d[1]?c[d[1]]:1)*10+(d[2]?c[d[2]]:0)}function h(a="",b=""){let c=`${a}${b}`;return/不少于|至少|不低于|以上|起码/u.test(c)?"minimum":/约|大概|左右|大约|约为|附近/u.test(c)?"approximate":"exact"}function i(a){let b=a.title+a.purpose;return/方法|技术|质量|安全|进度|资源|保障|措施|部署|方案|流程|执行/u.test(b)?1.3:/概况|结语|附录/u.test(b)?.75:1}function j(a){let b=a.template.generationSettings||a.template.exportSettings,c=f(a.template.exportSettings||a.template.generationSettings),d=function(a){let b=a.replace(/\s+/gu," "),c=[...b.matchAll(/(不少于|至少|不低于|约为|约|大概|大约|左右|生成|输出|达到|共)?\s*(\d+(?:\.\d+)?|[一二两三四五六七八九十]{1,3})\s*(?:页|頁)\s*(以上|左右|以内|以下)?/gu)],d=[...b.matchAll(/(不少于|至少|不低于|约为|约|大概|大约|左右|生成|输出|达到|共)?\s*(\d+(?:\.\d+)?|[一二两三四五六七八九十]{1,3})\s*(万)?\s*(?:字|字符)\s*(以上|左右|以内|以下)?/gu)],e=c.map(a=>{let b=g(a[2]||"");return Number.isFinite(b)?{value:b,mode:h(a[1],a[3])}:void 0}).filter(a=>!!a).at(-1),f=d.map(a=>{let b=g(a[2]||"");return b?{value:Math.round(b*(a[3]?1e4:1)),mode:h(a[1],a[4])}:void 0}).filter(a=>!!a).at(-1);return{targetPages:e?.value,pageMode:e?.mode,targetChars:f?.value,charMode:f?.mode}}([a.requirement||"",a.promptTexts].join("\n")),e=!!(d.targetChars||d.targetPages),j=e?void 0:b?.targetPages?.target||b?.targetPages?.min,k=d.targetPages?d.targetPages*c:void 0,l=d.targetPages||j,m=e?"explicit":j?"template":a.spec?.chapterRules.some(a=>a.minWords)||a.spec?.dynamicChapterRule.minWordsPerChapter?"spec":"default",n=e?Math.max(d.targetChars||0,k||0)||void 0:Math.max((j?j*c:void 0)||0)||void 0,o=d.pageMode||"exact",p=d.charMode||o,q=e&&"approximate"===p,r=e&&"minimum"===p,s=e?l?Math.floor(l*(r?1:.9)):void 0:b?.targetPages?.min||(l?Math.floor(.95*l):void 0),t=e&&l&&!r?Math.ceil(l*(q?1.15:1.08)):b?.targetPages?.max,u=n?Math.floor(n*(r?1:.9)):s?s*c:void 0,v=n&&!r?Math.ceil(n*(q?1.15:1.08)):t?t*c:void 0,w=a.chapters.length>0?a.chapters:a.template.chapters,x=w.reduce((a,b)=>a+i(b),0)||1,y=new Map,z=w.map(a=>({chapter:a,target:n?Math.round(n*i(a)/x):0})),A=w.reduce((b,c)=>b+Math.max(a.spec?.chapterRules.find(a=>a.id===c.id||a.title===c.title)?.minWords||0,a.spec?.dynamicChapterRule.minWordsPerChapter||0,n?Math.min(900,Math.max(450,Math.floor(n/Math.max(1,w.length)*.35))):1200),0),B=n&&A>.92*n?Math.max(.45,.92*n/A):1;for(let{chapter:b,target:c}of z){let d=Math.floor(Math.max(Math.max(a.spec?.chapterRules.find(a=>a.id===b.id||a.title===b.title)?.minWords||0,a.spec?.dynamicChapterRule.minWordsPerChapter||0),n?Math.min(900,Math.max(450,Math.floor(n/Math.max(1,w.length)*.35))):1200)*B);y.set(b.id,Math.max(d,c))}let C=!!(e&&(r||"exact"===p)&&(n||u||0)>=4e4);return{targetPages:l,minPages:s,maxPages:t,targetChars:n,minChars:u,maxChars:v,charsPerPage:c,chapterTargets:y,source:m,mode:p,longformStrict:C}}function k(a,b){let c=a?.targetPages;if(!c?.min&&!c?.target&&!c?.max)return[];let e=d(b,a),f=c.min||c.target,g=c.max||c.target,h=[];return f&&e<f&&h.push({level:"error",message:`正文篇幅低于目标页数:预计约 ${e} 页,目标不少于 ${f} 页`,suggestion:"请重新生成或增加章节正文深度后再导出正式文件。"}),g&&e>g+4&&h.push({level:"warning",message:`正文篇幅可能超过目标页数:预计约 ${e} 页,目标不超过 ${g} 页`,suggestion:"建议检查是否存在重复段落或过度展开。"}),h}function l(a,b){let{currentChars:c,estimatedPages:d}=m(a,b),e=[];return a.minChars&&c<a.minChars&&e.push({level:"error",message:`正文篇幅低于目标字数:当前 ${c} 字,目标不少于 ${a.minChars} 字`,suggestion:"请继续扩写缺口章节,或降低目标字数/页数后重新生成。"}),a.maxChars&&c>Math.ceil(1.12*a.maxChars)?e.push({level:"error",message:`正文篇幅超过目标字数区间:当前 ${c} 字,建议不超过 ${a.maxChars} 字`,suggestion:"请压缩重复段落、过细小节或过度展开内容后再导出。"}):a.maxChars&&c>a.maxChars&&e.push({level:"warning",message:`正文篇幅超过目标字数区间:当前 ${c} 字,建议不超过 ${a.maxChars} 字`,suggestion:"建议减少重复段落、过细小节或过度展开内容。"}),a.minPages&&d<a.minPages&&e.push({level:"error",message:`正文篇幅低于目标页数:预计约 ${d} 页,目标不少于 ${a.minPages} 页`,suggestion:"请继续扩写正文,或调整导出字号/行距后再导出。"}),a.maxPages&&d>a.maxPages&&e.push({level:"warning",message:`正文篇幅超过目标页数区间:预计约 ${d} 页,建议不超过 ${a.maxPages} 页`,suggestion:"建议压缩过度展开内容或调整目标页数。"}),e}function m(a,b){let c=e(b),d=Math.ceil(c/a.charsPerPage);return{currentChars:c,estimatedPages:d}}c.d(b,{Cv:()=>d,PE:()=>k,V7:()=>e,fW:()=>m,tF:()=>j,ty:()=>l})},81125:(a,b,c)=>{c.d(b,{h:()=>e,o:()=>f});var d=c(92808);function e(a,b){let c=function(a){let b=[a.name,a.category,a.description,a.outputTitle].join("\n"),c=new Set(["project_overview","scope_description"]);return/需求|规则|响应|方案|实施|专项|安全|质量|进度|合规/iu.test(b)&&["requirement_document","structured_data","schedule_quality_safety"].forEach(a=>c.add(a)),/设计|方案|说明|图像|地图|附件/iu.test(b)&&c.add("design_specification"),c}(a);return(function(a){let b=[a.name,a.description,a.outputTitle,...a.chapters.flatMap(a=>[a.title,a.purpose,...a.requiredFacts||[],...a.queries||[]])].join("\n"),c=new Set((0,d.t0)(b,d.hW));return c.add("project_overview"),c.add("scope_description"),[...c]})(a).map(a=>{let d=b.materialInventory[a]||[],e=c.has(a),f=d.length>0,g=f&&d.length<(e?2:1);return{role:a,required:e,satisfied:f,weak:g,evidenceCount:d.length,filePaths:d.map(a=>a.filePath),reason:f?`已匹配 ${d.length} 个资料文件`:e?"必需资料角色缺失":"可选资料角色缺失"}})}function f(a){return a.length?a.filter(a=>a.satisfied).length/a.length:1}},85441:(a,b,c)=>{c.d(b,{F:()=>u,P:()=>s});var d=c(76760),e=c(44533),f=c(92808);let g=["project_overview","requirement_document","addendum","structured_data","design_specification","schedule_quality_safety","scope_description"],h=["project_overview","requirement_document","addendum","structured_data","budget_cost","design_specification","resource_recommendation","schedule_quality_safety","scope_description","technical_specification","risk_constraints"];function i(a){let b=[];for(let c of a)for(let a of c.relativePath.split(/[\\/]/gu))a&&b.push(a);return b}function j(a){return/--|延期到|资料|附件|扫描|目录|汇总|打包|备份|\d{1,2}\.\d{1,2}/u.test(a)}function k(a){return m(a).replace(/^\d+(?:\.\d+)?[-_\s]*/u,"").replace(/^(?:延期到\d+(?:\.\d+)?[-_—–\s]*)+/u,"").trim()}function l(a){let b=new Set,c=[];for(let d of a)!d||b.has(d)||(b.add(d),c.push(d));return c}function m(a){return a.replace(/\.(?:pdf|docx?|xlsx?|xls|dwg)$/iu,"").trim()}function n(a){let b=new Set,c=[];for(let d of i(a)){let a=k(d);!(!/项目|任务|文档|合同|计划|方案|工程/iu.test(a)||a.length<6||b.has(a))&&(!j(a)||/\.\w+$/u.test(d))&&(b.add(a),c.push(a))}return c}function o(a,b){return 0===a.length?b:a.map(a=>m(a.fileName)).join("、")}function p(a,b,c){b.lastIndex=0;let d=new Set,e=[];for(let f of a.matchAll(b)){let a=(f[c]||"").trim();!a||d.has(a)||(d.add(a),e.push(a))}return b.lastIndex=0,e}function q(a){return a.replace(/\\/gu,"/").replace(/^\/+|\/+$/gu,"")}function r(a){let b=q(a).split("/").filter(Boolean);return b.length>1?b[0]:void 0}function s(a,b){let c=(0,e.Yy)(a),m=function(a,b){let c=a.filter(a=>"error"!==a.status),d=new Set((b?.boundFilePaths||[]).map(q)),e=c.filter(a=>d.has(q(a.relativePath)));if(e.length>0){let a=[...new Set(e.map(a=>r(a.relativePath)).filter(Boolean))],b=1===a.length?a[0]:void 0;return{files:e,reason:b?`模板绑定文件定位到资料组:${b}`:"使用模板显式绑定文件作为资料范围",ambiguous:!1}}let f=(b?.requirement||"").trim();if(f){let a=new Map;for(let b of c){let c=r(b.relativePath);if(!c)continue;let d=function(a,b){let c=0;for(let d of a.split(/(?:\s|_|-|—|(|)|\(|\)|【|】|\[|\]|、|,|,)+/u)){let a=d.trim();a.length>=2&&b.includes(a)&&(c+=1)}return c}(c,f);d>0&&a.set(c,(a.get(c)||0)+d)}let b=[...a.entries()].sort((a,b)=>b[1]-a[1])[0];if(b)return{files:c.filter(a=>r(a.relativePath)===b[0]),reason:`需求描述定位到资料组:${b[0]}`,ambiguous:!1}}let g=[...new Set(c.map(a=>r(a.relativePath)).filter(Boolean))];return 1===g.length?{files:c.filter(a=>r(a.relativePath)===g[0]),reason:`知识库单一资料组:${g[0]}`,ambiguous:!1}:{files:c,reason:g.length>1?`未指定资料组,检测到 ${g.length} 个资料组,已阻断生成避免跨项目污染`:"未检测到资料组,使用全部资料",ambiguous:g.length>1}}(c,b),s=m.files,t=function(){let a={};for(let b of h)a[b]=[];return a}(),u=new Map((b?.boundFileRoles||[]).map(a=>[q(a.filePath),a.roles]));for(let a of s){let b=q(a.relativePath),c=[...u.entries()].filter(([a])=>b.endsWith(a)||a.endsWith(b)).flatMap(([,a])=>a);for(let b of[...new Set([...function(a){let b=new Set((0,f.t0)(a,f.hW));return b.add("project_overview"),[...b]}(a.relativePath),...c])])t[b].push({filePath:a.relativePath,fileName:d.basename(a.relativePath),role:b,chunkCount:a.chunkCount})}let v=function(a){let b,c;for(let d of i(a)){let a=k(d);if(/项目|工程/iu.test(a)&&!(a.length<6)){if(/\.\w+$/u.test(d)){b||=a;continue}if(j(a)){c||=a.split(/--/u).filter(a=>/项目|工程/u.test(a)).sort((a,b)=>a.length-b.length)[0]||a;continue}return a}}return b||c||"当前知识库项目"}(s),w=function(a){for(let b of a){let a=b.relativePath.match(/\b\d{4}[A-Z]{2,}\d{4,}\b/u)?.[0];if(a)return a}}(s),x=function(a,b){let c=n(a),d=n(b),e=l(a.map(a=>a.relativePath).join("\n").match(/\b\d{4}[A-Z]{2,}\d{4,}\b/gu)||[]),f=l(a.map(a=>r(a.relativePath)).filter(Boolean)),g=[c.length>0,e.length>0,1===f.length];return{fingerprint:{projectNames:c,documentNos:e,fileGroups:f,confidence:g.filter(Boolean).length/g.length},contaminationCandidates:d.filter(a=>!c.includes(a))}}(s,c),y=function(a){let b=function(a){let b="";for(let c of a)b+=`${c.relativePath}
175
175
  `;return b}(a);return{ownerNames:p(b,/(?:责任主体|委托人|客户|甲方|乙方|需求方|服务方|执行方|负责人)[::]?([^\\/\n,,。;;]{2,40})/gu,1),locationNames:p(b,/(?:项目地点|实施地点|服务地点|交付地点|项目地址|执行地点)[::]?([^\\/\n,,。;;]{2,50})/gu,1),scheduleValues:p(b,/(\d+\s*(?:天|周|个月|月|年|小时)|(?:周期|期限|交付|完成)[^\\/\n,,。;;]{0,30})/gu,1),qualityTargets:p(b,/(?:质量(?:标准|目标|要求)?[::]?[^\\/\n,,。;;]{2,40}|合格|优良)/gu,0)}}(s),z=g.filter(a=>t[a].length>0),A=g.filter(a=>0===t[a].length);return{projectId:v.replace(/[^a-zA-Z0-9\u4e00-\u9fa5_-]/gu,"-").slice(0,80)||"current-project",projectName:v,generatedAt:Date.now(),fingerprint:x.fingerprint,contaminationCandidates:x.contaminationCandidates,source:{totalFiles:c.length,selectedFiles:s.length,selectionReason:m.reason,ambiguous:m.ambiguous},facts:{projectName:v,documentNo:w,scopeDescriptions:t.scope_description.map(a=>a.fileName.replace(/\.(?:pdf|docx?|xlsx?|xls|dwg)$/iu,"")),professionalScopes:[...new Set(t.scope_description.concat(t.design_specification,t.structured_data).map(a=>a.fileName.replace(/\.(?:pdf|docx?|xlsx?|xls|dwg)$/iu,"")))],scheduleRequirement:t.schedule_quality_safety.length?"已识别周期、质量、安全或合规相关资料,生成时应以需求文件、变更说明和技术要求为准。":void 0,qualityRequirement:t.schedule_quality_safety.length?"已识别质量或评价相关资料。":void 0,safetyRequirement:t.schedule_quality_safety.length?"已识别安全或合规相关资料。":void 0,materialBrandRequirement:t.resource_recommendation.length?"已识别资源、材料、设备或品牌相关资料。":void 0,ownerNames:y.ownerNames,locationNames:y.locationNames,scheduleValues:y.scheduleValues,qualityTargets:y.qualityTargets},materialInventory:t,extractedSections:{projectOverview:`绑定材料组:${v}${w?`,文档/任务编号:${w}`:""}。`,scopeSummary:`范围资料:${o(t.scope_description,"未识别到明确范围资料")}。`,designSummary:`设计/方案/说明资料:${o(t.design_specification,"未识别到设计、方案或说明资料")}。`,structuredDataSummary:`结构化数据资料:${o(t.structured_data,"未识别到表格、列表或明细资料")}。`,scheduleQualitySafetySummary:`周期质量安全资料:${o(t.schedule_quality_safety,"未识别到周期、质量或安全专项资料")}。`,constraintsAndRisks:`约束和风险资料:${o(t.risk_constraints,"未识别到重点难点或约束资料")}。`},coverage:{requiredRoles:g,satisfiedRoles:z,missingRoles:A,materialCompletenessRate:g.length?z.length/g.length:1}}}function t(a){return a.replace(/OCR|识别错误|乱码/giu,"资料文字不清").replace(/知识库|提示词|后台|绑定片段|兜底/gu,"项目资料").replace(/PDF|DWG|Excel|XLSX?|DOCX?/giu,"资料文件")}function u(a,b={}){return b.publicSafe?["## 项目资料事实边界",t(a.extractedSections.projectOverview),`明确事实:责任主体 ${a.facts.ownerNames?.join("、")||"资料未明确"};地点 ${a.facts.locationNames?.join("、")||"资料未明确"};周期 ${a.facts.scheduleValues?.join("、")||"资料未明确"};质量 ${a.facts.qualityTargets?.join("、")||"资料未明确"}。`,t(a.extractedSections.scopeSummary),t(a.extractedSections.structuredDataSummary),t(a.extractedSections.designSummary),t(a.extractedSections.scheduleQualitySafetySummary),t(a.extractedSections.constraintsAndRisks),"仅使用资料中明确、可信的事实;资料未明确的工程实体事实不得推导,允许推导的计划配置类数据须明确标注为计划配置值。"].filter(Boolean).join("\n"):["## 后台绑定材料摘要",a.extractedSections.projectOverview,`材料指纹:对象名候选 ${a.fingerprint.projectNames.join("、")||"无"};编号 ${a.fingerprint.documentNos.join("、")||"无"};资料组 ${a.fingerprint.fileGroups.join("、")||"无"};置信度 ${Math.round(100*a.fingerprint.confidence)}%。`,`内容级事实候选:责任主体 ${a.facts.ownerNames?.join("、")||"无"};地点 ${a.facts.locationNames?.join("、")||"无"};周期 ${a.facts.scheduleValues?.join("、")||"无"};质量 ${a.facts.qualityTargets?.join("、")||"无"}。`,a.extractedSections.scopeSummary,a.extractedSections.structuredDataSummary,a.extractedSections.designSummary,a.extractedSections.scheduleQualitySafetySummary,a.extractedSections.constraintsAndRisks,`资料满足率:${Math.round(100*a.coverage.materialCompletenessRate)}%`].join("\n")}},91977:(a,b,c)=>{c.d(b,{I2:()=>g,Lk:()=>e,Uy:()=>f});var d=c(70208);function e(a,b){let c=`${a.filePath}
@@ -1,4 +1,4 @@
1
- exports.id=9301,exports.ids=[9301],exports.modules={1628:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"normalizeDataPath",{enumerable:!0,get:function(){return e}});let d=c(79007);function e(a){return(0,d.pathHasPrefix)(a||"/","/_next/data")&&"/index"===(a=a.replace(/\/_next\/data\/[^/]{1,}/,"").replace(/\.json$/,""))?"/":a}},8833:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getCacheControlHeader",{enumerable:!0,get:function(){return e}});let d=c(47274);function e({revalidate:a,expire:b}){let c="number"==typeof a&&void 0!==b&&a<b?`, stale-while-revalidate=${b-a}`:"";return 0===a?"private, no-cache, no-store, max-age=0, must-revalidate":"number"==typeof a?`s-maxage=${a}${c}`:`s-maxage=${d.CACHE_ONE_YEAR}${c}`}},12606:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{PageSignatureError:function(){return c},RemovedPageError:function(){return d},RemovedUAError:function(){return e}});class c extends Error{constructor({page:a}){super(`The middleware "${a}" accepts an async API directly with the form:
1
+ exports.id=9301,exports.ids=[9301],exports.modules={1628:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"normalizeDataPath",{enumerable:!0,get:function(){return e}});let d=c(79007);function e(a){return(0,d.pathHasPrefix)(a||"/","/_next/data")&&"/index"===(a=a.replace(/\/_next\/data\/[^/]{1,}/,"").replace(/\.json$/,""))?"/":a}},6651:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"RouteKind",{enumerable:!0,get:function(){return c}});var c=function(a){return a.PAGES="PAGES",a.PAGES_API="PAGES_API",a.APP_PAGE="APP_PAGE",a.APP_ROUTE="APP_ROUTE",a.IMAGE="IMAGE",a}({})},8833:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getCacheControlHeader",{enumerable:!0,get:function(){return e}});let d=c(47274);function e({revalidate:a,expire:b}){let c="number"==typeof a&&void 0!==b&&a<b?`, stale-while-revalidate=${b-a}`:"";return 0===a?"private, no-cache, no-store, max-age=0, must-revalidate":"number"==typeof a?`s-maxage=${a}${c}`:`s-maxage=${d.CACHE_ONE_YEAR}${c}`}},12606:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{PageSignatureError:function(){return c},RemovedPageError:function(){return d},RemovedUAError:function(){return e}});class c extends Error{constructor({page:a}){super(`The middleware "${a}" accepts an async API directly with the form:
2
2
 
3
3
  export function middleware(request, event) {
4
4
  return NextResponse.redirect('/new-location')
@@ -9,11 +9,11 @@ exports.id=9301,exports.ids=[9301],exports.modules={1628:(a,b,c)=>{"use strict";
9
9
  Read more: https://nextjs.org/docs/messages/middleware-request-page
10
10
  `)}}class e extends Error{constructor(){super(`The request.ua has been removed in favour of \`userAgent\` function.
11
11
  Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent
12
- `)}}},13653:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{RequestCookies:function(){return d.RequestCookies},ResponseCookies:function(){return d.ResponseCookies},stringifyCookie:function(){return d.stringifyCookie}});let d=c(75097)},14663:(a,b)=>{"use strict";function c(a){return a.isOnDemandRevalidate?"on-demand":a.isRevalidate?"stale":void 0}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getRevalidateReason",{enumerable:!0,get:function(){return c}})},15707:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{fromNodeOutgoingHttpHeaders:function(){return e},normalizeNextQueryParam:function(){return i},splitCookiesString:function(){return f},toNodeOutgoingHttpHeaders:function(){return g},validateURL:function(){return h}});let d=c(47274);function e(a){let b=new Headers;for(let[c,d]of Object.entries(a))for(let a of Array.isArray(d)?d:[d])void 0!==a&&("number"==typeof a&&(a=a.toString()),b.append(c,a));return b}function f(a){var b,c,d,e,f,g=[],h=0;function i(){for(;h<a.length&&/\s/.test(a.charAt(h));)h+=1;return h<a.length}for(;h<a.length;){for(b=h,f=!1;i();)if(","===(c=a.charAt(h))){for(d=h,h+=1,i(),e=h;h<a.length&&"="!==(c=a.charAt(h))&&";"!==c&&","!==c;)h+=1;h<a.length&&"="===a.charAt(h)?(f=!0,h=e,g.push(a.substring(b,d)),b=h):h=d+1}else h+=1;(!f||h>=a.length)&&g.push(a.substring(b,a.length))}return g}function g(a){let b={},c=[];if(a)for(let[d,e]of a.entries())"set-cookie"===d.toLowerCase()?(c.push(...f(e)),b[d]=1===c.length?c[0]:c):b[d]=e;return b}function h(a){try{return String(new URL(String(a)))}catch(b){throw Object.defineProperty(Error(`URL is malformed "${String(a)}". Please use only absolute URLs - https://nextjs.org/docs/messages/middleware-relative-urls`,{cause:b}),"__NEXT_ERROR_CODE",{value:"E61",enumerable:!1,configurable:!0})}}function i(a){for(let b of[d.NEXT_QUERY_PARAM_PREFIX,d.NEXT_INTERCEPTION_MARKER_PREFIX])if(a!==b&&a.startsWith(b))return a.substring(b.length);return null}},17954:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{NEXT_REQUEST_META:function(){return c},addRequestMeta:function(){return f},getRequestMeta:function(){return d},removeRequestMeta:function(){return g},setRequestMeta:function(){return e}});let c=Symbol.for("NextInternalRequestMeta");function d(a,b){let d=a[c]||{};return"string"==typeof b?d[b]:d}function e(a,b){return a[c]=b,b}function f(a,b,c){let f=d(a);return f[b]=c,e(a,f)}function g(a,b){let c=d(a);return delete c[b],e(a,c)}},20614:(a,b)=>{"use strict";function c(a,b){let c;if((null==b?void 0:b.host)&&!Array.isArray(b.host))c=b.host.toString().split(":",1)[0];else{if(!a.hostname)return;c=a.hostname}return c.toLowerCase()}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getHostname",{enumerable:!0,get:function(){return c}})},23026:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{isAbortError:function(){return i},pipeToNodeResponse:function(){return j}});let d=c(34356),e=c(89429),f=c(47392),g=c(34626),h=c(64588);function i(a){return(null==a?void 0:a.name)==="AbortError"||(null==a?void 0:a.name)===d.ResponseAbortedName}async function j(a,b,c){try{let{errored:i,destroyed:j}=b;if(i||j)return;let k=(0,d.createAbortController)(b),l=function(a,b){let c=!1,d=new e.DetachedPromise;function i(){d.resolve()}a.on("drain",i),a.once("close",()=>{a.off("drain",i),d.resolve()});let j=new e.DetachedPromise;return a.once("finish",()=>{j.resolve()}),new WritableStream({write:async b=>{if(!c){if(c=!0,"performance"in globalThis&&process.env.NEXT_OTEL_PERFORMANCE_PREFIX){let a=(0,h.getClientComponentLoaderMetrics)();a&&performance.measure(`${process.env.NEXT_OTEL_PERFORMANCE_PREFIX}:next-client-component-loading`,{start:a.clientComponentLoadStart,end:a.clientComponentLoadStart+a.clientComponentLoadTimes})}a.flushHeaders(),(0,f.getTracer)().trace(g.NextNodeServerSpan.startResponse,{spanName:"start response"},()=>void 0)}try{let c=a.write(b);"flush"in a&&"function"==typeof a.flush&&a.flush(),c||(await d.promise,d=new e.DetachedPromise)}catch(b){throw a.end(),Object.defineProperty(Error("failed to write chunk to response",{cause:b}),"__NEXT_ERROR_CODE",{value:"E321",enumerable:!1,configurable:!0})}},abort:b=>{a.writableFinished||a.destroy(b)},close:async()=>{if(b&&await b,!a.writableFinished)return a.end(),j.promise}})}(b,c);await a.pipeTo(l,{signal:k.signal})}catch(a){if(i(a))return;throw Object.defineProperty(Error("failed to pipe response",{cause:a}),"__NEXT_ERROR_CODE",{value:"E180",enumerable:!1,configurable:!0})}}},25106:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{allowedStatusCodes:function(){return e},getRedirectStatus:function(){return f},modifyRouteRegex:function(){return g}});let d=c(23830),e=new Set([301,302,303,307,308]);function f(a){return a.statusCode||(a.permanent?d.RedirectStatusCode.PermanentRedirect:d.RedirectStatusCode.TemporaryRedirect)}function g(a,b){return b&&(a=a.replace(/\^/,`^(?!${b.map(a=>a.replace(/\//g,"\\/")).join("|")})`)),a=a.replace(/\$$/,"(?:\\/)?$")}},26411:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{DOC_PREFETCH_RANGE_HEADER_VALUE:function(){return d},doesExportedHtmlMatchBuildId:function(){return g},insertBuildIdComment:function(){return f}});let c="<!DOCTYPE html>",d="bytes=0-63";function e(a){return a.slice(0,24).replace(/-/g,"_")}function f(a,b){return b.includes("--\x3e")||!a.startsWith(c)?a:a.replace(c,c+"\x3c!--"+e(b)+"--\x3e")}function g(a,b){return a.startsWith(c+"\x3c!--"+e(b)+"--\x3e")}},27860:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return n}});let d=c(51024),e=c(80649),f=c(90252),g=c(61798),h=c(42811);function i(a,b){if(!a)return b;let c=parseInt(a,10);return Number.isFinite(c)&&c>0?c:b}!function(a,b){Object.keys(a).forEach(function(c){"default"===c||Object.prototype.hasOwnProperty.call(b,c)||Object.defineProperty(b,c,{enumerable:!0,get:function(){return a[c]}})})}(c(80551),b);let j=i(process.env.NEXT_PRIVATE_RESPONSE_CACHE_TTL,1e4),k=i(process.env.NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE,150),l="__ttl_sentinel__";function m(a,b){return`${a}\0${b??l}`}class n{constructor(a,b=k,c=j){this.batcher=d.Batcher.create({cacheKeyFn:({key:a,isOnDemandRevalidate:b})=>`${a}-${b?"1":"0"}`,schedulerFn:g.scheduleOnNextTick}),this.revalidateBatcher=d.Batcher.create({schedulerFn:g.scheduleOnNextTick}),this.evictedInvocationIDs=new Set,this.minimal_mode=a,this.maxSize=b,this.ttl=c,this.cache=new e.LRUCache(b,void 0,a=>{let b=function(a){let b=a.lastIndexOf("\0");if(-1===b)return;let c=a.slice(b+1);return c===l?void 0:c}(a);if(b){if(this.evictedInvocationIDs.size>=100){let a=this.evictedInvocationIDs.values().next().value;a&&this.evictedInvocationIDs.delete(a)}this.evictedInvocationIDs.add(b)}})}async get(a,b,c){if(!a)return b({hasResolved:!1,previousCacheEntry:null});if(this.minimal_mode){let b=m(a,c.invocationID),d=this.cache.get(b);if(d){if(void 0!==c.invocationID)return(0,h.toResponseCacheEntry)(d.entry);let a=Date.now();if(d.expiresAt>a)return(0,h.toResponseCacheEntry)(d.entry);this.cache.remove(b)}c.invocationID&&this.evictedInvocationIDs.has(c.invocationID)&&(0,f.warnOnce)(`Response cache entry was evicted for invocation ${c.invocationID}. Consider increasing NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE (current: ${this.maxSize}).`)}let{incrementalCache:d,isOnDemandRevalidate:e=!1,isFallback:g=!1,isRoutePPREnabled:i=!1,isPrefetch:j=!1,waitUntil:k,routeKind:l,invocationID:n}=c,o=await this.batcher.batch({key:a,isOnDemandRevalidate:e},(c,f)=>{let h=this.handleGet(a,b,{incrementalCache:d,isOnDemandRevalidate:e,isFallback:g,isRoutePPREnabled:i,isPrefetch:j,routeKind:l,invocationID:n},f);return k&&k(h),h});return(0,h.toResponseCacheEntry)(o)}async handleGet(a,b,c,d){let e=null,f=!1;try{if((e=this.minimal_mode?null:await c.incrementalCache.get(a,{kind:(0,h.routeKindToIncrementalCacheKind)(c.routeKind),isRoutePPREnabled:c.isRoutePPREnabled,isFallback:c.isFallback}))&&!c.isOnDemandRevalidate&&(d(e),f=!0,!e.isStale||c.isPrefetch))return e;let g=await this.revalidate(a,c.incrementalCache,c.isRoutePPREnabled,c.isFallback,b,e,null!==e&&!c.isOnDemandRevalidate,void 0,c.invocationID);if(!g){if(this.minimal_mode){let b=m(a,c.invocationID);this.cache.remove(b)}return null}return c.isOnDemandRevalidate,g}catch(a){if(f)return console.error(a),null;throw a}}async revalidate(a,b,c,d,e,f,g,h,i){return this.revalidateBatcher.batch(a,()=>{let j=this.handleRevalidate(a,b,c,d,e,f,g,i);return h&&h(j),j})}async handleRevalidate(a,b,c,d,e,f,g,i){try{let j=await e({hasResolved:g,previousCacheEntry:f,isRevalidating:!0});if(!j)return null;let k=await (0,h.fromResponseCacheEntry)({...j,isMiss:!f});if(k.cacheControl)if(this.minimal_mode){let b=m(a,i);this.cache.set(b,{entry:k,expiresAt:Date.now()+this.ttl})}else await b.set(a,k.value,{cacheControl:k.cacheControl,isRoutePPREnabled:c,isFallback:d});return k}catch(e){if(null==f?void 0:f.cacheControl){let e=Math.min(Math.max(f.cacheControl.revalidate||3,3),30),g=void 0===f.cacheControl.expire?void 0:Math.max(e+3,f.cacheControl.expire);await b.set(a,f.value,{cacheControl:{revalidate:e,expire:g},isRoutePPREnabled:c,isFallback:d})}throw e}}}},29032:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"RouteKind",{enumerable:!0,get:function(){return c}});var c=function(a){return a.PAGES="PAGES",a.PAGES_API="PAGES_API",a.APP_PAGE="APP_PAGE",a.APP_ROUTE="APP_ROUTE",a.IMAGE="IMAGE",a}({})},32151:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"MISSING_ROOT_TAGS_ERROR",{enumerable:!0,get:function(){return c}});let c="NEXT_MISSING_ROOT_TAGS";("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},34356:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{NextRequestAdapter:function(){return l},ResponseAborted:function(){return i},ResponseAbortedName:function(){return h},createAbortController:function(){return j},signalFromNodeResponse:function(){return k}});let d=c(17954),e=c(15707),f=c(71927),g=c(76017),h="ResponseAborted";class i extends Error{constructor(...a){super(...a),this.name=h}}function j(a){let b=new AbortController;return a.once("close",()=>{a.writableFinished||b.abort(new i)}),b}function k(a){let{errored:b,destroyed:c}=a;if(b||c)return AbortSignal.abort(b??new i);let{signal:d}=j(a);return d}class l{static fromBaseNextRequest(a,b){if((0,g.isNodeNextRequest)(a))return l.fromNodeNextRequest(a,b);throw Object.defineProperty(Error("Invariant: Unsupported NextRequest type"),"__NEXT_ERROR_CODE",{value:"E345",enumerable:!1,configurable:!0})}static fromNodeNextRequest(a,b){let c,g=null;if("GET"!==a.method&&"HEAD"!==a.method&&a.body&&(g=a.body),a.url.startsWith("http"))c=new URL(a.url);else{let b=(0,d.getRequestMeta)(a,"initURL");c=b&&b.startsWith("http")?new URL(a.url,b):new URL(a.url,"http://n")}return new f.NextRequest(c,{method:a.method,headers:(0,e.fromNodeOutgoingHttpHeaders)(a.headers),duplex:"half",signal:b,...b.aborted?{}:{body:g}})}static fromWebNextRequest(a){let b=null;return"GET"!==a.method&&"HEAD"!==a.method&&(b=a.body),new f.NextRequest(a.url,{method:a.method,headers:(0,e.fromNodeOutgoingHttpHeaders)(a.headers),duplex:"half",signal:a.request.signal,...a.request.signal.aborted?{}:{body:b}})}}},42811:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{fromResponseCacheEntry:function(){return h},routeKindToIncrementalCacheKind:function(){return j},toResponseCacheEntry:function(){return i}});let d=c(80551),e=function(a){return a&&a.__esModule?a:{default:a}}(c(62153)),f=c(29032),g=c(47274);async function h(a){var b,c;return{...a,value:(null==(b=a.value)?void 0:b.kind)===d.CachedRouteKind.PAGES?{kind:d.CachedRouteKind.PAGES,html:await a.value.html.toUnchunkedString(!0),pageData:a.value.pageData,headers:a.value.headers,status:a.value.status}:(null==(c=a.value)?void 0:c.kind)===d.CachedRouteKind.APP_PAGE?{kind:d.CachedRouteKind.APP_PAGE,html:await a.value.html.toUnchunkedString(!0),postponed:a.value.postponed,rscData:a.value.rscData,headers:a.value.headers,status:a.value.status,segmentData:a.value.segmentData}:a.value}}async function i(a){var b,c;return a?{isMiss:a.isMiss,isStale:a.isStale,cacheControl:a.cacheControl,value:(null==(b=a.value)?void 0:b.kind)===d.CachedRouteKind.PAGES?{kind:d.CachedRouteKind.PAGES,html:e.default.fromStatic(a.value.html,g.HTML_CONTENT_TYPE_HEADER),pageData:a.value.pageData,headers:a.value.headers,status:a.value.status}:(null==(c=a.value)?void 0:c.kind)===d.CachedRouteKind.APP_PAGE?{kind:d.CachedRouteKind.APP_PAGE,html:e.default.fromStatic(a.value.html,g.HTML_CONTENT_TYPE_HEADER),rscData:a.value.rscData,headers:a.value.headers,status:a.value.status,postponed:a.value.postponed,segmentData:a.value.segmentData}:a.value}:null}function j(a){switch(a){case f.RouteKind.PAGES:return d.IncrementalCacheKind.PAGES;case f.RouteKind.APP_PAGE:return d.IncrementalCacheKind.APP_PAGE;case f.RouteKind.IMAGE:return d.IncrementalCacheKind.IMAGE;case f.RouteKind.APP_ROUTE:return d.IncrementalCacheKind.APP_ROUTE;case f.RouteKind.PAGES_API:throw Object.defineProperty(Error(`Unexpected route kind ${a}`),"__NEXT_ERROR_CODE",{value:"E64",enumerable:!1,configurable:!0});default:return a}}},43357:(a,b)=>{"use strict";function c(a){return a.default||a}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"interopDefault",{enumerable:!0,get:function(){return c}})},44576:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ENCODED_TAGS",{enumerable:!0,get:function(){return c}});let c={OPENING:{HTML:new Uint8Array([60,104,116,109,108]),BODY:new Uint8Array([60,98,111,100,121])},CLOSED:{HEAD:new Uint8Array([60,47,104,101,97,100,62]),BODY:new Uint8Array([60,47,98,111,100,121,62]),HTML:new Uint8Array([60,47,104,116,109,108,62]),BODY_AND_HTML:new Uint8Array([60,47,98,111,100,121,62,60,47,104,116,109,108,62])},META:{ICON_MARK:new Uint8Array([60,109,101,116,97,32,110,97,109,101,61,34,194,171,110,120,116,45,105,99,111,110,194,187,34])}}},47366:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{sendEtagResponse:function(){return i},sendRenderResult:function(){return j}});let d=c(8423),e=c(92486),f=function(a){return a&&a.__esModule?a:{default:a}}(c(60746)),g=c(8833),h=c(47274);function i(a,b,c){return c&&b.setHeader("ETag",c),!!(0,f.default)(a.headers,{etag:c})&&(b.statusCode=304,b.end(),!0)}async function j({req:a,res:b,result:c,generateEtags:f,poweredByHeader:j,cacheControl:k}){if((0,d.isResSent)(b))return;j&&c.contentType===h.HTML_CONTENT_TYPE_HEADER&&b.setHeader("X-Powered-By","Next.js"),k&&!b.getHeader("Cache-Control")&&b.setHeader("Cache-Control",(0,g.getCacheControlHeader)(k));let l=c.isDynamic?null:c.toUnchunkedString();if(!(f&&null!==l&&i(a,b,(0,e.generateETag)(l))))return(!b.getHeader("Content-Type")&&c.contentType&&b.setHeader("Content-Type",c.contentType),l&&b.setHeader("Content-Length",Buffer.byteLength(l)),"HEAD"===a.method)?void b.end(null):null!==l?void b.end(l):void await c.pipeToNodeResponse(b)}},48130:(a,b)=>{"use strict";function c(a,b,c){if(a)for(let f of(c&&(c=c.toLowerCase()),a)){var d,e;if(b===(null==(d=f.domain)?void 0:d.split(":",1)[0].toLowerCase())||c===f.defaultLocale.toLowerCase()||(null==(e=f.locales)?void 0:e.some(a=>a.toLowerCase()===c)))return f}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"detectDomainLocale",{enumerable:!0,get:function(){return c}})},49391:(a,b)=>{"use strict";Object.defineProperty(b,"M",{enumerable:!0,get:function(){return function a(b,c){return c in b?b[c]:"then"in b&&"function"==typeof b.then?b.then(b=>a(b,c)):"function"==typeof b&&"default"===c?b:void 0}}})},51024:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"Batcher",{enumerable:!0,get:function(){return e}});let d=c(89429);class e{constructor(a,b=a=>a()){this.cacheKeyFn=a,this.schedulerFn=b,this.pending=new Map}static create(a){return new e(null==a?void 0:a.cacheKeyFn,null==a?void 0:a.schedulerFn)}async batch(a,b){let c=this.cacheKeyFn?await this.cacheKeyFn(a):a;if(null===c)return b(c,Promise.resolve);let e=this.pending.get(c);if(e)return e;let{promise:f,resolve:g,reject:h}=new d.DetachedPromise;return this.pending.set(c,f),this.schedulerFn(async()=>{try{let a=await b(c,g);g(a)}catch(a){h(a)}finally{this.pending.delete(c)}}),f}}},54547:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"NextURL",{enumerable:!0,get:function(){return k}});let d=c(48130),e=c(26975),f=c(20614),g=c(13712),h=/(?!^https?:\/\/)(127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|\[::1\]|localhost)/;function i(a,b){return new URL(String(a).replace(h,"localhost"),b&&String(b).replace(h,"localhost"))}let j=Symbol("NextURLInternal");class k{constructor(a,b,c){let d,e;"object"==typeof b&&"pathname"in b||"string"==typeof b?(d=b,e=c||{}):e=c||b||{},this[j]={url:i(a,d??e.base),options:e,basePath:""},this.analyze()}analyze(){var a,b,c,e,h;let i=(0,g.getNextPathnameInfo)(this[j].url.pathname,{nextConfig:this[j].options.nextConfig,parseData:!0,i18nProvider:this[j].options.i18nProvider}),k=(0,f.getHostname)(this[j].url,this[j].options.headers);this[j].domainLocale=this[j].options.i18nProvider?this[j].options.i18nProvider.detectDomainLocale(k):(0,d.detectDomainLocale)(null==(b=this[j].options.nextConfig)||null==(a=b.i18n)?void 0:a.domains,k);let l=(null==(c=this[j].domainLocale)?void 0:c.defaultLocale)||(null==(h=this[j].options.nextConfig)||null==(e=h.i18n)?void 0:e.defaultLocale);this[j].url.pathname=i.pathname,this[j].defaultLocale=l,this[j].basePath=i.basePath??"",this[j].buildId=i.buildId,this[j].locale=i.locale??l,this[j].trailingSlash=i.trailingSlash}formatPathname(){return(0,e.formatNextPathnameInfo)({basePath:this[j].basePath,buildId:this[j].buildId,defaultLocale:this[j].options.forceLocale?void 0:this[j].defaultLocale,locale:this[j].locale,pathname:this[j].url.pathname,trailingSlash:this[j].trailingSlash})}formatSearch(){return this[j].url.search}get buildId(){return this[j].buildId}set buildId(a){this[j].buildId=a}get locale(){return this[j].locale??""}set locale(a){var b,c;if(!this[j].locale||!(null==(c=this[j].options.nextConfig)||null==(b=c.i18n)?void 0:b.locales.includes(a)))throw Object.defineProperty(TypeError(`The NextURL configuration includes no locale "${a}"`),"__NEXT_ERROR_CODE",{value:"E597",enumerable:!1,configurable:!0});this[j].locale=a}get defaultLocale(){return this[j].defaultLocale}get domainLocale(){return this[j].domainLocale}get searchParams(){return this[j].url.searchParams}get host(){return this[j].url.host}set host(a){this[j].url.host=a}get hostname(){return this[j].url.hostname}set hostname(a){this[j].url.hostname=a}get port(){return this[j].url.port}set port(a){this[j].url.port=a}get protocol(){return this[j].url.protocol}set protocol(a){this[j].url.protocol=a}get href(){let a=this.formatPathname(),b=this.formatSearch();return`${this.protocol}//${this.host}${a}${b}${this.hash}`}set href(a){this[j].url=i(a),this.analyze()}get origin(){return this[j].url.origin}get pathname(){return this[j].url.pathname}set pathname(a){this[j].url.pathname=a}get hash(){return this[j].url.hash}set hash(a){this[j].url.hash=a}get search(){return this[j].url.search}set search(a){this[j].url.search=a}get password(){return this[j].url.password}set password(a){this[j].url.password=a}get username(){return this[j].url.username}set username(a){this[j].url.username=a}get basePath(){return this[j].basePath}set basePath(a){this[j].basePath=a.startsWith("/")?a:`/${a}`}toString(){return this.href}toJSON(){return this.href}[Symbol.for("edge-runtime.inspect.custom")](){return{href:this.href,origin:this.origin,protocol:this.protocol,username:this.username,password:this.password,host:this.host,hostname:this.hostname,port:this.port,pathname:this.pathname,search:this.search,searchParams:this.searchParams,hash:this.hash}}clone(){return new k(String(this),this[j].options)}}},60746:a=>{(()=>{"use strict";var b={695:a=>{var b=/(?:^|,)\s*?no-cache\s*?(?:,|$)/;function c(a){var b=a&&Date.parse(a);return"number"==typeof b?b:NaN}a.exports=function(a,d){var e=a["if-modified-since"],f=a["if-none-match"];if(!e&&!f)return!1;var g=a["cache-control"];if(g&&b.test(g))return!1;if(f&&"*"!==f){var h=d.etag;if(!h)return!1;for(var i=!0,j=function(a){for(var b=0,c=[],d=0,e=0,f=a.length;e<f;e++)switch(a.charCodeAt(e)){case 32:d===b&&(d=b=e+1);break;case 44:c.push(a.substring(d,b)),d=b=e+1;break;default:b=e+1}return c.push(a.substring(d,b)),c}(f),k=0;k<j.length;k++){var l=j[k];if(l===h||l==="W/"+h||"W/"+l===h){i=!1;break}}if(i)return!1}if(e){var m=d["last-modified"];if(!m||!(c(m)<=c(e)))return!1}return!0}}},c={};function d(a){var e=c[a];if(void 0!==e)return e.exports;var f=c[a]={exports:{}},g=!0;try{b[a](f,f.exports,d),g=!1}finally{g&&delete c[a]}return f.exports}d.ab=__dirname+"/",a.exports=d(695)})()},62153:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return g}});let d=c(63754),e=c(23026),f=c(99257);class g{static #a=this.EMPTY=new g(null,{metadata:{},contentType:null});static fromStatic(a,b){return new g(a,{metadata:{},contentType:b})}constructor(a,{contentType:b,waitUntil:c,metadata:d}){this.response=a,this.contentType=b,this.metadata=d,this.waitUntil=c}assignMetadata(a){Object.assign(this.metadata,a)}get isNull(){return null===this.response}get isDynamic(){return"string"!=typeof this.response}toUnchunkedString(a=!1){if(null===this.response)return"";if("string"!=typeof this.response){if(!a)throw Object.defineProperty(new f.InvariantError("dynamic responses cannot be unchunked. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E732",enumerable:!1,configurable:!0});return(0,d.streamToString)(this.readable)}return this.response}get readable(){return null===this.response?new ReadableStream({start(a){a.close()}}):"string"==typeof this.response?(0,d.streamFromString)(this.response):Buffer.isBuffer(this.response)?(0,d.streamFromBuffer)(this.response):Array.isArray(this.response)?(0,d.chainStreams)(...this.response):this.response}coerce(){return null===this.response?[]:"string"==typeof this.response?[(0,d.streamFromString)(this.response)]:Array.isArray(this.response)?this.response:Buffer.isBuffer(this.response)?[(0,d.streamFromBuffer)(this.response)]:[this.response]}unshift(a){this.response=this.coerce(),this.response.unshift(a)}push(a){this.response=this.coerce(),this.response.push(a)}async pipeTo(a){try{await this.readable.pipeTo(a,{preventClose:!0}),this.waitUntil&&await this.waitUntil,await a.close()}catch(b){if((0,e.isAbortError)(b))return void await a.abort(b);throw b}}async pipeToNodeResponse(a){await (0,e.pipeToNodeResponse)(this.readable,a,this.waitUntil)}}},63754:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{chainStreams:function(){return n},continueDynamicHTMLResume:function(){return E},continueDynamicPrerender:function(){return C},continueFizzStream:function(){return B},continueStaticPrerender:function(){return D},createBufferedTransformStream:function(){return s},createDocumentClosingStream:function(){return F},createRootLayoutValidatorStream:function(){return A},renderToInitialFizzStream:function(){return u},streamFromBuffer:function(){return p},streamFromString:function(){return o},streamToBuffer:function(){return q},streamToString:function(){return r}});let d=c(47392),e=c(34626),f=c(89429),g=c(61798),h=c(44576),i=c(64887),j=c(32151),k=c(26411);function l(){}let m=new TextEncoder;function n(...a){if(0===a.length)return new ReadableStream({start(a){a.close()}});if(1===a.length)return a[0];let{readable:b,writable:c}=new TransformStream,d=a[0].pipeTo(c,{preventClose:!0}),e=1;for(;e<a.length-1;e++){let b=a[e];d=d.then(()=>b.pipeTo(c,{preventClose:!0}))}let f=a[e];return(d=d.then(()=>f.pipeTo(c))).catch(l),b}function o(a){return new ReadableStream({start(b){b.enqueue(m.encode(a)),b.close()}})}function p(a){return new ReadableStream({start(b){b.enqueue(a),b.close()}})}async function q(a){let b=a.getReader(),c=[];for(;;){let{done:a,value:d}=await b.read();if(a)break;c.push(d)}return Buffer.concat(c)}async function r(a,b){let c=new TextDecoder("utf-8",{fatal:!0}),d="";for await(let e of a){if(null==b?void 0:b.aborted)return d;d+=c.decode(e,{stream:!0})}return d+c.decode()}function s(){let a,b=[],c=0;return new TransformStream({transform(d,e){b.push(d),c+=d.byteLength,(d=>{if(a)return;let e=new f.DetachedPromise;a=e,(0,g.scheduleImmediate)(()=>{try{let a=new Uint8Array(c),e=0;for(let c=0;c<b.length;c++){let d=b[c];a.set(d,e),e+=d.byteLength}b.length=0,c=0,d.enqueue(a)}catch{}finally{a=void 0,e.resolve()}})})(e)},flush(){if(a)return a.promise}})}function t(a,b){let c=!1;return new TransformStream({transform(d,e){if(a&&!c){c=!0;let a=new TextDecoder("utf-8",{fatal:!0}).decode(d,{stream:!0}),f=(0,k.insertBuildIdComment)(a,b);e.enqueue(m.encode(f));return}e.enqueue(d)}})}function u({ReactDOMServer:a,element:b,streamOptions:c}){return(0,d.getTracer)().trace(e.AppRenderSpan.renderToReadableStream,async()=>a.renderToReadableStream(b,c))}function v(a){let b=-1,c=!1;return new TransformStream({async transform(d,e){let f=-1,g=-1;if(b++,c)return void e.enqueue(d);let j=0;if(-1===f){if(-1===(f=(0,i.indexOfUint8Array)(d,h.ENCODED_TAGS.META.ICON_MARK)))return void e.enqueue(d);47===d[f+(j=h.ENCODED_TAGS.META.ICON_MARK.length)]?j+=2:j++}if(0===b){if(g=(0,i.indexOfUint8Array)(d,h.ENCODED_TAGS.CLOSED.HEAD),-1!==f){if(f<g){let a=new Uint8Array(d.length-j);a.set(d.subarray(0,f)),a.set(d.subarray(f+j),f),d=a}else{let b=await a(),c=m.encode(b),e=c.length,g=new Uint8Array(d.length-j+e);g.set(d.subarray(0,f)),g.set(c,f),g.set(d.subarray(f+j),f+e),d=g}c=!0}}else{let b=await a(),e=m.encode(b),g=e.length,h=new Uint8Array(d.length-j+g);h.set(d.subarray(0,f)),h.set(e,f),h.set(d.subarray(f+j),f+g),d=h,c=!0}e.enqueue(d)}})}function w(a){let b=!1,c=!1;return new TransformStream({async transform(d,e){c=!0;let f=await a();if(b){if(f){let a=m.encode(f);e.enqueue(a)}e.enqueue(d)}else{let a=(0,i.indexOfUint8Array)(d,h.ENCODED_TAGS.CLOSED.HEAD);if(-1!==a){if(f){let b=m.encode(f),c=new Uint8Array(d.length+b.length);c.set(d.slice(0,a)),c.set(b,a),c.set(d.slice(a),a+b.length),e.enqueue(c)}else e.enqueue(d);b=!0}else f&&e.enqueue(m.encode(f)),e.enqueue(d),b=!0}},async flush(b){if(c){let c=await a();c&&b.enqueue(m.encode(c))}}})}function x(a,b){let c=!1,d=null,e=!1;function f(a){return d||(d=h(a)),d}async function h(d){let f=a.getReader();b&&await (0,g.atLeastOneTask)();try{for(;;){let{done:a,value:h}=await f.read();if(a){e=!0;return}b||c||await (0,g.atLeastOneTask)(),d.enqueue(h)}}catch(a){d.error(a)}}return new TransformStream({start(a){b||f(a)},transform(a,c){c.enqueue(a),b&&f(c)},flush(a){if(c=!0,!e)return f(a)}})}let y="</body></html>";function z(){let a=!1;return new TransformStream({transform(b,c){if(a)return c.enqueue(b);let d=(0,i.indexOfUint8Array)(b,h.ENCODED_TAGS.CLOSED.BODY_AND_HTML);if(d>-1){if(a=!0,b.length===h.ENCODED_TAGS.CLOSED.BODY_AND_HTML.length)return;let e=b.slice(0,d);if(c.enqueue(e),b.length>h.ENCODED_TAGS.CLOSED.BODY_AND_HTML.length+d){let a=b.slice(d+h.ENCODED_TAGS.CLOSED.BODY_AND_HTML.length);c.enqueue(a)}}else c.enqueue(b)},flush(a){a.enqueue(h.ENCODED_TAGS.CLOSED.BODY_AND_HTML)}})}function A(){let a=!1,b=!1;return new TransformStream({async transform(c,d){!a&&(0,i.indexOfUint8Array)(c,h.ENCODED_TAGS.OPENING.HTML)>-1&&(a=!0),!b&&(0,i.indexOfUint8Array)(c,h.ENCODED_TAGS.OPENING.BODY)>-1&&(b=!0),d.enqueue(c)},flush(c){let d=[];a||d.push("html"),b||d.push("body"),d.length&&c.enqueue(m.encode(`<html id="__next_error__">
12
+ `)}}},13653:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{RequestCookies:function(){return d.RequestCookies},ResponseCookies:function(){return d.ResponseCookies},stringifyCookie:function(){return d.stringifyCookie}});let d=c(75097)},14663:(a,b)=>{"use strict";function c(a){return a.isOnDemandRevalidate?"on-demand":a.isRevalidate?"stale":void 0}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getRevalidateReason",{enumerable:!0,get:function(){return c}})},15707:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{fromNodeOutgoingHttpHeaders:function(){return e},normalizeNextQueryParam:function(){return i},splitCookiesString:function(){return f},toNodeOutgoingHttpHeaders:function(){return g},validateURL:function(){return h}});let d=c(47274);function e(a){let b=new Headers;for(let[c,d]of Object.entries(a))for(let a of Array.isArray(d)?d:[d])void 0!==a&&("number"==typeof a&&(a=a.toString()),b.append(c,a));return b}function f(a){var b,c,d,e,f,g=[],h=0;function i(){for(;h<a.length&&/\s/.test(a.charAt(h));)h+=1;return h<a.length}for(;h<a.length;){for(b=h,f=!1;i();)if(","===(c=a.charAt(h))){for(d=h,h+=1,i(),e=h;h<a.length&&"="!==(c=a.charAt(h))&&";"!==c&&","!==c;)h+=1;h<a.length&&"="===a.charAt(h)?(f=!0,h=e,g.push(a.substring(b,d)),b=h):h=d+1}else h+=1;(!f||h>=a.length)&&g.push(a.substring(b,a.length))}return g}function g(a){let b={},c=[];if(a)for(let[d,e]of a.entries())"set-cookie"===d.toLowerCase()?(c.push(...f(e)),b[d]=1===c.length?c[0]:c):b[d]=e;return b}function h(a){try{return String(new URL(String(a)))}catch(b){throw Object.defineProperty(Error(`URL is malformed "${String(a)}". Please use only absolute URLs - https://nextjs.org/docs/messages/middleware-relative-urls`,{cause:b}),"__NEXT_ERROR_CODE",{value:"E61",enumerable:!1,configurable:!0})}}function i(a){for(let b of[d.NEXT_QUERY_PARAM_PREFIX,d.NEXT_INTERCEPTION_MARKER_PREFIX])if(a!==b&&a.startsWith(b))return a.substring(b.length);return null}},17954:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{NEXT_REQUEST_META:function(){return c},addRequestMeta:function(){return f},getRequestMeta:function(){return d},removeRequestMeta:function(){return g},setRequestMeta:function(){return e}});let c=Symbol.for("NextInternalRequestMeta");function d(a,b){let d=a[c]||{};return"string"==typeof b?d[b]:d}function e(a,b){return a[c]=b,b}function f(a,b,c){let f=d(a);return f[b]=c,e(a,f)}function g(a,b){let c=d(a);return delete c[b],e(a,c)}},20614:(a,b)=>{"use strict";function c(a,b){let c;if((null==b?void 0:b.host)&&!Array.isArray(b.host))c=b.host.toString().split(":",1)[0];else{if(!a.hostname)return;c=a.hostname}return c.toLowerCase()}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getHostname",{enumerable:!0,get:function(){return c}})},23026:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{isAbortError:function(){return i},pipeToNodeResponse:function(){return j}});let d=c(34356),e=c(89429),f=c(47392),g=c(34626),h=c(64588);function i(a){return(null==a?void 0:a.name)==="AbortError"||(null==a?void 0:a.name)===d.ResponseAbortedName}async function j(a,b,c){try{let{errored:i,destroyed:j}=b;if(i||j)return;let k=(0,d.createAbortController)(b),l=function(a,b){let c=!1,d=new e.DetachedPromise;function i(){d.resolve()}a.on("drain",i),a.once("close",()=>{a.off("drain",i),d.resolve()});let j=new e.DetachedPromise;return a.once("finish",()=>{j.resolve()}),new WritableStream({write:async b=>{if(!c){if(c=!0,"performance"in globalThis&&process.env.NEXT_OTEL_PERFORMANCE_PREFIX){let a=(0,h.getClientComponentLoaderMetrics)();a&&performance.measure(`${process.env.NEXT_OTEL_PERFORMANCE_PREFIX}:next-client-component-loading`,{start:a.clientComponentLoadStart,end:a.clientComponentLoadStart+a.clientComponentLoadTimes})}a.flushHeaders(),(0,f.getTracer)().trace(g.NextNodeServerSpan.startResponse,{spanName:"start response"},()=>void 0)}try{let c=a.write(b);"flush"in a&&"function"==typeof a.flush&&a.flush(),c||(await d.promise,d=new e.DetachedPromise)}catch(b){throw a.end(),Object.defineProperty(Error("failed to write chunk to response",{cause:b}),"__NEXT_ERROR_CODE",{value:"E321",enumerable:!1,configurable:!0})}},abort:b=>{a.writableFinished||a.destroy(b)},close:async()=>{if(b&&await b,!a.writableFinished)return a.end(),j.promise}})}(b,c);await a.pipeTo(l,{signal:k.signal})}catch(a){if(i(a))return;throw Object.defineProperty(Error("failed to pipe response",{cause:a}),"__NEXT_ERROR_CODE",{value:"E180",enumerable:!1,configurable:!0})}}},25106:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{allowedStatusCodes:function(){return e},getRedirectStatus:function(){return f},modifyRouteRegex:function(){return g}});let d=c(23830),e=new Set([301,302,303,307,308]);function f(a){return a.statusCode||(a.permanent?d.RedirectStatusCode.PermanentRedirect:d.RedirectStatusCode.TemporaryRedirect)}function g(a,b){return b&&(a=a.replace(/\^/,`^(?!${b.map(a=>a.replace(/\//g,"\\/")).join("|")})`)),a=a.replace(/\$$/,"(?:\\/)?$")}},26411:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{DOC_PREFETCH_RANGE_HEADER_VALUE:function(){return d},doesExportedHtmlMatchBuildId:function(){return g},insertBuildIdComment:function(){return f}});let c="<!DOCTYPE html>",d="bytes=0-63";function e(a){return a.slice(0,24).replace(/-/g,"_")}function f(a,b){return b.includes("--\x3e")||!a.startsWith(c)?a:a.replace(c,c+"\x3c!--"+e(b)+"--\x3e")}function g(a,b){return a.startsWith(c+"\x3c!--"+e(b)+"--\x3e")}},27860:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return n}});let d=c(51024),e=c(80649),f=c(90252),g=c(61798),h=c(42811);function i(a,b){if(!a)return b;let c=parseInt(a,10);return Number.isFinite(c)&&c>0?c:b}!function(a,b){Object.keys(a).forEach(function(c){"default"===c||Object.prototype.hasOwnProperty.call(b,c)||Object.defineProperty(b,c,{enumerable:!0,get:function(){return a[c]}})})}(c(80551),b);let j=i(process.env.NEXT_PRIVATE_RESPONSE_CACHE_TTL,1e4),k=i(process.env.NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE,150),l="__ttl_sentinel__";function m(a,b){return`${a}\0${b??l}`}class n{constructor(a,b=k,c=j){this.batcher=d.Batcher.create({cacheKeyFn:({key:a,isOnDemandRevalidate:b})=>`${a}-${b?"1":"0"}`,schedulerFn:g.scheduleOnNextTick}),this.revalidateBatcher=d.Batcher.create({schedulerFn:g.scheduleOnNextTick}),this.evictedInvocationIDs=new Set,this.minimal_mode=a,this.maxSize=b,this.ttl=c,this.cache=new e.LRUCache(b,void 0,a=>{let b=function(a){let b=a.lastIndexOf("\0");if(-1===b)return;let c=a.slice(b+1);return c===l?void 0:c}(a);if(b){if(this.evictedInvocationIDs.size>=100){let a=this.evictedInvocationIDs.values().next().value;a&&this.evictedInvocationIDs.delete(a)}this.evictedInvocationIDs.add(b)}})}async get(a,b,c){if(!a)return b({hasResolved:!1,previousCacheEntry:null});if(this.minimal_mode){let b=m(a,c.invocationID),d=this.cache.get(b);if(d){if(void 0!==c.invocationID)return(0,h.toResponseCacheEntry)(d.entry);let a=Date.now();if(d.expiresAt>a)return(0,h.toResponseCacheEntry)(d.entry);this.cache.remove(b)}c.invocationID&&this.evictedInvocationIDs.has(c.invocationID)&&(0,f.warnOnce)(`Response cache entry was evicted for invocation ${c.invocationID}. Consider increasing NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE (current: ${this.maxSize}).`)}let{incrementalCache:d,isOnDemandRevalidate:e=!1,isFallback:g=!1,isRoutePPREnabled:i=!1,isPrefetch:j=!1,waitUntil:k,routeKind:l,invocationID:n}=c,o=await this.batcher.batch({key:a,isOnDemandRevalidate:e},(c,f)=>{let h=this.handleGet(a,b,{incrementalCache:d,isOnDemandRevalidate:e,isFallback:g,isRoutePPREnabled:i,isPrefetch:j,routeKind:l,invocationID:n},f);return k&&k(h),h});return(0,h.toResponseCacheEntry)(o)}async handleGet(a,b,c,d){let e=null,f=!1;try{if((e=this.minimal_mode?null:await c.incrementalCache.get(a,{kind:(0,h.routeKindToIncrementalCacheKind)(c.routeKind),isRoutePPREnabled:c.isRoutePPREnabled,isFallback:c.isFallback}))&&!c.isOnDemandRevalidate&&(d(e),f=!0,!e.isStale||c.isPrefetch))return e;let g=await this.revalidate(a,c.incrementalCache,c.isRoutePPREnabled,c.isFallback,b,e,null!==e&&!c.isOnDemandRevalidate,void 0,c.invocationID);if(!g){if(this.minimal_mode){let b=m(a,c.invocationID);this.cache.remove(b)}return null}return c.isOnDemandRevalidate,g}catch(a){if(f)return console.error(a),null;throw a}}async revalidate(a,b,c,d,e,f,g,h,i){return this.revalidateBatcher.batch(a,()=>{let j=this.handleRevalidate(a,b,c,d,e,f,g,i);return h&&h(j),j})}async handleRevalidate(a,b,c,d,e,f,g,i){try{let j=await e({hasResolved:g,previousCacheEntry:f,isRevalidating:!0});if(!j)return null;let k=await (0,h.fromResponseCacheEntry)({...j,isMiss:!f});if(k.cacheControl)if(this.minimal_mode){let b=m(a,i);this.cache.set(b,{entry:k,expiresAt:Date.now()+this.ttl})}else await b.set(a,k.value,{cacheControl:k.cacheControl,isRoutePPREnabled:c,isFallback:d});return k}catch(e){if(null==f?void 0:f.cacheControl){let e=Math.min(Math.max(f.cacheControl.revalidate||3,3),30),g=void 0===f.cacheControl.expire?void 0:Math.max(e+3,f.cacheControl.expire);await b.set(a,f.value,{cacheControl:{revalidate:e,expire:g},isRoutePPREnabled:c,isFallback:d})}throw e}}}},32151:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"MISSING_ROOT_TAGS_ERROR",{enumerable:!0,get:function(){return c}});let c="NEXT_MISSING_ROOT_TAGS";("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},34356:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{NextRequestAdapter:function(){return l},ResponseAborted:function(){return i},ResponseAbortedName:function(){return h},createAbortController:function(){return j},signalFromNodeResponse:function(){return k}});let d=c(17954),e=c(15707),f=c(71927),g=c(76017),h="ResponseAborted";class i extends Error{constructor(...a){super(...a),this.name=h}}function j(a){let b=new AbortController;return a.once("close",()=>{a.writableFinished||b.abort(new i)}),b}function k(a){let{errored:b,destroyed:c}=a;if(b||c)return AbortSignal.abort(b??new i);let{signal:d}=j(a);return d}class l{static fromBaseNextRequest(a,b){if((0,g.isNodeNextRequest)(a))return l.fromNodeNextRequest(a,b);throw Object.defineProperty(Error("Invariant: Unsupported NextRequest type"),"__NEXT_ERROR_CODE",{value:"E345",enumerable:!1,configurable:!0})}static fromNodeNextRequest(a,b){let c,g=null;if("GET"!==a.method&&"HEAD"!==a.method&&a.body&&(g=a.body),a.url.startsWith("http"))c=new URL(a.url);else{let b=(0,d.getRequestMeta)(a,"initURL");c=b&&b.startsWith("http")?new URL(a.url,b):new URL(a.url,"http://n")}return new f.NextRequest(c,{method:a.method,headers:(0,e.fromNodeOutgoingHttpHeaders)(a.headers),duplex:"half",signal:b,...b.aborted?{}:{body:g}})}static fromWebNextRequest(a){let b=null;return"GET"!==a.method&&"HEAD"!==a.method&&(b=a.body),new f.NextRequest(a.url,{method:a.method,headers:(0,e.fromNodeOutgoingHttpHeaders)(a.headers),duplex:"half",signal:a.request.signal,...a.request.signal.aborted?{}:{body:b}})}}},42811:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{fromResponseCacheEntry:function(){return h},routeKindToIncrementalCacheKind:function(){return j},toResponseCacheEntry:function(){return i}});let d=c(80551),e=function(a){return a&&a.__esModule?a:{default:a}}(c(62153)),f=c(6651),g=c(47274);async function h(a){var b,c;return{...a,value:(null==(b=a.value)?void 0:b.kind)===d.CachedRouteKind.PAGES?{kind:d.CachedRouteKind.PAGES,html:await a.value.html.toUnchunkedString(!0),pageData:a.value.pageData,headers:a.value.headers,status:a.value.status}:(null==(c=a.value)?void 0:c.kind)===d.CachedRouteKind.APP_PAGE?{kind:d.CachedRouteKind.APP_PAGE,html:await a.value.html.toUnchunkedString(!0),postponed:a.value.postponed,rscData:a.value.rscData,headers:a.value.headers,status:a.value.status,segmentData:a.value.segmentData}:a.value}}async function i(a){var b,c;return a?{isMiss:a.isMiss,isStale:a.isStale,cacheControl:a.cacheControl,value:(null==(b=a.value)?void 0:b.kind)===d.CachedRouteKind.PAGES?{kind:d.CachedRouteKind.PAGES,html:e.default.fromStatic(a.value.html,g.HTML_CONTENT_TYPE_HEADER),pageData:a.value.pageData,headers:a.value.headers,status:a.value.status}:(null==(c=a.value)?void 0:c.kind)===d.CachedRouteKind.APP_PAGE?{kind:d.CachedRouteKind.APP_PAGE,html:e.default.fromStatic(a.value.html,g.HTML_CONTENT_TYPE_HEADER),rscData:a.value.rscData,headers:a.value.headers,status:a.value.status,postponed:a.value.postponed,segmentData:a.value.segmentData}:a.value}:null}function j(a){switch(a){case f.RouteKind.PAGES:return d.IncrementalCacheKind.PAGES;case f.RouteKind.APP_PAGE:return d.IncrementalCacheKind.APP_PAGE;case f.RouteKind.IMAGE:return d.IncrementalCacheKind.IMAGE;case f.RouteKind.APP_ROUTE:return d.IncrementalCacheKind.APP_ROUTE;case f.RouteKind.PAGES_API:throw Object.defineProperty(Error(`Unexpected route kind ${a}`),"__NEXT_ERROR_CODE",{value:"E64",enumerable:!1,configurable:!0});default:return a}}},43357:(a,b)=>{"use strict";function c(a){return a.default||a}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"interopDefault",{enumerable:!0,get:function(){return c}})},44576:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ENCODED_TAGS",{enumerable:!0,get:function(){return c}});let c={OPENING:{HTML:new Uint8Array([60,104,116,109,108]),BODY:new Uint8Array([60,98,111,100,121])},CLOSED:{HEAD:new Uint8Array([60,47,104,101,97,100,62]),BODY:new Uint8Array([60,47,98,111,100,121,62]),HTML:new Uint8Array([60,47,104,116,109,108,62]),BODY_AND_HTML:new Uint8Array([60,47,98,111,100,121,62,60,47,104,116,109,108,62])},META:{ICON_MARK:new Uint8Array([60,109,101,116,97,32,110,97,109,101,61,34,194,171,110,120,116,45,105,99,111,110,194,187,34])}}},47366:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{sendEtagResponse:function(){return i},sendRenderResult:function(){return j}});let d=c(8423),e=c(92486),f=function(a){return a&&a.__esModule?a:{default:a}}(c(60746)),g=c(8833),h=c(47274);function i(a,b,c){return c&&b.setHeader("ETag",c),!!(0,f.default)(a.headers,{etag:c})&&(b.statusCode=304,b.end(),!0)}async function j({req:a,res:b,result:c,generateEtags:f,poweredByHeader:j,cacheControl:k}){if((0,d.isResSent)(b))return;j&&c.contentType===h.HTML_CONTENT_TYPE_HEADER&&b.setHeader("X-Powered-By","Next.js"),k&&!b.getHeader("Cache-Control")&&b.setHeader("Cache-Control",(0,g.getCacheControlHeader)(k));let l=c.isDynamic?null:c.toUnchunkedString();if(!(f&&null!==l&&i(a,b,(0,e.generateETag)(l))))return(!b.getHeader("Content-Type")&&c.contentType&&b.setHeader("Content-Type",c.contentType),l&&b.setHeader("Content-Length",Buffer.byteLength(l)),"HEAD"===a.method)?void b.end(null):null!==l?void b.end(l):void await c.pipeToNodeResponse(b)}},48130:(a,b)=>{"use strict";function c(a,b,c){if(a)for(let f of(c&&(c=c.toLowerCase()),a)){var d,e;if(b===(null==(d=f.domain)?void 0:d.split(":",1)[0].toLowerCase())||c===f.defaultLocale.toLowerCase()||(null==(e=f.locales)?void 0:e.some(a=>a.toLowerCase()===c)))return f}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"detectDomainLocale",{enumerable:!0,get:function(){return c}})},49391:(a,b)=>{"use strict";Object.defineProperty(b,"M",{enumerable:!0,get:function(){return function a(b,c){return c in b?b[c]:"then"in b&&"function"==typeof b.then?b.then(b=>a(b,c)):"function"==typeof b&&"default"===c?b:void 0}}})},51024:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"Batcher",{enumerable:!0,get:function(){return e}});let d=c(89429);class e{constructor(a,b=a=>a()){this.cacheKeyFn=a,this.schedulerFn=b,this.pending=new Map}static create(a){return new e(null==a?void 0:a.cacheKeyFn,null==a?void 0:a.schedulerFn)}async batch(a,b){let c=this.cacheKeyFn?await this.cacheKeyFn(a):a;if(null===c)return b(c,Promise.resolve);let e=this.pending.get(c);if(e)return e;let{promise:f,resolve:g,reject:h}=new d.DetachedPromise;return this.pending.set(c,f),this.schedulerFn(async()=>{try{let a=await b(c,g);g(a)}catch(a){h(a)}finally{this.pending.delete(c)}}),f}}},54547:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"NextURL",{enumerable:!0,get:function(){return k}});let d=c(48130),e=c(26975),f=c(20614),g=c(13712),h=/(?!^https?:\/\/)(127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|\[::1\]|localhost)/;function i(a,b){return new URL(String(a).replace(h,"localhost"),b&&String(b).replace(h,"localhost"))}let j=Symbol("NextURLInternal");class k{constructor(a,b,c){let d,e;"object"==typeof b&&"pathname"in b||"string"==typeof b?(d=b,e=c||{}):e=c||b||{},this[j]={url:i(a,d??e.base),options:e,basePath:""},this.analyze()}analyze(){var a,b,c,e,h;let i=(0,g.getNextPathnameInfo)(this[j].url.pathname,{nextConfig:this[j].options.nextConfig,parseData:!0,i18nProvider:this[j].options.i18nProvider}),k=(0,f.getHostname)(this[j].url,this[j].options.headers);this[j].domainLocale=this[j].options.i18nProvider?this[j].options.i18nProvider.detectDomainLocale(k):(0,d.detectDomainLocale)(null==(b=this[j].options.nextConfig)||null==(a=b.i18n)?void 0:a.domains,k);let l=(null==(c=this[j].domainLocale)?void 0:c.defaultLocale)||(null==(h=this[j].options.nextConfig)||null==(e=h.i18n)?void 0:e.defaultLocale);this[j].url.pathname=i.pathname,this[j].defaultLocale=l,this[j].basePath=i.basePath??"",this[j].buildId=i.buildId,this[j].locale=i.locale??l,this[j].trailingSlash=i.trailingSlash}formatPathname(){return(0,e.formatNextPathnameInfo)({basePath:this[j].basePath,buildId:this[j].buildId,defaultLocale:this[j].options.forceLocale?void 0:this[j].defaultLocale,locale:this[j].locale,pathname:this[j].url.pathname,trailingSlash:this[j].trailingSlash})}formatSearch(){return this[j].url.search}get buildId(){return this[j].buildId}set buildId(a){this[j].buildId=a}get locale(){return this[j].locale??""}set locale(a){var b,c;if(!this[j].locale||!(null==(c=this[j].options.nextConfig)||null==(b=c.i18n)?void 0:b.locales.includes(a)))throw Object.defineProperty(TypeError(`The NextURL configuration includes no locale "${a}"`),"__NEXT_ERROR_CODE",{value:"E597",enumerable:!1,configurable:!0});this[j].locale=a}get defaultLocale(){return this[j].defaultLocale}get domainLocale(){return this[j].domainLocale}get searchParams(){return this[j].url.searchParams}get host(){return this[j].url.host}set host(a){this[j].url.host=a}get hostname(){return this[j].url.hostname}set hostname(a){this[j].url.hostname=a}get port(){return this[j].url.port}set port(a){this[j].url.port=a}get protocol(){return this[j].url.protocol}set protocol(a){this[j].url.protocol=a}get href(){let a=this.formatPathname(),b=this.formatSearch();return`${this.protocol}//${this.host}${a}${b}${this.hash}`}set href(a){this[j].url=i(a),this.analyze()}get origin(){return this[j].url.origin}get pathname(){return this[j].url.pathname}set pathname(a){this[j].url.pathname=a}get hash(){return this[j].url.hash}set hash(a){this[j].url.hash=a}get search(){return this[j].url.search}set search(a){this[j].url.search=a}get password(){return this[j].url.password}set password(a){this[j].url.password=a}get username(){return this[j].url.username}set username(a){this[j].url.username=a}get basePath(){return this[j].basePath}set basePath(a){this[j].basePath=a.startsWith("/")?a:`/${a}`}toString(){return this.href}toJSON(){return this.href}[Symbol.for("edge-runtime.inspect.custom")](){return{href:this.href,origin:this.origin,protocol:this.protocol,username:this.username,password:this.password,host:this.host,hostname:this.hostname,port:this.port,pathname:this.pathname,search:this.search,searchParams:this.searchParams,hash:this.hash}}clone(){return new k(String(this),this[j].options)}}},60746:a=>{(()=>{"use strict";var b={695:a=>{var b=/(?:^|,)\s*?no-cache\s*?(?:,|$)/;function c(a){var b=a&&Date.parse(a);return"number"==typeof b?b:NaN}a.exports=function(a,d){var e=a["if-modified-since"],f=a["if-none-match"];if(!e&&!f)return!1;var g=a["cache-control"];if(g&&b.test(g))return!1;if(f&&"*"!==f){var h=d.etag;if(!h)return!1;for(var i=!0,j=function(a){for(var b=0,c=[],d=0,e=0,f=a.length;e<f;e++)switch(a.charCodeAt(e)){case 32:d===b&&(d=b=e+1);break;case 44:c.push(a.substring(d,b)),d=b=e+1;break;default:b=e+1}return c.push(a.substring(d,b)),c}(f),k=0;k<j.length;k++){var l=j[k];if(l===h||l==="W/"+h||"W/"+l===h){i=!1;break}}if(i)return!1}if(e){var m=d["last-modified"];if(!m||!(c(m)<=c(e)))return!1}return!0}}},c={};function d(a){var e=c[a];if(void 0!==e)return e.exports;var f=c[a]={exports:{}},g=!0;try{b[a](f,f.exports,d),g=!1}finally{g&&delete c[a]}return f.exports}d.ab=__dirname+"/",a.exports=d(695)})()},62153:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return g}});let d=c(63754),e=c(23026),f=c(99257);class g{static #a=this.EMPTY=new g(null,{metadata:{},contentType:null});static fromStatic(a,b){return new g(a,{metadata:{},contentType:b})}constructor(a,{contentType:b,waitUntil:c,metadata:d}){this.response=a,this.contentType=b,this.metadata=d,this.waitUntil=c}assignMetadata(a){Object.assign(this.metadata,a)}get isNull(){return null===this.response}get isDynamic(){return"string"!=typeof this.response}toUnchunkedString(a=!1){if(null===this.response)return"";if("string"!=typeof this.response){if(!a)throw Object.defineProperty(new f.InvariantError("dynamic responses cannot be unchunked. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E732",enumerable:!1,configurable:!0});return(0,d.streamToString)(this.readable)}return this.response}get readable(){return null===this.response?new ReadableStream({start(a){a.close()}}):"string"==typeof this.response?(0,d.streamFromString)(this.response):Buffer.isBuffer(this.response)?(0,d.streamFromBuffer)(this.response):Array.isArray(this.response)?(0,d.chainStreams)(...this.response):this.response}coerce(){return null===this.response?[]:"string"==typeof this.response?[(0,d.streamFromString)(this.response)]:Array.isArray(this.response)?this.response:Buffer.isBuffer(this.response)?[(0,d.streamFromBuffer)(this.response)]:[this.response]}unshift(a){this.response=this.coerce(),this.response.unshift(a)}push(a){this.response=this.coerce(),this.response.push(a)}async pipeTo(a){try{await this.readable.pipeTo(a,{preventClose:!0}),this.waitUntil&&await this.waitUntil,await a.close()}catch(b){if((0,e.isAbortError)(b))return void await a.abort(b);throw b}}async pipeToNodeResponse(a){await (0,e.pipeToNodeResponse)(this.readable,a,this.waitUntil)}}},63754:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{chainStreams:function(){return n},continueDynamicHTMLResume:function(){return E},continueDynamicPrerender:function(){return C},continueFizzStream:function(){return B},continueStaticPrerender:function(){return D},createBufferedTransformStream:function(){return s},createDocumentClosingStream:function(){return F},createRootLayoutValidatorStream:function(){return A},renderToInitialFizzStream:function(){return u},streamFromBuffer:function(){return p},streamFromString:function(){return o},streamToBuffer:function(){return q},streamToString:function(){return r}});let d=c(47392),e=c(34626),f=c(89429),g=c(61798),h=c(44576),i=c(64887),j=c(32151),k=c(26411);function l(){}let m=new TextEncoder;function n(...a){if(0===a.length)return new ReadableStream({start(a){a.close()}});if(1===a.length)return a[0];let{readable:b,writable:c}=new TransformStream,d=a[0].pipeTo(c,{preventClose:!0}),e=1;for(;e<a.length-1;e++){let b=a[e];d=d.then(()=>b.pipeTo(c,{preventClose:!0}))}let f=a[e];return(d=d.then(()=>f.pipeTo(c))).catch(l),b}function o(a){return new ReadableStream({start(b){b.enqueue(m.encode(a)),b.close()}})}function p(a){return new ReadableStream({start(b){b.enqueue(a),b.close()}})}async function q(a){let b=a.getReader(),c=[];for(;;){let{done:a,value:d}=await b.read();if(a)break;c.push(d)}return Buffer.concat(c)}async function r(a,b){let c=new TextDecoder("utf-8",{fatal:!0}),d="";for await(let e of a){if(null==b?void 0:b.aborted)return d;d+=c.decode(e,{stream:!0})}return d+c.decode()}function s(){let a,b=[],c=0;return new TransformStream({transform(d,e){b.push(d),c+=d.byteLength,(d=>{if(a)return;let e=new f.DetachedPromise;a=e,(0,g.scheduleImmediate)(()=>{try{let a=new Uint8Array(c),e=0;for(let c=0;c<b.length;c++){let d=b[c];a.set(d,e),e+=d.byteLength}b.length=0,c=0,d.enqueue(a)}catch{}finally{a=void 0,e.resolve()}})})(e)},flush(){if(a)return a.promise}})}function t(a,b){let c=!1;return new TransformStream({transform(d,e){if(a&&!c){c=!0;let a=new TextDecoder("utf-8",{fatal:!0}).decode(d,{stream:!0}),f=(0,k.insertBuildIdComment)(a,b);e.enqueue(m.encode(f));return}e.enqueue(d)}})}function u({ReactDOMServer:a,element:b,streamOptions:c}){return(0,d.getTracer)().trace(e.AppRenderSpan.renderToReadableStream,async()=>a.renderToReadableStream(b,c))}function v(a){let b=-1,c=!1;return new TransformStream({async transform(d,e){let f=-1,g=-1;if(b++,c)return void e.enqueue(d);let j=0;if(-1===f){if(-1===(f=(0,i.indexOfUint8Array)(d,h.ENCODED_TAGS.META.ICON_MARK)))return void e.enqueue(d);47===d[f+(j=h.ENCODED_TAGS.META.ICON_MARK.length)]?j+=2:j++}if(0===b){if(g=(0,i.indexOfUint8Array)(d,h.ENCODED_TAGS.CLOSED.HEAD),-1!==f){if(f<g){let a=new Uint8Array(d.length-j);a.set(d.subarray(0,f)),a.set(d.subarray(f+j),f),d=a}else{let b=await a(),c=m.encode(b),e=c.length,g=new Uint8Array(d.length-j+e);g.set(d.subarray(0,f)),g.set(c,f),g.set(d.subarray(f+j),f+e),d=g}c=!0}}else{let b=await a(),e=m.encode(b),g=e.length,h=new Uint8Array(d.length-j+g);h.set(d.subarray(0,f)),h.set(e,f),h.set(d.subarray(f+j),f+g),d=h,c=!0}e.enqueue(d)}})}function w(a){let b=!1,c=!1;return new TransformStream({async transform(d,e){c=!0;let f=await a();if(b){if(f){let a=m.encode(f);e.enqueue(a)}e.enqueue(d)}else{let a=(0,i.indexOfUint8Array)(d,h.ENCODED_TAGS.CLOSED.HEAD);if(-1!==a){if(f){let b=m.encode(f),c=new Uint8Array(d.length+b.length);c.set(d.slice(0,a)),c.set(b,a),c.set(d.slice(a),a+b.length),e.enqueue(c)}else e.enqueue(d);b=!0}else f&&e.enqueue(m.encode(f)),e.enqueue(d),b=!0}},async flush(b){if(c){let c=await a();c&&b.enqueue(m.encode(c))}}})}function x(a,b){let c=!1,d=null,e=!1;function f(a){return d||(d=h(a)),d}async function h(d){let f=a.getReader();b&&await (0,g.atLeastOneTask)();try{for(;;){let{done:a,value:h}=await f.read();if(a){e=!0;return}b||c||await (0,g.atLeastOneTask)(),d.enqueue(h)}}catch(a){d.error(a)}}return new TransformStream({start(a){b||f(a)},transform(a,c){c.enqueue(a),b&&f(c)},flush(a){if(c=!0,!e)return f(a)}})}let y="</body></html>";function z(){let a=!1;return new TransformStream({transform(b,c){if(a)return c.enqueue(b);let d=(0,i.indexOfUint8Array)(b,h.ENCODED_TAGS.CLOSED.BODY_AND_HTML);if(d>-1){if(a=!0,b.length===h.ENCODED_TAGS.CLOSED.BODY_AND_HTML.length)return;let e=b.slice(0,d);if(c.enqueue(e),b.length>h.ENCODED_TAGS.CLOSED.BODY_AND_HTML.length+d){let a=b.slice(d+h.ENCODED_TAGS.CLOSED.BODY_AND_HTML.length);c.enqueue(a)}}else c.enqueue(b)},flush(a){a.enqueue(h.ENCODED_TAGS.CLOSED.BODY_AND_HTML)}})}function A(){let a=!1,b=!1;return new TransformStream({async transform(c,d){!a&&(0,i.indexOfUint8Array)(c,h.ENCODED_TAGS.OPENING.HTML)>-1&&(a=!0),!b&&(0,i.indexOfUint8Array)(c,h.ENCODED_TAGS.OPENING.BODY)>-1&&(b=!0),d.enqueue(c)},flush(c){let d=[];a||d.push("html"),b||d.push("body"),d.length&&c.enqueue(m.encode(`<html id="__next_error__">
13
13
  <template
14
14
  data-next-error-message="Missing ${d.map(a=>`<${a}>`).join(d.length>1?" and ":"")} tags in the root layout.
15
15
  Read more at https://nextjs.org/docs/messages/missing-root-layout-tags"
16
16
  data-next-error-digest="${j.MISSING_ROOT_TAGS_ERROR}"
17
17
  data-next-error-stack=""
18
18
  ></template>
19
- `))}})}async function B(a,{suffix:b,inlinedDataStream:c,isStaticGeneration:d,isBuildTimePrerendering:e,buildId:h,getServerInsertedHTML:i,getServerInsertedMetadata:j,validateRootLayout:k}){let l,n,o=b?b.split(y,1)[0]:null;d&&await a.allReady;var p=[s(),t(e,h),v(j),null!=o&&o.length>0?(n=!1,new TransformStream({transform(a,b){if(b.enqueue(a),!n){n=!0;let a=new f.DetachedPromise;l=a,(0,g.scheduleImmediate)(()=>{try{b.enqueue(m.encode(o))}catch{}finally{l=void 0,a.resolve()}})}},flush(a){if(l)return l.promise;n||a.enqueue(m.encode(o))}})):null,c?x(c,!0):null,k?A():null,z(),w(i)];let q=a;for(let a of p)a&&(q=q.pipeThrough(a));return q}async function C(a,{getServerInsertedHTML:b,getServerInsertedMetadata:c}){return a.pipeThrough(s()).pipeThrough(new TransformStream({transform(a,b){(0,i.isEquivalentUint8Arrays)(a,h.ENCODED_TAGS.CLOSED.BODY_AND_HTML)||(0,i.isEquivalentUint8Arrays)(a,h.ENCODED_TAGS.CLOSED.BODY)||(0,i.isEquivalentUint8Arrays)(a,h.ENCODED_TAGS.CLOSED.HTML)||(a=(0,i.removeFromUint8Array)(a,h.ENCODED_TAGS.CLOSED.BODY),a=(0,i.removeFromUint8Array)(a,h.ENCODED_TAGS.CLOSED.HTML),b.enqueue(a))}})).pipeThrough(w(b)).pipeThrough(v(c))}async function D(a,{inlinedDataStream:b,getServerInsertedHTML:c,getServerInsertedMetadata:d,isBuildTimePrerendering:e,buildId:f}){return a.pipeThrough(s()).pipeThrough(t(e,f)).pipeThrough(w(c)).pipeThrough(v(d)).pipeThrough(x(b,!0)).pipeThrough(z())}async function E(a,{delayDataUntilFirstHtmlChunk:b,inlinedDataStream:c,getServerInsertedHTML:d,getServerInsertedMetadata:e}){return a.pipeThrough(s()).pipeThrough(w(d)).pipeThrough(v(e)).pipeThrough(x(c,b)).pipeThrough(z())}function F(){return o(y)}},64588:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{getClientComponentLoaderMetrics:function(){return g},wrapClientComponentLoader:function(){return f}});let c=0,d=0,e=0;function f(a){return"performance"in globalThis?{require:(...b)=>{let f=performance.now();0===c&&(c=f);try{return e+=1,a.__next_app__.require(...b)}finally{d+=performance.now()-f}},loadChunk:(...b)=>{let c=performance.now(),e=a.__next_app__.loadChunk(...b);return e.finally(()=>{d+=performance.now()-c}),e}}:a.__next_app__}function g(a={}){let b=0===c?void 0:{clientComponentLoadStart:c,clientComponentLoadTimes:d,clientComponentLoadCount:e};return a.reset&&(c=0,d=0,e=0),b}},64887:(a,b)=>{"use strict";function c(a,b){if(0===b.length)return 0;if(0===a.length||b.length>a.length)return -1;for(let c=0;c<=a.length-b.length;c++){let d=!0;for(let e=0;e<b.length;e++)if(a[c+e]!==b[e]){d=!1;break}if(d)return c}return -1}function d(a,b){if(a.length!==b.length)return!1;for(let c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}function e(a,b){let d=c(a,b);if(0===d)return a.subarray(b.length);if(!(d>-1))return a;{let c=new Uint8Array(a.length-b.length);return c.set(a.slice(0,d)),c.set(a.slice(d+b.length),d),c}}Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{indexOfUint8Array:function(){return c},isEquivalentUint8Arrays:function(){return d},removeFromUint8Array:function(){return e}})},67315:(a,b,c)=>{"use strict";Object.defineProperty(b,"U",{enumerable:!0,get:function(){return A}});let d=c(29032),e=c(34626),f=c(47392),g=c(82865),h=c(17954),i=c(43357),j=c(14663),k=c(1628),l=c(27860),m=c(8833),n=c(8423),o=c(25106),p=c(47274),q=z(c(33873)),r=c(47366),s=z(c(62153)),t=c(42811),u=c(46060),v=c(23830),w=c(84580),x=c(34392),y=c(56001);function z(a){return a&&a.__esModule?a:{default:a}}let A=({srcPage:a,config:b,userland:c,routeModule:z,isFallbackError:A,getStaticPaths:B,getStaticProps:C,getServerSideProps:D})=>async function(E,F,G){var H,I;let J=a;"/index"===J&&(J="/");let K=await z.prepare(E,F,{srcPage:J,multiZoneDraftMode:!1});if(!K){F.statusCode=400,F.end("Bad Request"),null==G.waitUntil||G.waitUntil.call(G,Promise.resolve());return}let{buildId:L,query:M,params:N,parsedUrl:O,originalQuery:P,originalPathname:Q,buildManifest:R,fallbackBuildManifest:S,nextFontManifest:T,serverFilesManifest:U,reactLoadableManifest:V,prerenderManifest:W,isDraftMode:X,isOnDemandRevalidate:Y,revalidateOnlyGenerated:Z,locale:$,locales:_,defaultLocale:aa,routerServerContext:ab,nextConfig:ac,resolvedPathname:ad}=K,ae=null==U||null==(I=U.config)||null==(H=I.experimental)?void 0:H.isExperimentalCompile,af=!!D,ag=!!C,ah=!!B,ai=!!(c.default||c).getInitialProps,aj=M.amp&&(null==b?void 0:b.amp),ak=null,al=!1,am=K.isNextDataRequest&&(ag||af),an="/404"===J,ao="/500"===J,ap="/_error"===J;if(z.isDev||X||!ag||(ak=`${$?`/${$}`:""}${("/"===J||"/"===ad)&&$?"":ad}${aj?".amp":""}`,(an||ao||ap)&&(ak=`${$?`/${$}`:""}${J}${aj?".amp":""}`),ak="/index"===ak?"/":ak),ah&&!X){let a=(0,y.removeTrailingSlash)($?(0,x.addPathPrefix)(ad,`/${$}`):ad),b=!!W.routes[a]||W.notFoundRoutes.includes(a),c=W.dynamicRoutes[J];if(c){if(!1===c.fallback&&!b)throw new u.NoFallbackError;"string"!=typeof c.fallback||b||am||(al=!0)}}(al&&(0,w.isBot)(E.headers["user-agent"]||"")||(0,h.getRequestMeta)(E,"minimalMode"))&&(al=!1);let aq=(0,f.getTracer)(),ar=aq.getActiveScopeSpan();try{let a=E.method||"GET",u=(0,g.formatUrl)({pathname:ac.trailingSlash?O.pathname:(0,y.removeTrailingSlash)(O.pathname||"/"),query:ag?{}:P}),w=(null==ab?void 0:ab.publicRuntimeConfig)||ac.publicRuntimeConfig,x=async f=>{var x,y;let H,I=async({previousCacheEntry:m})=>{var n;let o=async()=>{try{var d,n,o;return await z.render(E,F,{query:ag&&!ae?{...N,...aj?{amp:M.amp}:{}}:{...M,...N},params:N,page:J,renderContext:{isDraftMode:X,isFallback:al,developmentNotFoundSourcePage:(0,h.getRequestMeta)(E,"developmentNotFoundSourcePage")},sharedContext:{buildId:L,customServer:!!(null==ab?void 0:ab.isCustomServer)||void 0,deploymentId:!1},renderOpts:{params:N,routeModule:z,page:J,pageConfig:b||{},Component:(0,i.interopDefault)(c),ComponentMod:c,getStaticProps:C,getStaticPaths:B,getServerSideProps:D,supportsDynamicResponse:!ag,buildManifest:A?S:R,nextFontManifest:T,reactLoadableManifest:V,assetPrefix:ac.assetPrefix,previewProps:W.preview,images:ac.images,nextConfigOutput:ac.output,optimizeCss:!!ac.experimental.optimizeCss,nextScriptWorkers:!!ac.experimental.nextScriptWorkers,domainLocales:null==(d=ac.i18n)?void 0:d.domains,crossOrigin:ac.crossOrigin,multiZoneDraftMode:!1,basePath:ac.basePath,canonicalBase:ac.amp.canonicalBase||"",ampOptimizerConfig:null==(n=ac.experimental.amp)?void 0:n.optimizer,disableOptimizedLoading:ac.experimental.disableOptimizedLoading,largePageDataBytes:ac.experimental.largePageDataBytes,runtimeConfig:Object.keys(w).length>0?w:void 0,isExperimentalCompile:ae,experimental:{clientTraceMetadata:ac.experimental.clientTraceMetadata||[]},locale:$,locales:_,defaultLocale:aa,setIsrStatus:null==ab?void 0:ab.setIsrStatus,isNextDataRequest:am&&(af||ag),resolvedUrl:u,resolvedAsPath:af||ai?(0,g.formatUrl)({pathname:am?(0,k.normalizeDataPath)(Q):Q,query:P}):u,isOnDemandRevalidate:Y,ErrorDebug:(0,h.getRequestMeta)(E,"PagesErrorDebug"),err:(0,h.getRequestMeta)(E,"invokeError"),dev:z.isDev,distDir:q.default.join(process.cwd(),z.relativeProjectDir,z.distDir),ampSkipValidation:null==(o=ac.experimental.amp)?void 0:o.skipValidation,ampValidator:(0,h.getRequestMeta)(E,"ampValidator")}}).then(a=>{let{metadata:b}=a,c=b.cacheControl;return"isNotFound"in b&&b.isNotFound?{value:null,cacheControl:c}:b.isRedirect?{value:{kind:l.CachedRouteKind.REDIRECT,props:b.pageData??b.flightData},cacheControl:c}:{value:{kind:l.CachedRouteKind.PAGES,html:a,pageData:a.metadata.pageData,headers:a.metadata.headers,status:a.metadata.statusCode},cacheControl:c}}).finally(()=>{if(!f)return;f.setAttributes({"http.status_code":F.statusCode,"next.rsc":!1});let b=aq.getRootSpanAttributes();if(!b)return;if(b.get("next.span_type")!==e.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${b.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let c=b.get("next.route");if(c){let b=`${a} ${c}`;f.setAttributes({"next.route":c,"http.route":c,"next.span_name":b}),f.updateName(b)}else f.updateName(`${a} ${E.url}`)})}catch(a){throw(null==m?void 0:m.isStale)&&await z.onRequestError(E,a,{routerKind:"Pages Router",routePath:J,routeType:"render",revalidateReason:(0,j.getRevalidateReason)({isRevalidate:ag,isOnDemandRevalidate:Y})},ab),a}};if(m&&(al=!1),al){let a=await z.getResponseCache(E).get(z.isDev?null:$?`/${$}${J}`:J,async({previousCacheEntry:a=null})=>z.isDev?o():(0,t.toResponseCacheEntry)(a),{routeKind:d.RouteKind.PAGES,isFallback:!0,isRoutePPREnabled:!1,isOnDemandRevalidate:!1,incrementalCache:await z.getIncrementalCache(E,ac,W),waitUntil:G.waitUntil});if(a)return delete a.cacheControl,a.isMiss=!0,a}return!(0,h.getRequestMeta)(E,"minimalMode")&&Y&&Z&&!m?(F.statusCode=404,F.setHeader("x-nextjs-cache","REVALIDATED"),F.end("This page could not be found"),null):al&&(null==m||null==(n=m.value)?void 0:n.kind)===l.CachedRouteKind.PAGES?{value:{kind:l.CachedRouteKind.PAGES,html:new s.default(m.value.html,{contentType:p.HTML_CONTENT_TYPE_HEADER,metadata:{statusCode:m.value.status,headers:m.value.headers}}),pageData:{},status:m.value.status,headers:m.value.headers},cacheControl:{revalidate:0,expire:void 0}}:o()},K=await z.handleResponse({cacheKey:ak,req:E,nextConfig:ac,routeKind:d.RouteKind.PAGES,isOnDemandRevalidate:Y,revalidateOnlyGenerated:Z,waitUntil:G.waitUntil,responseGenerator:I,prerenderManifest:W});if(!al||(null==K?void 0:K.isMiss)||(al=!1),K){if(ag&&!(0,h.getRequestMeta)(E,"minimalMode")&&F.setHeader("x-nextjs-cache",Y?"REVALIDATED":K.isMiss?"MISS":K.isStale?"STALE":"HIT"),!ag||al)F.getHeader("Cache-Control")||(H={revalidate:0,expire:void 0});else if(an){let a=(0,h.getRequestMeta)(E,"notFoundRevalidate");H={revalidate:void 0===a?0:a,expire:void 0}}else if(ao)H={revalidate:0,expire:void 0};else if(K.cacheControl)if("number"==typeof K.cacheControl.revalidate){if(K.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${K.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});H={revalidate:K.cacheControl.revalidate,expire:(null==(x=K.cacheControl)?void 0:x.expire)??ac.expireTime}}else H={revalidate:p.CACHE_ONE_YEAR,expire:void 0};if(H&&!F.getHeader("Cache-Control")&&F.setHeader("Cache-Control",(0,m.getCacheControlHeader)(H)),!K.value)return((0,h.addRequestMeta)(E,"notFoundRevalidate",null==(y=K.cacheControl)?void 0:y.revalidate),F.statusCode=404,am)?void F.end('{"notFound":true}'):void((null==ab?void 0:ab.render404)?await ab.render404(E,F,O,!1):F.end("This page could not be found"));if(K.value.kind===l.CachedRouteKind.REDIRECT)if(!am)return await (a=>{let b={destination:a.pageProps.__N_REDIRECT,statusCode:a.pageProps.__N_REDIRECT_STATUS,basePath:a.pageProps.__N_REDIRECT_BASE_PATH},c=(0,o.getRedirectStatus)(b),{basePath:d}=ac;d&&!1!==b.basePath&&b.destination.startsWith("/")&&(b.destination=`${d}${b.destination}`),b.destination.startsWith("/")&&(b.destination=(0,n.normalizeRepeatedSlashes)(b.destination)),F.statusCode=c,F.setHeader("Location",b.destination),c===v.RedirectStatusCode.PermanentRedirect&&F.setHeader("Refresh",`0;url=${b.destination}`),F.end(b.destination)})(K.value.props),null;else{F.setHeader("content-type",p.JSON_CONTENT_TYPE_HEADER),F.end(JSON.stringify(K.value.props));return}if(K.value.kind!==l.CachedRouteKind.PAGES)throw Object.defineProperty(Error("Invariant: received non-pages cache entry in pages handler"),"__NEXT_ERROR_CODE",{value:"E695",enumerable:!1,configurable:!0});if(z.isDev&&F.setHeader("Cache-Control","no-store, must-revalidate"),X&&F.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),(0,h.getRequestMeta)(E,"customErrorRender")||ap&&(0,h.getRequestMeta)(E,"minimalMode")&&500===F.statusCode)return null;await (0,r.sendRenderResult)({req:E,res:F,result:!am||ap||ao?K.value.html:new s.default(JSON.stringify(K.value.pageData),{contentType:p.JSON_CONTENT_TYPE_HEADER,metadata:K.value.html.metadata}),generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,cacheControl:z.isDev?void 0:H})}};ar?await x():await aq.withPropagatedContext(E.headers,()=>aq.trace(e.BaseServerSpan.handleRequest,{spanName:`${a} ${E.url}`,kind:f.SpanKind.SERVER,attributes:{"http.method":a,"http.target":E.url}},x))}catch(a){throw a instanceof u.NoFallbackError||await z.onRequestError(E,a,{routerKind:"Pages Router",routePath:J,routeType:"render",revalidateReason:(0,j.getRevalidateReason)({isRevalidate:ag,isOnDemandRevalidate:Y})},ab),a}}},71927:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{INTERNALS:function(){return h},NextRequest:function(){return i}});let d=c(54547),e=c(15707),f=c(12606),g=c(13653),h=Symbol("internal request");class i extends Request{constructor(a,b={}){let c="string"!=typeof a&&"url"in a?a.url:String(a);(0,e.validateURL)(c),b.body&&"half"!==b.duplex&&(b.duplex="half"),a instanceof Request?super(a,b):super(c,b);let f=new d.NextURL(c,{headers:(0,e.toNodeOutgoingHttpHeaders)(this.headers),nextConfig:b.nextConfig});this[h]={cookies:new g.RequestCookies(this.headers),nextUrl:f,url:f.toString()}}[Symbol.for("edge-runtime.inspect.custom")](){return{cookies:this.cookies,nextUrl:this.nextUrl,url:this.url,bodyUsed:this.bodyUsed,cache:this.cache,credentials:this.credentials,destination:this.destination,headers:Object.fromEntries(this.headers),integrity:this.integrity,keepalive:this.keepalive,method:this.method,mode:this.mode,redirect:this.redirect,referrer:this.referrer,referrerPolicy:this.referrerPolicy,signal:this.signal}}get cookies(){return this[h].cookies}get nextUrl(){return this[h].nextUrl}get page(){throw new f.RemovedPageError}get ua(){throw new f.RemovedUAError}get url(){return this[h].url}}},75097:a=>{"use strict";var b=Object.defineProperty,c=Object.getOwnPropertyDescriptor,d=Object.getOwnPropertyNames,e=Object.prototype.hasOwnProperty,f={};function g(a){var b;let c=["path"in a&&a.path&&`Path=${a.path}`,"expires"in a&&(a.expires||0===a.expires)&&`Expires=${("number"==typeof a.expires?new Date(a.expires):a.expires).toUTCString()}`,"maxAge"in a&&"number"==typeof a.maxAge&&`Max-Age=${a.maxAge}`,"domain"in a&&a.domain&&`Domain=${a.domain}`,"secure"in a&&a.secure&&"Secure","httpOnly"in a&&a.httpOnly&&"HttpOnly","sameSite"in a&&a.sameSite&&`SameSite=${a.sameSite}`,"partitioned"in a&&a.partitioned&&"Partitioned","priority"in a&&a.priority&&`Priority=${a.priority}`].filter(Boolean),d=`${a.name}=${encodeURIComponent(null!=(b=a.value)?b:"")}`;return 0===c.length?d:`${d}; ${c.join("; ")}`}function h(a){let b=new Map;for(let c of a.split(/; */)){if(!c)continue;let a=c.indexOf("=");if(-1===a){b.set(c,"true");continue}let[d,e]=[c.slice(0,a),c.slice(a+1)];try{b.set(d,decodeURIComponent(null!=e?e:"true"))}catch{}}return b}function i(a){if(!a)return;let[[b,c],...d]=h(a),{domain:e,expires:f,httponly:g,maxage:i,path:l,samesite:m,secure:n,partitioned:o,priority:p}=Object.fromEntries(d.map(([a,b])=>[a.toLowerCase().replace(/-/g,""),b]));{var q,r,s={name:b,value:decodeURIComponent(c),domain:e,...f&&{expires:new Date(f)},...g&&{httpOnly:!0},..."string"==typeof i&&{maxAge:Number(i)},path:l,...m&&{sameSite:j.includes(q=(q=m).toLowerCase())?q:void 0},...n&&{secure:!0},...p&&{priority:k.includes(r=(r=p).toLowerCase())?r:void 0},...o&&{partitioned:!0}};let a={};for(let b in s)s[b]&&(a[b]=s[b]);return a}}((a,c)=>{for(var d in c)b(a,d,{get:c[d],enumerable:!0})})(f,{RequestCookies:()=>l,ResponseCookies:()=>m,parseCookie:()=>h,parseSetCookie:()=>i,stringifyCookie:()=>g}),a.exports=((a,f,g,h)=>{if(f&&"object"==typeof f||"function"==typeof f)for(let g of d(f))e.call(a,g)||void 0===g||b(a,g,{get:()=>f[g],enumerable:!(h=c(f,g))||h.enumerable});return a})(b({},"__esModule",{value:!0}),f);var j=["strict","lax","none"],k=["low","medium","high"],l=class{constructor(a){this._parsed=new Map,this._headers=a;let b=a.get("cookie");if(b)for(let[a,c]of h(b))this._parsed.set(a,{name:a,value:c})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...a){let b="string"==typeof a[0]?a[0]:a[0].name;return this._parsed.get(b)}getAll(...a){var b;let c=Array.from(this._parsed);if(!a.length)return c.map(([a,b])=>b);let d="string"==typeof a[0]?a[0]:null==(b=a[0])?void 0:b.name;return c.filter(([a])=>a===d).map(([a,b])=>b)}has(a){return this._parsed.has(a)}set(...a){let[b,c]=1===a.length?[a[0].name,a[0].value]:a,d=this._parsed;return d.set(b,{name:b,value:c}),this._headers.set("cookie",Array.from(d).map(([a,b])=>g(b)).join("; ")),this}delete(a){let b=this._parsed,c=Array.isArray(a)?a.map(a=>b.delete(a)):b.delete(a);return this._headers.set("cookie",Array.from(b).map(([a,b])=>g(b)).join("; ")),c}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(a=>`${a.name}=${encodeURIComponent(a.value)}`).join("; ")}},m=class{constructor(a){var b,c,d;this._parsed=new Map,this._headers=a;let e=null!=(d=null!=(c=null==(b=a.getSetCookie)?void 0:b.call(a))?c:a.get("set-cookie"))?d:[];for(let a of Array.isArray(e)?e:function(a){if(!a)return[];var b,c,d,e,f,g=[],h=0;function i(){for(;h<a.length&&/\s/.test(a.charAt(h));)h+=1;return h<a.length}for(;h<a.length;){for(b=h,f=!1;i();)if(","===(c=a.charAt(h))){for(d=h,h+=1,i(),e=h;h<a.length&&"="!==(c=a.charAt(h))&&";"!==c&&","!==c;)h+=1;h<a.length&&"="===a.charAt(h)?(f=!0,h=e,g.push(a.substring(b,d)),b=h):h=d+1}else h+=1;(!f||h>=a.length)&&g.push(a.substring(b,a.length))}return g}(e)){let b=i(a);b&&this._parsed.set(b.name,b)}}get(...a){let b="string"==typeof a[0]?a[0]:a[0].name;return this._parsed.get(b)}getAll(...a){var b;let c=Array.from(this._parsed.values());if(!a.length)return c;let d="string"==typeof a[0]?a[0]:null==(b=a[0])?void 0:b.name;return c.filter(a=>a.name===d)}has(a){return this._parsed.has(a)}set(...a){let[b,c,d]=1===a.length?[a[0].name,a[0].value,a[0]]:a,e=this._parsed;return e.set(b,function(a={name:"",value:""}){return"number"==typeof a.expires&&(a.expires=new Date(a.expires)),a.maxAge&&(a.expires=new Date(Date.now()+1e3*a.maxAge)),(null===a.path||void 0===a.path)&&(a.path="/"),a}({name:b,value:c,...d})),function(a,b){for(let[,c]of(b.delete("set-cookie"),a)){let a=g(c);b.append("set-cookie",a)}}(e,this._headers),this}delete(...a){let[b,c]="string"==typeof a[0]?[a[0]]:[a[0].name,a[0]];return this.set({...c,name:b,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(g).join("; ")}}},76017:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{isNodeNextRequest:function(){return e},isNodeNextResponse:function(){return f},isWebNextRequest:function(){return c},isWebNextResponse:function(){return d}});let c=a=>!1,d=a=>!1,e=a=>!0,f=a=>!0},80551:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{CachedRouteKind:function(){return c},IncrementalCacheKind:function(){return d}});var c=function(a){return a.APP_PAGE="APP_PAGE",a.APP_ROUTE="APP_ROUTE",a.PAGES="PAGES",a.FETCH="FETCH",a.REDIRECT="REDIRECT",a.IMAGE="IMAGE",a}({}),d=function(a){return a.APP_PAGE="APP_PAGE",a.APP_ROUTE="APP_ROUTE",a.PAGES="PAGES",a.FETCH="FETCH",a.IMAGE="IMAGE",a}({})},80649:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"LRUCache",{enumerable:!0,get:function(){return e}});class c{constructor(a,b,c){this.prev=null,this.next=null,this.key=a,this.data=b,this.size=c}}class d{constructor(){this.prev=null,this.next=null}}class e{constructor(a,b,c){this.cache=new Map,this.totalSize=0,this.maxSize=a,this.calculateSize=b,this.onEvict=c,this.head=new d,this.tail=new d,this.head.next=this.tail,this.tail.prev=this.head}addToHead(a){a.prev=this.head,a.next=this.head.next,this.head.next.prev=a,this.head.next=a}removeNode(a){a.prev.next=a.next,a.next.prev=a.prev}moveToHead(a){this.removeNode(a),this.addToHead(a)}removeTail(){let a=this.tail.prev;return this.removeNode(a),a}set(a,b){let d=(null==this.calculateSize?void 0:this.calculateSize.call(this,b))??1;if(d<=0)throw Object.defineProperty(Error(`LRUCache: calculateSize returned ${d}, but size must be > 0. Items with size 0 would never be evicted, causing unbounded cache growth.`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});if(d>this.maxSize)return console.warn("Single item size exceeds maxSize"),!1;let e=this.cache.get(a);if(e)e.data=b,this.totalSize=this.totalSize-e.size+d,e.size=d,this.moveToHead(e);else{let e=new c(a,b,d);this.cache.set(a,e),this.addToHead(e),this.totalSize+=d}for(;this.totalSize>this.maxSize&&this.cache.size>0;){let a=this.removeTail();this.cache.delete(a.key),this.totalSize-=a.size,null==this.onEvict||this.onEvict.call(this,a.key,a.data)}return!0}has(a){return this.cache.has(a)}get(a){let b=this.cache.get(a);if(b)return this.moveToHead(b),b.data}*[Symbol.iterator](){let a=this.head.next;for(;a&&a!==this.tail;){let b=a;yield[b.key,b.data],a=a.next}}remove(a){let b=this.cache.get(a);b&&(this.removeNode(b),this.cache.delete(a),this.totalSize-=b.size)}get size(){return this.cache.size}get currentSize(){return this.totalSize}}},89429:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"DetachedPromise",{enumerable:!0,get:function(){return c}});class c{constructor(){let a,b;this.promise=new Promise((c,d)=>{a=c,b=d}),this.resolve=a,this.reject=b}}},90252:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{bootstrap:function(){return i},error:function(){return k},event:function(){return o},info:function(){return n},prefixes:function(){return f},ready:function(){return m},trace:function(){return p},wait:function(){return j},warn:function(){return l},warnOnce:function(){return r}});let d=c(95884),e=c(80649),f={wait:(0,d.white)((0,d.bold)("○")),error:(0,d.red)((0,d.bold)("⨯")),warn:(0,d.yellow)((0,d.bold)("⚠")),ready:"▲",info:(0,d.white)((0,d.bold)(" ")),event:(0,d.green)((0,d.bold)("✓")),trace:(0,d.magenta)((0,d.bold)("\xbb"))},g={log:"log",warn:"warn",error:"error"};function h(a,...b){(""===b[0]||void 0===b[0])&&1===b.length&&b.shift();let c=a in g?g[a]:"log",d=f[a];0===b.length?console[c](""):1===b.length&&"string"==typeof b[0]?console[c](" "+d+" "+b[0]):console[c](" "+d,...b)}function i(...a){console.log(" "+a.join(" "))}function j(...a){h("wait",...a)}function k(...a){h("error",...a)}function l(...a){h("warn",...a)}function m(...a){h("ready",...a)}function n(...a){h("info",...a)}function o(...a){h("event",...a)}function p(...a){h("trace",...a)}let q=new e.LRUCache(1e4,a=>a.length);function r(...a){let b=a.join(" ");q.has(b)||(q.set(b,b),l(...a))}},92486:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{fnv1a52:function(){return c},generateETag:function(){return d}});let c=a=>{let b=a.length,c=0,d=0,e=8997,f=0,g=33826,h=0,i=40164,j=0,k=52210;for(;c<b;)e^=a.charCodeAt(c++),d=435*e,f=435*g,h=435*i,j=435*k,h+=e<<8,j+=g<<8,f+=d>>>16,e=65535&d,h+=f>>>16,g=65535&f,k=j+(h>>>16)&65535,i=65535&h;return(15&k)*0x1000000000000+0x100000000*i+65536*g+(e^k>>4)},d=(a,b=!1)=>(b?'W/"':'"')+c(a).toString(36)+a.length.toString(36)+'"'},95884:(a,b)=>{"use strict";var c;Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{bgBlack:function(){return A},bgBlue:function(){return E},bgCyan:function(){return G},bgGreen:function(){return C},bgMagenta:function(){return F},bgRed:function(){return B},bgWhite:function(){return H},bgYellow:function(){return D},black:function(){return q},blue:function(){return u},bold:function(){return j},cyan:function(){return x},dim:function(){return k},gray:function(){return z},green:function(){return s},hidden:function(){return o},inverse:function(){return n},italic:function(){return l},magenta:function(){return v},purple:function(){return w},red:function(){return r},reset:function(){return i},strikethrough:function(){return p},underline:function(){return m},white:function(){return y},yellow:function(){return t}});let{env:d,stdout:e}=(null==(c=globalThis)?void 0:c.process)??{},f=d&&!d.NO_COLOR&&(d.FORCE_COLOR||(null==e?void 0:e.isTTY)&&!d.CI&&"dumb"!==d.TERM),g=(a,b,c,d)=>{let e=a.substring(0,d)+c,f=a.substring(d+b.length),h=f.indexOf(b);return~h?e+g(f,b,c,h):e+f},h=(a,b,c=a)=>f?d=>{let e=""+d,f=e.indexOf(b,a.length);return~f?a+g(e,b,c,f)+b:a+e+b}:String,i=f?a=>`\x1b[0m${a}\x1b[0m`:String,j=h("\x1b[1m","\x1b[22m","\x1b[22m\x1b[1m"),k=h("\x1b[2m","\x1b[22m","\x1b[22m\x1b[2m"),l=h("\x1b[3m","\x1b[23m"),m=h("\x1b[4m","\x1b[24m"),n=h("\x1b[7m","\x1b[27m"),o=h("\x1b[8m","\x1b[28m"),p=h("\x1b[9m","\x1b[29m"),q=h("\x1b[30m","\x1b[39m"),r=h("\x1b[31m","\x1b[39m"),s=h("\x1b[32m","\x1b[39m"),t=h("\x1b[33m","\x1b[39m"),u=h("\x1b[34m","\x1b[39m"),v=h("\x1b[35m","\x1b[39m"),w=h("\x1b[38;2;173;127;168m","\x1b[39m"),x=h("\x1b[36m","\x1b[39m"),y=h("\x1b[37m","\x1b[39m"),z=h("\x1b[90m","\x1b[39m"),A=h("\x1b[40m","\x1b[49m"),B=h("\x1b[41m","\x1b[49m"),C=h("\x1b[42m","\x1b[49m"),D=h("\x1b[43m","\x1b[49m"),E=h("\x1b[44m","\x1b[49m"),F=h("\x1b[45m","\x1b[49m"),G=h("\x1b[46m","\x1b[49m"),H=h("\x1b[47m","\x1b[49m")}};
19
+ `))}})}async function B(a,{suffix:b,inlinedDataStream:c,isStaticGeneration:d,isBuildTimePrerendering:e,buildId:h,getServerInsertedHTML:i,getServerInsertedMetadata:j,validateRootLayout:k}){let l,n,o=b?b.split(y,1)[0]:null;d&&await a.allReady;var p=[s(),t(e,h),v(j),null!=o&&o.length>0?(n=!1,new TransformStream({transform(a,b){if(b.enqueue(a),!n){n=!0;let a=new f.DetachedPromise;l=a,(0,g.scheduleImmediate)(()=>{try{b.enqueue(m.encode(o))}catch{}finally{l=void 0,a.resolve()}})}},flush(a){if(l)return l.promise;n||a.enqueue(m.encode(o))}})):null,c?x(c,!0):null,k?A():null,z(),w(i)];let q=a;for(let a of p)a&&(q=q.pipeThrough(a));return q}async function C(a,{getServerInsertedHTML:b,getServerInsertedMetadata:c}){return a.pipeThrough(s()).pipeThrough(new TransformStream({transform(a,b){(0,i.isEquivalentUint8Arrays)(a,h.ENCODED_TAGS.CLOSED.BODY_AND_HTML)||(0,i.isEquivalentUint8Arrays)(a,h.ENCODED_TAGS.CLOSED.BODY)||(0,i.isEquivalentUint8Arrays)(a,h.ENCODED_TAGS.CLOSED.HTML)||(a=(0,i.removeFromUint8Array)(a,h.ENCODED_TAGS.CLOSED.BODY),a=(0,i.removeFromUint8Array)(a,h.ENCODED_TAGS.CLOSED.HTML),b.enqueue(a))}})).pipeThrough(w(b)).pipeThrough(v(c))}async function D(a,{inlinedDataStream:b,getServerInsertedHTML:c,getServerInsertedMetadata:d,isBuildTimePrerendering:e,buildId:f}){return a.pipeThrough(s()).pipeThrough(t(e,f)).pipeThrough(w(c)).pipeThrough(v(d)).pipeThrough(x(b,!0)).pipeThrough(z())}async function E(a,{delayDataUntilFirstHtmlChunk:b,inlinedDataStream:c,getServerInsertedHTML:d,getServerInsertedMetadata:e}){return a.pipeThrough(s()).pipeThrough(w(d)).pipeThrough(v(e)).pipeThrough(x(c,b)).pipeThrough(z())}function F(){return o(y)}},64588:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{getClientComponentLoaderMetrics:function(){return g},wrapClientComponentLoader:function(){return f}});let c=0,d=0,e=0;function f(a){return"performance"in globalThis?{require:(...b)=>{let f=performance.now();0===c&&(c=f);try{return e+=1,a.__next_app__.require(...b)}finally{d+=performance.now()-f}},loadChunk:(...b)=>{let c=performance.now(),e=a.__next_app__.loadChunk(...b);return e.finally(()=>{d+=performance.now()-c}),e}}:a.__next_app__}function g(a={}){let b=0===c?void 0:{clientComponentLoadStart:c,clientComponentLoadTimes:d,clientComponentLoadCount:e};return a.reset&&(c=0,d=0,e=0),b}},64887:(a,b)=>{"use strict";function c(a,b){if(0===b.length)return 0;if(0===a.length||b.length>a.length)return -1;for(let c=0;c<=a.length-b.length;c++){let d=!0;for(let e=0;e<b.length;e++)if(a[c+e]!==b[e]){d=!1;break}if(d)return c}return -1}function d(a,b){if(a.length!==b.length)return!1;for(let c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}function e(a,b){let d=c(a,b);if(0===d)return a.subarray(b.length);if(!(d>-1))return a;{let c=new Uint8Array(a.length-b.length);return c.set(a.slice(0,d)),c.set(a.slice(d+b.length),d),c}}Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{indexOfUint8Array:function(){return c},isEquivalentUint8Arrays:function(){return d},removeFromUint8Array:function(){return e}})},67315:(a,b,c)=>{"use strict";Object.defineProperty(b,"U",{enumerable:!0,get:function(){return A}});let d=c(6651),e=c(34626),f=c(47392),g=c(82865),h=c(17954),i=c(43357),j=c(14663),k=c(1628),l=c(27860),m=c(8833),n=c(8423),o=c(25106),p=c(47274),q=z(c(33873)),r=c(47366),s=z(c(62153)),t=c(42811),u=c(46060),v=c(23830),w=c(84580),x=c(34392),y=c(56001);function z(a){return a&&a.__esModule?a:{default:a}}let A=({srcPage:a,config:b,userland:c,routeModule:z,isFallbackError:A,getStaticPaths:B,getStaticProps:C,getServerSideProps:D})=>async function(E,F,G){var H,I;let J=a;"/index"===J&&(J="/");let K=await z.prepare(E,F,{srcPage:J,multiZoneDraftMode:!1});if(!K){F.statusCode=400,F.end("Bad Request"),null==G.waitUntil||G.waitUntil.call(G,Promise.resolve());return}let{buildId:L,query:M,params:N,parsedUrl:O,originalQuery:P,originalPathname:Q,buildManifest:R,fallbackBuildManifest:S,nextFontManifest:T,serverFilesManifest:U,reactLoadableManifest:V,prerenderManifest:W,isDraftMode:X,isOnDemandRevalidate:Y,revalidateOnlyGenerated:Z,locale:$,locales:_,defaultLocale:aa,routerServerContext:ab,nextConfig:ac,resolvedPathname:ad}=K,ae=null==U||null==(I=U.config)||null==(H=I.experimental)?void 0:H.isExperimentalCompile,af=!!D,ag=!!C,ah=!!B,ai=!!(c.default||c).getInitialProps,aj=M.amp&&(null==b?void 0:b.amp),ak=null,al=!1,am=K.isNextDataRequest&&(ag||af),an="/404"===J,ao="/500"===J,ap="/_error"===J;if(z.isDev||X||!ag||(ak=`${$?`/${$}`:""}${("/"===J||"/"===ad)&&$?"":ad}${aj?".amp":""}`,(an||ao||ap)&&(ak=`${$?`/${$}`:""}${J}${aj?".amp":""}`),ak="/index"===ak?"/":ak),ah&&!X){let a=(0,y.removeTrailingSlash)($?(0,x.addPathPrefix)(ad,`/${$}`):ad),b=!!W.routes[a]||W.notFoundRoutes.includes(a),c=W.dynamicRoutes[J];if(c){if(!1===c.fallback&&!b)throw new u.NoFallbackError;"string"!=typeof c.fallback||b||am||(al=!0)}}(al&&(0,w.isBot)(E.headers["user-agent"]||"")||(0,h.getRequestMeta)(E,"minimalMode"))&&(al=!1);let aq=(0,f.getTracer)(),ar=aq.getActiveScopeSpan();try{let a=E.method||"GET",u=(0,g.formatUrl)({pathname:ac.trailingSlash?O.pathname:(0,y.removeTrailingSlash)(O.pathname||"/"),query:ag?{}:P}),w=(null==ab?void 0:ab.publicRuntimeConfig)||ac.publicRuntimeConfig,x=async f=>{var x,y;let H,I=async({previousCacheEntry:m})=>{var n;let o=async()=>{try{var d,n,o;return await z.render(E,F,{query:ag&&!ae?{...N,...aj?{amp:M.amp}:{}}:{...M,...N},params:N,page:J,renderContext:{isDraftMode:X,isFallback:al,developmentNotFoundSourcePage:(0,h.getRequestMeta)(E,"developmentNotFoundSourcePage")},sharedContext:{buildId:L,customServer:!!(null==ab?void 0:ab.isCustomServer)||void 0,deploymentId:!1},renderOpts:{params:N,routeModule:z,page:J,pageConfig:b||{},Component:(0,i.interopDefault)(c),ComponentMod:c,getStaticProps:C,getStaticPaths:B,getServerSideProps:D,supportsDynamicResponse:!ag,buildManifest:A?S:R,nextFontManifest:T,reactLoadableManifest:V,assetPrefix:ac.assetPrefix,previewProps:W.preview,images:ac.images,nextConfigOutput:ac.output,optimizeCss:!!ac.experimental.optimizeCss,nextScriptWorkers:!!ac.experimental.nextScriptWorkers,domainLocales:null==(d=ac.i18n)?void 0:d.domains,crossOrigin:ac.crossOrigin,multiZoneDraftMode:!1,basePath:ac.basePath,canonicalBase:ac.amp.canonicalBase||"",ampOptimizerConfig:null==(n=ac.experimental.amp)?void 0:n.optimizer,disableOptimizedLoading:ac.experimental.disableOptimizedLoading,largePageDataBytes:ac.experimental.largePageDataBytes,runtimeConfig:Object.keys(w).length>0?w:void 0,isExperimentalCompile:ae,experimental:{clientTraceMetadata:ac.experimental.clientTraceMetadata||[]},locale:$,locales:_,defaultLocale:aa,setIsrStatus:null==ab?void 0:ab.setIsrStatus,isNextDataRequest:am&&(af||ag),resolvedUrl:u,resolvedAsPath:af||ai?(0,g.formatUrl)({pathname:am?(0,k.normalizeDataPath)(Q):Q,query:P}):u,isOnDemandRevalidate:Y,ErrorDebug:(0,h.getRequestMeta)(E,"PagesErrorDebug"),err:(0,h.getRequestMeta)(E,"invokeError"),dev:z.isDev,distDir:q.default.join(process.cwd(),z.relativeProjectDir,z.distDir),ampSkipValidation:null==(o=ac.experimental.amp)?void 0:o.skipValidation,ampValidator:(0,h.getRequestMeta)(E,"ampValidator")}}).then(a=>{let{metadata:b}=a,c=b.cacheControl;return"isNotFound"in b&&b.isNotFound?{value:null,cacheControl:c}:b.isRedirect?{value:{kind:l.CachedRouteKind.REDIRECT,props:b.pageData??b.flightData},cacheControl:c}:{value:{kind:l.CachedRouteKind.PAGES,html:a,pageData:a.metadata.pageData,headers:a.metadata.headers,status:a.metadata.statusCode},cacheControl:c}}).finally(()=>{if(!f)return;f.setAttributes({"http.status_code":F.statusCode,"next.rsc":!1});let b=aq.getRootSpanAttributes();if(!b)return;if(b.get("next.span_type")!==e.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${b.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let c=b.get("next.route");if(c){let b=`${a} ${c}`;f.setAttributes({"next.route":c,"http.route":c,"next.span_name":b}),f.updateName(b)}else f.updateName(`${a} ${E.url}`)})}catch(a){throw(null==m?void 0:m.isStale)&&await z.onRequestError(E,a,{routerKind:"Pages Router",routePath:J,routeType:"render",revalidateReason:(0,j.getRevalidateReason)({isRevalidate:ag,isOnDemandRevalidate:Y})},ab),a}};if(m&&(al=!1),al){let a=await z.getResponseCache(E).get(z.isDev?null:$?`/${$}${J}`:J,async({previousCacheEntry:a=null})=>z.isDev?o():(0,t.toResponseCacheEntry)(a),{routeKind:d.RouteKind.PAGES,isFallback:!0,isRoutePPREnabled:!1,isOnDemandRevalidate:!1,incrementalCache:await z.getIncrementalCache(E,ac,W),waitUntil:G.waitUntil});if(a)return delete a.cacheControl,a.isMiss=!0,a}return!(0,h.getRequestMeta)(E,"minimalMode")&&Y&&Z&&!m?(F.statusCode=404,F.setHeader("x-nextjs-cache","REVALIDATED"),F.end("This page could not be found"),null):al&&(null==m||null==(n=m.value)?void 0:n.kind)===l.CachedRouteKind.PAGES?{value:{kind:l.CachedRouteKind.PAGES,html:new s.default(m.value.html,{contentType:p.HTML_CONTENT_TYPE_HEADER,metadata:{statusCode:m.value.status,headers:m.value.headers}}),pageData:{},status:m.value.status,headers:m.value.headers},cacheControl:{revalidate:0,expire:void 0}}:o()},K=await z.handleResponse({cacheKey:ak,req:E,nextConfig:ac,routeKind:d.RouteKind.PAGES,isOnDemandRevalidate:Y,revalidateOnlyGenerated:Z,waitUntil:G.waitUntil,responseGenerator:I,prerenderManifest:W});if(!al||(null==K?void 0:K.isMiss)||(al=!1),K){if(ag&&!(0,h.getRequestMeta)(E,"minimalMode")&&F.setHeader("x-nextjs-cache",Y?"REVALIDATED":K.isMiss?"MISS":K.isStale?"STALE":"HIT"),!ag||al)F.getHeader("Cache-Control")||(H={revalidate:0,expire:void 0});else if(an){let a=(0,h.getRequestMeta)(E,"notFoundRevalidate");H={revalidate:void 0===a?0:a,expire:void 0}}else if(ao)H={revalidate:0,expire:void 0};else if(K.cacheControl)if("number"==typeof K.cacheControl.revalidate){if(K.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${K.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});H={revalidate:K.cacheControl.revalidate,expire:(null==(x=K.cacheControl)?void 0:x.expire)??ac.expireTime}}else H={revalidate:p.CACHE_ONE_YEAR,expire:void 0};if(H&&!F.getHeader("Cache-Control")&&F.setHeader("Cache-Control",(0,m.getCacheControlHeader)(H)),!K.value)return((0,h.addRequestMeta)(E,"notFoundRevalidate",null==(y=K.cacheControl)?void 0:y.revalidate),F.statusCode=404,am)?void F.end('{"notFound":true}'):void((null==ab?void 0:ab.render404)?await ab.render404(E,F,O,!1):F.end("This page could not be found"));if(K.value.kind===l.CachedRouteKind.REDIRECT)if(!am)return await (a=>{let b={destination:a.pageProps.__N_REDIRECT,statusCode:a.pageProps.__N_REDIRECT_STATUS,basePath:a.pageProps.__N_REDIRECT_BASE_PATH},c=(0,o.getRedirectStatus)(b),{basePath:d}=ac;d&&!1!==b.basePath&&b.destination.startsWith("/")&&(b.destination=`${d}${b.destination}`),b.destination.startsWith("/")&&(b.destination=(0,n.normalizeRepeatedSlashes)(b.destination)),F.statusCode=c,F.setHeader("Location",b.destination),c===v.RedirectStatusCode.PermanentRedirect&&F.setHeader("Refresh",`0;url=${b.destination}`),F.end(b.destination)})(K.value.props),null;else{F.setHeader("content-type",p.JSON_CONTENT_TYPE_HEADER),F.end(JSON.stringify(K.value.props));return}if(K.value.kind!==l.CachedRouteKind.PAGES)throw Object.defineProperty(Error("Invariant: received non-pages cache entry in pages handler"),"__NEXT_ERROR_CODE",{value:"E695",enumerable:!1,configurable:!0});if(z.isDev&&F.setHeader("Cache-Control","no-store, must-revalidate"),X&&F.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),(0,h.getRequestMeta)(E,"customErrorRender")||ap&&(0,h.getRequestMeta)(E,"minimalMode")&&500===F.statusCode)return null;await (0,r.sendRenderResult)({req:E,res:F,result:!am||ap||ao?K.value.html:new s.default(JSON.stringify(K.value.pageData),{contentType:p.JSON_CONTENT_TYPE_HEADER,metadata:K.value.html.metadata}),generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,cacheControl:z.isDev?void 0:H})}};ar?await x():await aq.withPropagatedContext(E.headers,()=>aq.trace(e.BaseServerSpan.handleRequest,{spanName:`${a} ${E.url}`,kind:f.SpanKind.SERVER,attributes:{"http.method":a,"http.target":E.url}},x))}catch(a){throw a instanceof u.NoFallbackError||await z.onRequestError(E,a,{routerKind:"Pages Router",routePath:J,routeType:"render",revalidateReason:(0,j.getRevalidateReason)({isRevalidate:ag,isOnDemandRevalidate:Y})},ab),a}}},71927:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{INTERNALS:function(){return h},NextRequest:function(){return i}});let d=c(54547),e=c(15707),f=c(12606),g=c(13653),h=Symbol("internal request");class i extends Request{constructor(a,b={}){let c="string"!=typeof a&&"url"in a?a.url:String(a);(0,e.validateURL)(c),b.body&&"half"!==b.duplex&&(b.duplex="half"),a instanceof Request?super(a,b):super(c,b);let f=new d.NextURL(c,{headers:(0,e.toNodeOutgoingHttpHeaders)(this.headers),nextConfig:b.nextConfig});this[h]={cookies:new g.RequestCookies(this.headers),nextUrl:f,url:f.toString()}}[Symbol.for("edge-runtime.inspect.custom")](){return{cookies:this.cookies,nextUrl:this.nextUrl,url:this.url,bodyUsed:this.bodyUsed,cache:this.cache,credentials:this.credentials,destination:this.destination,headers:Object.fromEntries(this.headers),integrity:this.integrity,keepalive:this.keepalive,method:this.method,mode:this.mode,redirect:this.redirect,referrer:this.referrer,referrerPolicy:this.referrerPolicy,signal:this.signal}}get cookies(){return this[h].cookies}get nextUrl(){return this[h].nextUrl}get page(){throw new f.RemovedPageError}get ua(){throw new f.RemovedUAError}get url(){return this[h].url}}},75097:a=>{"use strict";var b=Object.defineProperty,c=Object.getOwnPropertyDescriptor,d=Object.getOwnPropertyNames,e=Object.prototype.hasOwnProperty,f={};function g(a){var b;let c=["path"in a&&a.path&&`Path=${a.path}`,"expires"in a&&(a.expires||0===a.expires)&&`Expires=${("number"==typeof a.expires?new Date(a.expires):a.expires).toUTCString()}`,"maxAge"in a&&"number"==typeof a.maxAge&&`Max-Age=${a.maxAge}`,"domain"in a&&a.domain&&`Domain=${a.domain}`,"secure"in a&&a.secure&&"Secure","httpOnly"in a&&a.httpOnly&&"HttpOnly","sameSite"in a&&a.sameSite&&`SameSite=${a.sameSite}`,"partitioned"in a&&a.partitioned&&"Partitioned","priority"in a&&a.priority&&`Priority=${a.priority}`].filter(Boolean),d=`${a.name}=${encodeURIComponent(null!=(b=a.value)?b:"")}`;return 0===c.length?d:`${d}; ${c.join("; ")}`}function h(a){let b=new Map;for(let c of a.split(/; */)){if(!c)continue;let a=c.indexOf("=");if(-1===a){b.set(c,"true");continue}let[d,e]=[c.slice(0,a),c.slice(a+1)];try{b.set(d,decodeURIComponent(null!=e?e:"true"))}catch{}}return b}function i(a){if(!a)return;let[[b,c],...d]=h(a),{domain:e,expires:f,httponly:g,maxage:i,path:l,samesite:m,secure:n,partitioned:o,priority:p}=Object.fromEntries(d.map(([a,b])=>[a.toLowerCase().replace(/-/g,""),b]));{var q,r,s={name:b,value:decodeURIComponent(c),domain:e,...f&&{expires:new Date(f)},...g&&{httpOnly:!0},..."string"==typeof i&&{maxAge:Number(i)},path:l,...m&&{sameSite:j.includes(q=(q=m).toLowerCase())?q:void 0},...n&&{secure:!0},...p&&{priority:k.includes(r=(r=p).toLowerCase())?r:void 0},...o&&{partitioned:!0}};let a={};for(let b in s)s[b]&&(a[b]=s[b]);return a}}((a,c)=>{for(var d in c)b(a,d,{get:c[d],enumerable:!0})})(f,{RequestCookies:()=>l,ResponseCookies:()=>m,parseCookie:()=>h,parseSetCookie:()=>i,stringifyCookie:()=>g}),a.exports=((a,f,g,h)=>{if(f&&"object"==typeof f||"function"==typeof f)for(let g of d(f))e.call(a,g)||void 0===g||b(a,g,{get:()=>f[g],enumerable:!(h=c(f,g))||h.enumerable});return a})(b({},"__esModule",{value:!0}),f);var j=["strict","lax","none"],k=["low","medium","high"],l=class{constructor(a){this._parsed=new Map,this._headers=a;let b=a.get("cookie");if(b)for(let[a,c]of h(b))this._parsed.set(a,{name:a,value:c})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...a){let b="string"==typeof a[0]?a[0]:a[0].name;return this._parsed.get(b)}getAll(...a){var b;let c=Array.from(this._parsed);if(!a.length)return c.map(([a,b])=>b);let d="string"==typeof a[0]?a[0]:null==(b=a[0])?void 0:b.name;return c.filter(([a])=>a===d).map(([a,b])=>b)}has(a){return this._parsed.has(a)}set(...a){let[b,c]=1===a.length?[a[0].name,a[0].value]:a,d=this._parsed;return d.set(b,{name:b,value:c}),this._headers.set("cookie",Array.from(d).map(([a,b])=>g(b)).join("; ")),this}delete(a){let b=this._parsed,c=Array.isArray(a)?a.map(a=>b.delete(a)):b.delete(a);return this._headers.set("cookie",Array.from(b).map(([a,b])=>g(b)).join("; ")),c}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(a=>`${a.name}=${encodeURIComponent(a.value)}`).join("; ")}},m=class{constructor(a){var b,c,d;this._parsed=new Map,this._headers=a;let e=null!=(d=null!=(c=null==(b=a.getSetCookie)?void 0:b.call(a))?c:a.get("set-cookie"))?d:[];for(let a of Array.isArray(e)?e:function(a){if(!a)return[];var b,c,d,e,f,g=[],h=0;function i(){for(;h<a.length&&/\s/.test(a.charAt(h));)h+=1;return h<a.length}for(;h<a.length;){for(b=h,f=!1;i();)if(","===(c=a.charAt(h))){for(d=h,h+=1,i(),e=h;h<a.length&&"="!==(c=a.charAt(h))&&";"!==c&&","!==c;)h+=1;h<a.length&&"="===a.charAt(h)?(f=!0,h=e,g.push(a.substring(b,d)),b=h):h=d+1}else h+=1;(!f||h>=a.length)&&g.push(a.substring(b,a.length))}return g}(e)){let b=i(a);b&&this._parsed.set(b.name,b)}}get(...a){let b="string"==typeof a[0]?a[0]:a[0].name;return this._parsed.get(b)}getAll(...a){var b;let c=Array.from(this._parsed.values());if(!a.length)return c;let d="string"==typeof a[0]?a[0]:null==(b=a[0])?void 0:b.name;return c.filter(a=>a.name===d)}has(a){return this._parsed.has(a)}set(...a){let[b,c,d]=1===a.length?[a[0].name,a[0].value,a[0]]:a,e=this._parsed;return e.set(b,function(a={name:"",value:""}){return"number"==typeof a.expires&&(a.expires=new Date(a.expires)),a.maxAge&&(a.expires=new Date(Date.now()+1e3*a.maxAge)),(null===a.path||void 0===a.path)&&(a.path="/"),a}({name:b,value:c,...d})),function(a,b){for(let[,c]of(b.delete("set-cookie"),a)){let a=g(c);b.append("set-cookie",a)}}(e,this._headers),this}delete(...a){let[b,c]="string"==typeof a[0]?[a[0]]:[a[0].name,a[0]];return this.set({...c,name:b,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(g).join("; ")}}},76017:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{isNodeNextRequest:function(){return e},isNodeNextResponse:function(){return f},isWebNextRequest:function(){return c},isWebNextResponse:function(){return d}});let c=a=>!1,d=a=>!1,e=a=>!0,f=a=>!0},80551:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{CachedRouteKind:function(){return c},IncrementalCacheKind:function(){return d}});var c=function(a){return a.APP_PAGE="APP_PAGE",a.APP_ROUTE="APP_ROUTE",a.PAGES="PAGES",a.FETCH="FETCH",a.REDIRECT="REDIRECT",a.IMAGE="IMAGE",a}({}),d=function(a){return a.APP_PAGE="APP_PAGE",a.APP_ROUTE="APP_ROUTE",a.PAGES="PAGES",a.FETCH="FETCH",a.IMAGE="IMAGE",a}({})},80649:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"LRUCache",{enumerable:!0,get:function(){return e}});class c{constructor(a,b,c){this.prev=null,this.next=null,this.key=a,this.data=b,this.size=c}}class d{constructor(){this.prev=null,this.next=null}}class e{constructor(a,b,c){this.cache=new Map,this.totalSize=0,this.maxSize=a,this.calculateSize=b,this.onEvict=c,this.head=new d,this.tail=new d,this.head.next=this.tail,this.tail.prev=this.head}addToHead(a){a.prev=this.head,a.next=this.head.next,this.head.next.prev=a,this.head.next=a}removeNode(a){a.prev.next=a.next,a.next.prev=a.prev}moveToHead(a){this.removeNode(a),this.addToHead(a)}removeTail(){let a=this.tail.prev;return this.removeNode(a),a}set(a,b){let d=(null==this.calculateSize?void 0:this.calculateSize.call(this,b))??1;if(d<=0)throw Object.defineProperty(Error(`LRUCache: calculateSize returned ${d}, but size must be > 0. Items with size 0 would never be evicted, causing unbounded cache growth.`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});if(d>this.maxSize)return console.warn("Single item size exceeds maxSize"),!1;let e=this.cache.get(a);if(e)e.data=b,this.totalSize=this.totalSize-e.size+d,e.size=d,this.moveToHead(e);else{let e=new c(a,b,d);this.cache.set(a,e),this.addToHead(e),this.totalSize+=d}for(;this.totalSize>this.maxSize&&this.cache.size>0;){let a=this.removeTail();this.cache.delete(a.key),this.totalSize-=a.size,null==this.onEvict||this.onEvict.call(this,a.key,a.data)}return!0}has(a){return this.cache.has(a)}get(a){let b=this.cache.get(a);if(b)return this.moveToHead(b),b.data}*[Symbol.iterator](){let a=this.head.next;for(;a&&a!==this.tail;){let b=a;yield[b.key,b.data],a=a.next}}remove(a){let b=this.cache.get(a);b&&(this.removeNode(b),this.cache.delete(a),this.totalSize-=b.size)}get size(){return this.cache.size}get currentSize(){return this.totalSize}}},89429:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"DetachedPromise",{enumerable:!0,get:function(){return c}});class c{constructor(){let a,b;this.promise=new Promise((c,d)=>{a=c,b=d}),this.resolve=a,this.reject=b}}},90252:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{bootstrap:function(){return i},error:function(){return k},event:function(){return o},info:function(){return n},prefixes:function(){return f},ready:function(){return m},trace:function(){return p},wait:function(){return j},warn:function(){return l},warnOnce:function(){return r}});let d=c(95884),e=c(80649),f={wait:(0,d.white)((0,d.bold)("○")),error:(0,d.red)((0,d.bold)("⨯")),warn:(0,d.yellow)((0,d.bold)("⚠")),ready:"▲",info:(0,d.white)((0,d.bold)(" ")),event:(0,d.green)((0,d.bold)("✓")),trace:(0,d.magenta)((0,d.bold)("\xbb"))},g={log:"log",warn:"warn",error:"error"};function h(a,...b){(""===b[0]||void 0===b[0])&&1===b.length&&b.shift();let c=a in g?g[a]:"log",d=f[a];0===b.length?console[c](""):1===b.length&&"string"==typeof b[0]?console[c](" "+d+" "+b[0]):console[c](" "+d,...b)}function i(...a){console.log(" "+a.join(" "))}function j(...a){h("wait",...a)}function k(...a){h("error",...a)}function l(...a){h("warn",...a)}function m(...a){h("ready",...a)}function n(...a){h("info",...a)}function o(...a){h("event",...a)}function p(...a){h("trace",...a)}let q=new e.LRUCache(1e4,a=>a.length);function r(...a){let b=a.join(" ");q.has(b)||(q.set(b,b),l(...a))}},92486:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{fnv1a52:function(){return c},generateETag:function(){return d}});let c=a=>{let b=a.length,c=0,d=0,e=8997,f=0,g=33826,h=0,i=40164,j=0,k=52210;for(;c<b;)e^=a.charCodeAt(c++),d=435*e,f=435*g,h=435*i,j=435*k,h+=e<<8,j+=g<<8,f+=d>>>16,e=65535&d,h+=f>>>16,g=65535&f,k=j+(h>>>16)&65535,i=65535&h;return(15&k)*0x1000000000000+0x100000000*i+65536*g+(e^k>>4)},d=(a,b=!1)=>(b?'W/"':'"')+c(a).toString(36)+a.length.toString(36)+'"'},95884:(a,b)=>{"use strict";var c;Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{bgBlack:function(){return A},bgBlue:function(){return E},bgCyan:function(){return G},bgGreen:function(){return C},bgMagenta:function(){return F},bgRed:function(){return B},bgWhite:function(){return H},bgYellow:function(){return D},black:function(){return q},blue:function(){return u},bold:function(){return j},cyan:function(){return x},dim:function(){return k},gray:function(){return z},green:function(){return s},hidden:function(){return o},inverse:function(){return n},italic:function(){return l},magenta:function(){return v},purple:function(){return w},red:function(){return r},reset:function(){return i},strikethrough:function(){return p},underline:function(){return m},white:function(){return y},yellow:function(){return t}});let{env:d,stdout:e}=(null==(c=globalThis)?void 0:c.process)??{},f=d&&!d.NO_COLOR&&(d.FORCE_COLOR||(null==e?void 0:e.isTTY)&&!d.CI&&"dumb"!==d.TERM),g=(a,b,c,d)=>{let e=a.substring(0,d)+c,f=a.substring(d+b.length),h=f.indexOf(b);return~h?e+g(f,b,c,h):e+f},h=(a,b,c=a)=>f?d=>{let e=""+d,f=e.indexOf(b,a.length);return~f?a+g(e,b,c,f)+b:a+e+b}:String,i=f?a=>`\x1b[0m${a}\x1b[0m`:String,j=h("\x1b[1m","\x1b[22m","\x1b[22m\x1b[1m"),k=h("\x1b[2m","\x1b[22m","\x1b[22m\x1b[2m"),l=h("\x1b[3m","\x1b[23m"),m=h("\x1b[4m","\x1b[24m"),n=h("\x1b[7m","\x1b[27m"),o=h("\x1b[8m","\x1b[28m"),p=h("\x1b[9m","\x1b[29m"),q=h("\x1b[30m","\x1b[39m"),r=h("\x1b[31m","\x1b[39m"),s=h("\x1b[32m","\x1b[39m"),t=h("\x1b[33m","\x1b[39m"),u=h("\x1b[34m","\x1b[39m"),v=h("\x1b[35m","\x1b[39m"),w=h("\x1b[38;2;173;127;168m","\x1b[39m"),x=h("\x1b[36m","\x1b[39m"),y=h("\x1b[37m","\x1b[39m"),z=h("\x1b[90m","\x1b[39m"),A=h("\x1b[40m","\x1b[49m"),B=h("\x1b[41m","\x1b[49m"),C=h("\x1b[42m","\x1b[49m"),D=h("\x1b[43m","\x1b[49m"),E=h("\x1b[44m","\x1b[49m"),F=h("\x1b[45m","\x1b[49m"),G=h("\x1b[46m","\x1b[49m"),H=h("\x1b[47m","\x1b[49m")}};