ss-component-new 1.2.95 → 1.2.96

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.
Files changed (64) hide show
  1. package/dist/{animationData-CQDxkaf8.js → animationData-0jCpD3l0.js} +1 -1
  2. package/dist/{animationData-Bx4eWR_g.cjs → animationData-CAppfuqr.cjs} +1 -1
  3. package/dist/{index-CqfXVkG_.cjs → index-3JUnbgIT.cjs} +1 -1
  4. package/dist/{index-CxXHtat8.cjs → index-5hihfJxO.cjs} +1 -1
  5. package/dist/{index-D450aSmc.cjs → index-6Chvz-6H.cjs} +1 -1
  6. package/dist/{index-BgUWl3Zu.js → index-B-gCmSbm.js} +3 -3
  7. package/dist/{index-DP1ngDkf.js → index-B01K_q9I.js} +1 -1
  8. package/dist/{index-BdjFLIVl.js → index-B0eWCQHx.js} +1 -1
  9. package/dist/{index-BgyeksTj.cjs → index-B7d98_nQ.cjs} +1 -1
  10. package/dist/{index-DnJvIr_e.js → index-BIvGwNqR.js} +5 -5
  11. package/dist/{index-uCKXm0Ml.cjs → index-B_GqgLqE.cjs} +1 -1
  12. package/dist/{index-CymErwj9.cjs → index-Bag6byEJ.cjs} +1 -1
  13. package/dist/{index-Dw6fiZyq.js → index-BdvqBTDW.js} +1 -1
  14. package/dist/{index-BZlNDUf3.js → index-BgKE_tia.js} +3 -3
  15. package/dist/{index-DEftTK7V.cjs → index-BnLOogVf.cjs} +1 -1
  16. package/dist/{index-_O8-0tTU.js → index-Bt57uQ3d.js} +1 -1
  17. package/dist/{index-CwByh9ZP.cjs → index-Bvvx3SbS.cjs} +1 -1
  18. package/dist/{index-nvZihuIg.js → index-C3nNOYlY.js} +1 -1
  19. package/dist/{index-C-YumVbf.js → index-C3pEzgj_.js} +2 -2
  20. package/dist/{index-DzEn5obj.cjs → index-CO1At3Qt.cjs} +1 -1
  21. package/dist/{index-jwp9FUJG.cjs → index-CQm-J0AU.cjs} +1 -1
  22. package/dist/{index-9ZD8V6kl.js → index-CaaRetWn.js} +2 -2
  23. package/dist/{index-UBLKP4tK.cjs → index-D-7WLmXf.cjs} +1 -1
  24. package/dist/{index-Qc-s-Zm7.js → index-D6G3wQov.js} +1 -1
  25. package/dist/{index-F-C5-x1o.js → index-D98HbHeq.js} +2 -2
  26. package/dist/{index-Cytb2XpO.cjs → index-DJSzUDVP.cjs} +1 -1
  27. package/dist/{index-CdroHcgB.cjs → index-DgnURGHM.cjs} +1 -1
  28. package/dist/{index-B-Plyeh4.js → index-Dgpx-Hra.js} +4 -4
  29. package/dist/{index-CKH8tgtf.js → index-DijDlKaY.js} +12 -12
  30. package/dist/{index-BUjf2k-5.js → index-M8PsQPdI.js} +2 -2
  31. package/dist/{index-CRLrdcaz.js → index-MCoX9dAt.js} +1 -1
  32. package/dist/{index-ssE7UMws.cjs → index-PUTWsBgd.cjs} +1 -1
  33. package/dist/{index-DGqnGNR8.cjs → index-VzkNVYhI.cjs} +1 -1
  34. package/dist/{index-dJkjnoBT.js → index-i247pLsX.js} +1 -1
  35. package/dist/{index-CP5OwgDj.cjs → index-ii79t_b4.cjs} +1 -1
  36. package/dist/{index-CXZD7ZqS.js → index-oIwmn1U8.js} +1 -1
  37. package/dist/{index-BIoBDMY8.cjs → index-traVr_lk.cjs} +1 -1
  38. package/dist/{index-BvqgSoo0.cjs → index-ykiHcw47.cjs} +1 -1
  39. package/dist/{index.vue_vue_type_style_index_0_scoped_0b6f1a18_lang-WJTWjMIt.js → index.vue_vue_type_style_index_0_scoped_0b6f1a18_lang-Bln4NQBz.js} +4 -4
  40. package/dist/{index.vue_vue_type_style_index_0_scoped_0b6f1a18_lang-DwtbPt8c.cjs → index.vue_vue_type_style_index_0_scoped_0b6f1a18_lang-BweLdgQg.cjs} +1 -1
  41. package/dist/{index.vue_vue_type_style_index_0_scoped_92477073_lang-02N_VKFB.js → index.vue_vue_type_style_index_0_scoped_92477073_lang-BNgp6mzJ.js} +2 -2
  42. package/dist/{index.vue_vue_type_style_index_0_scoped_92477073_lang-DZ8szdDo.cjs → index.vue_vue_type_style_index_0_scoped_92477073_lang-CPnq8zy9.cjs} +1 -1
  43. package/dist/{index.vue_vue_type_style_index_1_lang-CIdKArLI.js → index.vue_vue_type_style_index_1_lang-D0fEUDml.js} +1 -1
  44. package/dist/{index.vue_vue_type_style_index_1_lang-B0Uj0kxH.cjs → index.vue_vue_type_style_index_1_lang-Dk-QY9vy.cjs} +1 -1
  45. package/dist/{main-_im25sGn.cjs → main-Da2N7L0r.cjs} +1 -1
  46. package/dist/{main-CYhFa6nS.js → main-Dc3xXHlm.js} +2 -2
  47. package/dist/ss-component.cjs +1 -1
  48. package/dist/ss-component.js +6 -6
  49. package/dist/ss-component2.cjs +1 -1
  50. package/dist/ss-component2.js +10 -10
  51. package/dist/{threeModel-DzvIhn6F.cjs → threeModel-B5m5e2r3.cjs} +1 -1
  52. package/dist/{threeModel-BYpxhXBO.js → threeModel-Db0eOtGe.js} +2 -2
  53. package/dist/{threeSceneView-CAMJYdpr.cjs → threeSceneView-ClZqVdCB.cjs} +1 -1
  54. package/dist/{threeSceneView-BhmqTLZA.js → threeSceneView-mXWAjDOa.js} +3 -3
  55. package/dist/{threeSceneViewForCPMPIP-fwJ6mDCc.cjs → threeSceneViewForCPMPIP-Cs2p48GK.cjs} +1 -1
  56. package/dist/{threeSceneViewForCPMPIP-C7cCpwwv.js → threeSceneViewForCPMPIP-DAYVqOg4.js} +3 -3
  57. package/dist/{threeTrackPathView-BvbmDcVs.js → threeTrackPathView-BypIKggF.js} +351 -329
  58. package/dist/threeTrackPathView-CC7mxoKt.cjs +370 -0
  59. package/dist/{threeViewerHost-BRpeReJJ.cjs → threeViewerHost-CG9MEd0B.cjs} +1 -1
  60. package/dist/{threeViewerHost---qrarPK.js → threeViewerHost-D8aKuUdC.js} +1 -1
  61. package/dist/{workpieceTreePanel-D1WeZesv.cjs → workpieceTreePanel-C0gVhVe8.cjs} +1 -1
  62. package/dist/{workpieceTreePanel-DaCEJl86.js → workpieceTreePanel-u_fWFvEp.js} +2 -2
  63. package/package.json +1 -1
  64. package/dist/threeTrackPathView-C3n4B-Ye.cjs +0 -370
