PageSourceSearch

https://cdn.pacdora.com/_pacui/assets/useInfo-BcAkHivKeB.js

js pacdora.com collected 2026-10-03 22:11:29 UTC 77,291 bytes, 21 lines download raw bytes

1import{r as e}from"./rolldown-runtime-CMxvf4Ktp1.js";import{$ as t,$t as n,Ai as r,An as i,Bn as a,Ct as o,Fn as s,G as c,Hr as l,Kn as u,Mn as d,Qi as f,St as p,Tt as m,Un as h,Vt as g,Zi as _,bt as v,ct as y,da as b,dt as ee,er as te,gr as x,ia as S,kn as C,kr as w,nt as T,qn as ne,ra as re}from"./src-D9GYhO4rRw.js";import{Jt as ie,K as E,W as ae,an as D,ft as O}from"./vue-DR-_0DQxXA.js";import{C as oe,Jn as k,d as se,f as A,o as ce,s as le}from"./pacdora-3d-wnulKoNRJ_.js";import{t as ue}from"./payEffect-D1Rq6QLNPy.js";import{n as de}from"./useExportLimit-Bxc94NWiul.js";import{n as fe,s as pe,t as me}from"./Calc-_loo-hcbnt.js";import{g as he}from"./creditEffect-Dd7Oqm0c3E.js";import{t as j}from"./Date-DT3R-DfHsl.js";import{g as ge,m as _e,v as ve,y as ye}from"./boxMaterialSpherePresetApplier-DreQocAhqt.js";import{i as be}from"./useGlobal-BxA8x9BHT1.js";import{i as xe}from"./src-xsB56KtaP7.js";import{r as Se}from"./Jump-5m19cvr5qJ.js";import{t as Ce}from"./useRender-DyEBaTnkLt.js";import{t as we}from"./scene-C8OAcv9tzS.js";import{n as Te}from"./Constant-DGqXw_lvC1.js";import{n as Ee,t as De}from"./boxMaterialSpherePresetModelData-D4DDOz-Hvm.js";var Oe=6e4;function ke(e){var t;return(e==null?void 0:e.type)===`timeout`||(e==null?void 0:e.type)===`offline`||(e==null||(t=e.error)==null?void 0:t.code)===`ECONNABORTED`}async function Ae(e,t={}){let n={...t,timeout:Oe};try{return await p(e,n)}catch(t){if(!ke(t))throw t;return console.warn(`Retry mockup boot request:`,e.url,t),p(e,n)}}var je=async(e,t=!0)=>await N(await Ae({url:`/api/v2/models/details`,method:`GET`,params:e},{responseType:`service`,needJump403:t})),Me=async e=>N(await p({url:`/api/v2/models/public/seedforge-template`,method:`GET`,params:{modelNo:e}},{responseType:`service`}),!0);async function Ne(e){let t=await fetch(`/seedforge/model/api/v1/published-assemblies/${encodeURIComponent(e)}`,{credentials:`same-origin`,cache:`no-store`});if(t.status===404)return!1;if(!t.ok)throw Error(`SeedForge assembly request failed: ${t.status}`);let n=await t.json();return!!(n&&typeof n.root_id==`string`&&Array.isArray(n.nodes))}var Pe=async(e,t=!0)=>await N(await p({url:`/api/v2/models/search`,method:`GET`,params:{nums:e,cache:t}},{responseType:`service`})),Fe=async(e,t)=>{let n=new URLSearchParams(window.location.search);return await N(await Ae({url:`/api/v2/models/preview`,method:`GET`,params:{id:e,blankSettingId:t,templateId:n.get(`preview`)||n.get(`template_id`)}},{responseType:`service`}))},Ie=async(e,t,n,r={})=>await N(await Ae({method:`GET`,url:`/api/v2/project/knife`,params:{id:e,bleed:t,export_type:n,...r.science_id===void 0?{}
1:{science_id:r.science_id},...r.length===void 0?{}:{length:r.length},...r.width===void 0?{}:{width:r.width},...r.height===void 0?{}:{height:r.height},...r.thickness===void 0?{}:{thickness:r.thickness}}},{responseType:`service`})),Le=async e=>N(await p({url:`/api/v2/projects`,method:`POST`,data:e},{responseType:`service`}));async function M(e){return N(await p({method:`PUT`,url:`/api/v2/projects`,data:e},{responseType:`service`}))}async function Re(e,t=!1){return await p({method:`PUT`,url:`/api/v2/projects`,data:e},{responseType:`service`,hideMsg:t})}var ze=async(e,t)=>N(await Ae({method:`GET`,url:`/api/v2/projects/info`,params:{id:e,...t&&{templateId:t}}},{responseType:`service`})),Be=async(e,t,n)=>await N(await p({method:`POST`,url:`/api/v2/box/view`,data:{cateNo:e,image:t,params:n}},{responseType:`service`})),Ve=async e=>await N(await p({method:`get`,url:`/api/v2/box/view/${e}`},{responseType:`service`})),He=async e=>await N(await p({method:`DELETE`,url:`/api/v2/box/view/${e}`},{responseType:`service`}));async function Ue(e,t){return N(await p({method:`PUT`,url:`/api/v2/blanks/face/${e}`,data:t},{responseType:`service`}))}async function We(){let e=await p({url:`/api/v2/materials/science`,method:`GET`,params:{pageSize:1e3,scienceType:1}});return e==null?void 0:e.filter(e=>
1e.special_type!==`elaborate_face`)}async function Ge(e){return await p({url:`/api/v2/modes/category/info`,method:`GET`,params:{project_id:e,type:`project`}})}async function Ke(e,t,n,r,i,a,o){let s=o!=null&&o!==``;return await N(await p({method:`POST`,url:`/api/v2/box/template/update`,data:{id:e,...t&&{designs:t},...n&&{faceBg:n},...r&&{cover_task_id:r},...i&&{video_task_id:i},...a&&{userData:a},...s&&{blankSettingId:o}}},{responseType:`service`}))}async function qe(e){return await N(await Ae({method:`GET`,url:`/api/v2/box/template/detail`,params:{id:e}},{responseType:`service`}))}async function Je(e,t){return await N(await p({method:`POST`,url:`/api/v2/box/template/update`,data:{id:e,promptJson:t}},{responseType:`service`}))}async function Ye(e){return await N(await p({method:`POST`,url:`/api/v2/box/template/generate-prompt-json`,data:e},{responseType:`service`}))}var Xe=async e=>N(await p({method:`GET`,url:`/api/v2/simple/video`,params:e},{responseType:`service`})),Ze=async e=>N(await p({url:`/api/v2/simplerender`,method:`POST`,data:e},{responseType:`service`})),Qe=async e=>N(await p({url:`/api/v2/box/export/scene/video`,method:`POST`,data:e},{responseType:`service`})),$e=async e=>N(await p({url:`/api/v2/project/render/config`,method:`POST`,data:e},{responseType:`service`})),et=`PROJECT_SHARED`;async function tt({params:e,add:t,find:n}){try{return await t(e)}catch(t){if(!(t instanceof Error)||t.message!==et)throw t;let r=await n(e.project_id,e.source);if(r!=null&&r.filter_url)return r;throw t}}function nt(){let e=b.get(`token`);return e?{authorization:e}:void 0}var rt=async(e,t=!1)=>N(await p({url:`/api/v2/project/share/find`,method:`GET`,params:{project_id:e.project_id,source:e.source},headers:nt()},{responseType:`service`,hideMsg:t}),t),it=async(e,t=!1)=>{if(e.source!==`share`)return at(e,!1);try{return await tt({params:{...e,source:`share`},add:e=>at(e,!0),find:(e,t)=>rt({project_id:e,source:t},!0)})}catch(e){throw!t&&e instanceof Error&&r({type:`error`,text:e.message}),e}};async function at(e,t){return N(await p({url:`/api/v2/project/share/add`,method:`POST`,data:e,headers:nt()},{responseType:`service`,hideMsg:t}))}var ot=async e=>N(await p({url:`/api/v2/project/share/update`,method:`POST`,data:e,headers:nt()},{responseType:`service`})),st=async(e,t)=>N(await p({url:`/api/v2/blanks/setting`,method:`GET`,params:{modeNo:e,edition:t}},{responseType:`service`})),ct=async e=>N(await p({url:`/api/v2/blanks/setting/all`,method:`GET`,params:{modeNo:e}},{responseType:`service`})),lt=async e=>N(await p({url:`/api/v2/blanks/setting`,method:`POST`,data:e},{responseType:`service`})),ut=async(e,t)=>N(await p({url:`/api/v2/blanks/setting/${e}`,method:`PUT`,data:t},{responseType:`service`})),dt=async(e,t)=>N(await p({url:`/api/v2/image/render/mesh/${e}`,method:`PUT`,data:t},{responseType:`service`})),ft=async e=>N(await p({url:`/api/v2/blanks/setting/${e}`,method:`DELETE`},{responseType:`service`})),pt=async e=>N(await p({url:`/api/v2/art_material/item`,method:`POST`,data:e},{responseType:`service`})),mt=async e=>N(await p({url:`/api/v2/art_material/item`,method:`PUT`,data:e},{responseType:`service`})),ht=async e=>await p({url:`/api/v2/art_material`,method:`GET`,params:e},{responseType:`service`}),gt=async e=>N(await p({url:`/api/v2/art_material/item/${e}`,method:`GET`},{responseType:`service`})),_t=async e=>N(await p({url:`/api/v2/art_material/${e}`,method:`DELETE`},{responseType:`service`})),vt=async()=>N(await p({url:`/api/v2/material_effect`,method:`get`},{responseType:`service`})),yt=async e=>N(await p({url:`/api/v2/blanks/part/group`,method:`PUT`,data:e},{responseType:`service`})),bt=async()=>N(await p({url:`/api/v2/light-template/list`,method:`GET`},{responseType:`service`})),xt=async e=>N(await p({url:`/api/v2/light-template/create`,method:`POST`,data:e},{responseType:`service`})),St=async(e,t)=>N(await p({url:`/api/v2/light-template/${e}`,method:`PUT`,data:t},{responseType:`service`})),Ct=async e=>N(await p({url:`/api/v2/light-template/${e}`,method:`DELETE`},{responseType:`service`})),wt=async e=>N(await p({url:`api/v2/art_camera/item`,method:`POST`,data:e},{responseType:`service`})),Tt=async e=>N(await p({url:`/api/v2/art_camera`,method:`GET`,params:e},{responseType:`service`})),Et=async e=>N(await p({url:`/api/v2/art_camera/${e}`,method:`DELETE`},{responseType:`service`})),N=async(e,t=!1)=>
1{if(e.code===200)return Promise.resolve(e.data);if(e.code===400){let t=Error(e.msg);return t.code=e.code,Promise.reject(t)}else if(e.code===401){t||r({type:`error`,text:e.msg});let n=Error(e.msg);return n.code=e.code,Promise.reject(n)}else{console.error(e.msg);let t=Error(e.msg);return t.code=e.code,Promise.reject(t)}},Dt=new Set([`220010`,`220011`,`220012`,`220013`,`220020`,`220060`]);function Ot(e,t){return t==null||t===``?e[0]:e.find(e=>String(e.id)===String(t))}function kt(e,t,n){var r;if(!Dt.has(String(t)))return;let i=n==null||(r=n.d3Params)==null||(r=r.groups)==null||(r=r[0])==null||(r=r.userData)==null?void 0:r.handbagHandle;if(!i){e.user_data&&delete e.user_data.handbagHandle;return}e.user_data||(e.user_data={}),e.user_data.handbagHandle=JSON.parse(JSON.stringify(i))}function At(e,t,n){kt(e,t,n)}function jt(e){if(e)for(let t in e.layer){let n=e.layer[t];if(n.design_list=typeof n.design_list==`string`?JSON.parse(n.design_list):n.design_list,n.design_list.forEach(e=>{Mt(e,{level:1,layer_name:t}),e.designs&&e.designs.forEach(e=>{Mt(e,{level:2,layer_name:t})})}),n.inside_design_list=typeof n.inside_design_list==`string`?JSON.parse(n.inside_design_list):n.inside_design_list,n.inside_design_list.forEach(e=>{let n=`inside`;Mt(e,{level:1,layer_name:t,side_name:n}),e.designs&&e.designs.forEach(e=>{Mt(e,{level:2,layer_name:t,side_name:n})})}),n.membrane_name===null&&(n.membrane_name=``),n.inside_membrane_name===null&&(n.inside_membrane_name=``),e.cate.complex_type===1&&n.background===null){if(n.science_id===36)return;n.background=`#ffffff`}n.inside_background===null&&(n.inside_background=``),n.line_guides===null&&(n.line_guides=[]),n.face_background===null&&(n.face_background={}),n.inside_face_background===null&&(n.inside_face_background={})}}function Mt(e,{level:t=1,layer_name:n=``,side_name:r=`outside`}){e.style.craft===3&&(e.style.craft=9),e.uuid||(e.uuid=l());let i=[],a={};e.type===`font`?(e.value=(e.value||``).replace(/<div>/g,``),e.value=e.value.replace(/<\/div>/g,`
2`),e.style.craft&&e.style.crafts===void 0&&(e.style.crafts=a,a.metalness=JSON.parse(JSON.stringify(i.filter(t=>t.id===e.style.craft)[0]))),e.style.crafts===void 0&&(e.style.crafts=a),e.style.opacity===void 0&&(e.style.opacity=100),e.style.textAlign||(e.style.textAlign=`left`)):e.type===`img`?(e.src&&/\.svg$/.test(e.src)&&(e.style.craft&&e.style.crafts===void 0&&(e.style.crafts=a,a.metalness=JSON.parse(JSON.stringify(i.filter(t=>t.id===e.style.craft)[0]))),e.style.crafts===void 0&&(e.style.crafts=a),delete e.style.craft),e.bg||(e.bg={x:0,y:0,width:e.style.width,height:e.style.height}),e.isCutout===void 0&&(e.isCutout=!1)):e.type===`barcode`&&(e.style.craft&&e.style.crafts===void 0&&(e.style.crafts=a,a.metalness=JSON.parse(JSON.stringify(i.filter(t=>t.id===e.style.craft)[0]))),e.style.crafts===void 0&&(e.style.crafts=a),delete e.style.craft),e._selected=!1,e._loaded=!1,e.locked===void 0&&(e.locked=!1),e.style.lengthLock===void 0&&(e.style.lengthLock=!1),e.style.rotateX===void 0&&(e.style.rotateX=!1),e.style.rotateY===void 0&&(e.style.rotateY=!1),e.type===`font`&&(e._editing=!1,e.style.vertical===void 0&&(e.style.vertical=0)),e._level=t,e._layer_name=n,e._side_name=r}async function Nt(e,t){return await p({method:`GET`,url:`/api/v2/project/knife`,params:{id:e,bleed:t,export_type:`project`}})}async function Pt(e,t,n){var r,i;let a=t[{id:`size`,ed:`outSize`,dm:`knifeSize`}[e.size_type]],o=JSON.parse(JSON.stringify(e.layer)),s=(e==null||(r=e.cate)==null?void 0:r.elaborate)===1,c=((e==null||(i=e.cate)==null?void 0:i.layerList)??[]).filter(e=>s?e.isGrey:!e.isGrey).map(e=>e.name);if(n&&n.thickness!==void 0){let e=me(n.thickness),t=fe(n.thickness-e,2);c.forEach(r=>{o[r].thickness=n.thickness,o[r].science_id=n.science_id??o[r].science_id,o[r].science_image=n.science_image??o[r].science_image,Object.prototype.hasOwnProperty.call(n,`science_image_repeat`)&&(o[r].science_image_repeat=n.science_image_repeat??null),o[r].science_name=n.science_name??o[r].science_name,o[r].inless=e,o[r].outless=t}),Object.assign(n,{inless:e,outless:t})}
2if(n&&n.science_id!==void 0)for(let e of c){let t=o[e];t.science_id=n.science_id}if(n&&Object.prototype.hasOwnProperty.call(n,`science_image_repeat`))for(let e of c){let t=o[e];t.science_image_repeat=n.science_image_repeat??null}if(n&&n.openParams||n&&n.hasOpenParams){let r=(t.openParams??[]).flat(),i={};r.forEach(e=>{i[e.name]=e.value}),Object.assign(i,n.openParams),n.openParams=i,n.openParams.BL&&(c.forEach(e=>{o[e].bleedline=n.openParams.BL}),e.bleedline=n.openParams.BL,delete n.openParams.BL)}return await p({url:`/api/v2/projects`,method:`PUT`,data:{bleed:e.bleedline,id:e.id,height:a.H,inless:e.inless,layer:o,length:a.L,project_id:e.id,science_id:e.science_id,size_type:e.size_type,thickness:e.thickness,project_name:e.project_name,width:a.W,user_data:e.user_data,...n}},{responseType:`axios`})}var Ft=async e=>{let t=await p({url:`/api/v2/projects/info`,method:`GET`,params:{id:e}});return{project:t,knife:await Nt(t.id,t.bleedline)}};async function It(e,t,n){try{return await Pt(e,t,n),await Ft(e.id)}catch{return{project:e,knife:t}}}async function Lt(e,t,n){try{let i=await Pt(e,t,n);if(i.data.code===422)throw Error(i.data.msg);if(i.data.code===401)throw r({type:`error`,text:i.data.msg}),Error(i.data.msg);return await Ft(e.id)}catch(e){throw Error(e)}}var P=`mockup-detail`,Rt=`(max-width: 979px)`;function zt(){return typeof navigator>`u`?!1:/iPhone|iPod|Android.*Mobile|Windows Phone|IEMobile|Opera Mini|BlackBerry/i.test(navigator.userAgent||``)}function Bt(){return typeof window>`u`?!1:zt()&&window.matchMedia(`(max-width: 979px)`).matches}function Vt(){return Bt()?`mobile`:`desktop`}var Ht={layoutSpacing:!0,layoutPerModelSelect:!0},F=e=>{var t;let n=Ht[e];if(typeof window>`u`)return n;let r=(t=new URLSearchParams(window.location.search).get(e))==null?void 0:t.toLowerCase();return r===`0`||r===`false`||r===`off`?!1:r===`1`||r===`true`||r===`on`?!0:n},Ut=Object.freeze({2698:`vertical-centered`,2725:`vertical-middle-anchor`,2726:`vertical-middle-anchor`}),Wt=new Set([`255`]),Gt=(e,t)=>e!=null&&(String(e).match(/\d+/g)??[]).some(e=>t.has(e)),Kt=(e,t)=>Ut[e]??(Gt(t==null?void 0:t.class2,Wt)?`planar-uniform-gap`:`planar`),qt={autoSave:!0},Jt=({getCurrentState:e,transitionTo:t})=>{let n=Promise.resolve(),r=(r,i={})=>{let a={...qt,...i},o=n.catch(()=>void 0).then(async()=>{let n=await e(),i=r(n);i!==n&&await t(i,a)});return n=o,o};return{ensureState:(e,t)=>r(()=>e,t),toggleState:e=>r(e=>e===`layout`?`original`:`layout`,e)}},I=null,Yt=e=>{I&&I.remove();let t=e.padding??40,n=e.leftMenuWidth,r=e.headerHeight,i=e.rightToolbarWidth,a=e.bottomToolbarHeight;I=document.createElement(`div`),I.id=`layout-debug-overlay`,I.style.cssText=`
3    position: fixed;
4    left: ${n}px;
5    top: ${r}px;
6    right: ${i}px;
7    bottom: ${a}px;
8    border: 3px solid red;
9    pointer-events: none;
10    z-index: 9999;
11    box-sizing: border-box;
12  `;let o=document.createElement(`div`);o.style.cssText=`
13    position: absolute;
14    top: 0;
15    left: 0;
16    background: red;
17    color: white;
18    padding: 4px 8px;
19    font-size: 12px;
20    font-family: monospace;
21  `,o.textContent=`可视区域: ${window.innerWidth-e.leftMenuWidth-e.rightToolbarWidth}x${window.innerHeight-e.headerHeight-e.bottomToolbarHeight} | left:${n} top:${r} right:${i} bottom:${a} | padding:${t}`,I.appendChild(o),document.body.appendChild(I),window.__hideLayoutDebug=()=>{I&&(I.remove(),I=null)},window.__updateLayoutDebug=e=>{I&&(e.left!==void 0&&(I.style.left=`${e.left}px`),e.top!==void 0&&(I.style.top=`${e.top}px`),e.right!==void 0&&(I.style.right=`${e.right}px`),e.bottom!==void 0&&(I.style.bottom=`${e.bottom}px`))}},Xt=e=>e?420:90,Zt=()=>68,Qt=()=>68,$t=24,en=()=>Bt(),tn=(e,t)=>{let n=document.querySelector(t);if(!n)return 0;let r=n.getBoundingClientRect();return Math.max(0,Math.min(r.bottom,e.bottom)-e.top)},nn=(e,t)=>{let n=document.querySelector(t);if(!n)return 0;let r=n.getBoundingClientRect();return Math.max(0,e.bottom-Math.max(r.top,e.top))},rn=e=>{let t=e.getBoundingClientRect();return{leftMenuWidth:0,rightPanelWidth:0,isRightPanelVisible:!1,headerHeight:Math.max(tn(t,`.mobile-app-bar`),tn(t,`.mobile-banner`)),bottomToolbarHeight:nn(t,`.mobile-dock`),canvasOverflow:0,padding:$t}},L={currentState:D(`original`),hasUsedLayout:D(!1),isApplying:D(!1),error:D(null),sceneCache:new Map,switcher:null,d3Name:null,isLayoutViewModified:D(!1),appliedLayoutId:D(void 0),appliedLayoutModelCount:D(0),lastMultiModelLayoutId:D(void 0),appliedFirstSingleModelId:D(void 0),spacingScale:D(1),minSpacingScale:D(0),globalSlotRotationY:D(0),spacingEmitter:null,spacingUpdateHandler:null,globalSlotRotationUpdateHandler:null,selectedSlot:D(null),slotSelectionHandler:null,slotSelectionCommitHandler:null,slotTransformDragEndHandler:null,savedLayoutCamera:null,stateTransitionQueue:null};function an(e){L.d3Name||(L.d3Name=e);let t=async()=>
21{if(!L.switcher){let t=await T(e);L.switcher=new le(t),L.spacingUpdateHandler=({scale:e,minScale:t})=>{L.spacingScale.value=e,L.minSpacingScale.value=t},L.spacingEmitter=t.emitter,t.emitter.on(`layout:spacing-updated`,L.spacingUpdateHandler),L.globalSlotRotationUpdateHandler=({rotationY:e})=>{L.globalSlotRotationY.value=e},t.emitter.on(`layout:global-slot-rotation-updated`,L.globalSlotRotationUpdateHandler),L.slotSelectionHandler=e=>{L.selectedSlot.value=e},L.slotSelectionCommitHandler=()=>{var e,t;(e=(t=window).$track)==null||e.call(t,{event:`TAG_mockup_layout_model_select`})},t.emitter.on(`layout:slot-selected`,L.slotSelectionHandler),t.emitter.on(`layout:slot-select-commit`,L.slotSelectionCommitHandler),L.slotTransformDragEndHandler=e=>{e.transform===`rotation`?v(e.slotKey,e.fromValue,e.toValue):re(e.slotKey,e.fromValue,e.toValue)},t.emitter.on(`layout:slot-transform-drag-end`,L.slotTransformDragEndHandler)}return L.switcher},n=async e=>{try{let t=e.map(async e=>{if(!L.sceneCache.has(e)){let t=await we(e);L.sceneCache.set(e,t)}});await Promise.all(t)}catch(e){console.error(`❌ Failed to preload scenes:`,e),L.error.value=e.message||`Failed to preload scenes`}},r=async(n,r,i=!0,a=!1)=>{try{var o,s;L.isApplying.value=!0,L.error.value=null;let c=await T(e),l=L.sceneCache.get(n);if(l||(l=await we(n),L.sceneCache.set(n,l)),!l)throw Error(`Failed to get scene data`);let u=await t(),d=u.getCurrentState(),f=u.getCurrentSceneParams(),p=u.getSpacingScale(),m=u.getSpacingMode(),h=u.getGlobalSlotRotationY(),g=u.getSlotRotationOverrides(),_=u.getSlotOpenCloseOverrides(),v=F(`layoutSpacing`),y=F(`layoutPerModelSelect`),b={class1:(o=W.value)==null?void 0:o.class1,class2:(s=W.value)==null?void 0:s.class2},ee=(r==null?void 0:r.spacingMode)??Kt(n,b),te=r==null?void 0:r.spacingScale,x=l.modelCount??0,S=en(),C=i&&(S||x<=8),w=new A(`layoutSwitch`,async()=>{if(await u.applyLayout(l.params,{...r,adjustCameraPosition:!1,enableSpacing:v,spacingMode:ee,enablePerModelSelect:y,modelCategory:b,clearSlotRotations:!0}),v&&typeof te==`number`&&u.setSpacingScale(te),C){await new Promise(e=>requestAnimationFrame(()=>e(void 0)));let e=S?rn(c.container):{leftMenuWidth:Xt(!!vi.value),rightPanelWidth:Zt(),isRightPanelVisible:!0,headerHeight:64,bottomToolbarHeight:Qt(),canvasOverflow:340,padding:20};u.adjustCameraForVisibleArea(e,a),a&&Yt({leftMenuWidth:e.leftMenuWidth,rightToolbarWidth:e.rightPanelWidth,headerHeight:e.headerHeight,bottomToolbarHeight:e.bottomToolbarHeight,padding:e.padding})}L.currentState.value=u.getCurrentState(),L.spacingScale.value=u.getSpacingScale(),L.minSpacingScale.value=u.getMinSpacingScale(),L.globalSlotRotationY.value=u.getGlobalSlotRotationY()},async()=>{d===`original`||!f?u.getCurrentState()===`layout`&&await u.toggleState():(await u.applyLayout(f,{...r,enableSpacing:v,spacingMode:m,enablePerModelSelect:y,modelCategory:b,clearSlotRotations:!0,slotRotationOverrides:g,slotOpenCloseOverrides:_,globalSlotRotationY:h}),v&&u.setSpacingScale(p)),L.currentState.value=u.getCurrentState(),L.spacingScale.value=u.getSpacingScale(),L.minSpacingScale.value=u.getMinSpacingScale(),L.globalSlotRotationY.value=u.getGlobalSlotRotationY()});await c.history.execute(w),L.hasUsedLayout.value=!0,L.appliedLayoutId.value=n;let ne=u.getLayoutModelCount();ne>1&&(L.lastMultiModelLayoutId.value=n),L.appliedLayoutModelCount.value=ne,c.emitter.emit(`layout:state-change`,L.currentState.value);try{let{autoSaveViewState:e}=await k(async()=>{let{autoSaveViewState:e}=await Promise.resolve().then(()=>R);return{autoSaveViewState:e}},void 0);await e()}catch(e){console.error(`Failed to auto-save view state after apply layout:`,e)}}catch(e){throw console.error(`❌ Failed to apply layout:`,e),L.error.value=e.message||`Failed to apply layout`,e}finally{L.isApplying.value=!1}},i=async(n,{autoSave:r=!0})=>{try{let i=await T(e),a=await t(),o=a.getCurrentState();if(o===n){L.currentState.value=o;return}o===`layout`&&(L.savedLayoutCamera={position:{x:i.camera.instance.position.x,y:i.camera.instance.position.y,z:i.camera.instance.position.z},target:{x:i.control.instance.target.x,y:i.control.instance.target.y,z:i.control.instance.target.z},minDistance:i.control.instance.minDistance,maxDistance:i.control.instance.maxDistance}),await a.toggleState();let s=a.getCurrentState();if(s!==n)throw Error(`Failed to switch layout state to ${n}`);if(s===`layout`&&L.savedLayoutCamera&&(i.camera.instance.position.set(L.savedLayoutCamera.position.x,L.savedLayoutCamera.position.y,L.savedLayoutCamera.position.z),i.c
21ontrol.instance.target.set(L.savedLayoutCamera.target.x,L.savedLayoutCamera.target.y,L.savedLayoutCamera.target.z),i.control.instance.minDistance=L.savedLayoutCamera.minDistance,i.control.instance.maxDistance=L.savedLayoutCamera.maxDistance,i.control.instance.update(),i.needRenderOnce=!0),L.currentState.value=a.getCurrentState(),i.emitter.emit(`layout:state-change`,L.currentState.value),r)try{let{autoSaveViewState:e}=await k(async()=>{let{autoSaveViewState:e}=await Promise.resolve().then(()=>R);return{autoSaveViewState:e}},void 0);await e()}catch(e){console.error(`Failed to auto-save view state after toggle state:`,e)}}catch(e){console.error(`Failed to toggle state:`,e),L.error.value=e.message||`Failed to toggle state`}},a=()=>(L.stateTransitionQueue||(L.stateTransitionQueue=Jt({getCurrentState:async()=>(await t()).getCurrentState(),transitionTo:i})),L.stateTransitionQueue),o=()=>a().toggleState(),s=(e,t)=>a().ensureState(e,t),c=async()=>{try{(await t()).reset(),L.currentState.value=`original`,L.appliedLayoutId.value=void 0,L.lastMultiModelLayoutId.value=void 0,L.appliedFirstSingleModelId.value=void 0,L.sceneCache.clear(),L.savedLayoutCamera=null,L.spacingScale.value=1,L.minSpacingScale.value=0,L.globalSlotRotationY.value=0,L.selectedSlot.value=null}catch(e){console.error(`Failed to reset:`,e),L.error.value=e.message||`Failed to reset`}},l=()=>L.switcher?L.switcher.getOriginalCameraData():null,u=()=>{L.switcher&&(L.isLayoutViewModified.value=L.switcher.isLayoutViewModified())},d=async()=>{try{(await t()).resetLayoutView(),L.isLayoutViewModified.value=!1}catch(e){console.error(`❌ Failed to reset layout view:`,e),L.error.value=e.message||`Failed to reset layout view`}},f=async()=>(await t()).getLayoutGroup(),p=async e=>{if(!F(`layoutSpacing`))return L.spacingScale.value;let n=await t();return n.setSpacingScale(e),L.spacingScale.value=n.getSpacingScale(),L.minSpacingScale.value=n.getMinSpacingScale(),L.spacingScale.value},m=async(n,r)=>{var i,a;if(!F(`layoutSpacing`))return;let o=await T(e),s=await t(),c=async e=>{s.setSpacingScale(e),L.spacingScale.value=s.getSpacingScale(),L.minSpacingScale.value=s.getMinSpacingScale();try{let{autoSaveViewState:e}=await k(async()=>{let{autoSaveViewState:e}=await Promise.resolve().then(()=>R);return{autoSaveViewState:e}},void 0);await e()}catch(e){console.error(`Failed to auto-save view state after spacing change:`,e)}},l=Math.max(s.getMinSpacingScale(),Math.min(4,n)),u=Math.max(s.getMinSpacingScale(),Math.min(4,r));Math.abs(l-u)<1e-4||(await o.history.execute(new A(`layoutSpacing`,()=>c(u),()=>c(l))),(i=(a=window).$track)==null||i.call(a,{event:`TAG_mockup_layout_spacing_change`,scene_template_id:L.appliedLayoutId.value}))},h=async e=>{if(!F(`layoutPerModelSelect`))return!1;let n=await t(),r=n.setAllSlotRotationY(e);return r&&(L.globalSlotRotationY.value=n.getGlobalSlotRotationY()),r},g=async(n,r,i)=>{var a;if(!F(`layoutPerModelSelect`))return;let o=await T(e),s=await t(),c=Math.max(0,Math.min(360,n)),l=Math.max(0,Math.min(360,i)),u=((a=L.selectedSlot.value)==null?void 0:a.modelCount)??0,d=l===0?r.some(({rotationY:e})=>Math.abs(e)>1e-4):r.length<u||r.some(({rotationY:e})=>Math.abs(e-l)>1e-4);if(Math.abs(c-l)<1e-4&&!d)return;let f=async()=>{try{let{autoSaveViewState:e}=await k(async()=>{let{autoSaveViewState:e}=await Promise.resolve().then(()=>R);return{autoSaveViewState:e}},void 0);await e()}catch(e){console.error(`Failed to auto-save view state after global slot rotation:`,e)}},p=async e=>{s.setAllSlotRotationY(e)&&(L.globalSlotRotationY.value=s.getGlobalSlotRotationY(),await f())};s.setAllSlotRotationY(l)&&await o.history.execute(new A(`layoutGlobalSlotRotation`,()=>p(l),async()=>{s.restoreSlotRotationState(c,r)&&(L.globalSlotRotationY.value=s.getGlobalSlotRotationY(),await f())}))},_=async(e,n)=>F(`layoutPerModelSelect`)?(await t()).setSlotRotationY(e,n):!1;async function v(n,r,i){var a,o;if(!F(`layoutPerModelSelect`))return;let s=L.selectedSlot.value;if(!s||s.slotKey!==n||!s.canRotate)return;let c=await T(e),l=await t(),u=Math.max(0,Math.min(360,r)),d=Math.max(0,Math.min(360,i));if(Math.abs(u-d)<1e-4)return;let f=async e=>{if(l.setSlotRotationY(n,e))try{let{autoSaveViewState:e}=await k(async()=>{let{autoSaveViewState:e}=await Promise.resolve().then(()=>R);return{autoSaveViewState:e}},void 0);await e()}catch(e){console.error(`Failed to auto-save view state after slot rotation:`,e)}};l.setSlotRotationY(n,d)&&(await c.history.execute(new A(`layoutSlotRotation`,()=>f(d),()=>f(u))),(a=(o=window).$track)==null||a.call(o,{event:`TAG_mockup_layout_rotate_change`,scene_template_id:L.appliedLayoutId.value}))}let y=()=>{var e;return F(`layoutPerModelSelect`)?((e=L.switcher)==null?void 0:e.getSlotRotationOverrides())??[]:[]},b=async n=>{var r,i;let a=L.selectedSlot.value;if(!(a!=null&&a.canRotate)||a.slotKey!==n.slotKey||!Number.isInteger(n.value)||n.value<0||n.value>360)return;let o=await T(e),s=await t(),c=L.globalSlotRotationY.value,l=y().map(e=>e.slotKey===n.slotKey?{...e,rotationY:Math.max(0,Math.min(360,n.fromValue))}:e),u=c,d=[],f=async()=>{try{let{autoSaveViewState:e}=await k(async()=>{let{autoSaveViewState:e}=await Promise.resolve().then(()=>R);return{autoSaveViewState:e}},void 0);await e()}catch(e){console.error(`Failed to auto-save view state after applying slot rotation to all:`,e)}},p=async()=>{s.restoreSlotRotationState(u,d)&&(L.globalSlotRotationY.value=s.getGlobalSlotRotationY(),await f())},m=async()=>{s.restoreSlotRotationState(c,l)&&(L.globalSlotRotationY.value=s.getGlobalSlotRotationY(),await f())};if(!s.setAllSlotFacingFromSlot(a.slotKey))return;
21u=s.getGlobalSlotRotationY(),d=s.getSlotRotationOverrides();let h=new Set(d.map(({slotKey:e})=>e));if(!(d.length===a.modelCount&&h.size===a.modelCount&&d.every(({rotationY:e})=>Number.isFinite(e)&&e>=0&&e<=360)))throw s.restoreSlotRotationState(c,l),Error(`[LayoutSwitcher] Apply to all rotation did not align every stable slot`);await o.history.execute(new A(`layoutApplyRotationToAll`,p,m)),(r=(i=window).$track)==null||r.call(i,{event:`TAG_mockup_layout_apply_all`,scene_template_id:L.appliedLayoutId.value})},ee=async(e,n,r=()=>!0)=>{if(!F(`layoutPerModelSelect`))return!1;let i=await t();return r()?i.setSlotOpenClose(e,n):!1},te=async()=>{F(`layoutPerModelSelect`)&&(await t()).finishSlotInteraction()},x=async e=>{F(`layoutPerModelSelect`)&&(await t()).setSlotSurfaceRotationEnabled(e)},S=async()=>{F(`layoutPerModelSelect`)&&(await t()).beginSlotRotationInput()},C=async e=>{F(`layoutPerModelSelect`)&&(await t()).endSlotRotationInput(e)},w=async()=>{F(`layoutPerModelSelect`)&&(await t()).requireFreshSlotTransformActivation()},ne=async()=>{F(`layoutPerModelSelect`)&&(await t()).allowNextSlotTransformActivation()};async function re(n,r,i,a=()=>!0){var o,s;if(!F(`layoutPerModelSelect`))return;let c=L.selectedSlot.value;if(!c||c.slotKey!==n||!c.canOpenClose)return;let l=await T(e),u=await t();if(!a())return;let d=Math.max(0,Math.min(100,r)),f=Math.max(0,Math.min(100,i));if(Math.abs(d-f)<1e-4)return;let p=async e=>{if(u.setSlotOpenClose(n,e))try{let{autoSaveViewState:e}=await k(async()=>{let{autoSaveViewState:e}=await Promise.resolve().then(()=>R);return{autoSaveViewState:e}},void 0);await e()}catch(e){console.error(`Failed to auto-save view state after slot open-close change:`,e)}};u.setSlotOpenClose(n,f)&&(await l.history.execute(new A(`layoutSlotOpenClose`,()=>p(f),()=>p(d))),(o=(s=window).$track)==null||o.call(s,{event:`TAG_mockup_layout_open_close_change`,scene_template_id:L.appliedLayoutId.value}))}let ie=()=>{var e;return F(`layoutPerModelSelect`)?((e=L.switcher)==null?void 0:e.getSlotOpenCloseOverrides())??[]:[]};return{currentState:L.currentState,hasUsedLayout:L.hasUsedLayout,isApplying:L.isApplying,error:L.error,isLayoutViewModified:L.isLayoutViewModified,appliedLayoutId:L.appliedLayoutId,appliedLayoutModelCount:L.appliedLayoutModelCount,lastMultiModelLayoutId:L.lastMultiModelLayoutId,appliedFirstSingleModelId:L.appliedFirstSingleModelId,spacingScale:L.spacingScale,minSpacingScale:L.minSpacingScale,globalSlotRotationY:L.globalSlotRotationY,selectedSlot:L.selectedSlot,applyLayout:r,toggleState:o,ensureLayoutState:s,reset:c,preloadScenes:n,getOriginalCameraData:l,checkLayoutViewModified:u,resetLayoutView:d,getLayoutGroup:f,setSpacingScale:p,commitSpacingScale:m,setAllSlotRotationY:h,commitAllSlotRotationY:g,setSlotRotationY:_,commitSlotRotationY:v,getSlotRotationOverrides:y,applySelectedRotationToAll:b,applySelectedOpenCloseToAll:async()=>{let n=L.selectedSlot.value;if(!(n!=null&&n.canOpenClose))return;let r=await T(e),i=await t(),a=ie(),o=Math.max(0,Math.min(100,n.openClose)),s=async()=>{try{let{autoSaveViewState:e}=await k(async()=>{let{autoSaveViewState:e}=await Promise.resolve().then(()=>R);return{autoSaveViewState:e}},void 0);await e()}catch(e){console.error(`Failed to auto-save view state after applying slot open-close to all:`,e)}},c=async()=>{i.setAllSlotOpenClose(o)&&await s()},l=async()=>{i.applySlotOpenCloseOverrides(a),await s()};if(!i.setAllSlotOpenClose(o))return;let u=i.getSlotOpenCloseOverrides();if(!(u.length===n.modelCount&&u.every(({openClose:e})=>Math.abs(e-o)<1e-4)))throw i.applySlotOpenCloseOverrides(a),Error(`[LayoutSwitcher] Apply to all open-close did not update every stable slot`);await r.history.execute(new A(`layoutApplyOpenCloseToAll`,c,l))},setSlotOpenClose:ee,commitSlotOpenClose:re,finishSelectedSlotInteraction:te,setSelectedSlotSurfaceRotationEnabled:x,beginSelectedSlotRotationInput:S,endSelectedSlotRotationInput:C,requireFreshSelectedSlotTransformActivation:w,allowNextSelectedSlotTransformActivation:ne,getSlotOpenCloseOverrides:ie,adjustCameraForVisibleArea:async()=>{try{let e=await t(),n=!!vi.value;e.adjustCameraForVisibleArea({leftMenuWidth:Xt(n),rightPanelWidth:Zt(),isRightPanelVisible:!0,headerHeight:64,bottomToolbarHeight:Qt(),canvasOverflow:340,padding:20})}catch(e){console.error(`❌ Failed to adjust camera:`,e),L.error.value=e.message||`Failed to adjust camera`}},adjustCameraWithCustomConfig:async(e,n=!1)=>{try{(await t()).adjustCameraForVisibleArea(e,!1,n)}catch(e){console.error(`❌ Failed to adjust camera with custom config:`,e),L.error.value=e.message||`Failed to adjust camera`}},getAppliedLayoutModelCount:()=>{var e;let t=L.appliedLayoutId.value,n=t?L.sceneCache.get(t):void 0,r=(n==null?void 0:n.modelCount)??0;return r>0?r:((e=L.switcher)==null?void 0:e.getLayoutModelCount())??0},applyModelRotation:async n=>{try{var r,i,a;L.isApplying.value=!0,L.error.value=null;let o=await T(e);L.currentState.value===`layout`&&(await(await t()).toggleState(),L.currentState.value=`original`),o.model.group.children.forEac
21h(e=>{e.visible||(e.visible=!0)});let s=L.sceneCache.get(n);s||(s=await we(n),L.sceneCache.set(n,s));let c=(r=s.params)==null||(r=r.groups)==null?void 0:r[0];if(!c||!c.rotation){console.warn(`⚠️ No rotation data found in scene`);return}let l=o.model.group.children[0];if(!l){console.warn(`⚠️ No model found in scene`);return}let u=c.rotation,d=u._x??u.x??0,f=u._y??u.y??0,p=u._z??u.z??0;if(l.rotation.set(d,f,p),c.current!==void 0&&typeof l.tick==`function`)try{l.tick(c.current)}catch(e){console.warn(`⚠️ Failed to apply animation state:`,e)}L.appliedFirstSingleModelId.value=n,o.needRenderOnce=!0,o.emitter.emit(`layout:state-change`,L.currentState.value),(i=(a=window).$track)==null||i.call(a,{event:`mockup_model_rotation_apply`,scene_id:n});try{let{autoSaveViewState:e}=await k(async()=>{let{autoSaveViewState:e}=await Promise.resolve().then(()=>R);return{autoSaveViewState:e}},void 0);await e()}catch(e){console.error(`Failed to auto-save view state after apply model rotation:`,e)}}catch(e){throw console.error(`❌ Failed to apply model rotation:`,e),L.error.value=e.message||`Failed to apply model rotation`,e}finally{L.isApplying.value=!1}},syncProjectDesignToAllSlots:async e=>{await(await t()).syncProjectDesignToAllSlots(e)},clearSelectedLayoutSlot:async()=>{L.selectedSlot.value=null;let e=await t();e.finishSlotInteraction(),e.selectSlot(null)},clearSavedLayoutCamera:()=>{L.savedLayoutCamera=null},setHasUsedLayout:e=>{L.hasUsedLayout.value=e},setAppliedLayoutId:e=>{L.appliedLayoutId.value=e},setAppliedFirstSingleModelId:e=>{L.appliedFirstSingleModelId.value=e}}}function on(){L.spacingEmitter&&L.spacingUpdateHandler&&L.spacingEmitter.off(`layout:spacing-updated`,L.spacingUpdateHandler),L.currentState.value=`original`,L.hasUsedLayout.value=!1,L.isApplying.value=!1,L.error.value=null,L.isLayoutViewModified.value=!1,L.appliedLayoutId.value=void 0,L.appliedLayoutModelCount.value=0,L.lastMultiModelLayoutId.value=void 0,L.appliedFirstSingleModelId.value=void 0,L.spacingScale.value=1,L.minSpacingScale.value=0,L.globalSlotRotationY.value=0,L.selectedSlot.value=null,L.sceneCache.clear(),L.spacingEmitter&&L.slotSelectionHandler&&L.spacingEmitter.off(`layout:slot-selected`,L.slotSelectionHandler),L.spacingEmitter&&L.globalSlotRotationUpdateHandler&&L.spacingEmitter.off(`layout:global-slot-rotation-updated`,L.globalSlotRotationUpdateHandler),L.spacingEmitter&&L.slotSelectionCommitHandler&&L.spacingEmitter.off(`layout:slot-select-commit`,L.slotSelectionCommitHandler),L.spacingEmitter&&L.slotTransformDragEndHandler&&L.spacingEmitter.off(`layout:slot-transform-drag-end`,L.slotTransformDragEndHandler),L.switcher=null,L.d3Name=null,L.spacingEmitter=null,L.spacingUpdateHandler=null,L.globalSlotRotationUpdateHandler=null,L.slotSelectionHandler=null,L.slotSelectionCommitHandler=null,L.slotTransformDragEndHandler=null,L.stateTransitionQueue=null}var sn=[`science_id`,`science_name`,`science_image`,`science_image_repeat`,`science_color`,`thickness`,`inless`,`outless`,`bleedline`,`membrane_id`,`membrane_name`,`inside_membrane_id`,`inside_membrane_name`];function cn(e){return JSON.parse(JSON.stringify(e))}function ln(e,t){if(!e||!(t!=null&&t.layer))return;if(!e.layer){e.layer=cn(t.layer);return}let n={...e.layer};for(let[r,i]of Object.entries(t.layer)){let t=e.layer[r];if(!t){n[r]=cn(i);continue}let a={...t};for(let e of sn)Object.prototype.hasOwnProperty.call(i,e)&&(a[e]=i[e]);n[r]=a}e.layer=n}var R=e({autoSaveViewState:()=>En,isRestoringViewState:()=>z,projectChannel:()=>un,useProject:()=>Mn}),z=D(!1),un=d(`session`,`pacdoraProject`),{dealError:dn}=o(),fn=new x,pn=null,mn=null,hn=e=>{G.value&&ln(G.value,e)},gn=async()=>{try{let e=await T(c);if(!G.value)return``;let t=e.scene.backgroundType===`transparent`?`png`:`jpeg`;return await Ce(await Gr(e,async()=>await e.snapshot({width:600},t)),`render-cover`,!1,t)}catch(e){return console.error(`截图错误:`,e),``}},_n=async e=>{let t=e??G.value;if(t){!t.user_data&&(t.user_data={});let e=await T(c);if(!e.group)return;let n=100;e.group instanceof ce&&e.group.curTick!==void 0&&(n=e.group.curTick);let{getOriginalCameraData:r}=an(c),i=r(),a;if(i){let t=e.camera.getData();a={position:i.cameraPosition.clone(),direction:i.cameraTarget.clone(),aspect:t.aspect,fov:t.fov,focu
21s:t.focus}}else a=e.camera.getData();let o={fold:n,camera:a,group:{position:e.group.position.toArray(),rotation:e.group.rotation.toArray(),scale:e.group.scale.toArray()}};t.user_data.modelConfig=o}},vn=async e=>{let t=e??G.value,n=(await T(c)).getBackground();t&&(!t.user_data&&(t.user_data={}),t.user_data.backgroundType=n.type,t.user_data.background=n.type===`image`?void 0:n.value,t.user_data.backgroundImage=n.type===`image`?n.value:void 0,t.user_data.backgroundMetadata=n.metadata)},yn=e=>{var t;let n=e||G.value;n&&(n.user_data||(n.user_data={}),n.user_data.partThemeColorData={color:B.value,blankSettingId:(t=W.value)==null||(t=t.modeSetting)==null||(t=t.find(e=>{var t;return e.material===((t=Y.value)==null?void 0:t.material)&&e.suggestColor===B.value}))==null?void 0:t.id,recentColors:Fn.value.slice(-7)})},bn=async(e,t=!0,n=!1)=>{var r,i,a,o,s;let c=``;if(!n&&t&&(c=await gn()),await On(e),(r=G.value)!=null&&r.layer){var l;await h((l=G.value)==null?void 0:l.layer)}let u={project_id:q.value,project_name:(i=G.value)==null?void 0:i.project_name,cate_id:(a=G.value)==null?void 0:a.cate_id,layer:(o=G.value)==null?void 0:o.layer,screenshot:c};if((s=G.value)!=null&&s.user_data){var d;u.user_data=(d=G.value)==null?void 0:d.user_data}await M(u),!n&&!t&&Sn(q.value)},xn=async(e,t=c)=>{let n=e||G.value,r=await T(t);if(r.group instanceof se||r.group instanceof ce&&r.group.isSoftPackage){var i;let e=r.getMaterialSetting(r.group);(i=r.group)!=null&&i.project&&(r.group.project.user_data||(r.group.project.user_data={}),r.group.project.user_data.materialSetting=e),n&&(n.user_data||(n.user_data={}),n.user_data.materialSetting=e)}},Sn=async e=>{let t=e||q.value,n=await gn();n!==``&&M({project_id:t,screenshot:n})},Cn=async e=>{try{var t;let n=((t=(await T(c)).getUploadTextSettings())==null?void 0:t.color)||`#000000`;e.user_data&&Object.keys(e.user_data).length>0||(e.user_data={}),e.user_data.uploadTextColor=n}catch(e){console.error(`Error saving upload text color:`,e)}},wn=async e=>{try{e.user_data||(e.user_data={});let{shadowVisible:r}=Li(),{currentState:i,hasUsedLayout:a,appliedLayoutId:o,appliedFirstSingleModelId:s,spacingScale:l,globalSlotRotationY:u,getSlotRotationOverrides:d,getSlotOpenCloseOverrides:f}=an(c),{layoutPresetKey:p,originalPresetKey:m}=Ri(),h={currentMode:i.value,hasUsedLayout:a.value,shadowVisible:r.value,layoutPresetKey:p.value,originalPresetKey:m.value,appliedFirstSingleModelId:s.value};if(a.value&&o.value){if(h.layoutData={sceneId:o.value},F(`layoutSpacing`)&&(h.layoutData.spacingScale=l.value),F(`layoutPerModelSelect`)){var t,n;oe({class1:(t=W.value)==null?void 0:t.class1,class2:(n=W.value)==null?void 0:n.class2})&&(h.layoutData.globalSlotRotationY=u.value);let e=d();e.length>0&&(h.layoutData.overrides=e);let r=f();r.length>0&&(h.layoutData.openCloseOverrides=r)}if(i.value===`layout`){let e=(await T(c)).camera.getData();h.layoutData.camera={position:{x:e.position.x,y:e.position.y,z:e.position.z},direction:{x:e.direction.x,y:e.direction.y,z:e.direction.z}}}}e.user_data.viewState=h}catch(e){console.error(`Error saving view state:`,e)}},Tn=!1,En=async()=>{try{if(Tn||z.value||!q.value||!G.value)return;await _n(G.value),await wn(G.value),await M({project_id:q.value,user_data:G.value.user_data})}catch(e){console.error(`Error auto-saving view state:`,e)}},Dn=async(e={})=>{let{isInitLoading:t}=await k(async()=>{let{isInitLoading:e}=await Promise.resolve().then(()=>Xr);return{isInitLoading:e}},void 0),n=e.showLoading??!0;try{var r;z.value=!0,n&&(t.value=!0);let e=(r=G.value)==null||(r=r.user_data)==null?void 0:r.viewState;if(!e){z.value=!1,n&&(t.value=!1);return}let a=an(c),{setShadowVisible:o}=Li();if(await o(e.shadowVisible??!0),e.currentMode===`layout`&&e.layoutData){let{sceneId:t,camera:n,spacingScale:r,globalSlotRotationY:i,overrides:o,openCloseOverrides:s}=e.layoutData;try{let e=!n,l={spacingScale:F(`layoutSpacing`)&&typeof r==`number`?r:void 0,...F(`layoutPerModelSelect`)?{globalSlotRotationY:typeof i==`number`?i:void 0,slotRotationOverrides:Array.isArray(o)?o:void 0,slotOpenCloseOverrides:Array.isArray(s)?s:void 0}:{}};if(await a.applyLayout(t,l,e),n)try{let e=await T(c);e.camera.instance.position.set(n.position.x,n.position.y,n.position.z),e.control.instance.target.set(n.direction.x,n.direction.y,n.direction.z),e.control.instance.update(
21),e.needRenderOnce=!0}catch(e){console.error(`Failed to restore camera position:`,e)}a.setAppliedLayoutId(t)}catch(e){console.error(`Failed to restore layout state:`,e),a.setHasUsedLayout(!1)}}else if(e.currentMode===`original`&&e.layoutData){let{sceneId:t,camera:n,spacingScale:r,globalSlotRotationY:i,overrides:o,openCloseOverrides:s}=e.layoutData;try{let e={spacingScale:F(`layoutSpacing`)&&typeof r==`number`?r:void 0,...F(`layoutPerModelSelect`)?{globalSlotRotationY:typeof i==`number`?i:void 0,slotRotationOverrides:Array.isArray(o)?o:void 0,slotOpenCloseOverrides:Array.isArray(s)?s:void 0}:{}};await a.applyLayout(t,e,!n),await(await T(c)).history.undo(),a.setAppliedLayoutId(t)}catch(e){console.error(`Failed to restore original layout history:`,e)}}e.hasUsedLayout&&e.layoutData&&a.setHasUsedLayout(!0);try{let{setLayoutPresetKey:t,setOriginalPresetKey:n}=Ri();e.layoutPresetKey!==void 0&&t(e.layoutPresetKey),e.originalPresetKey!==void 0&&n(e.originalPresetKey)}catch(e){console.error(`Failed to restore preset angle state:`,e)}e.appliedFirstSingleModelId!==void 0&&a.setAppliedFirstSingleModelId(e.appliedFirstSingleModelId);try{var i;(i=(await T(c)).emitter)==null||i.emit(`preset-angle:restore-complete`)}catch(e){console.error(`Failed to emit preset-angle:restore-complete event:`,e)}setTimeout(()=>{z.value=!1,n&&(t.value=!1)},1e3)}catch(e){console.error(`Error restoring view state:`,e),z.value=!1,n&&(t.value=!1)}},On=async e=>{await vn(e),await _n(e),yn(e),await xn(e),await Cn(e),await wn(e)},kn=async(e,t)=>{G.value&&(await _n(G.value),q.value&&await M({project_id:q.value,blankSettingId:t,user_data:{...G.value.user_data,materialSetting:e}}))},An=async()=>{Vi.value||fi(await Ge(q.value))},jn=async(e,t=!0,n=!1)=>{G.value&&K.value&&(G.value.id=e,q.value=e,await An(),u(window.location.href,`id`,String(q.value)),(await T(c)).setCurrentGroupId(e),await bn(G.value,t,n))},Mn=()=>{let e=async(e,t,n=`mockup`,r)=>{if(pn){let e=await pn;return mn=e,e.id}pn=ge(e,t,n,r,!0);try{let e=await pn;return mn=e,e.id}finally{pn=null}},t=async(t=!0,n=!0,r=!1)=>{if(!G.value||!K.value){console.warn(`Project data or knife data is missing`);return}try{Z.value=!0;let a;if(t){var i;a=await e(Number((i=W.value)==null?void 0:i.id),G.value.blankSettingId||J.value,P,{size_type:G.value.size_type,size_option:G.value.size_option,length:G.value.length,width:G.value.width,height:G.value.height,thickness:G.value.thickness,project_name:G.value.project_name}),mn&&hn(mn)}else a=await _e(q.value,P);return await jn(a,n,r),a}catch(e){throw console.error(`Error creating project:`,e),e}finally{Z.value=!1}},n=async(t,n)=>{try{Z.value=!0;let r=await e(t,n,P);return G.value&&K.value&&(G.value.id=r,q.value=r,await An(),u(window.location.href,`id`,String(q.value)),(await T(c)).setCurrentGroupId(r)),r}catch(e){throw console.error(`Error creating project:`,e),e}finally{Z.value=!1}},r=async()=>ci()?!1:(await t(),!0);return{projectOperationQueue:fn,createProject:t,createProjectWithoutAProject:r,createProjectWithModelId:n,createSingleProject:e,createPureProjectBasedModelId:async(t,n,r)=>{try{var i;return q.value=await e(t||Number((i=W.value)==null?void 0:i.id),n,P,{size_type:`dm`,...r}),await An(),u(window.location.href,`id`,String(q.value)),(await T(c)).setCurrentGroupId(q.value),q.value}catch(e){throw console.error(`Error creating project:`,e),e}},saveProjectData:async()=>{try{if(Z.value=!0,!q.value)await t(),Q.value=j(new Date,`hh:mm`);else{if(!G.value||!K.value)return;await bn(G.value),Q.value=j(new Date,`hh:mm`)}}catch(e){throw console.error(`Error saving project:`,e),e}finally{Z.value=!1}},saveUserDataByData:async(e,t)=>{await M({project_id:e||q.value,user_data:t})},saveScreenshotOfProjectData:Sn,saveUserDataOfProjectData:async(e,t=!0)=>{await fn.enqueue(async()=>{if(await r())return;let n;t&&(n=await gn());let i={project_id:e||q.value,screenshot:n};G.value&&(await On(G.value),i.user_data=G.value.user_data||void 0),await M(i)},`saveUserDataOfProjectData`)},getSizeLimitForProject:An,getScreenshot:gn,setMaterialSetting:xn,updateUserDataOfProject:bn,saveBackground:vn,saveSuggestColor:yn,saveUserDataInProject:On,saveMaterialSetting:kn,saveProjectName:async e=>{try{if(Z.value=!0,!G.value)return;if(G.value.project_name=e,!ci()){await t();return}await M({project_id:G.value.id,project_name:e})}catch(e){dn({type:`updateProject`,error:e})}finally{Z.value=!1,Q.value=j(new Date,`hh:mm`)}},restoreViewState:Dn}},{saveUserDataOfProjectData:Nn}=Mn(),B=D(``);O(()=>Pn.value&&Pn.value.some(e=>e.color===B.value));var Pn=D([]),Fn=D([]);function In(){let e=e=>{var t;let n=JSON.parse(JSON.stringify((t=W.value)==null||(t=t.modeSetting)==null?void 0:t.find(t=>{if(e)return t.material===e;var n;return t.id===((n=G.value)==null?void 0:n.blankSettingId)})));return Y.value=n,n},t=e=>{var t;let n=Object.keys(((t=G.value)==null?void 0:t.cate.partGroup)||{}).reduce((e,t)=>
21(e[t]={color:``},e),{}),r=e||n||{};return Object.keys(r||{}).reduce((e,t)=>{if(t!==`贴图`&&r&&r[t]){var n;e.push({part:t,color:((n=r[t])==null?void 0:n.color)||``})}return e},[])};return{applyPartThemeColor:async(e,t=!0)=>{let n=B.value;B.value=e.color;let r=await T(c);await r.applyPartsColor({partsColor:e.parts,themeColor:e.color},n,r.group,t),t&&await Nn()},initColors:()=>{var e;if((e=W.value)!=null&&e.modeSetting){var n;Pn.value=((n=W.value)==null?void 0:n.modeSetting.filter(e=>{var t;return e.material===((t=Y.value)==null?void 0:t.material)&&e.suggestColor}).map(e=>{var n;return{color:e.suggestColor,parts:t(e==null||(n=e.d3Params)==null||(n=n.groups)==null||(n=n[0])==null?void 0:n.material)}}))??[]}},getParts:t,getPartColorModelSetting:e}}function Ln(e){return e!=null&&e!==``}function Rn({modeSettings:e,project:t,blankSettingId:n,fallbackModeSetting:r}){let i=e??[],a=n??(t==null?void 0:t.blankSettingId);return t?Ln(a)?i.find(e=>Number(e.id)===Number(a))??null:null:Ln(a)?i.find(e=>Number(e.id)===Number(a))??r??null:r??null}function V(e){let t=Number(e);return Number.isFinite(t)&&t>0?t:void 0}function zn(e){var t;return[e==null?void 0:e.size,e==null?void 0:e.dieline,e==null||(t=e.extraInfo)==null?void 0:t.dieline].find(e=>{let t=V((e==null?void 0:e.L)??(e==null?void 0:e.length)??(e==null?void 0:e.depth)),n=V((e==null?void 0:e.W)??(e==null?void 0:e.width)),r=V((e==null?void 0:e.H)??(e==null?void 0:e.height));return t&&n&&r})}function Bn(e){let t=zn(e);if(!t)return{};let n=V(t.L??t.length??t.depth),r=V(t.W??t.width),i=V(t.H??t.height);if(!n||!r||!i)return{};let a=V(t.D??t.thickness),o=t.sizeOption??t.size_option;return{length:n,width:r,height:i,...a?{thickness:a}:{},size_type:`dm`,...o?{size_option:String(o)}:{}}}function Vn(e){let t=V(e==null?void 0:e.length),n=V(e==null?void 0:e.width),r=V(e==null?void 0:e.height);if(!t||!n||!r)return{};let i=V(e==null?void 0:e.thickness);return{length:t,width:n,height:r,...i?{thickness:i}:{},size_type:(e==null?void 0:e.size_type)||`dm`,...e!=null&&e.size_option?{size_option:String(e.size_option)}:{}}}function Hn(e,t){return!e||!t.length||!t.width||!t.height?e:(e.length=t.length,e.width=t.width,e.height=t.height,t.thickness&&(e.thickness=t.thickness),t.size_type&&(e.size_type=t.size_type),t.size_option&&(e.size_option=t.size_option),e)}var Un=`ai-design:initial-reference-image`,Wn=`pacdora-ai-design`,H=`pending-reference-images`,Gn=1,Kn=600*1e3,U=null;function qn(e){return String(e||``).replace(/-\d+$/,``).replace(/-/g,` `).trim()}var Jn=()=>{let e=new URL(S(`/ai-design`),window.location.origin);return`${e.pathname}${e.search}${e.hash}`};function Yn(e){let t=/^data:([^;,]+);base64,(.+)$/.exec(e);if(!t)throw Error(`Invalid AI Design reference image data URL`);let[,n,r]=t,i=atob(r),a=new Uint8Array(i.length);for(let e=0;e<i.length;e+=1)a[e]=i.charCodeAt(e);return new Blob([a],{type:n})}function Xn(e){if(typeof e!=`string`)return!1;try{let t=new URL(e);return t.protocol===`http:`||t.protocol===`https:`}catch{return!1}}function Zn(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.kind===`blob`?t.blob instanceof Blob&&t.blob.type.startsWith(`image/`):t.kind===`url`?Xn(t.url):!1}function Qn(e){let t=Array.isArray(e.images)?e.images.filter(Zn):[];return t.length?t:e.imageBlob instanceof Blob&&e.imageBlob.type.startsWith(`image/`)?[{kind:`blob`,blob:e.imageBlob}]:[]}function $n(){return U||(U=new Promise((e,t)=>{let n=indexedDB.open(Wn,Gn);n.onupgradeneeded=()=>{let e=n.result;e.objectStoreNames.contains(H)||e.createObjectStore(H)},n.onsuccess=()=>{let t=n.result;t.onversionchange=()=>{t.close(),U=null},e(t)},n.onerror=()=>{U=null,t(n.error||Error(`Failed to open AI Design reference database`))},n.onblocked=()=>{U=null,t(Error(`AI Design reference database upgrade was blocked`))}}),U)}async function er(e){let t=await $n();await new Promise((n,r)=>{let i=t.transaction(H,`readwrite`);i.objectStore(H).put(e,Un),i.oncomplete=()=>n(),i.onerror=()=>r(i.error||Error(`Failed to persist AI Design reference`)),i.onabort=()=>r(i.error||Error(`AI Design reference persistence was aborted`))})}async function tr(){var e;
21let t=await $n(),n=await new Promise((e,n)=>{let r=t.transaction(H,`readonly`).objectStore(H).get(Un);r.onsuccess=()=>e(r.result),r.onerror=()=>n(r.error||Error(`Failed to read AI Design reference`))});if(!n)return null;let r=Qn(n),i=r.length>0&&typeof n.source==`string`&&typeof n.createdAt==`number`,a=Date.now()-Number(n.createdAt||0)>Kn;return!i||a?(await nr(),null):{images:r,source:n.source,productType:qn(n.productType),prompt:((e=n.prompt)==null?void 0:e.trim())||void 0,createdAt:n.createdAt}}async function nr(){let e=await $n();await new Promise((t,n)=>{let r=e.transaction(H,`readwrite`);r.objectStore(H).delete(Un),r.oncomplete=()=>t(),r.onerror=()=>n(r.error||Error(`Failed to remove AI Design reference`)),r.onabort=()=>n(r.error||Error(`AI Design reference removal was aborted`))})}async function rr(e,t,n,r){if(!e.startsWith(`data:image/`))return!1;try{return await ir({images:[{kind:`blob`,blob:Yn(e)}],source:t,productType:n,prompt:r})}catch(e){return console.warn(`[ai-design] Failed to persist initial reference image in IndexedDB:`,e),!1}}async function ir(e){let t=e.images.filter(Zn);if(!t.length)return!1;try{var n;return await er({images:t,source:e.source,productType:qn(e.productType),prompt:((n=e.prompt)==null?void 0:n.trim())||void 0,createdAt:Date.now()}),!0}catch(e){return console.warn(`[ai-design] Failed to persist initial reference images in IndexedDB:`,e),!1}}async function ar(e){let t=window.open(`about:blank`,`_blank`);try{if(!await rr(await e.captureImage(),e.source,e.productType,e.prompt))throw Error(`Failed to persist AI Design reference image`)}catch(t){console.warn(`[${e.warningLabel}] Failed to capture AI Design reference image:`,t)}let n=Jn();if(t){t.location.href=n;return}window.open(n,`_blank`)}var{projectOperationQueue:or,saveScreenshotOfProjectData:sr,updateUserDataOfProject:cr,getSizeLimitForProject:lr,getScreenshot:ur,createProject:dr,createPureProjectBasedModelId:fr,saveBackground:pr,saveUserDataInProject:mr,createProjectWithoutAProject:hr,createProjectWithModelId:gr,saveUserDataOfProjectData:_r,saveMaterialSetting:vr}=Mn(),yr=()=>Se(`/search`)?`fromSearchMockup`:`mockup`,br=async()=>{Qr.value=await We()},xr=!1,Sr=()=>{var e,t;return qn(((e=W.value)==null?void 0:e.mockupName)||((t=W.value)==null?void 0:t.mockupNameKey)||Vr())},Cr=async(e={})=>{let{includePrompt:t=!0}=e;await ar({source:`mockup-detail`,productType:t?Sr():void 0,warningLabel:`new-mockup`,captureImage:async()=>{let{getD3:e}=ta();return(await e()).snapshot(void 0,`jpeg`,!1)}})},wr=async(e,t)=>{await ar({source:`mockup-detail`,productType:Sr(),prompt:e,warningLabel:`mockup-inspiration`,captureImage:t})},Tr=()=>{let{D3_EDITOR:e,getD3:t}=ta(),{getModelProjectData:n}=ye(e),{changeBrowserTitle:i}=Yi(),o=null,s=()=>a(`preview`)||a(`template_id`),{initExportTasks:c,needDownloadTasks:l}=pe(),d=async()=>await C(Vr()),f=()=>{Cr()},p=async e=>{let t=Bn(e);if(t.length&&t.width&&t.height)return t;let n=s(),r=Number(n);if(Number.isFinite(r)&&r>0){o||(o=qe(r).then(Bn).catch(e=>(console.warn(`Failed to resolve preview template size params:`,e),{})));let e=await o;if(e.length&&e.width&&e.height)return e}let i=Vn(e);return i.length&&i.width&&i.height?i:{}},m=()=>W.value.mockupName||W.value.showName,_=async()=>{let e=Number(a(`dieline_id`));if(e){y(!1);let t=await Le({project_type:3,project_id:e,project_name:m(),type:P});await M({project_id:t.id}),ki(async()=>{await sr(t.id)}),u(window.location.href,`id`,String(t.id)),ne({delete:[`dieline_id`]})}return!!e},v=async()=>{let e=Number(a(`t-shirt`));if(e){var t;y(!1,{fallbackWhenProjectMissing:!0});let n=await ze(e),r=await Le({project_type:4,type:P,model_id:(t=W.value)==null?void 0:t.id,blankSettingId:Number(J.value)});await M({project_id:r.id,user_data:(n==null?void 0:n.user_data)||void 0,layer:(n==null?void 0:n.layer)||void 0,blankSettingId:Number(J.value)}),ki(async()=>{await sr(r.id)}),u(window.location.href,`id`,String(r.id)),ne({delete:[`t-shirt`]})}return!!e},y=async(e=!1,t={})=>{var n,r,i,o;if(!(!((n=W.value)==null||(n=n.modeSetting)==null)&&n.length))return;let c=a(`blankSettingId`),l=e?g(`mockup/blankSettingId`,``,!1):void 0;if(c&&(l=c),e){let e=a(`color`),t=a(`material`);if(t||e){let n=Kr(W.value.modeSetting,t?Number(t):1,e?Number(e):void 0);n&&(xr=!0,l=n==null?void 0:n.id)}}let u=e&&Dt.has(String(W.value.num)),d=c;if(u&&!c&&s()){let e=await qe(Number(s()));(e==null?void 0:e.blankSettingId)!=null&&(l=e.blankSettingId,d=String(e.blankSettingId))}let f=e||xi.value||!G.value&&t.fallbackWhenProjectMissing,p=c||(e?l:(r=G.value)==null?void 0:r.blankSettingId);Y.value=Rn({modeSettings:W.value.modeSetting,project:f?null:G.value,blankSettingId:p,fallbackModeSetting:f?W.value.modeSetting[0]:null})||void 0,u&&d&&(Y.value=W.value.modeSetting.find(e=>String(e.id)===String(d))||await ve(d)),J.value=(i=Y.value)!=null&&i.id?Number(Y.value.id):void 0,B.value=((o=Y.value)==null?void 0:o.suggestColor)||``},b=()=>{var e;let t=(e=G.value)==null||(e=e.user_data)==null?void 0:e.partThemeColorData;t&&(B.value=t.color,Fn.value=t.recentColors||[])},ee=async()=>{try{var e;let r=await n(q.value);if(!r)throw Error(`Failed to get a data`);K.value=r.knife,G.value=r.project,G.value.size_type=`dm`;let i=Vn(G.value),a=i.length&&i.width&&i.height?i:await p(G.value);if(Hn(G.value,a),a.length&&a.width&&a.height){let e=G.value.bleedline||5;K.value=await Ie(q.value,e,`project`,a)}if((e=r.project.user_data)!=null&&e.unitType){var t;X.value=(t=r.project.user_data)==null?void 0:t.unitType}await y(),await lr(),b()}catch(e){throw e!=null&&e.message&&typeof e.message==`string`&&e.message.includes(`Authorization not enough`)?r({type:`error`,text:e.message,duration:-1}):r({type:`error`,text:`Failed to load page. Please refresh and try again`,duration:-1}),e}},te=async()=>
21{if(W.value)try{var e;if(G.value=await Fe(W.value.id,J.value),!G.value)return;At(G.value,W.value.num,Y.value),G.value.size_type=`dm`,G.value.project_name=W.value.showName;let r=await p(G.value);Hn(G.value,r);let i=G.value.cate.layerList.find(e=>!e.isGrey);if(i&&G.value.layer[i.name]){let e=G.value.layer[i.name].bleedline,t=G.value.layer[i.name].science_id,n=G.value.layer[i.name].sciences_thickness;K.value=await Ie(W.value.id,e,`model`,{...r,thickness:r.thickness??n,science_id:t})}else console.warn(`No valid target item found or layer data is missing`);if(G.value.size_option=((e=K.value)==null?void 0:e.sizeOption)||`default`,K.value){var t,n;(t=K.value).sizeOption??(t.sizeOption=((n=K.value)==null||(n=n.sizeOptions)==null||(n=n[0])==null?void 0:n.sizeName)||`default`)}J.value&&(G.value.blankSettingId=Number(J.value))}catch(e){throw console.error(`Error in setupProjectData:`,e),e}},x=async()=>{try{await y(!0),await te()}catch(e){throw console.error(`Failed to load page. Please refresh and try again:`,e),r({type:`error`,text:`Failed to load page. Please refresh and try again`,duration:-1}),e}},C=async e=>{try{var t;let f=a(`id`);ti.value=!f,$r.value=!1;let p={mockupNameKey:e};if(f&&(p={projectId:f}),di(await je(p),!f),!W.value)return;W.value.status===0&&!location.search&&(location.href=S(`/403.html`)),$().setDisabled(((t=W.value)==null||(t=t.cate_info)==null?void 0:t.dimensions)!==1),i(ii.value?`Pacdora`:W.value.showName);let h=await _();if(await v(),q.value=Number(a(`id`)),q.value){if(await ee(),h&&G.value){var n,r;G.value.project_name=m(),G.value.size_option=((n=K.value)==null?void 0:n.sizeOption)||`default`,$r.value=xi.value?!1:!(!((r=W.value)==null||(r=r.modeSetting)==null)&&r.some(e=>{var t;return Number(e.id)===Number((t=G.value)==null?void 0:t.blankSettingId)}))}J.value&&!$r.value&&(G.value.blankSettingId=Number(J.value));let{restoreViewState:e}=Mn();Di(async()=>{await e({showLoading:!1})})}else{var o;if(await x(),(o=Y.value)!=null&&o.d3Params&&G.value){var s,c,l,u,d;(s=G.value)!=null&&s.user_data||(G.value.user_data={}),G.value.user_data.lights=qr((c=Y.value)==null?void 0:c.d3Params),G.value.user_data.uploadTextColor=((l=Y.value)==null||(l=l.d3Params)==null?void 0:l.uploadTextColor)||`#000000`,G.value.user_data.softBagExpansion=(u=Y.value)==null||(u=u.d3Params)==null||(u=u.groups)==null||(u=u[0])==null||(u=u.userData)==null?void 0:u.softBagExpansion;let e=(d=Y.value)==null||(d=d.d3Params)==null||(d=d.groups)==null?void 0:d[0];(e==null?void 0:e.current)!==void 0&&(G.value.user_data.initialModelState={current:e.current})}}}catch(e){throw console.error(`Error in getModelDataByNameKey: `,e),e}},w=async()=>{await c()},T=async(e,t,n,r=!0)=>{let i=r?await ur():``;await mr(e);try{return await Lt(e,t,{screenshot:i,...n})}catch(e){throw console.error(`Error in updateProject:`,e),e}},re=async(e,t,n)=>{try{let r=await ur();await mr(e),e.layer&&await h(e.layer),await Pt(e,t,{screenshot:r,...n})}catch(e){throw console.error(`Error in updateProjectDontGetData:`,e),e}},ie=async()=>{try{Z.value=!0,q.value?(await _r(void 0,!1),sr(q.value)):await dr(!0,!1),Q.value=j(new Date,`hh:mm`)}catch(e){throw console.error(`Error saveProjectFor3DModeling:`,e),e}finally{Z.value=!1}},E=async(e,t=!0)=>{try{if(Z.value=!0,q.value){if(!G.value||!K.value)return{project:G.value,knife:K.value};let{project:n,knife:r}=await T(G.value,K.value,e,t);return Q.value=j(new Date,`hh:mm`),un.postMessage({task:`saveProjectTask`,data:{data:{projectId:q.value},code:200}}),{project:n,knife:r}}else{if(await dr(),Q.value=j(new Date,`hh:mm`),e&&G.value&&K.value){let{project:n,knife:r}=await T(G.value,K.value,e,t);return{project:n,knife:r}}return{project:G.value,knife:K.value}}}catch(e){throw console.error(`Error saving project:`,e),e}finally{Z.value=!1}},ae=()=>{or.enqueue(async()=>{await E()},`debounceSaveProject`)},D=e=>{var t,n;if(!(e!=null&&e.layer))return!1;let r=Object.keys(e.layer);for(let t of r){var i,a;let n=e.layer[t];if((i=n.design_list)!=null&&i.filter(e=>!e._is_temporary_data).length||(a=n.inside_design_list)!=null&&a.length||n.background&&n.background!==`#ffffff`||n.inside_background&&n.inside_background!==`#ffffff`||n.face_background&&Object.keys(n.face_background).length>0)return!0}return!!((t=e.user_data)!=null&&t.materialSetting||(n=e.user_data)!=null&&n.handbagHandle)};return{handleExportTasks:w,initializeModelData:d,createProject:dr,createPureProjectBasedModelId:fr,saveProject:E,updateUserDataOfProject:cr,debounceSaveProject:ae,saveProjectForNoSave:async e=>{var t,n;let r=q.value||((t=G.value)==null?void 0:t.id);e&&!e.id&&r&&(e.id=r),e&&(G.value=e),e!=null&&e.id&&(q.value=e.id);let i=e||G.value;if(i!=null&&i.id||q.value||(n=G.value)!=null&&n.id){if(!i||!K.value)return!1;i.id&&(q.value=i.id),Z.value=!0;try{return await re(i,K.value),(!e||G.value===i)&&(G.value=i),Q.value=j(new Date,`hh:mm`),un.postMessage({task:`saveProjectTask`,data:{data:{projectId:q.value},code:200}}),!0}catch(e){throw console.error(`Error in updateProjectDontGetData:`,e),e}finally{Z.value=!1}}else{if(i&&!D(i))return!1;try{return await dr(),Q.value=j(new Date,`hh:mm`),!0}catch(e){throw console.error(`Error in createProject:`,e),e}}},createProjectWithoutAProject:hr,createProjectWithModelId:gr,getModelProjectData:n,updateProject:T,saveBackgroun
21d:pr,saveProjectFor3DModeling:ie,saveMaterialSetting:vr,saveScreenshotOfProjectData:sr,openAiDesign:f}},Er=D([]);function Dr(e){Er.value.includes(e)||Er.value.push(e)}function Or(){return Er.value}var kr=()=>({appliedTemplateIds:Er,addTemplateId:Dr,getAppliedTemplateIds:Or});function Ar(e,t=`traditional`){var n;let r=(e==null||(n=e.faceBg)==null?void 0:n[t])||{};return Object.entries(r).map(([e,t])=>({face:e,color:(t==null?void 0:t.rgba)||``}))}var{getAppliedTemplateIds:jr}=kr(),{initExportTasks:Mr,needDownloadTasks:Nr}=pe(),{exportLimit:Pr,dielineExportAvailable:Fr,dielineExportTriggerRefer:Ir,initExportLimit:Lr}=de(),{getExperiment:Rr}=v();async function zr(e){var t,n,r,i,a;await((t=e.before)==null?void 0:t.call(e));let{createProject:o}=Tr();ci()||await o();let c=new xe(G.value,K.value);c.isShowScience=!1;let u=await c.getDielineScreenShot(e.isArtwork??!1),d=new FormData;d.append(`file`,s(u));let f=await te(d.get(`file`),{rename:`${l()}.png`,xapi:`dieline`,scope:!1}),m=ee({showName:((n=W.value)==null?void 0:n.showName)||``,manufactureSize:{W:(r=K.value)==null?void 0:r.knifeSize.W,H:(i=K.value)==null?void 0:i.knifeSize.H,L:(a=K.value)==null?void 0:a.knifeSize.L},unit:X.value}),h=null;try{var g;if(e.format===`dxf`){var _,v;h=await p({method:`POST`,url:`/api/v2/box/export/dxf`,data:{id:(_=G.value)==null?void 0:_.id,export_type:`project`,remark:``,payFlag:`dieline-detail-${(v=W.value)==null?void 0:v.num}-${e.format}`,origin:`mockup`,unit:X.value,image:f,contentName:m}},{hideMsg:!0}),Nr.add(h.id)}else{if(e.format===`knife`){var y,b;h=await p({method:`POST`,url:`/api/v2/box/export/knife`,data:{id:(y=G.value)==null?void 0:y.id,export_type:`project`,payFlag:`dieline-detail-${(b=W.value)==null?void 0:b.num}-${e.format}`,remark:``,origin:`mockup`,color_mode:`RGB`,unit:X.value,image:f,contentName:m}},{hideMsg:!0})}else{var x,S;h=await p({method:`POST`,url:`/api/v2/box/export/${e.format}`,data:{id:(x=G.value)==null?void 0:x.id,export_type:`project`,remark:``,payFlag:`dieline-detail-${(S=W.value)==null?void 0:S.num}-${e.format}`,origin:`mockup`,color_mode:e.modeType,unit:X.value,image:f,frameOnly:!e.isArtwork&&e.format===`ai`?!0:void 0,contentName:m}},{hideMsg:!0})}Nr.add(h.task_id)}return await((g=e.success)==null?void 0:g.call(e)),await Mr(),h}catch(t){var C;return await((C=e.error)==null?void 0:C.call(e,t)),null}finally{var w;await((w=e.after)==null?void 0:w.call(e))}}async function Br(e){var t,n;await Lr();let{updateProfileRights:r}=ia();return ue({sceneRefer:`mockup`,triggerRefer:Ir.value,oldRefer:yr(),isStripeCloseSync:!0,extra:{modelId:(t=W.value)==null?void 0:t.id,gtm:e.referer,modelNo:(n=W.value)==null?void 0:n.num,origin:e.origin}}).then(async()=>{var t;if(r(),!Fr.value)return null;await((t=e.canDownload)==null?void 0:t.call(e));let n=await zr({...e});if(e.gtm){var i,a,o;(i=(a=window).$track)==null||i.call(a,{event:e.gtm,model_id:(o=W.value)==null?void 0:o.id,remaining_quota:Pr.value.dieline.total-Pr.value.dieline.used,experiment_group:Rr(`export_queto`).variant.id,assets_id:jr()})}return n}).catch(t=>{var n;return console.log(`subscription close`,t),(n=e.error)==null||n.call(e,t),null})}var Vr=()=>{let e=window.location.pathname.split(`/`).filter(Boolean),t=e[e.length-1]||``;try{return decodeURIComponent(t)}catch{return t}},Hr=()=>!/bot|crawl|spider/.test(navigator.userAgent);function Ur(e){let t={},n=e.split(`?`);if(n.length>1){let e=n[1].split(`&`);for(let n of e){let[e,r]=n.split(`=`);t[decodeURIComponent(e)]=decodeURIComponent(r||``)}}return t}function Wr(e){let t=[];for(let n in e)if(e[n]){let r=encodeURIComponent(n),i=encodeURIComponent(e[n]);t.push(`${r}=${i}`)}return t.join(`&`)}var Gr=async(e,t)=>{if(e!=null&&e.group){let i=!1;if(e.group.painter.hasMainFace){var n;e.pause(),await((n=e.group)==null?void 0:n.setSizeShowOnly(!1)),await e.group.updateMaterial(),e.needRenderOnce=!0,i=!0}let a=await t();if(i){var r;e.resume(),await((r=e.group)==null?void 0:r.setSizeShowOnly(!0)),await e.group.updateMaterial(),e.needRenderOnce=!0}return a}else return await t()};function Kr(e,t,n){let r=new Map;e.forEach(e=>{var t;r.has(e.material)||r.set(e.material,[]),(t=r.get(e.material))==null||t.push(e)});let i=Array.from(r.keys());if(t===void 0&&n===void 0)return e[0]||null;if(t===void 0&&n!==void 0){let t=n-1;return t<0||t>=e.length?null:e[t]}if(t===void 0)return null;let a=t-1;
21if(a<0||a>=i.length)return null;let o=r.get(i[a]);if(!o)return null;if(n===void 0)return o[0];let s=n-1;return s<0||s>=o.length?null:o[s]}var qr=e=>{let t=e||{},n=t.envLight||{},r=t.sunLight||{};return{bounces:Number(t.bounces??3),envLight:{path:n.envUrl,envMapIntensity:n.envMapIntensity,envLightRotation:n.rotation,envMapOpen:n.envMapOpen},sunLight:{position:r.position,intensity:r.intensity,color:r.color,radius:r.radius,visible:r.visible,userData:r.userData}}},Jr=async(e,t)=>{try{let{bounces:n,envLight:r,sunLight:i}=t;e.renderer.setBounces(Number(n??3)),await e.light.setEnvLight(r.path,Number(r.envMapIntensity),Number(r.envLightRotation)),e.light.setSunLight({color:i.color,intensity:Number(i.intensity),radius:Number(i.radius??10),visible:i.visible??!0,userData:i.userData})}catch(e){console.error(e)}},Yr=e=>e==null||Object.keys(e).length===0,Xr=e({activeMenu:()=>vi,aiCreationTargetMenu:()=>yi,backgroundActiveTab:()=>oi,blankSettingId:()=>J,getInitialActiveMenu:()=>gi,getInitialVideoTabValue:()=>_i,hasDesign:()=>si,isCustomModel:()=>ii,isHaveProject:()=>ci,isInitLoading:()=>bi,isNewProject:()=>ti,isSaving:()=>Z,isSeedForgeCustomModel:()=>ai,isSoftPackage:()=>xi,knifeData:()=>K,materialList:()=>Qr,mockupNoPixelSize:()=>ri,modelDetails:()=>W,modelSetting:()=>Y,preferProjectMaterialPreset:()=>$r,projectData:()=>G,projectId:()=>q,runtimeModelAnimationCount:()=>ei,savedTime:()=>Q,setKnife:()=>ui,setModelDetails:()=>di,setProject:()=>li,setSizeLimit:()=>fi,showLogo:()=>ni,showSubMenu:()=>pi,sizeLimit:()=>Zr,unitType:()=>X}),Zr=D(),W=D(),G=D(),K=D(),Qr=D([]),q=D(),J=D(),Y=D(),$r=D(!1),ei=D(0),ti=D(!1),X=D(Te||`mm`),Z=D(!1),Q=D(j(new Date,`hh:mm`)),ni=D({codeLogo:!1,logo:!0}),ri=O(()=>{var e;return((e=W.value)==null||(e=e.cate_info)==null||(e=e.displaySetting)==null?void 0:e.mockupNoPixelSize)===1}),ii=O(()=>{var e,t,n,r;return!!((e=W.value)!=null&&e.isCustomModel)||Number((t=G.value)==null?void 0:t.custom_model_id)>0||((n=G.value)==null||(n=n.user_data)==null?void 0:n.source)===`custom-model`||((r=G.value)==null||(r=r.knife_data)==null?void 0:r.source)===`custom-model`}),ai=O(()=>{var e,t,n,r;return ii.value&&(((e=W.value)==null?void 0:e.renderer)===`seedforge`||((t=G.value)==null||(t=t.user_data)==null?void 0:t.renderer)===`seedforge`||((n=G.value)==null||(n=n.knife_data)==null?void 0:n.renderer)===`seedforge`||((r=G.value)==null||(r=r.knifeData)==null?void 0:r.renderer)===`seedforge`)}),oi=D(),si=O(()=>{if(!G.value)return!1;let e=Object.keys(G.value.layer);for(let o of e){var t,n,r,i,a;if(!((t=G.value)==null||(t=t.layer[o].design_list)==null)&&t.filter(e=>!e._is_temporary_data).length||!((n=G.value)==null||(n=n.layer[o].inside_design_list)==null)&&n.length||(r=G.value)!=null&&r.layer[o].background&&((i=G.value)==null?void 0:i.layer[o].background)!==`#ffffff`||!Yr((a=G.value)==null?void 0:a.layer[o].face_background))return!0}return!1}),ci=()=>{var e;return!!(q.value||(e=G.value)!=null&&e.id)};function li(e){G.value=e}function ui(e){K.value=e}function di(e){W.value=e}function fi(e){Zr.value=e}var pi=D(!1),mi=a(`key`),hi=a(`type`);function gi(e,t){return e===`ai-creation`?`100`:e===`ai-video`?`102`:t||`100`}function _i(e){return e===`ai-video`?`aiVideo`:`animation`}var vi=D(gi(hi,mi)),yi=mi||`99`,bi=D(!1),xi=O(()=>{var e;return((e=K.value)==null||(e=e.modeCate)==null?void 0:e.code)===`SoftPacking`}),Si=e=>{let t=[];return{tasks:t,add(e){t.push(e)},async execute(){try{for(let e of t)await e()}catch(t){console.error(`Error executing ${e} functions:`,t)}finally{t.length=0}}}},Ci=()=>({afterCreate:Si(`runAfterCreateModel`),afterAnimation:Si(`runAfterModelLoadAnimation`)}),wi={mockup:{default_model_show:3.5-3.5*.25,max_model_show:.8},art:{default_model_show:3.5-3.5*.25,max_model_show:.3}},Ti=ae(),Ei=Ci();Ei.afterCreate.tasks;var Di=e=>{Ei.afterCreate.add(e)},Oi=async()=>{await Ei.afterCreate.execute()},ki=e=>{Ei.afterAnimation.add(e)},Ai=async()=>{await Ei.afterAnimation.execute()},ji=E(()=>{let e=D(0);function t(){e.value++}function n(){e.value=0}return{times:e,increment:t,reset:n}}),Mi=D(!1),Ni=D(!1),$=E(()=>{let e=D(!1),t=D(0),n=D(!1),r=e=>{n.value=e},i=D(`label`),a=async e=>{if(n.value)return;let t=await T(c);t.dimension.setActiveForLine(e),i.value=`size`,t.needRenderOnce=!0},o=async()=>
21{if(n.value)return;let e=await T(c);e.dimension.cancelActiveForLine(),i.value=`label`,e.needRenderOnce=!0},s=D(!1),l=e=>{n.value||(s.value=e)};function u(t){n.value||(e.value=t)}function d(){t.value++}function f(){s.value=!1,e.value=!1,t.value=0}return{visible:e,setVisible:u,actions:t,increment:d,tempVisible:s,setTempVisible:l,reset:f,state:i,setActiveForLine:a,cancelActiveForLine:o,disabled:n,setDisabled:r}}),Pi=E(()=>{let e=D(`size`);return{title:e,setTitle:t=>{e.value=t}}}),Fi=E(()=>{let e=D(100),t=()=>{};return{tick:e,setTick:n=>{e.value=n,t()},setCallback:e=>{t=e}}}),Ii=E(()=>{let e=D(100),t=()=>{};return{expansion:e,setExpansion:n=>{e.value=n,t()},setCallback:e=>{t=e}}}),Li=E(()=>{let e=D(!0);return{shadowVisible:e,setShadowVisible:async t=>{e.value=t;let n=await T(c);n.setShadowVisible(t),n.setFloorShadowVisible(t),n.needRenderOnce=!0;try{let{autoSaveViewState:e}=await k(async()=>{let{autoSaveViewState:e}=await Promise.resolve().then(()=>R);return{autoSaveViewState:e}},void 0);await e()}catch(e){console.error(`Failed to auto-save view state after shadow toggle:`,e)}},initShadowState:async()=>{let t=await T(c);e.value=t.useShadow&&t.useFloorShadow}}}),Ri=E(()=>{let e=D(null),t=D(null);return{layoutPresetKey:e,originalPresetKey:t,setLayoutPresetKey:t=>{e.value=t},setOriginalPresetKey:e=>{t.value=e}}}),zi=D(!1),Bi=O(()=>{var e;return((e=K.value)==null||(e=e.modeCate)==null?void 0:e.code)===`SoftPacking`}),Vi=O(()=>{var e;return((e=G.value)==null?void 0:e.cate)&&G.value.cate.complex_type===1}),Hi=O(()=>{var e;return y((e=K.value)==null?void 0:e.modeCate)}),Ui=O(()=>w(G.value,K.value)||ei.value>0),Wi=O(()=>{var e;if(!G.value)return!1;let t=!1,n=Object.keys((e=G.value)==null?void 0:e.layer);for(let e=0;e<n.length;e++){var r,i;let a=n[e],o=G.value.layer[a];(((r=o.design_list)==null?void 0:r.length)>0||((i=o.inside_design_list)==null?void 0:i.length)>0)&&(t=!0)}return t}),Gi=0,Ki=()=>(Gi++,`mockup-detail:design-change:${Gi}`),qi=()=>`mockup-detail:design-change:${Gi}`,Ji=async()=>{let e=Ki();setTimeout(()=>{C(e)},2e4),await i(e)},Yi=()=>({changeBrowserTitle:e=>{Ti.value=e}}),Xi=E(()=>{let e=D(!1);function t(t){e.value=t}return{isOpen:e,set:t}}),Zi=D(`pending`),Qi=D(!1),$i=new Map,ea=3e3,ta=()=>{let e=async(e,n)=>{let r={useShadow:!1,name:c,useShortcuts:!1,useTransformControls:!!(n!=null&&n.useTransformControls),useGridHelper:!1,useAxisHelper:!1,useFloor:!0,showModelMainFaceInfo:!0,...n};Zi.value=`loading`,await t({container:e,...r,languageModule:{...f(`pacD3`),language:re()}}),Zi.value=`loaded`},n=async()=>await T(c),{addModel:r,replaceModel:i,getModelProjectData:a,addPureModel:o}=ye(c),s=(e,t)=>({preserveExistingProjectMaterial:t==null?void 0:t.preserveExistingProjectMaterial,preferProjectMaterial:(t==null?void 0:t.preferProjectMaterial)||(e==null?void 0:e.preferProjectMaterialPreset)}),l=(e,t)=>
21Ee(e,s(e,t)),u=async(e,t,r)=>{await De(await n(),e,{...s(e,r),source:t})},d=async(...e)=>{let t=l(e[1],{preserveExistingProjectMaterial:!ti.value}),n=await o(e[0],t);return await u(t,`new-mockup-add-pure-model`,{preserveExistingProjectMaterial:!ti.value}),n},p=async(...e)=>{let t=l(e[1]),n=await r(e[0],t,e[2],e[3]);return await u(t,`new-mockup-add-model`),n},m=async(...e)=>{let t=l(e[1]),n=await i(e[0],t,e[2]);return await u(t,`new-mockup-replace-model`),n},h=async()=>{be(await n())},g=async(e={})=>{try{let t=await n();if(!t.group)return;await t.setRotationAnimation(e.duration??ea,e.preserveInitialRotation??!0)}catch(e){console.error(`Failed to play model load animation:`,e)}},_=async e=>{var t;let r=await n(),i=e||(window.devicePixelRatio>1?.2:.3),a=r.renderer.domElement.toDataURL(`image/jpeg`,i);if(!a)return;let o=document.createDocumentFragment(),s=document.createElement(`img`);s.src=a,s.classList.add(`tempImg`),s.style.objectFit=`cover`,s.draggable=!1,s.style.position=`absolute`,s.style.top=`0`,s.style.left=`0`,o.appendChild(s),(t=r.container)!=null&&t.parentElement?r.container.parentElement.appendChild(o):console.error(`D3.container is not defined`)},v=async e=>{if(!e)return;let t=e.querySelectorAll(`.tempImg`);t.length!==0&&t.forEach(e=>e.remove())},y=null;return{initD3:e,useD3:T,getD3:n,D3_EDITOR:c,addModel:p,replaceModel:m,getModelProjectData:a,addPureModel:d,applyBoxMaterialSpherePreset:u,initCameraConfig:h,playModelLoadAnimation:g,movingD3ToTheTargetDom:async e=>{let t=await n();y=t.container.parentElement,y&&(v(e),e.appendChild(t.container))},comeBackToOriginCanvas:async()=>{if(!y)return;let e=await n();v(y),y.appendChild(e.container),await e.resize()},D3StateRecords:async e=>{var t,r,i;let a=await n(),o=await a.getBackground();$i.set(e,{...o,background:(t=a.scene.instance.background)==null?void 0:t.clone(),tick:(r=a.group)==null?void 0:r.curTick,dimensionVisible:$().visible.value,rotation:(i=a.group)==null?void 0:i.rotation.toArray(),camera:{position:a.camera.instance.position.toArray(),target:a.control.instance.target.toArray()}}),($().visible.value||$().tempVisible.value)&&($().setVisible(!1),$().setTempVisible(!1),$().cancelActiveForLine(),a.setDimensionVisible(!1))},restoreD3State:async e=>{let t=$i.get(e),r=await n();if(t.background!==r.scene.instance.background&&t.type!==`transparent`&&(r.scene.backgroundType=t.type,r.scene.instance.background=t.background),t.rotation){var i;(i=r.group)==null||i.rotation.fromArray(t.rotation)}t.camera&&(t.camera.position&&r.camera.instance.position.fromArray(t.camera.position),t.camera.target&&r.control.instance.target.fromArray(t.camera.target)),$().setVisible(t.dimensionVisible),r.setDimensionVisible(t.dimensionVisible),t.tick!==void 0&&Fi().setTick(t.tick),$i.delete(e)},generatedImageForD3Render:_,removeImageInTargetDom:v,D3Condition:$i}},{logined:na}=n(),ra=D({isMember:!1,email:``,id:0,create_time:``,username:``,user_id:0,uid:``,update_time:``,isAdmin:!1,headerCountryCode:``,isOpen:!1,is_admin:0,nickName:``,nick_name:``,pb_username:``}),ia=({syncD3Watermark:e=!0}={})=>{let{useD3:t,D3_EDITOR:r}=ta(),{createProject:i}=Tr(),a=async()=>{let{user:e,promise:t}=n();return await t,ie(e,e=>{Object.assign(ra.value,e)},{immediate:!0,deep:!0}),Promise.resolve({userInfo:ra,isLogin:na})},o=async()=>{e&&(await t(r)).showWatermark(!ra.value.isMember),await he()};return{getUserCheck:a,isLogin:na,userInfo:ra,mockupLogin:async(e={type:`signIn`},t,n=!1)=>{try{return(n||!na.value)&&(await m({...e,leftImgUrl:_().login_mockup_left}),await o()),Promise.resolve()}catch(e){return Promise.reject(e)}},updateProfileRights:o}};export{ni as $,ft as $t,oi as A,Fe as An,z as At,K as B,jt as Bt,Xi as C,Ye as Cn,Hn as Ct,Pi as D,je as Dn,B as Dt,Ii as E,Ie as En,Pn as Et,ci as F,M as Fn,F as Ft,$r as G,Ot as Gt,ri as H,Lt as Ht,bi as I,Re as In,Rt as It,ei as J,wt as Jt,G as K,kt as Kt,Z as L,Ke as Ln,Vt as Lt,_i as M,Ne as Mn,R as Mt,si as N,Be as Nn,on as Nt,vi as O,Pe as On,Fn as Ot,ii as P,Ue as Pn,an as Pt,li as Q,xt as Qt,ai as R,Je as Rn,Bt as Rt,Fi as S,He as Sn,nr as St,Li as T,qe as Tn,Bn as Tt,W as U,Dt as Ut,Qr as V,It as Vt,Y as W,At as Wt,ui as X,Tt as Xt,Q as Y,Et as Yt,di as Z,pt as Zt,Mi as _,$e as _n,br as _t,Qi as a,vt as an,Gr as at,ji as b,Ze as bn,ar as bt,Ui as c,lt as cn,Hr as ct,qi as d,St as dn,Br as dt,Ct as en,pi as et,Vi as f,mt as fn,Ar as ft,Ni as g,ot as gn,Tr as gt,Bi as h,it as hn,wr as ht,Zi as i,bt as in,Ur as it,J as j,ze as jn,Mn as jt,yi as k,Me as kn,In as kt,Oi as l,ut as ln,Wr as lt,zi as m,rt as mn,xr as mt,ia as n,ct as nn,X as nt,ta as o,gt as on,Kr as ot,Hi as p,yt as pn,kr as pt,q,N as qt,ra as r,st as rn,qr as rt,wi as s,ht as sn,Yr as st,na as t,_t as tn,Zr as tt,Ai as u,dt as un,Jr as ut,Wi as v,Xe as vn,yr as vt,Ri as w,Ve as wn,Vn as wt,$ as x,Le as xn,tr as xt,Ji as y,Qe as yn,qn as yt,xi as z,P as zt};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.