@flyfish-group/file-viewer 1.0.20 → 1.0.21
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.
- package/README.md +10 -10
- package/dist/components/3MFLoader.js +1 -1
- package/dist/components/AMFLoader.js +1 -1
- package/dist/components/AudioViewer.js +1 -1
- package/dist/components/CadViewer.js +1 -1
- package/dist/components/CodeViewer.js +1 -1
- package/dist/components/ColladaLoader.js +1 -1
- package/dist/components/DrawingViewer.js +1 -1
- package/dist/components/EdaViewer.js +1 -1
- package/dist/components/EmailViewer.js +1 -1
- package/dist/components/EpubViewer.js +1 -1
- package/dist/components/FBXLoader.js +1 -1
- package/dist/components/GLTFLoader.js +1 -1
- package/dist/components/ImageViewer.js +1 -1
- package/dist/components/KMZLoader.js +1 -1
- package/dist/components/MarkdownViewer.js +1 -1
- package/dist/components/OBJLoader.js +1 -1
- package/dist/components/OfdViewer.js +1 -1
- package/dist/components/PCDLoader.js +1 -1
- package/dist/components/PLYLoader.js +1 -1
- package/dist/components/STLLoader.js +1 -1
- package/dist/components/TDSLoader.js +1 -1
- package/dist/components/USDLoader.js +1 -1
- package/dist/components/UmdViewer.js +2 -2
- package/dist/components/VRMLLoader.js +1 -1
- package/dist/components/VTKLoader.js +1 -1
- package/dist/components/XYZLoader.js +1 -1
- package/dist/components/XlsxTable.js +1 -1
- package/dist/components/___vite-browser-external_commonjs-proxy.js +1 -1
- package/dist/components/_commonjs-dynamic-modules.js +1 -1
- package/dist/components/_commonjsHelpers.js +1 -1
- package/dist/components/ar-SA-G6X2FPQ2.js +1 -1
- package/dist/components/arc.js +1 -1
- package/dist/components/architecture-7EHR7CIX.js +1 -1
- package/dist/components/architectureDiagram-3BPJPVTR.js +1 -1
- package/dist/components/az-AZ-76LH7QW2.js +1 -1
- package/dist/components/bg-BG-XCXSNQG7.js +1 -1
- package/dist/components/blockDiagram-GPEHLZMM.js +1 -1
- package/dist/components/bn-BD-2XOGV67Q.js +1 -1
- package/dist/components/c4Diagram-AAUBKEIU.js +1 -1
- package/dist/components/ca-ES-6MX7JW3Y.js +1 -1
- package/dist/components/cfb.js +1 -1
- package/dist/components/channel.js +1 -1
- package/dist/components/chunk-2J33WTMH.js +1 -1
- package/dist/components/chunk-4BX2VUAB.js +1 -1
- package/dist/components/chunk-55IACEB6.js +1 -1
- package/dist/components/chunk-727SXJPM.js +1 -1
- package/dist/components/chunk-AQP2D5EJ.js +1 -1
- package/dist/components/chunk-FMBD7UC4.js +1 -1
- package/dist/components/chunk-ND2GUHAM.js +1 -1
- package/dist/components/chunk-QZHKN3VN.js +1 -1
- package/dist/components/classDiagram-4FO5ZUOK.js +1 -1
- package/dist/components/classDiagram-v2-Q7XG4LA2.js +1 -1
- package/dist/components/cose-bilkent-S5V4N54A.js +1 -1
- package/dist/components/cs-CZ-2BRQDIVT.js +1 -1
- package/dist/components/cytoscape.esm.js +1 -1
- package/dist/components/da-DK-5WZEPLOC.js +1 -1
- package/dist/components/dagre-BM42HDAG.js +1 -1
- package/dist/components/de-DE-XR44H4JA.js +1 -1
- package/dist/components/defaultLocale.js +1 -1
- package/dist/components/diagram-2AECGRRQ.js +1 -1
- package/dist/components/diagram-5GNKFQAL.js +1 -1
- package/dist/components/diagram-KO2AKTUF.js +1 -1
- package/dist/components/diagram-LMA3HP47.js +1 -1
- package/dist/components/diagram-OG6HWLK6.js +1 -1
- package/dist/components/directory-open-01563666.js +1 -1
- package/dist/components/directory-open-4ed118d0.js +1 -1
- package/dist/components/docx-preview.js +2 -2
- package/dist/components/el-GR-BZB4AONW.js +1 -1
- package/dist/components/en-B4ZKOASM.js +1 -1
- package/dist/components/erDiagram-TEJ5UH35.js +1 -1
- package/dist/components/es-ES-U4NZUMDT.js +1 -1
- package/dist/components/eu-ES-A7QVB2H4.js +1 -1
- package/dist/components/eventmodeling-FCH6USID.js +1 -1
- package/dist/components/fa-IR-HGAKTJCU.js +1 -1
- package/dist/components/fflate.module.js +1 -1
- package/dist/components/fi-FI-Z5N7JZ37.js +1 -1
- package/dist/components/file-open-002ab408.js +1 -1
- package/dist/components/file-open-7c801643.js +1 -1
- package/dist/components/file-save-3189631c.js +1 -1
- package/dist/components/file-save-745eba88.js +1 -1
- package/dist/components/flowDiagram-I6XJVG4X.js +1 -1
- package/dist/components/fr-FR-RHASNOE6.js +1 -1
- package/dist/components/ganttDiagram-6RSMTGT7.js +1 -1
- package/dist/components/gitGraph-WXDBUCRP.js +1 -1
- package/dist/components/gitGraphDiagram-PVQCEYII.js +1 -1
- package/dist/components/gl-ES-HMX3MZ6V.js +1 -1
- package/dist/components/global-compiler.js +1 -1
- package/dist/components/global-renderer.js +1 -1
- package/dist/components/graph.js +1 -1
- package/dist/components/he-IL-6SHJWFNN.js +1 -1
- package/dist/components/hi-IN-IWLTKZ5I.js +1 -1
- package/dist/components/hu-HU-A5ZG7DT2.js +1 -1
- package/dist/components/id-ID-SAP4L64H.js +1 -1
- package/dist/components/image-GAAHSSAO.js +1 -1
- package/dist/components/image-blob-reduce.esm.js +1 -1
- package/dist/components/index10.js +1 -1
- package/dist/components/index11.js +1 -1
- package/dist/components/index12.js +1 -1
- package/dist/components/index13.js +1 -1
- package/dist/components/index14.js +1 -1
- package/dist/components/index15.js +1 -1
- package/dist/components/index16.js +1 -1
- package/dist/components/index17.js +1 -1
- package/dist/components/index18.js +1 -1
- package/dist/components/index19.js +1 -1
- package/dist/components/index2.js +1 -1
- package/dist/components/index20.js +1 -1
- package/dist/components/index21.js +1 -1
- package/dist/components/index22.js +2 -2
- package/dist/components/index23.js +1 -1
- package/dist/components/index24.js +1 -1
- package/dist/components/index25.js +1 -1
- package/dist/components/index3.js +1 -1
- package/dist/components/index4.js +1 -1
- package/dist/components/index5.js +1 -1
- package/dist/components/index6.js +1 -1
- package/dist/components/index7.js +1 -1
- package/dist/components/index8.js +1 -1
- package/dist/components/index9.js +1 -1
- package/dist/components/info-J43DQDTF.js +1 -1
- package/dist/components/infoDiagram-5YYISTIA.js +1 -1
- package/dist/components/init.js +1 -1
- package/dist/components/ishikawaDiagram-YF4QCWOH.js +1 -1
- package/dist/components/it-IT-JPQ66NNP.js +1 -1
- package/dist/components/ja-JP-DBVTYXUO.js +1 -1
- package/dist/components/journeyDiagram-JHISSGLW.js +1 -1
- package/dist/components/jszip.min.js +1 -1
- package/dist/components/kaa-6HZHGXH3.js +1 -1
- package/dist/components/kab-KAB-ZGHBKWFO.js +1 -1
- package/dist/components/kanban-definition-UN3LZRKU.js +1 -1
- package/dist/components/katex.js +1 -1
- package/dist/components/kk-KZ-P5N5QNE5.js +1 -1
- package/dist/components/km-KH-HSX4SM5Z.js +1 -1
- package/dist/components/ko-KR-MTYHY66A.js +1 -1
- package/dist/components/ku-TR-6OUDTVRD.js +1 -1
- package/dist/components/layout.js +1 -1
- package/dist/components/libarchive.js +1 -1
- package/dist/components/linear.js +1 -1
- package/dist/components/lt-LT-XHIRWOB4.js +1 -1
- package/dist/components/lv-LV-5QDEKY6T.js +1 -1
- package/dist/components/mermaid-parser.core.js +2 -2
- package/dist/components/mindmap-definition-RKZ34NQL.js +1 -1
- package/dist/components/mr-IN-CRQNXWMA.js +1 -1
- package/dist/components/my-MM-5M5IBNSE.js +1 -1
- package/dist/components/nb-NO-T6EIAALU.js +1 -1
- package/dist/components/nestedRender.js +1 -1
- package/dist/components/nl-NL-IS3SIHDZ.js +1 -1
- package/dist/components/nn-NO-6E72VCQL.js +1 -1
- package/dist/components/oc-FR-POXYY2M6.js +1 -1
- package/dist/components/ofd.js +1 -1
- package/dist/components/ordinal.js +1 -1
- package/dist/components/pa-IN-N4M65BXN.js +1 -1
- package/dist/components/packet-YPE3B663.js +1 -1
- package/dist/components/percentages-BXMCSKIN.js +1 -1
- package/dist/components/pica.js +1 -1
- package/dist/components/pie-LRSECV5Y.js +1 -1
- package/dist/components/pie.js +1 -1
- package/dist/components/pieDiagram-4H26LBE5.js +1 -1
- package/dist/components/pl-PL-T2D74RX3.js +1 -1
- package/dist/components/postal-mime.js +1 -1
- package/dist/components/printLayout.js +1 -1
- package/dist/components/pt-BR-5N22H2LF.js +1 -1
- package/dist/components/pt-PT-UZXXM6DQ.js +1 -1
- package/dist/components/quadrantDiagram-W4KKPZXB.js +1 -1
- package/dist/components/radar-GUYGQ44K.js +1 -1
- package/dist/components/requirementDiagram-4Y6WPE33.js +1 -1
- package/dist/components/ro-RO-JPDTUUEW.js +1 -1
- package/dist/components/rough.esm.js +1 -1
- package/dist/components/roundRect.js +1 -1
- package/dist/components/ru-RU-B4JR7IUQ.js +1 -1
- package/dist/components/sankeyDiagram-5OEKKPKP.js +1 -1
- package/dist/components/sequenceDiagram-3UESZ5HK.js +1 -1
- package/dist/components/si-LK-N5RQ5JYF.js +1 -1
- package/dist/components/sk-SK-C5VTKIMK.js +1 -1
- package/dist/components/sl-SI-NN7IZMDC.js +1 -1
- package/dist/components/stateDiagram-AJRCARHV.js +1 -1
- package/dist/components/stateDiagram-v2-BHNVJYJU.js +1 -1
- package/dist/components/subset-shared.chunk.js +1 -1
- package/dist/components/subset-worker.chunk.js +1 -1
- package/dist/components/sv-SE-XGPEYMSR.js +1 -1
- package/dist/components/ta-IN-2NMHFXQM.js +1 -1
- package/dist/components/th-TH-HPSO5L25.js +1 -1
- package/dist/components/time.js +1 -1
- package/dist/components/timeline-definition-PNZ67QCA.js +1 -1
- package/dist/components/tr-TR-DEFEU3FU.js +1 -1
- package/dist/components/transform.js +1 -1
- package/dist/components/treeView-BLDUP644.js +1 -1
- package/dist/components/treemap-LRROVOQU.js +1 -1
- package/dist/components/uk-UA-QMV73CPH.js +1 -1
- package/dist/components/vennDiagram-CIIHVFJN.js +1 -1
- package/dist/components/vi-VN-M7AON7JQ.js +1 -1
- package/dist/components/wardley-L42UT6IY.js +1 -1
- package/dist/components/wardleyDiagram-YWT4CUSO.js +1 -1
- package/dist/components/wasm-pack-shim.js +1 -1
- package/dist/components/wasm-pack-shim2.js +1 -1
- package/dist/components/worker-ref.js +1 -1
- package/dist/components/xychartDiagram-2RQKCTM6.js +1 -1
- package/dist/components/zh-CN-LNUGB5OW.js +1 -1
- package/dist/components/zh-HK-E62DVLB3.js +1 -1
- package/dist/components/zh-TW-RAJ6MFWO.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
function c(b,d){b=b-0x155;const e=a();let f=e[b];return f;}const b1=c;(function(aj,ak){const aT=c,al=aj();while(!![]){try{const am=-parseInt(aT(0x17a))/0x1*(-parseInt(aT(0x1a0))/0x2)+parseInt(aT(0x225))/0x3+parseInt(aT(0x19c))/0x4*(-parseInt(aT(0x1d1))/0x5)+parseInt(aT(0x1e8))/0x6*(-parseInt(aT(0x167))/0x7)+-parseInt(aT(0x236))/0x8+parseInt(aT(0x199))/0x9*(-parseInt(aT(0x182))/0xa)+parseInt(aT(0x188))/0xb*(parseInt(aT(0x1d5))/0xc);if(am===ak)break;else al['push'](al['shift']());}catch(an){al['push'](al['shift']());}}}(a,0xd36dd));import{ap as d,V as e,aq as f,L as g,h,F as i,T as j,R as k,k as l,ai as m,c as n,ar as o,K as p,C as r,S as s,as as t,i as u,G as v,ab as w,a5 as A,O as C,v as D,_ as F,x as L,Z as N,$ as T,a6 as X,f as a0,b as a1,a7 as a2,a9 as a3,at as a4,B as a5,a as a6,au as a7,av as a8,H as a9,J as aa,aa as ab,Q as ac,aj as ad,aw as af,al as ag,ak as ah}from'./ModelViewer.js';import{a as ai}from'./fflate.module.js';import'vue';import'./index7.js';function ie(aj,ak,al){const am=al['length']-aj-0x1;if(ak>=al[am])return am-0x1;if(ak<=al[aj])return aj;let an=aj,ao=am,ap=Math['floor']((an+ao)/0x2);for(;ak<al[ap]||ak>=al[ap+0x1];)ak<al[ap]?ao=ap:an=ap,ap=Math['floor']((an+ao)/0x2);return ap;}function Be(aj,ak,al,am){const an=[],ao=[],ap=[];an[0x0]=0x1;for(let aq=0x1;aq<=al;++aq){ao[aq]=ak-am[aj+0x1-aq],ap[aq]=am[aj+aq]-ak;let ar=0x0;for(let as=0x0;as<aq;++as){const at=ap[as+0x1],au=ao[aq-as],av=an[as]/(at+au);an[as]=ar+at*av,ar=au*av;}an[aq]=ar;}return an;}function Oe(aj,ak,al,am){const an=ie(aj,am,ak),ao=Be(an,am,aj,ak),ap=new d(0x0,0x0,0x0,0x0);for(let aq=0x0;aq<=aj;++aq){const ar=al[an-aj+aq],as=ao[aq],at=ar['w']*as;ap['x']+=ar['x']*at,ap['y']+=ar['y']*at,ap['z']+=ar['z']*at,ap['w']+=ar['w']*as;}return ap;}function Ve(aj,ak,al,am,an){const aU=c,ao=[];for(let au=0x0;au<=al;++au)ao[au]=0x0;const ap=[];for(let av=0x0;av<=am;++av)ap[av]=ao['slice'](0x0);const aq=[];for(let aw=0x0;aw<=al;++aw)aq[aw]=ao['slice'](0x0);aq[0x0][0x0]=0x1;const ar=ao[aU(0x1c6)](0x0),as=ao['slice'](0x0);for(let ax=0x1;ax<=al;++ax){ar[ax]=ak-an[aj+0x1-ax],as[ax]=an[aj+ax]-ak;let ay=0x0;for(let az=0x0;az<ax;++az){const aA=as[az+0x1],aB=ar[ax-az];aq[ax][az]=aA+aB;const aC=aq[az][ax-0x1]/aq[ax][az];aq[az][ax]=ay+aA*aC,ay=aB*aC;}aq[ax][ax]=ay;}for(let aD=0x0;aD<=al;++aD)ap[0x0][aD]=aq[aD][al];for(let aE=0x0;aE<=al;++aE){let aF=0x0,aG=0x1;const aH=[];for(let aI=0x0;aI<=al;++aI)aH[aI]=ao[aU(0x1c6)](0x0);aH[0x0][0x0]=0x1;for(let aJ=0x1;aJ<=am;++aJ){let aK=0x0;const aL=aE-aJ,aM=al-aJ;aE>=aJ&&(aH[aG][0x0]=aH[aF][0x0]/aq[aM+0x1][aL],aK=aH[aG][0x0]*aq[aL][aM]);const aN=aL>=-0x1?0x1:-aL,aO=aE-0x1<=aM?aJ-0x1:al-aE;for(let aQ=aN;aQ<=aO;++aQ)aH[aG][aQ]=(aH[aF][aQ]-aH[aF][aQ-0x1])/aq[aM+0x1][aL+aQ],aK+=aH[aG][aQ]*aq[aL+aQ][aM];aE<=aM&&(aH[aG][aJ]=-aH[aF][aJ-0x1]/aq[aM+0x1][aE],aK+=aH[aG][aJ]*aq[aE][aM]),ap[aJ][aE]=aK;const aP=aF;aF=aG,aG=aP;}}let at=al;for(let aR=0x1;aR<=am;++aR){for(let aS=0x0;aS<=al;++aS)ap[aR][aS]*=at;at*=al-aR;}return ap;}function Ue(aj,ak,al,am,an){const aV=c,ao=an<aj?an:aj,ap=[],aq=ie(aj,am,ak),ar=Ve(aq,am,aj,ao,ak),as=[];for(let at=0x0;at<al[aV(0x1bc)];++at){const au=al[at][aV(0x171)](),av=au['w'];au['x']*=av,au['y']*=av,au['z']*=av,as[at]=au;}for(let aw=0x0;aw<=ao;++aw){const ax=as[aq-aj]['clone']()['multiplyScalar'](ar[aw][0x0]);for(let ay=0x1;ay<=aj;++ay)ax['add'](as[aq-aj+ay]['clone']()['multiplyScalar'](ar[aw][ay]));ap[aw]=ax;}for(let az=ao+0x1;az<=an+0x1;++az)ap[az]=new d(0x0,0x0,0x0);return ap;}function Xe(aj,ak){let al=0x1;for(let an=0x2;an<=aj;++an)al*=an;let am=0x1;for(let ao=0x2;ao<=ak;++ao)am*=ao;for(let ap=0x2;ap<=aj-ak;++ap)am*=ap;return al/am;}function Ge(aj){const ak=aj['length'],al=[],am=[];for(let ao=0x0;ao<ak;++ao){const ap=aj[ao];al[ao]=new e(ap['x'],ap['y'],ap['z']),am[ao]=ap['w'];}const an=[];for(let aq=0x0;aq<ak;++aq){const ar=al[aq]['clone']();for(let as=0x1;as<=aq;++as)ar['sub'](an[aq-as]['clone']()['multiplyScalar'](Xe(aq,as)*am[as]));an[aq]=ar['divideScalar'](am[0x0]);}return an;}function ze(aj,ak,al,am,an){const ao=Ue(aj,ak,al,am,an);return Ge(ao);}class je extends f{constructor(aj,ak,al,am,an){const aW=c;super();const ao=ak?ak['length']-0x1:0x0,ap=al?al['length']:0x0;this['degree']=aj,this['knots']=ak,this['controlPoints']=[],this[aW(0x1eb)]=am||0x0,this['endKnot']=an||ao;for(let aq=0x0;aq<ap;++aq){const ar=al[aq];this['controlPoints'][aq]=new d(ar['x'],ar['y'],ar['z'],ar['w']);}}['getPoint'](aj,ak=new e()){const aX=c,al=ak,am=this['knots'][this[aX(0x1eb)]]+aj*(this['knots'][this['endKnot']]-this[aX(0x1ee)][this[aX(0x1eb)]]),an=Oe(this['degree'],this[aX(0x1ee)],this['controlPoints'],am);return an['w']!==0x1&&an[aX(0x170)](an['w']),al[aX(0x172)](an['x'],an['y'],an['z']);}['getTangent'](aj,ak=new e()){const aY=c,al=ak,am=this['knots'][0x0]+aj*(this['knots'][this['knots'][aY(0x1bc)]-0x1]-this['knots'][0x0]),an=ze(this['degree'],this['knots'],this['controlPoints'],am,0x1);return al['copy'](an[0x1])['normalize'](),al;}['toJSON'](){const aZ=c,aj=super['toJSON']();return aj['degree']=this['degree'],aj['knots']=[...this[aZ(0x1ee)]],aj['controlPoints']=this[aZ(0x202)]['map'](ak=>ak['toArray']()),aj[aZ(0x1eb)]=this['startKnot'],aj['endKnot']=this['endKnot'],aj;}['fromJSON'](aj){const b0=c;return super['fromJSON'](aj),this['degree']=aj['degree'],this['knots']=[...aj['knots']],this['controlPoints']=aj['controlPoints']['map'](ak=>new d(ak[0x0],ak[0x1],ak[0x2],ak[0x3])),this['startKnot']=aj[b0(0x1eb)],this['endKnot']=aj['endKnot'],this;}}let y,x,P;class st extends g{constructor(aj){super(aj);}[b1(0x22d)](aj,ak,al,am){const b2=b1,an=this,ao=an['path']===''?h['extractUrlBase'](aj):an['path'],ap=new i(this['manager']);ap['setPath'](an['path']),ap['setResponseType'](b2(0x1f7)),ap['setRequestHeader'](an['requestHeader']),ap['setWithCredentials'](an['withCredentials']),ap['load'](aj,function(aq){const b3=b2;try{ak(an['parse'](aq,ao));}catch(ar){am?am(ar):console[b3(0x183)](ar),an[b3(0x1ef)][b3(0x22b)](aj);}},al,am);}['parse'](aj,ak){const b4=b1;if(Ye(aj))y=new Ne()['parse'](aj);else{const am=le(aj);if(!Ze(am))throw new Error('THREE.FBXLoader:\x20Unknown\x20format.');if(se(am)<0x1b58)throw new Error('THREE.FBXLoader:\x20FBX\x20version\x20not\x20supported,\x20FileVersion:\x20'+se(am));y=new We()[b4(0x16e)](am);}const al=new j(this['manager'])['setPath'](this['resourcePath']||ak)['setCrossOrigin'](this[b4(0x176)]);return new _e(al,this[b4(0x1ef)])['parse'](y);}}class _e{constructor(aj,ak){this['textureLoader']=aj,this['manager']=ak;}['parse'](){x=this['parseConnections']();const aj=this['parseImages'](),ak=this['parseTextures'](aj),al=this['parseMaterials'](ak),am=this['parseDeformers'](),an=new He()['parse'](am);return this['parseScene'](am,an,al),P;}['parseConnections'](){const b5=b1,aj=new Map();return'Connections'in y&&y['Connections'][b5(0x184)][b5(0x16b)](function(ak){const b6=b5,al=ak[0x0],am=ak[0x1],an=ak[0x2];aj['has'](al)||aj['set'](al,{'parents':[],'children':[]});const ao={'ID':am,'relationship':an};aj[b6(0x1d0)](al)['parents']['push'](ao),aj['has'](am)||aj[b6(0x172)](am,{'parents':[],'children':[]});const ap={'ID':al,'relationship':an};aj['get'](am)['children']['push'](ap);}),aj;}['parseImages'](){const b7=b1,aj={},ak={};if('Video'in y['Objects']){const al=y['Objects']['Video'];for(const am in al){const an=al[am],ao=parseInt(am);if(aj[ao]=an['RelativeFilename']||an['Filename'],'Content'in an){const ap=an['Content']instanceof ArrayBuffer&&an[b7(0x1cb)][b7(0x1c7)]>0x0,aq=typeof an['Content']=='string'&&an['Content']!=='';if(ap||aq){const ar=this[b7(0x1c9)](al[am]);ak[an['RelativeFilename']||an['Filename']]=ar;}}}}for(const as in aj){const at=aj[as];ak[at]!==void 0x0?aj[as]=ak[at]:aj[as]=aj[as][b7(0x155)]('\x5c')['pop']();}return aj;}['parseImage'](aj){const b8=b1,ak=aj[b8(0x1cb)],al=aj[b8(0x1e3)]||aj[b8(0x214)],am=al['slice'](al['lastIndexOf']('.')+0x1)['toLowerCase']();let an;switch(am){case'bmp':an=b8(0x187);break;case b8(0x189):case'jpeg':an='image/jpeg';break;case'png':an='image/png';break;case'tif':an='image/tiff';break;case'tga':this['manager']['getHandler']('.tga')===null&&console['warn'](b8(0x234),al),an='image/tga';break;case b8(0x19b):an='image/webp';break;default:console['warn']('FBXLoader:\x20Image\x20type\x20\x22'+am+'\x22\x20is\x20not\x20supported.');return;}if(typeof ak=='string')return'data:'+an+';base64,'+ak;{const ao=new Uint8Array(ak);return window[b8(0x1cc)]['createObjectURL'](new Blob([ao],{'type':an}));}}['parseTextures'](aj){const b9=b1,ak=new Map();if('Texture'in y['Objects']){const al=y['Objects'][b9(0x15c)];for(const am in al){const an=this[b9(0x1c5)](al[am],aj);ak['set'](parseInt(am),an);}}return ak;}['parseTexture'](aj,ak){const ba=b1,al=this['loadTexture'](aj,ak);al['ID']=aj['id'],al['name']=aj['attrName'];const am=aj['WrapModeU'],an=aj['WrapModeV'],ao=am!==void 0x0?am['value']:0x0,ap=an!==void 0x0?an[ba(0x169)]:0x0;if(al['wrapS']=ao===0x0?k:l,al['wrapT']=ap===0x0?k:l,'Scaling'in aj){const aq=aj['Scaling'][ba(0x169)];al['repeat']['x']=aq[0x0],al[ba(0x21b)]['y']=aq[0x1];}if('Translation'in aj){const ar=aj['Translation']['value'];al[ba(0x16d)]['x']=ar[0x0],al['offset']['y']=ar[0x1];}return al;}['loadTexture'](aj,ak){const bb=b1,al=aj[bb(0x1fb)][bb(0x155)]('.')['pop']()['toLowerCase']();let am=this['manager']['getHandler']('.'+al);am===null&&(am=this['textureLoader']);const an=am['path'];an||am[bb(0x175)](this['textureLoader']['path']);const ao=x['get'](aj['id'])['children'];let ap;if(ao!==void 0x0&&ao[bb(0x1bc)]>0x0&&ak[ao[0x0]['ID']]!==void 0x0&&(ap=ak[ao[0x0]['ID']],(ap['indexOf']('blob:')===0x0||ap['indexOf']('data:')===0x0)&&am[bb(0x175)](void 0x0)),ap===void 0x0)return console[bb(0x1f6)](bb(0x1d2)),new m();const aq=am[bb(0x22d)](ap);return am['setPath'](an),aq;}[b1(0x194)](aj){const bc=b1,ak=new Map();if('Material'in y[bc(0x1e2)]){const al=y['Objects'][bc(0x1c0)];for(const am in al){const an=this[bc(0x228)](al[am],aj);an!==null&&ak['set'](parseInt(am),an);}}return ak;}['parseMaterial'](aj,ak){const bd=b1,al=aj['id'],am=aj['attrName'];let an=aj['ShadingModel'];if(typeof an=='object'&&(an=an['value']),!x['has'](al))return null;const ao=this[bd(0x16f)](aj,ak,al);let ap;switch(an['toLowerCase']()){case'phong':ap=new n();break;case'lambert':ap=new o();break;default:console['warn']('THREE.FBXLoader:\x20unknown\x20material\x20type\x20\x22%s\x22.\x20Defaulting\x20to\x20MeshPhongMaterial.',an),ap=new n();break;}return ap['setValues'](ao),ap['name']=am,ap;}['parseParameters'](aj,ak,al){const bf=b1,am={};aj['BumpFactor']&&(am['bumpScale']=aj['BumpFactor']['value']),aj['Diffuse']?am[bf(0x215)]=p['colorSpaceToWorking'](new r()[bf(0x239)](aj['Diffuse']['value']),s):aj['DiffuseColor']&&(aj['DiffuseColor'][bf(0x15e)]==='Color'||aj['DiffuseColor']['type']==='ColorRGB')&&(am[bf(0x215)]=p['colorSpaceToWorking'](new r()['fromArray'](aj['DiffuseColor']['value']),s)),aj[bf(0x185)]&&(am['displacementScale']=aj['DisplacementFactor']['value']),aj['Emissive']?am['emissive']=p['colorSpaceToWorking'](new r()['fromArray'](aj['Emissive']['value']),s):aj['EmissiveColor']&&(aj['EmissiveColor']['type']==='Color'||aj['EmissiveColor']['type']==='ColorRGB')&&(am[bf(0x178)]=p['colorSpaceToWorking'](new r()['fromArray'](aj['EmissiveColor']['value']),s)),aj['EmissiveFactor']&&(am['emissiveIntensity']=parseFloat(aj['EmissiveFactor']['value'])),am['opacity']=0x1-(aj['TransparencyFactor']?parseFloat(aj['TransparencyFactor']['value']):0x0),(am['opacity']===0x1||am['opacity']===0x0)&&(am['opacity']=aj['Opacity']?parseFloat(aj['Opacity'][bf(0x169)]):null,am['opacity']===null&&(am['opacity']=0x1)),am['opacity']<0x1&&(am[bf(0x1a7)]=!0x0),aj['ReflectionFactor']&&(am['reflectivity']=aj['ReflectionFactor']['value']),aj[bf(0x1f8)]&&(am['shininess']=aj['Shininess']['value']),aj['Specular']?am['specular']=p['colorSpaceToWorking'](new r()['fromArray'](aj['Specular'][bf(0x169)]),s):aj['SpecularColor']&&aj['SpecularColor']['type']==='Color'&&(am['specular']=p['colorSpaceToWorking'](new r()['fromArray'](aj['SpecularColor']['value']),s));const an=this;return x['get'](al)['children']['forEach'](function(ao){const bg=bf,ap=ao['relationship'];switch(ap){case'Bump':am['bumpMap']=an['getTexture'](ak,ao['ID']);break;case'Maya|TEX_ao_map':am['aoMap']=an['getTexture'](ak,ao['ID']);break;case'DiffuseColor':case'Maya|TEX_color_map':am['map']=an['getTexture'](ak,ao['ID']),am['map']!==void 0x0&&(am[bg(0x205)][bg(0x21d)]=s);break;case'DisplacementColor':am['displacementMap']=an['getTexture'](ak,ao['ID']);break;case'EmissiveColor':am['emissiveMap']=an[bg(0x1a6)](ak,ao['ID']),am['emissiveMap']!==void 0x0&&(am['emissiveMap']['colorSpace']=s);break;case'NormalMap':case'Maya|TEX_normal_map':am['normalMap']=an['getTexture'](ak,ao['ID']);break;case'ReflectionColor':am[bg(0x223)]=an['getTexture'](ak,ao['ID']),am['envMap']!==void 0x0&&(am['envMap']['mapping']=t,am[bg(0x223)]['colorSpace']=s);break;case'SpecularColor':am['specularMap']=an[bg(0x1a6)](ak,ao['ID']),am['specularMap']!==void 0x0&&(am[bg(0x207)]['colorSpace']=s);break;case'TransparentColor':case'TransparencyFactor':am['alphaMap']=an['getTexture'](ak,ao['ID']),am['transparent']=!0x0;break;case'AmbientColor':case'ShininessExponent':case'SpecularFactor':case'VectorDisplacementColor':default:console['warn']('THREE.FBXLoader:\x20%s\x20map\x20is\x20not\x20supported\x20in\x20three.js,\x20skipping\x20texture.',ap);break;}}),am;}['getTexture'](aj,ak){const bh=b1;return'LayeredTexture'in y['Objects']&&ak in y['Objects']['LayeredTexture']&&(console[bh(0x1f6)]('THREE.FBXLoader:\x20layered\x20textures\x20are\x20not\x20supported\x20in\x20three.js.\x20Discarding\x20all\x20but\x20first\x20layer.'),ak=x[bh(0x1d0)](ak)['children'][0x0]['ID']),aj['get'](ak);}['parseDeformers'](){const bi=b1,aj={},ak={};if('Deformer'in y['Objects']){const al=y['Objects']['Deformer'];for(const am in al){const an=al[am],ao=x['get'](parseInt(am));if(an['attrType']==='Skin'){const ap=this['parseSkeleton'](ao,al);ap['ID']=am,ao[bi(0x177)]['length']>0x1&&console['warn']('THREE.FBXLoader:\x20skeleton\x20attached\x20to\x20more\x20than\x20one\x20geometry\x20is\x20not\x20supported.'),ap['geometryID']=ao[bi(0x177)][0x0]['ID'],aj[am]=ap;}else{if(an['attrType']===bi(0x19d)){const aq={'id':am};aq['rawTargets']=this[bi(0x1a9)](ao,al),aq['id']=am,ao['parents']['length']>0x1&&console['warn']('THREE.FBXLoader:\x20morph\x20target\x20attached\x20to\x20more\x20than\x20one\x20geometry\x20is\x20not\x20supported.'),ak[am]=aq;}}}}return{'skeletons':aj,'morphTargets':ak};}['parseSkeleton'](aj,ak){const bj=b1,al=[];return aj[bj(0x1f0)]['forEach'](function(am){const bk=bj,an=ak[am['ID']];if(an['attrType']!=='Cluster')return;const ao={'ID':am['ID'],'indices':[],'weights':[],'transformLink':new u()['fromArray'](an['TransformLink']['a'])};'Indexes'in an&&(ao[bk(0x230)]=an['Indexes']['a'],ao['weights']=an[bk(0x20b)]['a']),al['push'](ao);}),{'rawBones':al,'bones':[]};}[b1(0x1a9)](aj,ak){const bl=b1,al=[];for(let am=0x0;am<aj['children']['length'];am++){const an=aj['children'][am],ao=ak[an['ID']],ap={'name':ao['attrName'],'initialWeight':ao['DeformPercent'],'id':ao['id'],'fullWeights':ao['FullWeights']['a']};if(ao['attrType']!=='BlendShapeChannel')return;ap[bl(0x1e7)]=x['get'](parseInt(an['ID']))['children']['filter'](function(aq){return aq['relationship']===void 0x0;})[0x0]['ID'],al[bl(0x1b7)](ap);}return al;}['parseScene'](aj,ak,al){const bn=b1;P=new v();const am=this['parseModels'](aj['skeletons'],ak,al),an=y['Objects']['Model'],ao=this;am['forEach'](function(at){const bm=c,au=an[at['ID']];ao['setLookAtProperties'](at,au),x[bm(0x1d0)](at['ID'])['parents']['forEach'](function(av){const aw=am['get'](av['ID']);aw!==void 0x0&&aw['add'](at);}),at[bm(0x1a5)]===null&&P['add'](at);}),this['addGlobalSceneSettings'](),P[bn(0x17e)](function(at){const bo=bn;if(at[bo(0x208)]['transformData']){at[bo(0x1a5)]&&(at['userData']['transformData']['parentMatrix']=at[bo(0x1a5)]['matrix'],at['userData']['transformData'][bo(0x17b)]=at['parent']['matrixWorld']);const au=oe(at[bo(0x208)]['transformData']);at[bo(0x1b4)](au),at['updateWorldMatrix']();}});const ap=this[bn(0x233)](),aq=new Set();for(const at in aj[bn(0x23e)])aj[bn(0x23e)][at][bn(0x1e9)]['forEach'](function(au,av){const bp=bn,aw=aj['skeletons'][at][bp(0x23b)][av];aw&&aq['add'](aw['ID']);});const ar=new u();P[bn(0x17e)](function(au){const bq=bn;if(au['isBone']&&au['ID']!==void 0x0&&!aq[bq(0x1c8)](au['ID'])){const av=ap[au['ID']];av!==void 0x0&&(au[bq(0x1a5)]?(ar['copy'](au[bq(0x1a5)]['matrixWorld'])['invert'](),ar['multiply'](av)):ar['copy'](av),ar['decompose'](au['position'],au['quaternion'],au['scale']),au['updateMatrix'](),au['matrixWorld']['copy'](av));}}),this[bn(0x1e6)](aj['skeletons'],ak,am);const as=new Ke()['parse']();P['children']['length']===0x1&&P['children'][0x0]['isGroup']&&(P['children'][0x0]['animations']=as,P=P['children'][0x0]),P['animations']=as,'GlobalSettings'in y&&bn(0x162)in y['GlobalSettings']&&y['GlobalSettings']['UpAxis']['value']===0x2&&(console['warn'](bn(0x213)),P['rotation'][bn(0x172)](-Math['PI']/0x2,0x0,0x0));}['parseModels'](aj,ak,al){const br=b1,am=new Map(),an=y['Objects']['Model'];for(const ao in an){const ap=parseInt(ao),aq=an[ao],ar=x['get'](ap);let as=this['buildSkeleton'](ar,aj,ap,aq['attrName']);if(!as){switch(aq['attrType']){case'Camera':as=this['createCamera'](ar);break;case'Light':as=this['createLight'](ar);break;case'Mesh':as=this['createMesh'](ar,ak,al);break;case'NurbsCurve':as=this['createCurve'](ar,ak);break;case'LimbNode':case'Root':as=new w();break;case br(0x165):default:as=new v();break;}as['name']=aq['attrName']?A['sanitizeNodeName'](aq['attrName']):'',as[br(0x208)]['originalName']=aq['attrName'],as['ID']=ap;}this['getTransformData'](as,aq),am['set'](ap,as);}return am;}['buildSkeleton'](aj,ak,al,am){const bs=b1;let an=null;return aj['parents'][bs(0x16b)](function(ao){const bt=bs;for(const ap in ak){const aq=ak[ap];aq['rawBones'][bt(0x16b)](function(ar,as){if(ar['ID']===ao['ID']){const at=an;an=new w(),an['matrixWorld']['copy'](ar['transformLink']),an['name']=am?A['sanitizeNodeName'](am):'',an['userData']['originalName']=am,an['ID']=al,aq['bones'][as]=an,at!==null&&an['add'](at);}});}}),an;}['createCamera'](aj){const bu=b1;let ak,al;if(aj['children'][bu(0x16b)](function(am){const bv=bu,an=y['Objects'][bv(0x1a2)][am['ID']];an!==void 0x0&&(al=an);}),al===void 0x0)ak=new C();else{let am=0x0;al[bu(0x221)]!==void 0x0&&al['CameraProjectionType']['value']===0x1&&(am=0x1);let an=0x1;al['NearPlane']!==void 0x0&&(an=al[bu(0x1be)]['value']/0x3e8);let ao=0x3e8;al['FarPlane']!==void 0x0&&(ao=al['FarPlane'][bu(0x169)]/0x3e8);let ap=window[bu(0x1f9)],aq=window['innerHeight'];al['AspectWidth']!==void 0x0&&al['AspectHeight']!==void 0x0&&(ap=al['AspectWidth']['value'],aq=al['AspectHeight']['value']);const ar=ap/aq;let as=0x2d;al['FieldOfView']!==void 0x0&&(as=al['FieldOfView'][bu(0x169)]);const at=al['FocalLength']?al[bu(0x1fe)]['value']:null;switch(am){case 0x0:ak=new D(as,ar,an,ao),at!==null&&ak['setFocalLength'](at);break;case 0x1:console[bu(0x1f6)]('THREE.FBXLoader:\x20Orthographic\x20cameras\x20not\x20supported\x20yet.'),ak=new C();break;default:console['warn']('THREE.FBXLoader:\x20Unknown\x20camera\x20type\x20'+am+'.'),ak=new C();break;}}return ak;}['createLight'](aj){const bw=b1;let ak,al;if(aj[bw(0x1f0)][bw(0x16b)](function(am){const an=y['Objects']['NodeAttribute'][am['ID']];an!==void 0x0&&(al=an);}),al===void 0x0)ak=new C();else{let am;al['LightType']===void 0x0?am=0x0:am=al['LightType']['value'];let an=0xffffff;al['Color']!==void 0x0&&(an=p['colorSpaceToWorking'](new r()['fromArray'](al['Color'][bw(0x169)]),s));let ao=al['Intensity']===void 0x0?0x1:al['Intensity']['value']/0x64;al['CastLightOnObject']!==void 0x0&&al['CastLightOnObject']['value']===0x0&&(ao=0x0);let ap=0x0;al[bw(0x161)]!==void 0x0&&(al['EnableFarAttenuation']!==void 0x0&&al['EnableFarAttenuation']['value']===0x0?ap=0x0:ap=al['FarAttenuationEnd']['value']);const aq=0x1;switch(am){case 0x0:ak=new F(an,ao,ap,aq);break;case 0x1:ak=new T(an,ao);break;case 0x2:let ar=Math['PI']/0x3,as=0x0;al['OuterAngle']!==void 0x0?(ar=L['degToRad'](al['OuterAngle'][bw(0x169)]),al['InnerAngle']!==void 0x0&&(as=0x1-al['InnerAngle']['value']/al[bw(0x1b3)]['value'],as=Math[bw(0x217)](0x0,as))):al['InnerAngle']!==void 0x0&&(ar=L[bw(0x20f)](al[bw(0x18e)]['value'])),ak=new N(an,ao,ap,ar,as,aq);break;default:console['warn']('THREE.FBXLoader:\x20Unknown\x20light\x20type\x20'+al['LightType']['value']+',\x20defaulting\x20to\x20a\x20PointLight.'),ak=new F(an,ao);break;}al['CastShadows']!==void 0x0&&al['CastShadows']['value']===0x1&&(ak['castShadow']=!0x0);}return ak;}[b1(0x156)](aj,ak,al){const by=b1;let am,an=null,ao=null;const ap=[];if(aj['children']['forEach'](function(aq){const bx=c;ak['has'](aq['ID'])&&(an=ak['get'](aq['ID'])),al['has'](aq['ID'])&&ap['push'](al[bx(0x1d0)](aq['ID']));}),ap['length']>0x1?ao=ap:ap['length']>0x0?ao=ap[0x0]:(ao=new n({'name':g['DEFAULT_MATERIAL_NAME'],'color':0xcccccc}),ap['push'](ao)),'color'in an[by(0x1ae)]&&ap['forEach'](function(aq){aq['vertexColors']=!0x0;}),an['groups']['length']>0x0){let aq=!0x1;for(let ar=0x0,as=an['groups'][by(0x1bc)];ar<as;ar++){const at=an['groups'][ar];(at['materialIndex']<0x0||at['materialIndex']>=ap['length'])&&(at[by(0x196)]=ap['length'],aq=!0x0);}if(aq){const au=new n();ap['push'](au);}}return an['FBX_Deformer']?(am=new X(an,ao),am['normalizeSkinWeights']()):am=new a0(an,ao),am;}['createCurve'](aj,ak){const bz=b1,al=aj['children']['reduce'](function(an,ao){return ak['has'](ao['ID'])&&(an=ak['get'](ao['ID'])),an;},null),am=new a1({'name':g[bz(0x195)],'color':0x3300ff,'linewidth':0x1});return new a2(al,am);}['getTransformData'](aj,ak){const bA=b1,al={};bA(0x180)in ak&&(al['inheritType']=parseInt(ak['InheritType']['value'])),'RotationOrder'in ak?al['eulerOrder']=z(ak[bA(0x1c3)]['value']):al['eulerOrder']=z(0x0),'Lcl_Translation'in ak&&(al['translation']=ak['Lcl_Translation']['value']),'PreRotation'in ak&&(al['preRotation']=ak['PreRotation']['value']),bA(0x23a)in ak&&(al[bA(0x220)]=ak['Lcl_Rotation'][bA(0x169)]),bA(0x22a)in ak&&(al['postRotation']=ak[bA(0x22a)]['value']),bA(0x211)in ak&&(al['scale']=ak[bA(0x211)][bA(0x169)]),'ScalingOffset'in ak&&(al['scalingOffset']=ak[bA(0x1bd)]['value']),bA(0x1a1)in ak&&(al['scalingPivot']=ak['ScalingPivot']['value']),'RotationOffset'in ak&&(al['rotationOffset']=ak['RotationOffset']['value']),'RotationPivot'in ak&&(al['rotationPivot']=ak['RotationPivot'][bA(0x169)]),aj['userData']['transformData']=al;}['setLookAtProperties'](aj,ak){'LookAtProperty'in ak&&x['get'](aj['ID'])['children']['forEach'](function(al){const bB=c;if(al['relationship']==='LookAtProperty'){const am=y[bB(0x1e2)][bB(0x23d)][al['ID']];if('Lcl_Translation'in am){const an=am['Lcl_Translation']['value'];aj[bB(0x198)]!==void 0x0?(aj['target'][bB(0x17c)]['fromArray'](an),P[bB(0x1b0)](aj['target'])):aj['lookAt'](new e()['fromArray'](an));}}});}['bindSkeleton'](aj,ak,al){const bC=b1;for(const am in aj){const an=aj[am],ao=[];for(let ap=0x0,aq=an['bones'][bC(0x1bc)];ap<aq;ap++){const ar=new u();an['bones'][ap]&&an['rawBones'][ap]&&ar['copy'](an['rawBones'][ap][bC(0x197)])['invert'](),ao['push'](ar);}x['get'](parseInt(an['ID']))['parents']['forEach'](function(as){const bD=bC;if(ak['has'](as['ID'])){const at=as['ID'];x['get'](at)[bD(0x177)]['forEach'](function(au){const bE=bD;if(al['has'](au['ID'])){const av=al['get'](au['ID']);av['updateMatrixWorld'](!0x0),av[bE(0x1ed)](new a3(an['bones'],ao),av['matrixWorld']);}});}});}}['parsePoseNodes'](){const bF=b1,aj={};if('Pose'in y['Objects']){const ak=y['Objects'][bF(0x1ec)];for(const al in ak)if(ak[al]['attrType']==='BindPose'&&ak[al][bF(0x19a)]>0x0){const am=ak[al][bF(0x1ab)];Array['isArray'](am)?am['forEach'](function(an){const bG=bF;aj[an[bG(0x1fa)]]=new u()['fromArray'](an['Matrix']['a']);}):aj[am['Node']]=new u()[bF(0x239)](am['Matrix']['a']);}}return aj;}['addGlobalSceneSettings'](){const bH=b1;if('GlobalSettings'in y){if('AmbientColor'in y['GlobalSettings']){const aj=y['GlobalSettings'][bH(0x227)][bH(0x169)],ak=aj[0x0],al=aj[0x1],am=aj[0x2];if(ak!==0x0||al!==0x0||am!==0x0){const an=new r()['setRGB'](ak,al,am,s);P['add'](new a4(an,0x1));}}'UnitScaleFactor'in y['GlobalSettings']&&(P['userData'][bH(0x1ca)]=y['GlobalSettings']['UnitScaleFactor'][bH(0x169)]);}}}class He{constructor(){const bI=b1;this[bI(0x1a3)]=!0x1;}[b1(0x16e)](aj){const bJ=b1,ak=new Map();if('Geometry'in y['Objects']){const al=y['Objects']['Geometry'];for(const am in al){const an=x[bJ(0x1d0)](parseInt(am)),ao=this['parseGeometry'](an,al[am],aj);ak[bJ(0x172)](parseInt(am),ao);}}return this[bJ(0x1a3)]===!0x0&&console['warn']('THREE.FBXLoader:\x20The\x20FBX\x20file\x20contains\x20invalid\x20(negative)\x20material\x20indices.\x20The\x20asset\x20might\x20not\x20render\x20as\x20expected.'),ak;}['parseGeometry'](aj,ak,al){const bK=b1;switch(ak[bK(0x15a)]){case bK(0x1ad):return this[bK(0x1b2)](aj,ak,al);case'NurbsCurve':return this['parseNurbsGeometry'](ak);}}['parseMeshGeometry'](aj,ak,al){const bL=b1,am=al['skeletons'],an=[],ao=aj['parents']['map'](function(at){return y['Objects']['Model'][at['ID']];});if(ao['length']===0x0)return;const ap=aj[bL(0x1f0)]['reduce'](function(at,au){return am[au['ID']]!==void 0x0&&(at=am[au['ID']]),at;},null);aj['children']['forEach'](function(at){const bM=bL;al['morphTargets'][at['ID']]!==void 0x0&&an[bM(0x1b7)](al[bM(0x1e1)][at['ID']]);});const aq=ao[0x0],ar={};'RotationOrder'in aq&&(ar['eulerOrder']=z(aq['RotationOrder']['value'])),'InheritType'in aq&&(ar['inheritType']=parseInt(aq['InheritType']['value'])),'GeometricTranslation'in aq&&(ar['translation']=aq['GeometricTranslation']['value']),'GeometricRotation'in aq&&(ar['rotation']=aq['GeometricRotation']['value']),'GeometricScaling'in aq&&(ar['scale']=aq['GeometricScaling']['value']);const as=oe(ar);return this[bL(0x1a8)](ak,ap,an,as);}[b1(0x1a8)](aj,ak,al,am){const bN=b1,an=new a5();aj['attrName']&&(an['name']=aj['attrName']);const ao=this[bN(0x216)](aj,ak),ap=this['genBuffers'](ao),aq=new a6(ap['vertex'],0x3);if(aq['applyMatrix4'](am),an['setAttribute']('position',aq),ap[bN(0x1f4)]['length']>0x0&&an['setAttribute']('color',new a6(ap['colors'],0x3)),ak&&(an['setAttribute']('skinIndex',new a7(ap['weightsIndices'],0x4)),an['setAttribute']('skinWeight',new a6(ap[bN(0x1fc)],0x4)),an['FBX_Deformer']=ak),ap['normal']['length']>0x0){const ar=new a8()['getNormalMatrix'](am),as=new a6(ap['normal'],0x3);as['applyNormalMatrix'](ar),an[bN(0x1b1)](bN(0x16c),as);}if(ap['uvs']['forEach'](function(at,au){const av=au===0x0?'uv':'uv'+au;an['setAttribute'](av,new a6(ap['uvs'][au],0x2));}),ao['material']&&ao[bN(0x203)]['mappingType']!==bN(0x191)){let at=ap['materialIndex'][0x0],au=0x0;if(ap['materialIndex']['forEach'](function(av,aw){av!==at&&(an['addGroup'](au,aw-au,at),at=av,au=aw);}),an['groups']['length']>0x0){const av=an['groups'][an['groups']['length']-0x1],aw=av[bN(0x1c4)]+av[bN(0x1fd)];aw!==ap[bN(0x196)]['length']&&an['addGroup'](aw,ap['materialIndex']['length']-aw,at);}an['groups']['length']===0x0&&an[bN(0x224)](0x0,ap[bN(0x196)]['length'],ap['materialIndex'][0x0]);}return this[bN(0x22f)](an,aj,al,am),an;}['parseGeoNode'](aj,ak){const bO=b1,al={};if(al['vertexPositions']=aj[bO(0x160)]!==void 0x0?aj['Vertices']['a']:[],al['vertexIndices']=aj['PolygonVertexIndex']!==void 0x0?aj[bO(0x15f)]['a']:[],aj['LayerElementColor']&&aj['LayerElementColor'][0x0]['Colors']&&(al['color']=this['parseVertexColors'](aj[bO(0x1dc)][0x0])),aj['LayerElementMaterial']&&(al['material']=this['parseMaterialIndices'](aj['LayerElementMaterial'][0x0])),aj[bO(0x17f)]&&(al['normal']=this['parseNormals'](aj['LayerElementNormal'][0x0])),aj[bO(0x17d)]){al['uv']=[];let am=0x0;for(;aj['LayerElementUV'][am];)aj['LayerElementUV'][am]['UV']&&al['uv']['push'](this['parseUVs'](aj['LayerElementUV'][am])),am++;}return al[bO(0x231)]={},ak!==null&&(al[bO(0x21a)]=ak,ak['rawBones'][bO(0x16b)](function(an,ao){const bP=bO;an['indices'][bP(0x16b)](function(ap,aq){const bQ=bP;al[bQ(0x231)][ap]===void 0x0&&(al['weightTable'][ap]=[]),al[bQ(0x231)][ap]['push']({'id':ao,'weight':an[bQ(0x164)][aq]});});})),al;}['genBuffers'](aj){const bR=b1,ak={'vertex':[],'normal':[],'colors':[],'uvs':[],'materialIndex':[],'vertexWeights':[],'weightsIndices':[]};let al=0x0,am=0x0,an=!0x1,ao=[],ap=[],aq=[],ar=[],as=[],at=[];const au=this;return aj['vertexIndices'][bR(0x16b)](function(av,aw){const bS=bR;let ax,ay=!0x1;av<0x0&&(av=av^-0x1,ay=!0x0);let az=[],aA=[];if(ao['push'](av*0x3,av*0x3+0x1,av*0x3+0x2),aj['color']){const aB=K(aw,al,av,aj['color']);aq['push'](aB[0x0],aB[0x1],aB[0x2]);}if(aj[bS(0x21a)]){if(aj['weightTable'][av]!==void 0x0&&aj['weightTable'][av]['forEach'](function(aC){aA['push'](aC['weight']),az['push'](aC['id']);}),aA['length']>0x4){an||(console['warn']('THREE.FBXLoader:\x20Vertex\x20has\x20more\x20than\x204\x20skinning\x20weights\x20assigned\x20to\x20vertex.\x20Deleting\x20additional\x20weights.'),an=!0x0);const aC=[0x0,0x0,0x0,0x0],aD=[0x0,0x0,0x0,0x0];aA['forEach'](function(aE,aF){let aG=aE,aH=az[aF];aD['forEach'](function(aI,aJ,aK){if(aG>aI){aK[aJ]=aG,aG=aI;const aL=aC[aJ];aC[aJ]=aH,aH=aL;}});}),az=aC,aA=aD;}for(;aA['length']<0x4;)aA['push'](0x0),az['push'](0x0);for(let aE=0x0;aE<0x4;++aE)as['push'](aA[aE]),at['push'](az[aE]);}if(aj['normal']){const aF=K(aw,al,av,aj['normal']);ap['push'](aF[0x0],aF[0x1],aF[0x2]);}aj['material']&&aj[bS(0x203)][bS(0x1b5)]!=='AllSame'&&(ax=K(aw,al,av,aj['material'])[0x0],ax<0x0&&(au['negativeMaterialIndices']=!0x0,ax=0x0)),aj['uv']&&aj['uv']['forEach'](function(aG,aH){const aI=K(aw,al,av,aG);ar[aH]===void 0x0&&(ar[aH]=[]),ar[aH]['push'](aI[0x0]),ar[aH]['push'](aI[0x1]);}),am++,ay&&(au['genFace'](ak,aj,ao,ax,ap,aq,ar,as,at,am),al++,am=0x0,ao=[],ap=[],aq=[],ar=[],as=[],at=[]);}),ak;}['getNormalNewell'](aj){const bT=b1,ak=new e(0x0,0x0,0x0);for(let al=0x0;al<aj['length'];al++){const am=aj[al],an=aj[(al+0x1)%aj[bT(0x1bc)]];ak['x']+=(am['y']-an['y'])*(am['z']+an['z']),ak['y']+=(am['z']-an['z'])*(am['x']+an['x']),ak['z']+=(am['x']-an['x'])*(am['y']+an['y']);}return ak['normalize'](),ak;}['getNormalTangentAndBitangent'](aj){const ak=this['getNormalNewell'](aj),al=(Math['abs'](ak['z'])>0.5?new e(0x0,0x1,0x0):new e(0x0,0x0,0x1))['cross'](ak)['normalize'](),am=ak['clone']()['cross'](al)['normalize']();return{'normal':ak,'tangent':al,'bitangent':am};}['flattenVertex'](aj,ak,al){return new a9(aj['dot'](ak),aj['dot'](al));}[b1(0x238)](aj,ak,al,am,an,ao,ap,aq,ar,as){const bU=b1;let at;if(as>0x3){const au=[],av=ak['baseVertexPositions']||ak[bU(0x21e)];for(let az=0x0;az<al['length'];az+=0x3)au[bU(0x1b7)](new e(av[al[az]],av[al[az+0x1]],av[al[az+0x2]]));const {tangent:aw,bitangent:ax}=this['getNormalTangentAndBitangent'](au),ay=[];for(const aA of au)ay[bU(0x1b7)](this['flattenVertex'](aA,aw,ax));at=aa['triangulateShape'](ay,[]);}else at=[[0x0,0x1,0x2]];for(const [aB,aC,aD]of at)aj['vertex']['push'](ak['vertexPositions'][al[aB*0x3]]),aj[bU(0x1f1)]['push'](ak['vertexPositions'][al[aB*0x3+0x1]]),aj['vertex'][bU(0x1b7)](ak['vertexPositions'][al[aB*0x3+0x2]]),aj[bU(0x1f1)]['push'](ak['vertexPositions'][al[aC*0x3]]),aj['vertex']['push'](ak['vertexPositions'][al[aC*0x3+0x1]]),aj['vertex']['push'](ak['vertexPositions'][al[aC*0x3+0x2]]),aj['vertex']['push'](ak['vertexPositions'][al[aD*0x3]]),aj['vertex']['push'](ak['vertexPositions'][al[aD*0x3+0x1]]),aj['vertex']['push'](ak['vertexPositions'][al[aD*0x3+0x2]]),ak['skeleton']&&(aj[bU(0x1fc)]['push'](aq[aB*0x4]),aj[bU(0x1fc)][bU(0x1b7)](aq[aB*0x4+0x1]),aj['vertexWeights']['push'](aq[aB*0x4+0x2]),aj['vertexWeights']['push'](aq[aB*0x4+0x3]),aj['vertexWeights']['push'](aq[aC*0x4]),aj['vertexWeights']['push'](aq[aC*0x4+0x1]),aj['vertexWeights']['push'](aq[aC*0x4+0x2]),aj['vertexWeights']['push'](aq[aC*0x4+0x3]),aj['vertexWeights']['push'](aq[aD*0x4]),aj['vertexWeights']['push'](aq[aD*0x4+0x1]),aj['vertexWeights']['push'](aq[aD*0x4+0x2]),aj['vertexWeights']['push'](aq[aD*0x4+0x3]),aj[bU(0x1bf)]['push'](ar[aB*0x4]),aj['weightsIndices']['push'](ar[aB*0x4+0x1]),aj['weightsIndices']['push'](ar[aB*0x4+0x2]),aj['weightsIndices']['push'](ar[aB*0x4+0x3]),aj['weightsIndices']['push'](ar[aC*0x4]),aj['weightsIndices']['push'](ar[aC*0x4+0x1]),aj['weightsIndices'][bU(0x1b7)](ar[aC*0x4+0x2]),aj['weightsIndices']['push'](ar[aC*0x4+0x3]),aj['weightsIndices']['push'](ar[aD*0x4]),aj['weightsIndices']['push'](ar[aD*0x4+0x1]),aj[bU(0x1bf)]['push'](ar[aD*0x4+0x2]),aj['weightsIndices']['push'](ar[aD*0x4+0x3])),ak['color']&&(aj[bU(0x1f4)]['push'](ao[aB*0x3]),aj['colors']['push'](ao[aB*0x3+0x1]),aj[bU(0x1f4)][bU(0x1b7)](ao[aB*0x3+0x2]),aj['colors']['push'](ao[aC*0x3]),aj['colors']['push'](ao[aC*0x3+0x1]),aj['colors']['push'](ao[aC*0x3+0x2]),aj['colors']['push'](ao[aD*0x3]),aj['colors'][bU(0x1b7)](ao[aD*0x3+0x1]),aj['colors']['push'](ao[aD*0x3+0x2])),ak['material']&&ak[bU(0x203)]['mappingType']!==bU(0x191)&&(aj['materialIndex']['push'](am),aj['materialIndex']['push'](am),aj['materialIndex']['push'](am)),ak[bU(0x16c)]&&(aj['normal'][bU(0x1b7)](an[aB*0x3]),aj['normal']['push'](an[aB*0x3+0x1]),aj['normal']['push'](an[aB*0x3+0x2]),aj['normal'][bU(0x1b7)](an[aC*0x3]),aj['normal'][bU(0x1b7)](an[aC*0x3+0x1]),aj['normal']['push'](an[aC*0x3+0x2]),aj['normal']['push'](an[aD*0x3]),aj[bU(0x16c)]['push'](an[aD*0x3+0x1]),aj['normal']['push'](an[aD*0x3+0x2])),ak['uv']&&ak['uv']['forEach'](function(aE,aF){const bV=bU;aj['uvs'][aF]===void 0x0&&(aj[bV(0x237)][aF]=[]),aj['uvs'][aF]['push'](ap[aF][aB*0x2]),aj['uvs'][aF]['push'](ap[aF][aB*0x2+0x1]),aj['uvs'][aF]['push'](ap[aF][aC*0x2]),aj['uvs'][aF]['push'](ap[aF][aC*0x2+0x1]),aj['uvs'][aF]['push'](ap[aF][aD*0x2]),aj['uvs'][aF]['push'](ap[aF][aD*0x2+0x1]);});}['addMorphTargets'](aj,ak,al,am){const bW=b1;if(al['length']===0x0)return;aj['morphTargetsRelative']=!0x0,aj['morphAttributes']['position']=[];const an=am[bW(0x171)]()['setPosition'](0x0,0x0,0x0),ao=this;al['forEach'](function(ap){ap['rawTargets']['forEach'](function(aq){const ar=y['Objects']['Geometry'][aq['geoID']];ar!==void 0x0&&ao['genMorphGeometry'](aj,ak,ar,an,aq['name']);});});}['genMorphGeometry'](aj,ak,al,am,an){const bX=b1,ao=ak['Vertices']!==void 0x0?ak['Vertices']['a']:[],ap=ak['PolygonVertexIndex']!==void 0x0?ak['PolygonVertexIndex']['a']:[],aq=al['Vertices']!==void 0x0?al['Vertices']['a']:[],ar=al['Indexes']!==void 0x0?al['Indexes']['a']:[],as=aj[bX(0x1ae)]['position']['count']*0x3,at=new Float32Array(as);for(let ax=0x0;ax<ar['length'];ax++){const ay=ar[ax]*0x3;at[ay]=aq[ax*0x3],at[ay+0x1]=aq[ax*0x3+0x1],at[ay+0x2]=aq[ax*0x3+0x2];}const au={'vertexIndices':ap,'vertexPositions':at,'baseVertexPositions':ao},av=this['genBuffers'](au),aw=new a6(av['vertex'],0x3);aw['name']=an||al['attrName'],aw['applyMatrix4'](am),aj['morphAttributes']['position']['push'](aw);}['parseNormals'](aj){const bY=b1,ak=aj['MappingInformationType'],al=aj['ReferenceInformationType'],am=aj['Normals']['a'];let an=[];return al===bY(0x168)&&(bY(0x173)in aj?an=aj['NormalIndex']['a']:'NormalsIndex'in aj&&(an=aj['NormalsIndex']['a'])),{'dataSize':0x3,'buffer':am,'indices':an,'mappingType':ak,'referenceType':al};}['parseUVs'](aj){const bZ=b1,ak=aj['MappingInformationType'],al=aj['ReferenceInformationType'],am=aj['UV']['a'];let an=[];return al==='IndexToDirect'&&(an=aj[bZ(0x1aa)]['a']),{'dataSize':0x2,'buffer':am,'indices':an,'mappingType':ak,'referenceType':al};}['parseVertexColors'](aj){const c0=b1,ak=aj['MappingInformationType'],al=aj['ReferenceInformationType'],am=aj['Colors']['a'];let an=[];al==='IndexToDirect'&&(an=aj[c0(0x1af)]['a']);for(let ao=0x0,ap=new r();ao<am[c0(0x1bc)];ao+=0x4)ap['fromArray'](am,ao),p[c0(0x1d3)](ap,s),ap[c0(0x200)](am,ao);return{'dataSize':0x4,'buffer':am,'indices':an,'mappingType':ak,'referenceType':al};}['parseMaterialIndices'](aj){const c1=b1,ak=aj['MappingInformationType'],al=aj[c1(0x209)];if(ak==='NoMappingInformation')return{'dataSize':0x1,'buffer':[0x0],'indices':[0x0],'mappingType':'AllSame','referenceType':al};const am=aj['Materials']['a'],an=[];for(let ao=0x0;ao<am['length'];++ao)an['push'](ao);return{'dataSize':0x1,'buffer':am,'indices':an,'mappingType':ak,'referenceType':al};}[b1(0x15b)](aj){const c2=b1,ak=parseInt(aj['Order']);if(isNaN(ak))return console['error'](c2(0x1bb),aj['Order'],aj['id']),new a5();const al=ak-0x1,am=aj['KnotVector']['a'],an=[],ao=aj['Points']['a'];for(let as=0x0,at=ao['length'];as<at;as+=0x4)an['push'](new d()['fromArray'](ao,as));let ap,aq;if(aj['Form']===c2(0x159))an['push'](an[0x0]);else{if(aj['Form']==='Periodic'){ap=al,aq=am[c2(0x1bc)]-0x1-ap;for(let au=0x0;au<al;++au)an[c2(0x1b7)](an[au]);}}const ar=new je(al,am,an,ap,aq)['getPoints'](an['length']*0xc);return new a5()['setFromPoints'](ar);}}class Ke{['parse'](){const c3=b1,aj=[],ak=this[c3(0x1ba)]();if(ak!==void 0x0)for(const al in ak){const am=ak[al],an=this['addClip'](am);aj[c3(0x1b7)](an);}return aj;}['parseClips'](){const c4=b1;if(y['Objects']['AnimationCurve']===void 0x0)return;const aj=this['parseAnimationCurveNodes']();this['parseAnimationCurves'](aj);const ak=this['parseAnimationLayers'](aj);return this[c4(0x1f3)](ak);}['parseAnimationCurveNodes'](){const c5=b1,aj=y['Objects']['AnimationCurveNode'],ak=new Map();for(const al in aj){const am=aj[al];if(am[c5(0x1a4)]['match'](/S|R|T|DeformPercent/)!==null){const an={'id':am['id'],'attr':am['attrName'],'curves':{}};ak['set'](an['id'],an);}}return ak;}['parseAnimationCurves'](aj){const c6=b1,ak=y['Objects']['AnimationCurve'];for(const al in ak){const am={'id':ak[al]['id'],'times':ak[al]['KeyTime']['a']['map'](qe),'values':ak[al]['KeyValueFloat']['a']},an=x['get'](am['id']);if(an!==void 0x0){const ao=an['parents'][0x0]['ID'],ap=an['parents'][0x0]['relationship'];ap['match'](/X/)?aj['get'](ao)['curves']['x']=am:ap['match'](/Y/)?aj[c6(0x1d0)](ao)['curves']['y']=am:ap['match'](/Z/)?aj['get'](ao)['curves']['z']=am:ap['match'](/DeformPercent/)&&aj['has'](ao)&&(aj['get'](ao)['curves']['morph']=am);}}}['parseAnimationLayers'](aj){const c7=b1,ak=y['Objects']['AnimationLayer'],al=new Map();for(const am in ak){const an=[],ao=x['get'](parseInt(am));ao!==void 0x0&&(ao[c7(0x1f0)]['forEach'](function(ap,aq){const c8=c7;if(aj['has'](ap['ID'])){const ar=aj['get'](ap['ID']);if(ar['curves']['x']!==void 0x0||ar['curves']['y']!==void 0x0||ar['curves']['z']!==void 0x0){if(an[aq]===void 0x0){const as=x['get'](ap['ID'])['parents']['filter'](function(au){return au['relationship']!==void 0x0;});if(as['length']===0x0)return;const at=as[0x0]['ID'];if(at!==void 0x0){const au=y['Objects']['Model'][at['toString']()];if(au===void 0x0){console['warn'](c8(0x18d),ap);return;}const av={'modelName':au['attrName']?A['sanitizeNodeName'](au['attrName']):'','ID':au['id'],'initialPosition':[0x0,0x0,0x0],'initialRotation':[0x0,0x0,0x0],'initialScale':[0x1,0x1,0x1]};P[c8(0x17e)](function(aw){const c9=c8;aw['ID']===au['id']&&(av['transform']=aw['matrix'],aw['userData']['transformData']&&(av[c9(0x235)]=aw[c9(0x208)]['transformData'][c9(0x235)],aw['userData'][c9(0x1ea)]['rotation']&&(av['initialRotation']=aw[c9(0x208)]['transformData']['rotation'])));}),av['transform']||(av['transform']=new u()),'PreRotation'in au&&(av['preRotation']=au[c8(0x1b6)]['value']),'PostRotation'in au&&(av['postRotation']=au[c8(0x22a)]['value']),an[aq]=av;}}an[aq]&&(an[aq][ar[c8(0x210)]]=ar);}else{if(ar['curves']['morph']!==void 0x0){if(an[aq]===void 0x0){const aw=x['get'](ap['ID'])[c8(0x177)][c8(0x1df)](function(aD){return aD['relationship']!==void 0x0;});if(aw['length']===0x0)return;const ax=aw[0x0]['ID'],ay=x['get'](ax)[c8(0x177)][0x0]['ID'],az=x['get'](ay)['parents'][0x0]['ID'],aA=x[c8(0x1d0)](az)['parents'][0x0]['ID'],aB=y['Objects'][c8(0x23d)][aA],aC={'modelName':aB['attrName']?A['sanitizeNodeName'](aB['attrName']):'','morphName':y['Objects']['Deformer'][ax][c8(0x1a4)]};an[aq]=aC;}an[aq][ar['attr']]=ar;}}}}),al['set'](parseInt(am),an));}return al;}['parseAnimStacks'](aj){const ak=y['Objects']['AnimationStack'],al={};for(const am in ak){const an=x['get'](parseInt(am))['children'];an['length']>0x1&&console['warn']('THREE.FBXLoader:\x20Encountered\x20an\x20animation\x20stack\x20with\x20multiple\x20layers,\x20this\x20is\x20currently\x20not\x20supported.\x20Ignoring\x20subsequent\x20layers.');const ao=aj['get'](an[0x0]['ID']);al[am]={'name':ak[am]['attrName'],'layer':ao};}return al;}['addClip'](aj){let ak=[];const al=this;return aj['layer']['forEach'](function(am){ak=ak['concat'](al['generateTracks'](am));}),new ab(aj['name'],-0x1,ak);}[b1(0x212)](aj){const ca=b1,ak=[];let al=new e(),am=new e();if(aj['transform']&&aj['transform']['decompose'](al,new ac(),am),al=al['toArray'](),am=am['toArray'](),aj['T']!==void 0x0&&Object['keys'](aj['T']['curves'])['length']>0x0){const an=this[ca(0x1cf)](aj['modelName'],aj['T']['curves'],al,ca(0x17c));an!==void 0x0&&ak[ca(0x1b7)](an);}if(aj['R']!==void 0x0&&Object['keys'](aj['R']['curves'])['length']>0x0){const ao=this['generateRotationTrack'](aj['modelName'],aj['R']['curves'],aj['preRotation'],aj[ca(0x21f)],aj['eulerOrder'],aj['initialRotation']);ao!==void 0x0&&ak[ca(0x1b7)](ao);}if(aj['S']!==void 0x0&&Object[ca(0x1e5)](aj['S']['curves'])[ca(0x1bc)]>0x0){const ap=this['generateVectorTrack'](aj['modelName'],aj['S'][ca(0x192)],am,'scale');ap!==void 0x0&&ak[ca(0x1b7)](ap);}if(aj['DeformPercent']!==void 0x0){const aq=this[ca(0x16a)](aj);aq!==void 0x0&&ak[ca(0x1b7)](aq);}return ak;}['generateVectorTrack'](aj,ak,al,am){const an=this['getTimesForAllAxes'](ak),ao=this['getKeyframeTrackValues'](an,ak,al);return new ad(aj+'.'+am,an,ao);}['generateRotationTrack'](aj,ak,al,am,an,ao){const cb=b1;let ap,aq;if(ak['x']!==void 0x0||ak['y']!==void 0x0||ak['z']!==void 0x0){const av=this[cb(0x18a)](ak);if(av['length']>0x0){const aw=ao||[0x0,0x0,0x0],ax=this['synchronizeCurve'](ak['x'],av,aw[0x0]),ay=this['synchronizeCurve'](ak['y'],av,aw[0x1]),az=this['synchronizeCurve'](ak['z'],av,aw[0x2]),aA=this['interpolateRotations'](ax,ay,az,an);ap=aA[0x0],aq=aA[0x1];}}const ar=z(0x0);al!==void 0x0&&(al=al['map'](L['degToRad']),al['push'](ar),al=new af()['fromArray'](al),al=new ac()['setFromEuler'](al)),am!==void 0x0&&(am=am['map'](L['degToRad']),am['push'](ar),am=new af()['fromArray'](am),am=new ac()['setFromEuler'](am)[cb(0x222)]());const as=new ac(),at=new af(),au=[];if(!(!aq||!ap)){for(let aB=0x0;aB<aq['length'];aB+=0x3)at[cb(0x172)](aq[aB],aq[aB+0x1],aq[aB+0x2],an),as[cb(0x1cd)](at),al!==void 0x0&&as['premultiply'](al),am!==void 0x0&&as['multiply'](am),aB>0x2&&new ac()[cb(0x239)](au,(aB-0x3)/0x3*0x4)[cb(0x232)](as)<0x0&&as['set'](-as['x'],-as['y'],-as['z'],-as['w']),as[cb(0x200)](au,aB/0x3*0x4);return new ag(aj+'.quaternion',ap,au);}}['generateMorphTrack'](aj){const cc=b1,ak=aj['DeformPercent']['curves']['morph'],al=ak['values'][cc(0x205)](function(an){return an/0x64;}),am=P['getObjectByName'](aj['modelName'])['morphTargetDictionary'][aj['morphName']];return new ah(aj['modelName']+'.morphTargetInfluences['+am+']',ak['times'],al);}[b1(0x18a)](aj){const cd=b1;let ak=[];if(aj['x']!==void 0x0&&(ak=ak['concat'](aj['x'][cd(0x20d)])),aj['y']!==void 0x0&&(ak=ak['concat'](aj['y']['times'])),aj['z']!==void 0x0&&(ak=ak['concat'](aj['z'][cd(0x20d)])),ak=ak[cd(0x1d4)](function(al,am){return al-am;}),ak['length']>0x1){let al=0x1,am=ak[0x0];for(let an=0x1;an<ak['length'];an++){const ao=ak[an];ao!==am&&(ak[al]=ao,am=ao,al++);}ak=ak['slice'](0x0,al);}return ak;}['getKeyframeTrackValues'](aj,ak,al){const am=al,an=[];let ao=-0x1,ap=-0x1,aq=-0x1;return aj['forEach'](function(ar){const ce=c;if(ak['x']&&(ao=ak['x']['times']['indexOf'](ar)),ak['y']&&(ap=ak['y']['times']['indexOf'](ar)),ak['z']&&(aq=ak['z']['times']['indexOf'](ar)),ao!==-0x1){const as=ak['x']['values'][ao];an['push'](as),am[0x0]=as;}else an['push'](am[0x0]);if(ap!==-0x1){const at=ak['y'][ce(0x157)][ap];an['push'](at),am[0x1]=at;}else an['push'](am[0x1]);if(aq!==-0x1){const au=ak['z']['values'][aq];an['push'](au),am[0x2]=au;}else an[ce(0x1b7)](am[0x2]);}),an;}['synchronizeCurve'](aj,ak,al){const cf=b1;if(aj===void 0x0)return{'times':ak,'values':ak[cf(0x205)](()=>al)};if(aj['times']['length']===ak['length'])return aj;const am=[];for(let an=0x0;an<ak['length'];an++)am['push'](this['sampleCurveValue'](aj,ak[an],al));return{'times':ak,'values':am};}['sampleCurveValue'](aj,ak,al){const cg=b1,am=aj['times'],an=aj['values'];if(ak<=am[0x0])return an[0x0];if(ak>=am[am['length']-0x1])return an[an['length']-0x1];for(let ao=0x0;ao<am[cg(0x1bc)]-0x1;ao++)if(ak>=am[ao]&&ak<=am[ao+0x1]){if(am[ao]===ak)return an[ao];const ap=(ak-am[ao])/(am[ao+0x1]-am[ao]);return an[ao]*(0x1-ap)+an[ao+0x1]*ap;}return al;}[b1(0x15d)](aj,ak,al,am){const ch=b1,an=[],ao=[];an['push'](aj[ch(0x20d)][0x0]),ao['push'](L['degToRad'](aj['values'][0x0])),ao[ch(0x1b7)](L['degToRad'](ak[ch(0x157)][0x0])),ao['push'](L['degToRad'](al['values'][0x0]));for(let ap=0x1;ap<aj[ch(0x157)]['length'];ap++){const aq=[aj['values'][ap-0x1],ak['values'][ap-0x1],al[ch(0x157)][ap-0x1]];if(isNaN(aq[0x0])||isNaN(aq[0x1])||isNaN(aq[0x2]))continue;const ar=aq['map'](L['degToRad']),as=[aj['values'][ap],ak['values'][ap],al[ch(0x157)][ap]];if(isNaN(as[0x0])||isNaN(as[0x1])||isNaN(as[0x2]))continue;const at=as[ch(0x205)](L['degToRad']),au=[as[0x0]-aq[0x0],as[0x1]-aq[0x1],as[0x2]-aq[0x2]],av=[Math['abs'](au[0x0]),Math[ch(0x22c)](au[0x1]),Math['abs'](au[0x2])];if(av[0x0]>=0xb4||av[0x1]>=0xb4||av[0x2]>=0xb4){const aw=Math['max'](...av)/0xb4,ax=new af(...ar,am),ay=new af(...at,am),az=new ac()['setFromEuler'](ax),aA=new ac()['setFromEuler'](ay);az['dot'](aA)<0x0&&aA['set'](-aA['x'],-aA['y'],-aA['z'],-aA['w']);const aB=aj['times'][ap-0x1],aC=aj['times'][ap]-aB,aD=new ac(),aE=new af();for(let aF=0x0;aF<0x1;aF+=0x1/aw)aD['copy'](az['clone']()['slerp'](aA['clone'](),aF)),an[ch(0x1b7)](aB+aF*aC),aE['setFromQuaternion'](aD,am),ao[ch(0x1b7)](aE['x']),ao['push'](aE['y']),ao['push'](aE['z']);}else an['push'](aj['times'][ap]),ao['push'](L[ch(0x20f)](aj['values'][ap])),ao['push'](L[ch(0x20f)](ak['values'][ap])),ao['push'](L['degToRad'](al[ch(0x157)][ap]));}return[an,ao];}}class We{['getPrevNode'](){return this['nodeStack'][this['currentIndent']-0x2];}['getCurrentNode'](){const ci=b1;return this['nodeStack'][this[ci(0x19e)]-0x1];}['getCurrentProp'](){const cj=b1;return this[cj(0x158)];}['pushStack'](aj){this['nodeStack']['push'](aj),this['currentIndent']+=0x1;}['popStack'](){const ck=b1;this[ck(0x1d9)][ck(0x179)](),this['currentIndent']-=0x1;}['setCurrentProp'](aj,ak){const cl=b1;this['currentProp']=aj,this[cl(0x186)]=ak;}['parse'](aj){const cm=b1;this[cm(0x19e)]=0x0,this['allNodes']=new ae(),this[cm(0x1d9)]=[],this['currentProp']=[],this['currentPropName']='';const ak=this,al=aj['split'](/[\r\n]+/);return al['forEach'](function(am,an){const cn=cm,ao=am[cn(0x1de)](/^[\s\t]*;/),ap=am['match'](/^[\s\t]*$/);if(ao||ap)return;const aq=am[cn(0x1de)]('^\x5ct{'+ak['currentIndent']+'}(\x5cw+):(.*){',''),ar=am['match']('^\x5ct{'+ak['currentIndent']+'}(\x5cw+):[\x5cs\x5ct\x5cr\x5cn](.*)'),as=am['match']('^\x5ct{'+(ak['currentIndent']-0x1)+'}}');aq?ak['parseNodeBegin'](am,aq):ar?ak['parseNodeProperty'](am,ar,al[++an]):as?ak['popStack']():am[cn(0x1de)](/^[^\s\t}]/)&&ak[cn(0x174)](am);}),this['allNodes'];}[b1(0x219)](aj,ak){const co=b1,al=ak[0x1]['trim']()[co(0x166)](/^"/,'')[co(0x166)](/"$/,''),am=ak[0x2]['split'](',')[co(0x205)](function(aq){return aq['trim']()['replace'](/^"/,'')['replace'](/"$/,'');}),an={'name':al},ao=this['parseNodeAttr'](am),ap=this['getCurrentNode']();this[co(0x19e)]===0x0?this['allNodes'][co(0x1b0)](al,an):al in ap?(al==='PoseNode'?ap[co(0x1ab)]['push'](an):ap[al]['id']!==void 0x0&&(ap[al]={},ap[al][ap[al]['id']]=ap[al]),ao['id']!==''&&(ap[al][ao['id']]=an)):typeof ao['id']=='number'?(ap[al]={},ap[al][ao['id']]=an):al!==co(0x21c)&&(al===co(0x1ab)?ap[al]=[an]:ap[al]=an),typeof ao['id']=='number'&&(an['id']=ao['id']),ao['name']!==''&&(an[co(0x1a4)]=ao['name']),ao['type']!==''&&(an['attrType']=ao['type']),this['pushStack'](an);}['parseNodeAttr'](aj){let ak=aj[0x0];aj[0x0]!==''&&(ak=parseInt(aj[0x0]),isNaN(ak)&&(ak=aj[0x0]));let al='',am='';return aj['length']>0x1&&(al=aj[0x1]['replace'](/^(\w+)::/,''),am=aj[0x2]),{'id':ak,'name':al,'type':am};}[b1(0x193)](aj,ak,al){const cp=b1;let am=ak[0x1]['replace'](/^"/,'')['replace'](/"$/,'')['trim'](),an=ak[0x2]['replace'](/^"/,'')['replace'](/"$/,'')['trim']();am==='Content'&&an===','&&(an=al[cp(0x166)](/"/g,'')['replace'](/,$/,'')[cp(0x18b)]());const ao=this['getCurrentNode']();if(ao['name']===cp(0x21c)){this['parseNodeSpecialProperty'](aj,am,an);return;}if(am==='C'){const ap=an['split'](',')[cp(0x1c6)](0x1),aq=parseInt(ap[0x0]),ar=parseInt(ap[0x1]);let as=an['split'](',')['slice'](0x3);as=as['map'](function(at){const cq=cp;return at[cq(0x18b)]()['replace'](/^"/,'');}),am=cp(0x184),an=[aq,ar],$e(an,as),ao[am]===void 0x0&&(ao[am]=[]);}am==='Node'&&(ao['id']=an),am in ao&&Array['isArray'](ao[am])?ao[am]['push'](an):am!=='a'?ao[am]=an:ao['a']=an,this['setCurrentProp'](ao,am),am==='a'&&an['slice'](-0x1)!==','&&(ao['a']=q(an));}['parseNodePropertyContinued'](aj){const ak=this['getCurrentNode']();ak['a']+=aj,aj['slice'](-0x1)!==','&&(ak['a']=q(ak['a']));}['parseNodeSpecialProperty'](aj,ak,al){const cr=b1,am=al[cr(0x155)]('\x22,')[cr(0x205)](function(as){const cs=cr;return as[cs(0x18b)]()[cs(0x166)](/^\"/,'')[cs(0x166)](/\s/,'_');}),an=am[0x0],ao=am[0x1],ap=am[0x2],aq=am[0x3];let ar=am[0x4];switch(ao){case'int':case'enum':case'bool':case cr(0x226):case'double':case'Number':case cr(0x18f):ar=parseFloat(ar);break;case'Color':case'ColorRGB':case'Vector3D':case'Lcl_Translation':case cr(0x23a):case'Lcl_Scaling':ar=q(ar);break;}this['getPrevNode']()[an]={'type':ao,'type2':ap,'flag':aq,'value':ar},this[cr(0x1d8)](this['getPrevNode'](),an);}}class Ne{['parse'](aj){const ct=b1,ak=new re(aj);ak['skip'](0x17);const al=ak['getUint32']();if(al<0x1900)throw new Error('THREE.FBXLoader:\x20FBX\x20version\x20not\x20supported,\x20FileVersion:\x20'+al);const am=new ae();for(;!this[ct(0x19f)](ak);){const an=this['parseNode'](ak,al);an!==null&&am['add'](an['name'],an);}return am;}[b1(0x19f)](aj){const cu=b1;return aj['size']()%0x10===0x0?(aj['getOffset']()+0xa0+0x10&-0x10)>=aj[cu(0x20c)]():aj['getOffset']()+0xa0+0x10>=aj['size']();}['parseNode'](aj,ak){const cv=b1,al={},am=ak>=0x1d4c?aj['getUint64']():aj['getUint32'](),an=ak>=0x1d4c?aj[cv(0x1da)]():aj['getUint32']();ak>=0x1d4c?aj[cv(0x1da)]():aj['getUint32']();const ao=aj['getUint8'](),ap=aj['getString'](ao);if(am===0x0)return null;const aq=[];for(let au=0x0;au<an;au++)aq[cv(0x1b7)](this['parseProperty'](aj));const ar=aq['length']>0x0?aq[0x0]:'',as=aq['length']>0x1?aq[0x1]:'',at=aq['length']>0x2?aq[0x2]:'';for(al['singleProperty']=an===0x1&&aj['getOffset']()===am;am>aj['getOffset']();){const av=this['parseNode'](aj,ak);av!==null&&this['parseSubNode'](ap,al,av);}return al['propertyList']=aq,typeof ar=='number'&&(al['id']=ar),as!==''&&(al['attrName']=as),at!==''&&(al['attrType']=at),ap!==''&&(al['name']=ap),al;}['parseSubNode'](aj,ak,al){const cw=b1;if(al[cw(0x1ff)]===!0x0){const am=al['propertyList'][0x0];Array['isArray'](am)?(ak[al['name']]=al,al['a']=am):ak[al['name']]=am;}else{if(aj==='Connections'&&al['name']==='C'){const an=[];al['propertyList']['forEach'](function(ao,ap){const cx=cw;ap!==0x0&&an[cx(0x1b7)](ao);}),ak['connections']===void 0x0&&(ak['connections']=[]),ak[cw(0x184)]['push'](an);}else{if(al[cw(0x190)]===cw(0x21c))Object['keys'](al)['forEach'](function(ao){ak[ao]=al[ao];});else{if(aj==='Properties70'&&al['name']==='P'){let ao=al[cw(0x218)][0x0],ap=al[cw(0x218)][0x1];const aq=al['propertyList'][0x2],ar=al['propertyList'][0x3];let as;ao['indexOf']('Lcl\x20')===0x0&&(ao=ao['replace']('Lcl\x20','Lcl_')),ap['indexOf']('Lcl\x20')===0x0&&(ap=ap['replace']('Lcl\x20','Lcl_')),ap==='Color'||ap==='ColorRGB'||ap==='Vector'||ap==='Vector3D'||ap[cw(0x181)]('Lcl_')===0x0?as=[al['propertyList'][0x4],al['propertyList'][0x5],al[cw(0x218)][0x6]]:as=al['propertyList'][0x4],ak[ao]={'type':ap,'type2':aq,'flag':ar,'value':as};}else ak[al['name']]===void 0x0?typeof al['id']=='number'?(ak[al['name']]={},ak[al['name']][al['id']]=al):ak[al['name']]=al:al['name']==='PoseNode'?(Array['isArray'](ak[al[cw(0x190)]])||(ak[al[cw(0x190)]]=[ak[al[cw(0x190)]]]),ak[al['name']][cw(0x1b7)](al)):ak[al['name']][al['id']]===void 0x0&&(ak[al['name']][al['id']]=al);}}}}['parseProperty'](aj){const cy=b1,ak=aj['getString'](0x1);let al;switch(ak){case'C':return aj[cy(0x229)]();case'D':return aj['getFloat64']();case'F':return aj['getFloat32']();case'I':return aj['getInt32']();case'L':return aj[cy(0x1d7)]();case'R':return al=aj['getUint32'](),aj['getArrayBuffer'](al);case'S':return al=aj['getUint32'](),aj['getString'](al);case'Y':return aj['getInt16']();case'b':case'c':case'd':case'f':case'i':case'l':const am=aj['getUint32'](),an=aj['getUint32'](),ao=aj['getUint32']();if(an===0x0)switch(ak){case'b':case'c':return aj['getBooleanArray'](am);case'd':return aj['getFloat64Array'](am);case'f':return aj['getFloat32Array'](am);case'i':return aj['getInt32Array'](am);case'l':return aj[cy(0x20e)](am);}const ap=ai(new Uint8Array(aj[cy(0x22e)](ao))),aq=new re(ap['buffer']);switch(ak){case'b':case'c':return aq['getBooleanArray'](am);case'd':return aq['getFloat64Array'](am);case'f':return aq[cy(0x1e0)](am);case'i':return aq['getInt32Array'](am);case'l':return aq['getInt64Array'](am);}break;default:throw new Error(cy(0x1f2)+ak);}}}class re{constructor(aj,ak){const cz=b1;this['dv']=new DataView(aj),this[cz(0x16d)]=0x0,this['littleEndian']=ak!==void 0x0?ak:!0x0,this[cz(0x1b9)]=new TextDecoder();}['getOffset'](){return this['offset'];}['size'](){const cA=b1;return this['dv'][cA(0x20a)]['byteLength'];}['skip'](aj){this['offset']+=aj;}[b1(0x229)](){return(this['getUint8']()&0x1)===0x1;}['getBooleanArray'](aj){const cB=b1,ak=[];for(let al=0x0;al<aj;al++)ak['push'](this[cB(0x229)]());return ak;}[b1(0x1c1)](){const cC=b1,aj=this['dv'][cC(0x1c1)](this['offset']);return this['offset']+=0x1,aj;}['getInt16'](){const aj=this['dv']['getInt16'](this['offset'],this['littleEndian']);return this['offset']+=0x2,aj;}['getInt32'](){const cD=b1,aj=this['dv'][cD(0x201)](this['offset'],this[cD(0x1ac)]);return this['offset']+=0x4,aj;}['getInt32Array'](aj){const ak=[];for(let al=0x0;al<aj;al++)ak['push'](this['getInt32']());return ak;}[b1(0x1db)](){const cE=b1,aj=this['dv'][cE(0x1db)](this['offset'],this['littleEndian']);return this['offset']+=0x4,aj;}['getInt64'](){const cF=b1;let aj,ak;return this['littleEndian']?(aj=this['getUint32'](),ak=this['getUint32']()):(ak=this['getUint32'](),aj=this[cF(0x1db)]()),ak&0x80000000?(ak=~ak&0xffffffff,aj=~aj&0xffffffff,aj===0xffffffff&&(ak=ak+0x1&0xffffffff),aj=aj+0x1&0xffffffff,-(ak*0x100000000+aj)):ak*0x100000000+aj;}['getInt64Array'](aj){const ak=[];for(let al=0x0;al<aj;al++)ak['push'](this['getInt64']());return ak;}['getUint64'](){const cG=b1;let aj,ak;return this[cG(0x1ac)]?(aj=this['getUint32'](),ak=this['getUint32']()):(ak=this['getUint32'](),aj=this['getUint32']()),ak*0x100000000+aj;}[b1(0x1dd)](){const cH=b1,aj=this['dv']['getFloat32'](this['offset'],this['littleEndian']);return this[cH(0x16d)]+=0x4,aj;}['getFloat32Array'](aj){const ak=[];for(let al=0x0;al<aj;al++)ak['push'](this['getFloat32']());return ak;}[b1(0x1ce)](){const cI=b1,aj=this['dv'][cI(0x1ce)](this['offset'],this['littleEndian']);return this['offset']+=0x8,aj;}['getFloat64Array'](aj){const cJ=b1,ak=[];for(let al=0x0;al<aj;al++)ak[cJ(0x1b7)](this['getFloat64']());return ak;}[b1(0x22e)](aj){const ak=this['dv']['buffer']['slice'](this['offset'],this['offset']+aj);return this['offset']+=aj,ak;}['getString'](aj){const ak=this['offset'];let al=new Uint8Array(this['dv']['buffer'],ak,aj);this['skip'](aj);const am=al['indexOf'](0x0);return am>=0x0&&(al=new Uint8Array(this['dv']['buffer'],ak,am)),this['_textDecoder']['decode'](al);}}class ae{['add'](aj,ak){this[aj]=ak;}}function Ye(aj){const cK=b1,ak='Kaydara\x20FBX\x20Binary\x20\x20\x00';return aj['byteLength']>=ak[cK(0x1bc)]&&ak===le(aj,0x0,ak['length']);}function Ze(aj){const ak=['K','a','y','d','a','r','a','\x5c','F','B','X','\x5c','B','i','n','a','r','y','\x5c','\x5c'];let al=0x0;function am(an){const ao=aj[an-0x1];return aj=aj['slice'](al+an),al++,ao;}for(let an=0x0;an<ak['length'];++an)if(am(0x1)===ak[an])return!0x1;return!0x0;}function se(aj){const ak=/FBXVersion: (\d+)/,al=aj['match'](ak);if(al)return parseInt(al[0x1]);throw new Error('THREE.FBXLoader:\x20Cannot\x20find\x20the\x20version\x20number\x20for\x20the\x20file\x20given.');}function qe(aj){return aj/0xac0e8d7b0;}const Qe=[];function K(aj,ak,al,am){const cL=b1;let an;switch(am['mappingType']){case'ByPolygonVertex':an=aj;break;case'ByPolygon':an=ak;break;case'ByVertice':an=al;break;case'AllSame':an=am['indices'][0x0];break;default:console['warn']('THREE.FBXLoader:\x20unknown\x20attribute\x20mapping\x20type\x20'+am['mappingType']);}am[cL(0x1f5)]==='IndexToDirect'&&(an=am[cL(0x230)][an]);const ao=an*am[cL(0x18c)],ap=ao+am['dataSize'];return Je(Qe,am['buffer'],ao,ap);}const Z=new af(),U=new e();function oe(aj){const cM=b1,ak=new u(),al=new u(),am=new u(),an=new u(),ao=new u(),ap=new u(),aq=new u(),ar=new u(),as=new u(),at=new u(),au=new u(),av=new u(),aw=aj['inheritType']?aj['inheritType']:0x0;aj['translation']&&ak['setPosition'](U['fromArray'](aj[cM(0x206)]));const ax=z(0x0);if(aj['preRotation']){const aK=aj[cM(0x1b8)]['map'](L['degToRad']);aK['push'](ax),al['makeRotationFromEuler'](Z[cM(0x239)](aK));}if(aj['rotation']){const aL=aj['rotation']['map'](L[cM(0x20f)]);aL['push'](aj['eulerOrder']||ax),am['makeRotationFromEuler'](Z[cM(0x239)](aL));}if(aj['postRotation']){const aM=aj[cM(0x21f)]['map'](L['degToRad']);aM['push'](ax),an['makeRotationFromEuler'](Z['fromArray'](aM)),an[cM(0x222)]();}aj[cM(0x1d6)]&&ao['scale'](U['fromArray'](aj['scale'])),aj['scalingOffset']&&aq[cM(0x23c)](U['fromArray'](aj['scalingOffset'])),aj['scalingPivot']&&ap['setPosition'](U[cM(0x239)](aj['scalingPivot'])),aj['rotationOffset']&&ar['setPosition'](U[cM(0x239)](aj['rotationOffset'])),aj['rotationPivot']&&as[cM(0x23c)](U[cM(0x239)](aj['rotationPivot'])),aj[cM(0x17b)]&&(au[cM(0x163)](aj['parentMatrix']),at['copy'](aj['parentMatrixWorld']));const ay=al['clone']()['multiply'](am)['multiply'](an),az=new u();az['extractRotation'](at);const aA=new u();aA['copyPosition'](at);const aB=aA['clone']()['invert']()['multiply'](at),aC=az['clone']()['invert']()['multiply'](aB),aD=ao,aE=new u();if(aw===0x0)aE[cM(0x163)](az)['multiply'](ay)['multiply'](aC)['multiply'](aD);else{if(aw===0x1)aE['copy'](az)['multiply'](aC)['multiply'](ay)[cM(0x1e4)](aD);else{const aN=new u()['scale'](new e()['setFromMatrixScale'](au))['clone']()['invert'](),aO=aC['clone']()['multiply'](aN);aE['copy'](az)['multiply'](ay)['multiply'](aO)['multiply'](aD);}}const aF=as['clone']()['invert'](),aG=ap['clone']()['invert']();let aH=ak['clone']()[cM(0x1e4)](ar)['multiply'](as)['multiply'](al)[cM(0x1e4)](am)['multiply'](an)['multiply'](aF)['multiply'](aq)['multiply'](ap)[cM(0x1e4)](ao)['multiply'](aG);const aI=new u()['copyPosition'](aH),aJ=at[cM(0x171)]()['multiply'](aI);return av['copyPosition'](aJ),aH=av[cM(0x171)]()['multiply'](aE),aH[cM(0x204)](at[cM(0x222)]()),aH;}function z(aj){const cN=b1;aj=aj||0x0;const ak=['ZYX','YZX','XZY','ZXY','YXZ',cN(0x1c2)];return aj===0x6?(console['warn']('THREE.FBXLoader:\x20unsupported\x20Euler\x20Order:\x20Spherical\x20XYZ.\x20Animations\x20and\x20rotations\x20may\x20be\x20incorrect.'),ak[0x0]):ak[aj];}function q(aj){return aj['split'](',')['map'](function(ak){return parseFloat(ak);});}function le(aj,ak,al){return ak===void 0x0&&(ak=0x0),al===void 0x0&&(al=aj['byteLength']),new TextDecoder()['decode'](new Uint8Array(aj,ak,al));}function $e(aj,ak){for(let al=0x0,am=aj['length'],an=ak['length'];al<an;al++,am++)aj[am]=ak[al];}function Je(aj,ak,al,am){for(let an=al,ao=0x0;an<am;an++,ao++)aj[ao]=ak[an];return aj;}export{st as FBXLoader};function a(){const cO=['parseNodePropertyContinued','setPath','crossOrigin','parents','emissive','pop','2sfUNiX','parentMatrixWorld','position','LayerElementUV','traverse','LayerElementNormal','InheritType','indexOf','3940RLPHIF','error','connections','DisplacementFactor','currentPropName','image/bmp','517cXJLWj','jpg','getTimesForAllAxes','trim','dataSize','THREE.FBXLoader:\x20Encountered\x20a\x20unused\x20curve.','InnerAngle','FieldOfView','name','AllSame','curves','parseNodeProperty','parseMaterials','DEFAULT_MATERIAL_NAME','materialIndex','transformLink','target','19971ecciVE','NbPoseNodes','webp','2456PcPcTs','BlendShape','currentIndent','endOfContent','818948mubTVr','ScalingPivot','NodeAttribute','negativeMaterialIndices','attrName','parent','getTexture','transparent','genGeometry','parseMorphTargets','UVIndex','PoseNode','littleEndian','Mesh','attributes','ColorIndex','add','setAttribute','parseMeshGeometry','OuterAngle','applyMatrix4','mappingType','PreRotation','push','preRotation','_textDecoder','parseClips','THREE.FBXLoader:\x20Invalid\x20Order\x20%s\x20given\x20for\x20geometry\x20ID:\x20%s','length','ScalingOffset','NearPlane','weightsIndices','Material','getUint8','XYZ','RotationOrder','start','parseTexture','slice','byteLength','has','parseImage','unitScaleFactor','Content','URL','setFromEuler','getFloat64','generateVectorTrack','get','9230eUOPrk','FBXLoader:\x20Undefined\x20filename,\x20creating\x20placeholder\x20texture.','colorSpaceToWorking','sort','664620VNyBgN','scale','getInt64','setCurrentProp','nodeStack','getUint64','getUint32','LayerElementColor','getFloat32','match','filter','getFloat32Array','morphTargets','Objects','RelativeFilename','multiply','keys','bindSkeleton','geoID','3624FNWFWg','rawBones','transformData','startKnot','Pose','bind','knots','manager','children','vertex','THREE.FBXLoader:\x20Unknown\x20property\x20type\x20','parseAnimStacks','colors','referenceType','warn','arraybuffer','Shininess','innerWidth','Node','FileName','vertexWeights','count','FocalLength','singleProperty','toArray','getInt32','controlPoints','material','premultiply','map','translation','specularMap','userData','ReferenceInformationType','buffer','Weights','size','times','getInt64Array','degToRad','attr','Lcl_Scaling','generateTracks','THREE.FBXLoader:\x20You\x20are\x20loading\x20an\x20asset\x20with\x20a\x20Z-UP\x20coordinate\x20system.\x20The\x20loader\x20just\x20rotates\x20the\x20asset\x20to\x20transform\x20it\x20into\x20Y-UP.\x20The\x20vertex\x20data\x20are\x20not\x20converted.','Filename','color','parseGeoNode','max','propertyList','parseNodeBegin','skeleton','repeat','Properties70','colorSpace','vertexPositions','postRotation','rotation','CameraProjectionType','invert','envMap','addGroup','844263ciBZHl','ULongLong','AmbientColor','parseMaterial','getBoolean','PostRotation','itemError','abs','load','getArrayBuffer','addMorphTargets','indices','weightTable','dot','parsePoseNodes','FBXLoader:\x20TGA\x20loader\x20not\x20found,\x20skipping\x20','eulerOrder','4313576ZCsmHU','uvs','genFace','fromArray','Lcl_Rotation','bones','setPosition','Model','skeletons','split','createMesh','values','currentProp','Closed','attrType','parseNurbsGeometry','Texture','interpolateRotations','type','PolygonVertexIndex','Vertices','FarAttenuationEnd','UpAxis','copy','weights','Null','replace','3367kznaoq','IndexToDirect','value','generateMorphTrack','forEach','normal','offset','parse','parseParameters','divideScalar','clone','set','NormalIndex'];a=function(){return cO;};return a();}
|
|
1
|
+
const b2=c;(function(aj,ak){const aT=c,al=aj();while(!![]){try{const am=parseInt(aT(0x1a0))/0x1*(-parseInt(aT(0x17e))/0x2)+parseInt(aT(0x159))/0x3*(parseInt(aT(0x1b5))/0x4)+-parseInt(aT(0x1ae))/0x5*(-parseInt(aT(0x135))/0x6)+-parseInt(aT(0x1de))/0x7+parseInt(aT(0x167))/0x8+-parseInt(aT(0x1a2))/0x9+-parseInt(aT(0x146))/0xa;if(am===ak)break;else al['push'](al['shift']());}catch(an){al['push'](al['shift']());}}}(a,0x4ec57));import{ap as d,V as e,aq as f,L as g,h,F as i,T as j,R as k,k as l,ai as m,c as n,ar as o,K as p,C as r,S as s,as as t,i as u,G as v,ab as w,a5 as A,O as C,v as D,_ as F,x as L,Z as N,$ as T,a6 as X,f as a0,b as a1,a7 as a2,a9 as a3,at as a4,B as a5,a as a6,au as a7,av as a8,H as a9,J as aa,aa as ab,Q as ac,aj as ad,aw as af,al as ag,ak as ah}from'./ModelViewer.js';import{a as ai}from'./fflate.module.js';import'vue';import'./index7.js';function ie(aj,ak,al){const aU=c,am=al['length']-aj-0x1;if(ak>=al[am])return am-0x1;if(ak<=al[aj])return aj;let an=aj,ao=am,ap=Math['floor']((an+ao)/0x2);for(;ak<al[ap]||ak>=al[ap+0x1];)ak<al[ap]?ao=ap:an=ap,ap=Math[aU(0x13f)]((an+ao)/0x2);return ap;}function Be(aj,ak,al,am){const an=[],ao=[],ap=[];an[0x0]=0x1;for(let aq=0x1;aq<=al;++aq){ao[aq]=ak-am[aj+0x1-aq],ap[aq]=am[aj+aq]-ak;let ar=0x0;for(let as=0x0;as<aq;++as){const at=ap[as+0x1],au=ao[aq-as],av=an[as]/(at+au);an[as]=ar+at*av,ar=au*av;}an[aq]=ar;}return an;}function Oe(aj,ak,al,am){const an=ie(aj,am,ak),ao=Be(an,am,aj,ak),ap=new d(0x0,0x0,0x0,0x0);for(let aq=0x0;aq<=aj;++aq){const ar=al[an-aj+aq],as=ao[aq],at=ar['w']*as;ap['x']+=ar['x']*at,ap['y']+=ar['y']*at,ap['z']+=ar['z']*at,ap['w']+=ar['w']*as;}return ap;}function a(){const cL=['castShadow','userData','offset','degree','916754MbJhra','decode','parseVertexColors','repeat','transformData','URL','getArrayBuffer','weights','data:','getInt32','connections','transparent','Lcl_Scaling','setFromPoints','attrName','BlendShapeChannel','invert','sampleCurveValue','Properties70','getHandler','FarPlane','THREE.FBXLoader:\x20%s\x20map\x20is\x20not\x20supported\x20in\x20three.js,\x20skipping\x20texture.','RotationOrder','colorSpaceToWorking','weightsIndices','vertex','Color','eulerOrder','textureLoader','ShininessExponent','Lcl\x20','updateWorldMatrix','FieldOfView','getUint32','1cUCIhu','get','2367981ndhRLb','getFloat64Array','getOffset','isArray','byteLength','Weights','curves','translation','controlPoints','TransparencyFactor','attrType','split','425igkdFn','opacity','loadTexture','FBXLoader:\x20Undefined\x20filename,\x20creating\x20placeholder\x20texture.','NormalsIndex','getFloat64','Model','140twWwqk','TransparentColor','RotationOffset','copy','trim','DisplacementColor','getBooleanArray','DEFAULT_MATERIAL_NAME','number','getTexture','morph','color','value','Opacity','vertexWeights','unitScaleFactor','double','NodeAttribute','Closed','setCurrentProp','match','buffer','parseNodeBegin','THREE.FBXLoader:\x20Vertex\x20has\x20more\x20than\x204\x20skinning\x20weights\x20assigned\x20to\x20vertex.\x20Deleting\x20additional\x20weights.','Lcl_','Bump','weightTable','fromArray','nodeStack','vertexIndices','colorSpace','image/tga','uvs','Scaling','THREE.FBXLoader:\x20You\x20are\x20loading\x20an\x20asset\x20with\x20a\x20Z-UP\x20coordinate\x20system.\x20The\x20loader\x20just\x20rotates\x20the\x20asset\x20to\x20transform\x20it\x20into\x20Y-UP.\x20The\x20vertex\x20data\x20are\x20not\x20converted.','Specular','multiplyScalar','parseSubNode','slice','has','add','2055053eKfjXB','ScalingPivot','Geometry','Shininess','Vector3D','parseConnections','emissive','EnableFarAttenuation','Vertices','Filename','reduce','parentMatrixWorld','fromJSON','knots','ReflectionColor','tif','skinIndex','ZYX','materialIndex','Connections','_textDecoder','setPosition','values','length','THREE.FBXLoader:\x20Unknown\x20camera\x20type\x20','startKnot','getTimesForAllAxes','mappingType','load','forEach','generateTracks','concat','endKnot','vertexPositions','Materials','AnimationLayer','Objects','map','keys','indexOf','LayerElementMaterial','dot','warn','propertyList','GlobalSettings','parseNode','DiffuseColor','THREE.FBXLoader:\x20Cannot\x20find\x20the\x20version\x20number\x20for\x20the\x20file\x20given.','normalize','clone','multiply','wrapT','parentMatrix','currentIndent','alphaMap','sanitizeNodeName','THREE.FBXLoader:\x20FBX\x20version\x20not\x20supported,\x20FileVersion:\x20','degToRad','PoseNode','abs','normal','popStack','InheritType','int','MappingInformationType','42762nqcmid','sub','rawBones','genGeometry','BlendShape','createLight','scale','\x22\x20is\x20not\x20supported.','getInt16','LayerElementUV','floor','lambert','colors','Intensity','ColorRGB','set','parents','348400jnNKSq','UpAxis','transform','children','Lcl_Translation','getCurrentProp','littleEndian','push','allNodes','manager','scalingPivot','material','string','triangulateShape','image/png','getUint64','CastLightOnObject','relationship','SpecularColor','23667kiCzNl','Indexes','EmissiveFactor','EmissiveColor','position','name','rotation','CastShadows','type','inheritType','NbPoseNodes','Texture','IndexToDirect','path','3925136EJVQxO','parse','PreRotation','times','parseMorphTargets','setAttribute','size','PolygonVertexIndex','THREE.FBXLoader:\x20Invalid\x20Order\x20%s\x20given\x20for\x20geometry\x20ID:\x20%s','indices','parseNurbsGeometry','parseUVs','bones','getBoolean','replace','getKeyframeTrackValues','addGroup','LightType','rawTargets'];a=function(){return cL;};return a();}function Ve(aj,ak,al,am,an){const aV=c,ao=[];for(let au=0x0;au<=al;++au)ao[au]=0x0;const ap=[];for(let av=0x0;av<=am;++av)ap[av]=ao['slice'](0x0);const aq=[];for(let aw=0x0;aw<=al;++aw)aq[aw]=ao[aV(0x1db)](0x0);aq[0x0][0x0]=0x1;const ar=ao[aV(0x1db)](0x0),as=ao['slice'](0x0);for(let ax=0x1;ax<=al;++ax){ar[ax]=ak-an[aj+0x1-ax],as[ax]=an[aj+ax]-ak;let ay=0x0;for(let az=0x0;az<ax;++az){const aA=as[az+0x1],aB=ar[ax-az];aq[ax][az]=aA+aB;const aC=aq[az][ax-0x1]/aq[ax][az];aq[az][ax]=ay+aA*aC,ay=aB*aC;}aq[ax][ax]=ay;}for(let aD=0x0;aD<=al;++aD)ap[0x0][aD]=aq[aD][al];for(let aE=0x0;aE<=al;++aE){let aF=0x0,aG=0x1;const aH=[];for(let aI=0x0;aI<=al;++aI)aH[aI]=ao['slice'](0x0);aH[0x0][0x0]=0x1;for(let aJ=0x1;aJ<=am;++aJ){let aK=0x0;const aL=aE-aJ,aM=al-aJ;aE>=aJ&&(aH[aG][0x0]=aH[aF][0x0]/aq[aM+0x1][aL],aK=aH[aG][0x0]*aq[aL][aM]);const aN=aL>=-0x1?0x1:-aL,aO=aE-0x1<=aM?aJ-0x1:al-aE;for(let aQ=aN;aQ<=aO;++aQ)aH[aG][aQ]=(aH[aF][aQ]-aH[aF][aQ-0x1])/aq[aM+0x1][aL+aQ],aK+=aH[aG][aQ]*aq[aL+aQ][aM];aE<=aM&&(aH[aG][aJ]=-aH[aF][aJ-0x1]/aq[aM+0x1][aE],aK+=aH[aG][aJ]*aq[aE][aM]),ap[aJ][aE]=aK;const aP=aF;aF=aG,aG=aP;}}let at=al;for(let aR=0x1;aR<=am;++aR){for(let aS=0x0;aS<=al;++aS)ap[aR][aS]*=at;at*=al-aR;}return ap;}function Ue(aj,ak,al,am,an){const aW=c,ao=an<aj?an:aj,ap=[],aq=ie(aj,am,ak),ar=Ve(aq,am,aj,ao,ak),as=[];for(let at=0x0;at<al['length'];++at){const au=al[at]['clone'](),av=au['w'];au['x']*=av,au['y']*=av,au['z']*=av,as[at]=au;}for(let aw=0x0;aw<=ao;++aw){const ax=as[aq-aj]['clone']()['multiplyScalar'](ar[aw][0x0]);for(let ay=0x1;ay<=aj;++ay)ax[aW(0x1dd)](as[aq-aj+ay]['clone']()['multiplyScalar'](ar[aw][ay]));ap[aw]=ax;}for(let az=ao+0x1;az<=an+0x1;++az)ap[az]=new d(0x0,0x0,0x0);return ap;}function Xe(aj,ak){let al=0x1;for(let an=0x2;an<=aj;++an)al*=an;let am=0x1;for(let ao=0x2;ao<=ak;++ao)am*=ao;for(let ap=0x2;ap<=aj-ak;++ap)am*=ap;return al/am;}function Ge(aj){const aX=c,ak=aj[aX(0x1f5)],al=[],am=[];for(let ao=0x0;ao<ak;++ao){const ap=aj[ao];al[ao]=new e(ap['x'],ap['y'],ap['z']),am[ao]=ap['w'];}const an=[];for(let aq=0x0;aq<ak;++aq){const ar=al[aq][aX(0x125)]();for(let as=0x1;as<=aq;++as)ar[aX(0x136)](an[aq-as][aX(0x125)]()[aX(0x1d9)](Xe(aq,as)*am[as]));an[aq]=ar['divideScalar'](am[0x0]);}return an;}function ze(aj,ak,al,am,an){const ao=Ue(aj,ak,al,am,an);return Ge(ao);}class je extends f{constructor(aj,ak,al,am,an){const aY=c;super();const ao=ak?ak['length']-0x1:0x0,ap=al?al['length']:0x0;this[aY(0x17d)]=aj,this['knots']=ak,this[aY(0x1aa)]=[],this['startKnot']=am||0x0,this['endKnot']=an||ao;for(let aq=0x0;aq<ap;++aq){const ar=al[aq];this['controlPoints'][aq]=new d(ar['x'],ar['y'],ar['z'],ar['w']);}}['getPoint'](aj,ak=new e()){const aZ=c,al=ak,am=this['knots'][this[aZ(0x1f7)]]+aj*(this[aZ(0x1eb)][this['endKnot']]-this['knots'][this['startKnot']]),an=Oe(this['degree'],this['knots'],this[aZ(0x1aa)],am);return an['w']!==0x1&&an['divideScalar'](an['w']),al['set'](an['x'],an['y'],an['z']);}['getTangent'](aj,ak=new e()){const b0=c,al=ak,am=this['knots'][0x0]+aj*(this['knots'][this[b0(0x1eb)]['length']-0x1]-this[b0(0x1eb)][0x0]),an=ze(this['degree'],this['knots'],this['controlPoints'],am,0x1);return al[b0(0x1b8)](an[0x1])[b0(0x124)](),al;}['toJSON'](){const b1=c,aj=super['toJSON']();return aj['degree']=this['degree'],aj[b1(0x1eb)]=[...this['knots']],aj['controlPoints']=this['controlPoints']['map'](ak=>ak['toArray']()),aj[b1(0x1f7)]=this['startKnot'],aj[b1(0x1fe)]=this['endKnot'],aj;}[b2(0x1ea)](aj){const b3=b2;return super['fromJSON'](aj),this['degree']=aj['degree'],this['knots']=[...aj['knots']],this[b3(0x1aa)]=aj[b3(0x1aa)]['map'](ak=>new d(ak[0x0],ak[0x1],ak[0x2],ak[0x3])),this[b3(0x1f7)]=aj['startKnot'],this['endKnot']=aj['endKnot'],this;}}let y,x,P;class st extends g{constructor(aj){super(aj);}['load'](aj,ak,al,am){const b4=b2,an=this,ao=an['path']===''?h['extractUrlBase'](aj):an[b4(0x166)],ap=new i(this['manager']);ap['setPath'](an['path']),ap['setResponseType']('arraybuffer'),ap['setRequestHeader'](an['requestHeader']),ap['setWithCredentials'](an['withCredentials']),ap[b4(0x1fa)](aj,function(aq){try{ak(an['parse'](aq,ao));}catch(ar){am?am(ar):console['error'](ar),an['manager']['itemError'](aj);}},al,am);}[b2(0x168)](aj,ak){const b5=b2;if(Ye(aj))y=new Ne()['parse'](aj);else{const am=le(aj);if(!Ze(am))throw new Error('THREE.FBXLoader:\x20Unknown\x20format.');if(se(am)<0x1b58)throw new Error('THREE.FBXLoader:\x20FBX\x20version\x20not\x20supported,\x20FileVersion:\x20'+se(am));y=new We()[b5(0x168)](am);}const al=new j(this['manager'])['setPath'](this['resourcePath']||ak)['setCrossOrigin'](this['crossOrigin']);return new _e(al,this['manager'])[b5(0x168)](y);}}class _e{constructor(aj,ak){this['textureLoader']=aj,this['manager']=ak;}['parse'](){x=this['parseConnections']();const aj=this['parseImages'](),ak=this['parseTextures'](aj),al=this['parseMaterials'](ak),am=this['parseDeformers'](),an=new He()['parse'](am);return this['parseScene'](am,an,al),P;}[b2(0x1e3)](){const b6=b2,aj=new Map();return'Connections'in y&&y[b6(0x1f1)]['connections']['forEach'](function(ak){const b7=b6,al=ak[0x0],am=ak[0x1],an=ak[0x2];aj[b7(0x1dc)](al)||aj['set'](al,{'parents':[],'children':[]});const ao={'ID':am,'relationship':an};aj['get'](al)['parents']['push'](ao),aj['has'](am)||aj[b7(0x144)](am,{'parents':[],'children':[]});const ap={'ID':al,'relationship':an};aj['get'](am)['children']['push'](ap);}),aj;}['parseImages'](){const b8=b2,aj={},ak={};if('Video'in y['Objects']){const al=y['Objects']['Video'];for(const am in al){const an=al[am],ao=parseInt(am);if(aj[ao]=an['RelativeFilename']||an[b8(0x1e7)],'Content'in an){const ap=an['Content']instanceof ArrayBuffer&&an['Content']['byteLength']>0x0,aq=typeof an['Content']==b8(0x152)&&an['Content']!=='';if(ap||aq){const ar=this['parseImage'](al[am]);ak[an['RelativeFilename']||an[b8(0x1e7)]]=ar;}}}}for(const as in aj){const at=aj[as];ak[at]!==void 0x0?aj[as]=ak[at]:aj[as]=aj[as]['split']('\x5c')['pop']();}return aj;}['parseImage'](aj){const b9=b2,ak=aj['Content'],al=aj['RelativeFilename']||aj['Filename'],am=al['slice'](al['lastIndexOf']('.')+0x1)['toLowerCase']();let an;switch(am){case'bmp':an='image/bmp';break;case'jpg':case'jpeg':an='image/jpeg';break;case'png':an=b9(0x154);break;case b9(0x1ed):an='image/tiff';break;case'tga':this[b9(0x14f)]['getHandler']('.tga')===null&&console[b9(0x11e)]('FBXLoader:\x20TGA\x20loader\x20not\x20found,\x20skipping\x20',al),an=b9(0x1d4);break;case'webp':an='image/webp';break;default:console['warn']('FBXLoader:\x20Image\x20type\x20\x22'+am+b9(0x13c));return;}if(typeof ak=='string')return'data:'+an+';base64,'+ak;{const ao=new Uint8Array(ak);return window[b9(0x183)]['createObjectURL'](new Blob([ao],{'type':an}));}}['parseTextures'](aj){const ba=b2,ak=new Map();if(ba(0x164)in y[ba(0x202)]){const al=y['Objects']['Texture'];for(const am in al){const an=this['parseTexture'](al[am],aj);ak['set'](parseInt(am),an);}}return ak;}['parseTexture'](aj,ak){const bb=b2,al=this['loadTexture'](aj,ak);al['ID']=aj['id'],al['name']=aj['attrName'];const am=aj['WrapModeU'],an=aj['WrapModeV'],ao=am!==void 0x0?am['value']:0x0,ap=an!==void 0x0?an['value']:0x0;if(al['wrapS']=ao===0x0?k:l,al[bb(0x127)]=ap===0x0?k:l,'Scaling'in aj){const aq=aj[bb(0x1d6)]['value'];al['repeat']['x']=aq[0x0],al[bb(0x181)]['y']=aq[0x1];}if('Translation'in aj){const ar=aj['Translation']['value'];al[bb(0x17c)]['x']=ar[0x0],al['offset']['y']=ar[0x1];}return al;}[b2(0x1b0)](aj,ak){const bc=b2,al=aj['FileName']['split']('.')['pop']()['toLowerCase']();let am=this[bc(0x14f)][bc(0x191)]('.'+al);am===null&&(am=this['textureLoader']);const an=am['path'];an||am['setPath'](this[bc(0x19a)]['path']);const ao=x['get'](aj['id'])['children'];let ap;if(ao!==void 0x0&&ao['length']>0x0&&ak[ao[0x0]['ID']]!==void 0x0&&(ap=ak[ao[0x0]['ID']],(ap[bc(0x205)]('blob:')===0x0||ap['indexOf'](bc(0x186))===0x0)&&am['setPath'](void 0x0)),ap===void 0x0)return console['warn'](bc(0x1b1)),new m();const aq=am[bc(0x1fa)](ap);return am['setPath'](an),aq;}['parseMaterials'](aj){const ak=new Map();if('Material'in y['Objects']){const al=y['Objects']['Material'];for(const am in al){const an=this['parseMaterial'](al[am],aj);an!==null&&ak['set'](parseInt(am),an);}}return ak;}['parseMaterial'](aj,ak){const bd=b2,al=aj['id'],am=aj['attrName'];let an=aj['ShadingModel'];if(typeof an=='object'&&(an=an['value']),!x['has'](al))return null;const ao=this['parseParameters'](aj,ak,al);let ap;switch(an['toLowerCase']()){case'phong':ap=new n();break;case bd(0x140):ap=new o();break;default:console['warn']('THREE.FBXLoader:\x20unknown\x20material\x20type\x20\x22%s\x22.\x20Defaulting\x20to\x20MeshPhongMaterial.',an),ap=new n();break;}return ap['setValues'](ao),ap['name']=am,ap;}['parseParameters'](aj,ak,al){const bf=b2,am={};aj['BumpFactor']&&(am['bumpScale']=aj['BumpFactor']['value']),aj['Diffuse']?am['color']=p['colorSpaceToWorking'](new r()['fromArray'](aj['Diffuse']['value']),s):aj['DiffuseColor']&&(aj['DiffuseColor']['type']==='Color'||aj['DiffuseColor']['type']==='ColorRGB')&&(am['color']=p['colorSpaceToWorking'](new r()[bf(0x1d0)](aj[bf(0x122)]['value']),s)),aj['DisplacementFactor']&&(am['displacementScale']=aj['DisplacementFactor']['value']),aj['Emissive']?am['emissive']=p[bf(0x195)](new r()['fromArray'](aj['Emissive']['value']),s):aj['EmissiveColor']&&(aj[bf(0x15c)][bf(0x161)]==='Color'||aj['EmissiveColor']['type']==='ColorRGB')&&(am[bf(0x1e4)]=p['colorSpaceToWorking'](new r()[bf(0x1d0)](aj['EmissiveColor']['value']),s)),aj['EmissiveFactor']&&(am['emissiveIntensity']=parseFloat(aj[bf(0x15b)]['value'])),am['opacity']=0x1-(aj['TransparencyFactor']?parseFloat(aj[bf(0x1ab)]['value']):0x0),(am['opacity']===0x1||am[bf(0x1af)]===0x0)&&(am['opacity']=aj[bf(0x1c2)]?parseFloat(aj['Opacity']['value']):null,am['opacity']===null&&(am['opacity']=0x1)),am[bf(0x1af)]<0x1&&(am['transparent']=!0x0),aj['ReflectionFactor']&&(am['reflectivity']=aj['ReflectionFactor']['value']),aj[bf(0x1e1)]&&(am['shininess']=aj['Shininess'][bf(0x1c1)]),aj[bf(0x1d8)]?am['specular']=p['colorSpaceToWorking'](new r()[bf(0x1d0)](aj['Specular']['value']),s):aj[bf(0x158)]&&aj['SpecularColor']['type']===bf(0x198)&&(am['specular']=p[bf(0x195)](new r()['fromArray'](aj[bf(0x158)][bf(0x1c1)]),s));const an=this;return x['get'](al)['children']['forEach'](function(ao){const bg=bf,ap=ao['relationship'];switch(ap){case bg(0x1ce):am['bumpMap']=an['getTexture'](ak,ao['ID']);break;case'Maya|TEX_ao_map':am['aoMap']=an['getTexture'](ak,ao['ID']);break;case'DiffuseColor':case'Maya|TEX_color_map':am['map']=an['getTexture'](ak,ao['ID']),am['map']!==void 0x0&&(am['map']['colorSpace']=s);break;case bg(0x1ba):am['displacementMap']=an['getTexture'](ak,ao['ID']);break;case'EmissiveColor':am['emissiveMap']=an['getTexture'](ak,ao['ID']),am['emissiveMap']!==void 0x0&&(am['emissiveMap'][bg(0x1d3)]=s);break;case'NormalMap':case'Maya|TEX_normal_map':am['normalMap']=an['getTexture'](ak,ao['ID']);break;case bg(0x1ec):am['envMap']=an['getTexture'](ak,ao['ID']),am['envMap']!==void 0x0&&(am['envMap']['mapping']=t,am['envMap']['colorSpace']=s);break;case'SpecularColor':am['specularMap']=an['getTexture'](ak,ao['ID']),am['specularMap']!==void 0x0&&(am['specularMap']['colorSpace']=s);break;case bg(0x1b6):case'TransparencyFactor':am[bg(0x12a)]=an['getTexture'](ak,ao['ID']),am[bg(0x189)]=!0x0;break;case'AmbientColor':case bg(0x19b):case'SpecularFactor':case'VectorDisplacementColor':default:console['warn'](bg(0x193),ap);break;}}),am;}[b2(0x1be)](aj,ak){const bh=b2;return'LayeredTexture'in y['Objects']&&ak in y['Objects']['LayeredTexture']&&(console['warn']('THREE.FBXLoader:\x20layered\x20textures\x20are\x20not\x20supported\x20in\x20three.js.\x20Discarding\x20all\x20but\x20first\x20layer.'),ak=x[bh(0x1a1)](ak)['children'][0x0]['ID']),aj['get'](ak);}['parseDeformers'](){const bi=b2,aj={},ak={};if('Deformer'in y['Objects']){const al=y[bi(0x202)]['Deformer'];for(const am in al){const an=al[am],ao=x['get'](parseInt(am));if(an['attrType']==='Skin'){const ap=this['parseSkeleton'](ao,al);ap['ID']=am,ao['parents']['length']>0x1&&console['warn']('THREE.FBXLoader:\x20skeleton\x20attached\x20to\x20more\x20than\x20one\x20geometry\x20is\x20not\x20supported.'),ap['geometryID']=ao['parents'][0x0]['ID'],aj[am]=ap;}else{if(an['attrType']===bi(0x139)){const aq={'id':am};aq[bi(0x179)]=this[bi(0x16b)](ao,al),aq['id']=am,ao['parents']['length']>0x1&&console['warn']('THREE.FBXLoader:\x20morph\x20target\x20attached\x20to\x20more\x20than\x20one\x20geometry\x20is\x20not\x20supported.'),ak[am]=aq;}}}}return{'skeletons':aj,'morphTargets':ak};}['parseSkeleton'](aj,ak){const al=[];return aj['children']['forEach'](function(am){const bj=c,an=ak[am['ID']];if(an[bj(0x1ac)]!=='Cluster')return;const ao={'ID':am['ID'],'indices':[],'weights':[],'transformLink':new u()[bj(0x1d0)](an['TransformLink']['a'])};bj(0x15a)in an&&(ao['indices']=an['Indexes']['a'],ao[bj(0x185)]=an[bj(0x1a7)]['a']),al[bj(0x14d)](ao);}),{'rawBones':al,'bones':[]};}['parseMorphTargets'](aj,ak){const bk=b2,al=[];for(let am=0x0;am<aj['children']['length'];am++){const an=aj['children'][am],ao=ak[an['ID']],ap={'name':ao['attrName'],'initialWeight':ao['DeformPercent'],'id':ao['id'],'fullWeights':ao['FullWeights']['a']};if(ao['attrType']!==bk(0x18d))return;ap['geoID']=x['get'](parseInt(an['ID']))['children']['filter'](function(aq){return aq['relationship']===void 0x0;})[0x0]['ID'],al['push'](ap);}return al;}['parseScene'](aj,ak,al){const bo=b2;P=new v();const am=this['parseModels'](aj['skeletons'],ak,al),an=y['Objects']['Model'],ao=this;am['forEach'](function(at){const bl=c,au=an[at['ID']];ao['setLookAtProperties'](at,au),x['get'](at['ID'])['parents']['forEach'](function(av){const aw=am['get'](av['ID']);aw!==void 0x0&&aw['add'](at);}),at['parent']===null&&P[bl(0x1dd)](at);}),this['addGlobalSceneSettings'](),P['traverse'](function(at){const bm=c;if(at[bm(0x17b)]['transformData']){at['parent']&&(at['userData']['transformData']['parentMatrix']=at['parent']['matrix'],at['userData']['transformData'][bm(0x1e9)]=at['parent']['matrixWorld']);const au=oe(at['userData']['transformData']);at['applyMatrix4'](au),at[bm(0x19d)]();}});const ap=this['parsePoseNodes'](),aq=new Set();for(const at in aj['skeletons'])aj['skeletons'][at]['rawBones']['forEach'](function(au,av){const aw=aj['skeletons'][at]['bones'][av];aw&&aq['add'](aw['ID']);});const ar=new u();P['traverse'](function(au){const bn=c;if(au['isBone']&&au['ID']!==void 0x0&&!aq['has'](au['ID'])){const av=ap[au['ID']];av!==void 0x0&&(au['parent']?(ar[bn(0x1b8)](au['parent']['matrixWorld'])['invert'](),ar[bn(0x126)](av)):ar['copy'](av),ar['decompose'](au[bn(0x15d)],au['quaternion'],au[bn(0x13b)]),au['updateMatrix'](),au['matrixWorld']['copy'](av));}}),this['bindSkeleton'](aj['skeletons'],ak,am);const as=new Ke()[bo(0x168)]();P['children'][bo(0x1f5)]===0x1&&P[bo(0x149)][0x0]['isGroup']&&(P['children'][0x0]['animations']=as,P=P['children'][0x0]),P['animations']=as,'GlobalSettings'in y&&bo(0x147)in y['GlobalSettings']&&y[bo(0x120)]['UpAxis']['value']===0x2&&(console[bo(0x11e)](bo(0x1d7)),P[bo(0x15f)]['set'](-Math['PI']/0x2,0x0,0x0));}['parseModels'](aj,ak,al){const bp=b2,am=new Map(),an=y['Objects']['Model'];for(const ao in an){const ap=parseInt(ao),aq=an[ao],ar=x['get'](ap);let as=this['buildSkeleton'](ar,aj,ap,aq['attrName']);if(!as){switch(aq[bp(0x1ac)]){case'Camera':as=this['createCamera'](ar);break;case'Light':as=this['createLight'](ar);break;case'Mesh':as=this['createMesh'](ar,ak,al);break;case'NurbsCurve':as=this['createCurve'](ar,ak);break;case'LimbNode':case'Root':as=new w();break;case'Null':default:as=new v();break;}as['name']=aq[bp(0x18c)]?A[bp(0x12b)](aq['attrName']):'',as['userData']['originalName']=aq['attrName'],as['ID']=ap;}this['getTransformData'](as,aq),am[bp(0x144)](ap,as);}return am;}['buildSkeleton'](aj,ak,al,am){let an=null;return aj['parents']['forEach'](function(ao){const bq=c;for(const ap in ak){const aq=ak[ap];aq[bq(0x137)]['forEach'](function(ar,as){const br=bq;if(ar['ID']===ao['ID']){const at=an;an=new w(),an['matrixWorld'][br(0x1b8)](ar['transformLink']),an['name']=am?A[br(0x12b)](am):'',an['userData']['originalName']=am,an['ID']=al,aq['bones'][as]=an,at!==null&&an['add'](at);}});}}),an;}['createCamera'](aj){const bt=b2;let ak,al;if(aj['children']['forEach'](function(am){const bs=c,an=y[bs(0x202)][bs(0x1c6)][am['ID']];an!==void 0x0&&(al=an);}),al===void 0x0)ak=new C();else{let am=0x0;al['CameraProjectionType']!==void 0x0&&al['CameraProjectionType']['value']===0x1&&(am=0x1);let an=0x1;al['NearPlane']!==void 0x0&&(an=al['NearPlane']['value']/0x3e8);let ao=0x3e8;al['FarPlane']!==void 0x0&&(ao=al[bt(0x192)]['value']/0x3e8);let ap=window['innerWidth'],aq=window['innerHeight'];al['AspectWidth']!==void 0x0&&al['AspectHeight']!==void 0x0&&(ap=al['AspectWidth']['value'],aq=al['AspectHeight']['value']);const ar=ap/aq;let as=0x2d;al[bt(0x19e)]!==void 0x0&&(as=al['FieldOfView']['value']);const at=al['FocalLength']?al['FocalLength']['value']:null;switch(am){case 0x0:ak=new D(as,ar,an,ao),at!==null&&ak['setFocalLength'](at);break;case 0x1:console['warn']('THREE.FBXLoader:\x20Orthographic\x20cameras\x20not\x20supported\x20yet.'),ak=new C();break;default:console['warn'](bt(0x1f6)+am+'.'),ak=new C();break;}}return ak;}[b2(0x13a)](aj){const bu=b2;let ak,al;if(aj[bu(0x149)]['forEach'](function(am){const bv=bu,an=y[bv(0x202)]['NodeAttribute'][am['ID']];an!==void 0x0&&(al=an);}),al===void 0x0)ak=new C();else{let am;al['LightType']===void 0x0?am=0x0:am=al[bu(0x178)]['value'];let an=0xffffff;al['Color']!==void 0x0&&(an=p[bu(0x195)](new r()['fromArray'](al['Color']['value']),s));let ao=al[bu(0x142)]===void 0x0?0x1:al['Intensity']['value']/0x64;al['CastLightOnObject']!==void 0x0&&al[bu(0x156)]['value']===0x0&&(ao=0x0);let ap=0x0;al['FarAttenuationEnd']!==void 0x0&&(al['EnableFarAttenuation']!==void 0x0&&al[bu(0x1e5)][bu(0x1c1)]===0x0?ap=0x0:ap=al['FarAttenuationEnd']['value']);const aq=0x1;switch(am){case 0x0:ak=new F(an,ao,ap,aq);break;case 0x1:ak=new T(an,ao);break;case 0x2:let ar=Math['PI']/0x3,as=0x0;al['OuterAngle']!==void 0x0?(ar=L['degToRad'](al['OuterAngle']['value']),al['InnerAngle']!==void 0x0&&(as=0x1-al['InnerAngle']['value']/al['OuterAngle']['value'],as=Math['max'](0x0,as))):al['InnerAngle']!==void 0x0&&(ar=L['degToRad'](al['InnerAngle']['value'])),ak=new N(an,ao,ap,ar,as,aq);break;default:console['warn']('THREE.FBXLoader:\x20Unknown\x20light\x20type\x20'+al[bu(0x178)]['value']+',\x20defaulting\x20to\x20a\x20PointLight.'),ak=new F(an,ao);break;}al[bu(0x160)]!==void 0x0&&al[bu(0x160)]['value']===0x1&&(ak[bu(0x17a)]=!0x0);}return ak;}['createMesh'](aj,ak,al){const bw=b2;let am,an=null,ao=null;const ap=[];if(aj['children'][bw(0x1fb)](function(aq){const bx=bw;ak[bx(0x1dc)](aq['ID'])&&(an=ak[bx(0x1a1)](aq['ID'])),al['has'](aq['ID'])&&ap['push'](al['get'](aq['ID']));}),ap['length']>0x1?ao=ap:ap['length']>0x0?ao=ap[0x0]:(ao=new n({'name':g['DEFAULT_MATERIAL_NAME'],'color':0xcccccc}),ap[bw(0x14d)](ao)),'color'in an['attributes']&&ap['forEach'](function(aq){aq['vertexColors']=!0x0;}),an['groups'][bw(0x1f5)]>0x0){let aq=!0x1;for(let ar=0x0,as=an['groups']['length'];ar<as;ar++){const at=an['groups'][ar];(at[bw(0x1f0)]<0x0||at['materialIndex']>=ap['length'])&&(at[bw(0x1f0)]=ap['length'],aq=!0x0);}if(aq){const au=new n();ap['push'](au);}}return an['FBX_Deformer']?(am=new X(an,ao),am['normalizeSkinWeights']()):am=new a0(an,ao),am;}['createCurve'](aj,ak){const by=b2,al=aj['children']['reduce'](function(an,ao){return ak['has'](ao['ID'])&&(an=ak['get'](ao['ID'])),an;},null),am=new a1({'name':g[by(0x1bc)],'color':0x3300ff,'linewidth':0x1});return new a2(al,am);}['getTransformData'](aj,ak){const bz=b2,al={};bz(0x132)in ak&&(al['inheritType']=parseInt(ak['InheritType'][bz(0x1c1)])),'RotationOrder'in ak?al['eulerOrder']=z(ak[bz(0x194)]['value']):al['eulerOrder']=z(0x0),'Lcl_Translation'in ak&&(al['translation']=ak['Lcl_Translation']['value']),bz(0x169)in ak&&(al['preRotation']=ak['PreRotation'][bz(0x1c1)]),'Lcl_Rotation'in ak&&(al[bz(0x15f)]=ak['Lcl_Rotation']['value']),'PostRotation'in ak&&(al['postRotation']=ak['PostRotation'][bz(0x1c1)]),'Lcl_Scaling'in ak&&(al[bz(0x13b)]=ak['Lcl_Scaling']['value']),'ScalingOffset'in ak&&(al['scalingOffset']=ak['ScalingOffset']['value']),'ScalingPivot'in ak&&(al['scalingPivot']=ak[bz(0x1df)]['value']),bz(0x1b7)in ak&&(al['rotationOffset']=ak[bz(0x1b7)]['value']),'RotationPivot'in ak&&(al['rotationPivot']=ak['RotationPivot']['value']),aj['userData']['transformData']=al;}['setLookAtProperties'](aj,ak){const bA=b2;'LookAtProperty'in ak&&x['get'](aj['ID'])['children'][bA(0x1fb)](function(al){const bB=bA;if(al['relationship']==='LookAtProperty'){const am=y[bB(0x202)]['Model'][al['ID']];if(bB(0x14a)in am){const an=am['Lcl_Translation'][bB(0x1c1)];aj['target']!==void 0x0?(aj['target']['position']['fromArray'](an),P['add'](aj['target'])):aj['lookAt'](new e()['fromArray'](an));}}});}['bindSkeleton'](aj,ak,al){const bC=b2;for(const am in aj){const an=aj[am],ao=[];for(let ap=0x0,aq=an['bones']['length'];ap<aq;ap++){const ar=new u();an[bC(0x173)][ap]&&an[bC(0x137)][ap]&&ar['copy'](an[bC(0x137)][ap]['transformLink'])['invert'](),ao[bC(0x14d)](ar);}x['get'](parseInt(an['ID']))['parents']['forEach'](function(as){if(ak['has'](as['ID'])){const at=as['ID'];x['get'](at)['parents']['forEach'](function(au){const bD=c;if(al['has'](au['ID'])){const av=al['get'](au['ID']);av['updateMatrixWorld'](!0x0),av['bind'](new a3(an[bD(0x173)],ao),av['matrixWorld']);}});}});}}['parsePoseNodes'](){const bE=b2,aj={};if('Pose'in y['Objects']){const ak=y['Objects']['Pose'];for(const al in ak)if(ak[al]['attrType']==='BindPose'&&ak[al][bE(0x163)]>0x0){const am=ak[al]['PoseNode'];Array['isArray'](am)?am['forEach'](function(an){aj[an['Node']]=new u()['fromArray'](an['Matrix']['a']);}):aj[am['Node']]=new u()['fromArray'](am['Matrix']['a']);}}return aj;}['addGlobalSceneSettings'](){const bF=b2;if('GlobalSettings'in y){if('AmbientColor'in y['GlobalSettings']){const aj=y['GlobalSettings']['AmbientColor']['value'],ak=aj[0x0],al=aj[0x1],am=aj[0x2];if(ak!==0x0||al!==0x0||am!==0x0){const an=new r()['setRGB'](ak,al,am,s);P['add'](new a4(an,0x1));}}'UnitScaleFactor'in y['GlobalSettings']&&(P['userData'][bF(0x1c4)]=y[bF(0x120)]['UnitScaleFactor'][bF(0x1c1)]);}}}class He{constructor(){this['negativeMaterialIndices']=!0x1;}['parse'](aj){const bG=b2,ak=new Map();if('Geometry'in y['Objects']){const al=y['Objects']['Geometry'];for(const am in al){const an=x['get'](parseInt(am)),ao=this['parseGeometry'](an,al[am],aj);ak['set'](parseInt(am),ao);}}return this['negativeMaterialIndices']===!0x0&&console[bG(0x11e)]('THREE.FBXLoader:\x20The\x20FBX\x20file\x20contains\x20invalid\x20(negative)\x20material\x20indices.\x20The\x20asset\x20might\x20not\x20render\x20as\x20expected.'),ak;}['parseGeometry'](aj,ak,al){const bH=b2;switch(ak[bH(0x1ac)]){case'Mesh':return this['parseMeshGeometry'](aj,ak,al);case'NurbsCurve':return this['parseNurbsGeometry'](ak);}}['parseMeshGeometry'](aj,ak,al){const bI=b2,am=al['skeletons'],an=[],ao=aj[bI(0x145)]['map'](function(at){return y['Objects']['Model'][at['ID']];});if(ao['length']===0x0)return;const ap=aj['children'][bI(0x1e8)](function(at,au){return am[au['ID']]!==void 0x0&&(at=am[au['ID']]),at;},null);aj['children']['forEach'](function(at){al['morphTargets'][at['ID']]!==void 0x0&&an['push'](al['morphTargets'][at['ID']]);});const aq=ao[0x0],ar={};'RotationOrder'in aq&&(ar[bI(0x199)]=z(aq['RotationOrder']['value'])),'InheritType'in aq&&(ar['inheritType']=parseInt(aq['InheritType']['value'])),'GeometricTranslation'in aq&&(ar['translation']=aq['GeometricTranslation']['value']),'GeometricRotation'in aq&&(ar['rotation']=aq['GeometricRotation']['value']),'GeometricScaling'in aq&&(ar['scale']=aq['GeometricScaling']['value']);const as=oe(ar);return this[bI(0x138)](ak,ap,an,as);}['genGeometry'](aj,ak,al,am){const bJ=b2,an=new a5();aj['attrName']&&(an['name']=aj['attrName']);const ao=this['parseGeoNode'](aj,ak),ap=this['genBuffers'](ao),aq=new a6(ap['vertex'],0x3);if(aq['applyMatrix4'](am),an['setAttribute'](bJ(0x15d),aq),ap['colors']['length']>0x0&&an[bJ(0x16c)](bJ(0x1c0),new a6(ap['colors'],0x3)),ak&&(an['setAttribute'](bJ(0x1ee),new a7(ap[bJ(0x196)],0x4)),an['setAttribute']('skinWeight',new a6(ap['vertexWeights'],0x4)),an['FBX_Deformer']=ak),ap[bJ(0x130)]['length']>0x0){const ar=new a8()['getNormalMatrix'](am),as=new a6(ap['normal'],0x3);as['applyNormalMatrix'](ar),an[bJ(0x16c)]('normal',as);}if(ap['uvs'][bJ(0x1fb)](function(at,au){const av=au===0x0?'uv':'uv'+au;an['setAttribute'](av,new a6(ap['uvs'][au],0x2));}),ao[bJ(0x151)]&&ao['material']['mappingType']!=='AllSame'){let at=ap[bJ(0x1f0)][0x0],au=0x0;if(ap['materialIndex']['forEach'](function(av,aw){av!==at&&(an['addGroup'](au,aw-au,at),at=av,au=aw);}),an['groups']['length']>0x0){const av=an['groups'][an['groups'][bJ(0x1f5)]-0x1],aw=av['start']+av['count'];aw!==ap['materialIndex']['length']&&an['addGroup'](aw,ap['materialIndex']['length']-aw,at);}an['groups']['length']===0x0&&an[bJ(0x177)](0x0,ap['materialIndex']['length'],ap['materialIndex'][0x0]);}return this['addMorphTargets'](an,aj,al,am),an;}['parseGeoNode'](aj,ak){const bK=b2,al={};if(al[bK(0x1ff)]=aj['Vertices']!==void 0x0?aj[bK(0x1e6)]['a']:[],al['vertexIndices']=aj[bK(0x16e)]!==void 0x0?aj['PolygonVertexIndex']['a']:[],aj['LayerElementColor']&&aj['LayerElementColor'][0x0]['Colors']&&(al['color']=this[bK(0x180)](aj['LayerElementColor'][0x0])),aj['LayerElementMaterial']&&(al['material']=this['parseMaterialIndices'](aj[bK(0x11c)][0x0])),aj['LayerElementNormal']&&(al['normal']=this['parseNormals'](aj['LayerElementNormal'][0x0])),aj['LayerElementUV']){al['uv']=[];let am=0x0;for(;aj['LayerElementUV'][am];)aj['LayerElementUV'][am]['UV']&&al['uv']['push'](this['parseUVs'](aj[bK(0x13e)][am])),am++;}return al[bK(0x1cf)]={},ak!==null&&(al['skeleton']=ak,ak['rawBones']['forEach'](function(an,ao){an['indices']['forEach'](function(ap,aq){const bL=c;al['weightTable'][ap]===void 0x0&&(al['weightTable'][ap]=[]),al[bL(0x1cf)][ap]['push']({'id':ao,'weight':an['weights'][aq]});});})),al;}['genBuffers'](aj){const bM=b2,ak={'vertex':[],'normal':[],'colors':[],'uvs':[],'materialIndex':[],'vertexWeights':[],'weightsIndices':[]};let al=0x0,am=0x0,an=!0x1,ao=[],ap=[],aq=[],ar=[],as=[],at=[];const au=this;return aj[bM(0x1d2)]['forEach'](function(av,aw){const bN=bM;let ax,ay=!0x1;av<0x0&&(av=av^-0x1,ay=!0x0);let az=[],aA=[];if(ao['push'](av*0x3,av*0x3+0x1,av*0x3+0x2),aj['color']){const aB=K(aw,al,av,aj['color']);aq['push'](aB[0x0],aB[0x1],aB[0x2]);}if(aj['skeleton']){if(aj['weightTable'][av]!==void 0x0&&aj['weightTable'][av][bN(0x1fb)](function(aC){const bO=bN;aA[bO(0x14d)](aC['weight']),az['push'](aC['id']);}),aA['length']>0x4){an||(console['warn'](bN(0x1cc)),an=!0x0);const aC=[0x0,0x0,0x0,0x0],aD=[0x0,0x0,0x0,0x0];aA['forEach'](function(aE,aF){let aG=aE,aH=az[aF];aD['forEach'](function(aI,aJ,aK){if(aG>aI){aK[aJ]=aG,aG=aI;const aL=aC[aJ];aC[aJ]=aH,aH=aL;}});}),az=aC,aA=aD;}for(;aA['length']<0x4;)aA[bN(0x14d)](0x0),az['push'](0x0);for(let aE=0x0;aE<0x4;++aE)as['push'](aA[aE]),at[bN(0x14d)](az[aE]);}if(aj['normal']){const aF=K(aw,al,av,aj['normal']);ap['push'](aF[0x0],aF[0x1],aF[0x2]);}aj['material']&&aj[bN(0x151)][bN(0x1f9)]!=='AllSame'&&(ax=K(aw,al,av,aj[bN(0x151)])[0x0],ax<0x0&&(au['negativeMaterialIndices']=!0x0,ax=0x0)),aj['uv']&&aj['uv']['forEach'](function(aG,aH){const aI=K(aw,al,av,aG);ar[aH]===void 0x0&&(ar[aH]=[]),ar[aH]['push'](aI[0x0]),ar[aH]['push'](aI[0x1]);}),am++,ay&&(au['genFace'](ak,aj,ao,ax,ap,aq,ar,as,at,am),al++,am=0x0,ao=[],ap=[],aq=[],ar=[],as=[],at=[]);}),ak;}['getNormalNewell'](aj){const bP=b2,ak=new e(0x0,0x0,0x0);for(let al=0x0;al<aj['length'];al++){const am=aj[al],an=aj[(al+0x1)%aj['length']];ak['x']+=(am['y']-an['y'])*(am['z']+an['z']),ak['y']+=(am['z']-an['z'])*(am['x']+an['x']),ak['z']+=(am['x']-an['x'])*(am['y']+an['y']);}return ak[bP(0x124)](),ak;}['getNormalTangentAndBitangent'](aj){const bQ=b2,ak=this['getNormalNewell'](aj),al=(Math['abs'](ak['z'])>0.5?new e(0x0,0x1,0x0):new e(0x0,0x0,0x1))['cross'](ak)[bQ(0x124)](),am=ak['clone']()['cross'](al)['normalize']();return{'normal':ak,'tangent':al,'bitangent':am};}['flattenVertex'](aj,ak,al){const bR=b2;return new a9(aj[bR(0x11d)](ak),aj['dot'](al));}['genFace'](aj,ak,al,am,an,ao,ap,aq,ar,as){const bS=b2;let at;if(as>0x3){const au=[],av=ak['baseVertexPositions']||ak['vertexPositions'];for(let az=0x0;az<al['length'];az+=0x3)au[bS(0x14d)](new e(av[al[az]],av[al[az+0x1]],av[al[az+0x2]]));const {tangent:aw,bitangent:ax}=this['getNormalTangentAndBitangent'](au),ay=[];for(const aA of au)ay['push'](this['flattenVertex'](aA,aw,ax));at=aa[bS(0x153)](ay,[]);}else at=[[0x0,0x1,0x2]];for(const [aB,aC,aD]of at)aj['vertex']['push'](ak[bS(0x1ff)][al[aB*0x3]]),aj['vertex'][bS(0x14d)](ak['vertexPositions'][al[aB*0x3+0x1]]),aj['vertex']['push'](ak['vertexPositions'][al[aB*0x3+0x2]]),aj['vertex'][bS(0x14d)](ak['vertexPositions'][al[aC*0x3]]),aj['vertex']['push'](ak['vertexPositions'][al[aC*0x3+0x1]]),aj['vertex']['push'](ak['vertexPositions'][al[aC*0x3+0x2]]),aj['vertex'][bS(0x14d)](ak[bS(0x1ff)][al[aD*0x3]]),aj[bS(0x197)]['push'](ak[bS(0x1ff)][al[aD*0x3+0x1]]),aj['vertex'][bS(0x14d)](ak['vertexPositions'][al[aD*0x3+0x2]]),ak['skeleton']&&(aj['vertexWeights']['push'](aq[aB*0x4]),aj[bS(0x1c3)]['push'](aq[aB*0x4+0x1]),aj['vertexWeights']['push'](aq[aB*0x4+0x2]),aj['vertexWeights']['push'](aq[aB*0x4+0x3]),aj['vertexWeights'][bS(0x14d)](aq[aC*0x4]),aj['vertexWeights'][bS(0x14d)](aq[aC*0x4+0x1]),aj['vertexWeights']['push'](aq[aC*0x4+0x2]),aj['vertexWeights']['push'](aq[aC*0x4+0x3]),aj['vertexWeights']['push'](aq[aD*0x4]),aj['vertexWeights']['push'](aq[aD*0x4+0x1]),aj[bS(0x1c3)]['push'](aq[aD*0x4+0x2]),aj[bS(0x1c3)]['push'](aq[aD*0x4+0x3]),aj[bS(0x196)][bS(0x14d)](ar[aB*0x4]),aj['weightsIndices']['push'](ar[aB*0x4+0x1]),aj['weightsIndices']['push'](ar[aB*0x4+0x2]),aj['weightsIndices']['push'](ar[aB*0x4+0x3]),aj['weightsIndices']['push'](ar[aC*0x4]),aj['weightsIndices']['push'](ar[aC*0x4+0x1]),aj['weightsIndices'][bS(0x14d)](ar[aC*0x4+0x2]),aj['weightsIndices']['push'](ar[aC*0x4+0x3]),aj['weightsIndices']['push'](ar[aD*0x4]),aj['weightsIndices']['push'](ar[aD*0x4+0x1]),aj['weightsIndices']['push'](ar[aD*0x4+0x2]),aj['weightsIndices']['push'](ar[aD*0x4+0x3])),ak['color']&&(aj['colors']['push'](ao[aB*0x3]),aj['colors']['push'](ao[aB*0x3+0x1]),aj[bS(0x141)]['push'](ao[aB*0x3+0x2]),aj[bS(0x141)][bS(0x14d)](ao[aC*0x3]),aj['colors'][bS(0x14d)](ao[aC*0x3+0x1]),aj['colors']['push'](ao[aC*0x3+0x2]),aj['colors']['push'](ao[aD*0x3]),aj[bS(0x141)][bS(0x14d)](ao[aD*0x3+0x1]),aj['colors']['push'](ao[aD*0x3+0x2])),ak['material']&&ak[bS(0x151)][bS(0x1f9)]!=='AllSame'&&(aj['materialIndex']['push'](am),aj['materialIndex']['push'](am),aj['materialIndex'][bS(0x14d)](am)),ak['normal']&&(aj[bS(0x130)]['push'](an[aB*0x3]),aj[bS(0x130)]['push'](an[aB*0x3+0x1]),aj['normal']['push'](an[aB*0x3+0x2]),aj[bS(0x130)][bS(0x14d)](an[aC*0x3]),aj['normal']['push'](an[aC*0x3+0x1]),aj['normal']['push'](an[aC*0x3+0x2]),aj['normal']['push'](an[aD*0x3]),aj['normal'][bS(0x14d)](an[aD*0x3+0x1]),aj[bS(0x130)]['push'](an[aD*0x3+0x2])),ak['uv']&&ak['uv']['forEach'](function(aE,aF){const bT=bS;aj['uvs'][aF]===void 0x0&&(aj['uvs'][aF]=[]),aj['uvs'][aF][bT(0x14d)](ap[aF][aB*0x2]),aj[bT(0x1d5)][aF]['push'](ap[aF][aB*0x2+0x1]),aj['uvs'][aF]['push'](ap[aF][aC*0x2]),aj['uvs'][aF]['push'](ap[aF][aC*0x2+0x1]),aj['uvs'][aF]['push'](ap[aF][aD*0x2]),aj['uvs'][aF]['push'](ap[aF][aD*0x2+0x1]);});}['addMorphTargets'](aj,ak,al,am){if(al['length']===0x0)return;aj['morphTargetsRelative']=!0x0,aj['morphAttributes']['position']=[];const an=am['clone']()['setPosition'](0x0,0x0,0x0),ao=this;al['forEach'](function(ap){ap['rawTargets']['forEach'](function(aq){const bU=c,ar=y['Objects'][bU(0x1e0)][aq['geoID']];ar!==void 0x0&&ao['genMorphGeometry'](aj,ak,ar,an,aq['name']);});});}['genMorphGeometry'](aj,ak,al,am,an){const bV=b2,ao=ak['Vertices']!==void 0x0?ak['Vertices']['a']:[],ap=ak['PolygonVertexIndex']!==void 0x0?ak[bV(0x16e)]['a']:[],aq=al['Vertices']!==void 0x0?al['Vertices']['a']:[],ar=al['Indexes']!==void 0x0?al['Indexes']['a']:[],as=aj['attributes']['position']['count']*0x3,at=new Float32Array(as);for(let ax=0x0;ax<ar['length'];ax++){const ay=ar[ax]*0x3;at[ay]=aq[ax*0x3],at[ay+0x1]=aq[ax*0x3+0x1],at[ay+0x2]=aq[ax*0x3+0x2];}const au={'vertexIndices':ap,'vertexPositions':at,'baseVertexPositions':ao},av=this['genBuffers'](au),aw=new a6(av[bV(0x197)],0x3);aw['name']=an||al['attrName'],aw['applyMatrix4'](am),aj['morphAttributes']['position']['push'](aw);}['parseNormals'](aj){const bW=b2,ak=aj['MappingInformationType'],al=aj['ReferenceInformationType'],am=aj['Normals']['a'];let an=[];return al===bW(0x165)&&('NormalIndex'in aj?an=aj['NormalIndex']['a']:'NormalsIndex'in aj&&(an=aj[bW(0x1b2)]['a'])),{'dataSize':0x3,'buffer':am,'indices':an,'mappingType':ak,'referenceType':al};}[b2(0x172)](aj){const ak=aj['MappingInformationType'],al=aj['ReferenceInformationType'],am=aj['UV']['a'];let an=[];return al==='IndexToDirect'&&(an=aj['UVIndex']['a']),{'dataSize':0x2,'buffer':am,'indices':an,'mappingType':ak,'referenceType':al};}['parseVertexColors'](aj){const bX=b2,ak=aj['MappingInformationType'],al=aj['ReferenceInformationType'],am=aj['Colors']['a'];let an=[];al==='IndexToDirect'&&(an=aj['ColorIndex']['a']);for(let ao=0x0,ap=new r();ao<am[bX(0x1f5)];ao+=0x4)ap[bX(0x1d0)](am,ao),p[bX(0x195)](ap,s),ap['toArray'](am,ao);return{'dataSize':0x4,'buffer':am,'indices':an,'mappingType':ak,'referenceType':al};}['parseMaterialIndices'](aj){const bY=b2,ak=aj[bY(0x134)],al=aj['ReferenceInformationType'];if(ak==='NoMappingInformation')return{'dataSize':0x1,'buffer':[0x0],'indices':[0x0],'mappingType':'AllSame','referenceType':al};const am=aj[bY(0x200)]['a'],an=[];for(let ao=0x0;ao<am['length'];++ao)an['push'](ao);return{'dataSize':0x1,'buffer':am,'indices':an,'mappingType':ak,'referenceType':al};}[b2(0x171)](aj){const bZ=b2,ak=parseInt(aj['Order']);if(isNaN(ak))return console['error'](bZ(0x16f),aj['Order'],aj['id']),new a5();const al=ak-0x1,am=aj['KnotVector']['a'],an=[],ao=aj['Points']['a'];for(let as=0x0,at=ao['length'];as<at;as+=0x4)an['push'](new d()['fromArray'](ao,as));let ap,aq;if(aj['Form']===bZ(0x1c7))an['push'](an[0x0]);else{if(aj['Form']==='Periodic'){ap=al,aq=am['length']-0x1-ap;for(let au=0x0;au<al;++au)an[bZ(0x14d)](an[au]);}}const ar=new je(al,am,an,ap,aq)['getPoints'](an['length']*0xc);return new a5()[bZ(0x18b)](ar);}}class Ke{['parse'](){const aj=[],ak=this['parseClips']();if(ak!==void 0x0)for(const al in ak){const am=ak[al],an=this['addClip'](am);aj['push'](an);}return aj;}['parseClips'](){if(y['Objects']['AnimationCurve']===void 0x0)return;const aj=this['parseAnimationCurveNodes']();this['parseAnimationCurves'](aj);const ak=this['parseAnimationLayers'](aj);return this['parseAnimStacks'](ak);}['parseAnimationCurveNodes'](){const aj=y['Objects']['AnimationCurveNode'],ak=new Map();for(const al in aj){const am=aj[al];if(am['attrName']['match'](/S|R|T|DeformPercent/)!==null){const an={'id':am['id'],'attr':am['attrName'],'curves':{}};ak['set'](an['id'],an);}}return ak;}['parseAnimationCurves'](aj){const c0=b2,ak=y['Objects']['AnimationCurve'];for(const al in ak){const am={'id':ak[al]['id'],'times':ak[al]['KeyTime']['a'][c0(0x203)](qe),'values':ak[al]['KeyValueFloat']['a']},an=x['get'](am['id']);if(an!==void 0x0){const ao=an['parents'][0x0]['ID'],ap=an[c0(0x145)][0x0]['relationship'];ap[c0(0x1c9)](/X/)?aj['get'](ao)[c0(0x1a8)]['x']=am:ap[c0(0x1c9)](/Y/)?aj['get'](ao)['curves']['y']=am:ap['match'](/Z/)?aj['get'](ao)['curves']['z']=am:ap['match'](/DeformPercent/)&&aj['has'](ao)&&(aj['get'](ao)['curves'][c0(0x1bf)]=am);}}}['parseAnimationLayers'](aj){const c1=b2,ak=y['Objects'][c1(0x201)],al=new Map();for(const am in ak){const an=[],ao=x['get'](parseInt(am));ao!==void 0x0&&(ao['children']['forEach'](function(ap,aq){const c2=c1;if(aj['has'](ap['ID'])){const ar=aj['get'](ap['ID']);if(ar[c2(0x1a8)]['x']!==void 0x0||ar['curves']['y']!==void 0x0||ar['curves']['z']!==void 0x0){if(an[aq]===void 0x0){const as=x['get'](ap['ID'])['parents']['filter'](function(au){return au['relationship']!==void 0x0;});if(as['length']===0x0)return;const at=as[0x0]['ID'];if(at!==void 0x0){const au=y['Objects'][c2(0x1b4)][at['toString']()];if(au===void 0x0){console['warn']('THREE.FBXLoader:\x20Encountered\x20a\x20unused\x20curve.',ap);return;}const av={'modelName':au['attrName']?A['sanitizeNodeName'](au['attrName']):'','ID':au['id'],'initialPosition':[0x0,0x0,0x0],'initialRotation':[0x0,0x0,0x0],'initialScale':[0x1,0x1,0x1]};P['traverse'](function(aw){const c3=c2;aw['ID']===au['id']&&(av['transform']=aw['matrix'],aw['userData']['transformData']&&(av['eulerOrder']=aw['userData'][c3(0x182)]['eulerOrder'],aw['userData']['transformData'][c3(0x15f)]&&(av['initialRotation']=aw['userData'][c3(0x182)]['rotation'])));}),av[c2(0x148)]||(av['transform']=new u()),'PreRotation'in au&&(av['preRotation']=au['PreRotation']['value']),'PostRotation'in au&&(av['postRotation']=au['PostRotation']['value']),an[aq]=av;}}an[aq]&&(an[aq][ar['attr']]=ar);}else{if(ar['curves'][c2(0x1bf)]!==void 0x0){if(an[aq]===void 0x0){const aw=x['get'](ap['ID'])['parents']['filter'](function(aD){const c4=c2;return aD[c4(0x157)]!==void 0x0;});if(aw['length']===0x0)return;const ax=aw[0x0]['ID'],ay=x['get'](ax)['parents'][0x0]['ID'],az=x['get'](ay)['parents'][0x0]['ID'],aA=x[c2(0x1a1)](az)['parents'][0x0]['ID'],aB=y['Objects']['Model'][aA],aC={'modelName':aB[c2(0x18c)]?A['sanitizeNodeName'](aB[c2(0x18c)]):'','morphName':y['Objects']['Deformer'][ax]['attrName']};an[aq]=aC;}an[aq][ar['attr']]=ar;}}}}),al['set'](parseInt(am),an));}return al;}['parseAnimStacks'](aj){const c5=b2,ak=y['Objects']['AnimationStack'],al={};for(const am in ak){const an=x['get'](parseInt(am))['children'];an[c5(0x1f5)]>0x1&&console['warn']('THREE.FBXLoader:\x20Encountered\x20an\x20animation\x20stack\x20with\x20multiple\x20layers,\x20this\x20is\x20currently\x20not\x20supported.\x20Ignoring\x20subsequent\x20layers.');const ao=aj[c5(0x1a1)](an[0x0]['ID']);al[am]={'name':ak[am]['attrName'],'layer':ao};}return al;}['addClip'](aj){let ak=[];const al=this;return aj['layer']['forEach'](function(am){ak=ak['concat'](al['generateTracks'](am));}),new ab(aj['name'],-0x1,ak);}[b2(0x1fc)](aj){const c6=b2,ak=[];let al=new e(),am=new e();if(aj['transform']&&aj[c6(0x148)]['decompose'](al,new ac(),am),al=al['toArray'](),am=am['toArray'](),aj['T']!==void 0x0&&Object[c6(0x204)](aj['T']['curves'])['length']>0x0){const an=this['generateVectorTrack'](aj['modelName'],aj['T']['curves'],al,'position');an!==void 0x0&&ak['push'](an);}if(aj['R']!==void 0x0&&Object['keys'](aj['R']['curves'])['length']>0x0){const ao=this['generateRotationTrack'](aj['modelName'],aj['R']['curves'],aj['preRotation'],aj['postRotation'],aj['eulerOrder'],aj['initialRotation']);ao!==void 0x0&&ak['push'](ao);}if(aj['S']!==void 0x0&&Object['keys'](aj['S'][c6(0x1a8)])['length']>0x0){const ap=this['generateVectorTrack'](aj['modelName'],aj['S'][c6(0x1a8)],am,'scale');ap!==void 0x0&&ak['push'](ap);}if(aj['DeformPercent']!==void 0x0){const aq=this['generateMorphTrack'](aj);aq!==void 0x0&&ak['push'](aq);}return ak;}['generateVectorTrack'](aj,ak,al,am){const an=this['getTimesForAllAxes'](ak),ao=this['getKeyframeTrackValues'](an,ak,al);return new ad(aj+'.'+am,an,ao);}['generateRotationTrack'](aj,ak,al,am,an,ao){const c7=b2;let ap,aq;if(ak['x']!==void 0x0||ak['y']!==void 0x0||ak['z']!==void 0x0){const av=this[c7(0x1f8)](ak);if(av['length']>0x0){const aw=ao||[0x0,0x0,0x0],ax=this['synchronizeCurve'](ak['x'],av,aw[0x0]),ay=this['synchronizeCurve'](ak['y'],av,aw[0x1]),az=this['synchronizeCurve'](ak['z'],av,aw[0x2]),aA=this['interpolateRotations'](ax,ay,az,an);ap=aA[0x0],aq=aA[0x1];}}const ar=z(0x0);al!==void 0x0&&(al=al['map'](L['degToRad']),al['push'](ar),al=new af()['fromArray'](al),al=new ac()['setFromEuler'](al)),am!==void 0x0&&(am=am['map'](L['degToRad']),am['push'](ar),am=new af()['fromArray'](am),am=new ac()['setFromEuler'](am)['invert']());const as=new ac(),at=new af(),au=[];if(!(!aq||!ap)){for(let aB=0x0;aB<aq['length'];aB+=0x3)at['set'](aq[aB],aq[aB+0x1],aq[aB+0x2],an),as['setFromEuler'](at),al!==void 0x0&&as['premultiply'](al),am!==void 0x0&&as[c7(0x126)](am),aB>0x2&&new ac()['fromArray'](au,(aB-0x3)/0x3*0x4)['dot'](as)<0x0&&as['set'](-as['x'],-as['y'],-as['z'],-as['w']),as['toArray'](au,aB/0x3*0x4);return new ag(aj+'.quaternion',ap,au);}}['generateMorphTrack'](aj){const ak=aj['DeformPercent']['curves']['morph'],al=ak['values']['map'](function(an){return an/0x64;}),am=P['getObjectByName'](aj['modelName'])['morphTargetDictionary'][aj['morphName']];return new ah(aj['modelName']+'.morphTargetInfluences['+am+']',ak['times'],al);}['getTimesForAllAxes'](aj){const c8=b2;let ak=[];if(aj['x']!==void 0x0&&(ak=ak['concat'](aj['x']['times'])),aj['y']!==void 0x0&&(ak=ak['concat'](aj['y']['times'])),aj['z']!==void 0x0&&(ak=ak[c8(0x1fd)](aj['z'][c8(0x16a)])),ak=ak['sort'](function(al,am){return al-am;}),ak['length']>0x1){let al=0x1,am=ak[0x0];for(let an=0x1;an<ak['length'];an++){const ao=ak[an];ao!==am&&(ak[al]=ao,am=ao,al++);}ak=ak['slice'](0x0,al);}return ak;}[b2(0x176)](aj,ak,al){const c9=b2,am=al,an=[];let ao=-0x1,ap=-0x1,aq=-0x1;return aj[c9(0x1fb)](function(ar){const ca=c9;if(ak['x']&&(ao=ak['x']['times']['indexOf'](ar)),ak['y']&&(ap=ak['y']['times']['indexOf'](ar)),ak['z']&&(aq=ak['z']['times']['indexOf'](ar)),ao!==-0x1){const as=ak['x']['values'][ao];an['push'](as),am[0x0]=as;}else an['push'](am[0x0]);if(ap!==-0x1){const at=ak['y'][ca(0x1f4)][ap];an[ca(0x14d)](at),am[0x1]=at;}else an['push'](am[0x1]);if(aq!==-0x1){const au=ak['z']['values'][aq];an['push'](au),am[0x2]=au;}else an[ca(0x14d)](am[0x2]);}),an;}['synchronizeCurve'](aj,ak,al){const cb=b2;if(aj===void 0x0)return{'times':ak,'values':ak['map'](()=>al)};if(aj['times']['length']===ak['length'])return aj;const am=[];for(let an=0x0;an<ak[cb(0x1f5)];an++)am['push'](this[cb(0x18f)](aj,ak[an],al));return{'times':ak,'values':am};}[b2(0x18f)](aj,ak,al){const cc=b2,am=aj['times'],an=aj['values'];if(ak<=am[0x0])return an[0x0];if(ak>=am[am['length']-0x1])return an[an[cc(0x1f5)]-0x1];for(let ao=0x0;ao<am[cc(0x1f5)]-0x1;ao++)if(ak>=am[ao]&&ak<=am[ao+0x1]){if(am[ao]===ak)return an[ao];const ap=(ak-am[ao])/(am[ao+0x1]-am[ao]);return an[ao]*(0x1-ap)+an[ao+0x1]*ap;}return al;}['interpolateRotations'](aj,ak,al,am){const cd=b2,an=[],ao=[];an['push'](aj['times'][0x0]),ao['push'](L['degToRad'](aj['values'][0x0])),ao['push'](L['degToRad'](ak['values'][0x0])),ao['push'](L['degToRad'](al['values'][0x0]));for(let ap=0x1;ap<aj['values']['length'];ap++){const aq=[aj['values'][ap-0x1],ak['values'][ap-0x1],al['values'][ap-0x1]];if(isNaN(aq[0x0])||isNaN(aq[0x1])||isNaN(aq[0x2]))continue;const ar=aq[cd(0x203)](L['degToRad']),as=[aj[cd(0x1f4)][ap],ak['values'][ap],al['values'][ap]];if(isNaN(as[0x0])||isNaN(as[0x1])||isNaN(as[0x2]))continue;const at=as['map'](L[cd(0x12d)]),au=[as[0x0]-aq[0x0],as[0x1]-aq[0x1],as[0x2]-aq[0x2]],av=[Math['abs'](au[0x0]),Math['abs'](au[0x1]),Math[cd(0x12f)](au[0x2])];if(av[0x0]>=0xb4||av[0x1]>=0xb4||av[0x2]>=0xb4){const aw=Math['max'](...av)/0xb4,ax=new af(...ar,am),ay=new af(...at,am),az=new ac()['setFromEuler'](ax),aA=new ac()['setFromEuler'](ay);az['dot'](aA)<0x0&&aA['set'](-aA['x'],-aA['y'],-aA['z'],-aA['w']);const aB=aj[cd(0x16a)][ap-0x1],aC=aj['times'][ap]-aB,aD=new ac(),aE=new af();for(let aF=0x0;aF<0x1;aF+=0x1/aw)aD['copy'](az['clone']()['slerp'](aA['clone'](),aF)),an['push'](aB+aF*aC),aE['setFromQuaternion'](aD,am),ao['push'](aE['x']),ao['push'](aE['y']),ao[cd(0x14d)](aE['z']);}else an['push'](aj['times'][ap]),ao['push'](L['degToRad'](aj[cd(0x1f4)][ap])),ao['push'](L['degToRad'](ak['values'][ap])),ao['push'](L['degToRad'](al['values'][ap]));}return[an,ao];}}class We{['getPrevNode'](){return this['nodeStack'][this['currentIndent']-0x2];}['getCurrentNode'](){const ce=b2;return this[ce(0x1d1)][this['currentIndent']-0x1];}[b2(0x14b)](){return this['currentProp'];}['pushStack'](aj){this['nodeStack']['push'](aj),this['currentIndent']+=0x1;}[b2(0x131)](){const cf=b2;this[cf(0x1d1)]['pop'](),this[cf(0x129)]-=0x1;}[b2(0x1c8)](aj,ak){this['currentProp']=aj,this['currentPropName']=ak;}['parse'](aj){const cg=b2;this[cg(0x129)]=0x0,this['allNodes']=new ae(),this['nodeStack']=[],this['currentProp']=[],this['currentPropName']='';const ak=this,al=aj['split'](/[\r\n]+/);return al[cg(0x1fb)](function(am,an){const ch=cg,ao=am[ch(0x1c9)](/^[\s\t]*;/),ap=am[ch(0x1c9)](/^[\s\t]*$/);if(ao||ap)return;const aq=am['match']('^\x5ct{'+ak['currentIndent']+'}(\x5cw+):(.*){',''),ar=am[ch(0x1c9)]('^\x5ct{'+ak[ch(0x129)]+'}(\x5cw+):[\x5cs\x5ct\x5cr\x5cn](.*)'),as=am['match']('^\x5ct{'+(ak['currentIndent']-0x1)+'}}');aq?ak['parseNodeBegin'](am,aq):ar?ak['parseNodeProperty'](am,ar,al[++an]):as?ak['popStack']():am['match'](/^[^\s\t}]/)&&ak['parseNodePropertyContinued'](am);}),this['allNodes'];}[b2(0x1cb)](aj,ak){const ci=b2,al=ak[0x1]['trim']()['replace'](/^"/,'')['replace'](/"$/,''),am=ak[0x2][ci(0x1ad)](',')['map'](function(aq){return aq['trim']()['replace'](/^"/,'')['replace'](/"$/,'');}),an={'name':al},ao=this['parseNodeAttr'](am),ap=this['getCurrentNode']();this['currentIndent']===0x0?this[ci(0x14e)]['add'](al,an):al in ap?(al==='PoseNode'?ap['PoseNode']['push'](an):ap[al]['id']!==void 0x0&&(ap[al]={},ap[al][ap[al]['id']]=ap[al]),ao['id']!==''&&(ap[al][ao['id']]=an)):typeof ao['id']==ci(0x1bd)?(ap[al]={},ap[al][ao['id']]=an):al!=='Properties70'&&(al===ci(0x12e)?ap[al]=[an]:ap[al]=an),typeof ao['id']=='number'&&(an['id']=ao['id']),ao['name']!==''&&(an[ci(0x18c)]=ao['name']),ao['type']!==''&&(an['attrType']=ao['type']),this['pushStack'](an);}['parseNodeAttr'](aj){let ak=aj[0x0];aj[0x0]!==''&&(ak=parseInt(aj[0x0]),isNaN(ak)&&(ak=aj[0x0]));let al='',am='';return aj['length']>0x1&&(al=aj[0x1]['replace'](/^(\w+)::/,''),am=aj[0x2]),{'id':ak,'name':al,'type':am};}['parseNodeProperty'](aj,ak,al){const cj=b2;let am=ak[0x1]['replace'](/^"/,'')['replace'](/"$/,'')['trim'](),an=ak[0x2]['replace'](/^"/,'')['replace'](/"$/,'')['trim']();am==='Content'&&an===','&&(an=al[cj(0x175)](/"/g,'')['replace'](/,$/,'')[cj(0x1b9)]());const ao=this['getCurrentNode']();if(ao[cj(0x15e)]===cj(0x190)){this['parseNodeSpecialProperty'](aj,am,an);return;}if(am==='C'){const ap=an['split'](',')[cj(0x1db)](0x1),aq=parseInt(ap[0x0]),ar=parseInt(ap[0x1]);let as=an['split'](',')[cj(0x1db)](0x3);as=as[cj(0x203)](function(at){return at['trim']()['replace'](/^"/,'');}),am='connections',an=[aq,ar],$e(an,as),ao[am]===void 0x0&&(ao[am]=[]);}am==='Node'&&(ao['id']=an),am in ao&&Array[cj(0x1a5)](ao[am])?ao[am]['push'](an):am!=='a'?ao[am]=an:ao['a']=an,this['setCurrentProp'](ao,am),am==='a'&&an['slice'](-0x1)!==','&&(ao['a']=q(an));}['parseNodePropertyContinued'](aj){const ak=this['getCurrentNode']();ak['a']+=aj,aj['slice'](-0x1)!==','&&(ak['a']=q(ak['a']));}['parseNodeSpecialProperty'](aj,ak,al){const ck=b2,am=al['split']('\x22,')[ck(0x203)](function(as){const cl=ck;return as['trim']()[cl(0x175)](/^\"/,'')['replace'](/\s/,'_');}),an=am[0x0],ao=am[0x1],ap=am[0x2],aq=am[0x3];let ar=am[0x4];switch(ao){case ck(0x133):case'enum':case'bool':case'ULongLong':case ck(0x1c5):case'Number':case ck(0x19e):ar=parseFloat(ar);break;case'Color':case'ColorRGB':case ck(0x1e2):case'Lcl_Translation':case'Lcl_Rotation':case ck(0x18a):ar=q(ar);break;}this['getPrevNode']()[an]={'type':ao,'type2':ap,'flag':aq,'value':ar},this['setCurrentProp'](this['getPrevNode'](),an);}}class Ne{['parse'](aj){const cm=b2,ak=new re(aj);ak['skip'](0x17);const al=ak['getUint32']();if(al<0x1900)throw new Error(cm(0x12c)+al);const am=new ae();for(;!this['endOfContent'](ak);){const an=this['parseNode'](ak,al);an!==null&&am['add'](an[cm(0x15e)],an);}return am;}['endOfContent'](aj){const cn=b2;return aj['size']()%0x10===0x0?(aj['getOffset']()+0xa0+0x10&-0x10)>=aj['size']():aj[cn(0x1a4)]()+0xa0+0x10>=aj['size']();}[b2(0x121)](aj,ak){const co=b2,al={},am=ak>=0x1d4c?aj['getUint64']():aj['getUint32'](),an=ak>=0x1d4c?aj[co(0x155)]():aj['getUint32']();ak>=0x1d4c?aj['getUint64']():aj[co(0x19f)]();const ao=aj['getUint8'](),ap=aj['getString'](ao);if(am===0x0)return null;const aq=[];for(let au=0x0;au<an;au++)aq['push'](this['parseProperty'](aj));const ar=aq['length']>0x0?aq[0x0]:'',as=aq['length']>0x1?aq[0x1]:'',at=aq['length']>0x2?aq[0x2]:'';for(al['singleProperty']=an===0x1&&aj['getOffset']()===am;am>aj['getOffset']();){const av=this['parseNode'](aj,ak);av!==null&&this[co(0x1da)](ap,al,av);}return al['propertyList']=aq,typeof ar=='number'&&(al['id']=ar),as!==''&&(al['attrName']=as),at!==''&&(al[co(0x1ac)]=at),ap!==''&&(al['name']=ap),al;}['parseSubNode'](aj,ak,al){const cp=b2;if(al['singleProperty']===!0x0){const am=al['propertyList'][0x0];Array['isArray'](am)?(ak[al['name']]=al,al['a']=am):ak[al['name']]=am;}else{if(aj==='Connections'&&al[cp(0x15e)]==='C'){const an=[];al['propertyList']['forEach'](function(ao,ap){const cq=cp;ap!==0x0&&an[cq(0x14d)](ao);}),ak['connections']===void 0x0&&(ak['connections']=[]),ak[cp(0x188)]['push'](an);}else{if(al['name']==='Properties70')Object['keys'](al)['forEach'](function(ao){ak[ao]=al[ao];});else{if(aj===cp(0x190)&&al['name']==='P'){let ao=al['propertyList'][0x0],ap=al['propertyList'][0x1];const aq=al[cp(0x11f)][0x2],ar=al[cp(0x11f)][0x3];let as;ao['indexOf']('Lcl\x20')===0x0&&(ao=ao['replace']('Lcl\x20','Lcl_')),ap['indexOf'](cp(0x19c))===0x0&&(ap=ap['replace']('Lcl\x20',cp(0x1cd))),ap==='Color'||ap===cp(0x143)||ap==='Vector'||ap==='Vector3D'||ap['indexOf'](cp(0x1cd))===0x0?as=[al[cp(0x11f)][0x4],al['propertyList'][0x5],al['propertyList'][0x6]]:as=al['propertyList'][0x4],ak[ao]={'type':ap,'type2':aq,'flag':ar,'value':as};}else ak[al['name']]===void 0x0?typeof al['id']==cp(0x1bd)?(ak[al['name']]={},ak[al['name']][al['id']]=al):ak[al['name']]=al:al['name']==='PoseNode'?(Array['isArray'](ak[al['name']])||(ak[al['name']]=[ak[al['name']]]),ak[al[cp(0x15e)]]['push'](al)):ak[al['name']][al['id']]===void 0x0&&(ak[al['name']][al['id']]=al);}}}}['parseProperty'](aj){const cr=b2,ak=aj['getString'](0x1);let al;switch(ak){case'C':return aj['getBoolean']();case'D':return aj[cr(0x1b3)]();case'F':return aj['getFloat32']();case'I':return aj['getInt32']();case'L':return aj['getInt64']();case'R':return al=aj[cr(0x19f)](),aj[cr(0x184)](al);case'S':return al=aj['getUint32'](),aj['getString'](al);case'Y':return aj['getInt16']();case'b':case'c':case'd':case'f':case'i':case'l':const am=aj['getUint32'](),an=aj['getUint32'](),ao=aj['getUint32']();if(an===0x0)switch(ak){case'b':case'c':return aj['getBooleanArray'](am);case'd':return aj['getFloat64Array'](am);case'f':return aj['getFloat32Array'](am);case'i':return aj['getInt32Array'](am);case'l':return aj['getInt64Array'](am);}const ap=ai(new Uint8Array(aj['getArrayBuffer'](ao))),aq=new re(ap['buffer']);switch(ak){case'b':case'c':return aq[cr(0x1bb)](am);case'd':return aq['getFloat64Array'](am);case'f':return aq['getFloat32Array'](am);case'i':return aq['getInt32Array'](am);case'l':return aq['getInt64Array'](am);}break;default:throw new Error('THREE.FBXLoader:\x20Unknown\x20property\x20type\x20'+ak);}}}class re{constructor(aj,ak){const cs=b2;this['dv']=new DataView(aj),this['offset']=0x0,this['littleEndian']=ak!==void 0x0?ak:!0x0,this[cs(0x1f2)]=new TextDecoder();}['getOffset'](){return this['offset'];}[b2(0x16d)](){const ct=b2;return this['dv']['buffer'][ct(0x1a6)];}['skip'](aj){const cu=b2;this[cu(0x17c)]+=aj;}[b2(0x174)](){return(this['getUint8']()&0x1)===0x1;}['getBooleanArray'](aj){const ak=[];for(let al=0x0;al<aj;al++)ak['push'](this['getBoolean']());return ak;}['getUint8'](){const cv=b2,aj=this['dv']['getUint8'](this[cv(0x17c)]);return this['offset']+=0x1,aj;}[b2(0x13d)](){const cw=b2,aj=this['dv']['getInt16'](this['offset'],this[cw(0x14c)]);return this['offset']+=0x2,aj;}[b2(0x187)](){const cx=b2,aj=this['dv'][cx(0x187)](this['offset'],this['littleEndian']);return this[cx(0x17c)]+=0x4,aj;}['getInt32Array'](aj){const ak=[];for(let al=0x0;al<aj;al++)ak['push'](this['getInt32']());return ak;}['getUint32'](){const cy=b2,aj=this['dv']['getUint32'](this['offset'],this[cy(0x14c)]);return this[cy(0x17c)]+=0x4,aj;}['getInt64'](){const cz=b2;let aj,ak;return this['littleEndian']?(aj=this['getUint32'](),ak=this[cz(0x19f)]()):(ak=this['getUint32'](),aj=this[cz(0x19f)]()),ak&0x80000000?(ak=~ak&0xffffffff,aj=~aj&0xffffffff,aj===0xffffffff&&(ak=ak+0x1&0xffffffff),aj=aj+0x1&0xffffffff,-(ak*0x100000000+aj)):ak*0x100000000+aj;}['getInt64Array'](aj){const ak=[];for(let al=0x0;al<aj;al++)ak['push'](this['getInt64']());return ak;}['getUint64'](){const cA=b2;let aj,ak;return this['littleEndian']?(aj=this[cA(0x19f)](),ak=this['getUint32']()):(ak=this['getUint32'](),aj=this['getUint32']()),ak*0x100000000+aj;}['getFloat32'](){const aj=this['dv']['getFloat32'](this['offset'],this['littleEndian']);return this['offset']+=0x4,aj;}['getFloat32Array'](aj){const ak=[];for(let al=0x0;al<aj;al++)ak['push'](this['getFloat32']());return ak;}['getFloat64'](){const cB=b2,aj=this['dv'][cB(0x1b3)](this['offset'],this['littleEndian']);return this['offset']+=0x8,aj;}[b2(0x1a3)](aj){const ak=[];for(let al=0x0;al<aj;al++)ak['push'](this['getFloat64']());return ak;}['getArrayBuffer'](aj){const cC=b2,ak=this['dv'][cC(0x1ca)]['slice'](this['offset'],this['offset']+aj);return this[cC(0x17c)]+=aj,ak;}['getString'](aj){const cD=b2,ak=this[cD(0x17c)];let al=new Uint8Array(this['dv']['buffer'],ak,aj);this['skip'](aj);const am=al['indexOf'](0x0);return am>=0x0&&(al=new Uint8Array(this['dv']['buffer'],ak,am)),this['_textDecoder'][cD(0x17f)](al);}}class ae{['add'](aj,ak){this[aj]=ak;}}function Ye(aj){const cE=b2,ak='Kaydara\x20FBX\x20Binary\x20\x20\x00';return aj['byteLength']>=ak['length']&&ak===le(aj,0x0,ak[cE(0x1f5)]);}function Ze(aj){const ak=['K','a','y','d','a','r','a','\x5c','F','B','X','\x5c','B','i','n','a','r','y','\x5c','\x5c'];let al=0x0;function am(an){const ao=aj[an-0x1];return aj=aj['slice'](al+an),al++,ao;}for(let an=0x0;an<ak['length'];++an)if(am(0x1)===ak[an])return!0x1;return!0x0;}function se(aj){const cF=b2,ak=/FBXVersion: (\d+)/,al=aj['match'](ak);if(al)return parseInt(al[0x1]);throw new Error(cF(0x123));}function c(b,d){b=b-0x11c;const e=a();let f=e[b];return f;}function qe(aj){return aj/0xac0e8d7b0;}const Qe=[];function K(aj,ak,al,am){const cG=b2;let an;switch(am['mappingType']){case'ByPolygonVertex':an=aj;break;case'ByPolygon':an=ak;break;case'ByVertice':an=al;break;case'AllSame':an=am[cG(0x170)][0x0];break;default:console['warn']('THREE.FBXLoader:\x20unknown\x20attribute\x20mapping\x20type\x20'+am['mappingType']);}am['referenceType']==='IndexToDirect'&&(an=am['indices'][an]);const ao=an*am['dataSize'],ap=ao+am['dataSize'];return Je(Qe,am['buffer'],ao,ap);}const Z=new af(),U=new e();function oe(aj){const cH=b2,ak=new u(),al=new u(),am=new u(),an=new u(),ao=new u(),ap=new u(),aq=new u(),ar=new u(),as=new u(),at=new u(),au=new u(),av=new u(),aw=aj[cH(0x162)]?aj[cH(0x162)]:0x0;aj[cH(0x1a9)]&&ak['setPosition'](U[cH(0x1d0)](aj[cH(0x1a9)]));const ax=z(0x0);if(aj['preRotation']){const aK=aj['preRotation']['map'](L[cH(0x12d)]);aK['push'](ax),al['makeRotationFromEuler'](Z['fromArray'](aK));}if(aj['rotation']){const aL=aj['rotation']['map'](L['degToRad']);aL['push'](aj['eulerOrder']||ax),am['makeRotationFromEuler'](Z['fromArray'](aL));}if(aj['postRotation']){const aM=aj['postRotation']['map'](L['degToRad']);aM['push'](ax),an['makeRotationFromEuler'](Z['fromArray'](aM)),an['invert']();}aj['scale']&&ao['scale'](U[cH(0x1d0)](aj['scale'])),aj['scalingOffset']&&aq['setPosition'](U['fromArray'](aj['scalingOffset'])),aj[cH(0x150)]&&ap[cH(0x1f3)](U[cH(0x1d0)](aj['scalingPivot'])),aj['rotationOffset']&&ar['setPosition'](U['fromArray'](aj['rotationOffset'])),aj['rotationPivot']&&as['setPosition'](U['fromArray'](aj['rotationPivot'])),aj['parentMatrixWorld']&&(au['copy'](aj[cH(0x128)]),at['copy'](aj['parentMatrixWorld']));const ay=al['clone']()['multiply'](am)[cH(0x126)](an),az=new u();az['extractRotation'](at);const aA=new u();aA['copyPosition'](at);const aB=aA['clone']()['invert']()['multiply'](at),aC=az['clone']()['invert']()['multiply'](aB),aD=ao,aE=new u();if(aw===0x0)aE['copy'](az)['multiply'](ay)['multiply'](aC)[cH(0x126)](aD);else{if(aw===0x1)aE['copy'](az)['multiply'](aC)['multiply'](ay)[cH(0x126)](aD);else{const aN=new u()['scale'](new e()['setFromMatrixScale'](au))['clone']()['invert'](),aO=aC['clone']()[cH(0x126)](aN);aE['copy'](az)[cH(0x126)](ay)['multiply'](aO)['multiply'](aD);}}const aF=as['clone']()[cH(0x18e)](),aG=ap[cH(0x125)]()[cH(0x18e)]();let aH=ak['clone']()['multiply'](ar)['multiply'](as)[cH(0x126)](al)[cH(0x126)](am)['multiply'](an)['multiply'](aF)['multiply'](aq)['multiply'](ap)[cH(0x126)](ao)[cH(0x126)](aG);const aI=new u()['copyPosition'](aH),aJ=at['clone']()[cH(0x126)](aI);return av['copyPosition'](aJ),aH=av['clone']()['multiply'](aE),aH['premultiply'](at['invert']()),aH;}function z(aj){const cI=b2;aj=aj||0x0;const ak=[cI(0x1ef),'YZX','XZY','ZXY','YXZ','XYZ'];return aj===0x6?(console['warn']('THREE.FBXLoader:\x20unsupported\x20Euler\x20Order:\x20Spherical\x20XYZ.\x20Animations\x20and\x20rotations\x20may\x20be\x20incorrect.'),ak[0x0]):ak[aj];}function q(aj){return aj['split'](',')['map'](function(ak){return parseFloat(ak);});}function le(aj,ak,al){const cJ=b2;return ak===void 0x0&&(ak=0x0),al===void 0x0&&(al=aj[cJ(0x1a6)]),new TextDecoder()[cJ(0x17f)](new Uint8Array(aj,ak,al));}function $e(aj,ak){const cK=b2;for(let al=0x0,am=aj['length'],an=ak[cK(0x1f5)];al<an;al++,am++)aj[am]=ak[al];}function Je(aj,ak,al,am){for(let an=al,ao=0x0;an<am;an++,ao++)aj[ao]=ak[an];return aj;}export{st as FBXLoader};
|