@@ -0,0 +1,370 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),O=require("./iconfont-CYyOVK2s.cjs"),l=require("./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-C2CSvQmH.cjs"),Be=require("./threeViewerHost-CG9MEd0B.cjs"),W=require("./index-C8qRkCgn.cjs"),oe=require("./urdfTree-CXBSDiJj.cjs"),ue=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),V=require("./svgIcon-CUM54R6L.cjs"),Le=require("./isString--eJE54G5.cjs");function ke(r=.5,e=4){const n=new l.Mesh(new l.ConeGeometry(r,e,32),new l.MeshStandardMaterial({color:"#919191ff",metalness:.3,roughness:.6})),o=n.geometry.parameters.height;return n.geometry.translate(0,-o/2,0),n.rotation.set(-90,0,0,"XYZ"),n}function De(r,e){r.position.copy(e)}function Pe(r,e,n=new l.Color(16711680)){const o=new l.Vector3;e.getWorldPosition(o);const i=r.geometry.attributes.position,s=r.geometry.attributes.color,c=new l.Color(55551);let a=1/0,m=-1;for(let d=0;d<i.count;d++){const p=new l.Vector3().fromBufferAttribute(i,d).distanceTo(o);p<a&&(a=p,m=d)}for(let d=0;d<s.count;d++)c.toArray(s.array,d*3);if(m!==-1){const d=n.toArray(),h=m*3+2;for(let p=0;p<h;p=p+3)s.array[p]=d[0],s.array[p+1]=d[1],s.array[p+2]=d[2]}s.needsUpdate=!0}function de(r,e,n,o=new l.Color(16711680)){De(r,e),Pe(n,r,o)}const Ie={class:"panel-content"},Fe={class:"animation-controls"},Oe={class:"control-row"},je={class:"control-row"},Re={class:"frame-info"},We={class:"control-row"},Ge=t.defineComponent({__name:"trackAnimationPanel",props:{cloud:{},knife:{},vectors:{}},emits:["getThreeData"],setup(r,{expose:e,emit:n}){const o=r,i=t.computed(()=>o.vectors),s=t.ref(!1),c=t.ref(0),a=t.ref(50);let m=!1;const d=g=>`第 ${g+1} 帧`,h=g=>{if(g<0||g>=i.value.length){console.error(`帧索引 ${g} 超出范围`);return}const y=i.value[g];c.value=g,de(o.knife,y,o.cloud)},p=async()=>{if(i.value.length===0){W.ElMessage.error("无法播放动画:无数据");return}if(!s.value){s.value=!0,m=!1,i.value.length-1===c.value&&(c.value=0);try{for(let g=c.value+1;g<i.value.length&&!m;g++)await new Promise(y=>setTimeout(y,a.value)),h(g);m||W.ElMessage.success("动画播放完成")}catch(g){console.error("动画播放出错:",g),W.ElMessage.error("动画播放出错")}finally{s.value=!1}}},v=()=>{m=!0,s.value=!1,W.ElMessage.info("动画已停止")},E=g=>{s.value&&v(),h(g)};return e({playAnimation:p,stopAnimation:v,forwardFrame:()=>{s.value&&v(),!(c.value+1>=i.value.length)&&h(c.value+1)},backwardFrame:()=>{s.value&&v(),c.value!==0&&h(c.value-1)}}),(g,y)=>{const _=t.resolveComponent("el-input-number"),C=t.resolveComponent("el-form-item"),A=t.resolveComponent("el-form"),X=t.resolveComponent("el-slider");return t.openBlock(),t.createElementBlock("div",Ie,[t.createElementVNode("div",Fe,[t.createElementVNode("div",Oe,[t.createVNode(A,{"label-width":"auto",style:{width:"100%"}},{default:t.withCtx(()=>[t.createVNode(C,{label:"帧间隔 (ms):",prop:"frameDuration"},{default:t.withCtx(()=>[t.createVNode(_,{modelValue:a.value,"onUpdate:modelValue":y[0]||(y[0]=F=>a.value=F),min:0,max:5e3,step:10,style:{width:"100%"}},null,8,["modelValue"])]),_:1})]),_:1})]),t.createElementVNode("div",je,[y[2]||(y[2]=t.createElementVNode("label",null,"当前帧:",-1)),t.createElementVNode("span",Re,t.toDisplayString(c.value+1)+" / "+t.toDisplayString(i.value.length),1)]),t.createElementVNode("div",We,[y[3]||(y[3]=t.createElementVNode("label",null,"动画进度:",-1)),t.createVNode(X,{modelValue:c.value,"onUpdate:modelValue":y[1]||(y[1]=F=>c.value=F),min:0,max:i.value.length>0?i.value.length-1:0,step:1,"format-tooltip":d,onInput:E,disabled:i.value.length===0,style:{"flex-grow":"1",margin:"0 10px"}},null,8,["modelValue","max","disabled"])])])])}}}),He=ue._export_sfc(Ge,[["__scopeId","data-v-93cde733"]]),re=new l.Box3,G=new l.Vector3;class fe extends l.InstancedBufferGeometry{constructor(){super(),this.isLineSegmentsGeometry=!0,this.type="LineSegmentsGeometry";const e=[-1,2,0,1,2,0,-1,1,0,1,1,0,-1,0,0,1,0,0,-1,-1,0,1,-1,0],n=[-1,2,1,2,-1,1,1,1,-1,-1,1,-1,-1,-2,1,-2],o=[0,2,1,2,3,1,2,4,3,4,5,3,4,6,5,6,7,5];this.setIndex(o),this.setAttribute("position",new l.Float32BufferAttribute(e,3)),this.setAttribute("uv",new l.Float32BufferAttribute(n,2))}applyMatrix4(e){const n=this.attributes.instanceStart,o=this.attributes.instanceEnd;return n!==void 0&&(n.applyMatrix4(e),o.applyMatrix4(e),n.needsUpdate=!0),this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this}setPositions(e){let n;e instanceof Float32Array?n=e:Array.isArray(e)&&(n=new Float32Array(e));const o=new l.InstancedInterleavedBuffer(n,6,1);return this.setAttribute("instanceStart",new l.InterleavedBufferAttribute(o,3,0)),this.setAttribute("instanceEnd",new l.InterleavedBufferAttribute(o,3,3)),this.instanceCount=this.attributes.instanceStart.count,this.computeBoundingBox(),this.computeBoundingSphere(),this}setColors(e){let n;e instanceof Float32Array?n=e:Array.isArray(e)&&(n=new Float32Array(e));const o=new l.InstancedInterleavedBuffer(n,6,1);return this.setAttribute("instanceColorStart",new l.InterleavedBufferAttribute(o,3,0)),this.setAttribute("instanceColorEnd",new l.InterleavedBufferAttribute(o,3,3)),this}fromWireframeGeometry(e){return this.setPositions(e.attributes.position.array),this}fromEdgesGeometry(e){return this.setPositions(e.attributes.position.array),this}fromMesh(e){return this.fromWireframeGeometry(new l.WireframeGeometry(e.geometry)),this}fromLineSegments(e){const n=e.geometry;return this.setPositions(n.attributes.position.array),this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new l.Box3);const e=this.attributes.instanceStart,n=this.attributes.instanceEnd;e!==void 0&&n!==void 0&&(this.boundingBox.setFromBufferAttribute(e),re.setFromBufferAttribute(n),this.boundingBox.union(re))}computeBoundingSphere(){this.boundingSphere===null&&(this.boundingSphere=new l.Sphere),this.boundingBox===null&&this.computeBoundingBox();const e=this.attributes.instanceStart,n=this.attributes.instanceEnd;if(e!==void 0&&n!==void 0){const o=this.boundingSphere.center;this.boundingBox.getCenter(o);let i=0;for(let s=0,c=e.count;s<c;s++)G.fromBufferAttribute(e,s),i=Math.max(i,o.distanceToSquared(G)),G.fromBufferAttribute(n,s),i=Math.max(i,o.distanceToSquared(G));this.boundingSphere.radius=Math.sqrt(i),isNaN(this.boundingSphere.radius)&&console.error("THREE.LineSegmentsGeometry.computeBoundingSphere(): Computed radius is NaN. The instanced position data is likely to have NaN values.",this)}}toJSON(){}}l.UniformsLib.line={worldUnits:{value:1},linewidth:{value:1},resolution:{value:new l.Vector2(1,1)},dashOffset:{value:0},dashScale:{value:1},dashSize:{value:1},gapSize:{value:1}};l.ShaderLib.line={uniforms:l.UniformsUtils.merge([l.UniformsLib.common,l.UniformsLib.fog,l.UniformsLib.line]),vertexShader:`
2
+ #include <common>
3
+ #include <color_pars_vertex>
4
+ #include <fog_pars_vertex>
5
+ #include <logdepthbuf_pars_vertex>
6
+ #include <clipping_planes_pars_vertex>
7
+
8
+ uniform float linewidth;
9
+ uniform vec2 resolution;
10
+
11
+ attribute vec3 instanceStart;
12
+ attribute vec3 instanceEnd;
13
+
14
+ attribute vec3 instanceColorStart;
15
+ attribute vec3 instanceColorEnd;
16
+
17
+ #ifdef WORLD_UNITS
18
+
19
+ varying vec4 worldPos;
20
+ varying vec3 worldStart;
21
+ varying vec3 worldEnd;
22
+
23
+ #ifdef USE_DASH
24
+
25
+ varying vec2 vUv;
26
+
27
+ #endif
28
+
29
+ #else
30
+
31
+ varying vec2 vUv;
32
+
33
+ #endif
34
+
35
+ #ifdef USE_DASH
36
+
37
+ uniform float dashScale;
38
+ attribute float instanceDistanceStart;
39
+ attribute float instanceDistanceEnd;
40
+ varying float vLineDistance;
41
+
42
+ #endif
43
+
44
+ void trimSegment( const in vec4 start, inout vec4 end ) {
45
+
46
+ // trim end segment so it terminates between the camera plane and the near plane
47
+
48
+ // conservative estimate of the near plane
49
+ float a = projectionMatrix[ 2 ][ 2 ]; // 3nd entry in 3th column
50
+ float b = projectionMatrix[ 3 ][ 2 ]; // 3nd entry in 4th column
51
+ float nearEstimate = - 0.5 * b / a;
52
+
53
+ float alpha = ( nearEstimate - start.z ) / ( end.z - start.z );
54
+
55
+ end.xyz = mix( start.xyz, end.xyz, alpha );
56
+
57
+ }
58
+
59
+ void main() {
60
+
61
+ #ifdef USE_COLOR
62
+
63
+ vColor.xyz = ( position.y < 0.5 ) ? instanceColorStart : instanceColorEnd;
64
+
65
+ #endif
66
+
67
+ #ifdef USE_DASH
68
+
69
+ vLineDistance = ( position.y < 0.5 ) ? dashScale * instanceDistanceStart : dashScale * instanceDistanceEnd;
70
+ vUv = uv;
71
+
72
+ #endif
73
+
74
+ float aspect = resolution.x / resolution.y;
75
+
76
+ // camera space
77
+ vec4 start = modelViewMatrix * vec4( instanceStart, 1.0 );
78
+ vec4 end = modelViewMatrix * vec4( instanceEnd, 1.0 );
79
+
80
+ #ifdef WORLD_UNITS
81
+
82
+ worldStart = start.xyz;
83
+ worldEnd = end.xyz;
84
+
85
+ #else
86
+
87
+ vUv = uv;
88
+
89
+ #endif
90
+
91
+ // special case for perspective projection, and segments that terminate either in, or behind, the camera plane
92
+ // clearly the gpu firmware has a way of addressing this issue when projecting into ndc space
93
+ // but we need to perform ndc-space calculations in the shader, so we must address this issue directly
94
+ // perhaps there is a more elegant solution -- WestLangley
95
+
96
+ bool perspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 ); // 4th entry in the 3rd column
97
+
98
+ if ( perspective ) {
99
+
100
+ if ( start.z < 0.0 && end.z >= 0.0 ) {
101
+
102
+ trimSegment( start, end );
103
+
104
+ } else if ( end.z < 0.0 && start.z >= 0.0 ) {
105
+
106
+ trimSegment( end, start );
107
+
108
+ }
109
+
110
+ }
111
+
112
+ // clip space
113
+ vec4 clipStart = projectionMatrix * start;
114
+ vec4 clipEnd = projectionMatrix * end;
115
+
116
+ // ndc space
117
+ vec3 ndcStart = clipStart.xyz / clipStart.w;
118
+ vec3 ndcEnd = clipEnd.xyz / clipEnd.w;
119
+
120
+ // direction
121
+ vec2 dir = ndcEnd.xy - ndcStart.xy;
122
+
123
+ // account for clip-space aspect ratio
124
+ dir.x *= aspect;
125
+ dir = normalize( dir );
126
+
127
+ #ifdef WORLD_UNITS
128
+
129
+ vec3 worldDir = normalize( end.xyz - start.xyz );
130
+ vec3 tmpFwd = normalize( mix( start.xyz, end.xyz, 0.5 ) );
131
+ vec3 worldUp = normalize( cross( worldDir, tmpFwd ) );
132
+ vec3 worldFwd = cross( worldDir, worldUp );
133
+ worldPos = position.y < 0.5 ? start: end;
134
+
135
+ // height offset
136
+ float hw = linewidth * 0.5;
137
+ worldPos.xyz += position.x < 0.0 ? hw * worldUp : - hw * worldUp;
138
+
139
+ // don't extend the line if we're rendering dashes because we
140
+ // won't be rendering the endcaps
141
+ #ifndef USE_DASH
142
+
143
+ // cap extension
144
+ worldPos.xyz += position.y < 0.5 ? - hw * worldDir : hw * worldDir;
145
+
146
+ // add width to the box
147
+ worldPos.xyz += worldFwd * hw;
148
+
149
+ // endcaps
150
+ if ( position.y > 1.0 || position.y < 0.0 ) {
151
+
152
+ worldPos.xyz -= worldFwd * 2.0 * hw;
153
+
154
+ }
155
+
156
+ #endif
157
+
158
+ // project the worldpos
159
+ vec4 clip = projectionMatrix * worldPos;
160
+
161
+ // shift the depth of the projected points so the line
162
+ // segments overlap neatly
163
+ vec3 clipPose = ( position.y < 0.5 ) ? ndcStart : ndcEnd;
164
+ clip.z = clipPose.z * clip.w;
165
+
166
+ #else
167
+
168
+ vec2 offset = vec2( dir.y, - dir.x );
169
+ // undo aspect ratio adjustment
170
+ dir.x /= aspect;
171
+ offset.x /= aspect;
172
+
173
+ // sign flip
174
+ if ( position.x < 0.0 ) offset *= - 1.0;
175
+
176
+ // endcaps
177
+ if ( position.y < 0.0 ) {
178
+
179
+ offset += - dir;
180
+
181
+ } else if ( position.y > 1.0 ) {
182
+
183
+ offset += dir;
184
+
185
+ }
186
+
187
+ // adjust for linewidth
188
+ offset *= linewidth;
189
+
190
+ // adjust for clip-space to screen-space conversion // maybe resolution should be based on viewport ...
191
+ offset /= resolution.y;
192
+
193
+ // select end
194
+ vec4 clip = ( position.y < 0.5 ) ? clipStart : clipEnd;
195
+
196
+ // back to clip space
197
+ offset *= clip.w;
198
+
199
+ clip.xy += offset;
200
+
201
+ #endif
202
+
203
+ gl_Position = clip;
204
+
205
+ vec4 mvPosition = ( position.y < 0.5 ) ? start : end; // this is an approximation
206
+
207
+ #include <logdepthbuf_vertex>
208
+ #include <clipping_planes_vertex>
209
+ #include <fog_vertex>
210
+
211
+ }
212
+ `,fragmentShader:`
213
+ uniform vec3 diffuse;
214
+ uniform float opacity;
215
+ uniform float linewidth;
216
+
217
+ #ifdef USE_DASH
218
+
219
+ uniform float dashOffset;
220
+ uniform float dashSize;
221
+ uniform float gapSize;
222
+
223
+ #endif
224
+
225
+ varying float vLineDistance;
226
+
227
+ #ifdef WORLD_UNITS
228
+
229
+ varying vec4 worldPos;
230
+ varying vec3 worldStart;
231
+ varying vec3 worldEnd;
232
+
233
+ #ifdef USE_DASH
234
+
235
+ varying vec2 vUv;
236
+
237
+ #endif
238
+
239
+ #else
240
+
241
+ varying vec2 vUv;
242
+
243
+ #endif
244
+
245
+ #include <common>
246
+ #include <color_pars_fragment>
247
+ #include <fog_pars_fragment>
248
+ #include <logdepthbuf_pars_fragment>
249
+ #include <clipping_planes_pars_fragment>
250
+
251
+ vec2 closestLineToLine(vec3 p1, vec3 p2, vec3 p3, vec3 p4) {
252
+
253
+ float mua;
254
+ float mub;
255
+
256
+ vec3 p13 = p1 - p3;
257
+ vec3 p43 = p4 - p3;
258
+
259
+ vec3 p21 = p2 - p1;
260
+
261
+ float d1343 = dot( p13, p43 );
262
+ float d4321 = dot( p43, p21 );
263
+ float d1321 = dot( p13, p21 );
264
+ float d4343 = dot( p43, p43 );
265
+ float d2121 = dot( p21, p21 );
266
+
267
+ float denom = d2121 * d4343 - d4321 * d4321;
268
+
269
+ float numer = d1343 * d4321 - d1321 * d4343;
270
+
271
+ mua = numer / denom;
272
+ mua = clamp( mua, 0.0, 1.0 );
273
+ mub = ( d1343 + d4321 * ( mua ) ) / d4343;
274
+ mub = clamp( mub, 0.0, 1.0 );
275
+
276
+ return vec2( mua, mub );
277
+
278
+ }
279
+
280
+ void main() {
281
+
282
+ float alpha = opacity;
283
+ vec4 diffuseColor = vec4( diffuse, alpha );
284
+
285
+ #include <clipping_planes_fragment>
286
+
287
+ #ifdef USE_DASH
288
+
289
+ if ( vUv.y < - 1.0 || vUv.y > 1.0 ) discard; // discard endcaps
290
+
291
+ if ( mod( vLineDistance + dashOffset, dashSize + gapSize ) > dashSize ) discard; // todo - FIX
292
+
293
+ #endif
294
+
295
+ #ifdef WORLD_UNITS
296
+
297
+ // Find the closest points on the view ray and the line segment
298
+ vec3 rayEnd = normalize( worldPos.xyz ) * 1e5;
299
+ vec3 lineDir = worldEnd - worldStart;
300
+ vec2 params = closestLineToLine( worldStart, worldEnd, vec3( 0.0, 0.0, 0.0 ), rayEnd );
301
+
302
+ vec3 p1 = worldStart + lineDir * params.x;
303
+ vec3 p2 = rayEnd * params.y;
304
+ vec3 delta = p1 - p2;
305
+ float len = length( delta );
306
+ float norm = len / linewidth;
307
+
308
+ #ifndef USE_DASH
309
+
310
+ #ifdef USE_ALPHA_TO_COVERAGE
311
+
312
+ float dnorm = fwidth( norm );
313
+ alpha = 1.0 - smoothstep( 0.5 - dnorm, 0.5 + dnorm, norm );
314
+
315
+ #else
316
+
317
+ if ( norm > 0.5 ) {
318
+
319
+ discard;
320
+
321
+ }
322
+
323
+ #endif
324
+
325
+ #endif
326
+
327
+ #else
328
+
329
+ #ifdef USE_ALPHA_TO_COVERAGE
330
+
331
+ // artifacts appear on some hardware if a derivative is taken within a conditional
332
+ float a = vUv.x;
333
+ float b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0;
334
+ float len2 = a * a + b * b;
335
+ float dlen = fwidth( len2 );
336
+
337
+ if ( abs( vUv.y ) > 1.0 ) {
338
+
339
+ alpha = 1.0 - smoothstep( 1.0 - dlen, 1.0 + dlen, len2 );
340
+
341
+ }
342
+
343
+ #else
344
+
345
+ if ( abs( vUv.y ) > 1.0 ) {
346
+
347
+ float a = vUv.x;
348
+ float b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0;
349
+ float len2 = a * a + b * b;
350
+
351
+ if ( len2 > 1.0 ) discard;
352
+
353
+ }
354
+
355
+ #endif
356
+
357
+ #endif
358
+
359
+ #include <logdepthbuf_fragment>
360
+ #include <color_fragment>
361
+
362
+ gl_FragColor = vec4( diffuseColor.rgb, alpha );
363
+
364
+ #include <tonemapping_fragment>
365
+ #include <colorspace_fragment>
366
+ #include <fog_fragment>
367
+ #include <premultiplied_alpha_fragment>
368
+
369
+ }
370
+ `};class te extends l.ShaderMaterial{constructor(e){super({type:"LineMaterial",uniforms:l.UniformsUtils.clone(l.ShaderLib.line.uniforms),vertexShader:l.ShaderLib.line.vertexShader,fragmentShader:l.ShaderLib.line.fragmentShader,clipping:!0}),this.isLineMaterial=!0,this.setValues(e)}get color(){return this.uniforms.diffuse.value}set color(e){this.uniforms.diffuse.value=e}get worldUnits(){return"WORLD_UNITS"in this.defines}set worldUnits(e){e===!0?this.defines.WORLD_UNITS="":delete this.defines.WORLD_UNITS}get linewidth(){return this.uniforms.linewidth.value}set linewidth(e){this.uniforms.linewidth&&(this.uniforms.linewidth.value=e)}get dashed(){return"USE_DASH"in this.defines}set dashed(e){e===!0!==this.dashed&&(this.needsUpdate=!0),e===!0?this.defines.USE_DASH="":delete this.defines.USE_DASH}get dashScale(){return this.uniforms.dashScale.value}set dashScale(e){this.uniforms.dashScale.value=e}get dashSize(){return this.uniforms.dashSize.value}set dashSize(e){this.uniforms.dashSize.value=e}get dashOffset(){return this.uniforms.dashOffset.value}set dashOffset(e){this.uniforms.dashOffset.value=e}get gapSize(){return this.uniforms.gapSize.value}set gapSize(e){this.uniforms.gapSize.value=e}get opacity(){return this.uniforms.opacity.value}set opacity(e){this.uniforms&&(this.uniforms.opacity.value=e)}get resolution(){return this.uniforms.resolution.value}set resolution(e){this.uniforms.resolution.value.copy(e)}get alphaToCoverage(){return"USE_ALPHA_TO_COVERAGE"in this.defines}set alphaToCoverage(e){this.defines&&(e===!0!==this.alphaToCoverage&&(this.needsUpdate=!0),e===!0?this.defines.USE_ALPHA_TO_COVERAGE="":delete this.defines.USE_ALPHA_TO_COVERAGE)}}const J=new l.Vector4,se=new l.Vector3,ae=new l.Vector3,x=new l.Vector4,b=new l.Vector4,N=new l.Vector4,Q=new l.Vector3,ee=new l.Matrix4,S=new l.Line3,le=new l.Vector3,H=new l.Box3,q=new l.Sphere,M=new l.Vector4;let T,I;function ce(r,e,n){return M.set(0,0,-e,1).applyMatrix4(r.projectionMatrix),M.multiplyScalar(1/M.w),M.x=I/n.width,M.y=I/n.height,M.applyMatrix4(r.projectionMatrixInverse),M.multiplyScalar(1/M.w),Math.abs(Math.max(M.x,M.y))}function qe(r,e){const n=r.matrixWorld,o=r.geometry,i=o.attributes.instanceStart,s=o.attributes.instanceEnd,c=Math.min(o.instanceCount,i.count);for(let a=0,m=c;a<m;a++){S.start.fromBufferAttribute(i,a),S.end.fromBufferAttribute(s,a),S.applyMatrix4(n);const d=new l.Vector3,h=new l.Vector3;T.distanceSqToSegment(S.start,S.end,h,d),h.distanceTo(d)<I*.5&&e.push({point:h,pointOnLine:d,distance:T.origin.distanceTo(h),object:r,face:null,faceIndex:a,uv:null,uv1:null})}}function $e(r,e,n){const o=e.projectionMatrix,s=r.material.resolution,c=r.matrixWorld,a=r.geometry,m=a.attributes.instanceStart,d=a.attributes.instanceEnd,h=Math.min(a.instanceCount,m.count),p=-e.near;T.at(1,N),N.w=1,N.applyMatrix4(e.matrixWorldInverse),N.applyMatrix4(o),N.multiplyScalar(1/N.w),N.x*=s.x/2,N.y*=s.y/2,N.z=0,Q.copy(N),ee.multiplyMatrices(e.matrixWorldInverse,c);for(let v=0,E=h;v<E;v++){if(x.fromBufferAttribute(m,v),b.fromBufferAttribute(d,v),x.w=1,b.w=1,x.applyMatrix4(ee),b.applyMatrix4(ee),x.z>p&&b.z>p)continue;if(x.z>p){const C=x.z-b.z,A=(x.z-p)/C;x.lerp(b,A)}else if(b.z>p){const C=b.z-x.z,A=(b.z-p)/C;b.lerp(x,A)}x.applyMatrix4(o),b.applyMatrix4(o),x.multiplyScalar(1/x.w),b.multiplyScalar(1/b.w),x.x*=s.x/2,x.y*=s.y/2,b.x*=s.x/2,b.y*=s.y/2,S.start.copy(x),S.start.z=0,S.end.copy(b),S.end.z=0;const U=S.closestPointToPointParameter(Q,!0);S.at(U,le);const g=l.MathUtils.lerp(x.z,b.z,U),y=g>=-1&&g<=1,_=Q.distanceTo(le)<I*.5;if(y&&_){S.start.fromBufferAttribute(m,v),S.end.fromBufferAttribute(d,v),S.start.applyMatrix4(c),S.end.applyMatrix4(c);const C=new l.Vector3,A=new l.Vector3;T.distanceSqToSegment(S.start,S.end,A,C),n.push({point:A,pointOnLine:C,distance:T.origin.distanceTo(A),object:r,face:null,faceIndex:v,uv:null,uv1:null})}}}class Xe extends l.Mesh{constructor(e=new fe,n=new te({color:Math.random()*16777215})){super(e,n),this.isLineSegments2=!0,this.type="LineSegments2"}computeLineDistances(){const e=this.geometry,n=e.attributes.instanceStart,o=e.attributes.instanceEnd,i=new Float32Array(2*n.count);for(let c=0,a=0,m=n.count;c<m;c++,a+=2)se.fromBufferAttribute(n,c),ae.fromBufferAttribute(o,c),i[a]=a===0?0:i[a-1],i[a+1]=i[a]+se.distanceTo(ae);const s=new l.InstancedInterleavedBuffer(i,2,1);return e.setAttribute("instanceDistanceStart",new l.InterleavedBufferAttribute(s,1,0)),e.setAttribute("instanceDistanceEnd",new l.InterleavedBufferAttribute(s,1,1)),this}raycast(e,n){const o=this.material.worldUnits,i=e.camera;i===null&&!o&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2 while worldUnits is set to false.');const s=e.params.Line2!==void 0&&e.params.Line2.threshold||0;T=e.ray;const c=this.matrixWorld,a=this.geometry,m=this.material;I=m.linewidth+s,a.boundingSphere===null&&a.computeBoundingSphere(),q.copy(a.boundingSphere).applyMatrix4(c);let d;if(o)d=I*.5;else{const p=Math.max(i.near,q.distanceToPoint(T.origin));d=ce(i,p,m.resolution)}if(q.radius+=d,T.intersectsSphere(q)===!1)return;a.boundingBox===null&&a.computeBoundingBox(),H.copy(a.boundingBox).applyMatrix4(c);let h;if(o)h=I*.5;else{const p=Math.max(i.near,H.distanceToPoint(T.origin));h=ce(i,p,m.resolution)}H.expandByScalar(h),T.intersectsBox(H)!==!1&&(o?qe(this,n):$e(this,i,n))}onBeforeRender(e){const n=this.material.uniforms;n&&n.resolution&&(e.getViewport(J),this.material.uniforms.resolution.value.set(J.z,J.w))}}class me extends fe{constructor(){super(),this.isLineGeometry=!0,this.type="LineGeometry"}setPositions(e){const n=e.length-3,o=new Float32Array(2*n);for(let i=0;i<n;i+=3)o[2*i]=e[i],o[2*i+1]=e[i+1],o[2*i+2]=e[i+2],o[2*i+3]=e[i+3],o[2*i+4]=e[i+4],o[2*i+5]=e[i+5];return super.setPositions(o),this}setColors(e){const n=e.length-3,o=new Float32Array(2*n);for(let i=0;i<n;i+=3)o[2*i]=e[i],o[2*i+1]=e[i+1],o[2*i+2]=e[i+2],o[2*i+3]=e[i+3],o[2*i+4]=e[i+4],o[2*i+5]=e[i+5];return super.setColors(o),this}setFromPoints(e){const n=e.length-1,o=new Float32Array(6*n);for(let i=0;i<n;i++)o[6*i]=e[i].x,o[6*i+1]=e[i].y,o[6*i+2]=e[i].z||0,o[6*i+3]=e[i+1].x,o[6*i+4]=e[i+1].y,o[6*i+5]=e[i+1].z||0;return super.setPositions(o),this}fromLine(e){const n=e.geometry;return this.setPositions(n.attributes.position.array),this}}class Ye extends Xe{constructor(e=new me,n=new te({color:Math.random()*16777215})){super(e,n),this.isLine2=!0,this.type="Line2"}}function Ze(r){const e=[];return r.forEach(n=>{const[o,i,s]=n.trim().split(/\s+/);e.push(+o,+i,+s)}),e}function $(r,e,n){switch(r){case"X":e.x=+n||0;break;case"Y":e.y=+n||0;break;case"Z":e.z=+n||0;break}}function Ke(r){const e=[],n=["X","Y","Z"];return r.forEach(o=>{const i={x:0,y:0,z:0},s=o.trim();if(!s)return;let c=null,a="";for(let m=0;m<(s==null?void 0:s.length);m++){const d=s[m],h=n.find(p=>p===d);if(h){c&&$(c,i,a),a="",c=h;continue}a=a+d}$(c,i,a),e.push(i.x,i.y,i.z)}),e}const Je=r=>r==null?void 0:r.filter(n=>n.includes("=")),Qe=r=>r.replace(/,/g,""),et=r=>r==null?void 0:r.map(n=>Qe(n)),tt=r=>{const e=Je(r);return et(e)};function nt(r){const e=tt(r),n=[];return e.forEach(o=>{var p,v,E,B,U,g;let[i,s,c,a]=o.trim().split(/\s+/);s=(p=s==null?void 0:s.trim)==null?void 0:p.call(s),c=(v=c==null?void 0:c.trim)==null?void 0:v.call(c),a=(E=a==null?void 0:a.trim)==null?void 0:E.call(a);const[,m]=(B=s==null?void 0:s.split)==null?void 0:B.call(s,"="),[,d]=(U=c==null?void 0:c.split)==null?void 0:U.call(c,"="),[,h]=(g=a==null?void 0:a.split)==null?void 0:g.call(a,"=");n.push(+m,+d,+h)}),n}const it=r=>r>="0"&&r<="9",ot=r=>r==="+"||r==="-",rt=r=>r===".";function st(r){return it(r)||ot(r)||rt(r)}function at(r){const e=[],n=new Set(["X","Y","Z"]);return r.forEach(o=>{const i={x:0,y:0,z:0},s=o.trim();if(!s)return;let c=null,a="";for(let m=0;m<(s==null?void 0:s.length);m++){const d=s[m],h=n.has(d)?d:null,p=st(d);if(h||!p){c&&$(c,i,a),h?c=h:c=null,a="";continue}a=a+d}c&&$(c,i,a),e.push(i.x,i.y,i.z)}),e}function lt(r){return r==null?void 0:r.includes("=")}async function ct(r){var i,s;const e=(i=r==null?void 0:r.trim())==null?void 0:i.split(/\r?\n/);if(lt(r))return nt(e);const n=e==null?void 0:e[0],o=(s=n==null?void 0:n.trim())==null?void 0:s.split(/\s+/);if((o==null?void 0:o.length)>=3)return Ze(e);if((o==null?void 0:o.length)===1)return Ke(e)}async function ut(r){const e=r.trim().split(/\r?\n/),n=[];return e.forEach(o=>{const i=o.trim().split(/\s+/);if(i.length!=3)return;const[s,c,a]=i;n.push(+s,+c,+a)}),n}async function dt(r){const e=r.trim().split(/\r?\n/),n=[];return e.forEach(o=>{const i=o.trim().split(/\s+/);if(i.length!=3)return;const[s,c,a]=i;n.push(+s,+c,+a)}),n}async function ft(r){let e=r.trim().split(/\r?\n/);return e=e.filter(o=>{const i=o.startsWith("X"),s=o.startsWith("G")&&o.includes("X");return i||s}),at(e)}async function mt(r,e){const{isCyd:n,isUv:o,isCpt:i,isNc:s}=e;return o?ct(r):n?dt(r):i?ut(r):s?ft(r):[]}function pt(r){const e=[];for(let n=0;n<r.length;n+=3)e.push(new l.Vector3(r[n],r[n+1],r[n+2]));return e}function ht(r,e){if(!e||e.length<3)return;const{scene:n,camera:o,renderer:i,controls:s}=r();if(!n||!o||!i||!s)return;const c=[];for(let v=0;v<e.length;v+=3)c.push(new l.Vector3(e[v],e[v+1],e[v+2]));const m=new l.CatmullRomCurve3(c,!1,"catmullrom",.5).getPoints(150).flatMap(v=>[v.x,v.y,v.z]),d=new me;d.setPositions(m);const h=new te({color:55551,linewidth:3,resolution:new l.Vector2(window.innerWidth,window.innerHeight)}),p=new Ye(d,h);return p.name="轨迹路径",n.add(p),p}function vt(r,e,n,o=4,i=50){let s=1/0,c=-1/0,a=1/0,m=-1/0,d=1/0,h=-1/0;for(let g=0;g<r.length;g+=3){const y=r[g],_=r[g+1],C=r[g+2];s=Math.min(s,y),c=Math.max(c,y),a=Math.min(a,_),m=Math.max(m,_),d=Math.min(d,C),h=Math.max(h,C)}const v=Math.sqrt((c-s)**2+(m-a)**2+(h-d)**2)*.05,E=l.MathUtils.degToRad(e.fov),B=2*Math.tan(E/2)*i,U=v/B*n.domElement.height*(o/4);return Math.min(.4,U)}function gt(r){if(r.length%3!==0)return console.error("points array length is not a multiple of 3:",r),null;const e=new l.BufferGeometry;e.setAttribute("position",new l.Float32BufferAttribute(r,3));const n=new Float32Array(r.length);for(let s=0;s<r.length;s+=3)n[s]=0,n[s+1]=.847,n[s+2]=1;e.setAttribute("color",new l.BufferAttribute(n,3));const o=new l.PointsMaterial({vertexColors:!0,size:.4,sizeAttenuation:!0}),i=new l.Points(e,o);return o.needsUpdate=!0,i}function wt(r,e){const n=new l.Box3().setFromArray(e),o=[new l.Vector3(n.min.x,n.min.y,n.min.z),new l.Vector3(n.max.x,n.min.y,n.min.z),new l.Vector3(n.min.x,n.max.y,n.min.z),new l.Vector3(n.min.x,n.min.y,n.max.z),new l.Vector3(n.max.x,n.max.y,n.min.z),new l.Vector3(n.max.x,n.min.y,n.max.z),new l.Vector3(n.min.x,n.max.y,n.max.z),new l.Vector3(n.max.x,n.max.y,n.max.z)];let i=0;for(const s of o)i=Math.max(i,s.distanceTo(r.position));return i}function yt(r,e){if(!e)return;const{scene:n,camera:o,renderer:i,controls:s}=r();if(!n||!o||!i||!s)return;const c=gt(e);if(!c)return;c.name="轨迹路径",n.add(c);const a=vt(e,o,i,.1,50);c.material.size=a;const m=wt(o,e);return o.far=m*1.2,o.updateProjectionMatrix(),c}const xt={class:"obj-viewer-container"},bt={class:"buttonGroup-topLeft"},St={class:"buttonGroup-left"},_t={class:"buttonGroup-right"},Et={class:"buttonGroup-bottom"},Ct={class:"left-panel"},Vt={class:"panel-header"},zt={class:"panel-body"},At={key:1,class:"clipping-content"},Ut={class:"radio-group"},Nt={class:"radio-label"},Mt={class:"radio-label"},Tt={class:"radio-label"},Bt={class:"radio-label"},Lt={class:"right-panel"},kt={class:"panel-header"},Dt={class:"panel-body"},Pt={key:0,class:"loading-overlay"},It=t.defineComponent({__name:"threeTrackPathView",props:{fileBlobs:{},threeData:{default:()=>""},trackFileType:{}},emits:["getAnimationData","getThreeData"],setup(r,{emit:e}){const n=e,o=r,i=t.ref(null),s=t.ref(!1),c=t.ref(""),a=t.ref(),m=t.ref(!1),d=t.ref(""),h=t.ref(!1),p=t.ref(""),v=t.shallowRef(null),E=t.shallowRef(null),{currentModels:B,resetView:U,initThreeJS:g,handleResize:y,getThreeJSObjects:_,cleanup:C,axesHelperVisible:A,toggleAxesVisibility:X}=O.useThreeJS(i),{isAnimating:F,toggleAnimation:pe,stopAnimation:he}=O.useAnimation(_,B),{isClipping:ve,activeClippingAxis:z,toggleClipping:ge,updateClippingPlanes:L}=O.useClipping(_,B),we=()=>{X()},Y=f=>{m.value=!0,d.value=f,f==="剖面视图"&&!ve.value&&ge()},Z=f=>{h.value=!0,p.value=f,f==="动画仿真"&&n("getAnimationData")},K=t.ref([]),j=t.ref([]),ye=t.computed(()=>{var u;return(u=o.trackFileType)==null?void 0:u.isUv}),xe=t.computed(()=>{var u;return(u=o.trackFileType)==null?void 0:u.isCyd}),be=t.computed(()=>{var u;return(u=o.trackFileType)==null?void 0:u.isCpt}),D=t.computed(()=>{var u;return(u=o.trackFileType)==null?void 0:u.isNc}),Se=t.computed(()=>{const f=o.fileBlobs||[];return f==null?void 0:f[0]});let k=t.shallowRef(),P=t.shallowRef();const _e=()=>{const{scene:f}=_();k.value&&f&&(O.disposeObj(k.value,f),k.value=null)},Ee=()=>{const{scene:f}=_();P.value&&f&&(O.disposeObj(P.value,f),P.value=null)},ne=()=>{_e(),Ee()},Ce=async f=>{const u=URL.createObjectURL(f),R=await Be.readFileText(u);if(URL.revokeObjectURL(u),Le.isString(R)){const w=await mt(R,o.trackFileType)||[];K.value=w;const ie=K.value;ye.value&&(k.value=ht(_,ie)),(xe.value||be.value||D.value)&&(k.value=yt(_,ie)),O.frameCameraToMesh(_,k.value)}},Ve=()=>{var f,u;P.value=ke(),j.value=pt(K.value),j.value&&j.value.length&&(de(P.value,j.value[0],k.value,new l.Color(16711680)),(u=(f=E.value)==null?void 0:f.add)==null||u.call(f,P.value))};t.watch(()=>Se.value,async f=>{f&&(ne(),await Ce(f),D.value&&Ve())},{immediate:!0,deep:!0});const ze=()=>{var f;D.value&&((f=a==null?void 0:a.value)==null||f.playAnimation())},Ae=()=>{var f;D.value&&((f=a==null?void 0:a.value)==null||f.stopAnimation())},Ue=()=>{var f;D.value&&((f=a==null?void 0:a.value)==null||f.forwardFrame())},Ne=()=>{var f;D.value&&((f=a==null?void 0:a.value)==null||f.backwardFrame())},Me=()=>{g(),window.addEventListener("resize",y);const f=_();E.value=f.scene,E.value&&(E.value.name="CPMPIP")},Te=()=>{window.removeEventListener("resize",y),F.value&&he(),ne(),C()};return t.onMounted(async()=>{try{Me()}catch(f){console.error("Three.js 初始化失败:",f),W.ElMessage.error("渲染引擎初始化失败!")}}),t.onBeforeUnmount(()=>{Te()}),(f,u)=>{const R=t.resolveComponent("el-scrollbar");return t.openBlock(),t.createElementBlock("div",xt,[t.createElementVNode("div",{ref_key:"threejsContainer",ref:i,class:"threejs-container"},null,512),t.createElementVNode("div",bt,[t.createVNode(V.ThreeSvgIcon,{name:"viewReset",size:"24",onClick:t.unref(U),title:"重置"},null,8,["onClick"]),t.createVNode(V.ThreeSvgIcon,{name:"fangda",size:"24",title:"放大"}),t.createVNode(V.ThreeSvgIcon,{name:"suoxiao",size:"24",title:"缩小"}),t.createVNode(V.ThreeSvgIcon,{name:"lookAround",size:"24",onClick:t.unref(pe),title:t.unref(F)?"停止动画":"动画视图"},null,8,["onClick","title"]),t.createVNode(V.ThreeSvgIcon,{name:"zuobiaoxi",size:"24",active:t.unref(A),onClick:we,title:"显隐坐标轴"},null,8,["active"])]),t.createElementVNode("div",St,[t.renderSlot(f.$slots,"button-left",{switchRightPanel:Y},void 0,!0),t.createVNode(V.ThreeSvgIcon,{name:"jiegoushu",size:"24",onClick:u[0]||(u[0]=w=>Y("场景树")),active:m.value&&d.value==="场景树",title:"场景树"},null,8,["active"]),t.createVNode(V.ThreeSvgIcon,{name:"clipping",size:"24",onClick:u[1]||(u[1]=w=>Y("剖面视图")),active:m.value&&d.value==="剖面视图",title:"剖面视图"},null,8,["active"])]),t.createElementVNode("div",_t,[t.renderSlot(f.$slots,"button-right",{switchRightPanel:Z},void 0,!0),t.createVNode(V.ThreeSvgIcon,{name:"guanjiekongzhi",size:"24",onClick:u[2]||(u[2]=w=>Z("关节控制")),active:h.value&&p.value==="关节控制",title:"关节控制"},null,8,["active"]),t.createVNode(V.ThreeSvgIcon,{name:"donghuafangzhen",size:"24",title:"动画仿真",onClick:u[3]||(u[3]=w=>Z("动画仿真")),active:h.value&&p.value==="动画仿真"},null,8,["active"])]),t.createElementVNode("div",Et,[t.createVNode(V.ThreeSvgIcon,{name:"kuaitui",size:"24",backgroundColor:"#ffffff",title:"快退",onClick:Ne}),t.createVNode(V.ThreeSvgIcon,{name:"bofang",size:"24",backgroundColor:"#ffffff",title:"播放",onClick:ze}),t.createVNode(V.ThreeSvgIcon,{name:"kuaijin",size:"24",backgroundColor:"#ffffff",title:"快进",onClick:Ue}),t.createVNode(V.ThreeSvgIcon,{name:"zanting",size:"24",backgroundColor:"#ffffff",title:"暂停",onClick:Ae})]),t.withDirectives(t.createElementVNode("div",Ct,[t.createElementVNode("div",Vt,[t.createElementVNode("span",null,t.toDisplayString(d.value),1),t.createElementVNode("span",{class:"close",onClick:u[4]||(u[4]=w=>m.value=!1)}," X ")]),t.createElementVNode("div",zt,[t.createVNode(R,{height:"100%"},{default:t.withCtx(()=>[d.value==="场景树"?(t.openBlock(),t.createBlock(oe.UrdfTree,{key:0,model:v.value},null,8,["model"])):t.createCommentVNode("",!0),d.value==="剖面视图"?(t.openBlock(),t.createElementBlock("div",At,[t.createElementVNode("div",Ut,[t.createElementVNode("label",Nt,[t.withDirectives(t.createElementVNode("input",{type:"radio",name:"clipping-axis",value:"none","onUpdate:modelValue":u[5]||(u[5]=w=>t.isRef(z)?z.value=w:null),onChange:u[6]||(u[6]=(...w)=>t.unref(L)&&t.unref(L)(...w))},null,544),[[t.vModelRadio,t.unref(z)]]),u[14]||(u[14]=t.createElementVNode("span",{class:"radio-text"},"无切割",-1))]),t.createElementVNode("label",Mt,[t.withDirectives(t.createElementVNode("input",{type:"radio",name:"clipping-axis",value:"x","onUpdate:modelValue":u[7]||(u[7]=w=>t.isRef(z)?z.value=w:null),onChange:u[8]||(u[8]=(...w)=>t.unref(L)&&t.unref(L)(...w))},null,544),[[t.vModelRadio,t.unref(z)]]),u[15]||(u[15]=t.createElementVNode("span",{class:"radio-text"},"X轴切割",-1))]),t.createElementVNode("label",Tt,[t.withDirectives(t.createElementVNode("input",{type:"radio",name:"clipping-axis",value:"y","onUpdate:modelValue":u[9]||(u[9]=w=>t.isRef(z)?z.value=w:null),onChange:u[10]||(u[10]=(...w)=>t.unref(L)&&t.unref(L)(...w))},null,544),[[t.vModelRadio,t.unref(z)]]),u[16]||(u[16]=t.createElementVNode("span",{class:"radio-text"},"Y轴切割",-1))]),t.createElementVNode("label",Bt,[t.withDirectives(t.createElementVNode("input",{type:"radio",name:"clipping-axis",value:"z","onUpdate:modelValue":u[11]||(u[11]=w=>t.isRef(z)?z.value=w:null),onChange:u[12]||(u[12]=(...w)=>t.unref(L)&&t.unref(L)(...w))},null,544),[[t.vModelRadio,t.unref(z)]]),u[17]||(u[17]=t.createElementVNode("span",{class:"radio-text"},"Z轴切割",-1))])])])):t.createCommentVNode("",!0)]),_:1})])],512),[[t.vShow,m.value]]),t.withDirectives(t.createElementVNode("div",Lt,[t.createElementVNode("div",kt,[t.createElementVNode("span",null,t.toDisplayString(p.value),1),t.createElementVNode("span",{class:"close",onClick:u[13]||(u[13]=w=>h.value=!1)}," X ")]),t.createElementVNode("div",Dt,[t.createVNode(R,{height:"100%"},{default:t.withCtx(()=>[t.withDirectives(t.createVNode(oe.JointPanel,{model:v.value},null,8,["model"]),[[t.vShow,p.value==="关节控制"]]),t.withDirectives(t.createVNode(He,{ref_key:"animationPanelRef",ref:a,cloud:t.unref(k),knife:t.unref(P),vectors:j.value},null,8,["cloud","knife","vectors"]),[[t.vShow,p.value==="动画仿真"&&D.value]])]),_:1})])],512),[[t.vShow,h.value]]),s.value?(t.openBlock(),t.createElementBlock("div",Pt,[u[18]||(u[18]=t.createElementVNode("div",{class:"loading-spinner"},null,-1)),t.createElementVNode("p",null,t.toDisplayString(c.value),1)])):t.createCommentVNode("",!0)])}}}),Ft=ue._export_sfc(It,[["__scopeId","data-v-48ba356f"]]);exports.default=Ft;
@@ -101,4 +101,4 @@
101
101
  `),c.push(` </office:body>
102
102
  `),f.bookType=="fods"?c.push("</office:document>"):c.push("</office:document-content>"),c.join("")}}();function cc(e,t){if(t.bookType=="fods")return es(e,t);var r=un(),a="",n=[],i=[];return a="mimetype",Ee(r,a,"application/vnd.oasis.opendocument.spreadsheet"),a="content.xml",Ee(r,a,es(e,t)),n.push([a,"text/xml"]),i.push([a,"ContentFile"]),a="styles.xml",Ee(r,a,Ym(e,t)),n.push([a,"text/xml"]),i.push([a,"StylesFile"]),a="meta.xml",Ee(r,a,Qe+Ys()),n.push([a,"text/xml"]),i.push([a,"MetadataFile"]),a="manifest.rdf",Ee(r,a,Sl(i)),n.push([a,"application/rdf+xml"]),a="META-INF/manifest.xml",Ee(r,a,El(n)),r}/*! sheetjs (C) 2013-present SheetJS -- http://sheetjs.com */function Ht(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function tn(e){return typeof TextDecoder<"u"?new TextDecoder().decode(e):Le(Ft(e))}function Jm(e){return typeof TextEncoder<"u"?new TextEncoder().encode(e):Ir(rt(e))}function qm(e,t){e:for(var r=0;r<=e.length-t.length;++r){for(var a=0;a<t.length;++a)if(e[r+a]!=t[a])continue e;return!0}return!1}function St(e){var t=e.reduce(function(n,i){return n+i.length},0),r=new Uint8Array(t),a=0;return e.forEach(function(n){r.set(n,a),a+=n.length}),r}function rs(e){return e-=e>>1&1431655765,e=(e&858993459)+(e>>2&858993459),(e+(e>>4)&252645135)*16843009>>>24}function Zm(e,t){for(var r=(e[t+15]&127)<<7|e[t+14]>>1,a=e[t+14]&1,n=t+13;n>=t;--n)a=a*256+e[n];return(e[t+15]&128?-a:a)*Math.pow(10,r-6176)}function Qm(e,t,r){var a=Math.floor(r==0?0:Math.LOG10E*Math.log(Math.abs(r)))+6176-20,n=r/Math.pow(10,a-6176);e[t+15]|=a>>7,e[t+14]|=(a&127)<<1;for(var i=0;n>=1;++i,n/=256)e[t+i]=n&255;e[t+15]|=r>=0?0:128}function Ma(e,t){var r=t?t[0]:0,a=e[r]&127;e:if(e[r++]>=128&&(a|=(e[r]&127)<<7,e[r++]<128||(a|=(e[r]&127)<<14,e[r++]<128)||(a|=(e[r]&127)<<21,e[r++]<128)||(a+=(e[r]&127)*Math.pow(2,28),++r,e[r++]<128)||(a+=(e[r]&127)*Math.pow(2,35),++r,e[r++]<128)||(a+=(e[r]&127)*Math.pow(2,42),++r,e[r++]<128)))break e;return t&&(t[0]=r),a}function Re(e){var t=new Uint8Array(7);t[0]=e&127;var r=1;e:if(e>127){if(t[r-1]|=128,t[r]=e>>7&127,++r,e<=16383||(t[r-1]|=128,t[r]=e>>14&127,++r,e<=2097151)||(t[r-1]|=128,t[r]=e>>21&127,++r,e<=268435455)||(t[r-1]|=128,t[r]=e/256>>>21&127,++r,e<=34359738367)||(t[r-1]|=128,t[r]=e/65536>>>21&127,++r,e<=4398046511103))break e;t[r-1]|=128,t[r]=e/16777216>>>21&127,++r}return t.slice(0,r)}function Ke(e){var t=0,r=e[t]&127;e:if(e[t++]>=128){if(r|=(e[t]&127)<<7,e[t++]<128||(r|=(e[t]&127)<<14,e[t++]<128)||(r|=(e[t]&127)<<21,e[t++]<128))break e;r|=(e[t]&127)<<28}return r}function Ie(e){for(var t=[],r=[0];r[0]<e.length;){var a=r[0],n=Ma(e,r),i=n&7;n=Math.floor(n/8);var s=0,f;if(n==0)break;switch(i){case 0:{for(var c=r[0];e[r[0]++]>=128;);f=e.slice(c,r[0])}break;case 5:s=4,f=e.slice(r[0],r[0]+s),r[0]+=s;break;case 1:s=8,f=e.slice(r[0],r[0]+s),r[0]+=s;break;case 2:s=Ma(e,r),f=e.slice(r[0],r[0]+s),r[0]+=s;break;case 3:case 4:default:throw new Error("PB Type ".concat(i," for Field ").concat(n," at offset ").concat(a))}var o={data:f,type:i};t[n]==null?t[n]=[o]:t[n].push(o)}return t}function or(e){var t=[];return e.forEach(function(r,a){r.forEach(function(n){n.data&&(t.push(Re(a*8+n.type)),n.type==2&&t.push(Re(n.data.length)),t.push(n.data))})}),St(t)}function Mn(e,t){return(e==null?void 0:e.map(function(r){return t(r.data)}))||[]}function Mr(e){for(var t,r=[],a=[0];a[0]<e.length;){var n=Ma(e,a),i=Ie(e.slice(a[0],a[0]+n));a[0]+=n;var s={id:Ke(i[1][0].data),messages:[]};i[2].forEach(function(f){var c=Ie(f.data),o=Ke(c[3][0].data);s.messages.push({meta:c,data:e.slice(a[0],a[0]+o)}),a[0]+=o}),(t=i[3])!=null&&t[0]&&(s.merge=Ke(i[3][0].data)>>>0>0),r.push(s)}return r}function Yt(e){var t=[];return e.forEach(function(r){var a=[];a[1]=[{data:Re(r.id),type:0}],a[2]=[],r.merge!=null&&(a[3]=[{data:Re(+!!r.merge),type:0}]);var n=[];r.messages.forEach(function(s){n.push(s.data),s.meta[3]=[{type:0,data:Re(s.data.length)}],a[2].push({data:or(s.meta),type:2})});var i=or(a);t.push(Re(i.length)),t.push(i),n.forEach(function(s){return t.push(s)})}),St(t)}function eg(e,t){if(e!=0)throw new Error("Unexpected Snappy chunk type ".concat(e));for(var r=[0],a=Ma(t,r),n=[];r[0]<t.length;){var i=t[r[0]]&3;if(i==0){var s=t[r[0]++]>>2;if(s<60)++s;else{var f=s-59;s=t[r[0]],f>1&&(s|=t[r[0]+1]<<8),f>2&&(s|=t[r[0]+2]<<16),f>3&&(s|=t[r[0]+3]<<24),s>>>=0,s++,r[0]+=f}n.push(t.slice(r[0],r[0]+s)),r[0]+=s;continue}else{var c=0,o=0;if(i==1?(o=(t[r[0]]>>2&7)+4,c=(t[r[0]++]&224)<<3,c|=t[r[0]++]):(o=(t[r[0]++]>>2)+1,i==2?(c=t[r[0]]|t[r[0]+1]<<8,r[0]+=2):(c=(t[r[0]]|t[r[0]+1]<<8|t[r[0]+2]<<16|t[r[0]+3]<<24)>>>0,r[0]+=4)),n=[St(n)],c==0)throw new Error("Invalid offset 0");if(c>n[0].length)throw new Error("Invalid offset beyond length");if(o>=c)for(n.push(n[0].slice(-c)),o-=c;o>=n[n.length-1].length;)n.push(n[n.length-1]),o-=n[n.length-1].length;n.push(n[0].slice(-c,-c+o))}}var l=St(n);if(l.length!=a)throw new Error("Unexpected length: ".concat(l.length," != ").concat(a));return l}function Ur(e){for(var t=[],r=0;r<e.length;){var a=e[r++],n=e[r]|e[r+1]<<8|e[r+2]<<16;r+=3,t.push(eg(a,e.slice(r,r+n))),r+=n}if(r!==e.length)throw new Error("data is not a valid framed stream!");return St(t)}function Jt(e){for(var t=[],r=0;r<e.length;){var a=Math.min(e.length-r,268435455),n=new Uint8Array(4);t.push(n);var i=Re(a),s=i.length;t.push(i),a<=60?(s++,t.push(new Uint8Array([a-1<<2]))):a<=256?(s+=2,t.push(new Uint8Array([240,a-1&255]))):a<=65536?(s+=3,t.push(new Uint8Array([244,a-1&255,a-1>>8&255]))):a<=16777216?(s+=4,t.push(new Uint8Array([248,a-1&255,a-1>>8&255,a-1>>16&255]))):a<=4294967296&&(s+=5,t.push(new Uint8Array([252,a-1&255,a-1>>8&255,a-1>>16&255,a-1>>>24&255]))),t.push(e.slice(r,r+a)),s+=a,n[0]=0,n[1]=s&255,n[2]=s>>8&255,n[3]=s>>16&255,r+=a}return St(t)}function rg(e,t,r,a){var n=Ht(e),i=n.getUint32(4,!0),s=(a>1?12:8)+rs(i&(a>1?3470:398))*4,f=-1,c=-1,o=NaN,l=new Date(2001,0,1);i&512&&(f=n.getUint32(s,!0),s+=4),s+=rs(i&(a>1?12288:4096))*4,i&16&&(c=n.getUint32(s,!0),s+=4),i&32&&(o=n.getFloat64(s,!0),s+=8),i&64&&(l.setTime(l.getTime()+n.getFloat64(s,!0)*1e3),s+=8);var u;switch(e[2]){case 0:break;case 2:u={t:"n",v:o};break;case 3:u={t:"s",v:t[c]};break;case 5:u={t:"d",v:l};break;case 6:u={t:"b",v:o>0};break;case 7:u={t:"n",v:o/86400};break;case 8:u={t:"e",v:0};break;case 9:if(f>-1)u={t:"s",v:r[f]};else if(c>-1)u={t:"s",v:t[c]};else if(!isNaN(o))u={t:"n",v:o};else throw new Error("Unsupported cell type ".concat(e.slice(0,4)));break;default:throw new Error("Unsupported cell type ".concat(e.slice(0,4)))}return u}function tg(e,t,r){var a=Ht(e),n=a.getUint32(8,!0),i=12,s=-1,f=-1,c=NaN,o=NaN,l=new Date(2001,0,1);n&1&&(c=Zm(e,i),i+=16),n&2&&(o=a.getFloat64(i,!0),i+=8),n&4&&(l.setTime(l.getTime()+a.getFloat64(i,!0)*1e3),i+=8),n&8&&(f=a.getUint32(i,!0),i+=4),n&16&&(s=a.getUint32(i,!0),i+=4);var u;switch(e[1]){case 0:break;case 2:u={t:"n",v:c};break;case 3:u={t:"s",v:t[f]};break;case 5:u={t:"d",v:l};break;case 6:u={t:"b",v:o>0};break;case 7:u={t:"n",v:o/86400};break;case 8:u={t:"e",v:0};break;case 9:if(s>-1)u={t:"s",v:r[s]};else throw new Error("Unsupported cell type ".concat(e[1]," : ").concat(n&31," : ").concat(e.slice(0,4)));break;case 10:u={t:"n",v:c};break;default:throw new Error("Unsupported cell type ".concat(e[1]," : ").concat(n&31," : ").concat(e.slice(0,4)))}return u}function H0(e,t){var r=new Uint8Array(32),a=Ht(r),n=12,i=0;switch(r[0]=5,e.t){case"n":r[1]=2,Qm(r,n,e.v),i|=1,n+=16;break;case"b":r[1]=6,a.setFloat64(n,e.v?1:0,!0),i|=2,n+=8;break;case"s":if(t.indexOf(e.v)==-1)throw new Error("Value ".concat(e.v," missing from SST!"));r[1]=3,a.setUint32(n,t.indexOf(e.v),!0),i|=8,n+=4;break;default:throw"unsupported cell type "+e.t}return a.setUint32(8,i,!0),r.slice(0,n)}function V0(e,t){var r=new Uint8Array(32),a=Ht(r),n=12,i=0;switch(r[0]=3,e.t){case"n":r[2]=2,a.setFloat64(n,e.v,!0),i|=32,n+=8;break;case"b":r[2]=6,a.setFloat64(n,e.v?1:0,!0),i|=32,n+=8;break;case"s":if(t.indexOf(e.v)==-1)throw new Error("Value ".concat(e.v," missing from SST!"));r[2]=3,a.setUint32(n,t.indexOf(e.v),!0),i|=16,n+=4;break;default:throw"unsupported cell type "+e.t}return a.setUint32(4,i,!0),r.slice(0,n)}function ag(e,t,r){switch(e[0]){case 0:case 1:case 2:case 3:return rg(e,t,r,e[0]);case 5:return tg(e,t,r);default:throw new Error("Unsupported payload version ".concat(e[0]))}}function dr(e){var t=Ie(e);return Ma(t[1][0].data)}function ts(e,t){var r=Ie(t.data),a=Ke(r[1][0].data),n=r[3],i=[];return(n||[]).forEach(function(s){var f=Ie(s.data),c=Ke(f[1][0].data)>>>0;switch(a){case 1:i[c]=tn(f[3][0].data);break;case 8:{var o=e[dr(f[9][0].data)][0],l=Ie(o.data),u=e[dr(l[1][0].data)][0],x=Ke(u.meta[1][0].data);if(x!=2001)throw new Error("2000 unexpected reference to ".concat(x));var d=Ie(u.data);i[c]=d[3].map(function(v){return tn(v.data)}).join("")}break}}),i}function ng(e,t){var r,a,n,i,s,f,c,o,l,u,x,d,v,h,p=Ie(e),k=Ke(p[1][0].data)>>>0,E=Ke(p[2][0].data)>>>0,g=((a=(r=p[8])==null?void 0:r[0])==null?void 0:a.data)&&Ke(p[8][0].data)>0||!1,O,b;if((i=(n=p[7])==null?void 0:n[0])!=null&&i.data&&t!=0)O=(f=(s=p[7])==null?void 0:s[0])==null?void 0:f.data,b=(o=(c=p[6])==null?void 0:c[0])==null?void 0:o.data;else if((u=(l=p[4])==null?void 0:l[0])!=null&&u.data&&t!=1)O=(d=(x=p[4])==null?void 0:x[0])==null?void 0:d.data,b=(h=(v=p[3])==null?void 0:v[0])==null?void 0:h.data;else throw"NUMBERS Tile missing ".concat(t," cell storage");for(var D=g?4:1,S=Ht(O),B=[],R=0;R<O.length/2;++R){var z=S.getUint16(R*2,!0);z<65535&&B.push([R,z])}if(B.length!=E)throw"Expected ".concat(E," cells, found ").concat(B.length);var G=[];for(R=0;R<B.length-1;++R)G[B[R][0]]=b.subarray(B[R][1]*D,B[R+1][1]*D);return B.length>=1&&(G[B[B.length-1][0]]=b.subarray(B[B.length-1][1]*D)),{R:k,cells:G}}function ig(e,t){var r,a=Ie(t.data),n=(r=a==null?void 0:a[7])!=null&&r[0]?Ke(a[7][0].data)>>>0>0?1:0:-1,i=Mn(a[5],function(s){return ng(s,n)});return{nrows:Ke(a[4][0].data)>>>0,data:i.reduce(function(s,f){return s[f.R]||(s[f.R]=[]),f.cells.forEach(function(c,o){if(s[f.R][o])throw new Error("Duplicate cell r=".concat(f.R," c=").concat(o));s[f.R][o]=c}),s},[])}}function sg(e,t,r){var a,n=Ie(t.data),i={s:{r:0,c:0},e:{r:0,c:0}};if(i.e.r=(Ke(n[6][0].data)>>>0)-1,i.e.r<0)throw new Error("Invalid row varint ".concat(n[6][0].data));if(i.e.c=(Ke(n[7][0].data)>>>0)-1,i.e.c<0)throw new Error("Invalid col varint ".concat(n[7][0].data));r["!ref"]=ke(i);var s=Ie(n[4][0].data),f=ts(e,e[dr(s[4][0].data)][0]),c=(a=s[17])!=null&&a[0]?ts(e,e[dr(s[17][0].data)][0]):[],o=Ie(s[3][0].data),l=0;o[1].forEach(function(u){var x=Ie(u.data),d=e[dr(x[2][0].data)][0],v=Ke(d.meta[1][0].data);if(v!=6002)throw new Error("6001 unexpected reference to ".concat(v));var h=ig(e,d);h.data.forEach(function(p,k){p.forEach(function(E,g){var O=me({r:l+k,c:g}),b=ag(E,f,c);b&&(r[O]=b)})}),l+=h.nrows})}function fg(e,t){var r=Ie(t.data),a={"!ref":"A1"},n=e[dr(r[2][0].data)],i=Ke(n[0].meta[1][0].data);if(i!=6001)throw new Error("6000 unexpected reference to ".concat(i));return sg(e,n[0],a),a}function cg(e,t){var r,a=Ie(t.data),n={name:(r=a[1])!=null&&r[0]?tn(a[1][0].data):"",sheets:[]},i=Mn(a[2],dr);return i.forEach(function(s){e[s].forEach(function(f){var c=Ke(f.meta[1][0].data);c==6e3&&n.sheets.push(fg(e,f))})}),n}function og(e,t){var r=Gn(),a=Ie(t.data),n=Mn(a[1],dr);if(n.forEach(function(i){e[i].forEach(function(s){var f=Ke(s.meta[1][0].data);if(f==2){var c=cg(e,s);c.sheets.forEach(function(o,l){Xn(r,o,l==0?c.name:c.name+"_"+l,!0)})}})}),r.SheetNames.length==0)throw new Error("Empty NUMBERS file");return r}function G0(e){var t,r,a,n,i={},s=[];if(e.FullPaths.forEach(function(c){if(c.match(/\.iwpv2/))throw new Error("Unsupported password protection")}),e.FileIndex.forEach(function(c){if(c.name.match(/\.iwa$/)){var o;try{o=Ur(c.content)}catch(u){return console.log("?? "+c.content.length+" "+(u.message||u))}var l;try{l=Mr(o)}catch(u){return console.log("## "+(u.message||u))}l.forEach(function(u){i[u.id]=u.messages,s.push(u.id)})}}),!s.length)throw new Error("File has no messages");var f=((n=(a=(r=(t=i==null?void 0:i[1])==null?void 0:t[0])==null?void 0:r.meta)==null?void 0:a[1])==null?void 0:n[0].data)&&Ke(i[1][0].meta[1][0].data)==1&&i[1][0];if(f||s.forEach(function(c){i[c].forEach(function(o){var l=Ke(o.meta[1][0].data)>>>0;if(l==1)if(!f)f=o;else throw new Error("Document has multiple roots")})}),!f)throw new Error("Cannot find Document root");return og(i,f)}function lg(e,t,r){var a,n,i,s;if(!((a=e[6])!=null&&a[0])||!((n=e[7])!=null&&n[0]))throw"Mutation only works on post-BNC storages!";var f=((s=(i=e[8])==null?void 0:i[0])==null?void 0:s.data)&&Ke(e[8][0].data)>0||!1;if(f)throw"Math only works with normal offsets";for(var c=0,o=Ht(e[7][0].data),l=0,u=[],x=Ht(e[4][0].data),d=0,v=[],h=0;h<t.length;++h){if(t[h]==null){o.setUint16(h*2,65535,!0),x.setUint16(h*2,65535);continue}o.setUint16(h*2,l,!0),x.setUint16(h*2,d,!0);var p,k;switch(typeof t[h]){case"string":p=H0({t:"s",v:t[h]},r),k=V0({t:"s",v:t[h]},r);break;case"number":p=H0({t:"n",v:t[h]},r),k=V0({t:"n",v:t[h]},r);break;case"boolean":p=H0({t:"b",v:t[h]},r),k=V0({t:"b",v:t[h]},r);break;default:throw new Error("Unsupported value "+t[h])}u.push(p),l+=p.length,v.push(k),d+=k.length,++c}for(e[2][0].data=Re(c);h<e[7][0].data.length/2;++h)o.setUint16(h*2,65535,!0),x.setUint16(h*2,65535,!0);return e[6][0].data=St(u),e[3][0].data=St(v),c}function ug(e,t){if(!t||!t.numbers)throw new Error("Must pass a `numbers` option -- check the README");var r=e.Sheets[e.SheetNames[0]];e.SheetNames.length>1&&console.error("The Numbers writer currently writes only the first table");var a=Ar(r["!ref"]);a.s.r=a.s.c=0;var n=!1;a.e.c>9&&(n=!0,a.e.c=9),a.e.r>49&&(n=!0,a.e.r=49),n&&console.error("The Numbers writer is currently limited to ".concat(ke(a)));var i=_0(r,{range:a,header:1}),s=["~Sh33tJ5~"];i.forEach(function(P){return P.forEach(function(I){typeof I=="string"&&s.push(I)})});var f={},c=[],o=xe.read(t.numbers,{type:"base64"});o.FileIndex.map(function(P,I){return[P,o.FullPaths[I]]}).forEach(function(P){var I=P[0],N=P[1];if(I.type==2&&I.name.match(/\.iwa/)){var j=I.content,re=Ur(j),te=Mr(re);te.forEach(function(Q){c.push(Q.id),f[Q.id]={deps:[],location:N,type:Ke(Q.messages[0].meta[1][0].data)}})}}),c.sort(function(P,I){return P-I});var l=c.filter(function(P){return P>1}).map(function(P){return[P,Re(P)]});o.FileIndex.map(function(P,I){return[P,o.FullPaths[I]]}).forEach(function(P){var I=P[0];if(P[1],!!I.name.match(/\.iwa/)){var N=Mr(Ur(I.content));N.forEach(function(j){j.messages.forEach(function(re){l.forEach(function(te){j.messages.some(function(Q){return Ke(Q.meta[1][0].data)!=11006&&qm(Q.data,te[1])})&&f[te[0]].deps.push(j.id)})})})}});for(var u=xe.find(o,f[1].location),x=Mr(Ur(u.content)),d,v=0;v<x.length;++v){var h=x[v];h.id==1&&(d=h)}var p=dr(Ie(d.messages[0].data)[1][0].data);for(u=xe.find(o,f[p].location),x=Mr(Ur(u.content)),v=0;v<x.length;++v)h=x[v],h.id==p&&(d=h);for(p=dr(Ie(d.messages[0].data)[2][0].data),u=xe.find(o,f[p].location),x=Mr(Ur(u.content)),v=0;v<x.length;++v)h=x[v],h.id==p&&(d=h);for(p=dr(Ie(d.messages[0].data)[2][0].data),u=xe.find(o,f[p].location),x=Mr(Ur(u.content)),v=0;v<x.length;++v)h=x[v],h.id==p&&(d=h);var k=Ie(d.messages[0].data);{k[6][0].data=Re(a.e.r+1),k[7][0].data=Re(a.e.c+1);var E=dr(k[46][0].data),g=xe.find(o,f[E].location),O=Mr(Ur(g.content));{for(var b=0;b<O.length&&O[b].id!=E;++b);if(O[b].id!=E)throw"Bad ColumnRowUIDMapArchive";var D=Ie(O[b].messages[0].data);D[1]=[],D[2]=[],D[3]=[];for(var S=0;S<=a.e.c;++S){var B=[];B[1]=B[2]=[{type:0,data:Re(S+420690)}],D[1].push({type:2,data:or(B)}),D[2].push({type:0,data:Re(S)}),D[3].push({type:0,data:Re(S)})}D[4]=[],D[5]=[],D[6]=[];for(var R=0;R<=a.e.r;++R)B=[],B[1]=B[2]=[{type:0,data:Re(R+726270)}],D[4].push({type:2,data:or(B)}),D[5].push({type:0,data:Re(R)}),D[6].push({type:0,data:Re(R)});O[b].messages[0].data=or(D)}g.content=Jt(Yt(O)),g.size=g.content.length,delete k[46];var z=Ie(k[4][0].data);{z[7][0].data=Re(a.e.r+1);var G=Ie(z[1][0].data),L=dr(G[2][0].data);g=xe.find(o,f[L].location),O=Mr(Ur(g.content));{if(O[0].id!=L)throw"Bad HeaderStorageBucket";var J=Ie(O[0].messages[0].data);for(R=0;R<i.length;++R){var le=Ie(J[2][0].data);le[1][0].data=Re(R),le[4][0].data=Re(i[R].length),J[2][R]={type:J[2][0].type,data:or(le)}}O[0].messages[0].data=or(J)}g.content=Jt(Yt(O)),g.size=g.content.length;var ie=dr(z[2][0].data);g=xe.find(o,f[ie].location),O=Mr(Ur(g.content));{if(O[0].id!=ie)throw"Bad HeaderStorageBucket";for(J=Ie(O[0].messages[0].data),S=0;S<=a.e.c;++S)le=Ie(J[2][0].data),le[1][0].data=Re(S),le[4][0].data=Re(a.e.r+1),J[2][S]={type:J[2][0].type,data:or(le)};O[0].messages[0].data=or(J)}g.content=Jt(Yt(O)),g.size=g.content.length;var he=dr(z[4][0].data);(function(){for(var P=xe.find(o,f[he].location),I=Mr(Ur(P.content)),N,j=0;j<I.length;++j){var re=I[j];re.id==he&&(N=re)}var te=Ie(N.messages[0].data);{te[3]=[];var Q=[];s.forEach(function(A,Me){Q[1]=[{type:0,data:Re(Me)}],Q[2]=[{type:0,data:Re(1)}],Q[3]=[{type:2,data:Jm(A)}],te[3].push({type:2,data:or(Q)})})}N.messages[0].data=or(te);var q=Yt(I),Te=Jt(q);P.content=Te,P.size=P.content.length})();var ce=Ie(z[3][0].data);{var Pe=ce[1][0];delete ce[2];var V=Ie(Pe.data);{var de=dr(V[2][0].data);(function(){for(var P=xe.find(o,f[de].location),I=Mr(Ur(P.content)),N,j=0;j<I.length;++j){var re=I[j];re.id==de&&(N=re)}var te=Ie(N.messages[0].data);{delete te[6],delete ce[7];var Q=new Uint8Array(te[5][0].data);te[5]=[];for(var q=0,Te=0;Te<=a.e.r;++Te){var A=Ie(Q);q+=lg(A,i[Te],s),A[1][0].data=Re(Te),te[5].push({data:or(A),type:2})}te[1]=[{type:0,data:Re(a.e.c+1)}],te[2]=[{type:0,data:Re(a.e.r+1)}],te[3]=[{type:0,data:Re(q)}],te[4]=[{type:0,data:Re(a.e.r+1)}]}N.messages[0].data=or(te);var Me=Yt(I),Ce=Jt(Me);P.content=Ce,P.size=P.content.length})()}Pe.data=or(V)}z[3][0].data=or(ce)}k[4][0].data=or(z)}d.messages[0].data=or(k);var _e=Yt(x),C=Jt(_e);return u.content=C,u.size=u.content.length,o}function oc(e){return function(r){for(var a=0;a!=e.length;++a){var n=e[a];r[n[0]]===void 0&&(r[n[0]]=n[1]),n[2]==="n"&&(r[n[0]]=Number(r[n[0]]))}}}function Un(e){oc([["cellNF",!1],["cellHTML",!0],["cellFormula",!0],["cellStyles",!1],["cellText",!0],["cellDates",!1],["sheetStubs",!1],["sheetRows",0,"n"],["bookDeps",!1],["bookSheets",!1],["bookProps",!1],["bookFiles",!1],["bookVBA",!1],["password",""],["WTF",!1]])(e)}function Wn(e){oc([["cellDates",!1],["bookSST",!1],["bookType","xlsx"],["compression",!1],["WTF",!1]])(e)}function hg(e){return ye.WS.indexOf(e)>-1?"sheet":e==ye.CS?"chart":e==ye.DS?"dialog":e==ye.MS?"macro":e&&e.length?e:"sheet"}function xg(e,t){if(!e)return 0;try{e=t.map(function(a){return a.id||(a.id=a.strRelID),[a.name,e["!id"][a.id].Target,hg(e["!id"][a.id].Type)]})}catch{return null}return!e||e.length===0?null:e}function dg(e,t,r,a,n,i,s,f,c,o,l,u){try{i[a]=Ea(Rr(e,r,!0),t);var x=rr(e,t),d;switch(f){case"sheet":d=L2(x,t,n,c,i[a],o,l,u);break;case"chart":if(d=B2(x,t,n,c,i[a],o,l,u),!d||!d["!drawel"])break;var v=ga(d["!drawel"].Target,t),h=Ra(v),p=Tx(Rr(e,v,!0),Ea(Rr(e,h,!0),v)),k=ga(p,v),E=Ra(k);d=l2(Rr(e,k,!0),k,c,Ea(Rr(e,E,!0),k),o,d);break;case"macro":d=M2(x,t,n,c,i[a],o,l,u);break;case"dialog":d=U2(x,t,n,c,i[a],o,l,u);break;default:throw new Error("Unrecognized sheet type "+f)}s[a]=d;var g=[];i&&i[a]&&je(i[a]).forEach(function(O){var b="";if(i[a][O].Type==ye.CMNT){b=ga(i[a][O].Target,t);var D=G2(rr(e,b,!0),b,c);if(!D||!D.length)return;Hi(d,D,!1)}i[a][O].Type==ye.TCMNT&&(b=ga(i[a][O].Target,t),g=g.concat(Fx(rr(e,b,!0),c)))}),g&&g.length&&Hi(d,g,!0,c.people||[])}catch(O){if(c.WTF)throw O}}function Lr(e){return e.charAt(0)=="/"?e.slice(1):e}function vg(e,t){if(fa(),t=t||{},Un(t),Wr(e,"META-INF/manifest.xml")||Wr(e,"objectdata.xml"))return Zi(e,t);if(Wr(e,"Index/Document.iwa")){if(typeof Uint8Array>"u")throw new Error("NUMBERS file parsing requires Uint8Array support");if(typeof G0<"u"){if(e.FileIndex)return G0(e);var r=xe.utils.cfb_new();return ci(e).forEach(function(le){Ee(r,le,yo(e,le))}),G0(r)}throw new Error("Unsupported NUMBERS file")}if(!Wr(e,"[Content_Types].xml"))throw Wr(e,"index.xml.gz")?new Error("Unsupported NUMBERS 08 file"):Wr(e,"index.xml")?new Error("Unsupported NUMBERS 09 file"):new Error("Unsupported ZIP file");var a=ci(e),n=_l(Rr(e,"[Content_Types].xml")),i=!1,s,f;if(n.workbooks.length===0&&(f="xl/workbook.xml",rr(e,f,!0)&&n.workbooks.push(f)),n.workbooks.length===0){if(f="xl/workbook.bin",!rr(e,f,!0))throw new Error("Could not find workbook");n.workbooks.push(f),i=!0}n.workbooks[0].slice(-3)=="bin"&&(i=!0);var c={},o={};if(!t.bookSheets&&!t.bookProps){if(Ta=[],n.sst)try{Ta=V2(rr(e,Lr(n.sst)),n.sst,t)}catch(le){if(t.WTF)throw le}t.cellStyles&&n.themes.length&&(c=H2(Rr(e,n.themes[0].replace(/^\//,""),!0)||"",n.themes[0],t)),n.style&&(o=W2(rr(e,Lr(n.style)),n.style,c,t))}n.links.map(function(le){try{var ie=Ea(Rr(e,Ra(Lr(le))),le);return z2(rr(e,Lr(le)),ie,le,t)}catch{}});var l=P2(rr(e,Lr(n.workbooks[0])),n.workbooks[0],t),u={},x="";n.coreprops.length&&(x=rr(e,Lr(n.coreprops[0]),!0),x&&(u=Js(x)),n.extprops.length!==0&&(x=rr(e,Lr(n.extprops[0]),!0),x&&yl(x,u,t)));var d={};(!t.bookSheets||t.bookProps)&&n.custprops.length!==0&&(x=Rr(e,Lr(n.custprops[0]),!0),x&&(d=Cl(x,t)));var v={};if((t.bookSheets||t.bookProps)&&(l.Sheets?s=l.Sheets.map(function(ie){return ie.name}):u.Worksheets&&u.SheetNames.length>0&&(s=u.SheetNames),t.bookProps&&(v.Props=u,v.Custprops=d),t.bookSheets&&typeof s<"u"&&(v.SheetNames=s),t.bookSheets?v.SheetNames:t.bookProps))return v;s={};var h={};t.bookDeps&&n.calcchain&&(h=X2(rr(e,Lr(n.calcchain)),n.calcchain));var p=0,k={},E,g;{var O=l.Sheets;u.Worksheets=O.length,u.SheetNames=[];for(var b=0;b!=O.length;++b)u.SheetNames[b]=O[b].name}var D=i?"bin":"xml",S=n.workbooks[0].lastIndexOf("/"),B=(n.workbooks[0].slice(0,S+1)+"_rels/"+n.workbooks[0].slice(S+1)+".rels").replace(/^\//,"");Wr(e,B)||(B="xl/_rels/workbook."+D+".rels");var R=Ea(Rr(e,B,!0),B.replace(/_rels.*/,"s5s"));(n.metadata||[]).length>=1&&(t.xlmeta=$2(rr(e,Lr(n.metadata[0])),n.metadata[0],t)),(n.people||[]).length>=1&&(t.people=Ax(rr(e,Lr(n.people[0])),t)),R&&(R=xg(R,l.Sheets));var z=rr(e,"xl/worksheets/sheet.xml",!0)?1:0;e:for(p=0;p!=u.Worksheets;++p){var G="sheet";if(R&&R[p]?(E="xl/"+R[p][1].replace(/[\/]?xl\//,""),Wr(e,E)||(E=R[p][1]),Wr(e,E)||(E=B.replace(/_rels\/.*$/,"")+R[p][1]),G=R[p][2]):(E="xl/worksheets/sheet"+(p+1-z)+"."+D,E=E.replace(/sheet0\./,"sheet.")),g=E.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels"),t&&t.sheets!=null)switch(typeof t.sheets){case"number":if(p!=t.sheets)continue e;break;case"string":if(u.SheetNames[p].toLowerCase()!=t.sheets.toLowerCase())continue e;break;default:if(Array.isArray&&Array.isArray(t.sheets)){for(var L=!1,J=0;J!=t.sheets.length;++J)typeof t.sheets[J]=="number"&&t.sheets[J]==p&&(L=1),typeof t.sheets[J]=="string"&&t.sheets[J].toLowerCase()==u.SheetNames[p].toLowerCase()&&(L=1);if(!L)continue e}}dg(e,E,g,u.SheetNames[p],p,k,s,G,t,l,c,o)}return v={Directory:n,Workbook:l,Props:u,Custprops:d,Deps:h,Sheets:s,SheetNames:u.SheetNames,Strings:Ta,Styles:o,Themes:c,SSF:He(ve)},t&&t.bookFiles&&(e.files?(v.keys=a,v.files=e.files):(v.keys=[],v.files={},e.FullPaths.forEach(function(le,ie){le=le.replace(/^Root Entry[\/]/,""),v.keys.push(le),v.files[le]=e.FileIndex[ie]}))),t&&t.bookVBA&&(n.vba.length>0?v.vbaraw=rr(e,Lr(n.vba[0]),!0):n.defaults&&n.defaults.bin===Px&&(v.vbaraw=rr(e,"xl/vbaProject.bin",!0))),v}function pg(e,t){var r=t||{},a="Workbook",n=xe.find(e,a);try{if(a="/!DataSpaces/Version",n=xe.find(e,a),!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);if($h(n.content),a="/!DataSpaces/DataSpaceMap",n=xe.find(e,a),!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var i=jh(n.content);if(i.length!==1||i[0].comps.length!==1||i[0].comps[0].t!==0||i[0].name!=="StrongEncryptionDataSpace"||i[0].comps[0].v!=="EncryptedPackage")throw new Error("ECMA-376 Encrypted file bad "+a);if(a="/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace",n=xe.find(e,a),!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var s=Yh(n.content);if(s.length!=1||s[0]!="StrongEncryptionTransform")throw new Error("ECMA-376 Encrypted file bad "+a);if(a="/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary",n=xe.find(e,a),!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);qh(n.content)}catch{}if(a="/EncryptionInfo",n=xe.find(e,a),!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var f=Zh(n.content);if(a="/EncryptedPackage",n=xe.find(e,a),!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);if(f[0]==4&&typeof decrypt_agile<"u")return decrypt_agile(f[1],n.content,r.password||"",r);if(f[0]==2&&typeof decrypt_std76<"u")return decrypt_std76(f[1],n.content,r.password||"",r);throw new Error("File is password-protected")}function mg(e,t){return t.bookType=="ods"?cc(e,t):t.bookType=="numbers"?ug(e,t):t.bookType=="xlsb"?gg(e,t):_g(e,t)}function gg(e,t){Zt=1024,e&&!e.SSF&&(e.SSF=He(ve)),e&&e.SSF&&(fa(),k0(e.SSF),t.revssf=T0(e.SSF),t.revssf[e.SSF[65535]]=0,t.ssf=e.SSF),t.rels={},t.wbrels={},t.Strings=[],t.Strings.Count=0,t.Strings.Unique=0,Sa?t.revStrings=new Map:(t.revStrings={},t.revStrings.foo=[],delete t.revStrings.foo);var r=t.bookType=="xlsb"?"bin":"xml",a=Lf.indexOf(t.bookType)>-1,n=Fn();Wn(t=t||{});var i=un(),s="",f=0;if(t.cellXfs=[],At(t.cellXfs,{},{revssf:{General:0}}),e.Props||(e.Props={}),s="docProps/core.xml",Ee(i,s,qs(e.Props,t)),n.coreprops.push(s),Ne(t.rels,2,s,ye.CORE_PROPS),s="docProps/app.xml",!(e.Props&&e.Props.SheetNames))if(!e.Workbook||!e.Workbook.Sheets)e.Props.SheetNames=e.SheetNames;else{for(var c=[],o=0;o<e.SheetNames.length;++o)(e.Workbook.Sheets[o]||{}).Hidden!=2&&c.push(e.SheetNames[o]);e.Props.SheetNames=c}for(e.Props.Worksheets=e.Props.SheetNames.length,Ee(i,s,ef(e.Props)),n.extprops.push(s),Ne(t.rels,3,s,ye.EXT_PROPS),e.Custprops!==e.Props&&je(e.Custprops||{}).length>0&&(s="docProps/custom.xml",Ee(i,s,rf(e.Custprops)),n.custprops.push(s),Ne(t.rels,4,s,ye.CUST_PROPS)),f=1;f<=e.SheetNames.length;++f){var l={"!id":{}},u=e.Sheets[e.SheetNames[f-1]],x=(u||{})["!type"]||"sheet";switch(x){case"chart":default:s="xl/worksheets/sheet"+f+"."+r,Ee(i,s,j2(f-1,s,t,e,l)),n.sheets.push(s),Ne(t.wbrels,-1,"worksheets/sheet"+f+"."+r,ye.WS[0])}if(u){var d=u["!comments"],v=!1,h="";d&&d.length>0&&(h="xl/comments"+f+"."+r,Ee(i,h,q2(d,h)),n.comments.push(h),Ne(l,-1,"../comments"+f+"."+r,ye.CMNT),v=!0),u["!legacy"]&&v&&Ee(i,"xl/drawings/vmlDrawing"+f+".vml",bf(f,u["!comments"])),delete u["!comments"],delete u["!legacy"]}l["!id"].rId1&&Ee(i,Ra(s),ea(l))}return t.Strings!=null&&t.Strings.length>0&&(s="xl/sharedStrings."+r,Ee(i,s,J2(t.Strings,s,t)),n.strs.push(s),Ne(t.wbrels,-1,"sharedStrings."+r,ye.SST)),s="xl/workbook."+r,Ee(i,s,K2(e,s)),n.workbooks.push(s),Ne(t.rels,1,s,ye.WB),s="xl/theme/theme1.xml",Ee(i,s,In(e.Themes,t)),n.themes.push(s),Ne(t.wbrels,-1,"theme/theme1.xml",ye.THEME),s="xl/styles."+r,Ee(i,s,Y2(e,s,t)),n.styles.push(s),Ne(t.wbrels,-1,"styles."+r,ye.STY),e.vbaraw&&a&&(s="xl/vbaProject.bin",Ee(i,s,e.vbaraw),n.vba.push(s),Ne(t.wbrels,-1,"vbaProject.bin",ye.VBA)),s="xl/metadata."+r,Ee(i,s,Z2(s)),n.metadata.push(s),Ne(t.wbrels,-1,"metadata."+r,ye.XLMETA),Ee(i,"[Content_Types].xml",js(n,t)),Ee(i,"_rels/.rels",ea(t.rels)),Ee(i,"xl/_rels/workbook."+r+".rels",ea(t.wbrels)),delete t.revssf,delete t.ssf,i}function _g(e,t){Zt=1024,e&&!e.SSF&&(e.SSF=He(ve)),e&&e.SSF&&(fa(),k0(e.SSF),t.revssf=T0(e.SSF),t.revssf[e.SSF[65535]]=0,t.ssf=e.SSF),t.rels={},t.wbrels={},t.Strings=[],t.Strings.Count=0,t.Strings.Unique=0,Sa?t.revStrings=new Map:(t.revStrings={},t.revStrings.foo=[],delete t.revStrings.foo);var r="xml",a=Lf.indexOf(t.bookType)>-1,n=Fn();Wn(t=t||{});var i=un(),s="",f=0;if(t.cellXfs=[],At(t.cellXfs,{},{revssf:{General:0}}),e.Props||(e.Props={}),s="docProps/core.xml",Ee(i,s,qs(e.Props,t)),n.coreprops.push(s),Ne(t.rels,2,s,ye.CORE_PROPS),s="docProps/app.xml",!(e.Props&&e.Props.SheetNames))if(!e.Workbook||!e.Workbook.Sheets)e.Props.SheetNames=e.SheetNames;else{for(var c=[],o=0;o<e.SheetNames.length;++o)(e.Workbook.Sheets[o]||{}).Hidden!=2&&c.push(e.SheetNames[o]);e.Props.SheetNames=c}e.Props.Worksheets=e.Props.SheetNames.length,Ee(i,s,ef(e.Props)),n.extprops.push(s),Ne(t.rels,3,s,ye.EXT_PROPS),e.Custprops!==e.Props&&je(e.Custprops||{}).length>0&&(s="docProps/custom.xml",Ee(i,s,rf(e.Custprops)),n.custprops.push(s),Ne(t.rels,4,s,ye.CUST_PROPS));var l=["SheetJ5"];for(t.tcid=0,f=1;f<=e.SheetNames.length;++f){var u={"!id":{}},x=e.Sheets[e.SheetNames[f-1]],d=(x||{})["!type"]||"sheet";switch(d){case"chart":default:s="xl/worksheets/sheet"+f+"."+r,Ee(i,s,Kf(f-1,t,e,u)),n.sheets.push(s),Ne(t.wbrels,-1,"worksheets/sheet"+f+"."+r,ye.WS[0])}if(x){var v=x["!comments"],h=!1,p="";if(v&&v.length>0){var k=!1;v.forEach(function(E){E[1].forEach(function(g){g.T==!0&&(k=!0)})}),k&&(p="xl/threadedComments/threadedComment"+f+"."+r,Ee(i,p,yx(v,l,t)),n.threadedcomments.push(p),Ne(u,-1,"../threadedComments/threadedComment"+f+"."+r,ye.TCMNT)),p="xl/comments"+f+"."+r,Ee(i,p,Pf(v)),n.comments.push(p),Ne(u,-1,"../comments"+f+"."+r,ye.CMNT),h=!0}x["!legacy"]&&h&&Ee(i,"xl/drawings/vmlDrawing"+f+".vml",bf(f,x["!comments"])),delete x["!comments"],delete x["!legacy"]}u["!id"].rId1&&Ee(i,Ra(s),ea(u))}return t.Strings!=null&&t.Strings.length>0&&(s="xl/sharedStrings."+r,Ee(i,s,Ef(t.Strings,t)),n.strs.push(s),Ne(t.wbrels,-1,"sharedStrings."+r,ye.SST)),s="xl/workbook."+r,Ee(i,s,Zf(e)),n.workbooks.push(s),Ne(t.rels,1,s,ye.WB),s="xl/theme/theme1.xml",Ee(i,s,In(e.Themes,t)),n.themes.push(s),Ne(t.wbrels,-1,"theme/theme1.xml",ye.THEME),s="xl/styles."+r,Ee(i,s,Of(e,t)),n.styles.push(s),Ne(t.wbrels,-1,"styles."+r,ye.STY),e.vbaraw&&a&&(s="xl/vbaProject.bin",Ee(i,s,e.vbaraw),n.vba.push(s),Ne(t.wbrels,-1,"vbaProject.bin",ye.VBA)),s="xl/metadata."+r,Ee(i,s,Nf()),n.metadata.push(s),Ne(t.wbrels,-1,"metadata."+r,ye.XLMETA),l.length>1&&(s="xl/persons/person.xml",Ee(i,s,Cx(l)),n.people.push(s),Ne(t.wbrels,-1,"persons/person.xml",ye.PEOPLE)),Ee(i,"[Content_Types].xml",js(n,t)),Ee(i,"_rels/.rels",ea(t.rels)),Ee(i,"xl/_rels/workbook."+r+".rels",ea(t.wbrels)),delete t.revssf,delete t.ssf,i}function Hn(e,t){var r="";switch((t||{}).type||"base64"){case"buffer":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];case"base64":r=Nr(e.slice(0,12));break;case"binary":r=e;break;case"array":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];default:throw new Error("Unrecognized type "+(t&&t.type||"undefined"))}return[r.charCodeAt(0),r.charCodeAt(1),r.charCodeAt(2),r.charCodeAt(3),r.charCodeAt(4),r.charCodeAt(5),r.charCodeAt(6),r.charCodeAt(7)]}function wg(e,t){return xe.find(e,"EncryptedPackage")?pg(e,t):tc(e,t)}function kg(e,t){var r,a=e,n=t||{};return n.type||(n.type=Se&&Buffer.isBuffer(e)?"buffer":"base64"),r=Ts(a,n),vg(r,n)}function lc(e,t){var r=0;e:for(;r<e.length;)switch(e.charCodeAt(r)){case 10:case 13:case 32:++r;break;case 60:return en(e.slice(r),t);default:break e}return na.to_workbook(e,t)}function Eg(e,t){var r="",a=Hn(e,t);switch(t.type){case"base64":r=Nr(e);break;case"binary":r=e;break;case"buffer":r=e.toString("binary");break;case"array":r=Bt(e);break;default:throw new Error("Unrecognized type "+t.type)}return a[0]==239&&a[1]==187&&a[2]==191&&(r=Le(r)),t.type="binary",lc(r,t)}function Tg(e,t){var r=e;return t.type=="base64"&&(r=Nr(r)),r=z0.utils.decode(1200,r.slice(2),"str"),t.type="binary",lc(r,t)}function Sg(e){return e.match(/[^\x00-\x7F]/)?rt(e):e}function X0(e,t,r,a){return a?(r.type="string",na.to_workbook(e,r)):na.to_workbook(t,r)}function g0(e,t){sn();var r=t||{};if(typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer)return g0(new Uint8Array(e),(r=He(r),r.type="array",r));typeof Uint8Array<"u"&&e instanceof Uint8Array&&!r.type&&(r.type=typeof Deno<"u"?"buffer":"array");var a=e,n=[0,0,0,0],i=!1;if(r.cellStyles&&(r.cellNF=!0,r.sheetStubs=!0),ta={},r.dateNF&&(ta.dateNF=r.dateNF),r.type||(r.type=Se&&Buffer.isBuffer(e)?"buffer":"base64"),r.type=="file"&&(r.type=Se?"buffer":"binary",a=go(e),typeof Uint8Array<"u"&&!Se&&(r.type="array")),r.type=="string"&&(i=!0,r.type="binary",r.codepage=65001,a=Sg(e)),r.type=="array"&&typeof Uint8Array<"u"&&e instanceof Uint8Array&&typeof ArrayBuffer<"u"){var s=new ArrayBuffer(3),f=new Uint8Array(s);if(f.foo="bar",!f.foo)return r=He(r),r.type="array",g0(fn(a),r)}switch((n=Hn(a,r))[0]){case 208:if(n[1]===207&&n[2]===17&&n[3]===224&&n[4]===161&&n[5]===177&&n[6]===26&&n[7]===225)return wg(xe.read(a,r),r);break;case 9:if(n[1]<=8)return tc(a,r);break;case 60:return en(a,r);case 73:if(n[1]===73&&n[2]===42&&n[3]===0)throw new Error("TIFF Image File is not a spreadsheet");if(n[1]===68)return Dh(a,r);break;case 84:if(n[1]===65&&n[2]===66&&n[3]===76)return wf.to_workbook(a,r);break;case 80:return n[1]===75&&n[2]<9&&n[3]<9?kg(a,r):X0(e,a,r,i);case 239:return n[3]===60?en(a,r):X0(e,a,r,i);case 255:if(n[1]===254)return Tg(a,r);if(n[1]===0&&n[2]===2&&n[3]===0)return bt.to_workbook(a,r);break;case 0:if(n[1]===0&&(n[2]>=2&&n[3]===0||n[2]===0&&(n[3]===8||n[3]===9)))return bt.to_workbook(a,r);break;case 3:case 131:case 139:case 140:return Q0.to_workbook(a,r);case 123:if(n[1]===92&&n[2]===114&&n[3]===116)return Af.to_workbook(a,r);break;case 10:case 13:case 32:return Eg(a,r);case 137:if(n[1]===80&&n[2]===78&&n[3]===71)throw new Error("PNG Image File is not a spreadsheet");break}return Ch.indexOf(n[0])>-1&&n[2]<=12&&n[3]<=31?Q0.to_workbook(a,r):X0(e,a,r,i)}function uc(e,t){switch(t.type){case"base64":case"binary":break;case"buffer":case"array":t.type="";break;case"file":return Wa(t.file,xe.write(e,{type:Se?"buffer":""}));case"string":throw new Error("'string' output type invalid for '"+t.bookType+"' files");default:throw new Error("Unrecognized type "+t.type)}return xe.write(e,t)}function Fg(e,t){var r=He(t||{}),a=mg(e,r);return yg(a,r)}function yg(e,t){var r={},a=Se?"nodebuffer":typeof Uint8Array<"u"?"array":"string";if(t.compression&&(r.compression="DEFLATE"),t.password)r.type=a;else switch(t.type){case"base64":r.type="base64";break;case"binary":r.type="string";break;case"string":throw new Error("'string' output type invalid for '"+t.bookType+"' files");case"buffer":case"file":r.type=a;break;default:throw new Error("Unrecognized type "+t.type)}var n=e.FullPaths?xe.write(e,{fileType:"zip",type:{nodebuffer:"buffer",string:"binary"}[r.type]||r.type,compression:!!t.compression}):e.generate(r);if(typeof Deno<"u"&&typeof n=="string"){if(t.type=="binary"||t.type=="base64")return n;n=new Uint8Array(w0(n))}return t.password&&typeof encrypt_agile<"u"?uc(encrypt_agile(n,t.password),t):t.type==="file"?Wa(t.file,n):t.type=="string"?Le(n):n}function Ag(e,t){var r=t||{},a=Sm(e,r);return uc(a,r)}function et(e,t,r){r||(r="");var a=r+e;switch(t.type){case"base64":return Aa(rt(a));case"binary":return rt(a);case"string":return e;case"file":return Wa(t.file,a,"utf8");case"buffer":return Se?ht(a,"utf8"):typeof TextEncoder<"u"?new TextEncoder().encode(a):et(a,{type:"binary"}).split("").map(function(n){return n.charCodeAt(0)})}throw new Error("Unrecognized type "+t.type)}function Cg(e,t){switch(t.type){case"base64":return Aa(e);case"binary":return e;case"string":return e;case"file":return Wa(t.file,e,"binary");case"buffer":return Se?ht(e,"binary"):e.split("").map(function(r){return r.charCodeAt(0)})}throw new Error("Unrecognized type "+t.type)}function i0(e,t){switch(t.type){case"string":case"base64":case"binary":for(var r="",a=0;a<e.length;++a)r+=String.fromCharCode(e[a]);return t.type=="base64"?Aa(r):t.type=="string"?Le(r):r;case"file":return Wa(t.file,e);case"buffer":return e;default:throw new Error("Unrecognized type "+t.type)}}function hc(e,t){sn(),w2(e);var r=He(t||{});if(r.cellStyles&&(r.cellNF=!0,r.sheetStubs=!0),r.type=="array"){r.type="binary";var a=hc(e,r);return r.type="array",w0(a)}var n=0;if(r.sheet&&(typeof r.sheet=="number"?n=r.sheet:n=e.SheetNames.indexOf(r.sheet),!e.SheetNames[n]))throw new Error("Sheet not found: "+r.sheet+" : "+typeof r.sheet);switch(r.bookType||"xlsb"){case"xml":case"xlml":return et(mm(e,r),r);case"slk":case"sylk":return et(_f.from_sheet(e.Sheets[e.SheetNames[n]],r),r);case"htm":case"html":return et(nc(e.Sheets[e.SheetNames[n]],r),r);case"txt":return Cg(xc(e.Sheets[e.SheetNames[n]],r),r);case"csv":return et(Vn(e.Sheets[e.SheetNames[n]],r),r,"\uFEFF");case"dif":return et(wf.from_sheet(e.Sheets[e.SheetNames[n]],r),r);case"dbf":return i0(Q0.from_sheet(e.Sheets[e.SheetNames[n]],r),r);case"prn":return et(na.from_sheet(e.Sheets[e.SheetNames[n]],r),r);case"rtf":return et(Af.from_sheet(e.Sheets[e.SheetNames[n]],r),r);case"eth":return et(kf.from_sheet(e.Sheets[e.SheetNames[n]],r),r);case"fods":return et(cc(e,r),r);case"wk1":return i0(bt.sheet_to_wk1(e.Sheets[e.SheetNames[n]],r),r);case"wk3":return i0(bt.book_to_wk3(e,r),r);case"biff2":r.biff||(r.biff=2);case"biff3":r.biff||(r.biff=3);case"biff4":return r.biff||(r.biff=4),i0(ac(e,r),r);case"biff5":r.biff||(r.biff=5);case"biff8":case"xla":case"xls":return r.biff||(r.biff=8),Ag(e,r);case"xlsx":case"xlsm":case"xlam":case"xlsb":case"numbers":case"ods":return Fg(e,r);default:throw new Error("Unrecognized bookType |"+r.bookType+"|")}}function Dg(e){if(!e.bookType){var t={xls:"biff8",htm:"html",slk:"sylk",socialcalc:"eth",Sh33tJS:"WTF"},r=e.file.slice(e.file.lastIndexOf(".")).toLowerCase();r.match(/^\.[a-z]+$/)&&(e.bookType=r.slice(1)),e.bookType=t[e.bookType]||e.bookType}}function Og(e,t,r){var a={};return a.type="file",a.file=t,Dg(a),hc(e,a)}function Ig(e,t,r,a,n,i,s,f){var c=Ze(r),o=f.defval,l=f.raw||!Object.prototype.hasOwnProperty.call(f,"raw"),u=!0,x=n===1?[]:{};if(n!==1)if(Object.defineProperty)try{Object.defineProperty(x,"__rowNum__",{value:r,enumerable:!1})}catch{x.__rowNum__=r}else x.__rowNum__=r;if(!s||e[r])for(var d=t.s.c;d<=t.e.c;++d){var v=s?e[r][d]:e[a[d]+c];if(v===void 0||v.t===void 0){if(o===void 0)continue;i[d]!=null&&(x[i[d]]=o);continue}var h=v.v;switch(v.t){case"z":if(h==null)break;continue;case"e":h=h==0?null:void 0;break;case"s":case"d":case"b":case"n":break;default:throw new Error("unrecognized type "+v.t)}if(i[d]!=null){if(h==null)if(v.t=="e"&&h===null)x[i[d]]=null;else if(o!==void 0)x[i[d]]=o;else if(l&&h===null)x[i[d]]=null;else continue;else x[i[d]]=l&&(v.t!=="n"||v.t==="n"&&f.rawNumbers!==!1)?h:ut(v,h,f);h!=null&&(u=!1)}}return{row:x,isempty:u}}function _0(e,t){if(e==null||e["!ref"]==null)return[];var r={t:"n",v:0},a=0,n=1,i=[],s=0,f="",c={s:{r:0,c:0},e:{r:0,c:0}},o=t||{},l=o.range!=null?o.range:e["!ref"];switch(o.header===1?a=1:o.header==="A"?a=2:Array.isArray(o.header)?a=3:o.header==null&&(a=0),typeof l){case"string":c=Oe(l);break;case"number":c=Oe(e["!ref"]),c.s.r=l;break;default:c=l}a>0&&(n=0);var u=Ze(c.s.r),x=[],d=[],v=0,h=0,p=Array.isArray(e),k=c.s.r,E=0,g={};p&&!e[k]&&(e[k]=[]);var O=o.skipHidden&&e["!cols"]||[],b=o.skipHidden&&e["!rows"]||[];for(E=c.s.c;E<=c.e.c;++E)if(!(O[E]||{}).hidden)switch(x[E]=Xe(E),r=p?e[k][E]:e[x[E]+u],a){case 1:i[E]=E-c.s.c;break;case 2:i[E]=x[E];break;case 3:i[E]=o.header[E-c.s.c];break;default:if(r==null&&(r={w:"__EMPTY",t:"s"}),f=s=ut(r,null,o),h=g[s]||0,!h)g[s]=1;else{do f=s+"_"+h++;while(g[f]);g[s]=h,g[f]=1}i[E]=f}for(k=c.s.r+n;k<=c.e.r;++k)if(!(b[k]||{}).hidden){var D=Ig(e,c,k,x,a,i,p,o);(D.isempty===!1||(a===1?o.blankrows!==!1:o.blankrows))&&(d[v++]=D.row)}return d.length=v,d}var as=/"/g;function Rg(e,t,r,a,n,i,s,f){for(var c=!0,o=[],l="",u=Ze(r),x=t.s.c;x<=t.e.c;++x)if(a[x]){var d=f.dense?(e[r]||[])[x]:e[a[x]+u];if(d==null)l="";else if(d.v!=null){c=!1,l=""+(f.rawNumbers&&d.t=="n"?d.v:ut(d,null,f));for(var v=0,h=0;v!==l.length;++v)if((h=l.charCodeAt(v))===n||h===i||h===34||f.forceQuotes){l='"'+l.replace(as,'""')+'"';break}l=="ID"&&(l='"ID"')}else d.f!=null&&!d.F?(c=!1,l="="+d.f,l.indexOf(",")>=0&&(l='"'+l.replace(as,'""')+'"')):l="";o.push(l)}return f.blankrows===!1&&c?null:o.join(s)}function Vn(e,t){var r=[],a=t??{};if(e==null||e["!ref"]==null)return"";var n=Oe(e["!ref"]),i=a.FS!==void 0?a.FS:",",s=i.charCodeAt(0),f=a.RS!==void 0?a.RS:`
103
103
  `,c=f.charCodeAt(0),o=new RegExp((i=="|"?"\\|":i)+"+$"),l="",u=[];a.dense=Array.isArray(e);for(var x=a.skipHidden&&e["!cols"]||[],d=a.skipHidden&&e["!rows"]||[],v=n.s.c;v<=n.e.c;++v)(x[v]||{}).hidden||(u[v]=Xe(v));for(var h=0,p=n.s.r;p<=n.e.r;++p)(d[p]||{}).hidden||(l=Rg(e,n,p,u,s,c,i,a),l!=null&&(a.strip&&(l=l.replace(o,"")),(l||a.blankrows!==!1)&&r.push((h++?f:"")+l)));return delete a.dense,r.join("")}function xc(e,t){t||(t={}),t.FS=" ",t.RS=`
104
- `;var r=Vn(e,t);return r}function Ng(e){var t="",r,a="";if(e==null||e["!ref"]==null)return[];var n=Oe(e["!ref"]),i="",s=[],f,c=[],o=Array.isArray(e);for(f=n.s.c;f<=n.e.c;++f)s[f]=Xe(f);for(var l=n.s.r;l<=n.e.r;++l)for(i=Ze(l),f=n.s.c;f<=n.e.c;++f)if(t=s[f]+i,r=o?(e[l]||[])[f]:e[t],a="",r!==void 0){if(r.F!=null){if(t=r.F,!r.f)continue;a=r.f,t.indexOf(":")==-1&&(t=t+":"+t)}if(r.f!=null)a=r.f;else{if(r.t=="z")continue;if(r.t=="n"&&r.v!=null)a=""+r.v;else if(r.t=="b")a=r.v?"TRUE":"FALSE";else if(r.w!==void 0)a="'"+r.w;else{if(r.v===void 0)continue;r.t=="s"?a="'"+r.v:a=""+r.v}}c[c.length]=t+"="+a}return c}function dc(e,t,r){var a=r||{},n=+!a.skipHeader,i=e||{},s=0,f=0;if(i&&a.origin!=null)if(typeof a.origin=="number")s=a.origin;else{var c=typeof a.origin=="string"?ze(a.origin):a.origin;s=c.r,f=c.c}var o,l={s:{c:0,r:0},e:{c:f,r:s+t.length-1+n}};if(i["!ref"]){var u=Oe(i["!ref"]);l.e.c=Math.max(l.e.c,u.e.c),l.e.r=Math.max(l.e.r,u.e.r),s==-1&&(s=u.e.r+1,l.e.r=s+t.length-1+n)}else s==-1&&(s=0,l.e.r=t.length-1+n);var x=a.header||[],d=0;t.forEach(function(h,p){je(h).forEach(function(k){(d=x.indexOf(k))==-1&&(x[d=x.length]=k);var E=h[k],g="z",O="",b=me({c:f+d,r:s+p+n});o=Ua(i,b),E&&typeof E=="object"&&!(E instanceof Date)?i[b]=E:(typeof E=="number"?g="n":typeof E=="boolean"?g="b":typeof E=="string"?g="s":E instanceof Date?(g="d",a.cellDates||(g="n",E=ir(E)),O=a.dateNF||ve[14]):E===null&&a.nullError&&(g="e",E=0),o?(o.t=g,o.v=E,delete o.w,delete o.R,O&&(o.z=O)):i[b]=o={t:g,v:E},O&&(o.z=O))})}),l.e.c=Math.max(l.e.c,f+x.length-1);var v=Ze(s);if(n)for(d=0;d<x.length;++d)i[Xe(d+f)+v]={t:"s",v:x[d]};return i["!ref"]=ke(l),i}function bg(e,t){return dc(null,e,t)}function Ua(e,t,r){if(typeof t=="string"){if(Array.isArray(e)){var a=ze(t);return e[a.r]||(e[a.r]=[]),e[a.r][a.c]||(e[a.r][a.c]={t:"z"})}return e[t]||(e[t]={t:"z"})}return typeof t!="number"?Ua(e,me(t)):Ua(e,me({r:t,c:r||0}))}function Pg(e,t){if(typeof t=="number"){if(t>=0&&e.SheetNames.length>t)return t;throw new Error("Cannot find sheet # "+t)}else if(typeof t=="string"){var r=e.SheetNames.indexOf(t);if(r>-1)return r;throw new Error("Cannot find sheet name |"+t+"|")}else throw new Error("Cannot find sheet |"+t+"|")}function Gn(){return{SheetNames:[],Sheets:{}}}function Xn(e,t,r,a){var n=1;if(!r)for(;n<=65535&&e.SheetNames.indexOf(r="Sheet"+n)!=-1;++n,r=void 0);if(!r||e.SheetNames.length>=65535)throw new Error("Too many worksheets");if(a&&e.SheetNames.indexOf(r)>=0){var i=r.match(/(^.*?)(\d+)$/);n=i&&+i[2]||0;var s=i&&i[1]||r;for(++n;n<=65535&&e.SheetNames.indexOf(r=s+n)!=-1;++n);}if(qf(r),e.SheetNames.indexOf(r)>=0)throw new Error("Worksheet with name |"+r+"| already exists!");return e.SheetNames.push(r),e.Sheets[r]=t,r}function Lg(e,t,r){e.Workbook||(e.Workbook={}),e.Workbook.Sheets||(e.Workbook.Sheets=[]);var a=Pg(e,t);switch(e.Workbook.Sheets[a]||(e.Workbook.Sheets[a]={}),r){case 0:case 1:case 2:break;default:throw new Error("Bad sheet visibility setting "+r)}e.Workbook.Sheets[a].Hidden=r}function Bg(e,t){return e.z=t,e}function vc(e,t,r){return t?(e.l={Target:t},r&&(e.l.Tooltip=r)):delete e.l,e}function Mg(e,t,r){return vc(e,"#"+t,r)}function Ug(e,t,r){e.c||(e.c=[]),e.c.push({t,a:r||"SheetJS"})}function Wg(e,t,r,a){for(var n=typeof t!="string"?t:Oe(t),i=typeof t=="string"?t:ke(t),s=n.s.r;s<=n.e.r;++s)for(var f=n.s.c;f<=n.e.c;++f){var c=Ua(e,s,f);c.t="n",c.F=i,delete c.v,s==n.s.r&&f==n.s.c&&(c.f=r,a&&(c.D=!0))}return e}var pc={encode_col:Xe,encode_row:Ze,encode_cell:me,encode_range:ke,decode_col:_n,decode_row:gn,split_cell:Jo,decode_cell:ze,decode_range:Ar,format_cell:ut,sheet_add_aoa:Hs,sheet_add_json:dc,sheet_add_dom:ic,aoa_to_sheet:ca,json_to_sheet:bg,table_to_sheet:sc,table_to_book:$m,sheet_to_csv:Vn,sheet_to_txt:xc,sheet_to_json:_0,sheet_to_html:nc,sheet_to_formulae:Ng,sheet_to_row_object_array:_0,sheet_get_cell:Ua,book_new:Gn,book_append_sheet:Xn,book_set_sheet_visibility:Lg,cell_set_number_format:Bg,cell_set_hyperlink:vc,cell_set_internal_link:Mg,cell_add_comment:Ug,sheet_set_array_formula:Wg,consts:{SHEET_VISIBLE:0,SHEET_HIDDEN:1,SHEET_VERY_HIDDEN:2}};function Hg(e){try{return new URL(e).protocol==="http:"}catch{return!1}}function Vg(e){try{return new URL(e).protocol==="https:"}catch{return!1}}function Gg(e){try{return new URL(e).protocol==="blob:"}catch{return!1}}function mc(e){try{const t=new URL(e).pathname,r=t.substring(t.lastIndexOf("/")+1);return decodeURIComponent(r)}catch(t){return console.error("无法解析URL以提取文件名:",e,t),"未知文件名"}}function Xg(e){if(!e)return;const t=e.match(/filename\*\s*=\s*([^;]+)/i);if(t){let a=t[1].trim();a=a.replace(/^"(.*)"$/,"$1");const n=a.split("''");if(n.length===2){const i=n[0].toUpperCase(),s=n[1];try{if(i==="UTF-8")return decodeURIComponent(s)}catch{}return s}try{return decodeURIComponent(a)}catch{return a}}const r=e.match(/filename\s*=\s*("?)([^";]+)\1/i);if(r)return r[2].trim()}const zg=e=>{const t=e==null?void 0:e.toLowerCase(),r=t==null?void 0:t.lastIndexOf(".");let a=t;return r>=0&&(a=a==null?void 0:a.slice(r+1)),a};async function gc(e){let t,r;if(Vg(e)||Hg(e)||Gg(e))try{const a=await fetch(e,{method:"GET",cache:"no-store"});if(!a.ok)throw new Error(`下载文件失败: ${a.statusText} (URL: ${e})`);t=await a.blob(),r=mc(e)}catch(a){throw console.error("使用 fetch 下载文件时出错:",a),a}else try{const a=await is({url:e});if(a.status!==200)throw new Error(`下载失败: ${a.status}`);const n=a.headers["content-disposition"];r=Xg(n)||"无文件名",t=a.data}catch(a){throw console.error("通过 API 下载文件时出错:",a),a}return new File([t],r,{type:t.type})}function $g(e){return new Promise((t,r)=>{const a=new FileReader;a.onload=n=>{var i;try{const s=(i=n.target)==null?void 0:i.result,f=g0(s,{type:"array"}),c=f.Sheets[f.SheetNames[0]],o=pc.sheet_to_json(c);t(o)}catch(s){r(s)}},a.readAsArrayBuffer(e)})}const Kg=e=>new Promise(async(t,r)=>{const i=await(await fetch(e)).blob(),s=new FileReader;s.onload=function(f){var c;t((c=f.target)==null?void 0:c.result)},s.onerror=f=>{const{error:c}=s;r(c==null?void 0:c.message)},s.readAsText(i)}),jg=e=>{if(e==null||!isFinite(e))return"";const t=e/(1024*1024);if(t>=1)return`${t.toFixed(1)} MB`;const r=e/1024;return r>=1?`${r.toFixed(1)} KB`:`${e} B`},_c=wt.defineStore("threeState",{state:()=>({data:{extension:"",url:[],data:{},isThreeScene:!0}}),actions:{setData(e){this.data=e},getData(){return this.data}}});function wc(){const e=ns.useMenuState(wt.pinia),{platform:t}=wt.storeToRefs(e),r=_c(wt.pinia),a=pe.computed(()=>{var E;return(E=r==null?void 0:r.data)==null?void 0:E.extension}),n=["uv","cpt","cyd","nc"],i=["urdf"],s=["obj","stl"],f=[...n,...i,...s],c=E=>{if(!l())throw new Error("不是三维系统");r.setData(E)},o=()=>r.getData(),l=()=>t.value==="three",u=E=>{const g=E==null?void 0:E.toLowerCase(),O=g==null?void 0:g.lastIndexOf(".");let b=g;return O>=0&&(b=b==null?void 0:b.slice(O+1)),b},x=E=>{if(!E)return!1;const g=u(E);return f==null?void 0:f.includes(g)};return{getData:o,setData:c,isThreeSystem:l,isUrdf:E=>{if(!E)return!1;const g=u(E);return i==null?void 0:i.includes(g)},isGeneralFile:E=>{if(!E)return!1;const g=u(E);return s==null?void 0:s.includes(g)},isTrackPathFile:E=>{if(!E)return!1;const g=u(E);return n==null?void 0:n.includes(g)},isThreeFile:x,isUseBackdrop:E=>l()&&x(E),initTrackFileType:E=>{if(!E)return{isCpt:!1,isCyd:!1,isUv:!1,isNc:!1};const g=u(E),O=n==null?void 0:n.find(D=>D===g);return{isCpt:O==="cpt",isCyd:O==="cyd",isUv:O==="uv",isNc:O==="nc"}},getFileExtension:u,extraExtension:a}}const Yg={class:"top-menu"},Jg={key:4,class:"loading"},qg=pe.defineComponent({__name:"threeViewerHost",props:{fileUrls:{default:()=>[]},host:{default:"inline"},extension:{},animationData:{default:()=>({})},width:{default:"100%"},height:{default:"100%"},threeData:{},componentType:{}},emits:["getThreeData"],setup(e,{emit:t}){const r=pe.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./threeSceneView-CAMJYdpr.cjs"))),a=pe.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./threePreview-CIuFqz2p.cjs"))),n=pe.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./threeTrackPathView-C3n4B-Ye.cjs"))),i=pe.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./threeSceneViewForCPMPIP-fwJ6mDCc.cjs"))),s={ROBOT_SCENE:"robot",LATHE_SCENE:"latheScene",CPMPIP_SCENE:"cpmpip",PREVIEW:"preview"},f=e,c=ns.useMenuState(wt.pinia),{platName:o}=wt.storeToRefs(c),{isGeneralFile:l,isUrdf:u,isTrackPathFile:x,extraExtension:d}=wc(),v=pe.computed(()=>(f==null?void 0:f.extension)||d.value),h=pe.computed(()=>{var D,S;return(S=(D=f==null?void 0:f.threeData)==null?void 0:D.data)==null?void 0:S.trackFileType}),p=pe.computed(()=>{var S;if(f.componentType)switch(f.componentType){case"robot":return s.ROBOT_SCENE;case"latheScene":return s.LATHE_SCENE;case"cpmpip":return s.CPMPIP_SCENE;case"preview":return s.PREVIEW}const D=(S=f==null?void 0:f.fileUrls)==null?void 0:S[0];return l(D)?s.PREVIEW:(o==null?void 0:o.value)==="CPMPIP"&&(u(D)||u(v.value))?s.CPMPIP_SCENE:(o==null?void 0:o.value)==="SFRTubeBend"&&(u(D)||u(v.value))?s.ROBOT_SCENE:x(v.value)&&h.value?s.LATHE_SCENE:s.PREVIEW}),k=t,E=pe.ref([]),g=pe.ref(!1);async function O(D){if(!D||!D.length){E.value=[];return}g.value=!0;try{const S=await Promise.all(D.map(B=>gc(B)));E.value=S}catch(S){console.error("文件下载时发生错误:",S),E.value=[]}finally{g.value=!1}}const b=()=>{k("getThreeData")};return pe.watch(()=>f.fileUrls,async D=>{await O(D??[])},{immediate:!0,deep:!0}),(D,S)=>(pe.openBlock(),pe.createElementBlock("div",{class:pe.normalizeClass([f.host==="electron"?"mv-electron":"mv-inline","three-platform"])},[pe.createElementVNode("div",Yg,[pe.renderSlot(D.$slots,"top-menu",{},void 0,!0)]),p.value===s.ROBOT_SCENE?(pe.openBlock(),pe.createBlock(pe.unref(r),{key:0,fileBlobs:E.value,"animation-data":D.animationData,onGetThreeData:b,threeData:f.threeData},{"button-left":pe.withCtx(()=>[pe.renderSlot(D.$slots,"management-menu",{},void 0,!0)]),"button-right":pe.withCtx(()=>[pe.renderSlot(D.$slots,"management-page",{},void 0,!0)]),_:3},8,["fileBlobs","animation-data","threeData"])):p.value===s.LATHE_SCENE?(pe.openBlock(),pe.createBlock(pe.unref(n),{key:1,fileBlobs:E.value,threeData:f.threeData,trackFileType:h.value},{"button-left":pe.withCtx(()=>[pe.renderSlot(D.$slots,"management-menu",{},void 0,!0)]),"button-right":pe.withCtx(()=>[pe.renderSlot(D.$slots,"management-page",{},void 0,!0)]),_:3},8,["fileBlobs","threeData","trackFileType"])):p.value===s.CPMPIP_SCENE?(pe.openBlock(),pe.createBlock(pe.unref(i),{key:2,fileBlobs:E.value,threeData:f.threeData},{"button-left":pe.withCtx(()=>[pe.renderSlot(D.$slots,"management-menu",{},void 0,!0)]),"button-right":pe.withCtx(()=>[pe.renderSlot(D.$slots,"management-page",{},void 0,!0)]),_:3},8,["fileBlobs","threeData"])):p.value===s.PREVIEW?(pe.openBlock(),pe.createBlock(pe.unref(a),{key:3,fileBlobs:E.value,"animation-data":D.animationData},{"button-left":pe.withCtx(()=>[pe.renderSlot(D.$slots,"management-menu",{},void 0,!0)]),"button-right":pe.withCtx(()=>[pe.renderSlot(D.$slots,"management-page",{},void 0,!0)]),_:3},8,["fileBlobs","animation-data"])):pe.createCommentVNode("",!0),g.value?(pe.openBlock(),pe.createElementBlock("div",Jg," 文件下载中,请稍候... ")):pe.createCommentVNode("",!0)],2))}}),kc=Bc._export_sfc(qg,[["__scopeId","data-v-c347e022"]]),Zg=Object.freeze(Object.defineProperty({__proto__:null,default:kc},Symbol.toStringTag,{value:"Module"}));exports.ThreeViewerHost=kc;exports.downloadAvatarApi=is;exports.downloadFile=gc;exports.formatBytes=jg;exports.getFileExtension=zg;exports.getFilenameFromUrl=mc;exports.readCsv=$g;exports.readFileText=Kg;exports.readSync=g0;exports.threeViewerHost=Zg;exports.uploadFile=Mc;exports.useThreeState=_c;exports.useThreeSystem=wc;exports.utils=pc;exports.writeFileSync=Og;
104
+ `;var r=Vn(e,t);return r}function Ng(e){var t="",r,a="";if(e==null||e["!ref"]==null)return[];var n=Oe(e["!ref"]),i="",s=[],f,c=[],o=Array.isArray(e);for(f=n.s.c;f<=n.e.c;++f)s[f]=Xe(f);for(var l=n.s.r;l<=n.e.r;++l)for(i=Ze(l),f=n.s.c;f<=n.e.c;++f)if(t=s[f]+i,r=o?(e[l]||[])[f]:e[t],a="",r!==void 0){if(r.F!=null){if(t=r.F,!r.f)continue;a=r.f,t.indexOf(":")==-1&&(t=t+":"+t)}if(r.f!=null)a=r.f;else{if(r.t=="z")continue;if(r.t=="n"&&r.v!=null)a=""+r.v;else if(r.t=="b")a=r.v?"TRUE":"FALSE";else if(r.w!==void 0)a="'"+r.w;else{if(r.v===void 0)continue;r.t=="s"?a="'"+r.v:a=""+r.v}}c[c.length]=t+"="+a}return c}function dc(e,t,r){var a=r||{},n=+!a.skipHeader,i=e||{},s=0,f=0;if(i&&a.origin!=null)if(typeof a.origin=="number")s=a.origin;else{var c=typeof a.origin=="string"?ze(a.origin):a.origin;s=c.r,f=c.c}var o,l={s:{c:0,r:0},e:{c:f,r:s+t.length-1+n}};if(i["!ref"]){var u=Oe(i["!ref"]);l.e.c=Math.max(l.e.c,u.e.c),l.e.r=Math.max(l.e.r,u.e.r),s==-1&&(s=u.e.r+1,l.e.r=s+t.length-1+n)}else s==-1&&(s=0,l.e.r=t.length-1+n);var x=a.header||[],d=0;t.forEach(function(h,p){je(h).forEach(function(k){(d=x.indexOf(k))==-1&&(x[d=x.length]=k);var E=h[k],g="z",O="",b=me({c:f+d,r:s+p+n});o=Ua(i,b),E&&typeof E=="object"&&!(E instanceof Date)?i[b]=E:(typeof E=="number"?g="n":typeof E=="boolean"?g="b":typeof E=="string"?g="s":E instanceof Date?(g="d",a.cellDates||(g="n",E=ir(E)),O=a.dateNF||ve[14]):E===null&&a.nullError&&(g="e",E=0),o?(o.t=g,o.v=E,delete o.w,delete o.R,O&&(o.z=O)):i[b]=o={t:g,v:E},O&&(o.z=O))})}),l.e.c=Math.max(l.e.c,f+x.length-1);var v=Ze(s);if(n)for(d=0;d<x.length;++d)i[Xe(d+f)+v]={t:"s",v:x[d]};return i["!ref"]=ke(l),i}function bg(e,t){return dc(null,e,t)}function Ua(e,t,r){if(typeof t=="string"){if(Array.isArray(e)){var a=ze(t);return e[a.r]||(e[a.r]=[]),e[a.r][a.c]||(e[a.r][a.c]={t:"z"})}return e[t]||(e[t]={t:"z"})}return typeof t!="number"?Ua(e,me(t)):Ua(e,me({r:t,c:r||0}))}function Pg(e,t){if(typeof t=="number"){if(t>=0&&e.SheetNames.length>t)return t;throw new Error("Cannot find sheet # "+t)}else if(typeof t=="string"){var r=e.SheetNames.indexOf(t);if(r>-1)return r;throw new Error("Cannot find sheet name |"+t+"|")}else throw new Error("Cannot find sheet |"+t+"|")}function Gn(){return{SheetNames:[],Sheets:{}}}function Xn(e,t,r,a){var n=1;if(!r)for(;n<=65535&&e.SheetNames.indexOf(r="Sheet"+n)!=-1;++n,r=void 0);if(!r||e.SheetNames.length>=65535)throw new Error("Too many worksheets");if(a&&e.SheetNames.indexOf(r)>=0){var i=r.match(/(^.*?)(\d+)$/);n=i&&+i[2]||0;var s=i&&i[1]||r;for(++n;n<=65535&&e.SheetNames.indexOf(r=s+n)!=-1;++n);}if(qf(r),e.SheetNames.indexOf(r)>=0)throw new Error("Worksheet with name |"+r+"| already exists!");return e.SheetNames.push(r),e.Sheets[r]=t,r}function Lg(e,t,r){e.Workbook||(e.Workbook={}),e.Workbook.Sheets||(e.Workbook.Sheets=[]);var a=Pg(e,t);switch(e.Workbook.Sheets[a]||(e.Workbook.Sheets[a]={}),r){case 0:case 1:case 2:break;default:throw new Error("Bad sheet visibility setting "+r)}e.Workbook.Sheets[a].Hidden=r}function Bg(e,t){return e.z=t,e}function vc(e,t,r){return t?(e.l={Target:t},r&&(e.l.Tooltip=r)):delete e.l,e}function Mg(e,t,r){return vc(e,"#"+t,r)}function Ug(e,t,r){e.c||(e.c=[]),e.c.push({t,a:r||"SheetJS"})}function Wg(e,t,r,a){for(var n=typeof t!="string"?t:Oe(t),i=typeof t=="string"?t:ke(t),s=n.s.r;s<=n.e.r;++s)for(var f=n.s.c;f<=n.e.c;++f){var c=Ua(e,s,f);c.t="n",c.F=i,delete c.v,s==n.s.r&&f==n.s.c&&(c.f=r,a&&(c.D=!0))}return e}var pc={encode_col:Xe,encode_row:Ze,encode_cell:me,encode_range:ke,decode_col:_n,decode_row:gn,split_cell:Jo,decode_cell:ze,decode_range:Ar,format_cell:ut,sheet_add_aoa:Hs,sheet_add_json:dc,sheet_add_dom:ic,aoa_to_sheet:ca,json_to_sheet:bg,table_to_sheet:sc,table_to_book:$m,sheet_to_csv:Vn,sheet_to_txt:xc,sheet_to_json:_0,sheet_to_html:nc,sheet_to_formulae:Ng,sheet_to_row_object_array:_0,sheet_get_cell:Ua,book_new:Gn,book_append_sheet:Xn,book_set_sheet_visibility:Lg,cell_set_number_format:Bg,cell_set_hyperlink:vc,cell_set_internal_link:Mg,cell_add_comment:Ug,sheet_set_array_formula:Wg,consts:{SHEET_VISIBLE:0,SHEET_HIDDEN:1,SHEET_VERY_HIDDEN:2}};function Hg(e){try{return new URL(e).protocol==="http:"}catch{return!1}}function Vg(e){try{return new URL(e).protocol==="https:"}catch{return!1}}function Gg(e){try{return new URL(e).protocol==="blob:"}catch{return!1}}function mc(e){try{const t=new URL(e).pathname,r=t.substring(t.lastIndexOf("/")+1);return decodeURIComponent(r)}catch(t){return console.error("无法解析URL以提取文件名:",e,t),"未知文件名"}}function Xg(e){if(!e)return;const t=e.match(/filename\*\s*=\s*([^;]+)/i);if(t){let a=t[1].trim();a=a.replace(/^"(.*)"$/,"$1");const n=a.split("''");if(n.length===2){const i=n[0].toUpperCase(),s=n[1];try{if(i==="UTF-8")return decodeURIComponent(s)}catch{}return s}try{return decodeURIComponent(a)}catch{return a}}const r=e.match(/filename\s*=\s*("?)([^";]+)\1/i);if(r)return r[2].trim()}const zg=e=>{const t=e==null?void 0:e.toLowerCase(),r=t==null?void 0:t.lastIndexOf(".");let a=t;return r>=0&&(a=a==null?void 0:a.slice(r+1)),a};async function gc(e){let t,r;if(Vg(e)||Hg(e)||Gg(e))try{const a=await fetch(e,{method:"GET",cache:"no-store"});if(!a.ok)throw new Error(`下载文件失败: ${a.statusText} (URL: ${e})`);t=await a.blob(),r=mc(e)}catch(a){throw console.error("使用 fetch 下载文件时出错:",a),a}else try{const a=await is({url:e});if(a.status!==200)throw new Error(`下载失败: ${a.status}`);const n=a.headers["content-disposition"];r=Xg(n)||"无文件名",t=a.data}catch(a){throw console.error("通过 API 下载文件时出错:",a),a}return new File([t],r,{type:t.type})}function $g(e){return new Promise((t,r)=>{const a=new FileReader;a.onload=n=>{var i;try{const s=(i=n.target)==null?void 0:i.result,f=g0(s,{type:"array"}),c=f.Sheets[f.SheetNames[0]],o=pc.sheet_to_json(c);t(o)}catch(s){r(s)}},a.readAsArrayBuffer(e)})}const Kg=e=>new Promise(async(t,r)=>{const i=await(await fetch(e)).blob(),s=new FileReader;s.onload=function(f){var c;t((c=f.target)==null?void 0:c.result)},s.onerror=f=>{const{error:c}=s;r(c==null?void 0:c.message)},s.readAsText(i)}),jg=e=>{if(e==null||!isFinite(e))return"";const t=e/(1024*1024);if(t>=1)return`${t.toFixed(1)} MB`;const r=e/1024;return r>=1?`${r.toFixed(1)} KB`:`${e} B`},_c=wt.defineStore("threeState",{state:()=>({data:{extension:"",url:[],data:{},isThreeScene:!0}}),actions:{setData(e){this.data=e},getData(){return this.data}}});function wc(){const e=ns.useMenuState(wt.pinia),{platform:t}=wt.storeToRefs(e),r=_c(wt.pinia),a=pe.computed(()=>{var E;return(E=r==null?void 0:r.data)==null?void 0:E.extension}),n=["uv","cpt","cyd","nc"],i=["urdf"],s=["obj","stl"],f=[...n,...i,...s],c=E=>{if(!l())throw new Error("不是三维系统");r.setData(E)},o=()=>r.getData(),l=()=>t.value==="three",u=E=>{const g=E==null?void 0:E.toLowerCase(),O=g==null?void 0:g.lastIndexOf(".");let b=g;return O>=0&&(b=b==null?void 0:b.slice(O+1)),b},x=E=>{if(!E)return!1;const g=u(E);return f==null?void 0:f.includes(g)};return{getData:o,setData:c,isThreeSystem:l,isUrdf:E=>{if(!E)return!1;const g=u(E);return i==null?void 0:i.includes(g)},isGeneralFile:E=>{if(!E)return!1;const g=u(E);return s==null?void 0:s.includes(g)},isTrackPathFile:E=>{if(!E)return!1;const g=u(E);return n==null?void 0:n.includes(g)},isThreeFile:x,isUseBackdrop:E=>l()&&x(E),initTrackFileType:E=>{if(!E)return{isCpt:!1,isCyd:!1,isUv:!1,isNc:!1};const g=u(E),O=n==null?void 0:n.find(D=>D===g);return{isCpt:O==="cpt",isCyd:O==="cyd",isUv:O==="uv",isNc:O==="nc"}},getFileExtension:u,extraExtension:a}}const Yg={class:"top-menu"},Jg={key:4,class:"loading"},qg=pe.defineComponent({__name:"threeViewerHost",props:{fileUrls:{default:()=>[]},host:{default:"inline"},extension:{},animationData:{default:()=>({})},width:{default:"100%"},height:{default:"100%"},threeData:{},componentType:{}},emits:["getThreeData"],setup(e,{emit:t}){const r=pe.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./threeSceneView-ClZqVdCB.cjs"))),a=pe.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./threePreview-CIuFqz2p.cjs"))),n=pe.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./threeTrackPathView-CC7mxoKt.cjs"))),i=pe.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./threeSceneViewForCPMPIP-Cs2p48GK.cjs"))),s={ROBOT_SCENE:"robot",LATHE_SCENE:"latheScene",CPMPIP_SCENE:"cpmpip",PREVIEW:"preview"},f=e,c=ns.useMenuState(wt.pinia),{platName:o}=wt.storeToRefs(c),{isGeneralFile:l,isUrdf:u,isTrackPathFile:x,extraExtension:d}=wc(),v=pe.computed(()=>(f==null?void 0:f.extension)||d.value),h=pe.computed(()=>{var D,S;return(S=(D=f==null?void 0:f.threeData)==null?void 0:D.data)==null?void 0:S.trackFileType}),p=pe.computed(()=>{var S;if(f.componentType)switch(f.componentType){case"robot":return s.ROBOT_SCENE;case"latheScene":return s.LATHE_SCENE;case"cpmpip":return s.CPMPIP_SCENE;case"preview":return s.PREVIEW}const D=(S=f==null?void 0:f.fileUrls)==null?void 0:S[0];return l(D)?s.PREVIEW:(o==null?void 0:o.value)==="CPMPIP"&&(u(D)||u(v.value))?s.CPMPIP_SCENE:(o==null?void 0:o.value)==="SFRTubeBend"&&(u(D)||u(v.value))?s.ROBOT_SCENE:x(v.value)&&h.value?s.LATHE_SCENE:s.PREVIEW}),k=t,E=pe.ref([]),g=pe.ref(!1);async function O(D){if(!D||!D.length){E.value=[];return}g.value=!0;try{const S=await Promise.all(D.map(B=>gc(B)));E.value=S}catch(S){console.error("文件下载时发生错误:",S),E.value=[]}finally{g.value=!1}}const b=()=>{k("getThreeData")};return pe.watch(()=>f.fileUrls,async D=>{await O(D??[])},{immediate:!0,deep:!0}),(D,S)=>(pe.openBlock(),pe.createElementBlock("div",{class:pe.normalizeClass([f.host==="electron"?"mv-electron":"mv-inline","three-platform"])},[pe.createElementVNode("div",Yg,[pe.renderSlot(D.$slots,"top-menu",{},void 0,!0)]),p.value===s.ROBOT_SCENE?(pe.openBlock(),pe.createBlock(pe.unref(r),{key:0,fileBlobs:E.value,"animation-data":D.animationData,onGetThreeData:b,threeData:f.threeData},{"button-left":pe.withCtx(()=>[pe.renderSlot(D.$slots,"management-menu",{},void 0,!0)]),"button-right":pe.withCtx(()=>[pe.renderSlot(D.$slots,"management-page",{},void 0,!0)]),_:3},8,["fileBlobs","animation-data","threeData"])):p.value===s.LATHE_SCENE?(pe.openBlock(),pe.createBlock(pe.unref(n),{key:1,fileBlobs:E.value,threeData:f.threeData,trackFileType:h.value},{"button-left":pe.withCtx(()=>[pe.renderSlot(D.$slots,"management-menu",{},void 0,!0)]),"button-right":pe.withCtx(()=>[pe.renderSlot(D.$slots,"management-page",{},void 0,!0)]),_:3},8,["fileBlobs","threeData","trackFileType"])):p.value===s.CPMPIP_SCENE?(pe.openBlock(),pe.createBlock(pe.unref(i),{key:2,fileBlobs:E.value,threeData:f.threeData},{"button-left":pe.withCtx(()=>[pe.renderSlot(D.$slots,"management-menu",{},void 0,!0)]),"button-right":pe.withCtx(()=>[pe.renderSlot(D.$slots,"management-page",{},void 0,!0)]),_:3},8,["fileBlobs","threeData"])):p.value===s.PREVIEW?(pe.openBlock(),pe.createBlock(pe.unref(a),{key:3,fileBlobs:E.value,"animation-data":D.animationData},{"button-left":pe.withCtx(()=>[pe.renderSlot(D.$slots,"management-menu",{},void 0,!0)]),"button-right":pe.withCtx(()=>[pe.renderSlot(D.$slots,"management-page",{},void 0,!0)]),_:3},8,["fileBlobs","animation-data"])):pe.createCommentVNode("",!0),g.value?(pe.openBlock(),pe.createElementBlock("div",Jg," 文件下载中,请稍候... ")):pe.createCommentVNode("",!0)],2))}}),kc=Bc._export_sfc(qg,[["__scopeId","data-v-c347e022"]]),Zg=Object.freeze(Object.defineProperty({__proto__:null,default:kc},Symbol.toStringTag,{value:"Module"}));exports.ThreeViewerHost=kc;exports.downloadAvatarApi=is;exports.downloadFile=gc;exports.formatBytes=jg;exports.getFileExtension=zg;exports.getFilenameFromUrl=mc;exports.readCsv=$g;exports.readFileText=Kg;exports.readSync=g0;exports.threeViewerHost=Zg;exports.uploadFile=Mc;exports.useThreeState=_c;exports.useThreeSystem=wc;exports.utils=pc;exports.writeFileSync=Og;
@@ -24803,7 +24803,7 @@ const n_ = { class: "top-menu" }, i_ = {
24803
24803
  },
24804
24804
  emits: ["getThreeData"],
24805
24805
  setup(e, { emit: t }) {
24806
- const r = Ja(() => import("./threeSceneView-BhmqTLZA.js")), a = Ja(() => import("./threePreview-Bd5BpbCA.js")), n = Ja(() => import("./threeTrackPathView-BvbmDcVs.js")), i = Ja(() => import("./threeSceneViewForCPMPIP-C7cCpwwv.js")), s = {
24806
+ const r = Ja(() => import("./threeSceneView-mXWAjDOa.js")), a = Ja(() => import("./threePreview-Bd5BpbCA.js")), n = Ja(() => import("./threeTrackPathView-BypIKggF.js")), i = Ja(() => import("./threeSceneViewForCPMPIP-DAYVqOg4.js")), s = {
24807
24807
  ROBOT_SCENE: "robot",
24808
24808
  // 机器人场景
24809
24809
  LATHE_SCENE: "latheScene",