From f8eb4935304ba1428fcd3fd1580c4cba89f0a5bc Mon Sep 17 00:00:00 2001 From: Nordi98 Date: Wed, 9 Jul 2025 19:14:33 +0200 Subject: [PATCH] ed --- .../[inventory]/cs_shops/config/config.lua | 11 +- .../inventory_images/images/food_bag.png | Bin 0 -> 134595 bytes .../inventory_images/images/pack_ecola.png | Bin 0 -> 553649 bytes .../tgiann-inventory/configs/config.lua | 4 +- .../configs/configCarryItems.lua | 23 +- .../configs/configDecayableItems.lua | 2 +- .../configs/configMaxUseAmount.lua | 5 - resources/[qb]/qb-core/shared/items.lua | 12 +- .../.gitattributes | 2 + .../tgiann-attachproptoplayereditor/README.md | 10 + .../client/client.lua | 171 + .../client/command.lua | 14 + .../fxmanifest.lua | 14 + .../web/.gitignore | 23 + .../web/dist/assets/index.09731cda.css | 1 + .../web/dist/assets/index.4b31427f.js | 3497 ++++++++++++++++ .../web/dist/index.html | 15 + .../web/index.html | 13 + .../web/package-lock.json | 3685 +++++++++++++++++ .../web/package.json | 26 + .../web/src/App.tsx | 11 + .../web/src/components/CameraComponent.tsx | 34 + .../web/src/components/ThreeComponent.tsx | 12 + .../web/src/components/TransformComponent.tsx | 91 + .../web/src/index.css | 3 + .../web/src/main.tsx | 7 + .../web/src/nui-events.ts | 57 + .../web/src/vite-env.d.ts | 1 + .../web/tsconfig.json | 21 + .../web/tsconfig.node.json | 9 + .../web/vite.config.ts | 8 + 31 files changed, 7767 insertions(+), 15 deletions(-) create mode 100644 resources/[inventory]/inventory_images/images/food_bag.png create mode 100644 resources/[inventory]/inventory_images/images/pack_ecola.png create mode 100644 resources/[tools]/tgiann-attachproptoplayereditor/.gitattributes create mode 100644 resources/[tools]/tgiann-attachproptoplayereditor/README.md create mode 100644 resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/client/client.lua create mode 100644 resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/client/command.lua create mode 100644 resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/fxmanifest.lua create mode 100644 resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/.gitignore create mode 100644 resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/dist/assets/index.09731cda.css create mode 100644 resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/dist/assets/index.4b31427f.js create mode 100644 resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/dist/index.html create mode 100644 resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/index.html create mode 100644 resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/package-lock.json create mode 100644 resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/package.json create mode 100644 resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/src/App.tsx create mode 100644 resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/src/components/CameraComponent.tsx create mode 100644 resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/src/components/ThreeComponent.tsx create mode 100644 resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/src/components/TransformComponent.tsx create mode 100644 resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/src/index.css create mode 100644 resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/src/main.tsx create mode 100644 resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/src/nui-events.ts create mode 100644 resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/src/vite-env.d.ts create mode 100644 resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/tsconfig.json create mode 100644 resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/tsconfig.node.json create mode 100644 resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/vite.config.ts diff --git a/resources/[inventory]/cs_shops/config/config.lua b/resources/[inventory]/cs_shops/config/config.lua index f56c7d0ec..661ca2602 100644 --- a/resources/[inventory]/cs_shops/config/config.lua +++ b/resources/[inventory]/cs_shops/config/config.lua @@ -225,8 +225,8 @@ CodeStudio.Products = { itemPrice = 2, itemInfo = "Mehr Fleisch als Worte – des is koa Semmel, des is a Lebensgefühl!", }, - ['tims_instant_nudeln'] = { - itemName = "Tim's Instant Nudeln", + ['mimis_instant_nudeln'] = { + itemName = "Mimis Instant Nudeln", itemStock = 50, itemPrice = 2, itemInfo = "der Kulinarische Blitzbesuch in Fernost", @@ -405,7 +405,12 @@ CodeStudio.Products = { itemPrice = 6, itemInfo = "", }, - + ['food_bag'] = { + itemName = "Papiertüte", + itemStock = 5000, + itemPrice = 4, + itemInfo = "", + }, } diff --git a/resources/[inventory]/inventory_images/images/food_bag.png b/resources/[inventory]/inventory_images/images/food_bag.png new file mode 100644 index 0000000000000000000000000000000000000000..0646985c8335b426e33b8a0863fe6b50db9b8f19 GIT binary patch literal 134595 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

T9#s+`}JY`E378(QHxug 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 z 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 z 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
OxIv0-o>PzWU5ADo@mN+q4Y67L$yGV|6y1hM? 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

H2*!{?lP%hntM41g*A_#2AwlJ)YIRBcj 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%0Atd zZWyZTulUjbp2M*4H+pP!Z=L7=O`!**`+&lN5J$FJDohhK{x??YG9!C?q=QqW-IFZx zV09L@BNQX|7sJ5b{w|CCJ$4RO469v|TFT0VpkqNxLCQ#~m83gtYh~}NpTohg{0f`Z z0?i9pES(rhfIALc%-V6&b`E>g*c`ylpqgsaAGUAmj38C3ms7Urq_Cc-0CPZ$zoW9d z+-J3OhP~BAEEXqN>|esputVNX$haYoM@E!b2B7KDs#efYLACbu$d)(gPoZ%d@fMR& zyCzntuT!^NK{r5ySGLv|5OZWIo>n!84*X3qJB1jTT74TxF z#JtWNRaJ`@A`Y-rUHp{m@o2gr5p1oa#8wa!)$yE4;2WROAl}^e zYsPjL++9`^1bvvwmj2K&T3@kN{hs*j%rsXg?P8q1nRDp%*%MlnaW~;PcGY;USiep_ zMh$^BXS1DhJZ>fSO}}dYX3U55@wUIyo=hEYMO}!#JLd>?_HW>^T8}v{lb><(%*38EmKk)Gg zg8x6Shkf6FeCI7c|AsqneCONGKk)OP@`NAzQJ_?{5J=zeLr$#A#L^2Bk_KyMrMCGS z;SP2HlQty^SjbL9BDi-~lOJ!p92N5f+5igbxonDiCX40dWD-TpkRw@bf}9gmaZnCK z#pqf_Bqy>~#wfH5j8yNwV4y`kL{XtR=31C@is$!2kaJ-d2EhFUL!Ei4756N<1Tf_} zAXvzMHS8L;iz(^m((p6`32^ViNIVp&Dnm*XBB)De&(RrOA4Yo~nXQ+&Ru2!-oCUVu zE1hDqJ%k7s4Bo-l zt1TkZLP`^MKBBjMtcz&>yM~*#845JdLR5>MGwKnlQ#}Mmyx5{<(1$*hy`TOmy|Cu;7kw*de)xyE=fgL!{q6U${nJ08JpJh$zVDAYdFE2qMc|&>xcfD);?l2s z9@A7v1$MvTn>hcbU*Z7s>TVA2V$gl=dF$J__r}(?+TA#zVzHyL*$Q5iLN&6Z!c-mr#EqvS}&!aUYt()X+#(_gQ3OD)4YnP zpI5(rwYn6`-5tiWXSw^EpO5_Fn^>H_j7?T#yRrHWMXbY&nCH8BQ`>3r0ryN5SV^+_1Vi!^H23znyso8E z%S7Fdh}Im`2l?BIXqu2J&KoE(R7S_bFFDl+`s4gGW7%6W2Tp z-P=dRP~kKcicSnATgt)X{|T4=^0nOYS&wIT|CAFt3e|mGB3N6vBk zhN6nHih7;bey)|7b4GuNm@{*ie7GN4$GD7IV?dp~_gc9!=OgAn{_&59OzcIWQut!8h5E*Z!Vr6d&R-7@x^KfeEe{QgcK*m+KJk)!RidVr7Mo%h*d_HX{-`&S0C%gPv}q^8!baNo|Cy=qpZF1 zjf{#MchX9$-mL1`g}(Q^1_VKDK2wH9Y5=UhQ*jI%%t;4AP){=$0}@3hC=nR&0D!r? zilxwvd!VcdYNWeZSX0Pll6MEMLI4c2NgXF6G=fK<%|5Af2GhB6w_D1YD0Kw2jz)P7 zb7V_$la2Dx`N(eIY8z-Rb26@s@oJ?_<1}sH==_&=9(~tHG91B1WvnS(BJAH&++4mp z6k^44j8`gDu&TgXc}V9B490%lj&pygBt{r?dgX`0d(*EM>!k6Jl$iA=n|Ip{d3C2F-?WG1oQ5$hyl6o{O(QRx4aJgkYT* z)QYa9Tv+n5!EJmjTJDEnP6j4|r&T16+Cx3iig~Jel2FGs61*CLIrhf1i?`%6!(F30 z!9b5DsVspy$jCJ>7bxs{D$;kYhH!92fw(MUJW%XajOy6zW@5mKv8{(K)h1WR-CM`0 zdJDts>qvx9oH?C<0eoIla_0jisQZp;QRO@V1THzpC7R;Z@B>m=b~E;PdpCcM3@JLn z8Z50Ki{;O!4ALYt%nkErBREpXE=g8$2*i|GlPyvwEkZJ~s12w@M1|0IB#ESmRY{J? z)=djJ%@7@I{MrT%_nF`SfoxoVJGX!5)r7Dl&KKPF_#fc(?k&iJuR!1XUYea1>6Q=C zhB=1^13F76%H}=4kp2Ji2BIh-WH!F$VeI_ke>I4$J+nTN;)?zw*D;&T$cqgCa=W0v z=_U?e^IEnpyF2Xev%2Xf8Zyhj{V=Gq?srMrTj4@7F%5)1qhdYT<7$O$EX|H+0&SdR z$)lV;cqQP{ib4&PPvZ|-<>2mQ7w8gPccE6aGJ8b6#E}U8K5=lBA?9R73B97VtU8(; zIry2Mp?&Gg&~=ZtPAVE}1a*u0Y78y`FDtx6+X9xeT%3R^`}L=BFQ&+?ODZe=vuduX zT@}29$(X3yMD0;#5E2pw+GbAov5&KQ;uDb@ZlJmB9;B5;TLS`pG7`+kL)7f8>e!a5 z6kn?dvLeY5Mp>IcMWpnU_nIuxpj%W(F`!ZD6(gRTNYG492b_zE=D`o(;vfG>HXe61 zE6vPPV!dA5`X3_93~NO z`-e31772kY!R)+ve!Hhx6pm3sNzd>#;`3g}D#comSybIxIa=p{3^LFxH^?N?4cDU| z`UvT@zt6e%ybJ9IBm^1)ZLqY5+|FIC;`UV(UG+qPlm>F{5&1I?6v&AKRXDaJ-tWuU zc+{h4uXqUI^uM6}g42YHE+LU=zv6+MdjI>m{V|Vaw%$k60!afZy%T#@mj~)Gb@Wx8 zwb7|4>%DXq38Vi7e=UWJx8$n#sVs6KqN30;T@e_BPspt7Uw#myZ(;w5!{I# z-KHY_A04bQnmfMpC<$Qi9oy#}B@T)~8C@?Km2{IeHIg31ju#TLeAhJMYu{+t($9W` zqbVbX&dixEY>X=(vfB6;=h`-Nz2~CV@-Dn~Eh)r`KY5wlLA?E_d2b<)*D6H^HA}5} zuajq{q?_PmsGljt6PIjJ=8~3Df+ZzIsubiqLIo9-j7PCYDq@VOkHm}-5G90GW_wE4 z8@{b5baL}kk^xFG!IbnVq{DO%kCcVuYY#MzG)Rf2kMo`D=Zfn*l6qR7WNd|a)bXE? zI+JUSi*F`HiTx@A-b36oaOWAbr(VKzu|T9l~>*fy!0Pl{pxGK zK=!Y``KIfxmc{Igb&r#oOe`fg1qgN^7xpP27JbE|&R9`E8k-u+T?+1)TH8HZIC1P4 z8qHW_mr@s`9zw7b@FLMtQyG9ux&fpdq{+5mi4wi`qak zfk+bT_ni==vBNu&361A6$4E-Ofr6Z?0aw%zCAX1$O$O%Fucm+ODFT5k;_Y@;pq@g2BP@4<) zA95Yx(Zr67v>C9eIW9J}R#lMT!BIQttWR-9h}F2&W6TQ?8j!U7uTu5dg%3`9XX_P> z7ayn$bX5-G+Ol^y;tLJ!lGsUtG~(qfB0qOa6qMT+xNGvLDphh%KW2f4s{LVs*IYJLWz_)Db_YFEAev@?%b4=Gx6VvgWjBr9JkPFsTS+=4KeO1okISR^cEQ{iG57#o_BYxzCUX@ zU!_c);S5*zh)i}sIX{X$@UI9kAq)ImE2Mh$iVASAX2RA@l_rH6@k7*VGvrK2N)n(A zND`6+BH5zgvjw?r>AQhAtk7XV@_@DdRfep@&{~%dr3Q0KAY)==CMW+$di>+)>iBbU z5=XmQBEQu47VB};+ED*plTnV?XO7sb`j;Z{31g)-UB4+~I>Ka%ZCcXFX%WH(j*zT(UkgKGyy2w^1Je8Gv^RI9V#ccHds>penE zeXMme>XRQOZ|XP|TTq|t&WLP`!B5cVghnW%qCR8OwK2}w_)~qT`nmD@$~%w#oF|_e z+h0!aMkZG*SAcrvA6X@nvC!$-EAIRBRrW#EZ!kR%OX1CN&dY;akTj{2KIlj;`n;jy zH7fj$+=q}nuE&^zr%o1inPDN4)Db8Yz&MBb$WxZr(UBkbOBOLTSTOsRRf+wuCn7h8 z<<=+oJbK+l5d3d^{fqDY-Vf>7v)AuG`xz(K>+WQZ@noPBf&**W5)pbr4BoR7%1NTh zI}|hxNiq@|m!v0C7~r`|2|5N;8wcYi$4MTYMjdP^=A4TeSBU``ddr=3qX`9w7U$j% zJO!meaz9$G=y~e`r4o8Zkiqh7qhRuHv5g*sr57NOQzkYoipz%33W7oibc3}*qXKnx z$I^b?_t`o^1fd_+6tG4N&<9k6Qh2|#6r4)sig^MZ4^T#t-lEKag@b*1wkHK4-6tEe3D|K{VBnxsV59V3QE&7wvX&oX8_t1nPJfknFU(G3ePnyqD41p>L1IS z$D=o8wHDIL7ib02*@+#+3eMSquWE%)X{<ZtE>Lu*@Pvm!0B=r3L0o8>0p` zPq2Q`i#Yzfzi0c@3t<^vEY*i`u<2k)N;GqHFu>*ep#a(`!m#(MjLHOCr^Utv`&-7_ z64}Bnxv3~tLj^&$H_+>E;P&tMcAAfTlyK1{$Z}5Z2GWpfG_=UVRj5_Cr|CfI$^^mIEr$j!GRH{8I%TmOjFd)|$F`g*#Yt;UT2O<7ZG?ToN} zlIDcjgJ#HR8jxg)l7t{R5E2lrn5+(hv=Jl{<{PvZSu4qO<~-qlzMH+bzl}S7@F`sU z;+GJ=^>Kug+tBqcFE<rh)s;D^;c$Mp_wNm10MbpgbRx5_L{1?vu__GLm z2h29M2p3&Kxa=7DVBetnx*H+Ay0R)4;Oc33Vo^47s?L#-riwQ1E=WM6LBo=G;shsx zl5YGg>EoYZSg+Z6`EPOKiEZxrOTWU!Z~rsaPxub>)^nu6+L~rxEp|MVysZ&ZBU;yR z-N!hHRw(3HS#(Fiev!uezQ!Z@?j%{qpaR5$!+EzEGI3?AGZn^^gK<-01hQAZ7jX%% zO9=CXSkSud?8hSIF3w6(ITc$#`Oe}@D0oXxT>f21?V9pNAiILe)=Y^U+jj;sDGCxd z$_eF`rmf0I4&egs5&2W7Mc|Uj%aecULk92fJ(fcg2^eJ&dPU;-&VdwCf_=xI0S2>KBl&gv{ad+@fk)r z{&apuhdEEKE0cSf(qrXL%*K=z=;+kf)JPbr*Xaq9ZZ~!wTHU1_3?qaPjU;f@v6il9 zP8<%Z9+0&?SbQucyXT?x{*DIOO6tlupEe6JDzD1^ErE-{6uL14MDrbz^CvbQ@PHfn zJbK+l5d3d`$;p!!u6y23y-(kB%@tg7$-Rg&Q;C*$DZ$#S#6T7Yj>+(>74fozIg7RW z8M=Y>dSE_pAw*+UMM+{Y%Ho(w9yg{2%bL+#@~)IYptztC#9Fwij$}YqB(!K=yF@Qq zbUPU6j&A5JVr$W8qBz-M8zhH74&zZMV6rdoaU3L&h5?#b&4?Y^!r|eX&<0C=2%*aR zO}1~Q(mI*AIaLD+6^x6RwAa4WJ8F$WzUtKLGzvOp>Pz)yKcFkn5=wo9k^>)b$4l*d z4cNP>4b?p^_R{j+MT|H}ZZ=CXKs{=7izya2o`u&emz%_ADrl_ivy_8U?SM@gs{x=c zBQKFCpBoX7=mdNrmNGeFyvdfksb)@@_} z=DpC#9LNk#@zft?7zSk3QL0l4>cqoX6~Ao6DmSJ2D8rR@76biZ$Nrzahjh(f!3{T}ANf0WKJ`gvagNRx1QEja zNj9=VGc!VH7@&~Ns{?-~i^wF@>xg6@3)e#_gmrNy1v;zuq0*5L1#K*aflDtXC@fcp z>^|qm;pM;1){~x0{GlJP+7adOoBcPwfz^Nb z6^4&}oVYkad+K87)^M<6?Rov&^N@7~zbJU={s~C5c}pR9I)Fc86VM?Q9~87h6;fK! zhiK}6#Wr!Skb1Uz<@{5hO1SJYn*Bo*TlcA~r)e}z?+jbZ`BDgO2d{pU#Q~|muXnFz zJ+J&PMeC{-gpU?G7^s~gdFRgx~j9gyb z=TaU0Vrwd+Ahs4mk@~o5NOIZx;us5*NQ{9LTRZrMwJAi_YqAaud5eqzD5?O9? zxO0vZPkTCY?|U+AZ;~&&l;$4y;>5kbfH+^0Q$lmk{P2MDqTs42@#3)6w_{XEl=@P4 zj^CD(ygct{RYslQv_^o|-|J+?%iNB*t2o+6zjcZn#=GFieYp~(M$m1-#`dw)Gy~MJ zi}>20U>OfO6cvn6)oH^yYc{D9TbtGkr zsW?MB$IL?L?!1QZRa(|KC5k#K?h^rw4qA_ISn3#3^Za!cTjhB2^9baY3+Up z^qOfVQLYj>FbTcO`~%?m;luzb5n6A7S5gu}wtV)c_1$j9HI{z04lq@P90eJa*`fjU z{>5TOL%qLg>Jl{09*RfEwcw^BR#x#N>h~iGiA*DrK@&l} zxSQ!p&0v+HNudCKKTv9(mm8DdhCXG>;TsGlWiilM3#Kq0@1@;P8GpaKI~nUSXSBkJ za{mrGqlzoHz3q<3STx8Bx|9k|!9kVc`F4ffb|V<0=Wt~glX+lhY=>t|z5vn#)j2KB zo*~M<5p(QgVmNh@dwlq#tZuy--urG=AN_k4Kl*e|JoHM=Uj5B1JLtMZj4f&J498#g zGA_LJkB|>ui+sm-vIb&f%8lGBL)#KGGke5WvHb^cV(%B8&*~Rm$n4mXq=#JgCvRux zb+03@4~QEV0j4@g!2rgx?}^{~1onRIR|!EGlCtrThqL#N_s}(mG+~1rGGTSd>P0UC zgieL@_{VeiSHBA0`ZmtL>s<_=y@ho8Zir+;lW9fSJy>(eH$IB>$38^5=`#cgG$fKZ z_!42rO4nLvkaiGbx(6XO5p5$wXplx2ng!`qzsLSJUd{5WzlQU_`5SEP_av{KVZ>8L zWAMmNB80~Ni&c*GL5)dN$Ru-fmFCja|*co%0wCh)n! zlZtumesjtMP2_bZE*jc)PJi=fIsd3fk*>di*=47gZ*0+ZYgZJxZPY-CTU*euz;*{9 z)pK*3o>G*9G8N{I-mJDbU)!{)?EvNJ*YWGw>Q8PYC^H{Qnnv!6x$ zonPblpZzuQ*e1hjg=iv2%aIR=*Gl#1AW{_sf~9x08%tz&pIfhbB>KS*F~9uo%uas+ za{iFv@Bj&!kOb9aikDov|M;TtNH=PvjTRC(xZ^zd9&v|W2Zx%;?X!R;1Me~@Ia-a9 zq?YcNhk-cXhJ!VE)zft=n$XxY#b|l_g~Vf&Ru_3KjKx>S)2^%`sSAI4R*0`fl}WSQ zEYwa96Q_vr65tMmP*gUI>lLLG{X(#SfEMMExa78w_*hHD35ftD6=#Iw{=`;~V5$@- z4o)E`o#<>rW8YogrXB?kw&y~$R?lhwJpEvGoaD~9IzRx5#Q?g7N>q1<#lYpNL)=F)j}NEtYybK)%|7a4vpkPuzDYiYh!dG z$3k`Djv7T>K>3fI6`{1H6gxAjVfke{R?7j&`y%YfUAxZU{5<$J*fxuvAhpClp4I9sp>pU8CwYHqzDhQ9iRLnLK zK(0*Has8LE(j)U)4gZn7sx`J!Hf5bug_GT$%(}}rrwFbd?jBG-VvoJD#d|+DY#wm zK+aA>`Z;9j&w)H-Us>ghb=+F*XqY^QQ1muse~e>Mls1q&C6?q$lX=^5`yFRDzT%3{ zaPuGY`SiMrAowSEoxI|T3!iz(%U`?mTfccSU3Rytnz%kK$Seagi^M)!#A6K_#?4kF zF->Cy$E0c4m^Vleh71xLa&jZ#t-mzoYDhxB*z6cgA>b;4lCLFdy?p^tWzb{?Y)(YK z3L@lS&QoOo#abX1BVbbgT#a>+36;v$5==&oG=vyQiWiM4o7BmQAy*0Fkd+W3!(cs4 zOO>M#?Yn!DrfR-$otr`dh^OF8%apCdL6a=7Nq8{Ww2zx^QL{$I-KFW$$n*kTzX@)ZxF`POfT ztG}7~eZQ1+cu1QwiG-58c;Ns7!=L;qhrja6Y<&MySpUJB*!!P1a{QNH$iYWH$^I|> zBC^~<@l+78{QDFFp=mjM=R4smAHi+i9{4XDVx1C(d|jHRe&W>Y#fINHy7Fb^KBy zV3P6JM$%$I`tXO@`ORNv|21!9V|$y~se7R7Lv(<)4p9Lp1#sZtBv+?q8hxM;9tD26 zi74Q+0LLtm5S5TKeF#WgLRdrUNzFbRPx@Zw-|)38AM-eRl*4|-Mh?ia4RRCFv**w^ zy^C{y`vKB>-_5~?{+>m<;8+m)jT6M!j;SKuKwO_U31%+J5F?}n_4Eq|oQjQ=3L3II zVy++v;_~23R7(TPZf!*iw6)*mJecFgVCyCaViIeQ*fg}4o+jUTjx+cBmux)$-?Dtl z)5z;Xnq-AZYaX%#_L_c{&7o`-OAg-tE)HMteCD6N0Z!e6EP;6bJXs?lC+r53Tg;+t zQgfgkR2n&@-j3FtXjkT0A-`$-3ACzee9wdo8a+C$wl2illFdZWp(70qfk4wNkeogB z(CxP`+mfGab6}2`-P#znD)x9(2RKYGj%M{wMh)GxIB8j*_;ZwZm$9g@xDbc|N^PHt zQ;M2GMrA_**&w4M6Uw#Sr_pHVb5R?Lr9qZ6MVvGhwN{crGdTum7o={VG<5c?sMXwz zfxLAB*86A@`hLaY;SXc>;0L421mbfZ>lM;x8coCq zGacy9@1QBsZf=pbB6EaxcNaeODY}3742K{5kX5ruB`_lp6iqrA2YVHr#yB>kTVEHp z&!bAQUsG3$$u&p(lBaV?smEU8*+<=et)D3|^05;@X~0@6{RA;k(ig4s4>d3&rERii zT!nAzbxL$NnOoe`+Oa}%y_VEPZ+BVhkA&I^%N%lr?g3|t& zf-AXPwJ9FFk)V_!)RG;~`Jk3`kD{O`%87Bzb&~p%CUZK*=tui6o;F%Wc8cHZ#&ey& zY2mNU#e!jU^1^$z8Gr`;OLQ;h3$ygGhQ zWt{Tl(-U8vQGHa2PcO7>ov}vyQ+I`viAPdSd>^Tgkto(lDF}JM{hw+1L_Ko11^<-L zU7qZQacso8dqu}Xt&(Mq5cc$7=jM~o`+q*cAKyg~-1YkZ@Ve)ZKIH=+d;H^Ht~cGl zFyFXp-p)^J=w=N{Voi)<;MfqzB$8(TEiz6+ZC*ew!zdw? zQUJ~YNC;l>Jw%garGXeQ#X^zwWNX`%QQ9aD7W_DJ!*9Dcfi&Zhr@ZgkMyqwiU<%Wy zVxd&Zfm06DP^`M=XM)zc3?Q|?t{FW>nVVlFWdE+<@=0-s-k|z2n$N=-5T_nTmm9J&zy6d_4kKaQ7%;&J!@7RrrMiXIB zLX+9uxfLFGKW4{Iu=j^=p=}q$H@%+x>}PVxyWY!Zul`rWyvIHN^J_S~=Di%e?X84k zC()s2u9?Hn-bxc%*uOxNgss~SxZ?}&%i`=gD+bqhEaMVh`vwjP#AX4#piz zfz)MU(^!?~ia=y!+&xklLrLNBy~|jyz*>=dZIEDvB*o!Fjm{~Rl_z7)yw!)as}%>r z_q*g=Ya28g&^{5`NZ4C*_K}Zd`#tZZedv|s3;U#***FP`_8`&Lmn~_v`WC+DQS7=J zEYd8Yk_Fy13rPxX^t{(>QKKMePV_?}wlikO=IFs8`#z4I5oe$O0-75>%h0W8QlL3@g01blk##^dTU*4TgLQ@` z)QF4cQ`vJ&<@*>xjjGw~QsI5b)vk%Elc2WGts{<+xav9kUZ2_|+~V1vDyW!k8t{T} zUbjUS$5=Fx{pb8N`|o-?cYou5pM{~x#1C?hXmxmMElPpj4xn^JQ^#LobQ zC{~Lm)Xo8;LtoO?%GjA>;&b6Pe(Y@HFR3TQ#5E}lPnfjhn>dT*xkam#cdWm|2-bt2 z6)@H+azYq)mJm}YST7o-@yM-8AsOuNC3=iRa?Gf-#F~sQgw*@_8_-~>bwdzhO6ajo za!SbAn-EbB?|Co6!>(Y~Ck{XQckqep2!{vEFTMC-^7I;1%~AS~ucyFf#rSEW@Uw=-hfpbBwoi^FUGoHNh<3DS-Kz*fq1y^>Q;s|}0I z6Q-2JNHZOZqvOcJ$F`(G7WZoE8csY~`$@-hzu=eR)Qwfb>F^RhGQ-WBhDu3>x=9s$c z#Xa{AFc!crZl$Z~{5N*5M`w^D*BzbxDV3)jwM!$OE%#9N{Ww13-~DW443mxbU(_w* z$R3TU-}xJkqE4-MI@+Kqf*r?d#Mkxy1WIf4?A;(rJsBzLYVh(ZhF1%jYqin>;=!uy zXPJa(MUg$&rJiya89OxPBlmRYSMd*~^E3X&ig{DXWff1yZDZH;-Szp(E8e$p<>y!Z z0l14G_$Phc?=5fn%l~o3gSX@D=T6GTa+^j@<_>Gi) zt0OGxC|<+C+qq!}RjGm+>r51~U^KghaJG|NDAoH-iO2MS001BWNkl%ZbM_@r=tMD z`DYQ&YxTocN>L$?B$d`cF5xpZgsC~y4>>7^dI^k%l2b5k|6&npL~HeS0_GI@2pL!6 zqZO>HLzal-h(>4@Ez++!49c=q8fj3?44=K3SpZ$##MXW8!{RF+#U~#6VD8q==@$+2 z(qmbBC$So`Lfg*BlIZ4h4u0_$+5WxPvh|8LGW^hrMu7NEWi9Atl#n$^3bzBdxrVfJ(BHT`ge4%_$~6eJK)6K zSlx0P`RUJK_Ou`7i$8rG-EBA1{pZ)P^DDo?LYCxiV6#u0``6!Q04XfczClC@vrW>u zU6L$_gV;Q4Mw??czS+p3kfRfXo*NxN^VmV4MDH&*Beo0r&bz5Z zyCaoI$qOiXiJ|x=lYH>tj+KIe2GsJ{HPZwGW+jRdo0fLD!TQ>3Ie6<^*?;A4)2=h^ zMHfSCVE3@@6DiVVF(pdLFqZb{sp6{S_kR)jWn2OOS0 z&Ej$2!^tQAFzLQuLY6hM&MfB*`|tlNy1)A{=^gK4@6X=La!_WmLE?;daRP=+9@gak z5Y$@QAvk#|My!d0uj0VMDA_Ei8*D8UFe|0lB%^~|5xUt2E4JuFVI2!!WimQGrOLPr zrO=$Ui3{DDK^qnqT}t*@&cLW!ktmTe3FtW02WSp)9mD`o?YlpCXw zFjnSPl~F0COgNG|I&bsa7J>)s^(`9&>LDcvA{B zx;+r6DuYt|S8>u#th61HiKTW)hMJ<}sRtQFVuKDnBGAi>m^-vvA?+NMmXa^5YHKP0 zGG8zZ9c;G9lYfHkr~C*PoxTS{*P|g5ni<@22fHu$IrL4hN7@BFkoz@h=R5}oYv!}Y ziVaGD5NKK<-}G7b{^7IC&fHA@sn0N*%?W)Xgh(&mT`xe1A*MPVSj97S%EGoK2xx3-Q*P7HLAB=$*!OoF6J8swRLD zxyi(^O!Y_8*EH+BkU-+6@%Sq1XQY?z9N{0G-f64E60bi>CrpzL#`{&qkU+WebR`{4 z(jBikQc#maaPo@vsmr(E>m%0Up;B$$3DC$z)v?6flQH zFvMRfPRC%|CwpYwS_HLzXc#a|1gjn3K)&WatIMh+f)`k`2QMiMVp3Gss|SLC5^up~ z*DD8*n_$g;uO@pP^Z6%LpBaT*qk)zR{0FtnJP*J+W-P3{n>g3D8E|$mRHWOUkZNP) z#LVP)FNdkM+VS5Ql}=&(r;wsljo0xv)yR!^Xok+(`S^WAbAmB4{&(uUPMV8CYXmzgGCE8G)T(G;d$0#47RAyb^Gi#!WaJLi%9RihH&N% zHoo_Ji9i2yoOt##$$RIJ%P%LNyqvv1coPRd`5cy;C!y<*#W4=v_BQtZ>z}fF;v~cB zkmioF9BY?!?VOMjxmgl}Rc0R)1_o=*lLL_j+4H1@?1)Q|oUMv|IC^}AR61dpV@hc= znJuar!Ie2BLKrNasIh-*-CMTeN;d&1>KvbUBaVU-VWX-AU(43Hz(9a_UTT5CHSna_ zobEIbW-T&Xu==GJqHp;Fj{VN>&^+jYkP^fGiWE!&-?WXT&8QO?;^QH{Q+)eXyr@|G zdgw{n(oe$1F(;^$^vCb!?9ab|=F^`fh6RhQOVHVxVcjFaBYnw~OHh4E&w=#+YATOz zD}5q?uMs3IK+5uwB-^@AF%mQrgAm#UxjUrmc8IO8{or)$(`95wHAC?Otf053UwmK^Q8?sdUpVzR11?r zcoYZI0k%}9mg>YwC}tp=Bb^O|RaeCw>0Ijt2#wn)iVY3ogk+!@db+H{i!NsWt#7CM z%7=6EFR!J`18ssFAxWT#cBY(v>eD#*{Wr3_{w`ER7BLDUGY|SlNLMR_a3}WE}mW_-Yp+GBt0VfmoSLc}v%;q!ll@DkBsDDLz;eTY9MdCX7nu|zOBt~*Spslj~ zx;HWZ@&~i(_E_)ivNewkxgnjqgI?g`7yUBlZ}<%PZ$F4gWO=W9qY2`tKg-TF@8tLs zzK!A1Q%Jv}yY42=eCxL`yW=dYuA|Gaar^|*t&thbNOaMhmvqaGgr=jt^b|bcfowkf zk<1_cNOrIOCiLtsA_ zdZq|r>a-n=mrm)2x?<|ROJj;pnqn=Hr)#W;xcvw3ZSU}h zQj|`d93ZLHy7E*8ij4{4$``|XITupU>`f^ah?5ZkbpCK&asx`7#8!E zr@8LgqS74qSs@X|nX!#py6>pw`d6u=X=6Ojj2^k>I0I6@uNH�M6989g(0^YNyQZ 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

dNvuc) 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 Q@Mkm71JnC8_nc$@59KVqBme*a literal 0 HcmV?d00001 diff --git a/resources/[inventory]/tgiann-inventory/configs/config.lua b/resources/[inventory]/tgiann-inventory/configs/config.lua index b77712587..2ab122592 100644 --- a/resources/[inventory]/tgiann-inventory/configs/config.lua +++ b/resources/[inventory]/tgiann-inventory/configs/config.lua @@ -28,7 +28,7 @@ config.disableClientOpenInventory = { glovebox = true, -- Don't remove this trunk = true, -- Don't remove this drop = true, -- Don't remove this - --crafting = true, + crafting = true, --shop = true } } @@ -82,7 +82,7 @@ config.searchPlayer = { } }, animation = { - active = false, -- If true, the target player should play one of the following animations. if it's not playing one of the animations, it can't be searched. + active = true, -- If true, the target player should play one of the following animations. if it's not playing one of the animations, it can't be searched. list = { -- animation list { name = "missminuteman_1ig_2", anim = "handsup_base", }, { name = "mp_arresting", anim = "idle", }, diff --git a/resources/[inventory]/tgiann-inventory/configs/configCarryItems.lua b/resources/[inventory]/tgiann-inventory/configs/configCarryItems.lua index edbfa5196..4648de34c 100644 --- a/resources/[inventory]/tgiann-inventory/configs/configCarryItems.lua +++ b/resources/[inventory]/tgiann-inventory/configs/configCarryItems.lua @@ -16,7 +16,7 @@ config.carryItmes = { }, moveRate = 0.5, -- https://docs.fivem.net/natives/?_0x085BF80FA50A39D1 (1.0 Default) }, - present = { + pdbag = { model = `xm_prop_x17_bag_01d`, bone = 28422, offset = vector3(0.15, -0.05, -0.10), @@ -24,10 +24,27 @@ config.carryItmes = { anim = { dict = "missfbi4prepp1", name = "idle" -- Neutrale Stehanimation -} + }, disableKeys = { 21, -- INPUT_SPRINT }, moveRate = 1.0 - } + }, + food_bag = { + model = `prop_food_bag1`, + bone = 28422, + offset = vector3(0.15, -0.05, -0.10), + rot = vector3(100.0, -50.0, 220.0), + anim = { + dict = "missfbi4prepp1", + name = "idle" -- Neutrale Stehanimation + }, + disableKeys = { + 21, -- INPUT_SPRINT + }, + moveRate = 1.0 + }, + + + } diff --git a/resources/[inventory]/tgiann-inventory/configs/configDecayableItems.lua b/resources/[inventory]/tgiann-inventory/configs/configDecayableItems.lua index d8254ce71..2dd91a30c 100644 --- a/resources/[inventory]/tgiann-inventory/configs/configDecayableItems.lua +++ b/resources/[inventory]/tgiann-inventory/configs/configDecayableItems.lua @@ -8,6 +8,6 @@ config.decayableItems = { key: item name value: second ]] - tosti = 172800, + food_bag = 864000, kurkakola = 30, } diff --git a/resources/[inventory]/tgiann-inventory/configs/configMaxUseAmount.lua b/resources/[inventory]/tgiann-inventory/configs/configMaxUseAmount.lua index 022a09c88..47d8c49f1 100644 --- a/resources/[inventory]/tgiann-inventory/configs/configMaxUseAmount.lua +++ b/resources/[inventory]/tgiann-inventory/configs/configMaxUseAmount.lua @@ -3,11 +3,6 @@ -- example use: if you set the max usage of a repair kit to 5. after repairing the vehicle 5 times the repair kit will be deleted -- Added items need to be set to 'uniq = true' in item list config.maxUseAmount = { - binoculars = { - amount = 5, - autoDecreases = true -- When set to true, the number decreases by one when you use the item. - --if it is set to false, you need to trigger x event after using the item "TriggerServerEvent("tgiann-inventory:decreaseMaxUseAmount", itemSlot)" - }, testitemuniq = { amount = 5, autoDecreases = true -- When set to true, the number decreases by one when you use the item. diff --git a/resources/[qb]/qb-core/shared/items.lua b/resources/[qb]/qb-core/shared/items.lua index c33de9c2b..46e2e96ec 100644 --- a/resources/[qb]/qb-core/shared/items.lua +++ b/resources/[qb]/qb-core/shared/items.lua @@ -10204,7 +10204,17 @@ QBShared.Items = { image = 'pack_ecola.png', name = 'pack_ecola', }, - + food_bag = { + shouldClose = true, + type = 'item', + description = 'Transportiert dein Essen und deinen Alc, egal in welcher Form ^^', + weight = 1000, + label = 'Papiertüte', + unique = true, + useable = true, + image = 'food_bag.png', + name = 'food_bag', + }, } \ No newline at end of file diff --git a/resources/[tools]/tgiann-attachproptoplayereditor/.gitattributes b/resources/[tools]/tgiann-attachproptoplayereditor/.gitattributes new file mode 100644 index 000000000..dfe077042 --- /dev/null +++ b/resources/[tools]/tgiann-attachproptoplayereditor/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/resources/[tools]/tgiann-attachproptoplayereditor/README.md b/resources/[tools]/tgiann-attachproptoplayereditor/README.md new file mode 100644 index 000000000..b8357cb7f --- /dev/null +++ b/resources/[tools]/tgiann-attachproptoplayereditor/README.md @@ -0,0 +1,10 @@ +I tried to make prop attaching easier with gizmo. While it doesn’t work exactly right, it’s much better than most old methods + +Credit: https://github.com/Demigod916/object_gizmo & https://github.com/dolutattoo/dolu_tool + +**How to use** +`/prop ` + +https://www.youtube.com/watch?v=LsRLwj2pAS0 + +For more fivem scripts; https://tgiann.tebex.io/category/1768400 diff --git a/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/client/client.lua b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/client/client.lua new file mode 100644 index 000000000..2ae76a4a3 --- /dev/null +++ b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/client/client.lua @@ -0,0 +1,171 @@ +local usingGizmo = false +local mode = "Translate" +local extraZ = 1000.0 +local spawnedProp, pedBoneId = 0, 0 +local lastCoord = nil +local position, rotation = vector3(0.0, 0.0, 0.0), vector3(0.0, 0.0, 0.0) + +local function toggleNuiFrame(bool) + usingGizmo = bool + SetNuiFocus(bool, bool) +end + +function useGizmo(handle, boneid, dict, anim) + spawnedProp = handle + pedBoneId = boneid + + local playerPed = PlayerPedId() + lastCoord = GetEntityCoords(playerPed) + + FreezeEntityPosition(playerPed, true) + SetEntityCoords(playerPed, 0.0, 0.0, extraZ-1) + SetEntityHeading(playerPed, 0.0) + SetEntityRotation(pedBoneId, 0.0, 0.0, 0.0) + position, rotation = vector3(0.0, 0.0, 0.0), vector3(0.0, 0.0, 0.0) + AttachEntityToEntity(spawnedProp, playerPed, pedBoneId, position, rotation, true, true, false, true, 1, true) + + SendNUIMessage({ + action = 'setGizmoEntity', + data = { + handle = spawnedProp, + position = vector3(0.0, 0.0, extraZ), + rotation = vector3(0.0, 0.0, 0.0) + } + }) + toggleNuiFrame(true) + + if dict and anim then taskPlayAnim(playerPed, dict, anim) end + + while usingGizmo do + DrawScaleformMovieFullscreen(CreateInstuctionScaleform(), 255, 255, 255, 255, 0) + SendNUIMessage({ + action = 'setCameraPosition', + data = { + position = GetFinalRenderedCamCoord(), + rotation = GetFinalRenderedCamRot() + } + }) + if IsControlJustReleased(0, 44) then + SetNuiFocus(true, true) + end + DisableIdleCamera(true) + Wait(0) + end + + finish() + return { + "AttachEntityToEntity(entity, PlayerPedId(), "..pedBoneId..", "..(extraZ-position.z)..", "..position.y..", "..position.x..", "..rotation.x..", "..rotation.y..", "..rotation.z..", true, true, false, true, 1, true)", + (extraZ-position.z)..", "..position.y..", "..position.x..", "..rotation.x..", "..rotation.y..", "..rotation.z + } +end + +RegisterNUICallback('moveEntity', function(data, cb) + local entity = data.handle + position = data.position + rotation = data.rotation + AttachEntityToEntity(entity, PlayerPedId(), pedBoneId, extraZ-position.z, position.y, position.x, rotation.x, rotation.y, rotation.z, true, true, false, true, 1, true) --Same attach settings as dp emote and rp emotes + cb('ok') +end) + +RegisterNUICallback('finishEdit', function(data, cb) + toggleNuiFrame(false) + SendNUIMessage({ + action = 'setGizmoEntity', + data = { + handle = nil, + } + }) + cb('ok') +end) + +RegisterNUICallback('swapMode', function(data, cb) + mode = data.mode + cb('ok') +end) + +RegisterNUICallback('cam', function(data, cb) + SetNuiFocus(false, false) + cb('ok') +end) + +function CreateInstuctionScaleform() + local scaleform = RequestScaleformMovie("instructional_buttons") + while not HasScaleformMovieLoaded(scaleform) do Wait(10) end + + PushScaleformMovieFunction(scaleform, "CLEAR_ALL") + PopScaleformMovieFunctionVoid() + + PushScaleformMovieFunction(scaleform, "SET_CLEAR_SPACE") + PushScaleformMovieFunctionParameterInt(200) + PopScaleformMovieFunctionVoid() + + InstructionButtonCreate(scaleform, 200, "Done Editing", 1) + InstructionButtonCreate(scaleform, 44, "NUI Focus", 2) + + if mode == "Translate" then + InstructionButtonCreate(scaleform, 45, "Rotate Mode", 3) + else + InstructionButtonCreate(scaleform, 32, "Translate Mode", 4) + end + + PushScaleformMovieFunction(scaleform, "DRAW_INSTRUCTIONAL_BUTTONS") + PopScaleformMovieFunctionVoid() + + PushScaleformMovieFunction(scaleform, "SET_BACKGROUND_COLOUR") + PushScaleformMovieFunctionParameterInt(0) + PushScaleformMovieFunctionParameterInt(0) + PushScaleformMovieFunctionParameterInt(0) + PushScaleformMovieFunctionParameterInt(80) + PopScaleformMovieFunctionVoid() + + return scaleform +end + +function InstructionButtonCreate(scaleform, key, text, number) + PushScaleformMovieFunction(scaleform, "SET_DATA_SLOT") + PushScaleformMovieFunctionParameterInt(number) + PushScaleformMovieMethodParameterButtonName(GetControlInstructionalButton(0, key, true)) + InstructionButtonMessage(text) + PopScaleformMovieFunctionVoid() +end + +function InstructionButtonMessage(text) + BeginTextCommandScaleformString("STRING") + AddTextComponentScaleform(text) + EndTextCommandScaleformString() +end + +function finish() + if DoesEntityExist(spawnedProp) then + DeleteEntity(spawnedProp) + end + local playerPed = PlayerPedId() + FreezeEntityPosition(playerPed, false) + ClearPedTasks(playerPed) + if lastCoord then + SetEntityCoords(playerPed, lastCoord) + lastCoord = nil + end +end + +function taskPlayAnim(ped, dict, anim, flag) + CreateThread(function() + while usingGizmo do + if not IsEntityPlayingAnim(ped, dict, anim, 1) then + while not HasAnimDictLoaded(dict) do + RequestAnimDict(dict) + Wait(10) + end + TaskPlayAnim(ped, dict, anim, 5.0, 5.0, -1, (flag or 15), 0, false, false, false) + RemoveAnimDict(dict) + end + Wait(1000) + end + end) +end + +AddEventHandler('onResourceStop', function(resourceName) + if GetCurrentResourceName() == resourceName then + finish() + end +end) diff --git a/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/client/command.lua b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/client/command.lua new file mode 100644 index 000000000..2b72621d8 --- /dev/null +++ b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/client/command.lua @@ -0,0 +1,14 @@ +--Example: /prop prop_sandwich_01 18905 mp_player_inteat@burger mp_player_int_eat_burger +RegisterCommand('prop',function(source, args, rawCommand) + local model = joaat(args[1] or "prop_cs_burger_01") + if not HasModelLoaded(model) then RequestModel(model) while not HasModelLoaded(model) do Wait(1) end end + local playerPed = PlayerPedId() + local playerCoords = GetEntityCoords(playerPed) + local object = CreateObject(model, playerCoords.x, playerCoords.y, playerCoords.z, false, false, false) + local boneArg = args[2] + local boneToNumber = tonumber(boneArg) + local bone = (boneArg and boneToNumber) and GetPedBoneIndex(playerPed, boneToNumber) or boneArg and GetEntityBoneIndexByName(playerPed, boneArg) or 18905 + local objectPositionData = useGizmo(object, bone, args[3], args[4]) + print(objectPositionData[1]) + print(objectPositionData[2]) +end) diff --git a/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/fxmanifest.lua b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/fxmanifest.lua new file mode 100644 index 000000000..f3d8bd65a --- /dev/null +++ b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/fxmanifest.lua @@ -0,0 +1,14 @@ +fx_version 'cerulean' +game 'gta5' +lua54 'yes' + +ui_page 'web/dist/index.html' + +client_scripts { + "client/*.lua" +} + +files { + 'web/dist/index.html', + 'web/dist/**/*', +} \ No newline at end of file diff --git a/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/.gitignore b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/.gitignore new file mode 100644 index 000000000..251ce6d2b --- /dev/null +++ b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/.gitignore @@ -0,0 +1,23 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/dist/assets/index.09731cda.css b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/dist/assets/index.09731cda.css new file mode 100644 index 000000000..025bb78fc --- /dev/null +++ b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/dist/assets/index.09731cda.css @@ -0,0 +1 @@ +body{overflow:hidden} diff --git a/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/dist/assets/index.4b31427f.js b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/dist/assets/index.4b31427f.js new file mode 100644 index 000000000..1486f62ca --- /dev/null +++ b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/dist/assets/index.4b31427f.js @@ -0,0 +1,3497 @@ +(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))i(r);new MutationObserver(r=>{for(const s of r)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&i(o)}).observe(document,{childList:!0,subtree:!0});function t(r){const s={};return r.integrity&&(s.integrity=r.integrity),r.referrerpolicy&&(s.referrerPolicy=r.referrerpolicy),r.crossorigin==="use-credentials"?s.credentials="include":r.crossorigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function i(r){if(r.ep)return;r.ep=!0;const s=t(r);fetch(r.href,s)}})();var Qs=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function rC(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var d0={},MM={exports:{}},Fi={},Te={exports:{}},Mt={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Wc=Symbol.for("react.element"),sC=Symbol.for("react.portal"),oC=Symbol.for("react.fragment"),aC=Symbol.for("react.strict_mode"),lC=Symbol.for("react.profiler"),uC=Symbol.for("react.provider"),cC=Symbol.for("react.context"),fC=Symbol.for("react.forward_ref"),hC=Symbol.for("react.suspense"),dC=Symbol.for("react.memo"),pC=Symbol.for("react.lazy"),S1=Symbol.iterator;function mC(n){return n===null||typeof n!="object"?null:(n=S1&&n[S1]||n["@@iterator"],typeof n=="function"?n:null)}var EM={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},TM=Object.assign,AM={};function Gl(n,e,t){this.props=n,this.context=e,this.refs=AM,this.updater=t||EM}Gl.prototype.isReactComponent={};Gl.prototype.setState=function(n,e){if(typeof n!="object"&&typeof n!="function"&&n!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,n,e,"setState")};Gl.prototype.forceUpdate=function(n){this.updater.enqueueForceUpdate(this,n,"forceUpdate")};function CM(){}CM.prototype=Gl.prototype;function Qv(n,e,t){this.props=n,this.context=e,this.refs=AM,this.updater=t||EM}var Jv=Qv.prototype=new CM;Jv.constructor=Qv;TM(Jv,Gl.prototype);Jv.isPureReactComponent=!0;var w1=Array.isArray,bM=Object.prototype.hasOwnProperty,Kv={current:null},PM={key:!0,ref:!0,__self:!0,__source:!0};function LM(n,e,t){var i,r={},s=null,o=null;if(e!=null)for(i in e.ref!==void 0&&(o=e.ref),e.key!==void 0&&(s=""+e.key),e)bM.call(e,i)&&!PM.hasOwnProperty(i)&&(r[i]=e[i]);var a=arguments.length-2;if(a===1)r.children=t;else if(1>>1,Y=D[J];if(0>>1;Jr(ye,B))per(Q,ye)?(D[J]=Q,D[pe]=B,J=pe):(D[J]=ye,D[z]=B,J=z);else if(per(Q,B))D[J]=Q,D[pe]=B,J=pe;else break e}}return V}function r(D,V){var B=D.sortIndex-V.sortIndex;return B!==0?B:D.id-V.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;n.unstable_now=function(){return s.now()}}else{var o=Date,a=o.now();n.unstable_now=function(){return o.now()-a}}var c=[],f=[],h=1,d=null,m=3,v=!1,_=!1,E=!1,S=typeof setTimeout=="function"?setTimeout:null,g=typeof clearTimeout=="function"?clearTimeout:null,x=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function w(D){for(var V=t(f);V!==null;){if(V.callback===null)i(f);else if(V.startTime<=D)i(f),V.sortIndex=V.expirationTime,e(c,V);else break;V=t(f)}}function T(D){if(E=!1,w(D),!_)if(t(c)!==null)_=!0,oe(C);else{var V=t(f);V!==null&&ue(T,V.startTime-D)}}function C(D,V){_=!1,E&&(E=!1,g(I),I=-1),v=!0;var B=m;try{for(w(V),d=t(c);d!==null&&(!(d.expirationTime>V)||D&&!H());){var J=d.callback;if(typeof J=="function"){d.callback=null,m=d.priorityLevel;var Y=J(d.expirationTime<=V);V=n.unstable_now(),typeof Y=="function"?d.callback=Y:d===t(c)&&i(c),w(V)}else i(c);d=t(c)}if(d!==null)var K=!0;else{var z=t(f);z!==null&&ue(T,z.startTime-V),K=!1}return K}finally{d=null,m=B,v=!1}}var P=!1,R=null,I=-1,b=5,L=-1;function H(){return!(n.unstable_now()-LD||125J?(D.sortIndex=B,e(f,D),t(c)===null&&D===t(f)&&(E?(g(I),I=-1):E=!0,ue(T,B-J))):(D.sortIndex=Y,e(c,D),_||v||(_=!0,oe(C))),D},n.unstable_shouldYield=H,n.unstable_wrapCallback=function(D){var V=m;return function(){var B=m;m=V;try{return D.apply(this,arguments)}finally{m=B}}}})(IM);(function(n){n.exports=IM})(RM);/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var DM=Te.exports,Oi=RM.exports;function we(n){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+n,t=1;t"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),p0=Object.prototype.hasOwnProperty,xC=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,E1={},T1={};function SC(n){return p0.call(T1,n)?!0:p0.call(E1,n)?!1:xC.test(n)?T1[n]=!0:(E1[n]=!0,!1)}function wC(n,e,t,i){if(t!==null&&t.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return i?!1:t!==null?!t.acceptsBooleans:(n=n.toLowerCase().slice(0,5),n!=="data-"&&n!=="aria-");default:return!1}}function MC(n,e,t,i){if(e===null||typeof e>"u"||wC(n,e,t,i))return!0;if(i)return!1;if(t!==null)switch(t.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function ci(n,e,t,i,r,s,o){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=i,this.attributeNamespace=r,this.mustUseProperty=t,this.propertyName=n,this.type=e,this.sanitizeURL=s,this.removeEmptyString=o}var Fn={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(n){Fn[n]=new ci(n,0,!1,n,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(n){var e=n[0];Fn[e]=new ci(e,1,!1,n[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(n){Fn[n]=new ci(n,2,!1,n.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(n){Fn[n]=new ci(n,2,!1,n,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(n){Fn[n]=new ci(n,3,!1,n.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(n){Fn[n]=new ci(n,3,!0,n,null,!1,!1)});["capture","download"].forEach(function(n){Fn[n]=new ci(n,4,!1,n,null,!1,!1)});["cols","rows","size","span"].forEach(function(n){Fn[n]=new ci(n,6,!1,n,null,!1,!1)});["rowSpan","start"].forEach(function(n){Fn[n]=new ci(n,5,!1,n.toLowerCase(),null,!1,!1)});var ey=/[\-:]([a-z])/g;function ty(n){return n[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(n){var e=n.replace(ey,ty);Fn[e]=new ci(e,1,!1,n,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(n){var e=n.replace(ey,ty);Fn[e]=new ci(e,1,!1,n,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(n){var e=n.replace(ey,ty);Fn[e]=new ci(e,1,!1,n,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(n){Fn[n]=new ci(n,1,!1,n.toLowerCase(),null,!1,!1)});Fn.xlinkHref=new ci("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(n){Fn[n]=new ci(n,1,!1,n.toLowerCase(),null,!0,!0)});function ny(n,e,t,i){var r=Fn.hasOwnProperty(e)?Fn[e]:null;(r!==null?r.type!==0:i||!(2a||r[o]!==s[a]){var c=` +`+r[o].replace(" at new "," at ");return n.displayName&&c.includes("")&&(c=c.replace("",n.displayName)),c}while(1<=o&&0<=a);break}}}finally{ng=!1,Error.prepareStackTrace=t}return(n=n?n.displayName||n.name:"")?Hu(n):""}function EC(n){switch(n.tag){case 5:return Hu(n.type);case 16:return Hu("Lazy");case 13:return Hu("Suspense");case 19:return Hu("SuspenseList");case 0:case 2:case 15:return n=ig(n.type,!1),n;case 11:return n=ig(n.type.render,!1),n;case 1:return n=ig(n.type,!0),n;default:return""}}function y0(n){if(n==null)return null;if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n;switch(n){case ll:return"Fragment";case al:return"Portal";case m0:return"Profiler";case iy:return"StrictMode";case g0:return"Suspense";case v0:return"SuspenseList"}if(typeof n=="object")switch(n.$$typeof){case zM:return(n.displayName||"Context")+".Consumer";case kM:return(n._context.displayName||"Context")+".Provider";case ry:var e=n.render;return n=n.displayName,n||(n=e.displayName||e.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case sy:return e=n.displayName||null,e!==null?e:y0(n.type)||"Memo";case Xs:e=n._payload,n=n._init;try{return y0(n(e))}catch{}}return null}function TC(n){var e=n.type;switch(n.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return n=e.render,n=n.displayName||n.name||"",e.displayName||(n!==""?"ForwardRef("+n+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return y0(e);case 8:return e===iy?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function uo(n){switch(typeof n){case"boolean":case"number":case"string":case"undefined":return n;case"object":return n;default:return""}}function OM(n){var e=n.type;return(n=n.nodeName)&&n.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function AC(n){var e=OM(n)?"checked":"value",t=Object.getOwnPropertyDescriptor(n.constructor.prototype,e),i=""+n[e];if(!n.hasOwnProperty(e)&&typeof t<"u"&&typeof t.get=="function"&&typeof t.set=="function"){var r=t.get,s=t.set;return Object.defineProperty(n,e,{configurable:!0,get:function(){return r.call(this)},set:function(o){i=""+o,s.call(this,o)}}),Object.defineProperty(n,e,{enumerable:t.enumerable}),{getValue:function(){return i},setValue:function(o){i=""+o},stopTracking:function(){n._valueTracker=null,delete n[e]}}}}function hh(n){n._valueTracker||(n._valueTracker=AC(n))}function FM(n){if(!n)return!1;var e=n._valueTracker;if(!e)return!0;var t=e.getValue(),i="";return n&&(i=OM(n)?n.checked?"true":"false":n.value),n=i,n!==t?(e.setValue(n),!0):!1}function zd(n){if(n=n||(typeof document<"u"?document:void 0),typeof n>"u")return null;try{return n.activeElement||n.body}catch{return n.body}}function _0(n,e){var t=e.checked;return rn({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t!=null?t:n._wrapperState.initialChecked})}function C1(n,e){var t=e.defaultValue==null?"":e.defaultValue,i=e.checked!=null?e.checked:e.defaultChecked;t=uo(e.value!=null?e.value:t),n._wrapperState={initialChecked:i,initialValue:t,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function BM(n,e){e=e.checked,e!=null&&ny(n,"checked",e,!1)}function x0(n,e){BM(n,e);var t=uo(e.value),i=e.type;if(t!=null)i==="number"?(t===0&&n.value===""||n.value!=t)&&(n.value=""+t):n.value!==""+t&&(n.value=""+t);else if(i==="submit"||i==="reset"){n.removeAttribute("value");return}e.hasOwnProperty("value")?S0(n,e.type,t):e.hasOwnProperty("defaultValue")&&S0(n,e.type,uo(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(n.defaultChecked=!!e.defaultChecked)}function b1(n,e,t){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var i=e.type;if(!(i!=="submit"&&i!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+n._wrapperState.initialValue,t||e===n.value||(n.value=e),n.defaultValue=e}t=n.name,t!==""&&(n.name=""),n.defaultChecked=!!n._wrapperState.initialChecked,t!==""&&(n.name=t)}function S0(n,e,t){(e!=="number"||zd(n.ownerDocument)!==n)&&(t==null?n.defaultValue=""+n._wrapperState.initialValue:n.defaultValue!==""+t&&(n.defaultValue=""+t))}var Gu=Array.isArray;function Ml(n,e,t,i){if(n=n.options,e){e={};for(var r=0;r"+e.valueOf().toString()+"",e=dh.firstChild;n.firstChild;)n.removeChild(n.firstChild);for(;e.firstChild;)n.appendChild(e.firstChild)}});function uc(n,e){if(e){var t=n.firstChild;if(t&&t===n.lastChild&&t.nodeType===3){t.nodeValue=e;return}}n.textContent=e}var qu={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},CC=["Webkit","ms","Moz","O"];Object.keys(qu).forEach(function(n){CC.forEach(function(e){e=e+n.charAt(0).toUpperCase()+n.substring(1),qu[e]=qu[n]})});function WM(n,e,t){return e==null||typeof e=="boolean"||e===""?"":t||typeof e!="number"||e===0||qu.hasOwnProperty(n)&&qu[n]?(""+e).trim():e+"px"}function XM(n,e){n=n.style;for(var t in e)if(e.hasOwnProperty(t)){var i=t.indexOf("--")===0,r=WM(t,e[t],i);t==="float"&&(t="cssFloat"),i?n.setProperty(t,r):n[t]=r}}var bC=rn({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function E0(n,e){if(e){if(bC[n]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(we(137,n));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(we(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(we(61))}if(e.style!=null&&typeof e.style!="object")throw Error(we(62))}}function T0(n,e){if(n.indexOf("-")===-1)return typeof e.is=="string";switch(n){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var A0=null;function oy(n){return n=n.target||n.srcElement||window,n.correspondingUseElement&&(n=n.correspondingUseElement),n.nodeType===3?n.parentNode:n}var C0=null,El=null,Tl=null;function R1(n){if(n=Yc(n)){if(typeof C0!="function")throw Error(we(280));var e=n.stateNode;e&&(e=gp(e),C0(n.stateNode,n.type,e))}}function jM(n){El?Tl?Tl.push(n):Tl=[n]:El=n}function YM(){if(El){var n=El,e=Tl;if(Tl=El=null,R1(n),e)for(n=0;n>>=0,n===0?32:31-(FC(n)/BC|0)|0}var ph=64,mh=4194304;function Wu(n){switch(n&-n){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return n&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return n&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return n}}function Bd(n,e){var t=n.pendingLanes;if(t===0)return 0;var i=0,r=n.suspendedLanes,s=n.pingedLanes,o=t&268435455;if(o!==0){var a=o&~r;a!==0?i=Wu(a):(s&=o,s!==0&&(i=Wu(s)))}else o=t&~r,o!==0?i=Wu(o):s!==0&&(i=Wu(s));if(i===0)return 0;if(e!==0&&e!==i&&(e&r)===0&&(r=i&-i,s=e&-e,r>=s||r===16&&(s&4194240)!==0))return e;if((i&4)!==0&&(i|=t&16),e=n.entangledLanes,e!==0)for(n=n.entanglements,e&=i;0t;t++)e.push(n);return e}function Xc(n,e,t){n.pendingLanes|=e,e!==536870912&&(n.suspendedLanes=0,n.pingedLanes=0),n=n.eventTimes,e=31-Er(e),n[e]=t}function WC(n,e){var t=n.pendingLanes&~e;n.pendingLanes=e,n.suspendedLanes=0,n.pingedLanes=0,n.expiredLanes&=e,n.mutableReadLanes&=e,n.entangledLanes&=e,e=n.entanglements;var i=n.eventTimes;for(n=n.expirationTimes;0=Qu),B1=String.fromCharCode(32),V1=!1;function dE(n,e){switch(n){case"keyup":return yb.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function pE(n){return n=n.detail,typeof n=="object"&&"data"in n?n.data:null}var ul=!1;function xb(n,e){switch(n){case"compositionend":return pE(e);case"keypress":return e.which!==32?null:(V1=!0,B1);case"textInput":return n=e.data,n===B1&&V1?null:n;default:return null}}function Sb(n,e){if(ul)return n==="compositionend"||!py&&dE(n,e)?(n=fE(),_d=fy=Js=null,ul=!1,n):null;switch(n){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:t,offset:e-n};n=i}e:{for(;t;){if(t.nextSibling){t=t.nextSibling;break e}t=t.parentNode}t=void 0}t=X1(t)}}function yE(n,e){return n&&e?n===e?!0:n&&n.nodeType===3?!1:e&&e.nodeType===3?yE(n,e.parentNode):"contains"in n?n.contains(e):n.compareDocumentPosition?!!(n.compareDocumentPosition(e)&16):!1:!1}function _E(){for(var n=window,e=zd();e instanceof n.HTMLIFrameElement;){try{var t=typeof e.contentWindow.location.href=="string"}catch{t=!1}if(t)n=e.contentWindow;else break;e=zd(n.document)}return e}function my(n){var e=n&&n.nodeName&&n.nodeName.toLowerCase();return e&&(e==="input"&&(n.type==="text"||n.type==="search"||n.type==="tel"||n.type==="url"||n.type==="password")||e==="textarea"||n.contentEditable==="true")}function Lb(n){var e=_E(),t=n.focusedElem,i=n.selectionRange;if(e!==t&&t&&t.ownerDocument&&yE(t.ownerDocument.documentElement,t)){if(i!==null&&my(t)){if(e=i.start,n=i.end,n===void 0&&(n=e),"selectionStart"in t)t.selectionStart=e,t.selectionEnd=Math.min(n,t.value.length);else if(n=(e=t.ownerDocument||document)&&e.defaultView||window,n.getSelection){n=n.getSelection();var r=t.textContent.length,s=Math.min(i.start,r);i=i.end===void 0?s:Math.min(i.end,r),!n.extend&&s>i&&(r=i,i=s,s=r),r=j1(t,s);var o=j1(t,i);r&&o&&(n.rangeCount!==1||n.anchorNode!==r.node||n.anchorOffset!==r.offset||n.focusNode!==o.node||n.focusOffset!==o.offset)&&(e=e.createRange(),e.setStart(r.node,r.offset),n.removeAllRanges(),s>i?(n.addRange(e),n.extend(o.node,o.offset)):(e.setEnd(o.node,o.offset),n.addRange(e)))}}for(e=[],n=t;n=n.parentNode;)n.nodeType===1&&e.push({element:n,left:n.scrollLeft,top:n.scrollTop});for(typeof t.focus=="function"&&t.focus(),t=0;t=document.documentMode,cl=null,D0=null,Ku=null,N0=!1;function Y1(n,e,t){var i=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;N0||cl==null||cl!==zd(i)||(i=cl,"selectionStart"in i&&my(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),Ku&&mc(Ku,i)||(Ku=i,i=Gd(D0,"onSelect"),0dl||(n.current=B0[dl],B0[dl]=null,dl--)}function Wt(n,e){dl++,B0[dl]=n.current,n.current=e}var co={},Kn=go(co),Si=go(!1),sa=co;function Il(n,e){var t=n.type.contextTypes;if(!t)return co;var i=n.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===e)return i.__reactInternalMemoizedMaskedChildContext;var r={},s;for(s in t)r[s]=e[s];return i&&(n=n.stateNode,n.__reactInternalMemoizedUnmaskedChildContext=e,n.__reactInternalMemoizedMaskedChildContext=r),r}function wi(n){return n=n.childContextTypes,n!=null}function Xd(){jt(Si),jt(Kn)}function eS(n,e,t){if(Kn.current!==co)throw Error(we(168));Wt(Kn,e),Wt(Si,t)}function bE(n,e,t){var i=n.stateNode;if(e=e.childContextTypes,typeof i.getChildContext!="function")return t;i=i.getChildContext();for(var r in i)if(!(r in e))throw Error(we(108,TC(n)||"Unknown",r));return rn({},t,i)}function jd(n){return n=(n=n.stateNode)&&n.__reactInternalMemoizedMergedChildContext||co,sa=Kn.current,Wt(Kn,n),Wt(Si,Si.current),!0}function tS(n,e,t){var i=n.stateNode;if(!i)throw Error(we(169));t?(n=bE(n,e,sa),i.__reactInternalMemoizedMergedChildContext=n,jt(Si),jt(Kn),Wt(Kn,n)):jt(Si),Wt(Si,t)}var hs=null,vp=!1,vg=!1;function PE(n){hs===null?hs=[n]:hs.push(n)}function Hb(n){vp=!0,PE(n)}function vo(){if(!vg&&hs!==null){vg=!0;var n=0,e=kt;try{var t=hs;for(kt=1;n>=o,r-=o,ps=1<<32-Er(e)+r|t<I?(b=R,R=null):b=R.sibling;var L=m(g,R,w[I],T);if(L===null){R===null&&(R=b);break}n&&R&&L.alternate===null&&e(g,R),x=s(L,x,I),P===null?C=L:P.sibling=L,P=L,R=b}if(I===w.length)return t(g,R),Qt&&Oo(g,I),C;if(R===null){for(;II?(b=R,R=null):b=R.sibling;var H=m(g,R,L.value,T);if(H===null){R===null&&(R=b);break}n&&R&&H.alternate===null&&e(g,R),x=s(H,x,I),P===null?C=H:P.sibling=H,P=H,R=b}if(L.done)return t(g,R),Qt&&Oo(g,I),C;if(R===null){for(;!L.done;I++,L=w.next())L=d(g,L.value,T),L!==null&&(x=s(L,x,I),P===null?C=L:P.sibling=L,P=L);return Qt&&Oo(g,I),C}for(R=i(g,R);!L.done;I++,L=w.next())L=v(R,g,I,L.value,T),L!==null&&(n&&L.alternate!==null&&R.delete(L.key===null?I:L.key),x=s(L,x,I),P===null?C=L:P.sibling=L,P=L);return n&&R.forEach(function(q){return e(g,q)}),Qt&&Oo(g,I),C}function S(g,x,w,T){if(typeof w=="object"&&w!==null&&w.type===ll&&w.key===null&&(w=w.props.children),typeof w=="object"&&w!==null){switch(w.$$typeof){case fh:e:{for(var C=w.key,P=x;P!==null;){if(P.key===C){if(C=w.type,C===ll){if(P.tag===7){t(g,P.sibling),x=r(P,w.props.children),x.return=g,g=x;break e}}else if(P.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===Xs&&lS(C)===P.type){t(g,P.sibling),x=r(P,w.props),x.ref=Tu(g,P,w),x.return=g,g=x;break e}t(g,P);break}else e(g,P);P=P.sibling}w.type===ll?(x=$o(w.props.children,g.mode,T,w.key),x.return=g,g=x):(T=Cd(w.type,w.key,w.props,null,g.mode,T),T.ref=Tu(g,x,w),T.return=g,g=T)}return o(g);case al:e:{for(P=w.key;x!==null;){if(x.key===P)if(x.tag===4&&x.stateNode.containerInfo===w.containerInfo&&x.stateNode.implementation===w.implementation){t(g,x.sibling),x=r(x,w.children||[]),x.return=g,g=x;break e}else{t(g,x);break}else e(g,x);x=x.sibling}x=Tg(w,g.mode,T),x.return=g,g=x}return o(g);case Xs:return P=w._init,S(g,x,P(w._payload),T)}if(Gu(w))return _(g,x,w,T);if(xu(w))return E(g,x,w,T);wh(g,w)}return typeof w=="string"&&w!==""||typeof w=="number"?(w=""+w,x!==null&&x.tag===6?(t(g,x.sibling),x=r(x,w),x.return=g,g=x):(t(g,x),x=Eg(w,g.mode,T),x.return=g,g=x),o(g)):t(g,x)}return S}var Nl=UE(!0),OE=UE(!1),qc={},Wr=go(qc),_c=go(qc),xc=go(qc);function Xo(n){if(n===qc)throw Error(we(174));return n}function Ey(n,e){switch(Wt(xc,e),Wt(_c,n),Wt(Wr,qc),n=e.nodeType,n){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:M0(null,"");break;default:n=n===8?e.parentNode:e,e=n.namespaceURI||null,n=n.tagName,e=M0(e,n)}jt(Wr),Wt(Wr,e)}function kl(){jt(Wr),jt(_c),jt(xc)}function FE(n){Xo(xc.current);var e=Xo(Wr.current),t=M0(e,n.type);e!==t&&(Wt(_c,n),Wt(Wr,t))}function Ty(n){_c.current===n&&(jt(Wr),jt(_c))}var $t=go(0);function Kd(n){for(var e=n;e!==null;){if(e.tag===13){var t=e.memoizedState;if(t!==null&&(t=t.dehydrated,t===null||t.data==="$?"||t.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if((e.flags&128)!==0)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===n)break;for(;e.sibling===null;){if(e.return===null||e.return===n)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var yg=[];function Ay(){for(var n=0;nt?t:4,n(!0);var i=_g.transition;_g.transition={};try{n(!1),e()}finally{kt=t,_g.transition=i}}function tT(){return or().memoizedState}function jb(n,e,t){var i=oo(n);if(t={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null},nT(n))iT(e,t);else if(t=DE(n,e,t,i),t!==null){var r=ai();Tr(t,n,i,r),rT(t,e,i)}}function Yb(n,e,t){var i=oo(n),r={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null};if(nT(n))iT(e,r);else{var s=n.alternate;if(n.lanes===0&&(s===null||s.lanes===0)&&(s=e.lastRenderedReducer,s!==null))try{var o=e.lastRenderedState,a=s(o,t);if(r.hasEagerState=!0,r.eagerState=a,Cr(a,o)){var c=e.interleaved;c===null?(r.next=r,wy(e)):(r.next=c.next,c.next=r),e.interleaved=r;return}}catch{}finally{}t=DE(n,e,r,i),t!==null&&(r=ai(),Tr(t,n,i,r),rT(t,e,i))}}function nT(n){var e=n.alternate;return n===nn||e!==null&&e===nn}function iT(n,e){$u=$d=!0;var t=n.pending;t===null?e.next=e:(e.next=t.next,t.next=e),n.pending=e}function rT(n,e,t){if((t&4194240)!==0){var i=e.lanes;i&=n.pendingLanes,t|=i,e.lanes=t,ly(n,t)}}var ep={readContext:sr,useCallback:jn,useContext:jn,useEffect:jn,useImperativeHandle:jn,useInsertionEffect:jn,useLayoutEffect:jn,useMemo:jn,useReducer:jn,useRef:jn,useState:jn,useDebugValue:jn,useDeferredValue:jn,useTransition:jn,useMutableSource:jn,useSyncExternalStore:jn,useId:jn,unstable_isNewReconciler:!1},qb={readContext:sr,useCallback:function(n,e){return Fr().memoizedState=[n,e===void 0?null:e],n},useContext:sr,useEffect:cS,useImperativeHandle:function(n,e,t){return t=t!=null?t.concat([n]):null,Md(4194308,4,QE.bind(null,e,n),t)},useLayoutEffect:function(n,e){return Md(4194308,4,n,e)},useInsertionEffect:function(n,e){return Md(4,2,n,e)},useMemo:function(n,e){var t=Fr();return e=e===void 0?null:e,n=n(),t.memoizedState=[n,e],n},useReducer:function(n,e,t){var i=Fr();return e=t!==void 0?t(e):e,i.memoizedState=i.baseState=e,n={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:n,lastRenderedState:e},i.queue=n,n=n.dispatch=jb.bind(null,nn,n),[i.memoizedState,n]},useRef:function(n){var e=Fr();return n={current:n},e.memoizedState=n},useState:uS,useDebugValue:Ry,useDeferredValue:function(n){return Fr().memoizedState=n},useTransition:function(){var n=uS(!1),e=n[0];return n=Xb.bind(null,n[1]),Fr().memoizedState=n,[e,n]},useMutableSource:function(){},useSyncExternalStore:function(n,e,t){var i=nn,r=Fr();if(Qt){if(t===void 0)throw Error(we(407));t=t()}else{if(t=e(),Dn===null)throw Error(we(349));(aa&30)!==0||HE(i,e,t)}r.memoizedState=t;var s={value:t,getSnapshot:e};return r.queue=s,cS(WE.bind(null,i,s,n),[n]),i.flags|=2048,Mc(9,GE.bind(null,i,s,t,e),void 0,null),t},useId:function(){var n=Fr(),e=Dn.identifierPrefix;if(Qt){var t=ms,i=ps;t=(i&~(1<<32-Er(i)-1)).toString(32)+t,e=":"+e+"R"+t,t=Sc++,0<\/script>",n=n.removeChild(n.firstChild)):typeof i.is=="string"?n=o.createElement(t,{is:i.is}):(n=o.createElement(t),t==="select"&&(o=n,i.multiple?o.multiple=!0:i.size&&(o.size=i.size))):n=o.createElementNS(n,t),n[Vr]=e,n[yc]=i,dT(n,e,!1,!1),e.stateNode=n;e:{switch(o=T0(t,i),t){case"dialog":Xt("cancel",n),Xt("close",n),r=i;break;case"iframe":case"object":case"embed":Xt("load",n),r=i;break;case"video":case"audio":for(r=0;rUl&&(e.flags|=128,i=!0,Au(s,!1),e.lanes=4194304)}else{if(!i)if(n=Kd(o),n!==null){if(e.flags|=128,i=!0,t=n.updateQueue,t!==null&&(e.updateQueue=t,e.flags|=4),Au(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!Qt)return Yn(e),null}else 2*dn()-s.renderingStartTime>Ul&&t!==1073741824&&(e.flags|=128,i=!0,Au(s,!1),e.lanes=4194304);s.isBackwards?(o.sibling=e.child,e.child=o):(t=s.last,t!==null?t.sibling=o:e.child=o,s.last=o)}return s.tail!==null?(e=s.tail,s.rendering=e,s.tail=e.sibling,s.renderingStartTime=dn(),e.sibling=null,t=$t.current,Wt($t,i?t&1|2:t&1),e):(Yn(e),null);case 22:case 23:return Uy(),i=e.memoizedState!==null,n!==null&&n.memoizedState!==null!==i&&(e.flags|=8192),i&&(e.mode&1)!==0?(Ri&1073741824)!==0&&(Yn(e),e.subtreeFlags&6&&(e.flags|=8192)):Yn(e),null;case 24:return null;case 25:return null}throw Error(we(156,e.tag))}function nP(n,e){switch(vy(e),e.tag){case 1:return wi(e.type)&&Xd(),n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 3:return kl(),jt(Si),jt(Kn),Ay(),n=e.flags,(n&65536)!==0&&(n&128)===0?(e.flags=n&-65537|128,e):null;case 5:return Ty(e),null;case 13:if(jt($t),n=e.memoizedState,n!==null&&n.dehydrated!==null){if(e.alternate===null)throw Error(we(340));Dl()}return n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 19:return jt($t),null;case 4:return kl(),null;case 10:return Sy(e.type._context),null;case 22:case 23:return Uy(),null;case 24:return null;default:return null}}var Eh=!1,Qn=!1,iP=typeof WeakSet=="function"?WeakSet:Set,ze=null;function vl(n,e){var t=n.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(i){an(n,e,i)}else t.current=null}function K0(n,e,t){try{t()}catch(i){an(n,e,i)}}var _S=!1;function rP(n,e){if(k0=Vd,n=_E(),my(n)){if("selectionStart"in n)var t={start:n.selectionStart,end:n.selectionEnd};else e:{t=(t=n.ownerDocument)&&t.defaultView||window;var i=t.getSelection&&t.getSelection();if(i&&i.rangeCount!==0){t=i.anchorNode;var r=i.anchorOffset,s=i.focusNode;i=i.focusOffset;try{t.nodeType,s.nodeType}catch{t=null;break e}var o=0,a=-1,c=-1,f=0,h=0,d=n,m=null;t:for(;;){for(var v;d!==t||r!==0&&d.nodeType!==3||(a=o+r),d!==s||i!==0&&d.nodeType!==3||(c=o+i),d.nodeType===3&&(o+=d.nodeValue.length),(v=d.firstChild)!==null;)m=d,d=v;for(;;){if(d===n)break t;if(m===t&&++f===r&&(a=o),m===s&&++h===i&&(c=o),(v=d.nextSibling)!==null)break;d=m,m=d.parentNode}d=v}t=a===-1||c===-1?null:{start:a,end:c}}else t=null}t=t||{start:0,end:0}}else t=null;for(z0={focusedElem:n,selectionRange:t},Vd=!1,ze=e;ze!==null;)if(e=ze,n=e.child,(e.subtreeFlags&1028)!==0&&n!==null)n.return=e,ze=n;else for(;ze!==null;){e=ze;try{var _=e.alternate;if((e.flags&1024)!==0)switch(e.tag){case 0:case 11:case 15:break;case 1:if(_!==null){var E=_.memoizedProps,S=_.memoizedState,g=e.stateNode,x=g.getSnapshotBeforeUpdate(e.elementType===e.type?E:_r(e.type,E),S);g.__reactInternalSnapshotBeforeUpdate=x}break;case 3:var w=e.stateNode.containerInfo;w.nodeType===1?w.textContent="":w.nodeType===9&&w.documentElement&&w.removeChild(w.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(we(163))}}catch(T){an(e,e.return,T)}if(n=e.sibling,n!==null){n.return=e.return,ze=n;break}ze=e.return}return _=_S,_S=!1,_}function ec(n,e,t){var i=e.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var r=i=i.next;do{if((r.tag&n)===n){var s=r.destroy;r.destroy=void 0,s!==void 0&&K0(e,t,s)}r=r.next}while(r!==i)}}function xp(n,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var t=e=e.next;do{if((t.tag&n)===n){var i=t.create;t.destroy=i()}t=t.next}while(t!==e)}}function $0(n){var e=n.ref;if(e!==null){var t=n.stateNode;switch(n.tag){case 5:n=t;break;default:n=t}typeof e=="function"?e(n):e.current=n}}function gT(n){var e=n.alternate;e!==null&&(n.alternate=null,gT(e)),n.child=null,n.deletions=null,n.sibling=null,n.tag===5&&(e=n.stateNode,e!==null&&(delete e[Vr],delete e[yc],delete e[F0],delete e[Bb],delete e[Vb])),n.stateNode=null,n.return=null,n.dependencies=null,n.memoizedProps=null,n.memoizedState=null,n.pendingProps=null,n.stateNode=null,n.updateQueue=null}function vT(n){return n.tag===5||n.tag===3||n.tag===4}function xS(n){e:for(;;){for(;n.sibling===null;){if(n.return===null||vT(n.return))return null;n=n.return}for(n.sibling.return=n.return,n=n.sibling;n.tag!==5&&n.tag!==6&&n.tag!==18;){if(n.flags&2||n.child===null||n.tag===4)continue e;n.child.return=n,n=n.child}if(!(n.flags&2))return n.stateNode}}function ev(n,e,t){var i=n.tag;if(i===5||i===6)n=n.stateNode,e?t.nodeType===8?t.parentNode.insertBefore(n,e):t.insertBefore(n,e):(t.nodeType===8?(e=t.parentNode,e.insertBefore(n,t)):(e=t,e.appendChild(n)),t=t._reactRootContainer,t!=null||e.onclick!==null||(e.onclick=Wd));else if(i!==4&&(n=n.child,n!==null))for(ev(n,e,t),n=n.sibling;n!==null;)ev(n,e,t),n=n.sibling}function tv(n,e,t){var i=n.tag;if(i===5||i===6)n=n.stateNode,e?t.insertBefore(n,e):t.appendChild(n);else if(i!==4&&(n=n.child,n!==null))for(tv(n,e,t),n=n.sibling;n!==null;)tv(n,e,t),n=n.sibling}var Un=null,xr=!1;function Fs(n,e,t){for(t=t.child;t!==null;)yT(n,e,t),t=t.sibling}function yT(n,e,t){if(Gr&&typeof Gr.onCommitFiberUnmount=="function")try{Gr.onCommitFiberUnmount(hp,t)}catch{}switch(t.tag){case 5:Qn||vl(t,e);case 6:var i=Un,r=xr;Un=null,Fs(n,e,t),Un=i,xr=r,Un!==null&&(xr?(n=Un,t=t.stateNode,n.nodeType===8?n.parentNode.removeChild(t):n.removeChild(t)):Un.removeChild(t.stateNode));break;case 18:Un!==null&&(xr?(n=Un,t=t.stateNode,n.nodeType===8?gg(n.parentNode,t):n.nodeType===1&&gg(n,t),dc(n)):gg(Un,t.stateNode));break;case 4:i=Un,r=xr,Un=t.stateNode.containerInfo,xr=!0,Fs(n,e,t),Un=i,xr=r;break;case 0:case 11:case 14:case 15:if(!Qn&&(i=t.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){r=i=i.next;do{var s=r,o=s.destroy;s=s.tag,o!==void 0&&((s&2)!==0||(s&4)!==0)&&K0(t,e,o),r=r.next}while(r!==i)}Fs(n,e,t);break;case 1:if(!Qn&&(vl(t,e),i=t.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=t.memoizedProps,i.state=t.memoizedState,i.componentWillUnmount()}catch(a){an(t,e,a)}Fs(n,e,t);break;case 21:Fs(n,e,t);break;case 22:t.mode&1?(Qn=(i=Qn)||t.memoizedState!==null,Fs(n,e,t),Qn=i):Fs(n,e,t);break;default:Fs(n,e,t)}}function SS(n){var e=n.updateQueue;if(e!==null){n.updateQueue=null;var t=n.stateNode;t===null&&(t=n.stateNode=new iP),e.forEach(function(i){var r=dP.bind(null,n,i);t.has(i)||(t.add(i),i.then(r,r))})}}function mr(n,e){var t=e.deletions;if(t!==null)for(var i=0;ir&&(r=o),i&=~s}if(i=r,i=dn()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*oP(i/1960))-i,10n?16:n,Ks===null)var i=!1;else{if(n=Ks,Ks=null,ip=0,(At&6)!==0)throw Error(we(331));var r=At;for(At|=4,ze=n.current;ze!==null;){var s=ze,o=s.child;if((ze.flags&16)!==0){var a=s.deletions;if(a!==null){for(var c=0;cdn()-ky?Ko(n,0):Ny|=t),Mi(n,e)}function AT(n,e){e===0&&((n.mode&1)===0?e=1:(e=mh,mh<<=1,(mh&130023424)===0&&(mh=4194304)));var t=ai();n=Ss(n,e),n!==null&&(Xc(n,e,t),Mi(n,t))}function hP(n){var e=n.memoizedState,t=0;e!==null&&(t=e.retryLane),AT(n,t)}function dP(n,e){var t=0;switch(n.tag){case 13:var i=n.stateNode,r=n.memoizedState;r!==null&&(t=r.retryLane);break;case 19:i=n.stateNode;break;default:throw Error(we(314))}i!==null&&i.delete(e),AT(n,t)}var CT;CT=function(n,e,t){if(n!==null)if(n.memoizedProps!==e.pendingProps||Si.current)xi=!0;else{if((n.lanes&t)===0&&(e.flags&128)===0)return xi=!1,eP(n,e,t);xi=(n.flags&131072)!==0}else xi=!1,Qt&&(e.flags&1048576)!==0&&LE(e,qd,e.index);switch(e.lanes=0,e.tag){case 2:var i=e.type;Ed(n,e),n=e.pendingProps;var r=Il(e,Kn.current);Cl(e,t),r=by(null,e,i,n,r,t);var s=Py();return e.flags|=1,typeof r=="object"&&r!==null&&typeof r.render=="function"&&r.$$typeof===void 0?(e.tag=1,e.memoizedState=null,e.updateQueue=null,wi(i)?(s=!0,jd(e)):s=!1,e.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,My(e),r.updater=yp,e.stateNode=r,r._reactInternals=e,X0(e,i,n,t),e=q0(null,e,i,!0,s,t)):(e.tag=0,Qt&&s&&gy(e),si(null,e,r,t),e=e.child),e;case 16:i=e.elementType;e:{switch(Ed(n,e),n=e.pendingProps,r=i._init,i=r(i._payload),e.type=i,r=e.tag=mP(i),n=_r(i,n),r){case 0:e=Y0(null,e,i,n,t);break e;case 1:e=gS(null,e,i,n,t);break e;case 11:e=pS(null,e,i,n,t);break e;case 14:e=mS(null,e,i,_r(i.type,n),t);break e}throw Error(we(306,i,""))}return e;case 0:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:_r(i,r),Y0(n,e,i,r,t);case 1:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:_r(i,r),gS(n,e,i,r,t);case 3:e:{if(cT(e),n===null)throw Error(we(387));i=e.pendingProps,s=e.memoizedState,r=s.element,NE(n,e),Jd(e,i,null,t);var o=e.memoizedState;if(i=o.element,s.isDehydrated)if(s={element:i,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},e.updateQueue.baseState=s,e.memoizedState=s,e.flags&256){r=zl(Error(we(423)),e),e=vS(n,e,i,t,r);break e}else if(i!==r){r=zl(Error(we(424)),e),e=vS(n,e,i,t,r);break e}else for(Ni=io(e.stateNode.containerInfo.firstChild),zi=e,Qt=!0,wr=null,t=OE(e,null,i,t),e.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(Dl(),i===r){e=ws(n,e,t);break e}si(n,e,i,t)}e=e.child}return e;case 5:return FE(e),n===null&&H0(e),i=e.type,r=e.pendingProps,s=n!==null?n.memoizedProps:null,o=r.children,U0(i,r)?o=null:s!==null&&U0(i,s)&&(e.flags|=32),uT(n,e),si(n,e,o,t),e.child;case 6:return n===null&&H0(e),null;case 13:return fT(n,e,t);case 4:return Ey(e,e.stateNode.containerInfo),i=e.pendingProps,n===null?e.child=Nl(e,null,i,t):si(n,e,i,t),e.child;case 11:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:_r(i,r),pS(n,e,i,r,t);case 7:return si(n,e,e.pendingProps,t),e.child;case 8:return si(n,e,e.pendingProps.children,t),e.child;case 12:return si(n,e,e.pendingProps.children,t),e.child;case 10:e:{if(i=e.type._context,r=e.pendingProps,s=e.memoizedProps,o=r.value,Wt(Zd,i._currentValue),i._currentValue=o,s!==null)if(Cr(s.value,o)){if(s.children===r.children&&!Si.current){e=ws(n,e,t);break e}}else for(s=e.child,s!==null&&(s.return=e);s!==null;){var a=s.dependencies;if(a!==null){o=s.child;for(var c=a.firstContext;c!==null;){if(c.context===i){if(s.tag===1){c=vs(-1,t&-t),c.tag=2;var f=s.updateQueue;if(f!==null){f=f.shared;var h=f.pending;h===null?c.next=c:(c.next=h.next,h.next=c),f.pending=c}}s.lanes|=t,c=s.alternate,c!==null&&(c.lanes|=t),G0(s.return,t,e),a.lanes|=t;break}c=c.next}}else if(s.tag===10)o=s.type===e.type?null:s.child;else if(s.tag===18){if(o=s.return,o===null)throw Error(we(341));o.lanes|=t,a=o.alternate,a!==null&&(a.lanes|=t),G0(o,t,e),o=s.sibling}else o=s.child;if(o!==null)o.return=s;else for(o=s;o!==null;){if(o===e){o=null;break}if(s=o.sibling,s!==null){s.return=o.return,o=s;break}o=o.return}s=o}si(n,e,r.children,t),e=e.child}return e;case 9:return r=e.type,i=e.pendingProps.children,Cl(e,t),r=sr(r),i=i(r),e.flags|=1,si(n,e,i,t),e.child;case 14:return i=e.type,r=_r(i,e.pendingProps),r=_r(i.type,r),mS(n,e,i,r,t);case 15:return aT(n,e,e.type,e.pendingProps,t);case 17:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:_r(i,r),Ed(n,e),e.tag=1,wi(i)?(n=!0,jd(e)):n=!1,Cl(e,t),zE(e,i,r),X0(e,i,r,t),q0(null,e,i,!0,n,t);case 19:return hT(n,e,t);case 22:return lT(n,e,t)}throw Error(we(156,e.tag))};function bT(n,e){return eE(n,e)}function pP(n,e,t,i){this.tag=n,this.key=t,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ir(n,e,t,i){return new pP(n,e,t,i)}function Fy(n){return n=n.prototype,!(!n||!n.isReactComponent)}function mP(n){if(typeof n=="function")return Fy(n)?1:0;if(n!=null){if(n=n.$$typeof,n===ry)return 11;if(n===sy)return 14}return 2}function ao(n,e){var t=n.alternate;return t===null?(t=ir(n.tag,e,n.key,n.mode),t.elementType=n.elementType,t.type=n.type,t.stateNode=n.stateNode,t.alternate=n,n.alternate=t):(t.pendingProps=e,t.type=n.type,t.flags=0,t.subtreeFlags=0,t.deletions=null),t.flags=n.flags&14680064,t.childLanes=n.childLanes,t.lanes=n.lanes,t.child=n.child,t.memoizedProps=n.memoizedProps,t.memoizedState=n.memoizedState,t.updateQueue=n.updateQueue,e=n.dependencies,t.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},t.sibling=n.sibling,t.index=n.index,t.ref=n.ref,t}function Cd(n,e,t,i,r,s){var o=2;if(i=n,typeof n=="function")Fy(n)&&(o=1);else if(typeof n=="string")o=5;else e:switch(n){case ll:return $o(t.children,r,s,e);case iy:o=8,r|=8;break;case m0:return n=ir(12,t,e,r|2),n.elementType=m0,n.lanes=s,n;case g0:return n=ir(13,t,e,r),n.elementType=g0,n.lanes=s,n;case v0:return n=ir(19,t,e,r),n.elementType=v0,n.lanes=s,n;case UM:return wp(t,r,s,e);default:if(typeof n=="object"&&n!==null)switch(n.$$typeof){case kM:o=10;break e;case zM:o=9;break e;case ry:o=11;break e;case sy:o=14;break e;case Xs:o=16,i=null;break e}throw Error(we(130,n==null?n:typeof n,""))}return e=ir(o,t,e,r),e.elementType=n,e.type=i,e.lanes=s,e}function $o(n,e,t,i){return n=ir(7,n,i,e),n.lanes=t,n}function wp(n,e,t,i){return n=ir(22,n,i,e),n.elementType=UM,n.lanes=t,n.stateNode={isHidden:!1},n}function Eg(n,e,t){return n=ir(6,n,null,e),n.lanes=t,n}function Tg(n,e,t){return e=ir(4,n.children!==null?n.children:[],n.key,e),e.lanes=t,e.stateNode={containerInfo:n.containerInfo,pendingChildren:null,implementation:n.implementation},e}function gP(n,e,t,i,r){this.tag=e,this.containerInfo=n,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=sg(0),this.expirationTimes=sg(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=sg(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function By(n,e,t,i,r,s,o,a,c){return n=new gP(n,e,t,a,c),e===1?(e=1,s===!0&&(e|=8)):e=0,s=ir(3,null,null,e),n.current=s,s.stateNode=n,s.memoizedState={element:i,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},My(s),n}function vP(n,e,t){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}e(),n.exports=Fi})(MM);var PS=MM.exports;d0.createRoot=PS.createRoot,d0.hydrateRoot=PS.hydrateRoot;/** + * @license + * Copyright 2010-2023 Three.js Authors + * SPDX-License-Identifier: MIT + */const Cp="151",wP={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},MP={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},IT=0,ov=1,DT=2,EP=3,NT=0,bp=1,ic=2,jo=3,Ms=0,li=1,nr=2,TP=2,ys=0,ea=1,av=2,lv=3,uv=4,kT=5,Vo=100,zT=101,UT=102,cv=103,fv=104,OT=200,FT=201,BT=202,VT=203,Wy=204,Xy=205,HT=206,GT=207,WT=208,XT=209,jT=210,YT=0,qT=1,ZT=2,op=3,QT=4,JT=5,KT=6,$T=7,Zc=0,e2=1,t2=2,Ar=0,n2=1,i2=2,r2=3,jy=4,s2=5,Pp=300,fo=301,ho=302,Tc=303,Ac=304,jl=306,Cc=1e3,Jn=1001,bc=1002,hn=1003,ap=1004,AP=1004,rc=1005,CP=1005,en=1006,Yy=1007,bP=1007,po=1008,PP=1008,Es=1009,o2=1010,a2=1011,qy=1012,l2=1013,$s=1014,Hr=1015,ca=1016,u2=1017,c2=1018,ta=1020,f2=1021,_i=1023,h2=1024,d2=1025,lo=1026,fa=1027,p2=1028,m2=1029,g2=1030,v2=1031,y2=1033,bd=33776,Pd=33777,Ld=33778,Rd=33779,hv=35840,dv=35841,pv=35842,mv=35843,_2=36196,gv=37492,vv=37496,yv=37808,_v=37809,xv=37810,Sv=37811,wv=37812,Mv=37813,Ev=37814,Tv=37815,Av=37816,Cv=37817,bv=37818,Pv=37819,Lv=37820,Rv=37821,Id=36492,x2=36283,Iv=36284,Dv=36285,Nv=36286,S2=2200,w2=2201,M2=2202,Pc=2300,Lc=2301,Dd=2302,Yo=2400,qo=2401,Rc=2402,Lp=2500,Zy=2501,LP=0,RP=1,IP=2,Ts=3e3,Ot=3001,E2=3200,T2=3201,yo=0,A2=1,DP="",Sr="srgb",Ol="srgb-linear",Qy="display-p3",NP=0,Nd=7680,kP=7681,zP=7682,UP=7683,OP=34055,FP=34056,BP=5386,VP=512,HP=513,GP=514,WP=515,XP=516,jP=517,YP=518,C2=519,Ic=35044,qP=35048,ZP=35040,QP=35045,JP=35049,KP=35041,$P=35046,eL=35050,tL=35042,nL="100",kv="300 es",lp=1035;class bs{addEventListener(e,t){this._listeners===void 0&&(this._listeners={});const i=this._listeners;i[e]===void 0&&(i[e]=[]),i[e].indexOf(t)===-1&&i[e].push(t)}hasEventListener(e,t){if(this._listeners===void 0)return!1;const i=this._listeners;return i[e]!==void 0&&i[e].indexOf(t)!==-1}removeEventListener(e,t){if(this._listeners===void 0)return;const r=this._listeners[e];if(r!==void 0){const s=r.indexOf(t);s!==-1&&r.splice(s,1)}}dispatchEvent(e){if(this._listeners===void 0)return;const i=this._listeners[e.type];if(i!==void 0){e.target=this;const r=i.slice(0);for(let s=0,o=r.length;s>8&255]+qn[n>>16&255]+qn[n>>24&255]+"-"+qn[e&255]+qn[e>>8&255]+"-"+qn[e>>16&15|64]+qn[e>>24&255]+"-"+qn[t&63|128]+qn[t>>8&255]+"-"+qn[t>>16&255]+qn[t>>24&255]+qn[i&255]+qn[i>>8&255]+qn[i>>16&255]+qn[i>>24&255]).toLowerCase()}function ln(n,e,t){return Math.max(e,Math.min(t,n))}function Jy(n,e){return(n%e+e)%e}function iL(n,e,t,i,r){return i+(n-e)*(r-i)/(t-e)}function rL(n,e,t){return n!==e?(t-n)/(e-n):0}function sc(n,e,t){return(1-t)*n+t*e}function sL(n,e,t,i){return sc(n,e,1-Math.exp(-t*i))}function oL(n,e=1){return e-Math.abs(Jy(n,e*2)-e)}function aL(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*(3-2*n))}function lL(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*n*(n*(n*6-15)+10))}function uL(n,e){return n+Math.floor(Math.random()*(e-n+1))}function cL(n,e){return n+Math.random()*(e-n)}function fL(n){return n*(.5-Math.random())}function hL(n){n!==void 0&&(LS=n);let e=LS+=1831565813;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}function dL(n){return n*na}function pL(n){return n*Fl}function zv(n){return(n&n-1)===0&&n!==0}function b2(n){return Math.pow(2,Math.ceil(Math.log(n)/Math.LN2))}function P2(n){return Math.pow(2,Math.floor(Math.log(n)/Math.LN2))}function mL(n,e,t,i,r){const s=Math.cos,o=Math.sin,a=s(t/2),c=o(t/2),f=s((e+i)/2),h=o((e+i)/2),d=s((e-i)/2),m=o((e-i)/2),v=s((i-e)/2),_=o((i-e)/2);switch(r){case"XYX":n.set(a*h,c*d,c*m,a*f);break;case"YZY":n.set(c*m,a*h,c*d,a*f);break;case"ZXZ":n.set(c*d,c*m,a*h,a*f);break;case"XZX":n.set(a*h,c*_,c*v,a*f);break;case"YXY":n.set(c*v,a*h,c*_,a*f);break;case"ZYZ":n.set(c*_,c*v,a*h,a*f);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}}function ki(n,e){switch(e.constructor){case Float32Array:return n;case Uint16Array:return n/65535;case Uint8Array:return n/255;case Int16Array:return Math.max(n/32767,-1);case Int8Array:return Math.max(n/127,-1);default:throw new Error("Invalid component type.")}}function dt(n,e){switch(e.constructor){case Float32Array:return n;case Uint16Array:return Math.round(n*65535);case Uint8Array:return Math.round(n*255);case Int16Array:return Math.round(n*32767);case Int8Array:return Math.round(n*127);default:throw new Error("Invalid component type.")}}const Br={DEG2RAD:na,RAD2DEG:Fl,generateUUID:Ui,clamp:ln,euclideanModulo:Jy,mapLinear:iL,inverseLerp:rL,lerp:sc,damp:sL,pingpong:oL,smoothstep:aL,smootherstep:lL,randInt:uL,randFloat:cL,randFloatSpread:fL,seededRandom:hL,degToRad:dL,radToDeg:pL,isPowerOfTwo:zv,ceilPowerOfTwo:b2,floorPowerOfTwo:P2,setQuaternionFromProperEuler:mL,normalize:dt,denormalize:ki};class ge{constructor(e=0,t=0){ge.prototype.isVector2=!0,this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const t=this.x,i=this.y,r=e.elements;return this.x=r[0]*t+r[3]*i+r[6],this.y=r[1]*t+r[4]*i+r[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const i=this.dot(e)/t;return Math.acos(ln(i,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,i=this.y-e.y;return t*t+i*i}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){const i=Math.cos(t),r=Math.sin(t),s=this.x-e.x,o=this.y-e.y;return this.x=s*i-o*r+e.x,this.y=s*r+o*i+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class xt{constructor(){xt.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1]}set(e,t,i,r,s,o,a,c,f){const h=this.elements;return h[0]=e,h[1]=r,h[2]=a,h[3]=t,h[4]=s,h[5]=c,h[6]=i,h[7]=o,h[8]=f,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const t=this.elements,i=e.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],this}extractBasis(e,t,i){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),i.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const i=e.elements,r=t.elements,s=this.elements,o=i[0],a=i[3],c=i[6],f=i[1],h=i[4],d=i[7],m=i[2],v=i[5],_=i[8],E=r[0],S=r[3],g=r[6],x=r[1],w=r[4],T=r[7],C=r[2],P=r[5],R=r[8];return s[0]=o*E+a*x+c*C,s[3]=o*S+a*w+c*P,s[6]=o*g+a*T+c*R,s[1]=f*E+h*x+d*C,s[4]=f*S+h*w+d*P,s[7]=f*g+h*T+d*R,s[2]=m*E+v*x+_*C,s[5]=m*S+v*w+_*P,s[8]=m*g+v*T+_*R,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){const e=this.elements,t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],c=e[6],f=e[7],h=e[8];return t*o*h-t*a*f-i*s*h+i*a*c+r*s*f-r*o*c}invert(){const e=this.elements,t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],c=e[6],f=e[7],h=e[8],d=h*o-a*f,m=a*c-h*s,v=f*s-o*c,_=t*d+i*m+r*v;if(_===0)return this.set(0,0,0,0,0,0,0,0,0);const E=1/_;return e[0]=d*E,e[1]=(r*f-h*i)*E,e[2]=(a*i-r*o)*E,e[3]=m*E,e[4]=(h*t-r*c)*E,e[5]=(r*s-a*t)*E,e[6]=v*E,e[7]=(i*c-f*t)*E,e[8]=(o*t-i*s)*E,this}transpose(){let e;const t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,i,r,s,o,a){const c=Math.cos(s),f=Math.sin(s);return this.set(i*c,i*f,-i*(c*o+f*a)+o+e,-r*f,r*c,-r*(-f*o+c*a)+a+t,0,0,1),this}scale(e,t){return this.premultiply(Ag.makeScale(e,t)),this}rotate(e){return this.premultiply(Ag.makeRotation(-e)),this}translate(e,t){return this.premultiply(Ag.makeTranslation(e,t)),this}makeTranslation(e,t){return this.set(1,0,e,0,1,t,0,0,1),this}makeRotation(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,-i,0,i,t,0,0,0,1),this}makeScale(e,t){return this.set(e,0,0,0,t,0,0,0,1),this}equals(e){const t=this.elements,i=e.elements;for(let r=0;r<9;r++)if(t[r]!==i[r])return!1;return!0}fromArray(e,t=0){for(let i=0;i<9;i++)this.elements[i]=e[i+t];return this}toArray(e=[],t=0){const i=this.elements;return e[t]=i[0],e[t+1]=i[1],e[t+2]=i[2],e[t+3]=i[3],e[t+4]=i[4],e[t+5]=i[5],e[t+6]=i[6],e[t+7]=i[7],e[t+8]=i[8],e}clone(){return new this.constructor().fromArray(this.elements)}}const Ag=new xt;function L2(n){for(let e=n.length-1;e>=0;--e)if(n[e]>=65535)return!0;return!1}const gL={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function _l(n,e){return new gL[n](e)}function Dc(n){return document.createElementNS("http://www.w3.org/1999/xhtml",n)}function Pl(n){return n<.04045?n*.0773993808:Math.pow(n*.9478672986+.0521327014,2.4)}function Cg(n){return n<.0031308?n*12.92:1.055*Math.pow(n,.41666)-.055}const vL=new xt().fromArray([.8224621,.0331941,.0170827,.177538,.9668058,.0723974,-1e-7,1e-7,.9105199]),yL=new xt().fromArray([1.2249401,-.0420569,-.0196376,-.2249404,1.0420571,-.0786361,1e-7,0,1.0982735]);function _L(n){return n.convertSRGBToLinear().applyMatrix3(yL)}function xL(n){return n.applyMatrix3(vL).convertLinearToSRGB()}const SL={[Ol]:n=>n,[Sr]:n=>n.convertSRGBToLinear(),[Qy]:_L},wL={[Ol]:n=>n,[Sr]:n=>n.convertLinearToSRGB(),[Qy]:xL},mi={enabled:!1,get legacyMode(){return console.warn("THREE.ColorManagement: .legacyMode=false renamed to .enabled=true in r150."),!this.enabled},set legacyMode(n){console.warn("THREE.ColorManagement: .legacyMode=false renamed to .enabled=true in r150."),this.enabled=!n},get workingColorSpace(){return Ol},set workingColorSpace(n){console.warn("THREE.ColorManagement: .workingColorSpace is readonly.")},convert:function(n,e,t){if(this.enabled===!1||e===t||!e||!t)return n;const i=SL[e],r=wL[t];if(i===void 0||r===void 0)throw new Error(`Unsupported color space conversion, "${e}" to "${t}".`);return r(i(n))},fromWorkingColorSpace:function(n,e){return this.convert(n,this.workingColorSpace,e)},toWorkingColorSpace:function(n,e){return this.convert(n,e,this.workingColorSpace)}};let za;class Ky{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{za===void 0&&(za=Dc("canvas")),za.width=e.width,za.height=e.height;const i=za.getContext("2d");e instanceof ImageData?i.putImageData(e,0,0):i.drawImage(e,0,0,e.width,e.height),t=za}return t.width>2048||t.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",e),t.toDataURL("image/jpeg",.6)):t.toDataURL("image/png")}static sRGBToLinear(e){if(typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&e instanceof ImageBitmap){const t=Dc("canvas");t.width=e.width,t.height=e.height;const i=t.getContext("2d");i.drawImage(e,0,0,e.width,e.height);const r=i.getImageData(0,0,e.width,e.height),s=r.data;for(let o=0;o0&&(i.userData=this.userData),t||(e.textures[this.uuid]=i),i}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(this.mapping!==Pp)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case Cc:e.x=e.x-Math.floor(e.x);break;case Jn:e.x=e.x<0?0:1;break;case bc:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case Cc:e.y=e.y-Math.floor(e.y);break;case Jn:e.y=e.y<0?0:1;break;case bc:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}}un.DEFAULT_IMAGE=null;un.DEFAULT_MAPPING=Pp;un.DEFAULT_ANISOTROPY=1;class Nt{constructor(e=0,t=0,i=0,r=1){Nt.prototype.isVector4=!0,this.x=e,this.y=t,this.z=i,this.w=r}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,i,r){return this.x=e,this.y=t,this.z=i,this.w=r,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){const t=this.x,i=this.y,r=this.z,s=this.w,o=e.elements;return this.x=o[0]*t+o[4]*i+o[8]*r+o[12]*s,this.y=o[1]*t+o[5]*i+o[9]*r+o[13]*s,this.z=o[2]*t+o[6]*i+o[10]*r+o[14]*s,this.w=o[3]*t+o[7]*i+o[11]*r+o[15]*s,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this}setAxisAngleFromRotationMatrix(e){let t,i,r,s;const c=e.elements,f=c[0],h=c[4],d=c[8],m=c[1],v=c[5],_=c[9],E=c[2],S=c[6],g=c[10];if(Math.abs(h-m)<.01&&Math.abs(d-E)<.01&&Math.abs(_-S)<.01){if(Math.abs(h+m)<.1&&Math.abs(d+E)<.1&&Math.abs(_+S)<.1&&Math.abs(f+v+g-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;const w=(f+1)/2,T=(v+1)/2,C=(g+1)/2,P=(h+m)/4,R=(d+E)/4,I=(_+S)/4;return w>T&&w>C?w<.01?(i=0,r=.707106781,s=.707106781):(i=Math.sqrt(w),r=P/i,s=R/i):T>C?T<.01?(i=.707106781,r=0,s=.707106781):(r=Math.sqrt(T),i=P/r,s=I/r):C<.01?(i=.707106781,r=.707106781,s=0):(s=Math.sqrt(C),i=R/s,r=I/s),this.set(i,r,s,t),this}let x=Math.sqrt((S-_)*(S-_)+(d-E)*(d-E)+(m-h)*(m-h));return Math.abs(x)<.001&&(x=1),this.x=(S-_)/x,this.y=(d-E)/x,this.z=(m-h)/x,this.w=Math.acos((f+v+g-1)/2),this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this.w=Math.max(e.w,Math.min(t.w,this.w)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this.w=Math.max(e,Math.min(t,this.w)),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this.w=this.w<0?Math.ceil(this.w):Math.floor(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this.w+=(e.w-this.w)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this.z=e.z+(t.z-e.z)*i,this.w=e.w+(t.w-e.w)*i,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this.w=e[t+3],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e[t+3]=this.w,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this.w=e.getW(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class ar extends bs{constructor(e=1,t=1,i={}){super(),this.isWebGLRenderTarget=!0,this.width=e,this.height=t,this.depth=1,this.scissor=new Nt(0,0,e,t),this.scissorTest=!1,this.viewport=new Nt(0,0,e,t);const r={width:e,height:t,depth:1};this.texture=new un(r,i.mapping,i.wrapS,i.wrapT,i.magFilter,i.minFilter,i.format,i.type,i.anisotropy,i.encoding),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=i.generateMipmaps!==void 0?i.generateMipmaps:!1,this.texture.internalFormat=i.internalFormat!==void 0?i.internalFormat:null,this.texture.minFilter=i.minFilter!==void 0?i.minFilter:en,this.depthBuffer=i.depthBuffer!==void 0?i.depthBuffer:!0,this.stencilBuffer=i.stencilBuffer!==void 0?i.stencilBuffer:!1,this.depthTexture=i.depthTexture!==void 0?i.depthTexture:null,this.samples=i.samples!==void 0?i.samples:0}setSize(e,t,i=1){(this.width!==e||this.height!==t||this.depth!==i)&&(this.width=e,this.height=t,this.depth=i,this.texture.image.width=e,this.texture.image.height=t,this.texture.image.depth=i,this.dispose()),this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.texture.isRenderTargetTexture=!0;const t=Object.assign({},e.texture.image);return this.texture.source=new Zo(t),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,e.depthTexture!==null&&(this.depthTexture=e.depthTexture.clone()),this.samples=e.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class Rp extends un{constructor(e=null,t=1,i=1,r=1){super(null),this.isDataArrayTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=hn,this.minFilter=hn,this.wrapR=Jn,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class EL extends ar{constructor(e=1,t=1,i=1){super(e,t),this.isWebGLArrayRenderTarget=!0,this.depth=i,this.texture=new Rp(null,e,t,i),this.texture.isRenderTargetTexture=!0}}class $y extends un{constructor(e=null,t=1,i=1,r=1){super(null),this.isData3DTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=hn,this.minFilter=hn,this.wrapR=Jn,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class TL extends ar{constructor(e=1,t=1,i=1){super(e,t),this.isWebGL3DRenderTarget=!0,this.depth=i,this.texture=new $y(null,e,t,i),this.texture.isRenderTargetTexture=!0}}class AL extends ar{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGLMultipleRenderTargets=!0;const s=this.texture;this.texture=[];for(let o=0;o=0?1:-1,w=1-g*g;if(w>Number.EPSILON){const C=Math.sqrt(w),P=Math.atan2(C,g*x);S=Math.sin(S*P)/C,a=Math.sin(a*P)/C}const T=a*x;if(c=c*S+m*T,f=f*S+v*T,h=h*S+_*T,d=d*S+E*T,S===1-a){const C=1/Math.sqrt(c*c+f*f+h*h+d*d);c*=C,f*=C,h*=C,d*=C}}e[t]=c,e[t+1]=f,e[t+2]=h,e[t+3]=d}static multiplyQuaternionsFlat(e,t,i,r,s,o){const a=i[r],c=i[r+1],f=i[r+2],h=i[r+3],d=s[o],m=s[o+1],v=s[o+2],_=s[o+3];return e[t]=a*_+h*d+c*v-f*m,e[t+1]=c*_+h*m+f*d-a*v,e[t+2]=f*_+h*v+a*m-c*d,e[t+3]=h*_-a*d-c*m-f*v,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,t,i,r){return this._x=e,this._y=t,this._z=i,this._w=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,t){const i=e._x,r=e._y,s=e._z,o=e._order,a=Math.cos,c=Math.sin,f=a(i/2),h=a(r/2),d=a(s/2),m=c(i/2),v=c(r/2),_=c(s/2);switch(o){case"XYZ":this._x=m*h*d+f*v*_,this._y=f*v*d-m*h*_,this._z=f*h*_+m*v*d,this._w=f*h*d-m*v*_;break;case"YXZ":this._x=m*h*d+f*v*_,this._y=f*v*d-m*h*_,this._z=f*h*_-m*v*d,this._w=f*h*d+m*v*_;break;case"ZXY":this._x=m*h*d-f*v*_,this._y=f*v*d+m*h*_,this._z=f*h*_+m*v*d,this._w=f*h*d-m*v*_;break;case"ZYX":this._x=m*h*d-f*v*_,this._y=f*v*d+m*h*_,this._z=f*h*_-m*v*d,this._w=f*h*d+m*v*_;break;case"YZX":this._x=m*h*d+f*v*_,this._y=f*v*d+m*h*_,this._z=f*h*_-m*v*d,this._w=f*h*d-m*v*_;break;case"XZY":this._x=m*h*d-f*v*_,this._y=f*v*d-m*h*_,this._z=f*h*_+m*v*d,this._w=f*h*d+m*v*_;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+o)}return t!==!1&&this._onChangeCallback(),this}setFromAxisAngle(e,t){const i=t/2,r=Math.sin(i);return this._x=e.x*r,this._y=e.y*r,this._z=e.z*r,this._w=Math.cos(i),this._onChangeCallback(),this}setFromRotationMatrix(e){const t=e.elements,i=t[0],r=t[4],s=t[8],o=t[1],a=t[5],c=t[9],f=t[2],h=t[6],d=t[10],m=i+a+d;if(m>0){const v=.5/Math.sqrt(m+1);this._w=.25/v,this._x=(h-c)*v,this._y=(s-f)*v,this._z=(o-r)*v}else if(i>a&&i>d){const v=2*Math.sqrt(1+i-a-d);this._w=(h-c)/v,this._x=.25*v,this._y=(r+o)/v,this._z=(s+f)/v}else if(a>d){const v=2*Math.sqrt(1+a-i-d);this._w=(s-f)/v,this._x=(r+o)/v,this._y=.25*v,this._z=(c+h)/v}else{const v=2*Math.sqrt(1+d-i-a);this._w=(o-r)/v,this._x=(s+f)/v,this._y=(c+h)/v,this._z=.25*v}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let i=e.dot(t)+1;return iMath.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=i):(this._x=0,this._y=-e.z,this._z=e.y,this._w=i)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=i),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(ln(this.dot(e),-1,1)))}rotateTowards(e,t){const i=this.angleTo(e);if(i===0)return this;const r=Math.min(1,t/i);return this.slerp(e,r),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){const i=e._x,r=e._y,s=e._z,o=e._w,a=t._x,c=t._y,f=t._z,h=t._w;return this._x=i*h+o*a+r*f-s*c,this._y=r*h+o*c+s*a-i*f,this._z=s*h+o*f+i*c-r*a,this._w=o*h-i*a-r*c-s*f,this._onChangeCallback(),this}slerp(e,t){if(t===0)return this;if(t===1)return this.copy(e);const i=this._x,r=this._y,s=this._z,o=this._w;let a=o*e._w+i*e._x+r*e._y+s*e._z;if(a<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,a=-a):this.copy(e),a>=1)return this._w=o,this._x=i,this._y=r,this._z=s,this;const c=1-a*a;if(c<=Number.EPSILON){const v=1-t;return this._w=v*o+t*this._w,this._x=v*i+t*this._x,this._y=v*r+t*this._y,this._z=v*s+t*this._z,this.normalize(),this._onChangeCallback(),this}const f=Math.sqrt(c),h=Math.atan2(f,a),d=Math.sin((1-t)*h)/f,m=Math.sin(t*h)/f;return this._w=o*d+this._w*m,this._x=i*d+this._x*m,this._y=r*d+this._y*m,this._z=s*d+this._z*m,this._onChangeCallback(),this}slerpQuaternions(e,t,i){return this.copy(e).slerp(t,i)}random(){const e=Math.random(),t=Math.sqrt(1-e),i=Math.sqrt(e),r=2*Math.PI*Math.random(),s=2*Math.PI*Math.random();return this.set(t*Math.cos(r),i*Math.sin(s),i*Math.cos(s),t*Math.sin(r))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),this}toJSON(){return this.toArray()}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class N{constructor(e=0,t=0,i=0){N.prototype.isVector3=!0,this.x=e,this.y=t,this.z=i}set(e,t,i){return i===void 0&&(i=this.z),this.x=e,this.y=t,this.z=i,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return this.applyQuaternion(RS.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(RS.setFromAxisAngle(e,t))}applyMatrix3(e){const t=this.x,i=this.y,r=this.z,s=e.elements;return this.x=s[0]*t+s[3]*i+s[6]*r,this.y=s[1]*t+s[4]*i+s[7]*r,this.z=s[2]*t+s[5]*i+s[8]*r,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const t=this.x,i=this.y,r=this.z,s=e.elements,o=1/(s[3]*t+s[7]*i+s[11]*r+s[15]);return this.x=(s[0]*t+s[4]*i+s[8]*r+s[12])*o,this.y=(s[1]*t+s[5]*i+s[9]*r+s[13])*o,this.z=(s[2]*t+s[6]*i+s[10]*r+s[14])*o,this}applyQuaternion(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z,c=e.w,f=c*t+o*r-a*i,h=c*i+a*t-s*r,d=c*r+s*i-o*t,m=-s*t-o*i-a*r;return this.x=f*c+m*-s+h*-a-d*-o,this.y=h*c+m*-o+d*-s-f*-a,this.z=d*c+m*-a+f*-o-h*-s,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const t=this.x,i=this.y,r=this.z,s=e.elements;return this.x=s[0]*t+s[4]*i+s[8]*r,this.y=s[1]*t+s[5]*i+s[9]*r,this.z=s[2]*t+s[6]*i+s[10]*r,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this.z=e.z+(t.z-e.z)*i,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,t){const i=e.x,r=e.y,s=e.z,o=t.x,a=t.y,c=t.z;return this.x=r*c-s*a,this.y=s*o-i*c,this.z=i*a-r*o,this}projectOnVector(e){const t=e.lengthSq();if(t===0)return this.set(0,0,0);const i=e.dot(this)/t;return this.copy(e).multiplyScalar(i)}projectOnPlane(e){return Pg.copy(this).projectOnVector(e),this.sub(Pg)}reflect(e){return this.sub(Pg.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const i=this.dot(e)/t;return Math.acos(ln(i,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,i=this.y-e.y,r=this.z-e.z;return t*t+i*i+r*r}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,t,i){const r=Math.sin(t)*e;return this.x=r*Math.sin(i),this.y=Math.cos(t)*e,this.z=r*Math.cos(i),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,i){return this.x=e*Math.sin(t),this.y=i,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){const t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){const t=this.setFromMatrixColumn(e,0).length(),i=this.setFromMatrixColumn(e,1).length(),r=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=i,this.z=r,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,t*4)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,t*3)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}setFromColor(e){return this.x=e.r,this.y=e.g,this.z=e.b,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const e=(Math.random()-.5)*2,t=Math.random()*Math.PI*2,i=Math.sqrt(1-e**2);return this.x=i*Math.cos(t),this.y=i*Math.sin(t),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const Pg=new N,RS=new It;class Yr{constructor(e=new N(1/0,1/0,1/0),t=new N(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=e,this.max=t}set(e,t){return this.min.copy(e),this.max.copy(t),this}setFromArray(e){this.makeEmpty();for(let t=0,i=e.length;tthis.max.x||e.ythis.max.y||e.zthis.max.z)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return!(e.max.xthis.max.x||e.max.ythis.max.y||e.max.zthis.max.z)}intersectsSphere(e){return this.clampPoint(e.center,ss),ss.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let t,i;return e.normal.x>0?(t=e.normal.x*this.min.x,i=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,i=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,i+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,i+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,i+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,i+=e.normal.z*this.min.z),t<=-e.constant&&i>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(bu),Ch.subVectors(this.max,bu),Oa.subVectors(e.a,bu),Fa.subVectors(e.b,bu),Ba.subVectors(e.c,bu),Bs.subVectors(Fa,Oa),Vs.subVectors(Ba,Fa),Lo.subVectors(Oa,Ba);let t=[0,-Bs.z,Bs.y,0,-Vs.z,Vs.y,0,-Lo.z,Lo.y,Bs.z,0,-Bs.x,Vs.z,0,-Vs.x,Lo.z,0,-Lo.x,-Bs.y,Bs.x,0,-Vs.y,Vs.x,0,-Lo.y,Lo.x,0];return!Lg(t,Oa,Fa,Ba,Ch)||(t=[1,0,0,0,1,0,0,0,1],!Lg(t,Oa,Fa,Ba,Ch))?!1:(bh.crossVectors(Bs,Vs),t=[bh.x,bh.y,bh.z],Lg(t,Oa,Fa,Ba,Ch))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,ss).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(ss).length()*.5),e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(rs[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),rs[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),rs[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),rs[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),rs[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),rs[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),rs[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),rs[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(rs),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const rs=[new N,new N,new N,new N,new N,new N,new N,new N],ss=new N,Ua=new Yr,Oa=new N,Fa=new N,Ba=new N,Bs=new N,Vs=new N,Lo=new N,bu=new N,Ch=new N,bh=new N,Ro=new N;function Lg(n,e,t,i,r){for(let s=0,o=n.length-3;s<=o;s+=3){Ro.fromArray(n,s);const a=r.x*Math.abs(Ro.x)+r.y*Math.abs(Ro.y)+r.z*Math.abs(Ro.z),c=e.dot(Ro),f=t.dot(Ro),h=i.dot(Ro);if(Math.max(-Math.max(c,f,h),Math.min(c,f,h))>a)return!1}return!0}const CL=new Yr,Pu=new N,Rg=new N;class qr{constructor(e=new N,t=-1){this.center=e,this.radius=t}set(e,t){return this.center.copy(e),this.radius=t,this}setFromPoints(e,t){const i=this.center;t!==void 0?i.copy(t):CL.setFromPoints(e).getCenter(i);let r=0;for(let s=0,o=e.length;sthis.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){if(this.isEmpty())return this.center.copy(e),this.radius=0,this;Pu.subVectors(e,this.center);const t=Pu.lengthSq();if(t>this.radius*this.radius){const i=Math.sqrt(t),r=(i-this.radius)*.5;this.center.addScaledVector(Pu,r/i),this.radius+=r}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(this.center.equals(e.center)===!0?this.radius=Math.max(this.radius,e.radius):(Rg.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(Pu.copy(e.center).add(Rg)),this.expandByPoint(Pu.copy(e.center).sub(Rg))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}}const os=new N,Ig=new N,Ph=new N,Hs=new N,Dg=new N,Lh=new N,Ng=new N;class Qc{constructor(e=new N,t=new N(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return t.copy(this.origin).addScaledVector(this.direction,e)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,os)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);const i=t.dot(this.direction);return i<0?t.copy(this.origin):t.copy(this.origin).addScaledVector(this.direction,i)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const t=os.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(os.copy(this.origin).addScaledVector(this.direction,t),os.distanceToSquared(e))}distanceSqToSegment(e,t,i,r){Ig.copy(e).add(t).multiplyScalar(.5),Ph.copy(t).sub(e).normalize(),Hs.copy(this.origin).sub(Ig);const s=e.distanceTo(t)*.5,o=-this.direction.dot(Ph),a=Hs.dot(this.direction),c=-Hs.dot(Ph),f=Hs.lengthSq(),h=Math.abs(1-o*o);let d,m,v,_;if(h>0)if(d=o*c-a,m=o*a-c,_=s*h,d>=0)if(m>=-_)if(m<=_){const E=1/h;d*=E,m*=E,v=d*(d+o*m+2*a)+m*(o*d+m+2*c)+f}else m=s,d=Math.max(0,-(o*m+a)),v=-d*d+m*(m+2*c)+f;else m=-s,d=Math.max(0,-(o*m+a)),v=-d*d+m*(m+2*c)+f;else m<=-_?(d=Math.max(0,-(-o*s+a)),m=d>0?-s:Math.min(Math.max(-s,-c),s),v=-d*d+m*(m+2*c)+f):m<=_?(d=0,m=Math.min(Math.max(-s,-c),s),v=m*(m+2*c)+f):(d=Math.max(0,-(o*s+a)),m=d>0?s:Math.min(Math.max(-s,-c),s),v=-d*d+m*(m+2*c)+f);else m=o>0?-s:s,d=Math.max(0,-(o*m+a)),v=-d*d+m*(m+2*c)+f;return i&&i.copy(this.origin).addScaledVector(this.direction,d),r&&r.copy(Ig).addScaledVector(Ph,m),v}intersectSphere(e,t){os.subVectors(e.center,this.origin);const i=os.dot(this.direction),r=os.dot(os)-i*i,s=e.radius*e.radius;if(r>s)return null;const o=Math.sqrt(s-r),a=i-o,c=i+o;return c<0?null:a<0?this.at(c,t):this.at(a,t)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const t=e.normal.dot(this.direction);if(t===0)return e.distanceToPoint(this.origin)===0?0:null;const i=-(this.origin.dot(e.normal)+e.constant)/t;return i>=0?i:null}intersectPlane(e,t){const i=this.distanceToPlane(e);return i===null?null:this.at(i,t)}intersectsPlane(e){const t=e.distanceToPoint(this.origin);return t===0||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let i,r,s,o,a,c;const f=1/this.direction.x,h=1/this.direction.y,d=1/this.direction.z,m=this.origin;return f>=0?(i=(e.min.x-m.x)*f,r=(e.max.x-m.x)*f):(i=(e.max.x-m.x)*f,r=(e.min.x-m.x)*f),h>=0?(s=(e.min.y-m.y)*h,o=(e.max.y-m.y)*h):(s=(e.max.y-m.y)*h,o=(e.min.y-m.y)*h),i>o||s>r||((s>i||isNaN(i))&&(i=s),(o=0?(a=(e.min.z-m.z)*d,c=(e.max.z-m.z)*d):(a=(e.max.z-m.z)*d,c=(e.min.z-m.z)*d),i>c||a>r)||((a>i||i!==i)&&(i=a),(c=0?i:r,t)}intersectsBox(e){return this.intersectBox(e,os)!==null}intersectTriangle(e,t,i,r,s){Dg.subVectors(t,e),Lh.subVectors(i,e),Ng.crossVectors(Dg,Lh);let o=this.direction.dot(Ng),a;if(o>0){if(r)return null;a=1}else if(o<0)a=-1,o=-o;else return null;Hs.subVectors(this.origin,e);const c=a*this.direction.dot(Lh.crossVectors(Hs,Lh));if(c<0)return null;const f=a*this.direction.dot(Dg.cross(Hs));if(f<0||c+f>o)return null;const h=-a*Hs.dot(Ng);return h<0?null:this.at(h/o,s)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class st{constructor(){st.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}set(e,t,i,r,s,o,a,c,f,h,d,m,v,_,E,S){const g=this.elements;return g[0]=e,g[4]=t,g[8]=i,g[12]=r,g[1]=s,g[5]=o,g[9]=a,g[13]=c,g[2]=f,g[6]=h,g[10]=d,g[14]=m,g[3]=v,g[7]=_,g[11]=E,g[15]=S,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new st().fromArray(this.elements)}copy(e){const t=this.elements,i=e.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],t[9]=i[9],t[10]=i[10],t[11]=i[11],t[12]=i[12],t[13]=i[13],t[14]=i[14],t[15]=i[15],this}copyPosition(e){const t=this.elements,i=e.elements;return t[12]=i[12],t[13]=i[13],t[14]=i[14],this}setFromMatrix3(e){const t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,i){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),i.setFromMatrixColumn(this,2),this}makeBasis(e,t,i){return this.set(e.x,t.x,i.x,0,e.y,t.y,i.y,0,e.z,t.z,i.z,0,0,0,0,1),this}extractRotation(e){const t=this.elements,i=e.elements,r=1/Va.setFromMatrixColumn(e,0).length(),s=1/Va.setFromMatrixColumn(e,1).length(),o=1/Va.setFromMatrixColumn(e,2).length();return t[0]=i[0]*r,t[1]=i[1]*r,t[2]=i[2]*r,t[3]=0,t[4]=i[4]*s,t[5]=i[5]*s,t[6]=i[6]*s,t[7]=0,t[8]=i[8]*o,t[9]=i[9]*o,t[10]=i[10]*o,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){const t=this.elements,i=e.x,r=e.y,s=e.z,o=Math.cos(i),a=Math.sin(i),c=Math.cos(r),f=Math.sin(r),h=Math.cos(s),d=Math.sin(s);if(e.order==="XYZ"){const m=o*h,v=o*d,_=a*h,E=a*d;t[0]=c*h,t[4]=-c*d,t[8]=f,t[1]=v+_*f,t[5]=m-E*f,t[9]=-a*c,t[2]=E-m*f,t[6]=_+v*f,t[10]=o*c}else if(e.order==="YXZ"){const m=c*h,v=c*d,_=f*h,E=f*d;t[0]=m+E*a,t[4]=_*a-v,t[8]=o*f,t[1]=o*d,t[5]=o*h,t[9]=-a,t[2]=v*a-_,t[6]=E+m*a,t[10]=o*c}else if(e.order==="ZXY"){const m=c*h,v=c*d,_=f*h,E=f*d;t[0]=m-E*a,t[4]=-o*d,t[8]=_+v*a,t[1]=v+_*a,t[5]=o*h,t[9]=E-m*a,t[2]=-o*f,t[6]=a,t[10]=o*c}else if(e.order==="ZYX"){const m=o*h,v=o*d,_=a*h,E=a*d;t[0]=c*h,t[4]=_*f-v,t[8]=m*f+E,t[1]=c*d,t[5]=E*f+m,t[9]=v*f-_,t[2]=-f,t[6]=a*c,t[10]=o*c}else if(e.order==="YZX"){const m=o*c,v=o*f,_=a*c,E=a*f;t[0]=c*h,t[4]=E-m*d,t[8]=_*d+v,t[1]=d,t[5]=o*h,t[9]=-a*h,t[2]=-f*h,t[6]=v*d+_,t[10]=m-E*d}else if(e.order==="XZY"){const m=o*c,v=o*f,_=a*c,E=a*f;t[0]=c*h,t[4]=-d,t[8]=f*h,t[1]=m*d+E,t[5]=o*h,t[9]=v*d-_,t[2]=_*d-v,t[6]=a*h,t[10]=E*d+m}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(e){return this.compose(bL,e,PL)}lookAt(e,t,i){const r=this.elements;return Pi.subVectors(e,t),Pi.lengthSq()===0&&(Pi.z=1),Pi.normalize(),Gs.crossVectors(i,Pi),Gs.lengthSq()===0&&(Math.abs(i.z)===1?Pi.x+=1e-4:Pi.z+=1e-4,Pi.normalize(),Gs.crossVectors(i,Pi)),Gs.normalize(),Rh.crossVectors(Pi,Gs),r[0]=Gs.x,r[4]=Rh.x,r[8]=Pi.x,r[1]=Gs.y,r[5]=Rh.y,r[9]=Pi.y,r[2]=Gs.z,r[6]=Rh.z,r[10]=Pi.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const i=e.elements,r=t.elements,s=this.elements,o=i[0],a=i[4],c=i[8],f=i[12],h=i[1],d=i[5],m=i[9],v=i[13],_=i[2],E=i[6],S=i[10],g=i[14],x=i[3],w=i[7],T=i[11],C=i[15],P=r[0],R=r[4],I=r[8],b=r[12],L=r[1],H=r[5],q=r[9],G=r[13],W=r[2],ee=r[6],oe=r[10],ue=r[14],D=r[3],V=r[7],B=r[11],J=r[15];return s[0]=o*P+a*L+c*W+f*D,s[4]=o*R+a*H+c*ee+f*V,s[8]=o*I+a*q+c*oe+f*B,s[12]=o*b+a*G+c*ue+f*J,s[1]=h*P+d*L+m*W+v*D,s[5]=h*R+d*H+m*ee+v*V,s[9]=h*I+d*q+m*oe+v*B,s[13]=h*b+d*G+m*ue+v*J,s[2]=_*P+E*L+S*W+g*D,s[6]=_*R+E*H+S*ee+g*V,s[10]=_*I+E*q+S*oe+g*B,s[14]=_*b+E*G+S*ue+g*J,s[3]=x*P+w*L+T*W+C*D,s[7]=x*R+w*H+T*ee+C*V,s[11]=x*I+w*q+T*oe+C*B,s[15]=x*b+w*G+T*ue+C*J,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}determinant(){const e=this.elements,t=e[0],i=e[4],r=e[8],s=e[12],o=e[1],a=e[5],c=e[9],f=e[13],h=e[2],d=e[6],m=e[10],v=e[14],_=e[3],E=e[7],S=e[11],g=e[15];return _*(+s*c*d-r*f*d-s*a*m+i*f*m+r*a*v-i*c*v)+E*(+t*c*v-t*f*m+s*o*m-r*o*v+r*f*h-s*c*h)+S*(+t*f*d-t*a*v-s*o*d+i*o*v+s*a*h-i*f*h)+g*(-r*a*h-t*c*d+t*a*m+r*o*d-i*o*m+i*c*h)}transpose(){const e=this.elements;let t;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this}setPosition(e,t,i){const r=this.elements;return e.isVector3?(r[12]=e.x,r[13]=e.y,r[14]=e.z):(r[12]=e,r[13]=t,r[14]=i),this}invert(){const e=this.elements,t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],c=e[6],f=e[7],h=e[8],d=e[9],m=e[10],v=e[11],_=e[12],E=e[13],S=e[14],g=e[15],x=d*S*f-E*m*f+E*c*v-a*S*v-d*c*g+a*m*g,w=_*m*f-h*S*f-_*c*v+o*S*v+h*c*g-o*m*g,T=h*E*f-_*d*f+_*a*v-o*E*v-h*a*g+o*d*g,C=_*d*c-h*E*c-_*a*m+o*E*m+h*a*S-o*d*S,P=t*x+i*w+r*T+s*C;if(P===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const R=1/P;return e[0]=x*R,e[1]=(E*m*s-d*S*s-E*r*v+i*S*v+d*r*g-i*m*g)*R,e[2]=(a*S*s-E*c*s+E*r*f-i*S*f-a*r*g+i*c*g)*R,e[3]=(d*c*s-a*m*s-d*r*f+i*m*f+a*r*v-i*c*v)*R,e[4]=w*R,e[5]=(h*S*s-_*m*s+_*r*v-t*S*v-h*r*g+t*m*g)*R,e[6]=(_*c*s-o*S*s-_*r*f+t*S*f+o*r*g-t*c*g)*R,e[7]=(o*m*s-h*c*s+h*r*f-t*m*f-o*r*v+t*c*v)*R,e[8]=T*R,e[9]=(_*d*s-h*E*s-_*i*v+t*E*v+h*i*g-t*d*g)*R,e[10]=(o*E*s-_*a*s+_*i*f-t*E*f-o*i*g+t*a*g)*R,e[11]=(h*a*s-o*d*s-h*i*f+t*d*f+o*i*v-t*a*v)*R,e[12]=C*R,e[13]=(h*E*r-_*d*r+_*i*m-t*E*m-h*i*S+t*d*S)*R,e[14]=(_*a*r-o*E*r-_*i*c+t*E*c+o*i*S-t*a*S)*R,e[15]=(o*d*r-h*a*r+h*i*c-t*d*c-o*i*m+t*a*m)*R,this}scale(e){const t=this.elements,i=e.x,r=e.y,s=e.z;return t[0]*=i,t[4]*=r,t[8]*=s,t[1]*=i,t[5]*=r,t[9]*=s,t[2]*=i,t[6]*=r,t[10]*=s,t[3]*=i,t[7]*=r,t[11]*=s,this}getMaxScaleOnAxis(){const e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],i=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],r=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,i,r))}makeTranslation(e,t,i){return this.set(1,0,0,e,0,1,0,t,0,0,1,i,0,0,0,1),this}makeRotationX(e){const t=Math.cos(e),i=Math.sin(e);return this.set(1,0,0,0,0,t,-i,0,0,i,t,0,0,0,0,1),this}makeRotationY(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,0,i,0,0,1,0,0,-i,0,t,0,0,0,0,1),this}makeRotationZ(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,-i,0,0,i,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){const i=Math.cos(t),r=Math.sin(t),s=1-i,o=e.x,a=e.y,c=e.z,f=s*o,h=s*a;return this.set(f*o+i,f*a-r*c,f*c+r*a,0,f*a+r*c,h*a+i,h*c-r*o,0,f*c-r*a,h*c+r*o,s*c*c+i,0,0,0,0,1),this}makeScale(e,t,i){return this.set(e,0,0,0,0,t,0,0,0,0,i,0,0,0,0,1),this}makeShear(e,t,i,r,s,o){return this.set(1,i,s,0,e,1,o,0,t,r,1,0,0,0,0,1),this}compose(e,t,i){const r=this.elements,s=t._x,o=t._y,a=t._z,c=t._w,f=s+s,h=o+o,d=a+a,m=s*f,v=s*h,_=s*d,E=o*h,S=o*d,g=a*d,x=c*f,w=c*h,T=c*d,C=i.x,P=i.y,R=i.z;return r[0]=(1-(E+g))*C,r[1]=(v+T)*C,r[2]=(_-w)*C,r[3]=0,r[4]=(v-T)*P,r[5]=(1-(m+g))*P,r[6]=(S+x)*P,r[7]=0,r[8]=(_+w)*R,r[9]=(S-x)*R,r[10]=(1-(m+E))*R,r[11]=0,r[12]=e.x,r[13]=e.y,r[14]=e.z,r[15]=1,this}decompose(e,t,i){const r=this.elements;let s=Va.set(r[0],r[1],r[2]).length();const o=Va.set(r[4],r[5],r[6]).length(),a=Va.set(r[8],r[9],r[10]).length();this.determinant()<0&&(s=-s),e.x=r[12],e.y=r[13],e.z=r[14],gr.copy(this);const f=1/s,h=1/o,d=1/a;return gr.elements[0]*=f,gr.elements[1]*=f,gr.elements[2]*=f,gr.elements[4]*=h,gr.elements[5]*=h,gr.elements[6]*=h,gr.elements[8]*=d,gr.elements[9]*=d,gr.elements[10]*=d,t.setFromRotationMatrix(gr),i.x=s,i.y=o,i.z=a,this}makePerspective(e,t,i,r,s,o){const a=this.elements,c=2*s/(t-e),f=2*s/(i-r),h=(t+e)/(t-e),d=(i+r)/(i-r),m=-(o+s)/(o-s),v=-2*o*s/(o-s);return a[0]=c,a[4]=0,a[8]=h,a[12]=0,a[1]=0,a[5]=f,a[9]=d,a[13]=0,a[2]=0,a[6]=0,a[10]=m,a[14]=v,a[3]=0,a[7]=0,a[11]=-1,a[15]=0,this}makeOrthographic(e,t,i,r,s,o){const a=this.elements,c=1/(t-e),f=1/(i-r),h=1/(o-s),d=(t+e)*c,m=(i+r)*f,v=(o+s)*h;return a[0]=2*c,a[4]=0,a[8]=0,a[12]=-d,a[1]=0,a[5]=2*f,a[9]=0,a[13]=-m,a[2]=0,a[6]=0,a[10]=-2*h,a[14]=-v,a[3]=0,a[7]=0,a[11]=0,a[15]=1,this}equals(e){const t=this.elements,i=e.elements;for(let r=0;r<16;r++)if(t[r]!==i[r])return!1;return!0}fromArray(e,t=0){for(let i=0;i<16;i++)this.elements[i]=e[i+t];return this}toArray(e=[],t=0){const i=this.elements;return e[t]=i[0],e[t+1]=i[1],e[t+2]=i[2],e[t+3]=i[3],e[t+4]=i[4],e[t+5]=i[5],e[t+6]=i[6],e[t+7]=i[7],e[t+8]=i[8],e[t+9]=i[9],e[t+10]=i[10],e[t+11]=i[11],e[t+12]=i[12],e[t+13]=i[13],e[t+14]=i[14],e[t+15]=i[15],e}}const Va=new N,gr=new st,bL=new N(0,0,0),PL=new N(1,1,1),Gs=new N,Rh=new N,Pi=new N,IS=new st,DS=new It;class Yl{constructor(e=0,t=0,i=0,r=Yl.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=t,this._z=i,this._order=r}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,t,i,r=this._order){return this._x=e,this._y=t,this._z=i,this._order=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,t=this._order,i=!0){const r=e.elements,s=r[0],o=r[4],a=r[8],c=r[1],f=r[5],h=r[9],d=r[2],m=r[6],v=r[10];switch(t){case"XYZ":this._y=Math.asin(ln(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-h,v),this._z=Math.atan2(-o,s)):(this._x=Math.atan2(m,f),this._z=0);break;case"YXZ":this._x=Math.asin(-ln(h,-1,1)),Math.abs(h)<.9999999?(this._y=Math.atan2(a,v),this._z=Math.atan2(c,f)):(this._y=Math.atan2(-d,s),this._z=0);break;case"ZXY":this._x=Math.asin(ln(m,-1,1)),Math.abs(m)<.9999999?(this._y=Math.atan2(-d,v),this._z=Math.atan2(-o,f)):(this._y=0,this._z=Math.atan2(c,s));break;case"ZYX":this._y=Math.asin(-ln(d,-1,1)),Math.abs(d)<.9999999?(this._x=Math.atan2(m,v),this._z=Math.atan2(c,s)):(this._x=0,this._z=Math.atan2(-o,f));break;case"YZX":this._z=Math.asin(ln(c,-1,1)),Math.abs(c)<.9999999?(this._x=Math.atan2(-h,f),this._y=Math.atan2(-d,s)):(this._x=0,this._y=Math.atan2(a,v));break;case"XZY":this._z=Math.asin(-ln(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(m,f),this._y=Math.atan2(a,s)):(this._x=Math.atan2(-h,v),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,i===!0&&this._onChangeCallback(),this}setFromQuaternion(e,t,i){return IS.makeRotationFromQuaternion(e),this.setFromRotationMatrix(IS,t,i)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return DS.setFromEuler(this),this.setFromQuaternion(DS,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._order,e}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}Yl.DEFAULT_ORDER="XYZ";class ia{constructor(){this.mask=1}set(e){this.mask=(1<>>0}enable(e){this.mask|=1<1){for(let t=0;t1){for(let i=0;i0&&(i=i.concat(o))}return i}getWorldPosition(e){return this.updateWorldMatrix(!0,!1),e.setFromMatrixPosition(this.matrixWorld)}getWorldQuaternion(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(Lu,e,RL),e}getWorldScale(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(Lu,IL,e),e}getWorldDirection(e){this.updateWorldMatrix(!0,!1);const t=this.matrixWorld.elements;return e.set(t[8],t[9],t[10]).normalize()}raycast(){}traverse(e){e(this);const t=this.children;for(let i=0,r=t.length;i0&&(r.userData=this.userData),r.layers=this.layers.mask,r.matrix=this.matrix.toArray(),r.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(r.matrixAutoUpdate=!1),this.isInstancedMesh&&(r.type="InstancedMesh",r.count=this.count,r.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(r.instanceColor=this.instanceColor.toJSON()));function s(a,c){return a[c.uuid]===void 0&&(a[c.uuid]=c.toJSON(e)),c.uuid}if(this.isScene)this.background&&(this.background.isColor?r.background=this.background.toJSON():this.background.isTexture&&(r.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(r.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){r.geometry=s(e.geometries,this.geometry);const a=this.geometry.parameters;if(a!==void 0&&a.shapes!==void 0){const c=a.shapes;if(Array.isArray(c))for(let f=0,h=c.length;f0){r.children=[];for(let a=0;a0){r.animations=[];for(let a=0;a0&&(i.geometries=a),c.length>0&&(i.materials=c),f.length>0&&(i.textures=f),h.length>0&&(i.images=h),d.length>0&&(i.shapes=d),m.length>0&&(i.skeletons=m),v.length>0&&(i.animations=v),_.length>0&&(i.nodes=_)}return i.object=r,i;function o(a){const c=[];for(const f in a){const h=a[f];delete h.metadata,c.push(h)}return c}}clone(e){return new this.constructor().copy(this,e)}copy(e,t=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.userData=JSON.parse(JSON.stringify(e.userData)),t===!0)for(let i=0;i0?r.multiplyScalar(1/Math.sqrt(s)):r.set(0,0,0)}static getBarycoord(e,t,i,r,s){vr.subVectors(r,t),ls.subVectors(i,t),kg.subVectors(e,t);const o=vr.dot(vr),a=vr.dot(ls),c=vr.dot(kg),f=ls.dot(ls),h=ls.dot(kg),d=o*f-a*a;if(d===0)return s.set(-2,-1,-1);const m=1/d,v=(f*c-a*h)*m,_=(o*h-a*c)*m;return s.set(1-v-_,_,v)}static containsPoint(e,t,i,r){return this.getBarycoord(e,t,i,r,us),us.x>=0&&us.y>=0&&us.x+us.y<=1}static getUV(e,t,i,r,s,o,a,c){return Dh===!1&&(console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."),Dh=!0),this.getInterpolation(e,t,i,r,s,o,a,c)}static getInterpolation(e,t,i,r,s,o,a,c){return this.getBarycoord(e,t,i,r,us),c.setScalar(0),c.addScaledVector(s,us.x),c.addScaledVector(o,us.y),c.addScaledVector(a,us.z),c}static isFrontFacing(e,t,i,r){return vr.subVectors(i,t),ls.subVectors(e,t),vr.cross(ls).dot(r)<0}set(e,t,i){return this.a.copy(e),this.b.copy(t),this.c.copy(i),this}setFromPointsAndIndices(e,t,i,r){return this.a.copy(e[t]),this.b.copy(e[i]),this.c.copy(e[r]),this}setFromAttributeAndIndices(e,t,i,r){return this.a.fromBufferAttribute(e,t),this.b.fromBufferAttribute(e,i),this.c.fromBufferAttribute(e,r),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return vr.subVectors(this.c,this.b),ls.subVectors(this.a,this.b),vr.cross(ls).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return yi.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return yi.getBarycoord(e,this.a,this.b,this.c,t)}getUV(e,t,i,r,s){return Dh===!1&&(console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."),Dh=!0),yi.getInterpolation(e,this.a,this.b,this.c,t,i,r,s)}getInterpolation(e,t,i,r,s){return yi.getInterpolation(e,this.a,this.b,this.c,t,i,r,s)}containsPoint(e){return yi.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return yi.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){const i=this.a,r=this.b,s=this.c;let o,a;Ga.subVectors(r,i),Wa.subVectors(s,i),zg.subVectors(e,i);const c=Ga.dot(zg),f=Wa.dot(zg);if(c<=0&&f<=0)return t.copy(i);Ug.subVectors(e,r);const h=Ga.dot(Ug),d=Wa.dot(Ug);if(h>=0&&d<=h)return t.copy(r);const m=c*d-h*f;if(m<=0&&c>=0&&h<=0)return o=c/(c-h),t.copy(i).addScaledVector(Ga,o);Og.subVectors(e,s);const v=Ga.dot(Og),_=Wa.dot(Og);if(_>=0&&v<=_)return t.copy(s);const E=v*f-c*_;if(E<=0&&f>=0&&_<=0)return a=f/(f-_),t.copy(i).addScaledVector(Wa,a);const S=h*_-v*d;if(S<=0&&d-h>=0&&v-_>=0)return FS.subVectors(s,r),a=(d-h)/(d-h+(v-_)),t.copy(r).addScaledVector(FS,a);const g=1/(S+E+m);return o=E*g,a=m*g,t.copy(i).addScaledVector(Ga,o).addScaledVector(Wa,a)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}let NL=0;class Bn extends bs{constructor(){super(),this.isMaterial=!0,Object.defineProperty(this,"id",{value:NL++}),this.uuid=Ui(),this.name="",this.type="Material",this.blending=ea,this.side=Ms,this.vertexColors=!1,this.opacity=1,this.transparent=!1,this.blendSrc=Wy,this.blendDst=Xy,this.blendEquation=Vo,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=op,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=C2,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=Nd,this.stencilZFail=Nd,this.stencilZPass=Nd,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaToCoverage=!1,this.premultipliedAlpha=!1,this.forceSinglePass=!1,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0,this._alphaTest=0}get alphaTest(){return this._alphaTest}set alphaTest(e){this._alphaTest>0!=e>0&&this.version++,this._alphaTest=e}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(const t in e){const i=e[t];if(i===void 0){console.warn(`THREE.Material: parameter '${t}' has value of undefined.`);continue}const r=this[t];if(r===void 0){console.warn(`THREE.Material: '${t}' is not a property of THREE.${this.type}.`);continue}r&&r.isColor?r.set(i):r&&r.isVector3&&i&&i.isVector3?r.copy(i):this[t]=i}}toJSON(e){const t=e===void 0||typeof e=="string";t&&(e={textures:{},images:{}});const i={metadata:{version:4.5,type:"Material",generator:"Material.toJSON"}};i.uuid=this.uuid,i.type=this.type,this.name!==""&&(i.name=this.name),this.color&&this.color.isColor&&(i.color=this.color.getHex()),this.roughness!==void 0&&(i.roughness=this.roughness),this.metalness!==void 0&&(i.metalness=this.metalness),this.sheen!==void 0&&(i.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(i.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(i.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(i.emissive=this.emissive.getHex()),this.emissiveIntensity&&this.emissiveIntensity!==1&&(i.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(i.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(i.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(i.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(i.shininess=this.shininess),this.clearcoat!==void 0&&(i.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(i.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(i.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(i.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(i.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,i.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.iridescence!==void 0&&(i.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(i.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(i.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(i.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(i.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(i.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(i.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(i.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(i.lightMap=this.lightMap.toJSON(e).uuid,i.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(i.aoMap=this.aoMap.toJSON(e).uuid,i.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(i.bumpMap=this.bumpMap.toJSON(e).uuid,i.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(i.normalMap=this.normalMap.toJSON(e).uuid,i.normalMapType=this.normalMapType,i.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(i.displacementMap=this.displacementMap.toJSON(e).uuid,i.displacementScale=this.displacementScale,i.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(i.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(i.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(i.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(i.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(i.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(i.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(i.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(i.combine=this.combine)),this.envMapIntensity!==void 0&&(i.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(i.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(i.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(i.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(i.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(i.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(i.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(i.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(i.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(i.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(i.size=this.size),this.shadowSide!==null&&(i.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(i.sizeAttenuation=this.sizeAttenuation),this.blending!==ea&&(i.blending=this.blending),this.side!==Ms&&(i.side=this.side),this.vertexColors&&(i.vertexColors=!0),this.opacity<1&&(i.opacity=this.opacity),this.transparent===!0&&(i.transparent=this.transparent),i.depthFunc=this.depthFunc,i.depthTest=this.depthTest,i.depthWrite=this.depthWrite,i.colorWrite=this.colorWrite,i.stencilWrite=this.stencilWrite,i.stencilWriteMask=this.stencilWriteMask,i.stencilFunc=this.stencilFunc,i.stencilRef=this.stencilRef,i.stencilFuncMask=this.stencilFuncMask,i.stencilFail=this.stencilFail,i.stencilZFail=this.stencilZFail,i.stencilZPass=this.stencilZPass,this.rotation!==void 0&&this.rotation!==0&&(i.rotation=this.rotation),this.polygonOffset===!0&&(i.polygonOffset=!0),this.polygonOffsetFactor!==0&&(i.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(i.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(i.linewidth=this.linewidth),this.dashSize!==void 0&&(i.dashSize=this.dashSize),this.gapSize!==void 0&&(i.gapSize=this.gapSize),this.scale!==void 0&&(i.scale=this.scale),this.dithering===!0&&(i.dithering=!0),this.alphaTest>0&&(i.alphaTest=this.alphaTest),this.alphaToCoverage===!0&&(i.alphaToCoverage=this.alphaToCoverage),this.premultipliedAlpha===!0&&(i.premultipliedAlpha=this.premultipliedAlpha),this.forceSinglePass===!0&&(i.forceSinglePass=this.forceSinglePass),this.wireframe===!0&&(i.wireframe=this.wireframe),this.wireframeLinewidth>1&&(i.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(i.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(i.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(i.flatShading=this.flatShading),this.visible===!1&&(i.visible=!1),this.toneMapped===!1&&(i.toneMapped=!1),this.fog===!1&&(i.fog=!1),Object.keys(this.userData).length>0&&(i.userData=this.userData);function r(s){const o=[];for(const a in s){const c=s[a];delete c.metadata,o.push(c)}return o}if(t){const s=r(e.textures),o=r(e.images);s.length>0&&(i.textures=s),o.length>0&&(i.images=o)}return i}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;const t=e.clippingPlanes;let i=null;if(t!==null){const r=t.length;i=new Array(r);for(let s=0;s!==r;++s)i[s]=t[s].clone()}return this.clippingPlanes=i,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){e===!0&&this.version++}}const R2={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},yr={h:0,s:0,l:0},Nh={h:0,s:0,l:0};function Fg(n,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?n+(e-n)*6*t:t<1/2?e:t<2/3?n+(e-n)*6*(2/3-t):n}class Re{constructor(e,t,i){return this.isColor=!0,this.r=1,this.g=1,this.b=1,t===void 0&&i===void 0?this.set(e):this.setRGB(e,t,i)}set(e){return e&&e.isColor?this.copy(e):typeof e=="number"?this.setHex(e):typeof e=="string"&&this.setStyle(e),this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,t=Sr){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,mi.toWorkingColorSpace(this,t),this}setRGB(e,t,i,r=mi.workingColorSpace){return this.r=e,this.g=t,this.b=i,mi.toWorkingColorSpace(this,r),this}setHSL(e,t,i,r=mi.workingColorSpace){if(e=Jy(e,1),t=ln(t,0,1),i=ln(i,0,1),t===0)this.r=this.g=this.b=i;else{const s=i<=.5?i*(1+t):i+t-i*t,o=2*i-s;this.r=Fg(o,s,e+1/3),this.g=Fg(o,s,e),this.b=Fg(o,s,e-1/3)}return mi.toWorkingColorSpace(this,r),this}setStyle(e,t=Sr){function i(s){s!==void 0&&parseFloat(s)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}let r;if(r=/^(\w+)\(([^\)]*)\)/.exec(e)){let s;const o=r[1],a=r[2];switch(o){case"rgb":case"rgba":if(s=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return this.r=Math.min(255,parseInt(s[1],10))/255,this.g=Math.min(255,parseInt(s[2],10))/255,this.b=Math.min(255,parseInt(s[3],10))/255,mi.toWorkingColorSpace(this,t),i(s[4]),this;if(s=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return this.r=Math.min(100,parseInt(s[1],10))/100,this.g=Math.min(100,parseInt(s[2],10))/100,this.b=Math.min(100,parseInt(s[3],10))/100,mi.toWorkingColorSpace(this,t),i(s[4]),this;break;case"hsl":case"hsla":if(s=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a)){const c=parseFloat(s[1])/360,f=parseFloat(s[2])/100,h=parseFloat(s[3])/100;return i(s[4]),this.setHSL(c,f,h,t)}break;default:console.warn("THREE.Color: Unknown color model "+e)}}else if(r=/^\#([A-Fa-f\d]+)$/.exec(e)){const s=r[1],o=s.length;if(o===3)return this.setRGB(parseInt(s.charAt(0),16)/15,parseInt(s.charAt(1),16)/15,parseInt(s.charAt(2),16)/15,t);if(o===6)return this.setHex(parseInt(s,16),t);console.warn("THREE.Color: Invalid hex color "+e)}else if(e&&e.length>0)return this.setColorName(e,t);return this}setColorName(e,t=Sr){const i=R2[e.toLowerCase()];return i!==void 0?this.setHex(i,t):console.warn("THREE.Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=Pl(e.r),this.g=Pl(e.g),this.b=Pl(e.b),this}copyLinearToSRGB(e){return this.r=Cg(e.r),this.g=Cg(e.g),this.b=Cg(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=Sr){return mi.fromWorkingColorSpace(Zn.copy(this),e),ln(Zn.r*255,0,255)<<16^ln(Zn.g*255,0,255)<<8^ln(Zn.b*255,0,255)<<0}getHexString(e=Sr){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=mi.workingColorSpace){mi.fromWorkingColorSpace(Zn.copy(this),t);const i=Zn.r,r=Zn.g,s=Zn.b,o=Math.max(i,r,s),a=Math.min(i,r,s);let c,f;const h=(a+o)/2;if(a===o)c=0,f=0;else{const d=o-a;switch(f=h<=.5?d/(o+a):d/(2-o-a),o){case i:c=(r-s)/d+(r>-f-14,i[c|256]=1024>>-f-14|32768,r[c]=-f-1,r[c|256]=-f-1):f<=15?(i[c]=f+15<<10,i[c|256]=f+15<<10|32768,r[c]=13,r[c|256]=13):f<128?(i[c]=31744,i[c|256]=64512,r[c]=24,r[c|256]=24):(i[c]=31744,i[c|256]=64512,r[c]=13,r[c|256]=13)}const s=new Uint32Array(2048),o=new Uint32Array(64),a=new Uint32Array(64);for(let c=1;c<1024;++c){let f=c<<13,h=0;for(;(f&8388608)===0;)f<<=1,h-=8388608;f&=-8388609,h+=947912704,s[c]=f|h}for(let c=1024;c<2048;++c)s[c]=939524096+(c-1024<<13);for(let c=1;c<31;++c)o[c]=c<<23;o[31]=1199570944,o[32]=2147483648;for(let c=33;c<63;++c)o[c]=2147483648+(c-32<<23);o[63]=3347054592;for(let c=1;c<64;++c)c!==32&&(a[c]=1024);return{floatView:e,uint32View:t,baseTable:i,shiftTable:r,mantissaTable:s,exponentTable:o,offsetTable:a}}function gi(n){Math.abs(n)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),n=ln(n,-65504,65504),ds.floatView[0]=n;const e=ds.uint32View[0],t=e>>23&511;return ds.baseTable[t]+((e&8388607)>>ds.shiftTable[t])}function ju(n){const e=n>>10;return ds.uint32View[0]=ds.mantissaTable[ds.offsetTable[e]+(n&1023)]+ds.exponentTable[e],ds.floatView[0]}const zL={toHalfFloat:gi,fromHalfFloat:ju},yn=new N,kh=new ge;class Bt{constructor(e,t,i=!1){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,this.name="",this.array=e,this.itemSize=t,this.count=e!==void 0?e.length/t:0,this.normalized=i,this.usage=Ic,this.updateRange={offset:0,count:-1},this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}copy(e){return this.name=e.name,this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.usage=e.usage,this}copyAt(e,t,i){e*=this.itemSize,i*=t.itemSize;for(let r=0,s=this.itemSize;r0&&(e.userData=this.userData),this.parameters!==void 0){const c=this.parameters;for(const f in c)c[f]!==void 0&&(e[f]=c[f]);return e}e.data={attributes:{}};const t=this.index;t!==null&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});const i=this.attributes;for(const c in i){const f=i[c];e.data.attributes[c]=f.toJSON(e.data)}const r={};let s=!1;for(const c in this.morphAttributes){const f=this.morphAttributes[c],h=[];for(let d=0,m=f.length;d0&&(r[c]=h,s=!0)}s&&(e.data.morphAttributes=r,e.data.morphTargetsRelative=this.morphTargetsRelative);const o=this.groups;o.length>0&&(e.data.groups=JSON.parse(JSON.stringify(o)));const a=this.boundingSphere;return a!==null&&(e.data.boundingSphere={center:a.center.toArray(),radius:a.radius}),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const t={};this.name=e.name;const i=e.index;i!==null&&this.setIndex(i.clone(t));const r=e.attributes;for(const f in r){const h=r[f];this.setAttribute(f,h.clone(t))}const s=e.morphAttributes;for(const f in s){const h=[],d=s[f];for(let m=0,v=d.length;m0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;s(e.far-e.near)**2))||(BS.copy(s).invert(),Or.copy(e.ray).applyMatrix4(BS),i.boundingBox!==null&&Or.intersectsBox(i.boundingBox)===!1))return;let o;const a=i.index,c=i.attributes.position,f=i.attributes.uv,h=i.attributes.uv2,d=i.attributes.normal,m=i.groups,v=i.drawRange;if(a!==null)if(Array.isArray(r))for(let _=0,E=m.length;_t.far?null:{distance:f,point:Hh.clone(),object:n}}function Gh(n,e,t,i,r,s,o,a,c,f){n.getVertexPosition(a,ja),n.getVertexPosition(c,Ya),n.getVertexPosition(f,qa);const h=XL(n,e,t,i,ja,Ya,qa,Vh);if(h){r&&(Oh.fromBufferAttribute(r,a),Fh.fromBufferAttribute(r,c),Bh.fromBufferAttribute(r,f),h.uv=yi.getInterpolation(Vh,ja,Ya,qa,Oh,Fh,Bh,new ge)),s&&(Oh.fromBufferAttribute(s,a),Fh.fromBufferAttribute(s,c),Bh.fromBufferAttribute(s,f),h.uv2=yi.getInterpolation(Vh,ja,Ya,qa,Oh,Fh,Bh,new ge)),o&&(HS.fromBufferAttribute(o,a),GS.fromBufferAttribute(o,c),WS.fromBufferAttribute(o,f),h.normal=yi.getInterpolation(Vh,ja,Ya,qa,HS,GS,WS,new N),h.normal.dot(i.direction)>0&&h.normal.multiplyScalar(-1));const d={a,b:c,c:f,normal:new N,materialIndex:0};yi.getNormal(ja,Ya,qa,d.normal),h.face=d}return h}class oi extends lt{constructor(e=1,t=1,i=1,r=1,s=1,o=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:t,depth:i,widthSegments:r,heightSegments:s,depthSegments:o};const a=this;r=Math.floor(r),s=Math.floor(s),o=Math.floor(o);const c=[],f=[],h=[],d=[];let m=0,v=0;_("z","y","x",-1,-1,i,t,e,o,s,0),_("z","y","x",1,-1,i,t,-e,o,s,1),_("x","z","y",1,1,e,i,t,r,o,2),_("x","z","y",1,-1,e,i,-t,r,o,3),_("x","y","z",1,-1,e,t,i,r,s,4),_("x","y","z",-1,-1,e,t,-i,r,s,5),this.setIndex(c),this.setAttribute("position",new Be(f,3)),this.setAttribute("normal",new Be(h,3)),this.setAttribute("uv",new Be(d,2));function _(E,S,g,x,w,T,C,P,R,I,b){const L=T/R,H=C/I,q=T/2,G=C/2,W=P/2,ee=R+1,oe=I+1;let ue=0,D=0;const V=new N;for(let B=0;B0?1:-1,h.push(V.x,V.y,V.z),d.push(Y/R),d.push(1-B/I),ue+=1}}for(let B=0;B0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader;const i={};for(const r in this.extensions)this.extensions[r]===!0&&(i[r]=!0);return Object.keys(i).length>0&&(t.extensions=i),t}}class Jc extends St{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new st,this.projectionMatrix=new st,this.projectionMatrixInverse=new st}copy(e,t){return super.copy(e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this}getWorldDirection(e){this.updateWorldMatrix(!0,!1);const t=this.matrixWorld.elements;return e.set(-t[8],-t[9],-t[10]).normalize()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}}class In extends Jc{constructor(e=50,t=1,i=.1,r=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=i,this.far=r,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=e.view===null?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){const t=.5*this.getFilmHeight()/e;this.fov=Fl*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(na*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return Fl*2*Math.atan(Math.tan(na*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(e,t,i,r,s,o){this.aspect=e/t,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=i,this.view.offsetY=r,this.view.width=s,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let t=e*Math.tan(na*.5*this.fov)/this.zoom,i=2*t,r=this.aspect*i,s=-.5*r;const o=this.view;if(this.view!==null&&this.view.enabled){const c=o.fullWidth,f=o.fullHeight;s+=o.offsetX*r/c,t-=o.offsetY*i/f,r*=o.width/c,i*=o.height/f}const a=this.filmOffset;a!==0&&(s+=e*a/this.getFilmWidth()),this.projectionMatrix.makePerspective(s,s+r,t,t-i,e,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,this.view!==null&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}}const Za=-90,Qa=1;class N2 extends St{constructor(e,t,i){super(),this.type="CubeCamera",this.renderTarget=i;const r=new In(Za,Qa,e,t);r.layers=this.layers,r.up.set(0,1,0),r.lookAt(1,0,0),this.add(r);const s=new In(Za,Qa,e,t);s.layers=this.layers,s.up.set(0,1,0),s.lookAt(-1,0,0),this.add(s);const o=new In(Za,Qa,e,t);o.layers=this.layers,o.up.set(0,0,-1),o.lookAt(0,1,0),this.add(o);const a=new In(Za,Qa,e,t);a.layers=this.layers,a.up.set(0,0,1),a.lookAt(0,-1,0),this.add(a);const c=new In(Za,Qa,e,t);c.layers=this.layers,c.up.set(0,1,0),c.lookAt(0,0,1),this.add(c);const f=new In(Za,Qa,e,t);f.layers=this.layers,f.up.set(0,1,0),f.lookAt(0,0,-1),this.add(f)}update(e,t){this.parent===null&&this.updateMatrixWorld();const i=this.renderTarget,[r,s,o,a,c,f]=this.children,h=e.getRenderTarget(),d=e.toneMapping,m=e.xr.enabled;e.toneMapping=Ar,e.xr.enabled=!1;const v=i.texture.generateMipmaps;i.texture.generateMipmaps=!1,e.setRenderTarget(i,0),e.render(t,r),e.setRenderTarget(i,1),e.render(t,s),e.setRenderTarget(i,2),e.render(t,o),e.setRenderTarget(i,3),e.render(t,a),e.setRenderTarget(i,4),e.render(t,c),i.texture.generateMipmaps=v,e.setRenderTarget(i,5),e.render(t,f),e.setRenderTarget(h),e.toneMapping=d,e.xr.enabled=m,i.texture.needsPMREMUpdate=!0}}class Kc extends un{constructor(e,t,i,r,s,o,a,c,f,h){e=e!==void 0?e:[],t=t!==void 0?t:fo,super(e,t,i,r,s,o,a,c,f,h),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class k2 extends ar{constructor(e=1,t={}){super(e,e,t),this.isWebGLCubeRenderTarget=!0;const i={width:e,height:e,depth:1},r=[i,i,i,i,i,i];this.texture=new Kc(r,t.mapping,t.wrapS,t.wrapT,t.magFilter,t.minFilter,t.format,t.type,t.anisotropy,t.encoding),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=t.generateMipmaps!==void 0?t.generateMipmaps:!1,this.texture.minFilter=t.minFilter!==void 0?t.minFilter:en}fromEquirectangularTexture(e,t){this.texture.type=t.type,this.texture.encoding=t.encoding,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;const i={uniforms:{tEquirect:{value:null}},vertexShader:` + + varying vec3 vWorldDirection; + + vec3 transformDirection( in vec3 dir, in mat4 matrix ) { + + return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz ); + + } + + void main() { + + vWorldDirection = transformDirection( position, modelMatrix ); + + #include + #include + + } + `,fragmentShader:` + + uniform sampler2D tEquirect; + + varying vec3 vWorldDirection; + + #include + + void main() { + + vec3 direction = normalize( vWorldDirection ); + + vec2 sampleUV = equirectUv( direction ); + + gl_FragColor = texture2D( tEquirect, sampleUV ); + + } + `},r=new oi(5,5,5),s=new jr({name:"CubemapFromEquirect",uniforms:Bl(i.uniforms),vertexShader:i.vertexShader,fragmentShader:i.fragmentShader,side:li,blending:ys});s.uniforms.tEquirect.value=t;const o=new Ne(r,s),a=t.minFilter;return t.minFilter===po&&(t.minFilter=en),new N2(1,10,this).update(e,o),t.minFilter=a,o.geometry.dispose(),o.material.dispose(),this}clear(e,t,i,r){const s=e.getRenderTarget();for(let o=0;o<6;o++)e.setRenderTarget(this,o),e.clear(t,i,r);e.setRenderTarget(s)}}const Hg=new N,ZL=new N,QL=new xt;class Ys{constructor(e=new N(1,0,0),t=0){this.isPlane=!0,this.normal=e,this.constant=t}set(e,t){return this.normal.copy(e),this.constant=t,this}setComponents(e,t,i,r){return this.normal.set(e,t,i),this.constant=r,this}setFromNormalAndCoplanarPoint(e,t){return this.normal.copy(e),this.constant=-t.dot(this.normal),this}setFromCoplanarPoints(e,t,i){const r=Hg.subVectors(i,t).cross(ZL.subVectors(e,t)).normalize();return this.setFromNormalAndCoplanarPoint(r,e),this}copy(e){return this.normal.copy(e.normal),this.constant=e.constant,this}normalize(){const e=1/this.normal.length();return this.normal.multiplyScalar(e),this.constant*=e,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(e){return this.normal.dot(e)+this.constant}distanceToSphere(e){return this.distanceToPoint(e.center)-e.radius}projectPoint(e,t){return t.copy(e).addScaledVector(this.normal,-this.distanceToPoint(e))}intersectLine(e,t){const i=e.delta(Hg),r=this.normal.dot(i);if(r===0)return this.distanceToPoint(e.start)===0?t.copy(e.start):null;const s=-(e.start.dot(this.normal)+this.constant)/r;return s<0||s>1?null:t.copy(e.start).addScaledVector(i,s)}intersectsLine(e){const t=this.distanceToPoint(e.start),i=this.distanceToPoint(e.end);return t<0&&i>0||i<0&&t>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,t){const i=t||QL.getNormalMatrix(e),r=this.coplanarPoint(Hg).applyMatrix4(e),s=this.normal.applyMatrix3(i).normalize();return this.constant=-r.dot(s),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}}const Io=new qr,Wh=new N;class Ip{constructor(e=new Ys,t=new Ys,i=new Ys,r=new Ys,s=new Ys,o=new Ys){this.planes=[e,t,i,r,s,o]}set(e,t,i,r,s,o){const a=this.planes;return a[0].copy(e),a[1].copy(t),a[2].copy(i),a[3].copy(r),a[4].copy(s),a[5].copy(o),this}copy(e){const t=this.planes;for(let i=0;i<6;i++)t[i].copy(e.planes[i]);return this}setFromProjectionMatrix(e){const t=this.planes,i=e.elements,r=i[0],s=i[1],o=i[2],a=i[3],c=i[4],f=i[5],h=i[6],d=i[7],m=i[8],v=i[9],_=i[10],E=i[11],S=i[12],g=i[13],x=i[14],w=i[15];return t[0].setComponents(a-r,d-c,E-m,w-S).normalize(),t[1].setComponents(a+r,d+c,E+m,w+S).normalize(),t[2].setComponents(a+s,d+f,E+v,w+g).normalize(),t[3].setComponents(a-s,d-f,E-v,w-g).normalize(),t[4].setComponents(a-o,d-h,E-_,w-x).normalize(),t[5].setComponents(a+o,d+h,E+_,w+x).normalize(),this}intersectsObject(e){if(e.boundingSphere!==void 0)e.boundingSphere===null&&e.computeBoundingSphere(),Io.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),Io.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(Io)}intersectsSprite(e){return Io.center.set(0,0,0),Io.radius=.7071067811865476,Io.applyMatrix4(e.matrixWorld),this.intersectsSphere(Io)}intersectsSphere(e){const t=this.planes,i=e.center,r=-e.radius;for(let s=0;s<6;s++)if(t[s].distanceToPoint(i)0?e.max.x:e.min.x,Wh.y=r.normal.y>0?e.max.y:e.min.y,Wh.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(Wh)<0)return!1}return!0}containsPoint(e){const t=this.planes;for(let i=0;i<6;i++)if(t[i].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}function z2(){let n=null,e=!1,t=null,i=null;function r(s,o){t(s,o),i=n.requestAnimationFrame(r)}return{start:function(){e!==!0&&t!==null&&(i=n.requestAnimationFrame(r),e=!0)},stop:function(){n.cancelAnimationFrame(i),e=!1},setAnimationLoop:function(s){t=s},setContext:function(s){n=s}}}function JL(n,e){const t=e.isWebGL2,i=new WeakMap;function r(f,h){const d=f.array,m=f.usage,v=n.createBuffer();n.bindBuffer(h,v),n.bufferData(h,d,m),f.onUploadCallback();let _;if(d instanceof Float32Array)_=5126;else if(d instanceof Uint16Array)if(f.isFloat16BufferAttribute)if(t)_=5131;else throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");else _=5123;else if(d instanceof Int16Array)_=5122;else if(d instanceof Uint32Array)_=5125;else if(d instanceof Int32Array)_=5124;else if(d instanceof Int8Array)_=5120;else if(d instanceof Uint8Array)_=5121;else if(d instanceof Uint8ClampedArray)_=5121;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+d);return{buffer:v,type:_,bytesPerElement:d.BYTES_PER_ELEMENT,version:f.version}}function s(f,h,d){const m=h.array,v=h.updateRange;n.bindBuffer(d,f),v.count===-1?n.bufferSubData(d,0,m):(t?n.bufferSubData(d,v.offset*m.BYTES_PER_ELEMENT,m,v.offset,v.count):n.bufferSubData(d,v.offset*m.BYTES_PER_ELEMENT,m.subarray(v.offset,v.offset+v.count)),v.count=-1),h.onUploadCallback()}function o(f){return f.isInterleavedBufferAttribute&&(f=f.data),i.get(f)}function a(f){f.isInterleavedBufferAttribute&&(f=f.data);const h=i.get(f);h&&(n.deleteBuffer(h.buffer),i.delete(f))}function c(f,h){if(f.isGLBufferAttribute){const m=i.get(f);(!m||m.version 0 + vec4 plane; + #pragma unroll_loop_start + for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) { + plane = clippingPlanes[ i ]; + if ( dot( vClipPosition, plane.xyz ) > plane.w ) discard; + } + #pragma unroll_loop_end + #if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES + bool clipped = true; + #pragma unroll_loop_start + for ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) { + plane = clippingPlanes[ i ]; + clipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped; + } + #pragma unroll_loop_end + if ( clipped ) discard; + #endif +#endif`,cR=`#if NUM_CLIPPING_PLANES > 0 + varying vec3 vClipPosition; + uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; +#endif`,fR=`#if NUM_CLIPPING_PLANES > 0 + varying vec3 vClipPosition; +#endif`,hR=`#if NUM_CLIPPING_PLANES > 0 + vClipPosition = - mvPosition.xyz; +#endif`,dR=`#if defined( USE_COLOR_ALPHA ) + diffuseColor *= vColor; +#elif defined( USE_COLOR ) + diffuseColor.rgb *= vColor; +#endif`,pR=`#if defined( USE_COLOR_ALPHA ) + varying vec4 vColor; +#elif defined( USE_COLOR ) + varying vec3 vColor; +#endif`,mR=`#if defined( USE_COLOR_ALPHA ) + varying vec4 vColor; +#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) + varying vec3 vColor; +#endif`,gR=`#if defined( USE_COLOR_ALPHA ) + vColor = vec4( 1.0 ); +#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) + vColor = vec3( 1.0 ); +#endif +#ifdef USE_COLOR + vColor *= color; +#endif +#ifdef USE_INSTANCING_COLOR + vColor.xyz *= instanceColor.xyz; +#endif`,vR=`#define PI 3.141592653589793 +#define PI2 6.283185307179586 +#define PI_HALF 1.5707963267948966 +#define RECIPROCAL_PI 0.3183098861837907 +#define RECIPROCAL_PI2 0.15915494309189535 +#define EPSILON 1e-6 +#ifndef saturate +#define saturate( a ) clamp( a, 0.0, 1.0 ) +#endif +#define whiteComplement( a ) ( 1.0 - saturate( a ) ) +float pow2( const in float x ) { return x*x; } +vec3 pow2( const in vec3 x ) { return x*x; } +float pow3( const in float x ) { return x*x*x; } +float pow4( const in float x ) { float x2 = x*x; return x2*x2; } +float max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); } +float average( const in vec3 v ) { return dot( v, vec3( 0.3333333 ) ); } +highp float rand( const in vec2 uv ) { + const highp float a = 12.9898, b = 78.233, c = 43758.5453; + highp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI ); + return fract( sin( sn ) * c ); +} +#ifdef HIGH_PRECISION + float precisionSafeLength( vec3 v ) { return length( v ); } +#else + float precisionSafeLength( vec3 v ) { + float maxComponent = max3( abs( v ) ); + return length( v / maxComponent ) * maxComponent; + } +#endif +struct IncidentLight { + vec3 color; + vec3 direction; + bool visible; +}; +struct ReflectedLight { + vec3 directDiffuse; + vec3 directSpecular; + vec3 indirectDiffuse; + vec3 indirectSpecular; +}; +struct GeometricContext { + vec3 position; + vec3 normal; + vec3 viewDir; +#ifdef USE_CLEARCOAT + vec3 clearcoatNormal; +#endif +}; +vec3 transformDirection( in vec3 dir, in mat4 matrix ) { + return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz ); +} +vec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) { + return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz ); +} +mat3 transposeMat3( const in mat3 m ) { + mat3 tmp; + tmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x ); + tmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y ); + tmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z ); + return tmp; +} +float luminance( const in vec3 rgb ) { + const vec3 weights = vec3( 0.2126729, 0.7151522, 0.0721750 ); + return dot( weights, rgb ); +} +bool isPerspectiveMatrix( mat4 m ) { + return m[ 2 ][ 3 ] == - 1.0; +} +vec2 equirectUv( in vec3 dir ) { + float u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5; + float v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5; + return vec2( u, v ); +} +vec3 BRDF_Lambert( const in vec3 diffuseColor ) { + return RECIPROCAL_PI * diffuseColor; +} +vec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) { + float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH ); + return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel ); +} +float F_Schlick( const in float f0, const in float f90, const in float dotVH ) { + float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH ); + return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel ); +} // validated`,yR=`#ifdef ENVMAP_TYPE_CUBE_UV + #define cubeUV_minMipLevel 4.0 + #define cubeUV_minTileSize 16.0 + float getFace( vec3 direction ) { + vec3 absDirection = abs( direction ); + float face = - 1.0; + if ( absDirection.x > absDirection.z ) { + if ( absDirection.x > absDirection.y ) + face = direction.x > 0.0 ? 0.0 : 3.0; + else + face = direction.y > 0.0 ? 1.0 : 4.0; + } else { + if ( absDirection.z > absDirection.y ) + face = direction.z > 0.0 ? 2.0 : 5.0; + else + face = direction.y > 0.0 ? 1.0 : 4.0; + } + return face; + } + vec2 getUV( vec3 direction, float face ) { + vec2 uv; + if ( face == 0.0 ) { + uv = vec2( direction.z, direction.y ) / abs( direction.x ); + } else if ( face == 1.0 ) { + uv = vec2( - direction.x, - direction.z ) / abs( direction.y ); + } else if ( face == 2.0 ) { + uv = vec2( - direction.x, direction.y ) / abs( direction.z ); + } else if ( face == 3.0 ) { + uv = vec2( - direction.z, direction.y ) / abs( direction.x ); + } else if ( face == 4.0 ) { + uv = vec2( - direction.x, direction.z ) / abs( direction.y ); + } else { + uv = vec2( direction.x, direction.y ) / abs( direction.z ); + } + return 0.5 * ( uv + 1.0 ); + } + vec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) { + float face = getFace( direction ); + float filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 ); + mipInt = max( mipInt, cubeUV_minMipLevel ); + float faceSize = exp2( mipInt ); + highp vec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0; + if ( face > 2.0 ) { + uv.y += faceSize; + face -= 3.0; + } + uv.x += face * faceSize; + uv.x += filterInt * 3.0 * cubeUV_minTileSize; + uv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize ); + uv.x *= CUBEUV_TEXEL_WIDTH; + uv.y *= CUBEUV_TEXEL_HEIGHT; + #ifdef texture2DGradEXT + return texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb; + #else + return texture2D( envMap, uv ).rgb; + #endif + } + #define cubeUV_r0 1.0 + #define cubeUV_v0 0.339 + #define cubeUV_m0 - 2.0 + #define cubeUV_r1 0.8 + #define cubeUV_v1 0.276 + #define cubeUV_m1 - 1.0 + #define cubeUV_r4 0.4 + #define cubeUV_v4 0.046 + #define cubeUV_m4 2.0 + #define cubeUV_r5 0.305 + #define cubeUV_v5 0.016 + #define cubeUV_m5 3.0 + #define cubeUV_r6 0.21 + #define cubeUV_v6 0.0038 + #define cubeUV_m6 4.0 + float roughnessToMip( float roughness ) { + float mip = 0.0; + if ( roughness >= cubeUV_r1 ) { + mip = ( cubeUV_r0 - roughness ) * ( cubeUV_m1 - cubeUV_m0 ) / ( cubeUV_r0 - cubeUV_r1 ) + cubeUV_m0; + } else if ( roughness >= cubeUV_r4 ) { + mip = ( cubeUV_r1 - roughness ) * ( cubeUV_m4 - cubeUV_m1 ) / ( cubeUV_r1 - cubeUV_r4 ) + cubeUV_m1; + } else if ( roughness >= cubeUV_r5 ) { + mip = ( cubeUV_r4 - roughness ) * ( cubeUV_m5 - cubeUV_m4 ) / ( cubeUV_r4 - cubeUV_r5 ) + cubeUV_m4; + } else if ( roughness >= cubeUV_r6 ) { + mip = ( cubeUV_r5 - roughness ) * ( cubeUV_m6 - cubeUV_m5 ) / ( cubeUV_r5 - cubeUV_r6 ) + cubeUV_m5; + } else { + mip = - 2.0 * log2( 1.16 * roughness ); } + return mip; + } + vec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) { + float mip = clamp( roughnessToMip( roughness ), cubeUV_m0, CUBEUV_MAX_MIP ); + float mipF = fract( mip ); + float mipInt = floor( mip ); + vec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt ); + if ( mipF == 0.0 ) { + return vec4( color0, 1.0 ); + } else { + vec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 ); + return vec4( mix( color0, color1, mipF ), 1.0 ); + } + } +#endif`,_R=`vec3 transformedNormal = objectNormal; +#ifdef USE_INSTANCING + mat3 m = mat3( instanceMatrix ); + transformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) ); + transformedNormal = m * transformedNormal; +#endif +transformedNormal = normalMatrix * transformedNormal; +#ifdef FLIP_SIDED + transformedNormal = - transformedNormal; +#endif +#ifdef USE_TANGENT + vec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz; + #ifdef FLIP_SIDED + transformedTangent = - transformedTangent; + #endif +#endif`,xR=`#ifdef USE_DISPLACEMENTMAP + uniform sampler2D displacementMap; + uniform float displacementScale; + uniform float displacementBias; +#endif`,SR=`#ifdef USE_DISPLACEMENTMAP + transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias ); +#endif`,wR=`#ifdef USE_EMISSIVEMAP + vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv ); + totalEmissiveRadiance *= emissiveColor.rgb; +#endif`,MR=`#ifdef USE_EMISSIVEMAP + uniform sampler2D emissiveMap; +#endif`,ER="gl_FragColor = linearToOutputTexel( gl_FragColor );",TR=`vec4 LinearToLinear( in vec4 value ) { + return value; +} +vec4 LinearTosRGB( in vec4 value ) { + return vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a ); +}`,AR=`#ifdef USE_ENVMAP + #ifdef ENV_WORLDPOS + vec3 cameraToFrag; + if ( isOrthographic ) { + cameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) ); + } else { + cameraToFrag = normalize( vWorldPosition - cameraPosition ); + } + vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); + #ifdef ENVMAP_MODE_REFLECTION + vec3 reflectVec = reflect( cameraToFrag, worldNormal ); + #else + vec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio ); + #endif + #else + vec3 reflectVec = vReflect; + #endif + #ifdef ENVMAP_TYPE_CUBE + vec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) ); + #else + vec4 envColor = vec4( 0.0 ); + #endif + #ifdef ENVMAP_BLENDING_MULTIPLY + outgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity ); + #elif defined( ENVMAP_BLENDING_MIX ) + outgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity ); + #elif defined( ENVMAP_BLENDING_ADD ) + outgoingLight += envColor.xyz * specularStrength * reflectivity; + #endif +#endif`,CR=`#ifdef USE_ENVMAP + uniform float envMapIntensity; + uniform float flipEnvMap; + #ifdef ENVMAP_TYPE_CUBE + uniform samplerCube envMap; + #else + uniform sampler2D envMap; + #endif + +#endif`,bR=`#ifdef USE_ENVMAP + uniform float reflectivity; + #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) + #define ENV_WORLDPOS + #endif + #ifdef ENV_WORLDPOS + varying vec3 vWorldPosition; + uniform float refractionRatio; + #else + varying vec3 vReflect; + #endif +#endif`,PR=`#ifdef USE_ENVMAP + #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) + #define ENV_WORLDPOS + #endif + #ifdef ENV_WORLDPOS + + varying vec3 vWorldPosition; + #else + varying vec3 vReflect; + uniform float refractionRatio; + #endif +#endif`,LR=`#ifdef USE_ENVMAP + #ifdef ENV_WORLDPOS + vWorldPosition = worldPosition.xyz; + #else + vec3 cameraToVertex; + if ( isOrthographic ) { + cameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) ); + } else { + cameraToVertex = normalize( worldPosition.xyz - cameraPosition ); + } + vec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix ); + #ifdef ENVMAP_MODE_REFLECTION + vReflect = reflect( cameraToVertex, worldNormal ); + #else + vReflect = refract( cameraToVertex, worldNormal, refractionRatio ); + #endif + #endif +#endif`,RR=`#ifdef USE_FOG + vFogDepth = - mvPosition.z; +#endif`,IR=`#ifdef USE_FOG + varying float vFogDepth; +#endif`,DR=`#ifdef USE_FOG + #ifdef FOG_EXP2 + float fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth ); + #else + float fogFactor = smoothstep( fogNear, fogFar, vFogDepth ); + #endif + gl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor ); +#endif`,NR=`#ifdef USE_FOG + uniform vec3 fogColor; + varying float vFogDepth; + #ifdef FOG_EXP2 + uniform float fogDensity; + #else + uniform float fogNear; + uniform float fogFar; + #endif +#endif`,kR=`#ifdef USE_GRADIENTMAP + uniform sampler2D gradientMap; +#endif +vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { + float dotNL = dot( normal, lightDirection ); + vec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 ); + #ifdef USE_GRADIENTMAP + return vec3( texture2D( gradientMap, coord ).r ); + #else + vec2 fw = fwidth( coord ) * 0.5; + return mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) ); + #endif +}`,zR=`#ifdef USE_LIGHTMAP + vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); + vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; + reflectedLight.indirectDiffuse += lightMapIrradiance; +#endif`,UR=`#ifdef USE_LIGHTMAP + uniform sampler2D lightMap; + uniform float lightMapIntensity; +#endif`,OR=`LambertMaterial material; +material.diffuseColor = diffuseColor.rgb; +material.specularStrength = specularStrength;`,FR=`varying vec3 vViewPosition; +struct LambertMaterial { + vec3 diffuseColor; + float specularStrength; +}; +void RE_Direct_Lambert( const in IncidentLight directLight, const in GeometricContext geometry, const in LambertMaterial material, inout ReflectedLight reflectedLight ) { + float dotNL = saturate( dot( geometry.normal, directLight.direction ) ); + vec3 irradiance = dotNL * directLight.color; + reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); +} +void RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in GeometricContext geometry, const in LambertMaterial material, inout ReflectedLight reflectedLight ) { + reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); +} +#define RE_Direct RE_Direct_Lambert +#define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert`,BR=`uniform bool receiveShadow; +uniform vec3 ambientLightColor; +uniform vec3 lightProbe[ 9 ]; +vec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) { + float x = normal.x, y = normal.y, z = normal.z; + vec3 result = shCoefficients[ 0 ] * 0.886227; + result += shCoefficients[ 1 ] * 2.0 * 0.511664 * y; + result += shCoefficients[ 2 ] * 2.0 * 0.511664 * z; + result += shCoefficients[ 3 ] * 2.0 * 0.511664 * x; + result += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y; + result += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z; + result += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 ); + result += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z; + result += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y ); + return result; +} +vec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) { + vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); + vec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe ); + return irradiance; +} +vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) { + vec3 irradiance = ambientLightColor; + return irradiance; +} +float getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) { + #if defined ( LEGACY_LIGHTS ) + if ( cutoffDistance > 0.0 && decayExponent > 0.0 ) { + return pow( saturate( - lightDistance / cutoffDistance + 1.0 ), decayExponent ); + } + return 1.0; + #else + float distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 ); + if ( cutoffDistance > 0.0 ) { + distanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) ); + } + return distanceFalloff; + #endif +} +float getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) { + return smoothstep( coneCosine, penumbraCosine, angleCosine ); +} +#if NUM_DIR_LIGHTS > 0 + struct DirectionalLight { + vec3 direction; + vec3 color; + }; + uniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ]; + void getDirectionalLightInfo( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight light ) { + light.color = directionalLight.color; + light.direction = directionalLight.direction; + light.visible = true; + } +#endif +#if NUM_POINT_LIGHTS > 0 + struct PointLight { + vec3 position; + vec3 color; + float distance; + float decay; + }; + uniform PointLight pointLights[ NUM_POINT_LIGHTS ]; + void getPointLightInfo( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight light ) { + vec3 lVector = pointLight.position - geometry.position; + light.direction = normalize( lVector ); + float lightDistance = length( lVector ); + light.color = pointLight.color; + light.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay ); + light.visible = ( light.color != vec3( 0.0 ) ); + } +#endif +#if NUM_SPOT_LIGHTS > 0 + struct SpotLight { + vec3 position; + vec3 direction; + vec3 color; + float distance; + float decay; + float coneCos; + float penumbraCos; + }; + uniform SpotLight spotLights[ NUM_SPOT_LIGHTS ]; + void getSpotLightInfo( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight light ) { + vec3 lVector = spotLight.position - geometry.position; + light.direction = normalize( lVector ); + float angleCos = dot( light.direction, spotLight.direction ); + float spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos ); + if ( spotAttenuation > 0.0 ) { + float lightDistance = length( lVector ); + light.color = spotLight.color * spotAttenuation; + light.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay ); + light.visible = ( light.color != vec3( 0.0 ) ); + } else { + light.color = vec3( 0.0 ); + light.visible = false; + } + } +#endif +#if NUM_RECT_AREA_LIGHTS > 0 + struct RectAreaLight { + vec3 color; + vec3 position; + vec3 halfWidth; + vec3 halfHeight; + }; + uniform sampler2D ltc_1; uniform sampler2D ltc_2; + uniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ]; +#endif +#if NUM_HEMI_LIGHTS > 0 + struct HemisphereLight { + vec3 direction; + vec3 skyColor; + vec3 groundColor; + }; + uniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ]; + vec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) { + float dotNL = dot( normal, hemiLight.direction ); + float hemiDiffuseWeight = 0.5 * dotNL + 0.5; + vec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight ); + return irradiance; + } +#endif`,VR=`#if defined( USE_ENVMAP ) + vec3 getIBLIrradiance( const in vec3 normal ) { + #if defined( ENVMAP_TYPE_CUBE_UV ) + vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); + vec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 ); + return PI * envMapColor.rgb * envMapIntensity; + #else + return vec3( 0.0 ); + #endif + } + vec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) { + #if defined( ENVMAP_TYPE_CUBE_UV ) + vec3 reflectVec = reflect( - viewDir, normal ); + reflectVec = normalize( mix( reflectVec, normal, roughness * roughness) ); + reflectVec = inverseTransformDirection( reflectVec, viewMatrix ); + vec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness ); + return envMapColor.rgb * envMapIntensity; + #else + return vec3( 0.0 ); + #endif + } +#endif`,HR=`ToonMaterial material; +material.diffuseColor = diffuseColor.rgb;`,GR=`varying vec3 vViewPosition; +struct ToonMaterial { + vec3 diffuseColor; +}; +void RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) { + vec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color; + reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); +} +void RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) { + reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); +} +#define RE_Direct RE_Direct_Toon +#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon`,WR=`BlinnPhongMaterial material; +material.diffuseColor = diffuseColor.rgb; +material.specularColor = specular; +material.specularShininess = shininess; +material.specularStrength = specularStrength;`,XR=`varying vec3 vViewPosition; +struct BlinnPhongMaterial { + vec3 diffuseColor; + vec3 specularColor; + float specularShininess; + float specularStrength; +}; +void RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) { + float dotNL = saturate( dot( geometry.normal, directLight.direction ) ); + vec3 irradiance = dotNL * directLight.color; + reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); + reflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularShininess ) * material.specularStrength; +} +void RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) { + reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); +} +#define RE_Direct RE_Direct_BlinnPhong +#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong`,jR=`PhysicalMaterial material; +material.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor ); +vec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) ); +float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z ); +material.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness; +material.roughness = min( material.roughness, 1.0 ); +#ifdef IOR + material.ior = ior; + #ifdef USE_SPECULAR + float specularIntensityFactor = specularIntensity; + vec3 specularColorFactor = specularColor; + #ifdef USE_SPECULAR_COLORMAP + specularColorFactor *= texture2D( specularColorMap, vSpecularColorMapUv ).rgb; + #endif + #ifdef USE_SPECULAR_INTENSITYMAP + specularIntensityFactor *= texture2D( specularIntensityMap, vSpecularIntensityMapUv ).a; + #endif + material.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor ); + #else + float specularIntensityFactor = 1.0; + vec3 specularColorFactor = vec3( 1.0 ); + material.specularF90 = 1.0; + #endif + material.specularColor = mix( min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor ); +#else + material.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor ); + material.specularF90 = 1.0; +#endif +#ifdef USE_CLEARCOAT + material.clearcoat = clearcoat; + material.clearcoatRoughness = clearcoatRoughness; + material.clearcoatF0 = vec3( 0.04 ); + material.clearcoatF90 = 1.0; + #ifdef USE_CLEARCOATMAP + material.clearcoat *= texture2D( clearcoatMap, vClearcoatMapUv ).x; + #endif + #ifdef USE_CLEARCOAT_ROUGHNESSMAP + material.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vClearcoatRoughnessMapUv ).y; + #endif + material.clearcoat = saturate( material.clearcoat ); material.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 ); + material.clearcoatRoughness += geometryRoughness; + material.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 ); +#endif +#ifdef USE_IRIDESCENCE + material.iridescence = iridescence; + material.iridescenceIOR = iridescenceIOR; + #ifdef USE_IRIDESCENCEMAP + material.iridescence *= texture2D( iridescenceMap, vIridescenceMapUv ).r; + #endif + #ifdef USE_IRIDESCENCE_THICKNESSMAP + material.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vIridescenceThicknessMapUv ).g + iridescenceThicknessMinimum; + #else + material.iridescenceThickness = iridescenceThicknessMaximum; + #endif +#endif +#ifdef USE_SHEEN + material.sheenColor = sheenColor; + #ifdef USE_SHEEN_COLORMAP + material.sheenColor *= texture2D( sheenColorMap, vSheenColorMapUv ).rgb; + #endif + material.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 ); + #ifdef USE_SHEEN_ROUGHNESSMAP + material.sheenRoughness *= texture2D( sheenRoughnessMap, vSheenRoughnessMapUv ).a; + #endif +#endif`,YR=`struct PhysicalMaterial { + vec3 diffuseColor; + float roughness; + vec3 specularColor; + float specularF90; + #ifdef USE_CLEARCOAT + float clearcoat; + float clearcoatRoughness; + vec3 clearcoatF0; + float clearcoatF90; + #endif + #ifdef USE_IRIDESCENCE + float iridescence; + float iridescenceIOR; + float iridescenceThickness; + vec3 iridescenceFresnel; + vec3 iridescenceF0; + #endif + #ifdef USE_SHEEN + vec3 sheenColor; + float sheenRoughness; + #endif + #ifdef IOR + float ior; + #endif + #ifdef USE_TRANSMISSION + float transmission; + float transmissionAlpha; + float thickness; + float attenuationDistance; + vec3 attenuationColor; + #endif +}; +vec3 clearcoatSpecular = vec3( 0.0 ); +vec3 sheenSpecular = vec3( 0.0 ); +vec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) { + float x = clamp( 1.0 - dotVH, 0.0, 1.0 ); + float x2 = x * x; + float x5 = clamp( x * x2 * x2, 0.0, 0.9999 ); + return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 ); +} +float V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) { + float a2 = pow2( alpha ); + float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) ); + float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) ); + return 0.5 / max( gv + gl, EPSILON ); +} +float D_GGX( const in float alpha, const in float dotNH ) { + float a2 = pow2( alpha ); + float denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0; + return RECIPROCAL_PI * a2 / pow2( denom ); +} +#ifdef USE_CLEARCOAT + vec3 BRDF_GGX_Clearcoat( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material) { + vec3 f0 = material.clearcoatF0; + float f90 = material.clearcoatF90; + float roughness = material.clearcoatRoughness; + float alpha = pow2( roughness ); + vec3 halfDir = normalize( lightDir + viewDir ); + float dotNL = saturate( dot( normal, lightDir ) ); + float dotNV = saturate( dot( normal, viewDir ) ); + float dotNH = saturate( dot( normal, halfDir ) ); + float dotVH = saturate( dot( viewDir, halfDir ) ); + vec3 F = F_Schlick( f0, f90, dotVH ); + float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV ); + float D = D_GGX( alpha, dotNH ); + return F * ( V * D ); + } +#endif +vec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) { + vec3 f0 = material.specularColor; + float f90 = material.specularF90; + float roughness = material.roughness; + float alpha = pow2( roughness ); + vec3 halfDir = normalize( lightDir + viewDir ); + float dotNL = saturate( dot( normal, lightDir ) ); + float dotNV = saturate( dot( normal, viewDir ) ); + float dotNH = saturate( dot( normal, halfDir ) ); + float dotVH = saturate( dot( viewDir, halfDir ) ); + vec3 F = F_Schlick( f0, f90, dotVH ); + #ifdef USE_IRIDESCENCE + F = mix( F, material.iridescenceFresnel, material.iridescence ); + #endif + float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV ); + float D = D_GGX( alpha, dotNH ); + return F * ( V * D ); +} +vec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) { + const float LUT_SIZE = 64.0; + const float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE; + const float LUT_BIAS = 0.5 / LUT_SIZE; + float dotNV = saturate( dot( N, V ) ); + vec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) ); + uv = uv * LUT_SCALE + LUT_BIAS; + return uv; +} +float LTC_ClippedSphereFormFactor( const in vec3 f ) { + float l = length( f ); + return max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 ); +} +vec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) { + float x = dot( v1, v2 ); + float y = abs( x ); + float a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y; + float b = 3.4175940 + ( 4.1616724 + y ) * y; + float v = a / b; + float theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v; + return cross( v1, v2 ) * theta_sintheta; +} +vec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) { + vec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ]; + vec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ]; + vec3 lightNormal = cross( v1, v2 ); + if( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 ); + vec3 T1, T2; + T1 = normalize( V - N * dot( V, N ) ); + T2 = - cross( N, T1 ); + mat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) ); + vec3 coords[ 4 ]; + coords[ 0 ] = mat * ( rectCoords[ 0 ] - P ); + coords[ 1 ] = mat * ( rectCoords[ 1 ] - P ); + coords[ 2 ] = mat * ( rectCoords[ 2 ] - P ); + coords[ 3 ] = mat * ( rectCoords[ 3 ] - P ); + coords[ 0 ] = normalize( coords[ 0 ] ); + coords[ 1 ] = normalize( coords[ 1 ] ); + coords[ 2 ] = normalize( coords[ 2 ] ); + coords[ 3 ] = normalize( coords[ 3 ] ); + vec3 vectorFormFactor = vec3( 0.0 ); + vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] ); + vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] ); + vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] ); + vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] ); + float result = LTC_ClippedSphereFormFactor( vectorFormFactor ); + return vec3( result ); +} +#if defined( USE_SHEEN ) +float D_Charlie( float roughness, float dotNH ) { + float alpha = pow2( roughness ); + float invAlpha = 1.0 / alpha; + float cos2h = dotNH * dotNH; + float sin2h = max( 1.0 - cos2h, 0.0078125 ); + return ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI ); +} +float V_Neubelt( float dotNV, float dotNL ) { + return saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) ); +} +vec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) { + vec3 halfDir = normalize( lightDir + viewDir ); + float dotNL = saturate( dot( normal, lightDir ) ); + float dotNV = saturate( dot( normal, viewDir ) ); + float dotNH = saturate( dot( normal, halfDir ) ); + float D = D_Charlie( sheenRoughness, dotNH ); + float V = V_Neubelt( dotNV, dotNL ); + return sheenColor * ( D * V ); +} +#endif +float IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) { + float dotNV = saturate( dot( normal, viewDir ) ); + float r2 = roughness * roughness; + float a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95; + float b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72; + float DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) ); + return saturate( DG * RECIPROCAL_PI ); +} +vec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) { + float dotNV = saturate( dot( normal, viewDir ) ); + const vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 ); + const vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 ); + vec4 r = roughness * c0 + c1; + float a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y; + vec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw; + return fab; +} +vec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) { + vec2 fab = DFGApprox( normal, viewDir, roughness ); + return specularColor * fab.x + specularF90 * fab.y; +} +#ifdef USE_IRIDESCENCE +void computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) { +#else +void computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) { +#endif + vec2 fab = DFGApprox( normal, viewDir, roughness ); + #ifdef USE_IRIDESCENCE + vec3 Fr = mix( specularColor, iridescenceF0, iridescence ); + #else + vec3 Fr = specularColor; + #endif + vec3 FssEss = Fr * fab.x + specularF90 * fab.y; + float Ess = fab.x + fab.y; + float Ems = 1.0 - Ess; + vec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619; vec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg ); + singleScatter += FssEss; + multiScatter += Fms * Ems; +} +#if NUM_RECT_AREA_LIGHTS > 0 + void RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { + vec3 normal = geometry.normal; + vec3 viewDir = geometry.viewDir; + vec3 position = geometry.position; + vec3 lightPos = rectAreaLight.position; + vec3 halfWidth = rectAreaLight.halfWidth; + vec3 halfHeight = rectAreaLight.halfHeight; + vec3 lightColor = rectAreaLight.color; + float roughness = material.roughness; + vec3 rectCoords[ 4 ]; + rectCoords[ 0 ] = lightPos + halfWidth - halfHeight; rectCoords[ 1 ] = lightPos - halfWidth - halfHeight; + rectCoords[ 2 ] = lightPos - halfWidth + halfHeight; + rectCoords[ 3 ] = lightPos + halfWidth + halfHeight; + vec2 uv = LTC_Uv( normal, viewDir, roughness ); + vec4 t1 = texture2D( ltc_1, uv ); + vec4 t2 = texture2D( ltc_2, uv ); + mat3 mInv = mat3( + vec3( t1.x, 0, t1.y ), + vec3( 0, 1, 0 ), + vec3( t1.z, 0, t1.w ) + ); + vec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y ); + reflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords ); + reflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords ); + } +#endif +void RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { + float dotNL = saturate( dot( geometry.normal, directLight.direction ) ); + vec3 irradiance = dotNL * directLight.color; + #ifdef USE_CLEARCOAT + float dotNLcc = saturate( dot( geometry.clearcoatNormal, directLight.direction ) ); + vec3 ccIrradiance = dotNLcc * directLight.color; + clearcoatSpecular += ccIrradiance * BRDF_GGX_Clearcoat( directLight.direction, geometry.viewDir, geometry.clearcoatNormal, material ); + #endif + #ifdef USE_SHEEN + sheenSpecular += irradiance * BRDF_Sheen( directLight.direction, geometry.viewDir, geometry.normal, material.sheenColor, material.sheenRoughness ); + #endif + reflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.normal, material ); + reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); +} +void RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { + reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); +} +void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) { + #ifdef USE_CLEARCOAT + clearcoatSpecular += clearcoatRadiance * EnvironmentBRDF( geometry.clearcoatNormal, geometry.viewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness ); + #endif + #ifdef USE_SHEEN + sheenSpecular += irradiance * material.sheenColor * IBLSheenBRDF( geometry.normal, geometry.viewDir, material.sheenRoughness ); + #endif + vec3 singleScattering = vec3( 0.0 ); + vec3 multiScattering = vec3( 0.0 ); + vec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI; + #ifdef USE_IRIDESCENCE + computeMultiscatteringIridescence( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering ); + #else + computeMultiscattering( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering ); + #endif + vec3 totalScattering = singleScattering + multiScattering; + vec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) ); + reflectedLight.indirectSpecular += radiance * singleScattering; + reflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance; + reflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance; +} +#define RE_Direct RE_Direct_Physical +#define RE_Direct_RectArea RE_Direct_RectArea_Physical +#define RE_IndirectDiffuse RE_IndirectDiffuse_Physical +#define RE_IndirectSpecular RE_IndirectSpecular_Physical +float computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) { + return saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion ); +}`,qR=` +GeometricContext geometry; +geometry.position = - vViewPosition; +geometry.normal = normal; +geometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition ); +#ifdef USE_CLEARCOAT + geometry.clearcoatNormal = clearcoatNormal; +#endif +#ifdef USE_IRIDESCENCE + float dotNVi = saturate( dot( normal, geometry.viewDir ) ); + if ( material.iridescenceThickness == 0.0 ) { + material.iridescence = 0.0; + } else { + material.iridescence = saturate( material.iridescence ); + } + if ( material.iridescence > 0.0 ) { + material.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor ); + material.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi ); + } +#endif +IncidentLight directLight; +#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct ) + PointLight pointLight; + #if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0 + PointLightShadow pointLightShadow; + #endif + #pragma unroll_loop_start + for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) { + pointLight = pointLights[ i ]; + getPointLightInfo( pointLight, geometry, directLight ); + #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS ) + pointLightShadow = pointLightShadows[ i ]; + directLight.color *= ( directLight.visible && receiveShadow ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0; + #endif + RE_Direct( directLight, geometry, material, reflectedLight ); + } + #pragma unroll_loop_end +#endif +#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct ) + SpotLight spotLight; + vec4 spotColor; + vec3 spotLightCoord; + bool inSpotLightMap; + #if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0 + SpotLightShadow spotLightShadow; + #endif + #pragma unroll_loop_start + for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) { + spotLight = spotLights[ i ]; + getSpotLightInfo( spotLight, geometry, directLight ); + #if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS ) + #define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX + #elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) + #define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS + #else + #define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS ) + #endif + #if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS ) + spotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w; + inSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) ); + spotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy ); + directLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color; + #endif + #undef SPOT_LIGHT_MAP_INDEX + #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) + spotLightShadow = spotLightShadows[ i ]; + directLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0; + #endif + RE_Direct( directLight, geometry, material, reflectedLight ); + } + #pragma unroll_loop_end +#endif +#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct ) + DirectionalLight directionalLight; + #if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0 + DirectionalLightShadow directionalLightShadow; + #endif + #pragma unroll_loop_start + for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) { + directionalLight = directionalLights[ i ]; + getDirectionalLightInfo( directionalLight, geometry, directLight ); + #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS ) + directionalLightShadow = directionalLightShadows[ i ]; + directLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0; + #endif + RE_Direct( directLight, geometry, material, reflectedLight ); + } + #pragma unroll_loop_end +#endif +#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea ) + RectAreaLight rectAreaLight; + #pragma unroll_loop_start + for ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) { + rectAreaLight = rectAreaLights[ i ]; + RE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight ); + } + #pragma unroll_loop_end +#endif +#if defined( RE_IndirectDiffuse ) + vec3 iblIrradiance = vec3( 0.0 ); + vec3 irradiance = getAmbientLightIrradiance( ambientLightColor ); + irradiance += getLightProbeIrradiance( lightProbe, geometry.normal ); + #if ( NUM_HEMI_LIGHTS > 0 ) + #pragma unroll_loop_start + for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) { + irradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal ); + } + #pragma unroll_loop_end + #endif +#endif +#if defined( RE_IndirectSpecular ) + vec3 radiance = vec3( 0.0 ); + vec3 clearcoatRadiance = vec3( 0.0 ); +#endif`,ZR=`#if defined( RE_IndirectDiffuse ) + #ifdef USE_LIGHTMAP + vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); + vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; + irradiance += lightMapIrradiance; + #endif + #if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV ) + iblIrradiance += getIBLIrradiance( geometry.normal ); + #endif +#endif +#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular ) + radiance += getIBLRadiance( geometry.viewDir, geometry.normal, material.roughness ); + #ifdef USE_CLEARCOAT + clearcoatRadiance += getIBLRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness ); + #endif +#endif`,QR=`#if defined( RE_IndirectDiffuse ) + RE_IndirectDiffuse( irradiance, geometry, material, reflectedLight ); +#endif +#if defined( RE_IndirectSpecular ) + RE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight ); +#endif`,JR=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) + gl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; +#endif`,KR=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) + uniform float logDepthBufFC; + varying float vFragDepth; + varying float vIsPerspective; +#endif`,$R=`#ifdef USE_LOGDEPTHBUF + #ifdef USE_LOGDEPTHBUF_EXT + varying float vFragDepth; + varying float vIsPerspective; + #else + uniform float logDepthBufFC; + #endif +#endif`,eI=`#ifdef USE_LOGDEPTHBUF + #ifdef USE_LOGDEPTHBUF_EXT + vFragDepth = 1.0 + gl_Position.w; + vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) ); + #else + if ( isPerspectiveMatrix( projectionMatrix ) ) { + gl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0; + gl_Position.z *= gl_Position.w; + } + #endif +#endif`,tI=`#ifdef USE_MAP + vec4 sampledDiffuseColor = texture2D( map, vMapUv ); + #ifdef DECODE_VIDEO_TEXTURE + sampledDiffuseColor = vec4( mix( pow( sampledDiffuseColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), sampledDiffuseColor.rgb * 0.0773993808, vec3( lessThanEqual( sampledDiffuseColor.rgb, vec3( 0.04045 ) ) ) ), sampledDiffuseColor.w ); + #endif + diffuseColor *= sampledDiffuseColor; +#endif`,nI=`#ifdef USE_MAP + uniform sampler2D map; +#endif`,iI=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) + #if defined( USE_POINTS_UV ) + vec2 uv = vUv; + #else + vec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy; + #endif +#endif +#ifdef USE_MAP + diffuseColor *= texture2D( map, uv ); +#endif +#ifdef USE_ALPHAMAP + diffuseColor.a *= texture2D( alphaMap, uv ).g; +#endif`,rI=`#if defined( USE_POINTS_UV ) + varying vec2 vUv; +#else + #if defined( USE_MAP ) || defined( USE_ALPHAMAP ) + uniform mat3 uvTransform; + #endif +#endif +#ifdef USE_MAP + uniform sampler2D map; +#endif +#ifdef USE_ALPHAMAP + uniform sampler2D alphaMap; +#endif`,sI=`float metalnessFactor = metalness; +#ifdef USE_METALNESSMAP + vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv ); + metalnessFactor *= texelMetalness.b; +#endif`,oI=`#ifdef USE_METALNESSMAP + uniform sampler2D metalnessMap; +#endif`,aI=`#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE ) + vColor *= morphTargetBaseInfluence; + for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { + #if defined( USE_COLOR_ALPHA ) + if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ]; + #elif defined( USE_COLOR ) + if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ]; + #endif + } +#endif`,lI=`#ifdef USE_MORPHNORMALS + objectNormal *= morphTargetBaseInfluence; + #ifdef MORPHTARGETS_TEXTURE + for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { + if ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ]; + } + #else + objectNormal += morphNormal0 * morphTargetInfluences[ 0 ]; + objectNormal += morphNormal1 * morphTargetInfluences[ 1 ]; + objectNormal += morphNormal2 * morphTargetInfluences[ 2 ]; + objectNormal += morphNormal3 * morphTargetInfluences[ 3 ]; + #endif +#endif`,uI=`#ifdef USE_MORPHTARGETS + uniform float morphTargetBaseInfluence; + #ifdef MORPHTARGETS_TEXTURE + uniform float morphTargetInfluences[ MORPHTARGETS_COUNT ]; + uniform sampler2DArray morphTargetsTexture; + uniform ivec2 morphTargetsTextureSize; + vec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) { + int texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset; + int y = texelIndex / morphTargetsTextureSize.x; + int x = texelIndex - y * morphTargetsTextureSize.x; + ivec3 morphUV = ivec3( x, y, morphTargetIndex ); + return texelFetch( morphTargetsTexture, morphUV, 0 ); + } + #else + #ifndef USE_MORPHNORMALS + uniform float morphTargetInfluences[ 8 ]; + #else + uniform float morphTargetInfluences[ 4 ]; + #endif + #endif +#endif`,cI=`#ifdef USE_MORPHTARGETS + transformed *= morphTargetBaseInfluence; + #ifdef MORPHTARGETS_TEXTURE + for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { + if ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ]; + } + #else + transformed += morphTarget0 * morphTargetInfluences[ 0 ]; + transformed += morphTarget1 * morphTargetInfluences[ 1 ]; + transformed += morphTarget2 * morphTargetInfluences[ 2 ]; + transformed += morphTarget3 * morphTargetInfluences[ 3 ]; + #ifndef USE_MORPHNORMALS + transformed += morphTarget4 * morphTargetInfluences[ 4 ]; + transformed += morphTarget5 * morphTargetInfluences[ 5 ]; + transformed += morphTarget6 * morphTargetInfluences[ 6 ]; + transformed += morphTarget7 * morphTargetInfluences[ 7 ]; + #endif + #endif +#endif`,fI=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; +#ifdef FLAT_SHADED + vec3 fdx = dFdx( vViewPosition ); + vec3 fdy = dFdy( vViewPosition ); + vec3 normal = normalize( cross( fdx, fdy ) ); +#else + vec3 normal = normalize( vNormal ); + #ifdef DOUBLE_SIDED + normal *= faceDirection; + #endif +#endif +#ifdef USE_NORMALMAP_TANGENTSPACE + #ifdef USE_TANGENT + mat3 tbn = mat3( normalize( vTangent ), normalize( vBitangent ), normal ); + #else + mat3 tbn = getTangentFrame( - vViewPosition, normal, vNormalMapUv ); + #endif + #if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED ) + tbn[0] *= faceDirection; + tbn[1] *= faceDirection; + #endif +#endif +#ifdef USE_CLEARCOAT_NORMALMAP + #ifdef USE_TANGENT + mat3 tbn2 = mat3( normalize( vTangent ), normalize( vBitangent ), normal ); + #else + mat3 tbn2 = getTangentFrame( - vViewPosition, normal, vClearcoatNormalMapUv ); + #endif + #if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED ) + tbn2[0] *= faceDirection; + tbn2[1] *= faceDirection; + #endif +#endif +vec3 geometryNormal = normal;`,hI=`#ifdef USE_NORMALMAP_OBJECTSPACE + normal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0; + #ifdef FLIP_SIDED + normal = - normal; + #endif + #ifdef DOUBLE_SIDED + normal = normal * faceDirection; + #endif + normal = normalize( normalMatrix * normal ); +#elif defined( USE_NORMALMAP_TANGENTSPACE ) + vec3 mapN = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0; + mapN.xy *= normalScale; + normal = normalize( tbn * mapN ); +#elif defined( USE_BUMPMAP ) + normal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection ); +#endif`,dI=`#ifndef FLAT_SHADED + varying vec3 vNormal; + #ifdef USE_TANGENT + varying vec3 vTangent; + varying vec3 vBitangent; + #endif +#endif`,pI=`#ifndef FLAT_SHADED + varying vec3 vNormal; + #ifdef USE_TANGENT + varying vec3 vTangent; + varying vec3 vBitangent; + #endif +#endif`,mI=`#ifndef FLAT_SHADED + vNormal = normalize( transformedNormal ); + #ifdef USE_TANGENT + vTangent = normalize( transformedTangent ); + vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w ); + #endif +#endif`,gI=`#ifdef USE_NORMALMAP + uniform sampler2D normalMap; + uniform vec2 normalScale; +#endif +#ifdef USE_NORMALMAP_OBJECTSPACE + uniform mat3 normalMatrix; +#endif +#if ! defined ( USE_TANGENT ) && ( defined ( USE_NORMALMAP_TANGENTSPACE ) || defined ( USE_CLEARCOAT_NORMALMAP ) ) + mat3 getTangentFrame( vec3 eye_pos, vec3 surf_norm, vec2 uv ) { + vec3 q0 = dFdx( eye_pos.xyz ); + vec3 q1 = dFdy( eye_pos.xyz ); + vec2 st0 = dFdx( uv.st ); + vec2 st1 = dFdy( uv.st ); + vec3 N = surf_norm; + vec3 q1perp = cross( q1, N ); + vec3 q0perp = cross( N, q0 ); + vec3 T = q1perp * st0.x + q0perp * st1.x; + vec3 B = q1perp * st0.y + q0perp * st1.y; + float det = max( dot( T, T ), dot( B, B ) ); + float scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det ); + return mat3( T * scale, B * scale, N ); + } +#endif`,vI=`#ifdef USE_CLEARCOAT + vec3 clearcoatNormal = geometryNormal; +#endif`,yI=`#ifdef USE_CLEARCOAT_NORMALMAP + vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0; + clearcoatMapN.xy *= clearcoatNormalScale; + clearcoatNormal = normalize( tbn2 * clearcoatMapN ); +#endif`,_I=`#ifdef USE_CLEARCOATMAP + uniform sampler2D clearcoatMap; +#endif +#ifdef USE_CLEARCOAT_NORMALMAP + uniform sampler2D clearcoatNormalMap; + uniform vec2 clearcoatNormalScale; +#endif +#ifdef USE_CLEARCOAT_ROUGHNESSMAP + uniform sampler2D clearcoatRoughnessMap; +#endif`,xI=`#ifdef USE_IRIDESCENCEMAP + uniform sampler2D iridescenceMap; +#endif +#ifdef USE_IRIDESCENCE_THICKNESSMAP + uniform sampler2D iridescenceThicknessMap; +#endif`,SI=`#ifdef OPAQUE +diffuseColor.a = 1.0; +#endif +#ifdef USE_TRANSMISSION +diffuseColor.a *= material.transmissionAlpha + 0.1; +#endif +gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,wI=`vec3 packNormalToRGB( const in vec3 normal ) { + return normalize( normal ) * 0.5 + 0.5; +} +vec3 unpackRGBToNormal( const in vec3 rgb ) { + return 2.0 * rgb.xyz - 1.0; +} +const float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.; +const vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. ); +const vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. ); +const float ShiftRight8 = 1. / 256.; +vec4 packDepthToRGBA( const in float v ) { + vec4 r = vec4( fract( v * PackFactors ), v ); + r.yzw -= r.xyz * ShiftRight8; return r * PackUpscale; +} +float unpackRGBAToDepth( const in vec4 v ) { + return dot( v, UnpackFactors ); +} +vec2 packDepthToRG( in highp float v ) { + return packDepthToRGBA( v ).yx; +} +float unpackRGToDepth( const in highp vec2 v ) { + return unpackRGBAToDepth( vec4( v.xy, 0.0, 0.0 ) ); +} +vec4 pack2HalfToRGBA( vec2 v ) { + vec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) ); + return vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w ); +} +vec2 unpackRGBATo2Half( vec4 v ) { + return vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) ); +} +float viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) { + return ( viewZ + near ) / ( near - far ); +} +float orthographicDepthToViewZ( const in float depth, const in float near, const in float far ) { + return depth * ( near - far ) - near; +} +float viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) { + return ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ ); +} +float perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) { + return ( near * far ) / ( ( far - near ) * depth - far ); +}`,MI=`#ifdef PREMULTIPLIED_ALPHA + gl_FragColor.rgb *= gl_FragColor.a; +#endif`,EI=`vec4 mvPosition = vec4( transformed, 1.0 ); +#ifdef USE_INSTANCING + mvPosition = instanceMatrix * mvPosition; +#endif +mvPosition = modelViewMatrix * mvPosition; +gl_Position = projectionMatrix * mvPosition;`,TI=`#ifdef DITHERING + gl_FragColor.rgb = dithering( gl_FragColor.rgb ); +#endif`,AI=`#ifdef DITHERING + vec3 dithering( vec3 color ) { + float grid_position = rand( gl_FragCoord.xy ); + vec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 ); + dither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position ); + return color + dither_shift_RGB; + } +#endif`,CI=`float roughnessFactor = roughness; +#ifdef USE_ROUGHNESSMAP + vec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv ); + roughnessFactor *= texelRoughness.g; +#endif`,bI=`#ifdef USE_ROUGHNESSMAP + uniform sampler2D roughnessMap; +#endif`,PI=`#if NUM_SPOT_LIGHT_COORDS > 0 + varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; +#endif +#if NUM_SPOT_LIGHT_MAPS > 0 + uniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ]; +#endif +#ifdef USE_SHADOWMAP + #if NUM_DIR_LIGHT_SHADOWS > 0 + uniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ]; + varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ]; + struct DirectionalLightShadow { + float shadowBias; + float shadowNormalBias; + float shadowRadius; + vec2 shadowMapSize; + }; + uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ]; + #endif + #if NUM_SPOT_LIGHT_SHADOWS > 0 + uniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ]; + struct SpotLightShadow { + float shadowBias; + float shadowNormalBias; + float shadowRadius; + vec2 shadowMapSize; + }; + uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ]; + #endif + #if NUM_POINT_LIGHT_SHADOWS > 0 + uniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ]; + varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ]; + struct PointLightShadow { + float shadowBias; + float shadowNormalBias; + float shadowRadius; + vec2 shadowMapSize; + float shadowCameraNear; + float shadowCameraFar; + }; + uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; + #endif + float texture2DCompare( sampler2D depths, vec2 uv, float compare ) { + return step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) ); + } + vec2 texture2DDistribution( sampler2D shadow, vec2 uv ) { + return unpackRGBATo2Half( texture2D( shadow, uv ) ); + } + float VSMShadow (sampler2D shadow, vec2 uv, float compare ){ + float occlusion = 1.0; + vec2 distribution = texture2DDistribution( shadow, uv ); + float hard_shadow = step( compare , distribution.x ); + if (hard_shadow != 1.0 ) { + float distance = compare - distribution.x ; + float variance = max( 0.00000, distribution.y * distribution.y ); + float softness_probability = variance / (variance + distance * distance ); softness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 ); occlusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 ); + } + return occlusion; + } + float getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) { + float shadow = 1.0; + shadowCoord.xyz /= shadowCoord.w; + shadowCoord.z += shadowBias; + bool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0; + bool frustumTest = inFrustum && shadowCoord.z <= 1.0; + if ( frustumTest ) { + #if defined( SHADOWMAP_TYPE_PCF ) + vec2 texelSize = vec2( 1.0 ) / shadowMapSize; + float dx0 = - texelSize.x * shadowRadius; + float dy0 = - texelSize.y * shadowRadius; + float dx1 = + texelSize.x * shadowRadius; + float dy1 = + texelSize.y * shadowRadius; + float dx2 = dx0 / 2.0; + float dy2 = dy0 / 2.0; + float dx3 = dx1 / 2.0; + float dy3 = dy1 / 2.0; + shadow = ( + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z ) + ) * ( 1.0 / 17.0 ); + #elif defined( SHADOWMAP_TYPE_PCF_SOFT ) + vec2 texelSize = vec2( 1.0 ) / shadowMapSize; + float dx = texelSize.x; + float dy = texelSize.y; + vec2 uv = shadowCoord.xy; + vec2 f = fract( uv * shadowMapSize + 0.5 ); + uv -= f * texelSize; + shadow = ( + texture2DCompare( shadowMap, uv, shadowCoord.z ) + + texture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) + + texture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) + + mix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), + texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ), + f.x ) + + mix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), + texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ), + f.x ) + + mix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), + texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ), + f.y ) + + mix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), + texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ), + f.y ) + + mix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), + texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ), + f.x ), + mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), + texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ), + f.x ), + f.y ) + ) * ( 1.0 / 9.0 ); + #elif defined( SHADOWMAP_TYPE_VSM ) + shadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z ); + #else + shadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ); + #endif + } + return shadow; + } + vec2 cubeToUV( vec3 v, float texelSizeY ) { + vec3 absV = abs( v ); + float scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) ); + absV *= scaleToCube; + v *= scaleToCube * ( 1.0 - 2.0 * texelSizeY ); + vec2 planar = v.xy; + float almostATexel = 1.5 * texelSizeY; + float almostOne = 1.0 - almostATexel; + if ( absV.z >= almostOne ) { + if ( v.z > 0.0 ) + planar.x = 4.0 - v.x; + } else if ( absV.x >= almostOne ) { + float signX = sign( v.x ); + planar.x = v.z * signX + 2.0 * signX; + } else if ( absV.y >= almostOne ) { + float signY = sign( v.y ); + planar.x = v.x + 2.0 * signY + 2.0; + planar.y = v.z * signY - 2.0; + } + return vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 ); + } + float getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) { + vec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) ); + vec3 lightToPosition = shadowCoord.xyz; + float dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear ); dp += shadowBias; + vec3 bd3D = normalize( lightToPosition ); + #if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM ) + vec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y; + return ( + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp ) + ) * ( 1.0 / 9.0 ); + #else + return texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ); + #endif + } +#endif`,LI=`#if NUM_SPOT_LIGHT_COORDS > 0 + uniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ]; + varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; +#endif +#ifdef USE_SHADOWMAP + #if NUM_DIR_LIGHT_SHADOWS > 0 + uniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ]; + varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ]; + struct DirectionalLightShadow { + float shadowBias; + float shadowNormalBias; + float shadowRadius; + vec2 shadowMapSize; + }; + uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ]; + #endif + #if NUM_SPOT_LIGHT_SHADOWS > 0 + struct SpotLightShadow { + float shadowBias; + float shadowNormalBias; + float shadowRadius; + vec2 shadowMapSize; + }; + uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ]; + #endif + #if NUM_POINT_LIGHT_SHADOWS > 0 + uniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ]; + varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ]; + struct PointLightShadow { + float shadowBias; + float shadowNormalBias; + float shadowRadius; + vec2 shadowMapSize; + float shadowCameraNear; + float shadowCameraFar; + }; + uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; + #endif +#endif`,RI=`#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 ) + vec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix ); + vec4 shadowWorldPosition; +#endif +#if defined( USE_SHADOWMAP ) + #if NUM_DIR_LIGHT_SHADOWS > 0 + #pragma unroll_loop_start + for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) { + shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 ); + vDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition; + } + #pragma unroll_loop_end + #endif + #if NUM_POINT_LIGHT_SHADOWS > 0 + #pragma unroll_loop_start + for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) { + shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 ); + vPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition; + } + #pragma unroll_loop_end + #endif +#endif +#if NUM_SPOT_LIGHT_COORDS > 0 + #pragma unroll_loop_start + for ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) { + shadowWorldPosition = worldPosition; + #if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) + shadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias; + #endif + vSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition; + } + #pragma unroll_loop_end +#endif`,II=`float getShadowMask() { + float shadow = 1.0; + #ifdef USE_SHADOWMAP + #if NUM_DIR_LIGHT_SHADOWS > 0 + DirectionalLightShadow directionalLight; + #pragma unroll_loop_start + for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) { + directionalLight = directionalLightShadows[ i ]; + shadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0; + } + #pragma unroll_loop_end + #endif + #if NUM_SPOT_LIGHT_SHADOWS > 0 + SpotLightShadow spotLight; + #pragma unroll_loop_start + for ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) { + spotLight = spotLightShadows[ i ]; + shadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotLightCoord[ i ] ) : 1.0; + } + #pragma unroll_loop_end + #endif + #if NUM_POINT_LIGHT_SHADOWS > 0 + PointLightShadow pointLight; + #pragma unroll_loop_start + for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) { + pointLight = pointLightShadows[ i ]; + shadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0; + } + #pragma unroll_loop_end + #endif + #endif + return shadow; +}`,DI=`#ifdef USE_SKINNING + mat4 boneMatX = getBoneMatrix( skinIndex.x ); + mat4 boneMatY = getBoneMatrix( skinIndex.y ); + mat4 boneMatZ = getBoneMatrix( skinIndex.z ); + mat4 boneMatW = getBoneMatrix( skinIndex.w ); +#endif`,NI=`#ifdef USE_SKINNING + uniform mat4 bindMatrix; + uniform mat4 bindMatrixInverse; + uniform highp sampler2D boneTexture; + uniform int boneTextureSize; + mat4 getBoneMatrix( const in float i ) { + float j = i * 4.0; + float x = mod( j, float( boneTextureSize ) ); + float y = floor( j / float( boneTextureSize ) ); + float dx = 1.0 / float( boneTextureSize ); + float dy = 1.0 / float( boneTextureSize ); + y = dy * ( y + 0.5 ); + vec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) ); + vec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) ); + vec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) ); + vec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) ); + mat4 bone = mat4( v1, v2, v3, v4 ); + return bone; + } +#endif`,kI=`#ifdef USE_SKINNING + vec4 skinVertex = bindMatrix * vec4( transformed, 1.0 ); + vec4 skinned = vec4( 0.0 ); + skinned += boneMatX * skinVertex * skinWeight.x; + skinned += boneMatY * skinVertex * skinWeight.y; + skinned += boneMatZ * skinVertex * skinWeight.z; + skinned += boneMatW * skinVertex * skinWeight.w; + transformed = ( bindMatrixInverse * skinned ).xyz; +#endif`,zI=`#ifdef USE_SKINNING + mat4 skinMatrix = mat4( 0.0 ); + skinMatrix += skinWeight.x * boneMatX; + skinMatrix += skinWeight.y * boneMatY; + skinMatrix += skinWeight.z * boneMatZ; + skinMatrix += skinWeight.w * boneMatW; + skinMatrix = bindMatrixInverse * skinMatrix * bindMatrix; + objectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz; + #ifdef USE_TANGENT + objectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz; + #endif +#endif`,UI=`float specularStrength; +#ifdef USE_SPECULARMAP + vec4 texelSpecular = texture2D( specularMap, vSpecularMapUv ); + specularStrength = texelSpecular.r; +#else + specularStrength = 1.0; +#endif`,OI=`#ifdef USE_SPECULARMAP + uniform sampler2D specularMap; +#endif`,FI=`#if defined( TONE_MAPPING ) + gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); +#endif`,BI=`#ifndef saturate +#define saturate( a ) clamp( a, 0.0, 1.0 ) +#endif +uniform float toneMappingExposure; +vec3 LinearToneMapping( vec3 color ) { + return toneMappingExposure * color; +} +vec3 ReinhardToneMapping( vec3 color ) { + color *= toneMappingExposure; + return saturate( color / ( vec3( 1.0 ) + color ) ); +} +vec3 OptimizedCineonToneMapping( vec3 color ) { + color *= toneMappingExposure; + color = max( vec3( 0.0 ), color - 0.004 ); + return pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) ); +} +vec3 RRTAndODTFit( vec3 v ) { + vec3 a = v * ( v + 0.0245786 ) - 0.000090537; + vec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081; + return a / b; +} +vec3 ACESFilmicToneMapping( vec3 color ) { + const mat3 ACESInputMat = mat3( + vec3( 0.59719, 0.07600, 0.02840 ), vec3( 0.35458, 0.90834, 0.13383 ), + vec3( 0.04823, 0.01566, 0.83777 ) + ); + const mat3 ACESOutputMat = mat3( + vec3( 1.60475, -0.10208, -0.00327 ), vec3( -0.53108, 1.10813, -0.07276 ), + vec3( -0.07367, -0.00605, 1.07602 ) + ); + color *= toneMappingExposure / 0.6; + color = ACESInputMat * color; + color = RRTAndODTFit( color ); + color = ACESOutputMat * color; + return saturate( color ); +} +vec3 CustomToneMapping( vec3 color ) { return color; }`,VI=`#ifdef USE_TRANSMISSION + material.transmission = transmission; + material.transmissionAlpha = 1.0; + material.thickness = thickness; + material.attenuationDistance = attenuationDistance; + material.attenuationColor = attenuationColor; + #ifdef USE_TRANSMISSIONMAP + material.transmission *= texture2D( transmissionMap, vTransmissionMapUv ).r; + #endif + #ifdef USE_THICKNESSMAP + material.thickness *= texture2D( thicknessMap, vThicknessMapUv ).g; + #endif + vec3 pos = vWorldPosition; + vec3 v = normalize( cameraPosition - pos ); + vec3 n = inverseTransformDirection( normal, viewMatrix ); + vec4 transmission = getIBLVolumeRefraction( + n, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90, + pos, modelMatrix, viewMatrix, projectionMatrix, material.ior, material.thickness, + material.attenuationColor, material.attenuationDistance ); + material.transmissionAlpha = mix( material.transmissionAlpha, transmission.a, material.transmission ); + totalDiffuse = mix( totalDiffuse, transmission.rgb, material.transmission ); +#endif`,HI=`#ifdef USE_TRANSMISSION + uniform float transmission; + uniform float thickness; + uniform float attenuationDistance; + uniform vec3 attenuationColor; + #ifdef USE_TRANSMISSIONMAP + uniform sampler2D transmissionMap; + #endif + #ifdef USE_THICKNESSMAP + uniform sampler2D thicknessMap; + #endif + uniform vec2 transmissionSamplerSize; + uniform sampler2D transmissionSamplerMap; + uniform mat4 modelMatrix; + uniform mat4 projectionMatrix; + varying vec3 vWorldPosition; + float w0( float a ) { + return ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 ); + } + float w1( float a ) { + return ( 1.0 / 6.0 ) * ( a * a * ( 3.0 * a - 6.0 ) + 4.0 ); + } + float w2( float a ){ + return ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 ); + } + float w3( float a ) { + return ( 1.0 / 6.0 ) * ( a * a * a ); + } + float g0( float a ) { + return w0( a ) + w1( a ); + } + float g1( float a ) { + return w2( a ) + w3( a ); + } + float h0( float a ) { + return - 1.0 + w1( a ) / ( w0( a ) + w1( a ) ); + } + float h1( float a ) { + return 1.0 + w3( a ) / ( w2( a ) + w3( a ) ); + } + vec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, vec2 fullSize, float lod ) { + uv = uv * texelSize.zw + 0.5; + vec2 iuv = floor( uv ); + vec2 fuv = fract( uv ); + float g0x = g0( fuv.x ); + float g1x = g1( fuv.x ); + float h0x = h0( fuv.x ); + float h1x = h1( fuv.x ); + float h0y = h0( fuv.y ); + float h1y = h1( fuv.y ); + vec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy; + vec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy; + vec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy; + vec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy; + + vec2 lodFudge = pow( 1.95, lod ) / fullSize; + return g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) + + g1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) ); + } + vec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) { + vec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) ); + vec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) ); + vec2 fLodSizeInv = 1.0 / fLodSize; + vec2 cLodSizeInv = 1.0 / cLodSize; + vec2 fullSize = vec2( textureSize( sampler, 0 ) ); + vec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), fullSize, floor( lod ) ); + vec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), fullSize, ceil( lod ) ); + return mix( fSample, cSample, fract( lod ) ); + } + vec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) { + vec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior ); + vec3 modelScale; + modelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) ); + modelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) ); + modelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) ); + return normalize( refractionVector ) * thickness * modelScale; + } + float applyIorToRoughness( const in float roughness, const in float ior ) { + return roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 ); + } + vec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) { + float lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior ); + return textureBicubic( transmissionSamplerMap, fragCoord.xy, lod ); + } + vec3 applyVolumeAttenuation( const in vec3 radiance, const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) { + if ( isinf( attenuationDistance ) ) { + return radiance; + } else { + vec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance; + vec3 transmittance = exp( - attenuationCoefficient * transmissionDistance ); return transmittance * radiance; + } + } + vec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor, + const in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix, + const in mat4 viewMatrix, const in mat4 projMatrix, const in float ior, const in float thickness, + const in vec3 attenuationColor, const in float attenuationDistance ) { + vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix ); + vec3 refractedRayExit = position + transmissionRay; + vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 ); + vec2 refractionCoords = ndcPos.xy / ndcPos.w; + refractionCoords += 1.0; + refractionCoords /= 2.0; + vec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior ); + vec3 attenuatedColor = applyVolumeAttenuation( transmittedLight.rgb, length( transmissionRay ), attenuationColor, attenuationDistance ); + vec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness ); + return vec4( ( 1.0 - F ) * attenuatedColor * diffuseColor, transmittedLight.a ); + } +#endif`,GI=`#ifdef USE_UV + varying vec2 vUv; +#endif +#ifdef USE_MAP + varying vec2 vMapUv; +#endif +#ifdef USE_ALPHAMAP + varying vec2 vAlphaMapUv; +#endif +#ifdef USE_LIGHTMAP + varying vec2 vLightMapUv; +#endif +#ifdef USE_AOMAP + varying vec2 vAoMapUv; +#endif +#ifdef USE_BUMPMAP + varying vec2 vBumpMapUv; +#endif +#ifdef USE_NORMALMAP + varying vec2 vNormalMapUv; +#endif +#ifdef USE_EMISSIVEMAP + varying vec2 vEmissiveMapUv; +#endif +#ifdef USE_METALNESSMAP + varying vec2 vMetalnessMapUv; +#endif +#ifdef USE_ROUGHNESSMAP + varying vec2 vRoughnessMapUv; +#endif +#ifdef USE_CLEARCOATMAP + varying vec2 vClearcoatMapUv; +#endif +#ifdef USE_CLEARCOAT_NORMALMAP + varying vec2 vClearcoatNormalMapUv; +#endif +#ifdef USE_CLEARCOAT_ROUGHNESSMAP + varying vec2 vClearcoatRoughnessMapUv; +#endif +#ifdef USE_IRIDESCENCEMAP + varying vec2 vIridescenceMapUv; +#endif +#ifdef USE_IRIDESCENCE_THICKNESSMAP + varying vec2 vIridescenceThicknessMapUv; +#endif +#ifdef USE_SHEEN_COLORMAP + varying vec2 vSheenColorMapUv; +#endif +#ifdef USE_SHEEN_ROUGHNESSMAP + varying vec2 vSheenRoughnessMapUv; +#endif +#ifdef USE_SPECULARMAP + varying vec2 vSpecularMapUv; +#endif +#ifdef USE_SPECULAR_COLORMAP + varying vec2 vSpecularColorMapUv; +#endif +#ifdef USE_SPECULAR_INTENSITYMAP + varying vec2 vSpecularIntensityMapUv; +#endif +#ifdef USE_TRANSMISSIONMAP + uniform mat3 transmissionMapTransform; + varying vec2 vTransmissionMapUv; +#endif +#ifdef USE_THICKNESSMAP + uniform mat3 thicknessMapTransform; + varying vec2 vThicknessMapUv; +#endif`,WI=`#ifdef USE_UV + varying vec2 vUv; +#endif +#ifdef USE_UV2 + attribute vec2 uv2; +#endif +#ifdef USE_MAP + uniform mat3 mapTransform; + varying vec2 vMapUv; +#endif +#ifdef USE_ALPHAMAP + uniform mat3 alphaMapTransform; + varying vec2 vAlphaMapUv; +#endif +#ifdef USE_LIGHTMAP + uniform mat3 lightMapTransform; + varying vec2 vLightMapUv; +#endif +#ifdef USE_AOMAP + uniform mat3 aoMapTransform; + varying vec2 vAoMapUv; +#endif +#ifdef USE_BUMPMAP + uniform mat3 bumpMapTransform; + varying vec2 vBumpMapUv; +#endif +#ifdef USE_NORMALMAP + uniform mat3 normalMapTransform; + varying vec2 vNormalMapUv; +#endif +#ifdef USE_DISPLACEMENTMAP + uniform mat3 displacementMapTransform; + varying vec2 vDisplacementMapUv; +#endif +#ifdef USE_EMISSIVEMAP + uniform mat3 emissiveMapTransform; + varying vec2 vEmissiveMapUv; +#endif +#ifdef USE_METALNESSMAP + uniform mat3 metalnessMapTransform; + varying vec2 vMetalnessMapUv; +#endif +#ifdef USE_ROUGHNESSMAP + uniform mat3 roughnessMapTransform; + varying vec2 vRoughnessMapUv; +#endif +#ifdef USE_CLEARCOATMAP + uniform mat3 clearcoatMapTransform; + varying vec2 vClearcoatMapUv; +#endif +#ifdef USE_CLEARCOAT_NORMALMAP + uniform mat3 clearcoatNormalMapTransform; + varying vec2 vClearcoatNormalMapUv; +#endif +#ifdef USE_CLEARCOAT_ROUGHNESSMAP + uniform mat3 clearcoatRoughnessMapTransform; + varying vec2 vClearcoatRoughnessMapUv; +#endif +#ifdef USE_SHEEN_COLORMAP + uniform mat3 sheenColorMapTransform; + varying vec2 vSheenColorMapUv; +#endif +#ifdef USE_SHEEN_ROUGHNESSMAP + uniform mat3 sheenRoughnessMapTransform; + varying vec2 vSheenRoughnessMapUv; +#endif +#ifdef USE_IRIDESCENCEMAP + uniform mat3 iridescenceMapTransform; + varying vec2 vIridescenceMapUv; +#endif +#ifdef USE_IRIDESCENCE_THICKNESSMAP + uniform mat3 iridescenceThicknessMapTransform; + varying vec2 vIridescenceThicknessMapUv; +#endif +#ifdef USE_SPECULARMAP + uniform mat3 specularMapTransform; + varying vec2 vSpecularMapUv; +#endif +#ifdef USE_SPECULAR_COLORMAP + uniform mat3 specularColorMapTransform; + varying vec2 vSpecularColorMapUv; +#endif +#ifdef USE_SPECULAR_INTENSITYMAP + uniform mat3 specularIntensityMapTransform; + varying vec2 vSpecularIntensityMapUv; +#endif +#ifdef USE_TRANSMISSIONMAP + uniform mat3 transmissionMapTransform; + varying vec2 vTransmissionMapUv; +#endif +#ifdef USE_THICKNESSMAP + uniform mat3 thicknessMapTransform; + varying vec2 vThicknessMapUv; +#endif`,XI=`#ifdef USE_UV + vUv = vec3( uv, 1 ).xy; +#endif +#ifdef USE_MAP + vMapUv = ( mapTransform * vec3( MAP_UV, 1 ) ).xy; +#endif +#ifdef USE_ALPHAMAP + vAlphaMapUv = ( alphaMapTransform * vec3( ALPHAMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_LIGHTMAP + vLightMapUv = ( lightMapTransform * vec3( LIGHTMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_AOMAP + vAoMapUv = ( aoMapTransform * vec3( AOMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_BUMPMAP + vBumpMapUv = ( bumpMapTransform * vec3( BUMPMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_NORMALMAP + vNormalMapUv = ( normalMapTransform * vec3( NORMALMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_DISPLACEMENTMAP + vDisplacementMapUv = ( displacementMapTransform * vec3( DISPLACEMENTMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_EMISSIVEMAP + vEmissiveMapUv = ( emissiveMapTransform * vec3( EMISSIVEMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_METALNESSMAP + vMetalnessMapUv = ( metalnessMapTransform * vec3( METALNESSMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_ROUGHNESSMAP + vRoughnessMapUv = ( roughnessMapTransform * vec3( ROUGHNESSMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_CLEARCOATMAP + vClearcoatMapUv = ( clearcoatMapTransform * vec3( CLEARCOATMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_CLEARCOAT_NORMALMAP + vClearcoatNormalMapUv = ( clearcoatNormalMapTransform * vec3( CLEARCOAT_NORMALMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_CLEARCOAT_ROUGHNESSMAP + vClearcoatRoughnessMapUv = ( clearcoatRoughnessMapTransform * vec3( CLEARCOAT_ROUGHNESSMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_IRIDESCENCEMAP + vIridescenceMapUv = ( iridescenceMapTransform * vec3( IRIDESCENCEMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_IRIDESCENCE_THICKNESSMAP + vIridescenceThicknessMapUv = ( iridescenceThicknessMapTransform * vec3( IRIDESCENCE_THICKNESSMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_SHEEN_COLORMAP + vSheenColorMapUv = ( sheenColorMapTransform * vec3( SHEEN_COLORMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_SHEEN_ROUGHNESSMAP + vSheenRoughnessMapUv = ( sheenRoughnessMapTransform * vec3( SHEEN_ROUGHNESSMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_SPECULARMAP + vSpecularMapUv = ( specularMapTransform * vec3( SPECULARMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_SPECULAR_COLORMAP + vSpecularColorMapUv = ( specularColorMapTransform * vec3( SPECULAR_COLORMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_SPECULAR_INTENSITYMAP + vSpecularIntensityMapUv = ( specularIntensityMapTransform * vec3( SPECULAR_INTENSITYMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_TRANSMISSIONMAP + vTransmissionMapUv = ( transmissionMapTransform * vec3( TRANSMISSIONMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_THICKNESSMAP + vThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy; +#endif`,jI=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0 + vec4 worldPosition = vec4( transformed, 1.0 ); + #ifdef USE_INSTANCING + worldPosition = instanceMatrix * worldPosition; + #endif + worldPosition = modelMatrix * worldPosition; +#endif`;const YI=`varying vec2 vUv; +uniform mat3 uvTransform; +void main() { + vUv = ( uvTransform * vec3( uv, 1 ) ).xy; + gl_Position = vec4( position.xy, 1.0, 1.0 ); +}`,qI=`uniform sampler2D t2D; +uniform float backgroundIntensity; +varying vec2 vUv; +void main() { + vec4 texColor = texture2D( t2D, vUv ); + #ifdef DECODE_VIDEO_TEXTURE + texColor = vec4( mix( pow( texColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), texColor.rgb * 0.0773993808, vec3( lessThanEqual( texColor.rgb, vec3( 0.04045 ) ) ) ), texColor.w ); + #endif + texColor.rgb *= backgroundIntensity; + gl_FragColor = texColor; + #include + #include +}`,ZI=`varying vec3 vWorldDirection; +#include +void main() { + vWorldDirection = transformDirection( position, modelMatrix ); + #include + #include + gl_Position.z = gl_Position.w; +}`,QI=`#ifdef ENVMAP_TYPE_CUBE + uniform samplerCube envMap; +#elif defined( ENVMAP_TYPE_CUBE_UV ) + uniform sampler2D envMap; +#endif +uniform float flipEnvMap; +uniform float backgroundBlurriness; +uniform float backgroundIntensity; +varying vec3 vWorldDirection; +#include +void main() { + #ifdef ENVMAP_TYPE_CUBE + vec4 texColor = textureCube( envMap, vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) ); + #elif defined( ENVMAP_TYPE_CUBE_UV ) + vec4 texColor = textureCubeUV( envMap, vWorldDirection, backgroundBlurriness ); + #else + vec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 ); + #endif + texColor.rgb *= backgroundIntensity; + gl_FragColor = texColor; + #include + #include +}`,JI=`varying vec3 vWorldDirection; +#include +void main() { + vWorldDirection = transformDirection( position, modelMatrix ); + #include + #include + gl_Position.z = gl_Position.w; +}`,KI=`uniform samplerCube tCube; +uniform float tFlip; +uniform float opacity; +varying vec3 vWorldDirection; +void main() { + vec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) ); + gl_FragColor = texColor; + gl_FragColor.a *= opacity; + #include + #include +}`,$I=`#include +#include +#include +#include +#include +#include +#include +varying vec2 vHighPrecisionZW; +void main() { + #include + #include + #ifdef USE_DISPLACEMENTMAP + #include + #include + #include + #endif + #include + #include + #include + #include + #include + #include + #include + vHighPrecisionZW = gl_Position.zw; +}`,eD=`#if DEPTH_PACKING == 3200 + uniform float opacity; +#endif +#include +#include +#include +#include +#include +#include +#include +#include +varying vec2 vHighPrecisionZW; +void main() { + #include + vec4 diffuseColor = vec4( 1.0 ); + #if DEPTH_PACKING == 3200 + diffuseColor.a = opacity; + #endif + #include + #include + #include + #include + float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5; + #if DEPTH_PACKING == 3200 + gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity ); + #elif DEPTH_PACKING == 3201 + gl_FragColor = packDepthToRGBA( fragCoordZ ); + #endif +}`,tD=`#define DISTANCE +varying vec3 vWorldPosition; +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #ifdef USE_DISPLACEMENTMAP + #include + #include + #include + #endif + #include + #include + #include + #include + #include + #include + #include + vWorldPosition = worldPosition.xyz; +}`,nD=`#define DISTANCE +uniform vec3 referencePosition; +uniform float nearDistance; +uniform float farDistance; +varying vec3 vWorldPosition; +#include +#include +#include +#include +#include +#include +#include +void main () { + #include + vec4 diffuseColor = vec4( 1.0 ); + #include + #include + #include + float dist = length( vWorldPosition - referencePosition ); + dist = ( dist - nearDistance ) / ( farDistance - nearDistance ); + dist = saturate( dist ); + gl_FragColor = packDepthToRGBA( dist ); +}`,iD=`varying vec3 vWorldDirection; +#include +void main() { + vWorldDirection = transformDirection( position, modelMatrix ); + #include + #include +}`,rD=`uniform sampler2D tEquirect; +varying vec3 vWorldDirection; +#include +void main() { + vec3 direction = normalize( vWorldDirection ); + vec2 sampleUV = equirectUv( direction ); + gl_FragColor = texture2D( tEquirect, sampleUV ); + #include + #include +}`,sD=`uniform float scale; +attribute float lineDistance; +varying float vLineDistance; +#include +#include +#include +#include +#include +#include +#include +void main() { + vLineDistance = scale * lineDistance; + #include + #include + #include + #include + #include + #include + #include + #include + #include +}`,oD=`uniform vec3 diffuse; +uniform float opacity; +uniform float dashSize; +uniform float totalSize; +varying float vLineDistance; +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + if ( mod( vLineDistance, totalSize ) > dashSize ) { + discard; + } + vec3 outgoingLight = vec3( 0.0 ); + vec4 diffuseColor = vec4( diffuse, opacity ); + #include + #include + #include + outgoingLight = diffuseColor.rgb; + #include + #include + #include + #include + #include +}`,aD=`#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #if defined ( USE_ENVMAP ) || defined ( USE_SKINNING ) + #include + #include + #include + #include + #include + #endif + #include + #include + #include + #include + #include + #include + #include + #include + #include +}`,lD=`uniform vec3 diffuse; +uniform float opacity; +#ifndef FLAT_SHADED + varying vec3 vNormal; +#endif +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + vec4 diffuseColor = vec4( diffuse, opacity ); + #include + #include + #include + #include + #include + #include + ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); + #ifdef USE_LIGHTMAP + vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); + reflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI; + #else + reflectedLight.indirectDiffuse += vec3( 1.0 ); + #endif + #include + reflectedLight.indirectDiffuse *= diffuseColor.rgb; + vec3 outgoingLight = reflectedLight.indirectDiffuse; + #include + #include + #include + #include + #include + #include + #include +}`,uD=`#define LAMBERT +varying vec3 vViewPosition; +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + vViewPosition = - mvPosition.xyz; + #include + #include + #include + #include +}`,cD=`#define LAMBERT +uniform vec3 diffuse; +uniform vec3 emissive; +uniform float opacity; +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + vec4 diffuseColor = vec4( diffuse, opacity ); + ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); + vec3 totalEmissiveRadiance = emissive; + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance; + #include + #include + #include + #include + #include + #include + #include +}`,fD=`#define MATCAP +varying vec3 vViewPosition; +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + vViewPosition = - mvPosition.xyz; +}`,hD=`#define MATCAP +uniform vec3 diffuse; +uniform float opacity; +uniform sampler2D matcap; +varying vec3 vViewPosition; +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + vec4 diffuseColor = vec4( diffuse, opacity ); + #include + #include + #include + #include + #include + #include + #include + vec3 viewDir = normalize( vViewPosition ); + vec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) ); + vec3 y = cross( viewDir, x ); + vec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5; + #ifdef USE_MATCAP + vec4 matcapColor = texture2D( matcap, uv ); + #else + vec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 ); + #endif + vec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb; + #include + #include + #include + #include + #include + #include +}`,dD=`#define NORMAL +#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) + varying vec3 vViewPosition; +#endif +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include +#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) + vViewPosition = - mvPosition.xyz; +#endif +}`,pD=`#define NORMAL +uniform float opacity; +#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) + varying vec3 vViewPosition; +#endif +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + gl_FragColor = vec4( packNormalToRGB( normal ), opacity ); + #ifdef OPAQUE + gl_FragColor.a = 1.0; + #endif +}`,mD=`#define PHONG +varying vec3 vViewPosition; +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + vViewPosition = - mvPosition.xyz; + #include + #include + #include + #include +}`,gD=`#define PHONG +uniform vec3 diffuse; +uniform vec3 emissive; +uniform vec3 specular; +uniform float shininess; +uniform float opacity; +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + vec4 diffuseColor = vec4( diffuse, opacity ); + ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); + vec3 totalEmissiveRadiance = emissive; + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance; + #include + #include + #include + #include + #include + #include + #include +}`,vD=`#define STANDARD +varying vec3 vViewPosition; +#ifdef USE_TRANSMISSION + varying vec3 vWorldPosition; +#endif +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + vViewPosition = - mvPosition.xyz; + #include + #include + #include +#ifdef USE_TRANSMISSION + vWorldPosition = worldPosition.xyz; +#endif +}`,yD=`#define STANDARD +#ifdef PHYSICAL + #define IOR + #define USE_SPECULAR +#endif +uniform vec3 diffuse; +uniform vec3 emissive; +uniform float roughness; +uniform float metalness; +uniform float opacity; +#ifdef IOR + uniform float ior; +#endif +#ifdef USE_SPECULAR + uniform float specularIntensity; + uniform vec3 specularColor; + #ifdef USE_SPECULAR_COLORMAP + uniform sampler2D specularColorMap; + #endif + #ifdef USE_SPECULAR_INTENSITYMAP + uniform sampler2D specularIntensityMap; + #endif +#endif +#ifdef USE_CLEARCOAT + uniform float clearcoat; + uniform float clearcoatRoughness; +#endif +#ifdef USE_IRIDESCENCE + uniform float iridescence; + uniform float iridescenceIOR; + uniform float iridescenceThicknessMinimum; + uniform float iridescenceThicknessMaximum; +#endif +#ifdef USE_SHEEN + uniform vec3 sheenColor; + uniform float sheenRoughness; + #ifdef USE_SHEEN_COLORMAP + uniform sampler2D sheenColorMap; + #endif + #ifdef USE_SHEEN_ROUGHNESSMAP + uniform sampler2D sheenRoughnessMap; + #endif +#endif +varying vec3 vViewPosition; +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + vec4 diffuseColor = vec4( diffuse, opacity ); + ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); + vec3 totalEmissiveRadiance = emissive; + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + vec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse; + vec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular; + #include + vec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance; + #ifdef USE_SHEEN + float sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor ); + outgoingLight = outgoingLight * sheenEnergyComp + sheenSpecular; + #endif + #ifdef USE_CLEARCOAT + float dotNVcc = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) ); + vec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc ); + outgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + clearcoatSpecular * material.clearcoat; + #endif + #include + #include + #include + #include + #include + #include +}`,_D=`#define TOON +varying vec3 vViewPosition; +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + vViewPosition = - mvPosition.xyz; + #include + #include + #include +}`,xD=`#define TOON +uniform vec3 diffuse; +uniform vec3 emissive; +uniform float opacity; +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + vec4 diffuseColor = vec4( diffuse, opacity ); + ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); + vec3 totalEmissiveRadiance = emissive; + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance; + #include + #include + #include + #include + #include + #include +}`,SD=`uniform float size; +uniform float scale; +#include +#include +#include +#include +#include +#include +#ifdef USE_POINTS_UV + varying vec2 vUv; + uniform mat3 uvTransform; +#endif +void main() { + #ifdef USE_POINTS_UV + vUv = ( uvTransform * vec3( uv, 1 ) ).xy; + #endif + #include + #include + #include + #include + #include + gl_PointSize = size; + #ifdef USE_SIZEATTENUATION + bool isPerspective = isPerspectiveMatrix( projectionMatrix ); + if ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z ); + #endif + #include + #include + #include + #include +}`,wD=`uniform vec3 diffuse; +uniform float opacity; +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + vec3 outgoingLight = vec3( 0.0 ); + vec4 diffuseColor = vec4( diffuse, opacity ); + #include + #include + #include + #include + outgoingLight = diffuseColor.rgb; + #include + #include + #include + #include + #include +}`,MD=`#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include +}`,ED=`uniform vec3 color; +uniform float opacity; +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + gl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) ); + #include + #include + #include +}`,TD=`uniform float rotation; +uniform vec2 center; +#include +#include +#include +#include +#include +void main() { + #include + vec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 ); + vec2 scale; + scale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) ); + scale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) ); + #ifndef USE_SIZEATTENUATION + bool isPerspective = isPerspectiveMatrix( projectionMatrix ); + if ( isPerspective ) scale *= - mvPosition.z; + #endif + vec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale; + vec2 rotatedPosition; + rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y; + rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y; + mvPosition.xy += rotatedPosition; + gl_Position = projectionMatrix * mvPosition; + #include + #include + #include +}`,AD=`uniform vec3 diffuse; +uniform float opacity; +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + vec3 outgoingLight = vec3( 0.0 ); + vec4 diffuseColor = vec4( diffuse, opacity ); + #include + #include + #include + #include + outgoingLight = diffuseColor.rgb; + #include + #include + #include + #include +}`,ht={alphamap_fragment:KL,alphamap_pars_fragment:$L,alphatest_fragment:eR,alphatest_pars_fragment:tR,aomap_fragment:nR,aomap_pars_fragment:iR,begin_vertex:rR,beginnormal_vertex:sR,bsdfs:oR,iridescence_fragment:aR,bumpmap_pars_fragment:lR,clipping_planes_fragment:uR,clipping_planes_pars_fragment:cR,clipping_planes_pars_vertex:fR,clipping_planes_vertex:hR,color_fragment:dR,color_pars_fragment:pR,color_pars_vertex:mR,color_vertex:gR,common:vR,cube_uv_reflection_fragment:yR,defaultnormal_vertex:_R,displacementmap_pars_vertex:xR,displacementmap_vertex:SR,emissivemap_fragment:wR,emissivemap_pars_fragment:MR,encodings_fragment:ER,encodings_pars_fragment:TR,envmap_fragment:AR,envmap_common_pars_fragment:CR,envmap_pars_fragment:bR,envmap_pars_vertex:PR,envmap_physical_pars_fragment:VR,envmap_vertex:LR,fog_vertex:RR,fog_pars_vertex:IR,fog_fragment:DR,fog_pars_fragment:NR,gradientmap_pars_fragment:kR,lightmap_fragment:zR,lightmap_pars_fragment:UR,lights_lambert_fragment:OR,lights_lambert_pars_fragment:FR,lights_pars_begin:BR,lights_toon_fragment:HR,lights_toon_pars_fragment:GR,lights_phong_fragment:WR,lights_phong_pars_fragment:XR,lights_physical_fragment:jR,lights_physical_pars_fragment:YR,lights_fragment_begin:qR,lights_fragment_maps:ZR,lights_fragment_end:QR,logdepthbuf_fragment:JR,logdepthbuf_pars_fragment:KR,logdepthbuf_pars_vertex:$R,logdepthbuf_vertex:eI,map_fragment:tI,map_pars_fragment:nI,map_particle_fragment:iI,map_particle_pars_fragment:rI,metalnessmap_fragment:sI,metalnessmap_pars_fragment:oI,morphcolor_vertex:aI,morphnormal_vertex:lI,morphtarget_pars_vertex:uI,morphtarget_vertex:cI,normal_fragment_begin:fI,normal_fragment_maps:hI,normal_pars_fragment:dI,normal_pars_vertex:pI,normal_vertex:mI,normalmap_pars_fragment:gI,clearcoat_normal_fragment_begin:vI,clearcoat_normal_fragment_maps:yI,clearcoat_pars_fragment:_I,iridescence_pars_fragment:xI,output_fragment:SI,packing:wI,premultiplied_alpha_fragment:MI,project_vertex:EI,dithering_fragment:TI,dithering_pars_fragment:AI,roughnessmap_fragment:CI,roughnessmap_pars_fragment:bI,shadowmap_pars_fragment:PI,shadowmap_pars_vertex:LI,shadowmap_vertex:RI,shadowmask_pars_fragment:II,skinbase_vertex:DI,skinning_pars_vertex:NI,skinning_vertex:kI,skinnormal_vertex:zI,specularmap_fragment:UI,specularmap_pars_fragment:OI,tonemapping_fragment:FI,tonemapping_pars_fragment:BI,transmission_fragment:VI,transmission_pars_fragment:HI,uv_pars_fragment:GI,uv_pars_vertex:WI,uv_vertex:XI,worldpos_vertex:jI,background_vert:YI,background_frag:qI,backgroundCube_vert:ZI,backgroundCube_frag:QI,cube_vert:JI,cube_frag:KI,depth_vert:$I,depth_frag:eD,distanceRGBA_vert:tD,distanceRGBA_frag:nD,equirect_vert:iD,equirect_frag:rD,linedashed_vert:sD,linedashed_frag:oD,meshbasic_vert:aD,meshbasic_frag:lD,meshlambert_vert:uD,meshlambert_frag:cD,meshmatcap_vert:fD,meshmatcap_frag:hD,meshnormal_vert:dD,meshnormal_frag:pD,meshphong_vert:mD,meshphong_frag:gD,meshphysical_vert:vD,meshphysical_frag:yD,meshtoon_vert:_D,meshtoon_frag:xD,points_vert:SD,points_frag:wD,shadow_vert:MD,shadow_frag:ED,sprite_vert:TD,sprite_frag:AD},Ae={common:{diffuse:{value:new Re(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new xt},alphaMap:{value:null},alphaMapTransform:{value:new xt},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new xt}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new xt}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new xt}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new xt},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new xt},normalScale:{value:new ge(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new xt},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new xt}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new xt}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new xt}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new Re(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new Re(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new xt}},sprite:{diffuse:{value:new Re(16777215)},opacity:{value:1},center:{value:new ge(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new xt},alphaMap:{value:null},alphaTest:{value:0}}},Mr={basic:{uniforms:ri([Ae.common,Ae.specularmap,Ae.envmap,Ae.aomap,Ae.lightmap,Ae.fog]),vertexShader:ht.meshbasic_vert,fragmentShader:ht.meshbasic_frag},lambert:{uniforms:ri([Ae.common,Ae.specularmap,Ae.envmap,Ae.aomap,Ae.lightmap,Ae.emissivemap,Ae.bumpmap,Ae.normalmap,Ae.displacementmap,Ae.fog,Ae.lights,{emissive:{value:new Re(0)}}]),vertexShader:ht.meshlambert_vert,fragmentShader:ht.meshlambert_frag},phong:{uniforms:ri([Ae.common,Ae.specularmap,Ae.envmap,Ae.aomap,Ae.lightmap,Ae.emissivemap,Ae.bumpmap,Ae.normalmap,Ae.displacementmap,Ae.fog,Ae.lights,{emissive:{value:new Re(0)},specular:{value:new Re(1118481)},shininess:{value:30}}]),vertexShader:ht.meshphong_vert,fragmentShader:ht.meshphong_frag},standard:{uniforms:ri([Ae.common,Ae.envmap,Ae.aomap,Ae.lightmap,Ae.emissivemap,Ae.bumpmap,Ae.normalmap,Ae.displacementmap,Ae.roughnessmap,Ae.metalnessmap,Ae.fog,Ae.lights,{emissive:{value:new Re(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:ht.meshphysical_vert,fragmentShader:ht.meshphysical_frag},toon:{uniforms:ri([Ae.common,Ae.aomap,Ae.lightmap,Ae.emissivemap,Ae.bumpmap,Ae.normalmap,Ae.displacementmap,Ae.gradientmap,Ae.fog,Ae.lights,{emissive:{value:new Re(0)}}]),vertexShader:ht.meshtoon_vert,fragmentShader:ht.meshtoon_frag},matcap:{uniforms:ri([Ae.common,Ae.bumpmap,Ae.normalmap,Ae.displacementmap,Ae.fog,{matcap:{value:null}}]),vertexShader:ht.meshmatcap_vert,fragmentShader:ht.meshmatcap_frag},points:{uniforms:ri([Ae.points,Ae.fog]),vertexShader:ht.points_vert,fragmentShader:ht.points_frag},dashed:{uniforms:ri([Ae.common,Ae.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:ht.linedashed_vert,fragmentShader:ht.linedashed_frag},depth:{uniforms:ri([Ae.common,Ae.displacementmap]),vertexShader:ht.depth_vert,fragmentShader:ht.depth_frag},normal:{uniforms:ri([Ae.common,Ae.bumpmap,Ae.normalmap,Ae.displacementmap,{opacity:{value:1}}]),vertexShader:ht.meshnormal_vert,fragmentShader:ht.meshnormal_frag},sprite:{uniforms:ri([Ae.sprite,Ae.fog]),vertexShader:ht.sprite_vert,fragmentShader:ht.sprite_frag},background:{uniforms:{uvTransform:{value:new xt},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:ht.background_vert,fragmentShader:ht.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:ht.backgroundCube_vert,fragmentShader:ht.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:ht.cube_vert,fragmentShader:ht.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:ht.equirect_vert,fragmentShader:ht.equirect_frag},distanceRGBA:{uniforms:ri([Ae.common,Ae.displacementmap,{referencePosition:{value:new N},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:ht.distanceRGBA_vert,fragmentShader:ht.distanceRGBA_frag},shadow:{uniforms:ri([Ae.lights,Ae.fog,{color:{value:new Re(0)},opacity:{value:1}}]),vertexShader:ht.shadow_vert,fragmentShader:ht.shadow_frag}};Mr.physical={uniforms:ri([Mr.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new xt},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new xt},clearcoatNormalScale:{value:new ge(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new xt},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new xt},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new xt},sheen:{value:0},sheenColor:{value:new Re(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new xt},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new xt},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new xt},transmissionSamplerSize:{value:new ge},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new xt},attenuationDistance:{value:0},attenuationColor:{value:new Re(0)},specularColor:{value:new Re(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new xt},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new xt}}]),vertexShader:ht.meshphysical_vert,fragmentShader:ht.meshphysical_frag};const Xh={r:0,b:0,g:0};function CD(n,e,t,i,r,s,o){const a=new Re(0);let c=s===!0?0:1,f,h,d=null,m=0,v=null;function _(S,g){let x=!1,w=g.isScene===!0?g.background:null;w&&w.isTexture&&(w=(g.backgroundBlurriness>0?t:e).get(w));const T=n.xr,C=T.getSession&&T.getSession();C&&C.environmentBlendMode==="additive"&&(w=null),w===null?E(a,c):w&&w.isColor&&(E(w,1),x=!0),(n.autoClear||x)&&n.clear(n.autoClearColor,n.autoClearDepth,n.autoClearStencil),w&&(w.isCubeTexture||w.mapping===jl)?(h===void 0&&(h=new Ne(new oi(1,1,1),new jr({name:"BackgroundCubeMaterial",uniforms:Bl(Mr.backgroundCube.uniforms),vertexShader:Mr.backgroundCube.vertexShader,fragmentShader:Mr.backgroundCube.fragmentShader,side:li,depthTest:!1,depthWrite:!1,fog:!1})),h.geometry.deleteAttribute("normal"),h.geometry.deleteAttribute("uv"),h.onBeforeRender=function(P,R,I){this.matrixWorld.copyPosition(I.matrixWorld)},Object.defineProperty(h.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),r.update(h)),h.material.uniforms.envMap.value=w,h.material.uniforms.flipEnvMap.value=w.isCubeTexture&&w.isRenderTargetTexture===!1?-1:1,h.material.uniforms.backgroundBlurriness.value=g.backgroundBlurriness,h.material.uniforms.backgroundIntensity.value=g.backgroundIntensity,h.material.toneMapped=w.encoding!==Ot,(d!==w||m!==w.version||v!==n.toneMapping)&&(h.material.needsUpdate=!0,d=w,m=w.version,v=n.toneMapping),h.layers.enableAll(),S.unshift(h,h.geometry,h.material,0,0,null)):w&&w.isTexture&&(f===void 0&&(f=new Ne(new Di(2,2),new jr({name:"BackgroundMaterial",uniforms:Bl(Mr.background.uniforms),vertexShader:Mr.background.vertexShader,fragmentShader:Mr.background.fragmentShader,side:Ms,depthTest:!1,depthWrite:!1,fog:!1})),f.geometry.deleteAttribute("normal"),Object.defineProperty(f.material,"map",{get:function(){return this.uniforms.t2D.value}}),r.update(f)),f.material.uniforms.t2D.value=w,f.material.uniforms.backgroundIntensity.value=g.backgroundIntensity,f.material.toneMapped=w.encoding!==Ot,w.matrixAutoUpdate===!0&&w.updateMatrix(),f.material.uniforms.uvTransform.value.copy(w.matrix),(d!==w||m!==w.version||v!==n.toneMapping)&&(f.material.needsUpdate=!0,d=w,m=w.version,v=n.toneMapping),f.layers.enableAll(),S.unshift(f,f.geometry,f.material,0,0,null))}function E(S,g){S.getRGB(Xh,I2(n)),i.buffers.color.setClear(Xh.r,Xh.g,Xh.b,g,o)}return{getClearColor:function(){return a},setClearColor:function(S,g=1){a.set(S),c=g,E(a,c)},getClearAlpha:function(){return c},setClearAlpha:function(S){c=S,E(a,c)},render:_}}function bD(n,e,t,i){const r=n.getParameter(34921),s=i.isWebGL2?null:e.get("OES_vertex_array_object"),o=i.isWebGL2||s!==null,a={},c=S(null);let f=c,h=!1;function d(W,ee,oe,ue,D){let V=!1;if(o){const B=E(ue,oe,ee);f!==B&&(f=B,v(f.object)),V=g(W,ue,oe,D),V&&x(W,ue,oe,D)}else{const B=ee.wireframe===!0;(f.geometry!==ue.id||f.program!==oe.id||f.wireframe!==B)&&(f.geometry=ue.id,f.program=oe.id,f.wireframe=B,V=!0)}D!==null&&t.update(D,34963),(V||h)&&(h=!1,I(W,ee,oe,ue),D!==null&&n.bindBuffer(34963,t.get(D).buffer))}function m(){return i.isWebGL2?n.createVertexArray():s.createVertexArrayOES()}function v(W){return i.isWebGL2?n.bindVertexArray(W):s.bindVertexArrayOES(W)}function _(W){return i.isWebGL2?n.deleteVertexArray(W):s.deleteVertexArrayOES(W)}function E(W,ee,oe){const ue=oe.wireframe===!0;let D=a[W.id];D===void 0&&(D={},a[W.id]=D);let V=D[ee.id];V===void 0&&(V={},D[ee.id]=V);let B=V[ue];return B===void 0&&(B=S(m()),V[ue]=B),B}function S(W){const ee=[],oe=[],ue=[];for(let D=0;D=0){const z=D[Y];let ye=V[Y];if(ye===void 0&&(Y==="instanceMatrix"&&W.instanceMatrix&&(ye=W.instanceMatrix),Y==="instanceColor"&&W.instanceColor&&(ye=W.instanceColor)),z===void 0||z.attribute!==ye||ye&&z.data!==ye.data)return!0;B++}return f.attributesNum!==B||f.index!==ue}function x(W,ee,oe,ue){const D={},V=ee.attributes;let B=0;const J=oe.getAttributes();for(const Y in J)if(J[Y].location>=0){let z=V[Y];z===void 0&&(Y==="instanceMatrix"&&W.instanceMatrix&&(z=W.instanceMatrix),Y==="instanceColor"&&W.instanceColor&&(z=W.instanceColor));const ye={};ye.attribute=z,z&&z.data&&(ye.data=z.data),D[Y]=ye,B++}f.attributes=D,f.attributesNum=B,f.index=ue}function w(){const W=f.newAttributes;for(let ee=0,oe=W.length;ee=0){let K=D[J];if(K===void 0&&(J==="instanceMatrix"&&W.instanceMatrix&&(K=W.instanceMatrix),J==="instanceColor"&&W.instanceColor&&(K=W.instanceColor)),K!==void 0){const z=K.normalized,ye=K.itemSize,pe=t.get(K);if(pe===void 0)continue;const Q=pe.buffer,Qe=pe.type,je=pe.bytesPerElement;if(K.isInterleavedBufferAttribute){const Me=K.data,De=Me.stride,me=K.offset;if(Me.isInstancedInterleavedBuffer){for(let se=0;se0&&n.getShaderPrecisionFormat(35632,36338).precision>0)return"highp";R="mediump"}return R==="mediump"&&n.getShaderPrecisionFormat(35633,36337).precision>0&&n.getShaderPrecisionFormat(35632,36337).precision>0?"mediump":"lowp"}const o=typeof WebGL2RenderingContext<"u"&&n.constructor.name==="WebGL2RenderingContext";let a=t.precision!==void 0?t.precision:"highp";const c=s(a);c!==a&&(console.warn("THREE.WebGLRenderer:",a,"not supported, using",c,"instead."),a=c);const f=o||e.has("WEBGL_draw_buffers"),h=t.logarithmicDepthBuffer===!0,d=n.getParameter(34930),m=n.getParameter(35660),v=n.getParameter(3379),_=n.getParameter(34076),E=n.getParameter(34921),S=n.getParameter(36347),g=n.getParameter(36348),x=n.getParameter(36349),w=m>0,T=o||e.has("OES_texture_float"),C=w&&T,P=o?n.getParameter(36183):0;return{isWebGL2:o,drawBuffers:f,getMaxAnisotropy:r,getMaxPrecision:s,precision:a,logarithmicDepthBuffer:h,maxTextures:d,maxVertexTextures:m,maxTextureSize:v,maxCubemapSize:_,maxAttributes:E,maxVertexUniforms:S,maxVaryings:g,maxFragmentUniforms:x,vertexTextures:w,floatFragmentTextures:T,floatVertexTextures:C,maxSamples:P}}function RD(n){const e=this;let t=null,i=0,r=!1,s=!1;const o=new Ys,a=new xt,c={value:null,needsUpdate:!1};this.uniform=c,this.numPlanes=0,this.numIntersection=0,this.init=function(d,m){const v=d.length!==0||m||i!==0||r;return r=m,i=d.length,v},this.beginShadows=function(){s=!0,h(null)},this.endShadows=function(){s=!1},this.setGlobalState=function(d,m){t=h(d,m,0)},this.setState=function(d,m,v){const _=d.clippingPlanes,E=d.clipIntersection,S=d.clipShadows,g=n.get(d);if(!r||_===null||_.length===0||s&&!S)s?h(null):f();else{const x=s?0:i,w=x*4;let T=g.clippingState||null;c.value=T,T=h(_,m,w,v);for(let C=0;C!==w;++C)T[C]=t[C];g.clippingState=T,this.numIntersection=E?this.numPlanes:0,this.numPlanes+=x}};function f(){c.value!==t&&(c.value=t,c.needsUpdate=i>0),e.numPlanes=i,e.numIntersection=0}function h(d,m,v,_){const E=d!==null?d.length:0;let S=null;if(E!==0){if(S=c.value,_!==!0||S===null){const g=v+E*4,x=m.matrixWorldInverse;a.getNormalMatrix(x),(S===null||S.length0){const f=new k2(c.height/2);return f.fromEquirectangularTexture(n,o),e.set(o,f),o.addEventListener("dispose",r),t(f.texture,o.mapping)}else return null}}return o}function r(o){const a=o.target;a.removeEventListener("dispose",r);const c=e.get(a);c!==void 0&&(e.delete(a),c.dispose())}function s(){e=new WeakMap}return{get:i,dispose:s}}class $c extends Jc{constructor(e=-1,t=1,i=1,r=-1,s=.1,o=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=e,this.right=t,this.top=i,this.bottom=r,this.near=s,this.far=o,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=e.view===null?null:Object.assign({},e.view),this}setViewOffset(e,t,i,r,s,o){this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=i,this.view.offsetY=r,this.view.width=s,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=(this.right-this.left)/(2*this.zoom),t=(this.top-this.bottom)/(2*this.zoom),i=(this.right+this.left)/2,r=(this.top+this.bottom)/2;let s=i-e,o=i+e,a=r+t,c=r-t;if(this.view!==null&&this.view.enabled){const f=(this.right-this.left)/this.view.fullWidth/this.zoom,h=(this.top-this.bottom)/this.view.fullHeight/this.zoom;s+=f*this.view.offsetX,o=s+f*this.view.width,a-=h*this.view.offsetY,c=a-h*this.view.height}this.projectionMatrix.makeOrthographic(s,o,a,c,this.near,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,this.view!==null&&(t.object.view=Object.assign({},this.view)),t}}const xl=4,XS=[.125,.215,.35,.446,.526,.582],Ho=20,Gg=new $c,jS=new Re;let Wg=null;const Bo=(1+Math.sqrt(5))/2,Ja=1/Bo,YS=[new N(1,1,1),new N(-1,1,1),new N(1,1,-1),new N(-1,1,-1),new N(0,Bo,Ja),new N(0,Bo,-Ja),new N(Ja,0,Bo),new N(-Ja,0,Bo),new N(Bo,Ja,0),new N(-Bo,Ja,0)];class Uv{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(e,t=0,i=.1,r=100){Wg=this._renderer.getRenderTarget(),this._setSize(256);const s=this._allocateTargets();return s.depthBuffer=!0,this._sceneToCubeUV(e,i,r,s),t>0&&this._blur(s,0,0,t),this._applyPMREM(s),this._cleanup(s),s}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=QS(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=ZS(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose()}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let e=0;e2?w:0,w,w),h.setRenderTarget(r),E&&h.render(_,a),h.render(e,a)}_.geometry.dispose(),_.material.dispose(),h.toneMapping=m,h.autoClear=d,e.background=S}_textureToCubeUV(e,t){const i=this._renderer,r=e.mapping===fo||e.mapping===ho;r?(this._cubemapMaterial===null&&(this._cubemapMaterial=QS()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=ZS());const s=r?this._cubemapMaterial:this._equirectMaterial,o=new Ne(this._lodPlanes[0],s),a=s.uniforms;a.envMap.value=e;const c=this._cubeSize;jh(t,0,0,3*c,2*c),i.setRenderTarget(t),i.render(o,Gg)}_applyPMREM(e){const t=this._renderer,i=t.autoClear;t.autoClear=!1;for(let r=1;rHo&&console.warn(`sigmaRadians, ${s}, is too large and will clip, as it requested ${S} samples when the maximum is set to ${Ho}`);const g=[];let x=0;for(let R=0;Rw-xl?r-w+xl:0),P=4*(this._cubeSize-T);jh(t,C,P,3*T,2*T),c.setRenderTarget(t),c.render(d,Gg)}}function DD(n){const e=[],t=[],i=[];let r=n;const s=n-xl+1+XS.length;for(let o=0;on-xl?c=XS[o-n+xl-1]:o===0&&(c=0),i.push(c);const f=1/(a-2),h=-f,d=1+f,m=[h,h,d,h,d,d,h,h,d,d,h,d],v=6,_=6,E=3,S=2,g=1,x=new Float32Array(E*_*v),w=new Float32Array(S*_*v),T=new Float32Array(g*_*v);for(let P=0;P2?0:-1,b=[R,I,0,R+2/3,I,0,R+2/3,I+1,0,R,I,0,R+2/3,I+1,0,R,I+1,0];x.set(b,E*_*P),w.set(m,S*_*P);const L=[P,P,P,P,P,P];T.set(L,g*_*P)}const C=new lt;C.setAttribute("position",new Bt(x,E)),C.setAttribute("uv",new Bt(w,S)),C.setAttribute("faceIndex",new Bt(T,g)),e.push(C),r>xl&&r--}return{lodPlanes:e,sizeLods:t,sigmas:i}}function qS(n,e,t){const i=new ar(n,e,t);return i.texture.mapping=jl,i.texture.name="PMREM.cubeUv",i.scissorTest=!0,i}function jh(n,e,t,i,r){n.viewport.set(e,t,i,r),n.scissor.set(e,t,i,r)}function ND(n,e,t){const i=new Float32Array(Ho),r=new N(0,1,0);return new jr({name:"SphericalGaussianBlur",defines:{n:Ho,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/t,CUBEUV_MAX_MIP:`${n}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:i},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:r}},vertexShader:n_(),fragmentShader:` + + precision mediump float; + precision mediump int; + + varying vec3 vOutputDirection; + + uniform sampler2D envMap; + uniform int samples; + uniform float weights[ n ]; + uniform bool latitudinal; + uniform float dTheta; + uniform float mipInt; + uniform vec3 poleAxis; + + #define ENVMAP_TYPE_CUBE_UV + #include + + vec3 getSample( float theta, vec3 axis ) { + + float cosTheta = cos( theta ); + // Rodrigues' axis-angle rotation + vec3 sampleDirection = vOutputDirection * cosTheta + + cross( axis, vOutputDirection ) * sin( theta ) + + axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta ); + + return bilinearCubeUV( envMap, sampleDirection, mipInt ); + + } + + void main() { + + vec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection ); + + if ( all( equal( axis, vec3( 0.0 ) ) ) ) { + + axis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x ); + + } + + axis = normalize( axis ); + + gl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 ); + gl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis ); + + for ( int i = 1; i < n; i++ ) { + + if ( i >= samples ) { + + break; + + } + + float theta = dTheta * float( i ); + gl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis ); + gl_FragColor.rgb += weights[ i ] * getSample( theta, axis ); + + } + + } + `,blending:ys,depthTest:!1,depthWrite:!1})}function ZS(){return new jr({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:n_(),fragmentShader:` + + precision mediump float; + precision mediump int; + + varying vec3 vOutputDirection; + + uniform sampler2D envMap; + + #include + + void main() { + + vec3 outputDirection = normalize( vOutputDirection ); + vec2 uv = equirectUv( outputDirection ); + + gl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 ); + + } + `,blending:ys,depthTest:!1,depthWrite:!1})}function QS(){return new jr({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:n_(),fragmentShader:` + + precision mediump float; + precision mediump int; + + uniform float flipEnvMap; + + varying vec3 vOutputDirection; + + uniform samplerCube envMap; + + void main() { + + gl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) ); + + } + `,blending:ys,depthTest:!1,depthWrite:!1})}function n_(){return` + + precision mediump float; + precision mediump int; + + attribute float faceIndex; + + varying vec3 vOutputDirection; + + // RH coordinate system; PMREM face-indexing convention + vec3 getDirection( vec2 uv, float face ) { + + uv = 2.0 * uv - 1.0; + + vec3 direction = vec3( uv, 1.0 ); + + if ( face == 0.0 ) { + + direction = direction.zyx; // ( 1, v, u ) pos x + + } else if ( face == 1.0 ) { + + direction = direction.xzy; + direction.xz *= -1.0; // ( -u, 1, -v ) pos y + + } else if ( face == 2.0 ) { + + direction.x *= -1.0; // ( -u, v, 1 ) pos z + + } else if ( face == 3.0 ) { + + direction = direction.zyx; + direction.xz *= -1.0; // ( -1, v, -u ) neg x + + } else if ( face == 4.0 ) { + + direction = direction.xzy; + direction.xy *= -1.0; // ( -u, -1, v ) neg y + + } else if ( face == 5.0 ) { + + direction.z *= -1.0; // ( u, v, -1 ) neg z + + } + + return direction; + + } + + void main() { + + vOutputDirection = getDirection( uv, faceIndex ); + gl_Position = vec4( position, 1.0 ); + + } + `}function kD(n){let e=new WeakMap,t=null;function i(a){if(a&&a.isTexture){const c=a.mapping,f=c===Tc||c===Ac,h=c===fo||c===ho;if(f||h)if(a.isRenderTargetTexture&&a.needsPMREMUpdate===!0){a.needsPMREMUpdate=!1;let d=e.get(a);return t===null&&(t=new Uv(n)),d=f?t.fromEquirectangular(a,d):t.fromCubemap(a,d),e.set(a,d),d.texture}else{if(e.has(a))return e.get(a).texture;{const d=a.image;if(f&&d&&d.height>0||h&&d&&r(d)){t===null&&(t=new Uv(n));const m=f?t.fromEquirectangular(a):t.fromCubemap(a);return e.set(a,m),a.addEventListener("dispose",s),m.texture}else return null}}}return a}function r(a){let c=0;const f=6;for(let h=0;he.maxTextureSize&&(H=Math.ceil(L/e.maxTextureSize),L=e.maxTextureSize);const q=new Float32Array(L*H*4*E),G=new Rp(q,L,H,E);G.type=Hr,G.needsUpdate=!0;const W=b*4;for(let oe=0;oe0)return n;const r=e*t;let s=JS[r];if(s===void 0&&(s=new Float32Array(r),JS[r]=s),e!==0){i.toArray(s,0);for(let o=1,a=0;o!==e;++o)a+=t,n[o].toArray(s,a)}return s}function Mn(n,e){if(n.length!==e.length)return!1;for(let t=0,i=n.length;t":" "} ${a}: ${t[o]}`)}return i.join(` +`)}function zN(n){switch(n){case Ts:return["Linear","( value )"];case Ot:return["sRGB","( value )"];default:return console.warn("THREE.WebGLProgram: Unsupported encoding:",n),["Linear","( value )"]}}function rw(n,e,t){const i=n.getShaderParameter(e,35713),r=n.getShaderInfoLog(e).trim();if(i&&r==="")return"";const s=/ERROR: 0:(\d+)/.exec(r);if(s){const o=parseInt(s[1]);return t.toUpperCase()+` + +`+r+` + +`+kN(n.getShaderSource(e),o)}else return r}function UN(n,e){const t=zN(e);return"vec4 "+n+"( vec4 value ) { return LinearTo"+t[0]+t[1]+"; }"}function ON(n,e){let t;switch(e){case n2:t="Linear";break;case i2:t="Reinhard";break;case r2:t="OptimizedCineon";break;case jy:t="ACESFilmic";break;case s2:t="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",e),t="Linear"}return"vec3 "+n+"( vec3 color ) { return "+t+"ToneMapping( color ); }"}function FN(n){return[n.extensionDerivatives||!!n.envMapCubeUVHeight||n.bumpMap||n.normalMapTangentSpace||n.clearcoatNormalMap||n.flatShading||n.shaderID==="physical"?"#extension GL_OES_standard_derivatives : enable":"",(n.extensionFragDepth||n.logarithmicDepthBuffer)&&n.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",n.extensionDrawBuffers&&n.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(n.extensionShaderTextureLOD||n.envMap||n.transmission)&&n.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(Yu).join(` +`)}function BN(n){const e=[];for(const t in n){const i=n[t];i!==!1&&e.push("#define "+t+" "+i)}return e.join(` +`)}function VN(n,e){const t={},i=n.getProgramParameter(e,35721);for(let r=0;r/gm;function Ov(n){return n.replace(HN,GN)}function GN(n,e){const t=ht[e];if(t===void 0)throw new Error("Can not resolve #include <"+e+">");return Ov(t)}const WN=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function aw(n){return n.replace(WN,XN)}function XN(n,e,t,i){let r="";for(let s=parseInt(e);s0&&(S+=` +`),g=[v,_].filter(Yu).join(` +`),g.length>0&&(g+=` +`)):(S=[lw(t),"#define SHADER_NAME "+t.shaderName,_,t.instancing?"#define USE_INSTANCING":"",t.instancingColor?"#define USE_INSTANCING_COLOR":"",t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+h:"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.displacementMap?"#define USE_DISPLACEMENTMAP":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.mapUv?"#define MAP_UV "+t.mapUv:"",t.alphaMapUv?"#define ALPHAMAP_UV "+t.alphaMapUv:"",t.lightMapUv?"#define LIGHTMAP_UV "+t.lightMapUv:"",t.aoMapUv?"#define AOMAP_UV "+t.aoMapUv:"",t.emissiveMapUv?"#define EMISSIVEMAP_UV "+t.emissiveMapUv:"",t.bumpMapUv?"#define BUMPMAP_UV "+t.bumpMapUv:"",t.normalMapUv?"#define NORMALMAP_UV "+t.normalMapUv:"",t.displacementMapUv?"#define DISPLACEMENTMAP_UV "+t.displacementMapUv:"",t.metalnessMapUv?"#define METALNESSMAP_UV "+t.metalnessMapUv:"",t.roughnessMapUv?"#define ROUGHNESSMAP_UV "+t.roughnessMapUv:"",t.clearcoatMapUv?"#define CLEARCOATMAP_UV "+t.clearcoatMapUv:"",t.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+t.clearcoatNormalMapUv:"",t.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+t.clearcoatRoughnessMapUv:"",t.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+t.iridescenceMapUv:"",t.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+t.iridescenceThicknessMapUv:"",t.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+t.sheenColorMapUv:"",t.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+t.sheenRoughnessMapUv:"",t.specularMapUv?"#define SPECULARMAP_UV "+t.specularMapUv:"",t.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+t.specularColorMapUv:"",t.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+t.specularIntensityMapUv:"",t.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+t.transmissionMapUv:"",t.thicknessMapUv?"#define THICKNESSMAP_UV "+t.thicknessMapUv:"",t.vertexTangents?"#define USE_TANGENT":"",t.vertexColors?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUvs2?"#define USE_UV2":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.flatShading?"#define FLAT_SHADED":"",t.skinning?"#define USE_SKINNING":"",t.morphTargets?"#define USE_MORPHTARGETS":"",t.morphNormals&&t.flatShading===!1?"#define USE_MORPHNORMALS":"",t.morphColors&&t.isWebGL2?"#define USE_MORPHCOLORS":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+t.morphTextureStride:"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_COUNT "+t.morphTargetsCount:"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+c:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_TANGENT"," attribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )"," attribute vec4 color;","#elif defined( USE_COLOR )"," attribute vec3 color;","#endif","#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )"," attribute vec3 morphTarget0;"," attribute vec3 morphTarget1;"," attribute vec3 morphTarget2;"," attribute vec3 morphTarget3;"," #ifdef USE_MORPHNORMALS"," attribute vec3 morphNormal0;"," attribute vec3 morphNormal1;"," attribute vec3 morphNormal2;"," attribute vec3 morphNormal3;"," #else"," attribute vec3 morphTarget4;"," attribute vec3 morphTarget5;"," attribute vec3 morphTarget6;"," attribute vec3 morphTarget7;"," #endif","#endif","#ifdef USE_SKINNING"," attribute vec4 skinIndex;"," attribute vec4 skinWeight;","#endif",` +`].filter(Yu).join(` +`),g=[v,lw(t),"#define SHADER_NAME "+t.shaderName,_,t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.matcap?"#define USE_MATCAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+f:"",t.envMap?"#define "+h:"",t.envMap?"#define "+d:"",m?"#define CUBEUV_TEXEL_WIDTH "+m.texelWidth:"",m?"#define CUBEUV_TEXEL_HEIGHT "+m.texelHeight:"",m?"#define CUBEUV_MAX_MIP "+m.maxMip+".0":"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.clearcoat?"#define USE_CLEARCOAT":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.iridescence?"#define USE_IRIDESCENCE":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaTest?"#define USE_ALPHATEST":"",t.sheen?"#define USE_SHEEN":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",t.vertexTangents?"#define USE_TANGENT":"",t.vertexColors||t.instancingColor?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUvs2?"#define USE_UV2":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.gradientMap?"#define USE_GRADIENTMAP":"",t.flatShading?"#define FLAT_SHADED":"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+c:"",t.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==Ar?"#define TONE_MAPPING":"",t.toneMapping!==Ar?ht.tonemapping_pars_fragment:"",t.toneMapping!==Ar?ON("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.opaque?"#define OPAQUE":"",ht.encodings_pars_fragment,UN("linearToOutputTexel",t.outputEncoding),t.useDepthPacking?"#define DEPTH_PACKING "+t.depthPacking:"",` +`].filter(Yu).join(` +`)),o=Ov(o),o=sw(o,t),o=ow(o,t),a=Ov(a),a=sw(a,t),a=ow(a,t),o=aw(o),a=aw(a),t.isWebGL2&&t.isRawShaderMaterial!==!0&&(x=`#version 300 es +`,S=["precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join(` +`)+` +`+S,g=["#define varying in",t.glslVersion===kv?"":"layout(location = 0) out highp vec4 pc_fragColor;",t.glslVersion===kv?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join(` +`)+` +`+g);const w=x+S+o,T=x+g+a,C=iw(r,35633,w),P=iw(r,35632,T);if(r.attachShader(E,C),r.attachShader(E,P),t.index0AttributeName!==void 0?r.bindAttribLocation(E,0,t.index0AttributeName):t.morphTargets===!0&&r.bindAttribLocation(E,0,"position"),r.linkProgram(E),n.debug.checkShaderErrors){const b=r.getProgramInfoLog(E).trim(),L=r.getShaderInfoLog(C).trim(),H=r.getShaderInfoLog(P).trim();let q=!0,G=!0;if(r.getProgramParameter(E,35714)===!1)if(q=!1,typeof n.debug.onShaderError=="function")n.debug.onShaderError(r,E,C,P);else{const W=rw(r,C,"vertex"),ee=rw(r,P,"fragment");console.error("THREE.WebGLProgram: Shader Error "+r.getError()+" - VALIDATE_STATUS "+r.getProgramParameter(E,35715)+` + +Program Info Log: `+b+` +`+W+` +`+ee)}else b!==""?console.warn("THREE.WebGLProgram: Program Info Log:",b):(L===""||H==="")&&(G=!1);G&&(this.diagnostics={runnable:q,programLog:b,vertexShader:{log:L,prefix:S},fragmentShader:{log:H,prefix:g}})}r.deleteShader(C),r.deleteShader(P);let R;this.getUniforms=function(){return R===void 0&&(R=new kd(r,E)),R};let I;return this.getAttributes=function(){return I===void 0&&(I=VN(r,E)),I},this.destroy=function(){i.releaseStatesOfProgram(this),r.deleteProgram(E),this.program=void 0},this.name=t.shaderName,this.id=NN++,this.cacheKey=e,this.usedTimes=1,this.program=E,this.vertexShader=C,this.fragmentShader=P,this}let KN=0;class $N{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e){const t=e.vertexShader,i=e.fragmentShader,r=this._getShaderStage(t),s=this._getShaderStage(i),o=this._getShaderCacheForMaterial(e);return o.has(r)===!1&&(o.add(r),r.usedTimes++),o.has(s)===!1&&(o.add(s),s.usedTimes++),this}remove(e){const t=this.materialCache.get(e);for(const i of t)i.usedTimes--,i.usedTimes===0&&this.shaderCache.delete(i.code);return this.materialCache.delete(e),this}getVertexShaderID(e){return this._getShaderStage(e.vertexShader).id}getFragmentShaderID(e){return this._getShaderStage(e.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(e){const t=this.materialCache;let i=t.get(e);return i===void 0&&(i=new Set,t.set(e,i)),i}_getShaderStage(e){const t=this.shaderCache;let i=t.get(e);return i===void 0&&(i=new ek(e),t.set(e,i)),i}}class ek{constructor(e){this.id=KN++,this.code=e,this.usedTimes=0}}function tk(n,e,t,i,r,s,o){const a=new ia,c=new $N,f=[],h=r.isWebGL2,d=r.logarithmicDepthBuffer,m=r.vertexTextures;let v=r.precision;const _={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function E(b){return b===1?"uv2":"uv"}function S(b,L,H,q,G){const W=q.fog,ee=G.geometry,oe=b.isMeshStandardMaterial?q.environment:null,ue=(b.isMeshStandardMaterial?t:e).get(b.envMap||oe),D=!!ue&&ue.mapping===jl?ue.image.height:null,V=_[b.type];b.precision!==null&&(v=r.getMaxPrecision(b.precision),v!==b.precision&&console.warn("THREE.WebGLProgram.getParameters:",b.precision,"not supported, using",v,"instead."));const B=ee.morphAttributes.position||ee.morphAttributes.normal||ee.morphAttributes.color,J=B!==void 0?B.length:0;let Y=0;ee.morphAttributes.position!==void 0&&(Y=1),ee.morphAttributes.normal!==void 0&&(Y=2),ee.morphAttributes.color!==void 0&&(Y=3);let K,z,ye,pe;if(V){const Ie=Mr[V];K=Ie.vertexShader,z=Ie.fragmentShader}else K=b.vertexShader,z=b.fragmentShader,c.update(b),ye=c.getVertexShaderID(b),pe=c.getFragmentShaderID(b);const Q=n.getRenderTarget(),Qe=G.isInstancedMesh===!0,je=!!b.map,Me=!!b.matcap,De=!!ue,me=!!b.aoMap,se=!!b.lightMap,ve=!!b.bumpMap,Ue=!!b.normalMap,Ce=!!b.displacementMap,Ke=!!b.emissiveMap,$e=!!b.metalnessMap,Ye=!!b.roughnessMap,rt=b.clearcoat>0,Et=b.iridescence>0,F=b.sheen>0,k=b.transmission>0,ie=rt&&!!b.clearcoatMap,_e=rt&&!!b.clearcoatNormalMap,Se=rt&&!!b.clearcoatRoughnessMap,be=Et&&!!b.iridescenceMap,tt=Et&&!!b.iridescenceThicknessMap,ke=F&&!!b.sheenColorMap,he=F&&!!b.sheenRoughnessMap,Ve=!!b.specularMap,qe=!!b.specularColorMap,et=!!b.specularIntensityMap,Oe=k&&!!b.transmissionMap,Ge=k&&!!b.thicknessMap,wt=!!b.gradientMap,Lt=!!b.alphaMap,Jt=b.alphaTest>0,X=!!b.extensions,fe=!!ee.attributes.uv2;return{isWebGL2:h,shaderID:V,shaderName:b.type,vertexShader:K,fragmentShader:z,defines:b.defines,customVertexShaderID:ye,customFragmentShaderID:pe,isRawShaderMaterial:b.isRawShaderMaterial===!0,glslVersion:b.glslVersion,precision:v,instancing:Qe,instancingColor:Qe&&G.instanceColor!==null,supportsVertexTextures:m,outputEncoding:Q===null?n.outputEncoding:Q.isXRRenderTarget===!0?Q.texture.encoding:Ts,map:je,matcap:Me,envMap:De,envMapMode:De&&ue.mapping,envMapCubeUVHeight:D,aoMap:me,lightMap:se,bumpMap:ve,normalMap:Ue,displacementMap:m&&Ce,emissiveMap:Ke,normalMapObjectSpace:Ue&&b.normalMapType===A2,normalMapTangentSpace:Ue&&b.normalMapType===yo,decodeVideoTexture:je&&b.map.isVideoTexture===!0&&b.map.encoding===Ot,metalnessMap:$e,roughnessMap:Ye,clearcoat:rt,clearcoatMap:ie,clearcoatNormalMap:_e,clearcoatRoughnessMap:Se,iridescence:Et,iridescenceMap:be,iridescenceThicknessMap:tt,sheen:F,sheenColorMap:ke,sheenRoughnessMap:he,specularMap:Ve,specularColorMap:qe,specularIntensityMap:et,transmission:k,transmissionMap:Oe,thicknessMap:Ge,gradientMap:wt,opaque:b.transparent===!1&&b.blending===ea,alphaMap:Lt,alphaTest:Jt,combine:b.combine,mapUv:je&&E(b.map.channel),aoMapUv:me&&E(b.aoMap.channel),lightMapUv:se&&E(b.lightMap.channel),bumpMapUv:ve&&E(b.bumpMap.channel),normalMapUv:Ue&&E(b.normalMap.channel),displacementMapUv:Ce&&E(b.displacementMap.channel),emissiveMapUv:Ke&&E(b.emissiveMap.channel),metalnessMapUv:$e&&E(b.metalnessMap.channel),roughnessMapUv:Ye&&E(b.roughnessMap.channel),clearcoatMapUv:ie&&E(b.clearcoatMap.channel),clearcoatNormalMapUv:_e&&E(b.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:Se&&E(b.clearcoatRoughnessMap.channel),iridescenceMapUv:be&&E(b.iridescenceMap.channel),iridescenceThicknessMapUv:tt&&E(b.iridescenceThicknessMap.channel),sheenColorMapUv:ke&&E(b.sheenColorMap.channel),sheenRoughnessMapUv:he&&E(b.sheenRoughnessMap.channel),specularMapUv:Ve&&E(b.specularMap.channel),specularColorMapUv:qe&&E(b.specularColorMap.channel),specularIntensityMapUv:et&&E(b.specularIntensityMap.channel),transmissionMapUv:Oe&&E(b.transmissionMap.channel),thicknessMapUv:Ge&&E(b.thicknessMap.channel),alphaMapUv:Lt&&E(b.alphaMap.channel),vertexTangents:Ue&&!!ee.attributes.tangent,vertexColors:b.vertexColors,vertexAlphas:b.vertexColors===!0&&!!ee.attributes.color&&ee.attributes.color.itemSize===4,vertexUvs2:fe,pointsUvs:G.isPoints===!0&&!!ee.attributes.uv&&(je||Lt),fog:!!W,useFog:b.fog===!0,fogExp2:W&&W.isFogExp2,flatShading:b.flatShading===!0,sizeAttenuation:b.sizeAttenuation===!0,logarithmicDepthBuffer:d,skinning:G.isSkinnedMesh===!0,morphTargets:ee.morphAttributes.position!==void 0,morphNormals:ee.morphAttributes.normal!==void 0,morphColors:ee.morphAttributes.color!==void 0,morphTargetsCount:J,morphTextureStride:Y,numDirLights:L.directional.length,numPointLights:L.point.length,numSpotLights:L.spot.length,numSpotLightMaps:L.spotLightMap.length,numRectAreaLights:L.rectArea.length,numHemiLights:L.hemi.length,numDirLightShadows:L.directionalShadowMap.length,numPointLightShadows:L.pointShadowMap.length,numSpotLightShadows:L.spotShadowMap.length,numSpotLightShadowsWithMaps:L.numSpotLightShadowsWithMaps,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:b.dithering,shadowMapEnabled:n.shadowMap.enabled&&H.length>0,shadowMapType:n.shadowMap.type,toneMapping:b.toneMapped?n.toneMapping:Ar,useLegacyLights:n.useLegacyLights,premultipliedAlpha:b.premultipliedAlpha,doubleSided:b.side===nr,flipSided:b.side===li,useDepthPacking:b.depthPacking>=0,depthPacking:b.depthPacking||0,index0AttributeName:b.index0AttributeName,extensionDerivatives:X&&b.extensions.derivatives===!0,extensionFragDepth:X&&b.extensions.fragDepth===!0,extensionDrawBuffers:X&&b.extensions.drawBuffers===!0,extensionShaderTextureLOD:X&&b.extensions.shaderTextureLOD===!0,rendererExtensionFragDepth:h||i.has("EXT_frag_depth"),rendererExtensionDrawBuffers:h||i.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:h||i.has("EXT_shader_texture_lod"),customProgramCacheKey:b.customProgramCacheKey()}}function g(b){const L=[];if(b.shaderID?L.push(b.shaderID):(L.push(b.customVertexShaderID),L.push(b.customFragmentShaderID)),b.defines!==void 0)for(const H in b.defines)L.push(H),L.push(b.defines[H]);return b.isRawShaderMaterial===!1&&(x(L,b),w(L,b),L.push(n.outputEncoding)),L.push(b.customProgramCacheKey),L.join()}function x(b,L){b.push(L.precision),b.push(L.outputEncoding),b.push(L.envMapMode),b.push(L.envMapCubeUVHeight),b.push(L.mapUv),b.push(L.alphaMapUv),b.push(L.lightMapUv),b.push(L.aoMapUv),b.push(L.bumpMapUv),b.push(L.normalMapUv),b.push(L.displacementMapUv),b.push(L.emissiveMapUv),b.push(L.metalnessMapUv),b.push(L.roughnessMapUv),b.push(L.clearcoatMapUv),b.push(L.clearcoatNormalMapUv),b.push(L.clearcoatRoughnessMapUv),b.push(L.iridescenceMapUv),b.push(L.iridescenceThicknessMapUv),b.push(L.sheenColorMapUv),b.push(L.sheenRoughnessMapUv),b.push(L.specularMapUv),b.push(L.specularColorMapUv),b.push(L.specularIntensityMapUv),b.push(L.transmissionMapUv),b.push(L.thicknessMapUv),b.push(L.combine),b.push(L.fogExp2),b.push(L.sizeAttenuation),b.push(L.morphTargetsCount),b.push(L.morphAttributeCount),b.push(L.numDirLights),b.push(L.numPointLights),b.push(L.numSpotLights),b.push(L.numSpotLightMaps),b.push(L.numHemiLights),b.push(L.numRectAreaLights),b.push(L.numDirLightShadows),b.push(L.numPointLightShadows),b.push(L.numSpotLightShadows),b.push(L.numSpotLightShadowsWithMaps),b.push(L.shadowMapType),b.push(L.toneMapping),b.push(L.numClippingPlanes),b.push(L.numClipIntersection),b.push(L.depthPacking)}function w(b,L){a.disableAll(),L.isWebGL2&&a.enable(0),L.supportsVertexTextures&&a.enable(1),L.instancing&&a.enable(2),L.instancingColor&&a.enable(3),L.matcap&&a.enable(4),L.envMap&&a.enable(5),L.normalMapObjectSpace&&a.enable(6),L.normalMapTangentSpace&&a.enable(7),L.clearcoat&&a.enable(8),L.iridescence&&a.enable(9),L.alphaTest&&a.enable(10),L.vertexColors&&a.enable(11),L.vertexAlphas&&a.enable(12),L.vertexUvs2&&a.enable(13),L.vertexTangents&&a.enable(14),b.push(a.mask),a.disableAll(),L.fog&&a.enable(0),L.useFog&&a.enable(1),L.flatShading&&a.enable(2),L.logarithmicDepthBuffer&&a.enable(3),L.skinning&&a.enable(4),L.morphTargets&&a.enable(5),L.morphNormals&&a.enable(6),L.morphColors&&a.enable(7),L.premultipliedAlpha&&a.enable(8),L.shadowMapEnabled&&a.enable(9),L.useLegacyLights&&a.enable(10),L.doubleSided&&a.enable(11),L.flipSided&&a.enable(12),L.useDepthPacking&&a.enable(13),L.dithering&&a.enable(14),L.transmission&&a.enable(15),L.sheen&&a.enable(16),L.decodeVideoTexture&&a.enable(17),L.opaque&&a.enable(18),L.pointsUvs&&a.enable(19),b.push(a.mask)}function T(b){const L=_[b.type];let H;if(L){const q=Mr[L];H=D2.clone(q.uniforms)}else H=b.uniforms;return H}function C(b,L){let H;for(let q=0,G=f.length;q0?i.push(g):v.transparent===!0?r.push(g):t.push(g)}function c(d,m,v,_,E,S){const g=o(d,m,v,_,E,S);v.transmission>0?i.unshift(g):v.transparent===!0?r.unshift(g):t.unshift(g)}function f(d,m){t.length>1&&t.sort(d||ik),i.length>1&&i.sort(m||uw),r.length>1&&r.sort(m||uw)}function h(){for(let d=e,m=n.length;d=s.length?(o=new cw,s.push(o)):o=s[r],o}function t(){n=new WeakMap}return{get:e,dispose:t}}function sk(){const n={};return{get:function(e){if(n[e.id]!==void 0)return n[e.id];let t;switch(e.type){case"DirectionalLight":t={direction:new N,color:new Re};break;case"SpotLight":t={position:new N,direction:new N,color:new Re,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new N,color:new Re,distance:0,decay:0};break;case"HemisphereLight":t={direction:new N,skyColor:new Re,groundColor:new Re};break;case"RectAreaLight":t={color:new Re,position:new N,halfWidth:new N,halfHeight:new N};break}return n[e.id]=t,t}}}function ok(){const n={};return{get:function(e){if(n[e.id]!==void 0)return n[e.id];let t;switch(e.type){case"DirectionalLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ge};break;case"SpotLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ge};break;case"PointLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ge,shadowCameraNear:1,shadowCameraFar:1e3};break}return n[e.id]=t,t}}}let ak=0;function lk(n,e){return(e.castShadow?2:0)-(n.castShadow?2:0)+(e.map?1:0)-(n.map?1:0)}function uk(n,e){const t=new sk,i=ok(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0};for(let h=0;h<9;h++)r.probe.push(new N);const s=new N,o=new st,a=new st;function c(h,d){let m=0,v=0,_=0;for(let H=0;H<9;H++)r.probe[H].set(0,0,0);let E=0,S=0,g=0,x=0,w=0,T=0,C=0,P=0,R=0,I=0;h.sort(lk);const b=d===!0?Math.PI:1;for(let H=0,q=h.length;H0&&(e.isWebGL2||n.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=Ae.LTC_FLOAT_1,r.rectAreaLTC2=Ae.LTC_FLOAT_2):n.has("OES_texture_half_float_linear")===!0?(r.rectAreaLTC1=Ae.LTC_HALF_1,r.rectAreaLTC2=Ae.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),r.ambient[0]=m,r.ambient[1]=v,r.ambient[2]=_;const L=r.hash;(L.directionalLength!==E||L.pointLength!==S||L.spotLength!==g||L.rectAreaLength!==x||L.hemiLength!==w||L.numDirectionalShadows!==T||L.numPointShadows!==C||L.numSpotShadows!==P||L.numSpotMaps!==R)&&(r.directional.length=E,r.spot.length=g,r.rectArea.length=x,r.point.length=S,r.hemi.length=w,r.directionalShadow.length=T,r.directionalShadowMap.length=T,r.pointShadow.length=C,r.pointShadowMap.length=C,r.spotShadow.length=P,r.spotShadowMap.length=P,r.directionalShadowMatrix.length=T,r.pointShadowMatrix.length=C,r.spotLightMatrix.length=P+R-I,r.spotLightMap.length=R,r.numSpotLightShadowsWithMaps=I,L.directionalLength=E,L.pointLength=S,L.spotLength=g,L.rectAreaLength=x,L.hemiLength=w,L.numDirectionalShadows=T,L.numPointShadows=C,L.numSpotShadows=P,L.numSpotMaps=R,r.version=ak++)}function f(h,d){let m=0,v=0,_=0,E=0,S=0;const g=d.matrixWorldInverse;for(let x=0,w=h.length;x=a.length?(c=new fw(n,e),a.push(c)):c=a[o],c}function r(){t=new WeakMap}return{get:i,dispose:r}}class i_ extends Bn{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=E2,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}}class r_ extends Bn{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}}const fk=`void main() { + gl_Position = vec4( position, 1.0 ); +}`,hk=`uniform sampler2D shadow_pass; +uniform vec2 resolution; +uniform float radius; +#include +void main() { + const float samples = float( VSM_SAMPLES ); + float mean = 0.0; + float squared_mean = 0.0; + float uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 ); + float uvStart = samples <= 1.0 ? 0.0 : - 1.0; + for ( float i = 0.0; i < samples; i ++ ) { + float uvOffset = uvStart + i * uvStride; + #ifdef HORIZONTAL_PASS + vec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) ); + mean += distribution.x; + squared_mean += distribution.y * distribution.y + distribution.x * distribution.x; + #else + float depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) ); + mean += depth; + squared_mean += depth * depth; + #endif + } + mean = mean / samples; + squared_mean = squared_mean / samples; + float std_dev = sqrt( squared_mean - mean * mean ); + gl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) ); +}`;function dk(n,e,t){let i=new Ip;const r=new ge,s=new ge,o=new Nt,a=new i_({depthPacking:T2}),c=new r_,f={},h=t.maxTextureSize,d={[Ms]:li,[li]:Ms,[nr]:nr},m=new jr({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new ge},radius:{value:4}},vertexShader:fk,fragmentShader:hk}),v=m.clone();v.defines.HORIZONTAL_PASS=1;const _=new lt;_.setAttribute("position",new Bt(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const E=new Ne(_,m),S=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=bp,this.render=function(T,C,P){if(S.enabled===!1||S.autoUpdate===!1&&S.needsUpdate===!1||T.length===0)return;const R=n.getRenderTarget(),I=n.getActiveCubeFace(),b=n.getActiveMipmapLevel(),L=n.state;L.setBlending(ys),L.buffers.color.setClear(1,1,1,1),L.buffers.depth.setTest(!0),L.setScissorTest(!1);for(let H=0,q=T.length;Hh||r.y>h)&&(r.x>h&&(s.x=Math.floor(h/ee.x),r.x=s.x*ee.x,W.mapSize.x=s.x),r.y>h&&(s.y=Math.floor(h/ee.y),r.y=s.y*ee.y,W.mapSize.y=s.y)),W.map===null){const ue=this.type!==jo?{minFilter:hn,magFilter:hn}:{};W.map=new ar(r.x,r.y,ue),W.map.texture.name=G.name+".shadowMap",W.camera.updateProjectionMatrix()}n.setRenderTarget(W.map),n.clear();const oe=W.getViewportCount();for(let ue=0;ue0||C.map&&C.alphaTest>0){const L=I.uuid,H=C.uuid;let q=f[L];q===void 0&&(q={},f[L]=q);let G=q[H];G===void 0&&(G=I.clone(),q[H]=G),I=G}if(I.visible=C.visible,I.wireframe=C.wireframe,R===jo?I.side=C.shadowSide!==null?C.shadowSide:C.side:I.side=C.shadowSide!==null?C.shadowSide:d[C.side],I.alphaMap=C.alphaMap,I.alphaTest=C.alphaTest,I.map=C.map,I.clipShadows=C.clipShadows,I.clippingPlanes=C.clippingPlanes,I.clipIntersection=C.clipIntersection,I.displacementMap=C.displacementMap,I.displacementScale=C.displacementScale,I.displacementBias=C.displacementBias,I.wireframeLinewidth=C.wireframeLinewidth,I.linewidth=C.linewidth,P.isPointLight===!0&&I.isMeshDistanceMaterial===!0){const L=n.properties.get(I);L.light=P}return I}function w(T,C,P,R,I){if(T.visible===!1)return;if(T.layers.test(C.layers)&&(T.isMesh||T.isLine||T.isPoints)&&(T.castShadow||T.receiveShadow&&I===jo)&&(!T.frustumCulled||i.intersectsObject(T))){T.modelViewMatrix.multiplyMatrices(P.matrixWorldInverse,T.matrixWorld);const H=e.update(T),q=T.material;if(Array.isArray(q)){const G=H.groups;for(let W=0,ee=G.length;W=1):D.indexOf("OpenGL ES")!==-1&&(ue=parseFloat(/^OpenGL ES (\d)/.exec(D)[1]),oe=ue>=2);let V=null,B={};const J=n.getParameter(3088),Y=n.getParameter(2978),K=new Nt().fromArray(J),z=new Nt().fromArray(Y);function ye(X,fe,xe){const Ie=new Uint8Array(4),We=n.createTexture();n.bindTexture(X,We),n.texParameteri(X,10241,9728),n.texParameteri(X,10240,9728);for(let zt=0;zt"u"?!1:/OculusBrowser/g.test(navigator.userAgent),_=new WeakMap;let E;const S=new WeakMap;let g=!1;try{g=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function x(F,k){return g?new OffscreenCanvas(F,k):Dc("canvas")}function w(F,k,ie,_e){let Se=1;if((F.width>_e||F.height>_e)&&(Se=_e/Math.max(F.width,F.height)),Se<1||k===!0)if(typeof HTMLImageElement<"u"&&F instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&F instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&F instanceof ImageBitmap){const be=k?P2:Math.floor,tt=be(Se*F.width),ke=be(Se*F.height);E===void 0&&(E=x(tt,ke));const he=ie?x(tt,ke):E;return he.width=tt,he.height=ke,he.getContext("2d").drawImage(F,0,0,tt,ke),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+F.width+"x"+F.height+") to ("+tt+"x"+ke+")."),he}else return"data"in F&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+F.width+"x"+F.height+")."),F;return F}function T(F){return zv(F.width)&&zv(F.height)}function C(F){return a?!1:F.wrapS!==Jn||F.wrapT!==Jn||F.minFilter!==hn&&F.minFilter!==en}function P(F,k){return F.generateMipmaps&&k&&F.minFilter!==hn&&F.minFilter!==en}function R(F){n.generateMipmap(F)}function I(F,k,ie,_e,Se=!1){if(a===!1)return k;if(F!==null){if(n[F]!==void 0)return n[F];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+F+"'")}let be=k;return k===6403&&(ie===5126&&(be=33326),ie===5131&&(be=33325),ie===5121&&(be=33321)),k===33319&&(ie===5126&&(be=33328),ie===5131&&(be=33327),ie===5121&&(be=33323)),k===6408&&(ie===5126&&(be=34836),ie===5131&&(be=34842),ie===5121&&(be=_e===Ot&&Se===!1?35907:32856),ie===32819&&(be=32854),ie===32820&&(be=32855)),(be===33325||be===33326||be===33327||be===33328||be===34842||be===34836)&&e.get("EXT_color_buffer_float"),be}function b(F,k,ie){return P(F,ie)===!0||F.isFramebufferTexture&&F.minFilter!==hn&&F.minFilter!==en?Math.log2(Math.max(k.width,k.height))+1:F.mipmaps!==void 0&&F.mipmaps.length>0?F.mipmaps.length:F.isCompressedTexture&&Array.isArray(F.image)?k.mipmaps.length:1}function L(F){return F===hn||F===ap||F===rc?9728:9729}function H(F){const k=F.target;k.removeEventListener("dispose",H),G(k),k.isVideoTexture&&_.delete(k)}function q(F){const k=F.target;k.removeEventListener("dispose",q),ee(k)}function G(F){const k=i.get(F);if(k.__webglInit===void 0)return;const ie=F.source,_e=S.get(ie);if(_e){const Se=_e[k.__cacheKey];Se.usedTimes--,Se.usedTimes===0&&W(F),Object.keys(_e).length===0&&S.delete(ie)}i.remove(F)}function W(F){const k=i.get(F);n.deleteTexture(k.__webglTexture);const ie=F.source,_e=S.get(ie);delete _e[k.__cacheKey],o.memory.textures--}function ee(F){const k=F.texture,ie=i.get(F),_e=i.get(k);if(_e.__webglTexture!==void 0&&(n.deleteTexture(_e.__webglTexture),o.memory.textures--),F.depthTexture&&F.depthTexture.dispose(),F.isWebGLCubeRenderTarget)for(let Se=0;Se<6;Se++)n.deleteFramebuffer(ie.__webglFramebuffer[Se]),ie.__webglDepthbuffer&&n.deleteRenderbuffer(ie.__webglDepthbuffer[Se]);else{if(n.deleteFramebuffer(ie.__webglFramebuffer),ie.__webglDepthbuffer&&n.deleteRenderbuffer(ie.__webglDepthbuffer),ie.__webglMultisampledFramebuffer&&n.deleteFramebuffer(ie.__webglMultisampledFramebuffer),ie.__webglColorRenderbuffer)for(let Se=0;Se=c&&console.warn("THREE.WebGLTextures: Trying to use "+F+" texture units while this GPU supports only "+c),oe+=1,F}function V(F){const k=[];return k.push(F.wrapS),k.push(F.wrapT),k.push(F.wrapR||0),k.push(F.magFilter),k.push(F.minFilter),k.push(F.anisotropy),k.push(F.internalFormat),k.push(F.format),k.push(F.type),k.push(F.generateMipmaps),k.push(F.premultiplyAlpha),k.push(F.flipY),k.push(F.unpackAlignment),k.push(F.encoding),k.join()}function B(F,k){const ie=i.get(F);if(F.isVideoTexture&&rt(F),F.isRenderTargetTexture===!1&&F.version>0&&ie.__version!==F.version){const _e=F.image;if(_e===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(_e.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{Qe(ie,F,k);return}}t.bindTexture(3553,ie.__webglTexture,33984+k)}function J(F,k){const ie=i.get(F);if(F.version>0&&ie.__version!==F.version){Qe(ie,F,k);return}t.bindTexture(35866,ie.__webglTexture,33984+k)}function Y(F,k){const ie=i.get(F);if(F.version>0&&ie.__version!==F.version){Qe(ie,F,k);return}t.bindTexture(32879,ie.__webglTexture,33984+k)}function K(F,k){const ie=i.get(F);if(F.version>0&&ie.__version!==F.version){je(ie,F,k);return}t.bindTexture(34067,ie.__webglTexture,33984+k)}const z={[Cc]:10497,[Jn]:33071,[bc]:33648},ye={[hn]:9728,[ap]:9984,[rc]:9986,[en]:9729,[Yy]:9985,[po]:9987};function pe(F,k,ie){if(ie?(n.texParameteri(F,10242,z[k.wrapS]),n.texParameteri(F,10243,z[k.wrapT]),(F===32879||F===35866)&&n.texParameteri(F,32882,z[k.wrapR]),n.texParameteri(F,10240,ye[k.magFilter]),n.texParameteri(F,10241,ye[k.minFilter])):(n.texParameteri(F,10242,33071),n.texParameteri(F,10243,33071),(F===32879||F===35866)&&n.texParameteri(F,32882,33071),(k.wrapS!==Jn||k.wrapT!==Jn)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),n.texParameteri(F,10240,L(k.magFilter)),n.texParameteri(F,10241,L(k.minFilter)),k.minFilter!==hn&&k.minFilter!==en&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),e.has("EXT_texture_filter_anisotropic")===!0){const _e=e.get("EXT_texture_filter_anisotropic");if(k.magFilter===hn||k.minFilter!==rc&&k.minFilter!==po||k.type===Hr&&e.has("OES_texture_float_linear")===!1||a===!1&&k.type===ca&&e.has("OES_texture_half_float_linear")===!1)return;(k.anisotropy>1||i.get(k).__currentAnisotropy)&&(n.texParameterf(F,_e.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(k.anisotropy,r.getMaxAnisotropy())),i.get(k).__currentAnisotropy=k.anisotropy)}}function Q(F,k){let ie=!1;F.__webglInit===void 0&&(F.__webglInit=!0,k.addEventListener("dispose",H));const _e=k.source;let Se=S.get(_e);Se===void 0&&(Se={},S.set(_e,Se));const be=V(k);if(be!==F.__cacheKey){Se[be]===void 0&&(Se[be]={texture:n.createTexture(),usedTimes:0},o.memory.textures++,ie=!0),Se[be].usedTimes++;const tt=Se[F.__cacheKey];tt!==void 0&&(Se[F.__cacheKey].usedTimes--,tt.usedTimes===0&&W(k)),F.__cacheKey=be,F.__webglTexture=Se[be].texture}return ie}function Qe(F,k,ie){let _e=3553;(k.isDataArrayTexture||k.isCompressedArrayTexture)&&(_e=35866),k.isData3DTexture&&(_e=32879);const Se=Q(F,k),be=k.source;t.bindTexture(_e,F.__webglTexture,33984+ie);const tt=i.get(be);if(be.version!==tt.__version||Se===!0){t.activeTexture(33984+ie),n.pixelStorei(37440,k.flipY),n.pixelStorei(37441,k.premultiplyAlpha),n.pixelStorei(3317,k.unpackAlignment),n.pixelStorei(37443,0);const ke=C(k)&&T(k.image)===!1;let he=w(k.image,ke,!1,h);he=Et(k,he);const Ve=T(he)||a,qe=s.convert(k.format,k.encoding);let et=s.convert(k.type),Oe=I(k.internalFormat,qe,et,k.encoding,k.isVideoTexture);pe(_e,k,Ve);let Ge;const wt=k.mipmaps,Lt=a&&k.isVideoTexture!==!0,Jt=tt.__version===void 0||Se===!0,X=b(k,he,Ve);if(k.isDepthTexture)Oe=6402,a?k.type===Hr?Oe=36012:k.type===$s?Oe=33190:k.type===ta?Oe=35056:Oe=33189:k.type===Hr&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),k.format===lo&&Oe===6402&&k.type!==qy&&k.type!==$s&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),k.type=$s,et=s.convert(k.type)),k.format===fa&&Oe===6402&&(Oe=34041,k.type!==ta&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),k.type=ta,et=s.convert(k.type))),Jt&&(Lt?t.texStorage2D(3553,1,Oe,he.width,he.height):t.texImage2D(3553,0,Oe,he.width,he.height,0,qe,et,null));else if(k.isDataTexture)if(wt.length>0&&Ve){Lt&&Jt&&t.texStorage2D(3553,X,Oe,wt[0].width,wt[0].height);for(let fe=0,xe=wt.length;fe>=1,xe>>=1}}else if(wt.length>0&&Ve){Lt&&Jt&&t.texStorage2D(3553,X,Oe,wt[0].width,wt[0].height);for(let fe=0,xe=wt.length;fe0&&Jt++,t.texStorage2D(34067,Jt,Ge,he[0].width,he[0].height));for(let fe=0;fe<6;fe++)if(ke){wt?t.texSubImage2D(34069+fe,0,0,0,he[fe].width,he[fe].height,et,Oe,he[fe].data):t.texImage2D(34069+fe,0,Ge,he[fe].width,he[fe].height,0,et,Oe,he[fe].data);for(let xe=0;xe=34069&&Se<=34074)&&n.framebufferTexture2D(36160,_e,Se,i.get(ie).__webglTexture,0),t.bindFramebuffer(36160,null)}function De(F,k,ie){if(n.bindRenderbuffer(36161,F),k.depthBuffer&&!k.stencilBuffer){let _e=33189;if(ie||Ye(k)){const Se=k.depthTexture;Se&&Se.isDepthTexture&&(Se.type===Hr?_e=36012:Se.type===$s&&(_e=33190));const be=$e(k);Ye(k)?m.renderbufferStorageMultisampleEXT(36161,be,_e,k.width,k.height):n.renderbufferStorageMultisample(36161,be,_e,k.width,k.height)}else n.renderbufferStorage(36161,_e,k.width,k.height);n.framebufferRenderbuffer(36160,36096,36161,F)}else if(k.depthBuffer&&k.stencilBuffer){const _e=$e(k);ie&&Ye(k)===!1?n.renderbufferStorageMultisample(36161,_e,35056,k.width,k.height):Ye(k)?m.renderbufferStorageMultisampleEXT(36161,_e,35056,k.width,k.height):n.renderbufferStorage(36161,34041,k.width,k.height),n.framebufferRenderbuffer(36160,33306,36161,F)}else{const _e=k.isWebGLMultipleRenderTargets===!0?k.texture:[k.texture];for(let Se=0;Se<_e.length;Se++){const be=_e[Se],tt=s.convert(be.format,be.encoding),ke=s.convert(be.type),he=I(be.internalFormat,tt,ke,be.encoding),Ve=$e(k);ie&&Ye(k)===!1?n.renderbufferStorageMultisample(36161,Ve,he,k.width,k.height):Ye(k)?m.renderbufferStorageMultisampleEXT(36161,Ve,he,k.width,k.height):n.renderbufferStorage(36161,he,k.width,k.height)}}n.bindRenderbuffer(36161,null)}function me(F,k){if(k&&k.isWebGLCubeRenderTarget)throw new Error("Depth Texture with cube render targets is not supported");if(t.bindFramebuffer(36160,F),!(k.depthTexture&&k.depthTexture.isDepthTexture))throw new Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");(!i.get(k.depthTexture).__webglTexture||k.depthTexture.image.width!==k.width||k.depthTexture.image.height!==k.height)&&(k.depthTexture.image.width=k.width,k.depthTexture.image.height=k.height,k.depthTexture.needsUpdate=!0),B(k.depthTexture,0);const _e=i.get(k.depthTexture).__webglTexture,Se=$e(k);if(k.depthTexture.format===lo)Ye(k)?m.framebufferTexture2DMultisampleEXT(36160,36096,3553,_e,0,Se):n.framebufferTexture2D(36160,36096,3553,_e,0);else if(k.depthTexture.format===fa)Ye(k)?m.framebufferTexture2DMultisampleEXT(36160,33306,3553,_e,0,Se):n.framebufferTexture2D(36160,33306,3553,_e,0);else throw new Error("Unknown depthTexture format")}function se(F){const k=i.get(F),ie=F.isWebGLCubeRenderTarget===!0;if(F.depthTexture&&!k.__autoAllocateDepthBuffer){if(ie)throw new Error("target.depthTexture not supported in Cube render targets");me(k.__webglFramebuffer,F)}else if(ie){k.__webglDepthbuffer=[];for(let _e=0;_e<6;_e++)t.bindFramebuffer(36160,k.__webglFramebuffer[_e]),k.__webglDepthbuffer[_e]=n.createRenderbuffer(),De(k.__webglDepthbuffer[_e],F,!1)}else t.bindFramebuffer(36160,k.__webglFramebuffer),k.__webglDepthbuffer=n.createRenderbuffer(),De(k.__webglDepthbuffer,F,!1);t.bindFramebuffer(36160,null)}function ve(F,k,ie){const _e=i.get(F);k!==void 0&&Me(_e.__webglFramebuffer,F,F.texture,36064,3553),ie!==void 0&&se(F)}function Ue(F){const k=F.texture,ie=i.get(F),_e=i.get(k);F.addEventListener("dispose",q),F.isWebGLMultipleRenderTargets!==!0&&(_e.__webglTexture===void 0&&(_e.__webglTexture=n.createTexture()),_e.__version=k.version,o.memory.textures++);const Se=F.isWebGLCubeRenderTarget===!0,be=F.isWebGLMultipleRenderTargets===!0,tt=T(F)||a;if(Se){ie.__webglFramebuffer=[];for(let ke=0;ke<6;ke++)ie.__webglFramebuffer[ke]=n.createFramebuffer()}else{if(ie.__webglFramebuffer=n.createFramebuffer(),be)if(r.drawBuffers){const ke=F.texture;for(let he=0,Ve=ke.length;he0&&Ye(F)===!1){const ke=be?k:[k];ie.__webglMultisampledFramebuffer=n.createFramebuffer(),ie.__webglColorRenderbuffer=[],t.bindFramebuffer(36160,ie.__webglMultisampledFramebuffer);for(let he=0;he0&&Ye(F)===!1){const k=F.isWebGLMultipleRenderTargets?F.texture:[F.texture],ie=F.width,_e=F.height;let Se=16384;const be=[],tt=F.stencilBuffer?33306:36096,ke=i.get(F),he=F.isWebGLMultipleRenderTargets===!0;if(he)for(let Ve=0;Ve0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&k.__useRenderToTexture!==!1}function rt(F){const k=o.render.frame;_.get(F)!==k&&(_.set(F,k),F.update())}function Et(F,k){const ie=F.encoding,_e=F.format,Se=F.type;return F.isCompressedTexture===!0||F.isVideoTexture===!0||F.format===lp||ie!==Ts&&(ie===Ot?a===!1?e.has("EXT_sRGB")===!0&&_e===_i?(F.format=lp,F.minFilter=en,F.generateMipmaps=!1):k=Ky.sRGBToLinear(k):(_e!==_i||Se!==Es)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture encoding:",ie)),k}this.allocateTextureUnit=D,this.resetTextureUnits=ue,this.setTexture2D=B,this.setTexture2DArray=J,this.setTexture3D=Y,this.setTextureCube=K,this.rebindTextures=ve,this.setupRenderTarget=Ue,this.updateRenderTargetMipmap=Ce,this.updateMultisampleRenderTarget=Ke,this.setupDepthRenderbuffer=se,this.setupFrameBufferTexture=Me,this.useMultisampledRTT=Ye}function V2(n,e,t){const i=t.isWebGL2;function r(s,o=null){let a;if(s===Es)return 5121;if(s===u2)return 32819;if(s===c2)return 32820;if(s===o2)return 5120;if(s===a2)return 5122;if(s===qy)return 5123;if(s===l2)return 5124;if(s===$s)return 5125;if(s===Hr)return 5126;if(s===ca)return i?5131:(a=e.get("OES_texture_half_float"),a!==null?a.HALF_FLOAT_OES:null);if(s===f2)return 6406;if(s===_i)return 6408;if(s===h2)return 6409;if(s===d2)return 6410;if(s===lo)return 6402;if(s===fa)return 34041;if(s===lp)return a=e.get("EXT_sRGB"),a!==null?a.SRGB_ALPHA_EXT:null;if(s===p2)return 6403;if(s===m2)return 36244;if(s===g2)return 33319;if(s===v2)return 33320;if(s===y2)return 36249;if(s===bd||s===Pd||s===Ld||s===Rd)if(o===Ot)if(a=e.get("WEBGL_compressed_texture_s3tc_srgb"),a!==null){if(s===bd)return a.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(s===Pd)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(s===Ld)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(s===Rd)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(a=e.get("WEBGL_compressed_texture_s3tc"),a!==null){if(s===bd)return a.COMPRESSED_RGB_S3TC_DXT1_EXT;if(s===Pd)return a.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(s===Ld)return a.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(s===Rd)return a.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(s===hv||s===dv||s===pv||s===mv)if(a=e.get("WEBGL_compressed_texture_pvrtc"),a!==null){if(s===hv)return a.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(s===dv)return a.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(s===pv)return a.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(s===mv)return a.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(s===_2)return a=e.get("WEBGL_compressed_texture_etc1"),a!==null?a.COMPRESSED_RGB_ETC1_WEBGL:null;if(s===gv||s===vv)if(a=e.get("WEBGL_compressed_texture_etc"),a!==null){if(s===gv)return o===Ot?a.COMPRESSED_SRGB8_ETC2:a.COMPRESSED_RGB8_ETC2;if(s===vv)return o===Ot?a.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:a.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(s===yv||s===_v||s===xv||s===Sv||s===wv||s===Mv||s===Ev||s===Tv||s===Av||s===Cv||s===bv||s===Pv||s===Lv||s===Rv)if(a=e.get("WEBGL_compressed_texture_astc"),a!==null){if(s===yv)return o===Ot?a.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:a.COMPRESSED_RGBA_ASTC_4x4_KHR;if(s===_v)return o===Ot?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:a.COMPRESSED_RGBA_ASTC_5x4_KHR;if(s===xv)return o===Ot?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:a.COMPRESSED_RGBA_ASTC_5x5_KHR;if(s===Sv)return o===Ot?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:a.COMPRESSED_RGBA_ASTC_6x5_KHR;if(s===wv)return o===Ot?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:a.COMPRESSED_RGBA_ASTC_6x6_KHR;if(s===Mv)return o===Ot?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:a.COMPRESSED_RGBA_ASTC_8x5_KHR;if(s===Ev)return o===Ot?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:a.COMPRESSED_RGBA_ASTC_8x6_KHR;if(s===Tv)return o===Ot?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:a.COMPRESSED_RGBA_ASTC_8x8_KHR;if(s===Av)return o===Ot?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:a.COMPRESSED_RGBA_ASTC_10x5_KHR;if(s===Cv)return o===Ot?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:a.COMPRESSED_RGBA_ASTC_10x6_KHR;if(s===bv)return o===Ot?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:a.COMPRESSED_RGBA_ASTC_10x8_KHR;if(s===Pv)return o===Ot?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:a.COMPRESSED_RGBA_ASTC_10x10_KHR;if(s===Lv)return o===Ot?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:a.COMPRESSED_RGBA_ASTC_12x10_KHR;if(s===Rv)return o===Ot?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:a.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(s===Id)if(a=e.get("EXT_texture_compression_bptc"),a!==null){if(s===Id)return o===Ot?a.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:a.COMPRESSED_RGBA_BPTC_UNORM_EXT}else return null;if(s===x2||s===Iv||s===Dv||s===Nv)if(a=e.get("EXT_texture_compression_rgtc"),a!==null){if(s===Id)return a.COMPRESSED_RED_RGTC1_EXT;if(s===Iv)return a.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(s===Dv)return a.COMPRESSED_RED_GREEN_RGTC2_EXT;if(s===Nv)return a.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return s===ta?i?34042:(a=e.get("WEBGL_depth_texture"),a!==null?a.UNSIGNED_INT_24_8_WEBGL:null):n[s]!==void 0?n[s]:null}return{convert:r}}class H2 extends In{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e}}class Sl extends St{constructor(){super(),this.isGroup=!0,this.type="Group"}}const gk={type:"move"};class jg{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new Sl,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return this._targetRay===null&&(this._targetRay=new Sl,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new N,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new N),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new Sl,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new N,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new N),this._grip}dispatchEvent(e){return this._targetRay!==null&&this._targetRay.dispatchEvent(e),this._grip!==null&&this._grip.dispatchEvent(e),this._hand!==null&&this._hand.dispatchEvent(e),this}connect(e){if(e&&e.hand){const t=this._hand;if(t)for(const i of e.hand.values())this._getHandJoint(t,i)}return this.dispatchEvent({type:"connected",data:e}),this}disconnect(e){return this.dispatchEvent({type:"disconnected",data:e}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(e,t,i){let r=null,s=null,o=null;const a=this._targetRay,c=this._grip,f=this._hand;if(e&&t.session.visibilityState!=="visible-blurred"){if(f&&e.hand){o=!0;for(const E of e.hand.values()){const S=t.getJointPose(E,i),g=this._getHandJoint(f,E);S!==null&&(g.matrix.fromArray(S.transform.matrix),g.matrix.decompose(g.position,g.rotation,g.scale),g.jointRadius=S.radius),g.visible=S!==null}const h=f.joints["index-finger-tip"],d=f.joints["thumb-tip"],m=h.position.distanceTo(d.position),v=.02,_=.005;f.inputState.pinching&&m>v+_?(f.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!f.inputState.pinching&&m<=v-_&&(f.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else c!==null&&e.gripSpace&&(s=t.getPose(e.gripSpace,i),s!==null&&(c.matrix.fromArray(s.transform.matrix),c.matrix.decompose(c.position,c.rotation,c.scale),s.linearVelocity?(c.hasLinearVelocity=!0,c.linearVelocity.copy(s.linearVelocity)):c.hasLinearVelocity=!1,s.angularVelocity?(c.hasAngularVelocity=!0,c.angularVelocity.copy(s.angularVelocity)):c.hasAngularVelocity=!1));a!==null&&(r=t.getPose(e.targetRaySpace,i),r===null&&s!==null&&(r=s),r!==null&&(a.matrix.fromArray(r.transform.matrix),a.matrix.decompose(a.position,a.rotation,a.scale),r.linearVelocity?(a.hasLinearVelocity=!0,a.linearVelocity.copy(r.linearVelocity)):a.hasLinearVelocity=!1,r.angularVelocity?(a.hasAngularVelocity=!0,a.angularVelocity.copy(r.angularVelocity)):a.hasAngularVelocity=!1,this.dispatchEvent(gk)))}return a!==null&&(a.visible=r!==null),c!==null&&(c.visible=s!==null),f!==null&&(f.visible=o!==null),this}_getHandJoint(e,t){if(e.joints[t.jointName]===void 0){const i=new Sl;i.matrixAutoUpdate=!1,i.visible=!1,e.joints[t.jointName]=i,e.add(i)}return e.joints[t.jointName]}}class s_ extends un{constructor(e,t,i,r,s,o,a,c,f,h){if(h=h!==void 0?h:lo,h!==lo&&h!==fa)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");i===void 0&&h===lo&&(i=$s),i===void 0&&h===fa&&(i=ta),super(null,r,s,o,a,c,h,i,f),this.isDepthTexture=!0,this.image={width:e,height:t},this.magFilter=a!==void 0?a:hn,this.minFilter=c!==void 0?c:hn,this.flipY=!1,this.generateMipmaps=!1}}class vk extends bs{constructor(e,t){super();const i=this;let r=null,s=1,o=null,a="local-floor",c=1,f=null,h=null,d=null,m=null,v=null,_=null;const E=t.getContextAttributes();let S=null,g=null;const x=[],w=[],T=new Set,C=new Map,P=new In;P.layers.enable(1),P.viewport=new Nt;const R=new In;R.layers.enable(2),R.viewport=new Nt;const I=[P,R],b=new H2;b.layers.enable(1),b.layers.enable(2);let L=null,H=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(K){let z=x[K];return z===void 0&&(z=new jg,x[K]=z),z.getTargetRaySpace()},this.getControllerGrip=function(K){let z=x[K];return z===void 0&&(z=new jg,x[K]=z),z.getGripSpace()},this.getHand=function(K){let z=x[K];return z===void 0&&(z=new jg,x[K]=z),z.getHandSpace()};function q(K){const z=w.indexOf(K.inputSource);if(z===-1)return;const ye=x[z];ye!==void 0&&ye.dispatchEvent({type:K.type,data:K.inputSource})}function G(){r.removeEventListener("select",q),r.removeEventListener("selectstart",q),r.removeEventListener("selectend",q),r.removeEventListener("squeeze",q),r.removeEventListener("squeezestart",q),r.removeEventListener("squeezeend",q),r.removeEventListener("end",G),r.removeEventListener("inputsourceschange",W);for(let K=0;K=0&&(w[pe]=null,x[pe].disconnect(ye))}for(let z=0;z=w.length){w.push(ye),pe=Qe;break}else if(w[Qe]===null){w[Qe]=ye,pe=Qe;break}if(pe===-1)break}const Q=x[pe];Q&&Q.connect(ye)}}const ee=new N,oe=new N;function ue(K,z,ye){ee.setFromMatrixPosition(z.matrixWorld),oe.setFromMatrixPosition(ye.matrixWorld);const pe=ee.distanceTo(oe),Q=z.projectionMatrix.elements,Qe=ye.projectionMatrix.elements,je=Q[14]/(Q[10]-1),Me=Q[14]/(Q[10]+1),De=(Q[9]+1)/Q[5],me=(Q[9]-1)/Q[5],se=(Q[8]-1)/Q[0],ve=(Qe[8]+1)/Qe[0],Ue=je*se,Ce=je*ve,Ke=pe/(-se+ve),$e=Ke*-se;z.matrixWorld.decompose(K.position,K.quaternion,K.scale),K.translateX($e),K.translateZ(Ke),K.matrixWorld.compose(K.position,K.quaternion,K.scale),K.matrixWorldInverse.copy(K.matrixWorld).invert();const Ye=je+Ke,rt=Me+Ke,Et=Ue-$e,F=Ce+(pe-$e),k=De*Me/rt*Ye,ie=me*Me/rt*Ye;K.projectionMatrix.makePerspective(Et,F,k,ie,Ye,rt),K.projectionMatrixInverse.copy(K.projectionMatrix).invert()}function D(K,z){z===null?K.matrixWorld.copy(K.matrix):K.matrixWorld.multiplyMatrices(z.matrixWorld,K.matrix),K.matrixWorldInverse.copy(K.matrixWorld).invert()}this.updateCamera=function(K){if(r===null)return;b.near=R.near=P.near=K.near,b.far=R.far=P.far=K.far,(L!==b.near||H!==b.far)&&(r.updateRenderState({depthNear:b.near,depthFar:b.far}),L=b.near,H=b.far);const z=K.parent,ye=b.cameras;D(b,z);for(let pe=0;peQ&&(C.set(pe,pe.lastChangedTime),i.dispatchEvent({type:"planechanged",data:pe}))}}_=null}const Y=new z2;Y.setAnimationLoop(J),this.setAnimationLoop=function(K){B=K},this.dispose=function(){}}}function yk(n,e){function t(S,g){S.matrixAutoUpdate===!0&&S.updateMatrix(),g.value.copy(S.matrix)}function i(S,g){g.color.getRGB(S.fogColor.value,I2(n)),g.isFog?(S.fogNear.value=g.near,S.fogFar.value=g.far):g.isFogExp2&&(S.fogDensity.value=g.density)}function r(S,g,x,w,T){g.isMeshBasicMaterial||g.isMeshLambertMaterial?s(S,g):g.isMeshToonMaterial?(s(S,g),d(S,g)):g.isMeshPhongMaterial?(s(S,g),h(S,g)):g.isMeshStandardMaterial?(s(S,g),m(S,g),g.isMeshPhysicalMaterial&&v(S,g,T)):g.isMeshMatcapMaterial?(s(S,g),_(S,g)):g.isMeshDepthMaterial?s(S,g):g.isMeshDistanceMaterial?(s(S,g),E(S,g)):g.isMeshNormalMaterial?s(S,g):g.isLineBasicMaterial?(o(S,g),g.isLineDashedMaterial&&a(S,g)):g.isPointsMaterial?c(S,g,x,w):g.isSpriteMaterial?f(S,g):g.isShadowMaterial?(S.color.value.copy(g.color),S.opacity.value=g.opacity):g.isShaderMaterial&&(g.uniformsNeedUpdate=!1)}function s(S,g){S.opacity.value=g.opacity,g.color&&S.diffuse.value.copy(g.color),g.emissive&&S.emissive.value.copy(g.emissive).multiplyScalar(g.emissiveIntensity),g.map&&(S.map.value=g.map,t(g.map,S.mapTransform)),g.alphaMap&&(S.alphaMap.value=g.alphaMap,t(g.alphaMap,S.alphaMapTransform)),g.bumpMap&&(S.bumpMap.value=g.bumpMap,t(g.bumpMap,S.bumpMapTransform),S.bumpScale.value=g.bumpScale,g.side===li&&(S.bumpScale.value*=-1)),g.normalMap&&(S.normalMap.value=g.normalMap,t(g.normalMap,S.normalMapTransform),S.normalScale.value.copy(g.normalScale),g.side===li&&S.normalScale.value.negate()),g.displacementMap&&(S.displacementMap.value=g.displacementMap,t(g.displacementMap,S.displacementMapTransform),S.displacementScale.value=g.displacementScale,S.displacementBias.value=g.displacementBias),g.emissiveMap&&(S.emissiveMap.value=g.emissiveMap,t(g.emissiveMap,S.emissiveMapTransform)),g.specularMap&&(S.specularMap.value=g.specularMap,t(g.specularMap,S.specularMapTransform)),g.alphaTest>0&&(S.alphaTest.value=g.alphaTest);const x=e.get(g).envMap;if(x&&(S.envMap.value=x,S.flipEnvMap.value=x.isCubeTexture&&x.isRenderTargetTexture===!1?-1:1,S.reflectivity.value=g.reflectivity,S.ior.value=g.ior,S.refractionRatio.value=g.refractionRatio),g.lightMap){S.lightMap.value=g.lightMap;const w=n.useLegacyLights===!0?Math.PI:1;S.lightMapIntensity.value=g.lightMapIntensity*w,t(g.lightMap,S.lightMapTransform)}g.aoMap&&(S.aoMap.value=g.aoMap,S.aoMapIntensity.value=g.aoMapIntensity,t(g.aoMap,S.aoMapTransform))}function o(S,g){S.diffuse.value.copy(g.color),S.opacity.value=g.opacity,g.map&&(S.map.value=g.map,t(g.map,S.mapTransform))}function a(S,g){S.dashSize.value=g.dashSize,S.totalSize.value=g.dashSize+g.gapSize,S.scale.value=g.scale}function c(S,g,x,w){S.diffuse.value.copy(g.color),S.opacity.value=g.opacity,S.size.value=g.size*x,S.scale.value=w*.5,g.map&&(S.map.value=g.map,t(g.map,S.uvTransform)),g.alphaMap&&(S.alphaMap.value=g.alphaMap),g.alphaTest>0&&(S.alphaTest.value=g.alphaTest)}function f(S,g){S.diffuse.value.copy(g.color),S.opacity.value=g.opacity,S.rotation.value=g.rotation,g.map&&(S.map.value=g.map,t(g.map,S.mapTransform)),g.alphaMap&&(S.alphaMap.value=g.alphaMap),g.alphaTest>0&&(S.alphaTest.value=g.alphaTest)}function h(S,g){S.specular.value.copy(g.specular),S.shininess.value=Math.max(g.shininess,1e-4)}function d(S,g){g.gradientMap&&(S.gradientMap.value=g.gradientMap)}function m(S,g){S.metalness.value=g.metalness,g.metalnessMap&&(S.metalnessMap.value=g.metalnessMap,t(g.metalnessMap,S.metalnessMapTransform)),S.roughness.value=g.roughness,g.roughnessMap&&(S.roughnessMap.value=g.roughnessMap,t(g.roughnessMap,S.roughnessMapTransform)),e.get(g).envMap&&(S.envMapIntensity.value=g.envMapIntensity)}function v(S,g,x){S.ior.value=g.ior,g.sheen>0&&(S.sheenColor.value.copy(g.sheenColor).multiplyScalar(g.sheen),S.sheenRoughness.value=g.sheenRoughness,g.sheenColorMap&&(S.sheenColorMap.value=g.sheenColorMap,t(g.sheenColorMap,S.sheenColorMapTransform)),g.sheenRoughnessMap&&(S.sheenRoughnessMap.value=g.sheenRoughnessMap,t(g.sheenRoughnessMap,S.sheenRoughnessMapTransform))),g.clearcoat>0&&(S.clearcoat.value=g.clearcoat,S.clearcoatRoughness.value=g.clearcoatRoughness,g.clearcoatMap&&(S.clearcoatMap.value=g.clearcoatMap,t(g.clearcoatMap,S.clearcoatMapTransform)),g.clearcoatRoughnessMap&&(S.clearcoatRoughnessMap.value=g.clearcoatRoughnessMap,t(g.clearcoatRoughnessMap,S.clearcoatRoughnessMapTransform)),g.clearcoatNormalMap&&(S.clearcoatNormalMap.value=g.clearcoatNormalMap,t(g.clearcoatNormalMap,S.clearcoatNormalMapTransform),S.clearcoatNormalScale.value.copy(g.clearcoatNormalScale),g.side===li&&S.clearcoatNormalScale.value.negate())),g.iridescence>0&&(S.iridescence.value=g.iridescence,S.iridescenceIOR.value=g.iridescenceIOR,S.iridescenceThicknessMinimum.value=g.iridescenceThicknessRange[0],S.iridescenceThicknessMaximum.value=g.iridescenceThicknessRange[1],g.iridescenceMap&&(S.iridescenceMap.value=g.iridescenceMap,t(g.iridescenceMap,S.iridescenceMapTransform)),g.iridescenceThicknessMap&&(S.iridescenceThicknessMap.value=g.iridescenceThicknessMap,t(g.iridescenceThicknessMap,S.iridescenceThicknessMapTransform))),g.transmission>0&&(S.transmission.value=g.transmission,S.transmissionSamplerMap.value=x.texture,S.transmissionSamplerSize.value.set(x.width,x.height),g.transmissionMap&&(S.transmissionMap.value=g.transmissionMap,t(g.transmissionMap,S.transmissionMapTransform)),S.thickness.value=g.thickness,g.thicknessMap&&(S.thicknessMap.value=g.thicknessMap,t(g.thicknessMap,S.thicknessMapTransform)),S.attenuationDistance.value=g.attenuationDistance,S.attenuationColor.value.copy(g.attenuationColor)),S.specularIntensity.value=g.specularIntensity,S.specularColor.value.copy(g.specularColor),g.specularColorMap&&(S.specularColorMap.value=g.specularColorMap,t(g.specularColorMap,S.specularColorMapTransform)),g.specularIntensityMap&&(S.specularIntensityMap.value=g.specularIntensityMap,t(g.specularIntensityMap,S.specularIntensityMapTransform))}function _(S,g){g.matcap&&(S.matcap.value=g.matcap)}function E(S,g){const x=e.get(g).light;S.referencePosition.value.setFromMatrixPosition(x.matrixWorld),S.nearDistance.value=x.shadow.camera.near,S.farDistance.value=x.shadow.camera.far}return{refreshFogUniforms:i,refreshMaterialUniforms:r}}function _k(n,e,t,i){let r={},s={},o=[];const a=t.isWebGL2?n.getParameter(35375):0;function c(x,w){const T=w.program;i.uniformBlockBinding(x,T)}function f(x,w){let T=r[x.id];T===void 0&&(_(x),T=h(x),r[x.id]=T,x.addEventListener("dispose",S));const C=w.program;i.updateUBOMapping(x,C);const P=e.render.frame;s[x.id]!==P&&(m(x),s[x.id]=P)}function h(x){const w=d();x.__bindingPointIndex=w;const T=n.createBuffer(),C=x.__size,P=x.usage;return n.bindBuffer(35345,T),n.bufferData(35345,C,P),n.bindBuffer(35345,null),n.bindBufferBase(35345,w,T),T}function d(){for(let x=0;x0){P=T%C;const q=C-P;P!==0&&q-L.boundary<0&&(T+=C-P,b.__offset=T)}T+=L.storage}return P=T%C,P>0&&(T+=C-P),x.__size=T,x.__cache={},this}function E(x){const w={boundary:0,storage:0};return typeof x=="number"?(w.boundary=4,w.storage=4):x.isVector2?(w.boundary=8,w.storage=8):x.isVector3||x.isColor?(w.boundary=16,w.storage=12):x.isVector4?(w.boundary=16,w.storage=16):x.isMatrix3?(w.boundary=48,w.storage=48):x.isMatrix4?(w.boundary=64,w.storage=64):x.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",x),w}function S(x){const w=x.target;w.removeEventListener("dispose",S);const T=o.indexOf(w.__bindingPointIndex);o.splice(T,1),n.deleteBuffer(r[w.id]),delete r[w.id],delete s[w.id]}function g(){for(const x in r)n.deleteBuffer(r[x]);o=[],r={},s={}}return{bind:c,update:f,dispose:g}}function xk(){const n=Dc("canvas");return n.style.display="block",n}class o_{constructor(e={}){const{canvas:t=xk(),context:i=null,depth:r=!0,stencil:s=!0,alpha:o=!1,antialias:a=!1,premultipliedAlpha:c=!0,preserveDrawingBuffer:f=!1,powerPreference:h="default",failIfMajorPerformanceCaveat:d=!1}=e;this.isWebGLRenderer=!0;let m;i!==null?m=i.getContextAttributes().alpha:m=o;let v=null,_=null;const E=[],S=[];this.domElement=t,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.outputEncoding=Ts,this.useLegacyLights=!0,this.toneMapping=Ar,this.toneMappingExposure=1;const g=this;let x=!1,w=0,T=0,C=null,P=-1,R=null;const I=new Nt,b=new Nt;let L=null,H=t.width,q=t.height,G=1,W=null,ee=null;const oe=new Nt(0,0,H,q),ue=new Nt(0,0,H,q);let D=!1;const V=new Ip;let B=!1,J=!1,Y=null;const K=new st,z=new N,ye={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function pe(){return C===null?G:1}let Q=i;function Qe(U,ne){for(let ce=0;ce0?_=S[S.length-1]:_=null,E.pop(),E.length>0?v=E[E.length-1]:v=null};function Tn(U,ne,ce,$){if(U.visible===!1)return;if(U.layers.test(ne.layers)){if(U.isGroup)ce=U.renderOrder;else if(U.isLOD)U.autoUpdate===!0&&U.update(ne);else if(U.isLight)_.pushLight(U),U.castShadow&&_.pushShadow(U);else if(U.isSprite){if(!U.frustumCulled||V.intersectsSprite(U)){$&&z.setFromMatrixPosition(U.matrixWorld).applyMatrix4(K);const nt=Ye.update(U),it=U.material;it.visible&&v.push(U,nt,it,ce,z.z,null)}}else if((U.isMesh||U.isLine||U.isPoints)&&(U.isSkinnedMesh&&U.skeleton.frame!==me.render.frame&&(U.skeleton.update(),U.skeleton.frame=me.render.frame),!U.frustumCulled||V.intersectsObject(U))){$&&z.setFromMatrixPosition(U.matrixWorld).applyMatrix4(K);const nt=Ye.update(U),it=U.material;if(Array.isArray(it)){const ut=nt.groups;for(let pt=0,mt=ut.length;pt0&&Yt(de,Ze,ne,ce),$&&De.viewport(I.copy($)),de.length>0&&ei(de,ne,ce),Ze.length>0&&ei(Ze,ne,ce),nt.length>0&&ei(nt,ne,ce),De.buffers.depth.setTest(!0),De.buffers.depth.setMask(!0),De.buffers.color.setMask(!0),De.setPolygonOffset(!1)}function Yt(U,ne,ce,$){if(Y===null){const it=Me.isWebGL2;Y=new ar(1024,1024,{generateMipmaps:!0,type:je.has("EXT_color_buffer_half_float")?ca:Es,minFilter:po,samples:it&&a===!0?4:0})}const de=g.getRenderTarget();g.setRenderTarget(Y),g.clear();const Ze=g.toneMapping;g.toneMapping=Ar,ei(U,ce,$),ve.updateMultisampleRenderTarget(Y),ve.updateRenderTargetMipmap(Y);let nt=!1;for(let it=0,ut=ne.length;it0&&ve.useMultisampledRTT(U)===!1?de=se.get(U).__webglMultisampledFramebuffer:de=mt,I.copy(U.viewport),b.copy(U.scissor),L=U.scissorTest}else I.copy(oe).multiplyScalar(G).floor(),b.copy(ue).multiplyScalar(G).floor(),L=D;if(De.bindFramebuffer(36160,de)&&Me.drawBuffers&&$&&De.drawBuffers(U,de),De.viewport(I),De.scissor(b),De.setScissorTest(L),Ze){const ut=se.get(U.texture);Q.framebufferTexture2D(36160,36064,34069+ne,ut.__webglTexture,ce)}else if(nt){const ut=se.get(U.texture),pt=ne||0;Q.framebufferTextureLayer(36160,36064,ut.__webglTexture,ce||0,pt)}P=-1},this.readRenderTargetPixels=function(U,ne,ce,$,de,Ze,nt){if(!(U&&U.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let it=se.get(U).__webglFramebuffer;if(U.isWebGLCubeRenderTarget&&nt!==void 0&&(it=it[nt]),it){De.bindFramebuffer(36160,it);try{const ut=U.texture,pt=ut.format,mt=ut.type;if(pt!==_i&&he.convert(pt)!==Q.getParameter(35739)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}const yt=mt===ca&&(je.has("EXT_color_buffer_half_float")||Me.isWebGL2&&je.has("EXT_color_buffer_float"));if(mt!==Es&&he.convert(mt)!==Q.getParameter(35738)&&!(mt===Hr&&(Me.isWebGL2||je.has("OES_texture_float")||je.has("WEBGL_color_buffer_float")))&&!yt){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}ne>=0&&ne<=U.width-$&&ce>=0&&ce<=U.height-de&&Q.readPixels(ne,ce,$,de,he.convert(pt),he.convert(mt),Ze)}finally{const ut=C!==null?se.get(C).__webglFramebuffer:null;De.bindFramebuffer(36160,ut)}}},this.copyFramebufferToTexture=function(U,ne,ce=0){const $=Math.pow(2,-ce),de=Math.floor(ne.image.width*$),Ze=Math.floor(ne.image.height*$);ve.setTexture2D(ne,0),Q.copyTexSubImage2D(3553,ce,0,0,U.x,U.y,de,Ze),De.unbindTexture()},this.copyTextureToTexture=function(U,ne,ce,$=0){const de=ne.image.width,Ze=ne.image.height,nt=he.convert(ce.format),it=he.convert(ce.type);ve.setTexture2D(ce,0),Q.pixelStorei(37440,ce.flipY),Q.pixelStorei(37441,ce.premultiplyAlpha),Q.pixelStorei(3317,ce.unpackAlignment),ne.isDataTexture?Q.texSubImage2D(3553,$,U.x,U.y,de,Ze,nt,it,ne.image.data):ne.isCompressedTexture?Q.compressedTexSubImage2D(3553,$,U.x,U.y,ne.mipmaps[0].width,ne.mipmaps[0].height,nt,ne.mipmaps[0].data):Q.texSubImage2D(3553,$,U.x,U.y,nt,it,ne.image),$===0&&ce.generateMipmaps&&Q.generateMipmap(3553),De.unbindTexture()},this.copyTextureToTexture3D=function(U,ne,ce,$,de=0){if(g.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}const Ze=U.max.x-U.min.x+1,nt=U.max.y-U.min.y+1,it=U.max.z-U.min.z+1,ut=he.convert($.format),pt=he.convert($.type);let mt;if($.isData3DTexture)ve.setTexture3D($,0),mt=32879;else if($.isDataArrayTexture)ve.setTexture2DArray($,0),mt=35866;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}Q.pixelStorei(37440,$.flipY),Q.pixelStorei(37441,$.premultiplyAlpha),Q.pixelStorei(3317,$.unpackAlignment);const yt=Q.getParameter(3314),Rt=Q.getParameter(32878),Nn=Q.getParameter(3316),Ei=Q.getParameter(3315),ur=Q.getParameter(32877),Ht=ce.isCompressedTexture?ce.mipmaps[0]:ce.image;Q.pixelStorei(3314,Ht.width),Q.pixelStorei(32878,Ht.height),Q.pixelStorei(3316,U.min.x),Q.pixelStorei(3315,U.min.y),Q.pixelStorei(32877,U.min.z),ce.isDataTexture||ce.isData3DTexture?Q.texSubImage3D(mt,de,ne.x,ne.y,ne.z,Ze,nt,it,ut,pt,Ht.data):ce.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),Q.compressedTexSubImage3D(mt,de,ne.x,ne.y,ne.z,Ze,nt,it,ut,Ht.data)):Q.texSubImage3D(mt,de,ne.x,ne.y,ne.z,Ze,nt,it,ut,pt,Ht),Q.pixelStorei(3314,yt),Q.pixelStorei(32878,Rt),Q.pixelStorei(3316,Nn),Q.pixelStorei(3315,Ei),Q.pixelStorei(32877,ur),de===0&&$.generateMipmaps&&Q.generateMipmap(mt),De.unbindTexture()},this.initTexture=function(U){U.isCubeTexture?ve.setTextureCube(U,0):U.isData3DTexture?ve.setTexture3D(U,0):U.isDataArrayTexture||U.isCompressedArrayTexture?ve.setTexture2DArray(U,0):ve.setTexture2D(U,0),De.unbindTexture()},this.resetState=function(){w=0,T=0,C=null,De.reset(),Ve.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get physicallyCorrectLights(){return console.warn("THREE.WebGLRenderer: the property .physicallyCorrectLights has been removed. Set renderer.useLegacyLights instead."),!this.useLegacyLights}set physicallyCorrectLights(e){console.warn("THREE.WebGLRenderer: the property .physicallyCorrectLights has been removed. Set renderer.useLegacyLights instead."),this.useLegacyLights=!e}}class G2 extends o_{}G2.prototype.isWebGL1Renderer=!0;class Np{constructor(e,t=25e-5){this.isFogExp2=!0,this.name="",this.color=new Re(e),this.density=t}clone(){return new Np(this.color,this.density)}toJSON(){return{type:"FogExp2",color:this.color.getHex(),density:this.density}}}class kp{constructor(e,t=1,i=1e3){this.isFog=!0,this.name="",this.color=new Re(e),this.near=t,this.far=i}clone(){return new kp(this.color,this.near,this.far)}toJSON(){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}}}class up extends St{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,t){return super.copy(e,t),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const t=super.toJSON(e);return this.fog!==null&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(t.object.backgroundIntensity=this.backgroundIntensity),t}get autoUpdate(){return console.warn("THREE.Scene: autoUpdate was renamed to matrixWorldAutoUpdate in r144."),this.matrixWorldAutoUpdate}set autoUpdate(e){console.warn("THREE.Scene: autoUpdate was renamed to matrixWorldAutoUpdate in r144."),this.matrixWorldAutoUpdate=e}}class zp{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=Ic,this.updateRange={offset:0,count:-1},this.version=0,this.uuid=Ui()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,t,i){e*=this.stride,i*=t.stride;for(let r=0,s=this.stride;re.far||t.push({distance:c,point:Iu.clone(),uv:yi.getInterpolation(Iu,Yh,Nu,qh,hw,Yg,dw,new ge),face:null,object:this})}copy(e,t){return super.copy(e,t),e.center!==void 0&&this.center.copy(e.center),this.material=e.material,this}}function Zh(n,e,t,i,r,s){tl.subVectors(n,t).addScalar(.5).multiply(i),r!==void 0?(Du.x=s*tl.x-r*tl.y,Du.y=r*tl.x+s*tl.y):Du.copy(tl),n.copy(e),n.x+=Du.x,n.y+=Du.y,n.applyMatrix4(W2)}const Qh=new N,pw=new N;class j2 extends St{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(e){super.copy(e,!1);const t=e.levels;for(let i=0,r=t.length;i0){let i,r;for(i=1,r=t.length;i0){Qh.setFromMatrixPosition(this.matrixWorld);const r=e.ray.origin.distanceTo(Qh);this.getObjectForDistance(r).raycast(e,t)}}update(e){const t=this.levels;if(t.length>1){Qh.setFromMatrixPosition(e.matrixWorld),pw.setFromMatrixPosition(this.matrixWorld);const i=Qh.distanceTo(pw)/e.zoom;t[0].object.visible=!0;let r,s;for(r=1,s=t.length;r=o)t[r-1].object.visible=!1,t[r].object.visible=!0;else break}for(this._currentLevel=r-1;rc)continue;m.applyMatrix4(this.matrixWorld);const I=e.ray.origin.distanceTo(m);Ie.far||t.push({distance:I,point:d.clone().applyMatrix4(this.matrixWorld),index:w,face:null,faceIndex:null,object:this})}}else{const g=Math.max(0,o.start),x=Math.min(S.count,o.start+o.count);for(let w=g,T=x-1;wc)continue;m.applyMatrix4(this.matrixWorld);const P=e.ray.origin.distanceTo(m);Pe.far||t.push({distance:P,point:d.clone().applyMatrix4(this.matrixWorld),index:w,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const t=this.geometry.morphAttributes,i=Object.keys(t);if(i.length>0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;s0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;sr.far)return;s.push({distance:f,distanceToRay:Math.sqrt(a),point:c,index:e,face:null,object:o})}}class Ek extends un{constructor(e,t,i,r,s,o,a,c,f){super(e,t,i,r,s,o,a,c,f),this.isVideoTexture=!0,this.minFilter=o!==void 0?o:en,this.magFilter=s!==void 0?s:en,this.generateMipmaps=!1;const h=this;function d(){h.needsUpdate=!0,e.requestVideoFrameCallback(d)}"requestVideoFrameCallback"in e&&e.requestVideoFrameCallback(d)}clone(){return new this.constructor(this.image).copy(this)}update(){const e=this.image;"requestVideoFrameCallback"in e===!1&&e.readyState>=e.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}class Tk extends un{constructor(e,t,i){super({width:e,height:t}),this.isFramebufferTexture=!0,this.format=i,this.magFilter=hn,this.minFilter=hn,this.generateMipmaps=!1,this.needsUpdate=!0}}class c_ extends un{constructor(e,t,i,r,s,o,a,c,f,h,d,m){super(null,o,a,c,f,h,r,s,d,m),this.isCompressedTexture=!0,this.image={width:t,height:i},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}class Ak extends c_{constructor(e,t,i,r,s,o){super(e,t,i,s,o),this.isCompressedArrayTexture=!0,this.image.depth=r,this.wrapR=Jn}}class Ck extends un{constructor(e,t,i,r,s,o,a,c,f){super(e,t,i,r,s,o,a,c,f),this.isCanvasTexture=!0,this.needsUpdate=!0}}class br{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(e,t){const i=this.getUtoTmapping(e);return this.getPoint(i,t)}getPoints(e=5){const t=[];for(let i=0;i<=e;i++)t.push(this.getPoint(i/e));return t}getSpacedPoints(e=5){const t=[];for(let i=0;i<=e;i++)t.push(this.getPointAt(i/e));return t}getLength(){const e=this.getLengths();return e[e.length-1]}getLengths(e=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const t=[];let i,r=this.getPoint(0),s=0;t.push(0);for(let o=1;o<=e;o++)i=this.getPoint(o/e),s+=i.distanceTo(r),t.push(s),r=i;return this.cacheArcLengths=t,t}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(e,t){const i=this.getLengths();let r=0;const s=i.length;let o;t?o=t:o=e*i[s-1];let a=0,c=s-1,f;for(;a<=c;)if(r=Math.floor(a+(c-a)/2),f=i[r]-o,f<0)a=r+1;else if(f>0)c=r-1;else{c=r;break}if(r=c,i[r]===o)return r/(s-1);const h=i[r],m=i[r+1]-h,v=(o-h)/m;return(r+v)/(s-1)}getTangent(e,t){let r=e-1e-4,s=e+1e-4;r<0&&(r=0),s>1&&(s=1);const o=this.getPoint(r),a=this.getPoint(s),c=t||(o.isVector2?new ge:new N);return c.copy(a).sub(o).normalize(),c}getTangentAt(e,t){const i=this.getUtoTmapping(e);return this.getTangent(i,t)}computeFrenetFrames(e,t){const i=new N,r=[],s=[],o=[],a=new N,c=new st;for(let v=0;v<=e;v++){const _=v/e;r[v]=this.getTangentAt(_,new N)}s[0]=new N,o[0]=new N;let f=Number.MAX_VALUE;const h=Math.abs(r[0].x),d=Math.abs(r[0].y),m=Math.abs(r[0].z);h<=f&&(f=h,i.set(1,0,0)),d<=f&&(f=d,i.set(0,1,0)),m<=f&&i.set(0,0,1),a.crossVectors(r[0],i).normalize(),s[0].crossVectors(r[0],a),o[0].crossVectors(r[0],s[0]);for(let v=1;v<=e;v++){if(s[v]=s[v-1].clone(),o[v]=o[v-1].clone(),a.crossVectors(r[v-1],r[v]),a.length()>Number.EPSILON){a.normalize();const _=Math.acos(ln(r[v-1].dot(r[v]),-1,1));s[v].applyMatrix4(c.makeRotationAxis(a,_))}o[v].crossVectors(r[v],s[v])}if(t===!0){let v=Math.acos(ln(s[0].dot(s[e]),-1,1));v/=e,r[0].dot(a.crossVectors(s[0],s[e]))>0&&(v=-v);for(let _=1;_<=e;_++)s[_].applyMatrix4(c.makeRotationAxis(r[_],v*_)),o[_].crossVectors(r[_],s[_])}return{tangents:r,normals:s,binormals:o}}clone(){return new this.constructor().copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){const e={metadata:{version:4.5,type:"Curve",generator:"Curve.toJSON"}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}}class Op extends br{constructor(e=0,t=0,i=1,r=1,s=0,o=Math.PI*2,a=!1,c=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=e,this.aY=t,this.xRadius=i,this.yRadius=r,this.aStartAngle=s,this.aEndAngle=o,this.aClockwise=a,this.aRotation=c}getPoint(e,t){const i=t||new ge,r=Math.PI*2;let s=this.aEndAngle-this.aStartAngle;const o=Math.abs(s)r;)s-=r;s0?0:(Math.floor(Math.abs(a)/s)+1)*s:c===0&&a===s-1&&(a=s-2,c=1);let f,h;this.closed||a>0?f=r[(a-1)%s]:(td.subVectors(r[0],r[1]).add(r[0]),f=td);const d=r[a%s],m=r[(a+1)%s];if(this.closed||a+2r.length-2?r.length-1:o+1],d=r[o>r.length-3?r.length-1:o+2];return i.set(Pw(a,c.x,f.x,h.x,d.x),Pw(a,c.y,f.y,h.y,d.y)),i}copy(e){super.copy(e),this.points=[];for(let t=0,i=e.points.length;t=i){const o=r[s]-i,a=this.curves[s],c=a.getLength(),f=c===0?0:1-o/c;return a.getPointAt(f,t)}s++}return null}getLength(){const e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const e=[];let t=0;for(let i=0,r=this.curves.length;i1&&!t[t.length-1].equals(t[0])&&t.push(t[0]),t}copy(e){super.copy(e),this.curves=[];for(let t=0,i=e.curves.length;t0){const d=f.getPoint(0);d.equals(this.currentPoint)||this.lineTo(d.x,d.y)}this.curves.push(f);const h=f.getPoint(1);return this.currentPoint.copy(h),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){const e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}}class Zl extends lt{constructor(e=[new ge(0,-.5),new ge(.5,0),new ge(0,.5)],t=12,i=0,r=Math.PI*2){super(),this.type="LatheGeometry",this.parameters={points:e,segments:t,phiStart:i,phiLength:r},t=Math.floor(t),r=ln(r,0,Math.PI*2);const s=[],o=[],a=[],c=[],f=[],h=1/t,d=new N,m=new ge,v=new N,_=new N,E=new N;let S=0,g=0;for(let x=0;x<=e.length-1;x++)switch(x){case 0:S=e[x+1].x-e[x].x,g=e[x+1].y-e[x].y,v.x=g*1,v.y=-S,v.z=g*0,E.copy(v),v.normalize(),c.push(v.x,v.y,v.z);break;case e.length-1:c.push(E.x,E.y,E.z);break;default:S=e[x+1].x-e[x].x,g=e[x+1].y-e[x].y,v.x=g*1,v.y=-S,v.z=g*0,_.copy(v),v.x+=E.x,v.y+=E.y,v.z+=E.z,v.normalize(),c.push(v.x,v.y,v.z),E.copy(_)}for(let x=0;x<=t;x++){const w=i+x*h*r,T=Math.sin(w),C=Math.cos(w);for(let P=0;P<=e.length-1;P++){d.x=e[P].x*T,d.y=e[P].y,d.z=e[P].x*C,o.push(d.x,d.y,d.z),m.x=x/t,m.y=P/(e.length-1),a.push(m.x,m.y);const R=c[3*P+0]*T,I=c[3*P+1],b=c[3*P+0]*C;f.push(R,I,b)}}for(let x=0;x0&&w(!0),t>0&&w(!1)),this.setIndex(h),this.setAttribute("position",new Be(d,3)),this.setAttribute("normal",new Be(m,3)),this.setAttribute("uv",new Be(v,2));function x(){const T=new N,C=new N;let P=0;const R=(t-e)/i;for(let I=0;I<=s;I++){const b=[],L=I/s,H=L*(t-e)+e;for(let q=0;q<=r;q++){const G=q/r,W=G*c+a,ee=Math.sin(W),oe=Math.cos(W);C.x=H*ee,C.y=-L*i+S,C.z=H*oe,d.push(C.x,C.y,C.z),T.set(ee,R,oe).normalize(),m.push(T.x,T.y,T.z),v.push(G,1-L),b.push(_++)}E.push(b)}for(let I=0;I.9&&R<.1&&(w<.2&&(o[x+0]+=1),T<.2&&(o[x+2]+=1),C<.2&&(o[x+4]+=1))}}function m(x){s.push(x.x,x.y,x.z)}function v(x,w){const T=x*3;w.x=e[T+0],w.y=e[T+1],w.z=e[T+2]}function _(){const x=new N,w=new N,T=new N,C=new N,P=new ge,R=new ge,I=new ge;for(let b=0,L=0;b80*t){a=f=n[0],c=h=n[1];for(let _=t;_f&&(f=d),m>h&&(h=m);v=Math.max(f-a,h-c),v=v!==0?32767/v:0}return kc(s,o,t,a,c,v,0),o}};function i3(n,e,t,i,r){let s,o;if(r===Jk(n,e,t,i)>0)for(s=e;s=e;s-=i)o=Lw(s,n[s],n[s+1],o);return o&&Bp(o,o.next)&&(Uc(o),o=o.next),o}function da(n,e){if(!n)return n;e||(e=n);let t=n,i;do if(i=!1,!t.steiner&&(Bp(t,t.next)||tn(t.prev,t,t.next)===0)){if(Uc(t),t=e=t.prev,t===t.next)break;i=!0}else t=t.next;while(i||t!==e);return e}function kc(n,e,t,i,r,s,o){if(!n)return;!o&&s&&Xk(n,i,r,s);let a=n,c,f;for(;n.prev!==n.next;){if(c=n.prev,f=n.next,s?Uk(n,i,r,s):zk(n)){e.push(c.i/t|0),e.push(n.i/t|0),e.push(f.i/t|0),Uc(n),n=f.next,a=f.next;continue}if(n=f,n===a){o?o===1?(n=Ok(da(n),e,t),kc(n,e,t,i,r,s,2)):o===2&&Fk(n,e,t,i,r,s):kc(da(n),e,t,i,r,s,1);break}}}function zk(n){const e=n.prev,t=n,i=n.next;if(tn(e,t,i)>=0)return!1;const r=e.x,s=t.x,o=i.x,a=e.y,c=t.y,f=i.y,h=rs?r>o?r:o:s>o?s:o,v=a>c?a>f?a:f:c>f?c:f;let _=i.next;for(;_!==e;){if(_.x>=h&&_.x<=m&&_.y>=d&&_.y<=v&&wl(r,a,s,c,o,f,_.x,_.y)&&tn(_.prev,_,_.next)>=0)return!1;_=_.next}return!0}function Uk(n,e,t,i){const r=n.prev,s=n,o=n.next;if(tn(r,s,o)>=0)return!1;const a=r.x,c=s.x,f=o.x,h=r.y,d=s.y,m=o.y,v=ac?a>f?a:f:c>f?c:f,S=h>d?h>m?h:m:d>m?d:m,g=Bv(v,_,e,t,i),x=Bv(E,S,e,t,i);let w=n.prevZ,T=n.nextZ;for(;w&&w.z>=g&&T&&T.z<=x;){if(w.x>=v&&w.x<=E&&w.y>=_&&w.y<=S&&w!==r&&w!==o&&wl(a,h,c,d,f,m,w.x,w.y)&&tn(w.prev,w,w.next)>=0||(w=w.prevZ,T.x>=v&&T.x<=E&&T.y>=_&&T.y<=S&&T!==r&&T!==o&&wl(a,h,c,d,f,m,T.x,T.y)&&tn(T.prev,T,T.next)>=0))return!1;T=T.nextZ}for(;w&&w.z>=g;){if(w.x>=v&&w.x<=E&&w.y>=_&&w.y<=S&&w!==r&&w!==o&&wl(a,h,c,d,f,m,w.x,w.y)&&tn(w.prev,w,w.next)>=0)return!1;w=w.prevZ}for(;T&&T.z<=x;){if(T.x>=v&&T.x<=E&&T.y>=_&&T.y<=S&&T!==r&&T!==o&&wl(a,h,c,d,f,m,T.x,T.y)&&tn(T.prev,T,T.next)>=0)return!1;T=T.nextZ}return!0}function Ok(n,e,t){let i=n;do{const r=i.prev,s=i.next.next;!Bp(r,s)&&r3(r,i,i.next,s)&&zc(r,s)&&zc(s,r)&&(e.push(r.i/t|0),e.push(i.i/t|0),e.push(s.i/t|0),Uc(i),Uc(i.next),i=n=s),i=i.next}while(i!==n);return da(i)}function Fk(n,e,t,i,r,s){let o=n;do{let a=o.next.next;for(;a!==o.prev;){if(o.i!==a.i&&qk(o,a)){let c=s3(o,a);o=da(o,o.next),c=da(c,c.next),kc(o,e,t,i,r,s,0),kc(c,e,t,i,r,s,0);return}a=a.next}o=o.next}while(o!==n)}function Bk(n,e,t,i){const r=[];let s,o,a,c,f;for(s=0,o=e.length;s=t.next.y&&t.next.y!==t.y){const m=t.x+(o-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(m<=s&&m>i&&(i=m,r=t.x=t.x&&t.x>=c&&s!==t.x&&wl(or.x||t.x===r.x&&Wk(r,t)))&&(r=t,h=d)),t=t.next;while(t!==a);return r}function Wk(n,e){return tn(n.prev,n,e.prev)<0&&tn(e.next,n,n.next)<0}function Xk(n,e,t,i){let r=n;do r.z===0&&(r.z=Bv(r.x,r.y,e,t,i)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next;while(r!==n);r.prevZ.nextZ=null,r.prevZ=null,jk(r)}function jk(n){let e,t,i,r,s,o,a,c,f=1;do{for(t=n,n=null,s=null,o=0;t;){for(o++,i=t,a=0,e=0;e0||c>0&&i;)a!==0&&(c===0||!i||t.z<=i.z)?(r=t,t=t.nextZ,a--):(r=i,i=i.nextZ,c--),s?s.nextZ=r:n=r,r.prevZ=s,s=r;t=i}s.nextZ=null,f*=2}while(o>1);return n}function Bv(n,e,t,i,r){return n=(n-t)*r|0,e=(e-i)*r|0,n=(n|n<<8)&16711935,n=(n|n<<4)&252645135,n=(n|n<<2)&858993459,n=(n|n<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,n|e<<1}function Yk(n){let e=n,t=n;do(e.x=(n-o)*(s-a)&&(n-o)*(i-a)>=(t-o)*(e-a)&&(t-o)*(s-a)>=(r-o)*(i-a)}function qk(n,e){return n.next.i!==e.i&&n.prev.i!==e.i&&!Zk(n,e)&&(zc(n,e)&&zc(e,n)&&Qk(n,e)&&(tn(n.prev,n,e.prev)||tn(n,e.prev,e))||Bp(n,e)&&tn(n.prev,n,n.next)>0&&tn(e.prev,e,e.next)>0)}function tn(n,e,t){return(e.y-n.y)*(t.x-e.x)-(e.x-n.x)*(t.y-e.y)}function Bp(n,e){return n.x===e.x&&n.y===e.y}function r3(n,e,t,i){const r=od(tn(n,e,t)),s=od(tn(n,e,i)),o=od(tn(t,i,n)),a=od(tn(t,i,e));return!!(r!==s&&o!==a||r===0&&sd(n,t,e)||s===0&&sd(n,i,e)||o===0&&sd(t,n,i)||a===0&&sd(t,e,i))}function sd(n,e,t){return e.x<=Math.max(n.x,t.x)&&e.x>=Math.min(n.x,t.x)&&e.y<=Math.max(n.y,t.y)&&e.y>=Math.min(n.y,t.y)}function od(n){return n>0?1:n<0?-1:0}function Zk(n,e){let t=n;do{if(t.i!==n.i&&t.next.i!==n.i&&t.i!==e.i&&t.next.i!==e.i&&r3(t,t.next,n,e))return!0;t=t.next}while(t!==n);return!1}function zc(n,e){return tn(n.prev,n,n.next)<0?tn(n,e,n.next)>=0&&tn(n,n.prev,e)>=0:tn(n,e,n.prev)<0||tn(n,n.next,e)<0}function Qk(n,e){let t=n,i=!1;const r=(n.x+e.x)/2,s=(n.y+e.y)/2;do t.y>s!=t.next.y>s&&t.next.y!==t.y&&r<(t.next.x-t.x)*(s-t.y)/(t.next.y-t.y)+t.x&&(i=!i),t=t.next;while(t!==n);return i}function s3(n,e){const t=new Vv(n.i,n.x,n.y),i=new Vv(e.i,e.x,e.y),r=n.next,s=e.prev;return n.next=e,e.prev=n,t.next=r,r.prev=t,i.next=t,t.prev=i,s.next=i,i.prev=s,i}function Lw(n,e,t,i){const r=new Vv(n,e,t);return i?(r.next=i.next,r.prev=i,i.next.prev=r,i.next=r):(r.prev=r,r.next=r),r}function Uc(n){n.next.prev=n.prev,n.prev.next=n.next,n.prevZ&&(n.prevZ.nextZ=n.nextZ),n.nextZ&&(n.nextZ.prevZ=n.prevZ)}function Vv(n,e,t){this.i=n,this.x=e,this.y=t,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function Jk(n,e,t,i){let r=0;for(let s=e,o=t-i;s2&&n[e-1].equals(n[0])&&n.pop()}function Iw(n,e){for(let t=0;tNumber.EPSILON){const ie=Math.sqrt(F),_e=Math.sqrt(rt*rt+Et*Et),Se=se.x-Ye/ie,be=se.y+$e/ie,tt=ve.x-Et/_e,ke=ve.y+rt/_e,he=((tt-Se)*Et-(ke-be)*rt)/($e*Et-Ye*rt);Ue=Se+$e*he-me.x,Ce=be+Ye*he-me.y;const Ve=Ue*Ue+Ce*Ce;if(Ve<=2)return new ge(Ue,Ce);Ke=Math.sqrt(Ve/2)}else{let ie=!1;$e>Number.EPSILON?rt>Number.EPSILON&&(ie=!0):$e<-Number.EPSILON?rt<-Number.EPSILON&&(ie=!0):Math.sign(Ye)===Math.sign(Et)&&(ie=!0),ie?(Ue=-Ye,Ce=$e,Ke=Math.sqrt(F)):(Ue=$e,Ce=Ye,Ke=Math.sqrt(F/2))}return new ge(Ue/Ke,Ce/Ke)}const V=[];for(let me=0,se=W.length,ve=se-1,Ue=me+1;me=0;me--){const se=me/S,ve=v*Math.cos(se*Math.PI/2),Ue=_*Math.sin(se*Math.PI/2)+E;for(let Ce=0,Ke=W.length;Ce=0;){const Ue=ve;let Ce=ve-1;Ce<0&&(Ce=me.length-1);for(let Ke=0,$e=h+S*2;Ke<$e;Ke++){const Ye=oe*Ke,rt=oe*(Ke+1),Et=se+Ue+Ye,F=se+Ce+Ye,k=se+Ce+rt,ie=se+Ue+rt;je(Et,F,k,ie)}}}function Q(me,se,ve){c.push(me),c.push(se),c.push(ve)}function Qe(me,se,ve){Me(me),Me(se),Me(ve);const Ue=r.length/3,Ce=x.generateTopUV(i,r,Ue-3,Ue-2,Ue-1);De(Ce[0]),De(Ce[1]),De(Ce[2])}function je(me,se,ve,Ue){Me(me),Me(se),Me(Ue),Me(se),Me(ve),Me(Ue);const Ce=r.length/3,Ke=x.generateSideWallUV(i,r,Ce-6,Ce-3,Ce-2,Ce-1);De(Ke[0]),De(Ke[1]),De(Ke[3]),De(Ke[1]),De(Ke[2]),De(Ke[3])}function Me(me){r.push(c[me*3+0]),r.push(c[me*3+1]),r.push(c[me*3+2])}function De(me){s.push(me.x),s.push(me.y)}}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}toJSON(){const e=super.toJSON(),t=this.parameters.shapes,i=this.parameters.options;return $k(t,i,e)}static fromJSON(e,t){const i=[];for(let s=0,o=e.shapes.length;s0)&&v.push(w,T,P),(g!==i-1||c0!=e>0&&this.version++,this._sheen=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class c3 extends Bn{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new Re(16777215),this.specular=new Re(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Re(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=yo,this.normalScale=new ge(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Zc,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.specular.copy(e.specular),this.shininess=e.shininess,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class f3 extends Bn{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new Re(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Re(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=yo,this.normalScale=new ge(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.gradientMap=e.gradientMap,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}class h3 extends Bn{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=yo,this.normalScale=new ge(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.flatShading=e.flatShading,this}}class d3 extends Bn{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new Re(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Re(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=yo,this.normalScale=new ge(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Zc,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class p3 extends Bn{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new Re(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=yo,this.normalScale=new ge(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={MATCAP:""},this.color.copy(e.color),this.matcap=e.matcap,this.map=e.map,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.flatShading=e.flatShading,this.fog=e.fog,this}}class m3 extends $n{constructor(e){super(),this.isLineDashedMaterial=!0,this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(e)}copy(e){return super.copy(e),this.scale=e.scale,this.dashSize=e.dashSize,this.gapSize=e.gapSize,this}}function Ki(n,e,t){return y_(n)?new n.constructor(n.subarray(e,t!==void 0?t:n.length)):n.slice(e,t)}function Qo(n,e,t){return!n||!t&&n.constructor===e?n:typeof e.BYTES_PER_ELEMENT=="number"?new e(n):Array.prototype.slice.call(n)}function y_(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}function g3(n){function e(r,s){return n[r]-n[s]}const t=n.length,i=new Array(t);for(let r=0;r!==t;++r)i[r]=r;return i.sort(e),i}function Hv(n,e,t){const i=n.length,r=new n.constructor(i);for(let s=0,o=0;o!==i;++s){const a=t[s]*e;for(let c=0;c!==e;++c)r[o++]=n[a+c]}return r}function __(n,e,t,i){let r=1,s=n[0];for(;s!==void 0&&s[i]===void 0;)s=n[r++];if(s===void 0)return;let o=s[i];if(o!==void 0)if(Array.isArray(o))do o=s[i],o!==void 0&&(e.push(s.time),t.push.apply(t,o)),s=n[r++];while(s!==void 0);else if(o.toArray!==void 0)do o=s[i],o!==void 0&&(e.push(s.time),o.toArray(t,t.length)),s=n[r++];while(s!==void 0);else do o=s[i],o!==void 0&&(e.push(s.time),t.push(o)),s=n[r++];while(s!==void 0)}function tz(n,e,t,i,r=30){const s=n.clone();s.name=e;const o=[];for(let c=0;c=i)){d.push(f.times[v]);for(let E=0;Es.tracks[c].times[0]&&(a=s.tracks[c].times[0]);for(let c=0;c=a.times[_]){const g=_*d+h,x=g+d-h;E=Ki(a.values,g,x)}else{const g=a.createInterpolant(),x=h,w=d-h;g.evaluate(s),E=Ki(g.resultBuffer,x,w)}c==="quaternion"&&new It().fromArray(E).normalize().conjugate().toArray(E);const S=f.times.length;for(let g=0;g=s)){const a=t[1];e=s)break t}o=i,i=0;break n}break e}for(;i>>1;et;)--o;if(++o,s!==0||o!==r){s>=o&&(o=Math.max(o,1),s=o-1);const a=this.getValueSize();this.times=Ki(i,s,o),this.values=Ki(this.values,s*a,o*a)}return this}validate(){let e=!0;const t=this.getValueSize();t-Math.floor(t)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),e=!1);const i=this.times,r=this.values,s=i.length;s===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);let o=null;for(let a=0;a!==s;a++){const c=i[a];if(typeof c=="number"&&isNaN(c)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,a,c),e=!1;break}if(o!==null&&o>c){console.error("THREE.KeyframeTrack: Out of order keys.",this,a,c,o),e=!1;break}o=c}if(r!==void 0&&y_(r))for(let a=0,c=r.length;a!==c;++a){const f=r[a];if(isNaN(f)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,a,f),e=!1;break}}return e}optimize(){const e=Ki(this.times),t=Ki(this.values),i=this.getValueSize(),r=this.getInterpolation()===Dd,s=e.length-1;let o=1;for(let a=1;a0){e[o]=e[s];for(let a=s*i,c=o*i,f=0;f!==i;++f)t[c+f]=t[a+f];++o}return o!==e.length?(this.times=Ki(e,0,o),this.values=Ki(t,0,o*i)):(this.times=e,this.values=t),this}clone(){const e=Ki(this.times,0),t=Ki(this.values,0),i=this.constructor,r=new i(this.name,e,t);return r.createInterpolant=this.createInterpolant,r}}Pr.prototype.TimeBufferType=Float32Array;Pr.prototype.ValueBufferType=Float32Array;Pr.prototype.DefaultInterpolation=Lc;class _a extends Pr{}_a.prototype.ValueTypeName="bool";_a.prototype.ValueBufferType=Array;_a.prototype.DefaultInterpolation=Pc;_a.prototype.InterpolantFactoryMethodLinear=void 0;_a.prototype.InterpolantFactoryMethodSmooth=void 0;class S_ extends Pr{}S_.prototype.ValueTypeName="color";class Oc extends Pr{}Oc.prototype.ValueTypeName="number";class _3 extends hf{constructor(e,t,i,r){super(e,t,i,r)}interpolate_(e,t,i,r){const s=this.resultBuffer,o=this.sampleValues,a=this.valueSize,c=(i-t)/(r-t);let f=e*a;for(let h=f+a;f!==h;f+=4)It.slerpFlat(s,0,o,f-a,o,f,c);return s}}class Ql extends Pr{InterpolantFactoryMethodLinear(e){return new _3(this.times,this.values,this.getValueSize(),e)}}Ql.prototype.ValueTypeName="quaternion";Ql.prototype.DefaultInterpolation=Lc;Ql.prototype.InterpolantFactoryMethodSmooth=void 0;class xa extends Pr{}xa.prototype.ValueTypeName="string";xa.prototype.ValueBufferType=Array;xa.prototype.DefaultInterpolation=Pc;xa.prototype.InterpolantFactoryMethodLinear=void 0;xa.prototype.InterpolantFactoryMethodSmooth=void 0;class Fc extends Pr{}Fc.prototype.ValueTypeName="vector";class Bc{constructor(e,t=-1,i,r=Lp){this.name=e,this.tracks=i,this.duration=t,this.blendMode=r,this.uuid=Ui(),this.duration<0&&this.resetDuration()}static parse(e){const t=[],i=e.tracks,r=1/(e.fps||1);for(let o=0,a=i.length;o!==a;++o)t.push(sz(i[o]).scale(r));const s=new this(e.name,e.duration,t,e.blendMode);return s.uuid=e.uuid,s}static toJSON(e){const t=[],i=e.tracks,r={name:e.name,duration:e.duration,tracks:t,uuid:e.uuid,blendMode:e.blendMode};for(let s=0,o=i.length;s!==o;++s)t.push(Pr.toJSON(i[s]));return r}static CreateFromMorphTargetSequence(e,t,i,r){const s=t.length,o=[];for(let a=0;a1){const d=h[1];let m=r[d];m||(r[d]=m=[]),m.push(f)}}const o=[];for(const a in r)o.push(this.CreateFromMorphTargetSequence(a,r[a],t,i));return o}static parseAnimation(e,t){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const i=function(d,m,v,_,E){if(v.length!==0){const S=[],g=[];__(v,S,g,_),S.length!==0&&E.push(new d(m,S,g))}},r=[],s=e.name||"default",o=e.fps||30,a=e.blendMode;let c=e.length||-1;const f=e.hierarchy||[];for(let d=0;d{t&&t(s),this.manager.itemEnd(e)},0),s;if(cs[e]!==void 0){cs[e].push({onLoad:t,onProgress:i,onError:r});return}cs[e]=[],cs[e].push({onLoad:t,onProgress:i,onError:r});const o=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),a=this.mimeType,c=this.responseType;fetch(o).then(f=>{if(f.status===200||f.status===0){if(f.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||f.body===void 0||f.body.getReader===void 0)return f;const h=cs[e],d=f.body.getReader(),m=f.headers.get("Content-Length")||f.headers.get("X-File-Size"),v=m?parseInt(m):0,_=v!==0;let E=0;const S=new ReadableStream({start(g){x();function x(){d.read().then(({done:w,value:T})=>{if(w)g.close();else{E+=T.byteLength;const C=new ProgressEvent("progress",{lengthComputable:_,loaded:E,total:v});for(let P=0,R=h.length;P{switch(c){case"arraybuffer":return f.arrayBuffer();case"blob":return f.blob();case"document":return f.text().then(h=>new DOMParser().parseFromString(h,a));case"json":return f.json();default:if(a===void 0)return f.text();{const d=/charset="?([^;"\s]*)"?/i.exec(a),m=d&&d[1]?d[1].toLowerCase():void 0,v=new TextDecoder(m);return f.arrayBuffer().then(_=>v.decode(_))}}}).then(f=>{pa.add(e,f);const h=cs[e];delete cs[e];for(let d=0,m=h.length;d{const h=cs[e];if(h===void 0)throw this.manager.itemError(e),f;delete cs[e];for(let d=0,m=h.length;d{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class az extends Vi{constructor(e){super(e)}load(e,t,i,r){const s=this,o=new As(this.manager);o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,function(a){try{t(s.parse(JSON.parse(a)))}catch(c){r?r(c):console.error(c),s.manager.itemError(e)}},i,r)}parse(e){const t=[];for(let i=0;i0:r.vertexColors=e.vertexColors),e.uniforms!==void 0)for(const s in e.uniforms){const o=e.uniforms[s];switch(r.uniforms[s]={},o.type){case"t":r.uniforms[s].value=i(o.value);break;case"c":r.uniforms[s].value=new Re().setHex(o.value);break;case"v2":r.uniforms[s].value=new ge().fromArray(o.value);break;case"v3":r.uniforms[s].value=new N().fromArray(o.value);break;case"v4":r.uniforms[s].value=new Nt().fromArray(o.value);break;case"m3":r.uniforms[s].value=new xt().fromArray(o.value);break;case"m4":r.uniforms[s].value=new st().fromArray(o.value);break;default:r.uniforms[s].value=o.value}}if(e.defines!==void 0&&(r.defines=e.defines),e.vertexShader!==void 0&&(r.vertexShader=e.vertexShader),e.fragmentShader!==void 0&&(r.fragmentShader=e.fragmentShader),e.glslVersion!==void 0&&(r.glslVersion=e.glslVersion),e.extensions!==void 0)for(const s in e.extensions)r.extensions[s]=e.extensions[s];if(e.size!==void 0&&(r.size=e.size),e.sizeAttenuation!==void 0&&(r.sizeAttenuation=e.sizeAttenuation),e.map!==void 0&&(r.map=i(e.map)),e.matcap!==void 0&&(r.matcap=i(e.matcap)),e.alphaMap!==void 0&&(r.alphaMap=i(e.alphaMap)),e.bumpMap!==void 0&&(r.bumpMap=i(e.bumpMap)),e.bumpScale!==void 0&&(r.bumpScale=e.bumpScale),e.normalMap!==void 0&&(r.normalMap=i(e.normalMap)),e.normalMapType!==void 0&&(r.normalMapType=e.normalMapType),e.normalScale!==void 0){let s=e.normalScale;Array.isArray(s)===!1&&(s=[s,s]),r.normalScale=new ge().fromArray(s)}return e.displacementMap!==void 0&&(r.displacementMap=i(e.displacementMap)),e.displacementScale!==void 0&&(r.displacementScale=e.displacementScale),e.displacementBias!==void 0&&(r.displacementBias=e.displacementBias),e.roughnessMap!==void 0&&(r.roughnessMap=i(e.roughnessMap)),e.metalnessMap!==void 0&&(r.metalnessMap=i(e.metalnessMap)),e.emissiveMap!==void 0&&(r.emissiveMap=i(e.emissiveMap)),e.emissiveIntensity!==void 0&&(r.emissiveIntensity=e.emissiveIntensity),e.specularMap!==void 0&&(r.specularMap=i(e.specularMap)),e.specularIntensityMap!==void 0&&(r.specularIntensityMap=i(e.specularIntensityMap)),e.specularColorMap!==void 0&&(r.specularColorMap=i(e.specularColorMap)),e.envMap!==void 0&&(r.envMap=i(e.envMap)),e.envMapIntensity!==void 0&&(r.envMapIntensity=e.envMapIntensity),e.reflectivity!==void 0&&(r.reflectivity=e.reflectivity),e.refractionRatio!==void 0&&(r.refractionRatio=e.refractionRatio),e.lightMap!==void 0&&(r.lightMap=i(e.lightMap)),e.lightMapIntensity!==void 0&&(r.lightMapIntensity=e.lightMapIntensity),e.aoMap!==void 0&&(r.aoMap=i(e.aoMap)),e.aoMapIntensity!==void 0&&(r.aoMapIntensity=e.aoMapIntensity),e.gradientMap!==void 0&&(r.gradientMap=i(e.gradientMap)),e.clearcoatMap!==void 0&&(r.clearcoatMap=i(e.clearcoatMap)),e.clearcoatRoughnessMap!==void 0&&(r.clearcoatRoughnessMap=i(e.clearcoatRoughnessMap)),e.clearcoatNormalMap!==void 0&&(r.clearcoatNormalMap=i(e.clearcoatNormalMap)),e.clearcoatNormalScale!==void 0&&(r.clearcoatNormalScale=new ge().fromArray(e.clearcoatNormalScale)),e.iridescenceMap!==void 0&&(r.iridescenceMap=i(e.iridescenceMap)),e.iridescenceThicknessMap!==void 0&&(r.iridescenceThicknessMap=i(e.iridescenceThicknessMap)),e.transmissionMap!==void 0&&(r.transmissionMap=i(e.transmissionMap)),e.thicknessMap!==void 0&&(r.thicknessMap=i(e.thicknessMap)),e.sheenColorMap!==void 0&&(r.sheenColorMap=i(e.sheenColorMap)),e.sheenRoughnessMap!==void 0&&(r.sheenRoughnessMap=i(e.sheenRoughnessMap)),r}setTextures(e){return this.textures=e,this}static createMaterialFromType(e){const t={ShadowMaterial:a3,SpriteMaterial:a_,RawShaderMaterial:l3,ShaderMaterial:jr,PointsMaterial:u_,MeshPhysicalMaterial:u3,MeshStandardMaterial:v_,MeshPhongMaterial:c3,MeshToonMaterial:f3,MeshNormalMaterial:h3,MeshLambertMaterial:d3,MeshDepthMaterial:i_,MeshDistanceMaterial:r_,MeshBasicMaterial:Zr,MeshMatcapMaterial:p3,LineDashedMaterial:m3,LineBasicMaterial:$n,Material:Bn};return new t[e]}}class Gv{static decodeText(e){if(typeof TextDecoder<"u")return new TextDecoder().decode(e);let t="";for(let i=0,r=e.length;i0){const c=new w_(t);s=new Vc(c),s.setCrossOrigin(this.crossOrigin);for(let f=0,h=e.length;f0){r=new Vc(this.manager),r.setCrossOrigin(this.crossOrigin);for(let o=0,a=e.length;o"u"&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),typeof fetch>"u"&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.options={premultiplyAlpha:"none"}}setOptions(e){return this.options=e,this}load(e,t,i,r){e===void 0&&(e=""),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const s=this,o=pa.get(e);if(o!==void 0)return s.manager.itemStart(e),setTimeout(function(){t&&t(o),s.manager.itemEnd(e)},0),o;const a={};a.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",a.headers=this.requestHeader,fetch(e,a).then(function(c){return c.blob()}).then(function(c){return createImageBitmap(c,Object.assign(s.options,{colorSpaceConversion:"none"}))}).then(function(c){pa.add(e,c),t&&t(c),s.manager.itemEnd(e)}).catch(function(c){r&&r(c),s.manager.itemError(e),s.manager.itemEnd(e)}),s.manager.itemStart(e)}}let ad;class E_{static getContext(){return ad===void 0&&(ad=new(window.AudioContext||window.webkitAudioContext)),ad}static setContext(e){ad=e}}class yz extends Vi{constructor(e){super(e)}load(e,t,i,r){const s=this,o=new As(this.manager);o.setResponseType("arraybuffer"),o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,function(a){try{const c=a.slice(0);E_.getContext().decodeAudioData(c,function(h){t(h)})}catch(c){r?r(c):console.error(c),s.manager.itemError(e)}},i,r)}}class _z extends Vp{constructor(e,t,i=1){super(void 0,i),this.isHemisphereLightProbe=!0;const r=new Re().set(e),s=new Re().set(t),o=new N(r.r,r.g,r.b),a=new N(s.r,s.g,s.b),c=Math.sqrt(Math.PI),f=c*Math.sqrt(.75);this.sh.coefficients[0].copy(o).add(a).multiplyScalar(c),this.sh.coefficients[1].copy(o).sub(a).multiplyScalar(f)}}class xz extends Vp{constructor(e,t=1){super(void 0,t),this.isAmbientLightProbe=!0;const i=new Re().set(e);this.sh.coefficients[0].set(i.r,i.g,i.b).multiplyScalar(2*Math.sqrt(Math.PI))}}const Bw=new st,Vw=new st,Do=new st;class Sz{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new In,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new In,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1,this._cache={focus:null,fov:null,aspect:null,near:null,far:null,zoom:null,eyeSep:null}}update(e){const t=this._cache;if(t.focus!==e.focus||t.fov!==e.fov||t.aspect!==e.aspect*this.aspect||t.near!==e.near||t.far!==e.far||t.zoom!==e.zoom||t.eyeSep!==this.eyeSep){t.focus=e.focus,t.fov=e.fov,t.aspect=e.aspect*this.aspect,t.near=e.near,t.far=e.far,t.zoom=e.zoom,t.eyeSep=this.eyeSep,Do.copy(e.projectionMatrix);const r=t.eyeSep/2,s=r*t.near/t.focus,o=t.near*Math.tan(na*t.fov*.5)/t.zoom;let a,c;Vw.elements[12]=-r,Bw.elements[12]=r,a=-o*t.aspect+s,c=o*t.aspect+s,Do.elements[0]=2*t.near/(c-a),Do.elements[8]=(c+a)/(c-a),this.cameraL.projectionMatrix.copy(Do),a=-o*t.aspect-s,c=o*t.aspect-s,Do.elements[0]=2*t.near/(c-a),Do.elements[8]=(c+a)/(c-a),this.cameraR.projectionMatrix.copy(Do)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(Vw),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(Bw)}}class T_{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=Hw(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let e=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const t=Hw();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}function Hw(){return(typeof performance>"u"?Date:performance).now()}const No=new N,Gw=new It,wz=new N,ko=new N;class Mz extends St{constructor(){super(),this.type="AudioListener",this.context=E_.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new T_}getInput(){return this.gain}removeFilter(){return this.filter!==null&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this}getFilter(){return this.filter}setFilter(e){return this.filter!==null?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=e,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(e){return this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01),this}updateMatrixWorld(e){super.updateMatrixWorld(e);const t=this.context.listener,i=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(No,Gw,wz),ko.set(0,0,-1).applyQuaternion(Gw),t.positionX){const r=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime(No.x,r),t.positionY.linearRampToValueAtTime(No.y,r),t.positionZ.linearRampToValueAtTime(No.z,r),t.forwardX.linearRampToValueAtTime(ko.x,r),t.forwardY.linearRampToValueAtTime(ko.y,r),t.forwardZ.linearRampToValueAtTime(ko.z,r),t.upX.linearRampToValueAtTime(i.x,r),t.upY.linearRampToValueAtTime(i.y,r),t.upZ.linearRampToValueAtTime(i.z,r)}else t.setPosition(No.x,No.y,No.z),t.setOrientation(ko.x,ko.y,ko.z,i.x,i.y,i.z)}}class L3 extends St{constructor(e){super(),this.type="Audio",this.listener=e,this.context=e.context,this.gain=this.context.createGain(),this.gain.connect(e.getInput()),this.autoplay=!1,this.buffer=null,this.detune=0,this.loop=!1,this.loopStart=0,this.loopEnd=0,this.offset=0,this.duration=void 0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.source=null,this.sourceType="empty",this._startedAt=0,this._progress=0,this._connected=!1,this.filters=[]}getOutput(){return this.gain}setNodeSource(e){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=e,this.connect(),this}setMediaElementSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(e),this.connect(),this}setMediaStreamSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(e),this.connect(),this}setBuffer(e){return this.buffer=e,this.sourceType="buffer",this.autoplay&&this.play(),this}play(e=0){if(this.isPlaying===!0){console.warn("THREE.Audio: Audio is already playing.");return}if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}this._startedAt=this.context.currentTime+e;const t=this.context.createBufferSource();return t.buffer=this.buffer,t.loop=this.loop,t.loopStart=this.loopStart,t.loopEnd=this.loopEnd,t.onended=this.onEnded.bind(this),t.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=t,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}pause(){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this.isPlaying===!0&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,this.loop===!0&&(this._progress=this._progress%(this.duration||this.buffer.duration)),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this}stop(){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this._progress=0,this.source!==null&&(this.source.stop(),this.source.onended=null),this.isPlaying=!1,this}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let e=1,t=this.filters.length;e0){this.source.disconnect(this.filters[0]);for(let e=1,t=this.filters.length;e0&&this._mixBufferRegionAdditive(i,r,this._addIndex*t,1,t);for(let c=t,f=t+t;c!==f;++c)if(i[c]!==i[c+t]){a.setValue(i,r);break}}saveOriginalState(){const e=this.binding,t=this.buffer,i=this.valueSize,r=i*this._origIndex;e.getValue(t,r);for(let s=i,o=r;s!==o;++s)t[s]=t[r+s%i];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const e=this.valueSize*3;this.binding.setValue(this.buffer,e)}_setAdditiveIdentityNumeric(){const e=this._addIndex*this.valueSize,t=e+this.valueSize;for(let i=e;i=.5)for(let o=0;o!==s;++o)e[t+o]=e[i+o]}_slerp(e,t,i,r){It.slerpFlat(e,t,e,t,e,i,r)}_slerpAdditive(e,t,i,r,s){const o=this._workIndex*s;It.multiplyQuaternionsFlat(e,o,e,t,e,i),It.slerpFlat(e,t,e,t,e,o,r)}_lerp(e,t,i,r,s){const o=1-r;for(let a=0;a!==s;++a){const c=t+a;e[c]=e[c]*o+e[i+a]*r}}_lerpAdditive(e,t,i,r,s){for(let o=0;o!==s;++o){const a=t+o;e[a]=e[a]+e[i+o]*r}}}const A_="\\[\\]\\.:\\/",Cz=new RegExp("["+A_+"]","g"),C_="[^"+A_+"]",bz="[^"+A_.replace("\\.","")+"]",Pz=/((?:WC+[\/:])*)/.source.replace("WC",C_),Lz=/(WCOD+)?/.source.replace("WCOD",bz),Rz=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",C_),Iz=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",C_),Dz=new RegExp("^"+Pz+Lz+Rz+Iz+"$"),Nz=["material","materials","bones","map"];class kz{constructor(e,t,i){const r=i||Tt.parseTrackName(t);this._targetGroup=e,this._bindings=e.subscribe_(t,r)}getValue(e,t){this.bind();const i=this._targetGroup.nCachedObjects_,r=this._bindings[i];r!==void 0&&r.getValue(e,t)}setValue(e,t){const i=this._bindings;for(let r=this._targetGroup.nCachedObjects_,s=i.length;r!==s;++r)i[r].setValue(e,t)}bind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,i=e.length;t!==i;++t)e[t].bind()}unbind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,i=e.length;t!==i;++t)e[t].unbind()}}class Tt{constructor(e,t,i){this.path=t,this.parsedPath=i||Tt.parseTrackName(t),this.node=Tt.findNode(e,this.parsedPath.nodeName),this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,t,i){return e&&e.isAnimationObjectGroup?new Tt.Composite(e,t,i):new Tt(e,t,i)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(Cz,"")}static parseTrackName(e){const t=Dz.exec(e);if(t===null)throw new Error("PropertyBinding: Cannot parse trackName: "+e);const i={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},r=i.nodeName&&i.nodeName.lastIndexOf(".");if(r!==void 0&&r!==-1){const s=i.nodeName.substring(r+1);Nz.indexOf(s)!==-1&&(i.nodeName=i.nodeName.substring(0,r),i.objectName=s)}if(i.propertyName===null||i.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return i}static findNode(e,t){if(t===void 0||t===""||t==="."||t===-1||t===e.name||t===e.uuid)return e;if(e.skeleton){const i=e.skeleton.getBoneByName(t);if(i!==void 0)return i}if(e.children){const i=function(s){for(let o=0;o=s){const d=s++,m=e[d];t[m.uuid]=h,e[h]=m,t[f]=d,e[d]=c;for(let v=0,_=r;v!==_;++v){const E=i[v],S=E[d],g=E[h];E[h]=S,E[d]=g}}}this.nCachedObjects_=s}uncache(){const e=this._objects,t=this._indicesByUUID,i=this._bindings,r=i.length;let s=this.nCachedObjects_,o=e.length;for(let a=0,c=arguments.length;a!==c;++a){const f=arguments[a],h=f.uuid,d=t[h];if(d!==void 0)if(delete t[h],d0&&(t[v.uuid]=d),e[d]=v,e.pop();for(let _=0,E=r;_!==E;++_){const S=i[_];S[d]=S[m],S.pop()}}}this.nCachedObjects_=s}subscribe_(e,t){const i=this._bindingsIndicesByPath;let r=i[e];const s=this._bindings;if(r!==void 0)return s[r];const o=this._paths,a=this._parsedPaths,c=this._objects,f=c.length,h=this.nCachedObjects_,d=new Array(f);r=s.length,i[e]=r,o.push(e),a.push(t),s.push(d);for(let m=h,v=c.length;m!==v;++m){const _=c[m];d[m]=new Tt(_,e,t)}return d}unsubscribe_(e){const t=this._bindingsIndicesByPath,i=t[e];if(i!==void 0){const r=this._paths,s=this._parsedPaths,o=this._bindings,a=o.length-1,c=o[a],f=e[a];t[f]=i,o[i]=c,o.pop(),s[i]=s[a],s.pop(),r[i]=r[a],r.pop()}}}class I3{constructor(e,t,i=null,r=t.blendMode){this._mixer=e,this._clip=t,this._localRoot=i,this.blendMode=r;const s=t.tracks,o=s.length,a=new Array(o),c={endingStart:Yo,endingEnd:Yo};for(let f=0;f!==o;++f){const h=s[f].createInterpolant(null);a[f]=h,h.settings=c}this._interpolantSettings=c,this._interpolants=a,this._propertyBindings=new Array(o),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=w2,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&this.timeScale!==0&&this._startTime===null&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(e){return this._startTime=e,this}setLoop(e,t){return this.loop=e,this.repetitions=t,this}setEffectiveWeight(e){return this.weight=e,this._effectiveWeight=this.enabled?e:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(e){return this._scheduleFading(e,0,1)}fadeOut(e){return this._scheduleFading(e,1,0)}crossFadeFrom(e,t,i){if(e.fadeOut(t),this.fadeIn(t),i){const r=this._clip.duration,s=e._clip.duration,o=s/r,a=r/s;e.warp(1,o,t),this.warp(a,1,t)}return this}crossFadeTo(e,t,i){return e.crossFadeFrom(this,t,i)}stopFading(){const e=this._weightInterpolant;return e!==null&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}setEffectiveTimeScale(e){return this.timeScale=e,this._effectiveTimeScale=this.paused?0:e,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(e){return this.timeScale=this._clip.duration/e,this.stopWarping()}syncWith(e){return this.time=e.time,this.timeScale=e.timeScale,this.stopWarping()}halt(e){return this.warp(this._effectiveTimeScale,0,e)}warp(e,t,i){const r=this._mixer,s=r.time,o=this.timeScale;let a=this._timeScaleInterpolant;a===null&&(a=r._lendControlInterpolant(),this._timeScaleInterpolant=a);const c=a.parameterPositions,f=a.sampleValues;return c[0]=s,c[1]=s+i,f[0]=e/o,f[1]=t/o,this}stopWarping(){const e=this._timeScaleInterpolant;return e!==null&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(e,t,i,r){if(!this.enabled){this._updateWeight(e);return}const s=this._startTime;if(s!==null){const c=(e-s)*i;c<0||i===0?t=0:(this._startTime=null,t=i*c)}t*=this._updateTimeScale(e);const o=this._updateTime(t),a=this._updateWeight(e);if(a>0){const c=this._interpolants,f=this._propertyBindings;switch(this.blendMode){case Zy:for(let h=0,d=c.length;h!==d;++h)c[h].evaluate(o),f[h].accumulateAdditive(a);break;case Lp:default:for(let h=0,d=c.length;h!==d;++h)c[h].evaluate(o),f[h].accumulate(r,a)}}}_updateWeight(e){let t=0;if(this.enabled){t=this.weight;const i=this._weightInterpolant;if(i!==null){const r=i.evaluate(e)[0];t*=r,e>i.parameterPositions[1]&&(this.stopFading(),r===0&&(this.enabled=!1))}}return this._effectiveWeight=t,t}_updateTimeScale(e){let t=0;if(!this.paused){t=this.timeScale;const i=this._timeScaleInterpolant;if(i!==null){const r=i.evaluate(e)[0];t*=r,e>i.parameterPositions[1]&&(this.stopWarping(),t===0?this.paused=!0:this.timeScale=t)}}return this._effectiveTimeScale=t,t}_updateTime(e){const t=this._clip.duration,i=this.loop;let r=this.time+e,s=this._loopCount;const o=i===M2;if(e===0)return s===-1?r:o&&(s&1)===1?t-r:r;if(i===S2){s===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(r>=t)r=t;else if(r<0)r=0;else{this.time=r;break e}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=r,this._mixer.dispatchEvent({type:"finished",action:this,direction:e<0?-1:1})}}else{if(s===-1&&(e>=0?(s=0,this._setEndings(!0,this.repetitions===0,o)):this._setEndings(this.repetitions===0,!0,o)),r>=t||r<0){const a=Math.floor(r/t);r-=t*a,s+=Math.abs(a);const c=this.repetitions-s;if(c<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,r=e>0?t:0,this.time=r,this._mixer.dispatchEvent({type:"finished",action:this,direction:e>0?1:-1});else{if(c===1){const f=e<0;this._setEndings(f,!f,o)}else this._setEndings(!1,!1,o);this._loopCount=s,this.time=r,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:a})}}else this.time=r;if(o&&(s&1)===1)return t-r}return r}_setEndings(e,t,i){const r=this._interpolantSettings;i?(r.endingStart=qo,r.endingEnd=qo):(e?r.endingStart=this.zeroSlopeAtStart?qo:Yo:r.endingStart=Rc,t?r.endingEnd=this.zeroSlopeAtEnd?qo:Yo:r.endingEnd=Rc)}_scheduleFading(e,t,i){const r=this._mixer,s=r.time;let o=this._weightInterpolant;o===null&&(o=r._lendControlInterpolant(),this._weightInterpolant=o);const a=o.parameterPositions,c=o.sampleValues;return a[0]=s,c[0]=t,a[1]=s+e,c[1]=i,this}}const Uz=new Float32Array(1);class Oz extends bs{constructor(e){super(),this._root=e,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(e,t){const i=e._localRoot||this._root,r=e._clip.tracks,s=r.length,o=e._propertyBindings,a=e._interpolants,c=i.uuid,f=this._bindingsByRootAndName;let h=f[c];h===void 0&&(h={},f[c]=h);for(let d=0;d!==s;++d){const m=r[d],v=m.name;let _=h[v];if(_!==void 0)++_.referenceCount,o[d]=_;else{if(_=o[d],_!==void 0){_._cacheIndex===null&&(++_.referenceCount,this._addInactiveBinding(_,c,v));continue}const E=t&&t._propertyBindings[d].binding.parsedPath;_=new R3(Tt.create(i,v,E),m.ValueTypeName,m.getValueSize()),++_.referenceCount,this._addInactiveBinding(_,c,v),o[d]=_}a[d].resultBuffer=_.buffer}}_activateAction(e){if(!this._isActiveAction(e)){if(e._cacheIndex===null){const i=(e._localRoot||this._root).uuid,r=e._clip.uuid,s=this._actionsByClip[r];this._bindAction(e,s&&s.knownActions[0]),this._addInactiveAction(e,r,i)}const t=e._propertyBindings;for(let i=0,r=t.length;i!==r;++i){const s=t[i];s.useCount++===0&&(this._lendBinding(s),s.saveOriginalState())}this._lendAction(e)}}_deactivateAction(e){if(this._isActiveAction(e)){const t=e._propertyBindings;for(let i=0,r=t.length;i!==r;++i){const s=t[i];--s.useCount===0&&(s.restoreOriginalState(),this._takeBackBinding(s))}this._takeBackAction(e)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const e=this;this.stats={actions:{get total(){return e._actions.length},get inUse(){return e._nActiveActions}},bindings:{get total(){return e._bindings.length},get inUse(){return e._nActiveBindings}},controlInterpolants:{get total(){return e._controlInterpolants.length},get inUse(){return e._nActiveControlInterpolants}}}}_isActiveAction(e){const t=e._cacheIndex;return t!==null&&t=0;--i)e[i].stop();return this}update(e){e*=this.timeScale;const t=this._actions,i=this._nActiveActions,r=this.time+=e,s=Math.sign(e),o=this._accuIndex^=1;for(let f=0;f!==i;++f)t[f]._update(r,e,s,o);const a=this._bindings,c=this._nActiveBindings;for(let f=0;f!==c;++f)a[f].apply(o);return this}setTime(e){this.time=0;for(let t=0;tthis.max.x||e.ythis.max.y)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(e){return!(e.max.xthis.max.x||e.max.ythis.max.y)}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,jw).distanceTo(e)}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const Yw=new N,ld=new N;class jz{constructor(e=new N,t=new N){this.start=e,this.end=t}set(e,t){return this.start.copy(e),this.end.copy(t),this}copy(e){return this.start.copy(e.start),this.end.copy(e.end),this}getCenter(e){return e.addVectors(this.start,this.end).multiplyScalar(.5)}delta(e){return e.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(e,t){return this.delta(t).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,t){Yw.subVectors(e,this.start),ld.subVectors(this.end,this.start);const i=ld.dot(ld);let s=ld.dot(Yw)/i;return t&&(s=ln(s,0,1)),s}closestPointToPoint(e,t,i){const r=this.closestPointToPointParameter(e,t);return this.delta(i).multiplyScalar(r).add(this.start)}applyMatrix4(e){return this.start.applyMatrix4(e),this.end.applyMatrix4(e),this}equals(e){return e.start.equals(this.start)&&e.end.equals(this.end)}clone(){return new this.constructor().copy(this)}}const qw=new N;class Yz extends St{constructor(e,t){super(),this.light=e,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=t,this.type="SpotLightHelper";const i=new lt,r=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let o=0,a=1,c=32;o1)for(let d=0;d.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{$w.set(e.z,0,-e.x).normalize();const t=Math.acos(e.y);this.quaternion.setFromAxisAngle($w,t)}}setLength(e,t=e*.2,i=t*.2){this.line.scale.set(1,Math.max(1e-4,e-t),1),this.line.updateMatrix(),this.cone.scale.set(i,t,i),this.cone.position.y=e,this.cone.updateMatrix()}setColor(e){this.line.material.color.set(e),this.cone.material.color.set(e)}copy(e){return super.copy(e,!1),this.line.copy(e.line),this.cone.copy(e.cone),this}dispose(){this.line.geometry.dispose(),this.line.material.dispose(),this.cone.geometry.dispose(),this.cone.material.dispose()}}class oU extends Qr{constructor(e=1){const t=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e],i=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],r=new lt;r.setAttribute("position",new Be(t,3)),r.setAttribute("color",new Be(i,3));const s=new $n({vertexColors:!0,toneMapped:!1});super(r,s),this.type="AxesHelper"}setColors(e,t,i){const r=new Re,s=this.geometry.attributes.color.array;return r.set(e),r.toArray(s,0),r.toArray(s,3),r.set(t),r.toArray(s,6),r.toArray(s,9),r.set(i),r.toArray(s,12),r.toArray(s,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class aU{constructor(){this.type="ShapePath",this.color=new Re,this.subPaths=[],this.currentPath=null}moveTo(e,t){return this.currentPath=new Nc,this.subPaths.push(this.currentPath),this.currentPath.moveTo(e,t),this}lineTo(e,t){return this.currentPath.lineTo(e,t),this}quadraticCurveTo(e,t,i,r){return this.currentPath.quadraticCurveTo(e,t,i,r),this}bezierCurveTo(e,t,i,r,s,o){return this.currentPath.bezierCurveTo(e,t,i,r,s,o),this}splineThru(e){return this.currentPath.splineThru(e),this}toShapes(e){function t(g){const x=[];for(let w=0,T=g.length;wNumber.EPSILON){if(L<0&&(R=x[P],b=-b,I=x[C],L=-L),g.yI.y)continue;if(g.y===R.y){if(g.x===R.x)return!0}else{const H=L*(g.x-R.x)-b*(g.y-R.y);if(H===0)return!0;if(H<0)continue;T=!T}}else{if(g.y!==R.y)continue;if(I.x<=g.x&&g.x<=R.x||R.x<=g.x&&g.x<=I.x)return!0}}return T}const r=Xr.isClockWise,s=this.subPaths;if(s.length===0)return[];let o,a,c;const f=[];if(s.length===1)return a=s[0],c=new ra,c.curves=a.curves,f.push(c),f;let h=!r(s[0].getPoints());h=e?!h:h;const d=[],m=[];let v=[],_=0,E;m[_]=void 0,v[_]=[];for(let g=0,x=s.length;g1){let g=!1,x=0;for(let w=0,T=m.length;w0&&g===!1&&(v=d)}let S;for(let g=0,x=m.length;g{const d=typeof f=="function"?f(e):f;if(d!==e){const m=e;e=h?d:Object.assign({},e,d),t.forEach(v=>v(e,m))}},r=()=>e,s=(f,h=r,d=Object.is)=>{console.warn("[DEPRECATED] Please use `subscribeWithSelector` middleware");let m=h(e);function v(){const _=h(e);if(!d(m,_)){const E=m;f(m=_,E)}}return t.add(v),()=>t.delete(v)},c={setState:i,getState:r,subscribe:(f,h,d)=>h||d?s(f,h,d):(t.add(f),()=>t.delete(f)),destroy:()=>t.clear()};return e=n(i,r,c),c}const PU=typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent),eM=PU?Te.exports.useEffect:Te.exports.useLayoutEffect;function LU(n){const e=typeof n=="function"?bU(n):n,t=(i=e.getState,r=Object.is)=>{const[,s]=Te.exports.useReducer(S=>S+1,0),o=e.getState(),a=Te.exports.useRef(o),c=Te.exports.useRef(i),f=Te.exports.useRef(r),h=Te.exports.useRef(!1),d=Te.exports.useRef();d.current===void 0&&(d.current=i(o));let m,v=!1;(a.current!==o||c.current!==i||f.current!==r||h.current)&&(m=i(o),v=!r(d.current,m)),eM(()=>{v&&(d.current=m),a.current=o,c.current=i,f.current=r,h.current=!1});const _=Te.exports.useRef(o);eM(()=>{const S=()=>{try{const x=e.getState(),w=c.current(x);f.current(d.current,w)||(a.current=x,d.current=w,s())}catch{h.current=!0,s()}},g=e.subscribe(S);return e.getState()!==_.current&&S(),g},[]);const E=v?m:d.current;return Te.exports.useDebugValue(E),E};return Object.assign(t,e),t[Symbol.iterator]=function(){console.warn("[useStore, api] = create() is deprecated and will be removed in v4");const i=[t,e];return{next(){const r=i.length<=0;return{value:i.shift(),done:r}}}},t}var N3={exports:{}},i0={exports:{}},r0={};/** + * @license React + * scheduler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var tM;function RU(){return tM||(tM=1,function(n){function e(D,V){var B=D.length;D.push(V);e:for(;0>>1,Y=D[J];if(0>>1;Jr(ye,B))per(Q,ye)?(D[J]=Q,D[pe]=B,J=pe):(D[J]=ye,D[z]=B,J=z);else if(per(Q,B))D[J]=Q,D[pe]=B,J=pe;else break e}}return V}function r(D,V){var B=D.sortIndex-V.sortIndex;return B!==0?B:D.id-V.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;n.unstable_now=function(){return s.now()}}else{var o=Date,a=o.now();n.unstable_now=function(){return o.now()-a}}var c=[],f=[],h=1,d=null,m=3,v=!1,_=!1,E=!1,S=typeof setTimeout=="function"?setTimeout:null,g=typeof clearTimeout=="function"?clearTimeout:null,x=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function w(D){for(var V=t(f);V!==null;){if(V.callback===null)i(f);else if(V.startTime<=D)i(f),V.sortIndex=V.expirationTime,e(c,V);else break;V=t(f)}}function T(D){if(E=!1,w(D),!_)if(t(c)!==null)_=!0,oe(C);else{var V=t(f);V!==null&&ue(T,V.startTime-D)}}function C(D,V){_=!1,E&&(E=!1,g(I),I=-1),v=!0;var B=m;try{for(w(V),d=t(c);d!==null&&(!(d.expirationTime>V)||D&&!H());){var J=d.callback;if(typeof J=="function"){d.callback=null,m=d.priorityLevel;var Y=J(d.expirationTime<=V);V=n.unstable_now(),typeof Y=="function"?d.callback=Y:d===t(c)&&i(c),w(V)}else i(c);d=t(c)}if(d!==null)var K=!0;else{var z=t(f);z!==null&&ue(T,z.startTime-V),K=!1}return K}finally{d=null,m=B,v=!1}}var P=!1,R=null,I=-1,b=5,L=-1;function H(){return!(n.unstable_now()-LD||125J?(D.sortIndex=B,e(f,D),t(c)===null&&D===t(f)&&(E?(g(I),I=-1):E=!0,ue(T,B-J))):(D.sortIndex=Y,e(c,D),_||v||(_=!0,oe(C))),D},n.unstable_shouldYield=H,n.unstable_wrapCallback=function(D){var V=m;return function(){var B=m;m=V;try{return D.apply(this,arguments)}finally{m=B}}}}(r0)),r0}var nM;function IU(){return nM||(nM=1,function(n){n.exports=RU()}(i0)),i0.exports}/** + * @license React + * react-reconciler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var DU=function(e){var t={},i=Te.exports,r=IU(),s=Object.assign;function o(l){for(var u="https://reactjs.org/docs/error-decoder.html?invariant="+l,p=1;pj||M[O]!==A[j]){var ae=` +`+M[O].replace(" at new "," at ");return l.displayName&&ae.includes("")&&(ae=ae.replace("",l.displayName)),ae}while(1<=O&&0<=j);break}}}finally{_t=!1,Error.prepareStackTrace=p}return(l=l?l.displayName||l.name:"")?Ht(l):""}var pn=Object.prototype.hasOwnProperty,cr=[],Jr=-1;function fi(l){return{current:l}}function Dt(l){0>Jr||(l.current=cr[Jr],cr[Jr]=null,Jr--)}function ct(l,u){Jr++,cr[Jr]=l.current,l.current=u}var Vn={},mn=fi(Vn),Ut=fi(!1),fr=Vn;function Ls(l,u){var p=l.type.contextTypes;if(!p)return Vn;var y=l.stateNode;if(y&&y.__reactInternalMemoizedUnmaskedChildContext===u)return y.__reactInternalMemoizedMaskedChildContext;var M={},A;for(A in p)M[A]=u[A];return y&&(l=l.stateNode,l.__reactInternalMemoizedUnmaskedChildContext=u,l.__reactInternalMemoizedMaskedChildContext=M),M}function kn(l){return l=l.childContextTypes,l!=null}function gf(){Dt(Ut),Dt(mn)}function V_(l,u,p){if(mn.current!==Vn)throw Error(o(168));ct(mn,u),ct(Ut,p)}function H_(l,u,p){var y=l.stateNode;if(u=u.childContextTypes,typeof y.getChildContext!="function")return p;y=y.getChildContext();for(var M in y)if(!(M in u))throw Error(o(108,I(l)||"Unknown",M));return s({},p,y)}function vf(l){return l=(l=l.stateNode)&&l.__reactInternalMemoizedMergedChildContext||Vn,fr=mn.current,ct(mn,l),ct(Ut,Ut.current),!0}function G_(l,u,p){var y=l.stateNode;if(!y)throw Error(o(169));p?(l=H_(l,u,fr),y.__reactInternalMemoizedMergedChildContext=l,Dt(Ut),Dt(mn),ct(mn,l)):Dt(Ut),ct(Ut,p)}var hr=Math.clz32?Math.clz32:mA,dA=Math.log,pA=Math.LN2;function mA(l){return l>>>=0,l===0?32:31-(dA(l)/pA|0)|0}var yf=64,_f=4194304;function tu(l){switch(l&-l){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return l&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return l&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return l}}function xf(l,u){var p=l.pendingLanes;if(p===0)return 0;var y=0,M=l.suspendedLanes,A=l.pingedLanes,O=p&268435455;if(O!==0){var j=O&~M;j!==0?y=tu(j):(A&=O,A!==0&&(y=tu(A)))}else O=p&~M,O!==0?y=tu(O):A!==0&&(y=tu(A));if(y===0)return 0;if(u!==0&&u!==y&&(u&M)===0&&(M=y&-y,A=u&-u,M>=A||M===16&&(A&4194240)!==0))return u;if((y&4)!==0&&(y|=p&16),u=l.entangledLanes,u!==0)for(l=l.entanglements,u&=y;0p;p++)u.push(l);return u}function nu(l,u,p){l.pendingLanes|=u,u!==536870912&&(l.suspendedLanes=0,l.pingedLanes=0),l=l.eventTimes,u=31-hr(u),l[u]=p}function yA(l,u){var p=l.pendingLanes&~u;l.pendingLanes=u,l.suspendedLanes=0,l.pingedLanes=0,l.expiredLanes&=u,l.mutableReadLanes&=u,l.entangledLanes&=u,u=l.entanglements;var y=l.eventTimes;for(l=l.expirationTimes;0>=O,M-=O,es=1<<32-hr(u)+M|p<bt?(bn=at,at=null):bn=at.sibling;var Pt=Je(te,at,re[bt],Le);if(Pt===null){at===null&&(at=bn);break}l&&at&&Pt.alternate===null&&u(te,at),Z=A(Pt,Z,bt),ft===null?He=Pt:ft.sibling=Pt,ft=Pt,at=bn}if(bt===re.length)return p(te,at),qt&&wo(te,bt),He;if(at===null){for(;btbt?(bn=at,at=null):bn=at.sibling;var Os=Je(te,at,Pt.value,Le);if(Os===null){at===null&&(at=bn);break}l&&at&&Os.alternate===null&&u(te,at),Z=A(Os,Z,bt),ft===null?He=Os:ft.sibling=Os,ft=Os,at=bn}if(Pt.done)return p(te,at),qt&&wo(te,bt),He;if(at===null){for(;!Pt.done;bt++,Pt=re.next())Pt=ot(te,Pt.value,Le),Pt!==null&&(Z=A(Pt,Z,bt),ft===null?He=Pt:ft.sibling=Pt,ft=Pt);return qt&&wo(te,bt),He}for(at=y(te,at);!Pt.done;bt++,Pt=re.next())Pt=Ft(at,te,bt,Pt.value,Le),Pt!==null&&(l&&Pt.alternate!==null&&at.delete(Pt.key===null?bt:Pt.key),Z=A(Pt,Z,bt),ft===null?He=Pt:ft.sibling=Pt,ft=Pt);return l&&at.forEach(function(iC){return u(te,iC)}),qt&&wo(te,bt),He}function Qi(te,Z,re,Le){if(typeof re=="object"&&re!==null&&re.type===h&&re.key===null&&(re=re.props.children),typeof re=="object"&&re!==null){switch(re.$$typeof){case c:e:{for(var He=re.key,ft=Z;ft!==null;){if(ft.key===He){if(He=re.type,He===h){if(ft.tag===7){p(te,ft.sibling),Z=M(ft,re.props.children),Z.return=te,te=Z;break e}}else if(ft.elementType===He||typeof He=="object"&&He!==null&&He.$$typeof===w&&sx(He)===ft.type){p(te,ft.sibling),Z=M(ft,re.props),Z.ref=su(te,ft,re),Z.return=te,te=Z;break e}p(te,ft);break}else u(te,ft);ft=ft.sibling}re.type===h?(Z=Po(re.props.children,te.mode,Le,re.key),Z.return=te,te=Z):(Le=lh(re.type,re.key,re.props,null,te.mode,Le),Le.ref=su(te,Z,re),Le.return=te,te=Le)}return O(te);case f:e:{for(ft=re.key;Z!==null;){if(Z.key===ft)if(Z.tag===4&&Z.stateNode.containerInfo===re.containerInfo&&Z.stateNode.implementation===re.implementation){p(te,Z.sibling),Z=M(Z,re.children||[]),Z.return=te,te=Z;break e}else{p(te,Z);break}else u(te,Z);Z=Z.sibling}Z=Km(re,te.mode,Le),Z.return=te,te=Z}return O(te);case w:return ft=re._init,Qi(te,Z,ft(re._payload),Le)}if(ee(re))return Xe(te,Z,re,Le);if(P(re))return Xn(te,Z,re,Le);Rf(te,re)}return typeof re=="string"&&re!==""||typeof re=="number"?(re=""+re,Z!==null&&Z.tag===6?(p(te,Z.sibling),Z=M(Z,re),Z.return=te,te=Z):(p(te,Z),Z=Jm(re,te.mode,Le),Z.return=te,te=Z),O(te)):p(te,Z)}return Qi}var ba=ox(!0),ax=ox(!1),ou={},ji=fi(ou),au=fi(ou),Pa=fi(ou);function Nr(l){if(l===ou)throw Error(o(174));return l}function mm(l,u){ct(Pa,u),ct(au,l),ct(ji,ou),l=ue(u),Dt(ji),ct(ji,l)}function La(){Dt(ji),Dt(au),Dt(Pa)}function lx(l){var u=Nr(Pa.current),p=Nr(ji.current);u=D(p,l.type,u),p!==u&&(ct(au,l),ct(ji,u))}function gm(l){au.current===l&&(Dt(ji),Dt(au))}var Kt=fi(0);function If(l){for(var u=l;u!==null;){if(u.tag===13){var p=u.memoizedState;if(p!==null&&(p=p.dehydrated,p===null||mf(p)||eu(p)))return u}else if(u.tag===19&&u.memoizedProps.revealOrder!==void 0){if((u.flags&128)!==0)return u}else if(u.child!==null){u.child.return=u,u=u.child;continue}if(u===l)break;for(;u.sibling===null;){if(u.return===null||u.return===l)return null;u=u.return}u.sibling.return=u.return,u=u.sibling}return null}var vm=[];function ym(){for(var l=0;lp?p:4,l(!0);var y=Yi.transition;Yi.transition={};try{l(!1),u()}finally{Ct=p,Yi.transition=y}}function wx(){return kr().memoizedState}function LA(l,u,p){var y=ks(l);p={lane:y,action:p,hasEagerState:!1,eagerState:null,next:null},Mx(l)?Ex(u,p):(Tx(l,u,p),p=ni(),l=qi(l,y,p),l!==null&&Ax(l,u,y))}function RA(l,u,p){var y=ks(l),M={lane:y,action:p,hasEagerState:!1,eagerState:null,next:null};if(Mx(l))Ex(u,M);else{Tx(l,u,M);var A=l.alternate;if(l.lanes===0&&(A===null||A.lanes===0)&&(A=u.lastRenderedReducer,A!==null))try{var O=u.lastRenderedState,j=A(O,p);if(M.hasEagerState=!0,M.eagerState=j,Rr(j,O))return}catch{}finally{}p=ni(),l=qi(l,y,p),l!==null&&Ax(l,u,y)}}function Mx(l){var u=l.alternate;return l===sn||u!==null&&u===sn}function Ex(l,u){lu=Nf=!0;var p=l.pending;p===null?u.next=u:(u.next=p.next,p.next=u),l.pending=u}function Tx(l,u,p){gn!==null&&(l.mode&1)!==0&&(gt&2)===0?(l=u.interleaved,l===null?(p.next=p,Dr===null?Dr=[u]:Dr.push(u)):(p.next=l.next,l.next=p),u.interleaved=p):(l=u.pending,l===null?p.next=p:(p.next=l.next,l.next=p),u.pending=p)}function Ax(l,u,p){if((p&4194240)!==0){var y=u.lanes;y&=l.pendingLanes,p|=y,u.lanes=p,Kp(l,p)}}var Ff={readContext:Gi,useCallback:Gn,useContext:Gn,useEffect:Gn,useImperativeHandle:Gn,useInsertionEffect:Gn,useLayoutEffect:Gn,useMemo:Gn,useReducer:Gn,useRef:Gn,useState:Gn,useDebugValue:Gn,useDeferredValue:Gn,useTransition:Gn,useMutableSource:Gn,useSyncExternalStore:Gn,useId:Gn,unstable_isNewReconciler:!1},IA={readContext:Gi,useCallback:function(l,u){return ns().memoizedState=[l,u===void 0?null:u],l},useContext:Gi,useEffect:Mm,useImperativeHandle:function(l,u,p){return p=p!=null?p.concat([l]):null,Uf(4194308,4,yx.bind(null,u,l),p)},useLayoutEffect:function(l,u){return Uf(4194308,4,l,u)},useInsertionEffect:function(l,u){return Uf(4,2,l,u)},useMemo:function(l,u){var p=ns();return u=u===void 0?null:u,l=l(),p.memoizedState=[l,u],l},useReducer:function(l,u,p){var y=ns();return u=p!==void 0?p(u):u,y.memoizedState=y.baseState=u,l={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:l,lastRenderedState:u},y.queue=l,l=l.dispatch=LA.bind(null,sn,l),[y.memoizedState,l]},useRef:function(l){var u=ns();return l={current:l},u.memoizedState=l},useState:wm,useDebugValue:Em,useDeferredValue:function(l){var u=wm(l),p=u[0],y=u[1];return Mm(function(){var M=Yi.transition;Yi.transition={};try{y(l)}finally{Yi.transition=M}},[l]),p},useTransition:function(){var l=wm(!1),u=l[0];return l=PA.bind(null,l[1]),ns().memoizedState=l,[u,l]},useMutableSource:function(){},useSyncExternalStore:function(l,u,p){var y=sn,M=ns();if(qt){if(p===void 0)throw Error(o(407));p=p()}else{if(p=u(),gn===null)throw Error(o(349));(Ra&30)!==0||fx(y,u,p)}M.memoizedState=p;var A={value:p,getSnapshot:u};return M.queue=A,Mm(dx.bind(null,y,A,l),[l]),y.flags|=2048,cu(9,hx.bind(null,y,A,p,u),void 0,null),p},useId:function(){var l=ns(),u=gn.identifierPrefix;if(qt){var p=ts,y=es;p=(y&~(1<<32-hr(y)-1)).toString(32)+p,u=":"+u+"R"+p,p=uu++,0Gm&&(u.flags|=128,y=!0,pu(M,!1),u.lanes=4194304)}else{if(!y)if(l=If(A),l!==null){if(u.flags|=128,y=!0,l=l.updateQueue,l!==null&&(u.updateQueue=l,u.flags|=4),pu(M,!0),M.tail===null&&M.tailMode==="hidden"&&!A.alternate&&!qt)return Wn(u),null}else 2*An()-M.renderingStartTime>Gm&&p!==1073741824&&(u.flags|=128,y=!0,pu(M,!1),u.lanes=4194304);M.isBackwards?(A.sibling=u.child,u.child=A):(l=M.last,l!==null?l.sibling=A:u.child=A,M.last=A)}return M.tail!==null?(u=M.tail,M.rendering=u,M.tail=u.sibling,M.renderingStartTime=An(),u.sibling=null,l=Kt.current,ct(Kt,y?l&1|2:l&1),u):(Wn(u),null);case 22:case 23:return qm(),y=u.memoizedState!==null,l!==null&&l.memoizedState!==null!==y&&(u.flags|=8192),y&&(u.mode&1)!==0?(bi&1073741824)!==0&&(Wn(u),De&&u.subtreeFlags&6&&(u.flags|=8192)):Wn(u),null;case 24:return null;case 25:return null}throw Error(o(156,u.tag))}var UA=a.ReactCurrentOwner,Ci=!1;function ti(l,u,p,y){u.child=l===null?ax(u,null,p,y):ba(u,l.child,p,y)}function Nx(l,u,p,y,M){p=p.render;var A=u.ref;return Ea(u,M),y=xm(l,u,p,y,A,M),p=Sm(),l!==null&&!Ci?(u.updateQueue=l.updateQueue,u.flags&=-2053,l.lanes&=~M,is(l,u,M)):(qt&&p&&cm(u),u.flags|=1,ti(l,u,y,M),u.child)}function kx(l,u,p,y,M){if(l===null){var A=p.type;return typeof A=="function"&&!Qm(A)&&A.defaultProps===void 0&&p.compare===null&&p.defaultProps===void 0?(u.tag=15,u.type=A,zx(l,u,A,y,M)):(l=lh(p.type,null,y,u,u.mode,M),l.ref=u.ref,l.return=u,u.child=l)}if(A=l.child,(l.lanes&M)===0){var O=A.memoizedProps;if(p=p.compare,p=p!==null?p:Mf,p(O,y)&&l.ref===u.ref)return is(l,u,M)}return u.flags|=1,l=Us(A,y),l.ref=u.ref,l.return=u,u.child=l}function zx(l,u,p,y,M){if(l!==null&&Mf(l.memoizedProps,y)&&l.ref===u.ref)if(Ci=!1,(l.lanes&M)!==0)(l.flags&131072)!==0&&(Ci=!0);else return u.lanes=l.lanes,is(l,u,M);return Cm(l,u,p,y,M)}function Ux(l,u,p){var y=u.pendingProps,M=y.children,A=l!==null?l.memoizedState:null;if(y.mode==="hidden")if((u.mode&1)===0)u.memoizedState={baseLanes:0,cachePool:null},ct(Ia,bi),bi|=p;else if((p&1073741824)!==0)u.memoizedState={baseLanes:0,cachePool:null},y=A!==null?A.baseLanes:p,ct(Ia,bi),bi|=y;else return l=A!==null?A.baseLanes|p:p,u.lanes=u.childLanes=1073741824,u.memoizedState={baseLanes:l,cachePool:null},u.updateQueue=null,ct(Ia,bi),bi|=l,null;else A!==null?(y=A.baseLanes|p,u.memoizedState=null):y=p,ct(Ia,bi),bi|=y;return ti(l,u,M,p),u.child}function Ox(l,u){var p=u.ref;(l===null&&p!==null||l!==null&&l.ref!==p)&&(u.flags|=512,u.flags|=2097152)}function Cm(l,u,p,y,M){var A=kn(p)?fr:mn.current;return A=Ls(u,A),Ea(u,M),p=xm(l,u,p,y,A,M),y=Sm(),l!==null&&!Ci?(u.updateQueue=l.updateQueue,u.flags&=-2053,l.lanes&=~M,is(l,u,M)):(qt&&y&&cm(u),u.flags|=1,ti(l,u,p,M),u.child)}function Fx(l,u,p,y,M){if(kn(p)){var A=!0;vf(u)}else A=!1;if(Ea(u,M),u.stateNode===null)l!==null&&(l.alternate=null,u.alternate=null,u.flags|=2),$_(u,p,y),um(u,p,y,M),y=!0;else if(l===null){var O=u.stateNode,j=u.memoizedProps;O.props=j;var ae=O.context,Ee=p.contextType;typeof Ee=="object"&&Ee!==null?Ee=Gi(Ee):(Ee=kn(p)?fr:mn.current,Ee=Ls(u,Ee));var Fe=p.getDerivedStateFromProps,ot=typeof Fe=="function"||typeof O.getSnapshotBeforeUpdate=="function";ot||typeof O.UNSAFE_componentWillReceiveProps!="function"&&typeof O.componentWillReceiveProps!="function"||(j!==y||ae!==Ee)&&ex(u,O,y,Ee),Rs=!1;var Je=u.memoizedState;O.state=Je,Cf(u,y,O,M),ae=u.memoizedState,j!==y||Je!==ae||Ut.current||Rs?(typeof Fe=="function"&&(lm(u,p,Fe,y),ae=u.memoizedState),(j=Rs||K_(u,p,j,y,Je,ae,Ee))?(ot||typeof O.UNSAFE_componentWillMount!="function"&&typeof O.componentWillMount!="function"||(typeof O.componentWillMount=="function"&&O.componentWillMount(),typeof O.UNSAFE_componentWillMount=="function"&&O.UNSAFE_componentWillMount()),typeof O.componentDidMount=="function"&&(u.flags|=4194308)):(typeof O.componentDidMount=="function"&&(u.flags|=4194308),u.memoizedProps=y,u.memoizedState=ae),O.props=y,O.state=ae,O.context=Ee,y=j):(typeof O.componentDidMount=="function"&&(u.flags|=4194308),y=!1)}else{O=u.stateNode,q_(l,u),j=u.memoizedProps,Ee=u.type===u.elementType?j:dr(u.type,j),O.props=Ee,ot=u.pendingProps,Je=O.context,ae=p.contextType,typeof ae=="object"&&ae!==null?ae=Gi(ae):(ae=kn(p)?fr:mn.current,ae=Ls(u,ae));var Ft=p.getDerivedStateFromProps;(Fe=typeof Ft=="function"||typeof O.getSnapshotBeforeUpdate=="function")||typeof O.UNSAFE_componentWillReceiveProps!="function"&&typeof O.componentWillReceiveProps!="function"||(j!==ot||Je!==ae)&&ex(u,O,y,ae),Rs=!1,Je=u.memoizedState,O.state=Je,Cf(u,y,O,M);var Xe=u.memoizedState;j!==ot||Je!==Xe||Ut.current||Rs?(typeof Ft=="function"&&(lm(u,p,Ft,y),Xe=u.memoizedState),(Ee=Rs||K_(u,p,Ee,y,Je,Xe,ae)||!1)?(Fe||typeof O.UNSAFE_componentWillUpdate!="function"&&typeof O.componentWillUpdate!="function"||(typeof O.componentWillUpdate=="function"&&O.componentWillUpdate(y,Xe,ae),typeof O.UNSAFE_componentWillUpdate=="function"&&O.UNSAFE_componentWillUpdate(y,Xe,ae)),typeof O.componentDidUpdate=="function"&&(u.flags|=4),typeof O.getSnapshotBeforeUpdate=="function"&&(u.flags|=1024)):(typeof O.componentDidUpdate!="function"||j===l.memoizedProps&&Je===l.memoizedState||(u.flags|=4),typeof O.getSnapshotBeforeUpdate!="function"||j===l.memoizedProps&&Je===l.memoizedState||(u.flags|=1024),u.memoizedProps=y,u.memoizedState=Xe),O.props=y,O.state=Xe,O.context=ae,y=Ee):(typeof O.componentDidUpdate!="function"||j===l.memoizedProps&&Je===l.memoizedState||(u.flags|=4),typeof O.getSnapshotBeforeUpdate!="function"||j===l.memoizedProps&&Je===l.memoizedState||(u.flags|=1024),y=!1)}return bm(l,u,p,y,A,M)}function bm(l,u,p,y,M,A){Ox(l,u);var O=(u.flags&128)!==0;if(!y&&!O)return M&&G_(u,p,!1),is(l,u,A);y=u.stateNode,UA.current=u;var j=O&&typeof p.getDerivedStateFromError!="function"?null:y.render();return u.flags|=1,l!==null&&O?(u.child=ba(u,l.child,null,A),u.child=ba(u,null,j,A)):ti(l,u,j,A),u.memoizedState=y.state,M&&G_(u,p,!0),u.child}function Bx(l){var u=l.stateNode;u.pendingContext?V_(l,u.pendingContext,u.pendingContext!==u.context):u.context&&V_(l,u.context,!1),mm(l,u.containerInfo)}function Vx(l,u,p,y,M){return Ca(),pm(M),u.flags|=256,ti(l,u,p,y),u.child}var Hf={dehydrated:null,treeContext:null,retryLane:0};function Gf(l){return{baseLanes:l,cachePool:null}}function Hx(l,u,p){var y=u.pendingProps,M=Kt.current,A=!1,O=(u.flags&128)!==0,j;if((j=O)||(j=l!==null&&l.memoizedState===null?!1:(M&2)!==0),j?(A=!0,u.flags&=-129):(l===null||l.memoizedState!==null)&&(M|=1),ct(Kt,M&1),l===null)return dm(u),l=u.memoizedState,l!==null&&(l=l.dehydrated,l!==null)?((u.mode&1)===0?u.lanes=1:eu(l)?u.lanes=8:u.lanes=1073741824,null):(M=y.children,l=y.fallback,A?(y=u.mode,A=u.child,M={mode:"hidden",children:M},(y&1)===0&&A!==null?(A.childLanes=0,A.pendingProps=M):A=uh(M,y,0,null),l=Po(l,y,p,null),A.return=u,l.return=u,A.sibling=l,u.child=A,u.child.memoizedState=Gf(p),u.memoizedState=Hf,l):Pm(u,M));if(M=l.memoizedState,M!==null){if(j=M.dehydrated,j!==null){if(O)return u.flags&256?(u.flags&=-257,Wf(l,u,p,Error(o(422)))):u.memoizedState!==null?(u.child=l.child,u.flags|=128,null):(A=y.fallback,M=u.mode,y=uh({mode:"visible",children:y.children},M,0,null),A=Po(A,M,p,null),A.flags|=2,y.return=u,A.return=u,y.sibling=A,u.child=y,(u.mode&1)!==0&&ba(u,l.child,null,p),u.child.memoizedState=Gf(p),u.memoizedState=Hf,A);if((u.mode&1)===0)u=Wf(l,u,p,null);else if(eu(j))u=Wf(l,u,p,Error(o(419)));else if(y=(p&l.childLanes)!==0,Ci||y){if(y=gn,y!==null){switch(p&-p){case 4:A=2;break;case 16:A=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:A=32;break;case 536870912:A=268435456;break;default:A=0}y=(A&(y.suspendedLanes|p))!==0?0:A,y!==0&&y!==M.retryLane&&(M.retryLane=y,qi(l,y,-1))}Zm(),u=Wf(l,u,p,Error(o(421)))}else mf(j)?(u.flags|=128,u.child=l.child,u=QA.bind(null,l),Zp(j,u),u=null):(p=M.treeContext,se&&(Ai=$(j),Ti=u,qt=!0,pr=null,iu=!1,p!==null&&(Wi[Xi++]=es,Wi[Xi++]=ts,Wi[Xi++]=So,es=p.id,ts=p.overflow,So=u)),u=Pm(u,u.pendingProps.children),u.flags|=4096);return u}return A?(y=Wx(l,u,y.children,y.fallback,p),A=u.child,M=l.child.memoizedState,A.memoizedState=M===null?Gf(p):{baseLanes:M.baseLanes|p,cachePool:null},A.childLanes=l.childLanes&~p,u.memoizedState=Hf,y):(p=Gx(l,u,y.children,p),u.memoizedState=null,p)}return A?(y=Wx(l,u,y.children,y.fallback,p),A=u.child,M=l.child.memoizedState,A.memoizedState=M===null?Gf(p):{baseLanes:M.baseLanes|p,cachePool:null},A.childLanes=l.childLanes&~p,u.memoizedState=Hf,y):(p=Gx(l,u,y.children,p),u.memoizedState=null,p)}function Pm(l,u){return u=uh({mode:"visible",children:u},l.mode,0,null),u.return=l,l.child=u}function Gx(l,u,p,y){var M=l.child;return l=M.sibling,p=Us(M,{mode:"visible",children:p}),(u.mode&1)===0&&(p.lanes=y),p.return=u,p.sibling=null,l!==null&&(y=u.deletions,y===null?(u.deletions=[l],u.flags|=16):y.push(l)),u.child=p}function Wx(l,u,p,y,M){var A=u.mode;l=l.child;var O=l.sibling,j={mode:"hidden",children:p};return(A&1)===0&&u.child!==l?(p=u.child,p.childLanes=0,p.pendingProps=j,u.deletions=null):(p=Us(l,j),p.subtreeFlags=l.subtreeFlags&14680064),O!==null?y=Us(O,y):(y=Po(y,A,M,null),y.flags|=2),y.return=u,p.return=u,p.sibling=y,u.child=p,y}function Wf(l,u,p,y){return y!==null&&pm(y),ba(u,l.child,null,p),l=Pm(u,u.pendingProps.children),l.flags|=2,u.memoizedState=null,l}function Xx(l,u,p){l.lanes|=u;var y=l.alternate;y!==null&&(y.lanes|=u),om(l.return,u,p)}function Lm(l,u,p,y,M){var A=l.memoizedState;A===null?l.memoizedState={isBackwards:u,rendering:null,renderingStartTime:0,last:y,tail:p,tailMode:M}:(A.isBackwards=u,A.rendering=null,A.renderingStartTime=0,A.last=y,A.tail=p,A.tailMode=M)}function jx(l,u,p){var y=u.pendingProps,M=y.revealOrder,A=y.tail;if(ti(l,u,y.children,p),y=Kt.current,(y&2)!==0)y=y&1|2,u.flags|=128;else{if(l!==null&&(l.flags&128)!==0)e:for(l=u.child;l!==null;){if(l.tag===13)l.memoizedState!==null&&Xx(l,p,u);else if(l.tag===19)Xx(l,p,u);else if(l.child!==null){l.child.return=l,l=l.child;continue}if(l===u)break e;for(;l.sibling===null;){if(l.return===null||l.return===u)break e;l=l.return}l.sibling.return=l.return,l=l.sibling}y&=1}if(ct(Kt,y),(u.mode&1)===0)u.memoizedState=null;else switch(M){case"forwards":for(p=u.child,M=null;p!==null;)l=p.alternate,l!==null&&If(l)===null&&(M=p),p=p.sibling;p=M,p===null?(M=u.child,u.child=null):(M=p.sibling,p.sibling=null),Lm(u,!1,M,p,A);break;case"backwards":for(p=null,M=u.child,u.child=null;M!==null;){if(l=M.alternate,l!==null&&If(l)===null){u.child=M;break}l=M.sibling,M.sibling=p,p=M,M=l}Lm(u,!0,p,null,A);break;case"together":Lm(u,!1,null,null,void 0);break;default:u.memoizedState=null}return u.child}function is(l,u,p){if(l!==null&&(u.dependencies=l.dependencies),Da|=u.lanes,(p&u.childLanes)===0)return null;if(l!==null&&u.child!==l.child)throw Error(o(153));if(u.child!==null){for(l=u.child,p=Us(l,l.pendingProps),u.child=p,p.return=u;l.sibling!==null;)l=l.sibling,p=p.sibling=Us(l,l.pendingProps),p.return=u;p.sibling=null}return u.child}function OA(l,u,p){switch(u.tag){case 3:Bx(u),Ca();break;case 5:lx(u);break;case 1:kn(u.type)&&vf(u);break;case 4:mm(u,u.stateNode.containerInfo);break;case 10:Y_(u,u.type._context,u.memoizedProps.value);break;case 13:var y=u.memoizedState;if(y!==null)return y.dehydrated!==null?(ct(Kt,Kt.current&1),u.flags|=128,null):(p&u.child.childLanes)!==0?Hx(l,u,p):(ct(Kt,Kt.current&1),l=is(l,u,p),l!==null?l.sibling:null);ct(Kt,Kt.current&1);break;case 19:if(y=(p&u.childLanes)!==0,(l.flags&128)!==0){if(y)return jx(l,u,p);u.flags|=128}var M=u.memoizedState;if(M!==null&&(M.rendering=null,M.tail=null,M.lastEffect=null),ct(Kt,Kt.current),y)break;return null;case 22:case 23:return u.lanes=0,Ux(l,u,p)}return is(l,u,p)}function FA(l,u){switch(fm(u),u.tag){case 1:return kn(u.type)&&gf(),l=u.flags,l&65536?(u.flags=l&-65537|128,u):null;case 3:return La(),Dt(Ut),Dt(mn),ym(),l=u.flags,(l&65536)!==0&&(l&128)===0?(u.flags=l&-65537|128,u):null;case 5:return gm(u),null;case 13:if(Dt(Kt),l=u.memoizedState,l!==null&&l.dehydrated!==null){if(u.alternate===null)throw Error(o(340));Ca()}return l=u.flags,l&65536?(u.flags=l&-65537|128,u):null;case 19:return Dt(Kt),null;case 4:return La(),null;case 10:return sm(u.type._context),null;case 22:case 23:return qm(),null;case 24:return null;default:return null}}var Xf=!1,Eo=!1,BA=typeof WeakSet=="function"?WeakSet:Set,Pe=null;function jf(l,u){var p=l.ref;if(p!==null)if(typeof p=="function")try{p(null)}catch(y){pi(l,u,y)}else p.current=null}function Rm(l,u,p){try{p()}catch(y){pi(l,u,y)}}var Yx=!1;function VA(l,u){for(V(l.containerInfo),Pe=u;Pe!==null;)if(l=Pe,u=l.child,(l.subtreeFlags&1028)!==0&&u!==null)u.return=l,Pe=u;else for(;Pe!==null;){l=Pe;try{var p=l.alternate;if((l.flags&1024)!==0)switch(l.tag){case 0:case 11:case 15:break;case 1:if(p!==null){var y=p.memoizedProps,M=p.memoizedState,A=l.stateNode,O=A.getSnapshotBeforeUpdate(l.elementType===l.type?y:dr(l.type,y),M);A.__reactInternalSnapshotBeforeUpdate=O}break;case 3:De&&Ie(l.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(o(163))}}catch(j){pi(l,l.return,j)}if(u=l.sibling,u!==null){u.return=l.return,Pe=u;break}Pe=l.return}return p=Yx,Yx=!1,p}function To(l,u,p){var y=u.updateQueue;if(y=y!==null?y.lastEffect:null,y!==null){var M=y=y.next;do{if((M.tag&l)===l){var A=M.destroy;M.destroy=void 0,A!==void 0&&Rm(u,p,A)}M=M.next}while(M!==y)}}function mu(l,u){if(u=u.updateQueue,u=u!==null?u.lastEffect:null,u!==null){var p=u=u.next;do{if((p.tag&l)===l){var y=p.create;p.destroy=y()}p=p.next}while(p!==u)}}function Im(l){var u=l.ref;if(u!==null){var p=l.stateNode;switch(l.tag){case 5:l=oe(p);break;default:l=p}typeof u=="function"?u(l):u.current=l}}function qx(l,u,p){if(Lr&&typeof Lr.onCommitFiberUnmount=="function")try{Lr.onCommitFiberUnmount(Sf,u)}catch{}switch(u.tag){case 0:case 11:case 14:case 15:if(l=u.updateQueue,l!==null&&(l=l.lastEffect,l!==null)){var y=l=l.next;do{var M=y,A=M.destroy;M=M.tag,A!==void 0&&((M&2)!==0||(M&4)!==0)&&Rm(u,p,A),y=y.next}while(y!==l)}break;case 1:if(jf(u,p),l=u.stateNode,typeof l.componentWillUnmount=="function")try{l.props=u.memoizedProps,l.state=u.memoizedState,l.componentWillUnmount()}catch(O){pi(u,p,O)}break;case 5:jf(u,p);break;case 4:De?e1(l,u,p):me&&me&&(u=u.stateNode.containerInfo,p=zt(u),lr(u,p))}}function Zx(l,u,p){for(var y=u;;)if(qx(l,y,p),y.child===null||De&&y.tag===4){if(y===u)break;for(;y.sibling===null;){if(y.return===null||y.return===u)return;y=y.return}y.sibling.return=y.return,y=y.sibling}else y.child.return=y,y=y.child}function Qx(l){var u=l.alternate;u!==null&&(l.alternate=null,Qx(u)),l.child=null,l.deletions=null,l.sibling=null,l.tag===5&&(u=l.stateNode,u!==null&&Ke(u)),l.stateNode=null,l.return=null,l.dependencies=null,l.memoizedProps=null,l.memoizedState=null,l.pendingProps=null,l.stateNode=null,l.updateQueue=null}function Jx(l){return l.tag===5||l.tag===3||l.tag===4}function Kx(l){e:for(;;){for(;l.sibling===null;){if(l.return===null||Jx(l.return))return null;l=l.return}for(l.sibling.return=l.return,l=l.sibling;l.tag!==5&&l.tag!==6&&l.tag!==18;){if(l.flags&2||l.child===null||l.tag===4)continue e;l.child.return=l,l=l.child}if(!(l.flags&2))return l.stateNode}}function $x(l){if(De){e:{for(var u=l.return;u!==null;){if(Jx(u))break e;u=u.return}throw Error(o(160))}var p=u;switch(p.tag){case 5:u=p.stateNode,p.flags&32&&(Lt(u),p.flags&=-33),p=Kx(l),Nm(l,p,u);break;case 3:case 4:u=p.stateNode.containerInfo,p=Kx(l),Dm(l,p,u);break;default:throw Error(o(161))}}}function Dm(l,u,p){var y=l.tag;if(y===5||y===6)l=l.stateNode,u?Oe(p,l,u):ke(p,l);else if(y!==4&&(l=l.child,l!==null))for(Dm(l,u,p),l=l.sibling;l!==null;)Dm(l,u,p),l=l.sibling}function Nm(l,u,p){var y=l.tag;if(y===5||y===6)l=l.stateNode,u?et(p,l,u):tt(p,l);else if(y!==4&&(l=l.child,l!==null))for(Nm(l,u,p),l=l.sibling;l!==null;)Nm(l,u,p),l=l.sibling}function e1(l,u,p){for(var y=u,M=!1,A,O;;){if(!M){M=y.return;e:for(;;){if(M===null)throw Error(o(160));switch(A=M.stateNode,M.tag){case 5:O=!1;break e;case 3:A=A.containerInfo,O=!0;break e;case 4:A=A.containerInfo,O=!0;break e}M=M.return}M=!0}if(y.tag===5||y.tag===6)Zx(l,y,p),O?wt(A,y.stateNode):Ge(A,y.stateNode);else if(y.tag===18)O?yt(A,y.stateNode):mt(A,y.stateNode);else if(y.tag===4){if(y.child!==null){A=y.stateNode.containerInfo,O=!0,y.child.return=y,y=y.child;continue}}else if(qx(l,y,p),y.child!==null){y.child.return=y,y=y.child;continue}if(y===u)break;for(;y.sibling===null;){if(y.return===null||y.return===u)return;y=y.return,y.tag===4&&(M=!1)}y.sibling.return=y.return,y=y.sibling}}function km(l,u){if(De){switch(u.tag){case 0:case 11:case 14:case 15:To(3,u,u.return),mu(3,u),To(5,u,u.return);return;case 1:return;case 5:var p=u.stateNode;if(p!=null){var y=u.memoizedProps;l=l!==null?l.memoizedProps:y;var M=u.type,A=u.updateQueue;u.updateQueue=null,A!==null&&qe(p,A,M,l,y,u)}return;case 6:if(u.stateNode===null)throw Error(o(162));p=u.memoizedProps,he(u.stateNode,l!==null?l.memoizedProps:p,p);return;case 3:se&&l!==null&&l.memoizedState.isDehydrated&&ut(u.stateNode.containerInfo);return;case 12:return;case 13:Yf(u);return;case 19:Yf(u);return;case 17:return}throw Error(o(163))}switch(u.tag){case 0:case 11:case 14:case 15:To(3,u,u.return),mu(3,u),To(5,u,u.return);return;case 12:return;case 13:Yf(u);return;case 19:Yf(u);return;case 3:se&&l!==null&&l.memoizedState.isDehydrated&&ut(u.stateNode.containerInfo);break;case 22:case 23:return}e:if(me){switch(u.tag){case 1:case 5:case 6:break e;case 3:case 4:u=u.stateNode,lr(u.containerInfo,u.pendingChildren);break e}throw Error(o(163))}}function Yf(l){var u=l.updateQueue;if(u!==null){l.updateQueue=null;var p=l.stateNode;p===null&&(p=l.stateNode=new BA),u.forEach(function(y){var M=JA.bind(null,l,y);p.has(y)||(p.add(y),y.then(M,M))})}}function HA(l,u){for(Pe=u;Pe!==null;){u=Pe;var p=u.deletions;if(p!==null)for(var y=0;y";case Zf:return":has("+(Om(l)||"")+")";case Qf:return'[role="'+l.value+'"]';case Kf:return'"'+l.value+'"';case Jf:return'[data-testname="'+l.value+'"]';default:throw Error(o(365))}}function s1(l,u){var p=[];l=[l,0];for(var y=0;yM&&(M=O),y&=~A}if(y=M,y=An()-y,y=(120>y?120:480>y?480:1080>y?1080:1920>y?1920:3e3>y?3e3:4320>y?4320:1960*WA(y/1960))-y,10l?16:l,Ns===null)var y=!1;else{if(l=Ns,Ns=null,ih=0,(gt&6)!==0)throw Error(o(331));var M=gt;for(gt|=4,Pe=l.current;Pe!==null;){var A=Pe,O=A.child;if((Pe.flags&16)!==0){var j=A.deletions;if(j!==null){for(var ae=0;aeAn()-Hm?Ao(l,0):Vm|=p),di(l,u)}function p1(l,u){u===0&&((l.mode&1)===0?u=1:(u=_f,_f<<=1,(_f&130023424)===0&&(_f=4194304)));var p=ni();l=oh(l,u),l!==null&&(nu(l,u,p),di(l,p))}function QA(l){var u=l.memoizedState,p=0;u!==null&&(p=u.retryLane),p1(l,p)}function JA(l,u){var p=0;switch(l.tag){case 13:var y=l.stateNode,M=l.memoizedState;M!==null&&(p=M.retryLane);break;case 19:y=l.stateNode;break;default:throw Error(o(314))}y!==null&&y.delete(u),p1(l,p)}var m1;m1=function(l,u,p){if(l!==null)if(l.memoizedProps!==u.pendingProps||Ut.current)Ci=!0;else{if((l.lanes&p)===0&&(u.flags&128)===0)return Ci=!1,OA(l,u,p);Ci=(l.flags&131072)!==0}else Ci=!1,qt&&(u.flags&1048576)!==0&&tx(u,Lf,u.index);switch(u.lanes=0,u.tag){case 2:var y=u.type;l!==null&&(l.alternate=null,u.alternate=null,u.flags|=2),l=u.pendingProps;var M=Ls(u,mn.current);Ea(u,p),M=xm(null,u,y,l,M,p);var A=Sm();return u.flags|=1,typeof M=="object"&&M!==null&&typeof M.render=="function"&&M.$$typeof===void 0?(u.tag=1,u.memoizedState=null,u.updateQueue=null,kn(y)?(A=!0,vf(u)):A=!1,u.memoizedState=M.state!==null&&M.state!==void 0?M.state:null,am(u),M.updater=bf,u.stateNode=M,M._reactInternals=u,um(u,y,l,p),u=bm(null,u,y,!0,A,p)):(u.tag=0,qt&&A&&cm(u),ti(null,u,M,p),u=u.child),u;case 16:y=u.elementType;e:{switch(l!==null&&(l.alternate=null,u.alternate=null,u.flags|=2),l=u.pendingProps,M=y._init,y=M(y._payload),u.type=y,M=u.tag=$A(y),l=dr(y,l),M){case 0:u=Cm(null,u,y,l,p);break e;case 1:u=Fx(null,u,y,l,p);break e;case 11:u=Nx(null,u,y,l,p);break e;case 14:u=kx(null,u,y,dr(y.type,l),p);break e}throw Error(o(306,y,""))}return u;case 0:return y=u.type,M=u.pendingProps,M=u.elementType===y?M:dr(y,M),Cm(l,u,y,M,p);case 1:return y=u.type,M=u.pendingProps,M=u.elementType===y?M:dr(y,M),Fx(l,u,y,M,p);case 3:e:{if(Bx(u),l===null)throw Error(o(387));y=u.pendingProps,A=u.memoizedState,M=A.element,q_(l,u),Cf(u,y,null,p);var O=u.memoizedState;if(y=O.element,se&&A.isDehydrated)if(A={element:y,isDehydrated:!1,cache:O.cache,transitions:O.transitions},u.updateQueue.baseState=A,u.memoizedState=A,u.flags&256){M=Error(o(423)),u=Vx(l,u,y,p,M);break e}else if(y!==M){M=Error(o(424)),u=Vx(l,u,y,p,M);break e}else for(se&&(Ai=ce(u.stateNode.containerInfo),Ti=u,qt=!0,pr=null,iu=!1),p=ax(u,null,y,p),u.child=p;p;)p.flags=p.flags&-3|4096,p=p.sibling;else{if(Ca(),y===M){u=is(l,u,p);break e}ti(l,u,y,p)}u=u.child}return u;case 5:return lx(u),l===null&&dm(u),y=u.type,M=u.pendingProps,A=l!==null?l.memoizedProps:null,O=M.children,ye(y,M)?O=null:A!==null&&ye(y,A)&&(u.flags|=32),Ox(l,u),ti(l,u,O,p),u.child;case 6:return l===null&&dm(u),null;case 13:return Hx(l,u,p);case 4:return mm(u,u.stateNode.containerInfo),y=u.pendingProps,l===null?u.child=ba(u,null,y,p):ti(l,u,y,p),u.child;case 11:return y=u.type,M=u.pendingProps,M=u.elementType===y?M:dr(y,M),Nx(l,u,y,M,p);case 7:return ti(l,u,u.pendingProps,p),u.child;case 8:return ti(l,u,u.pendingProps.children,p),u.child;case 12:return ti(l,u,u.pendingProps.children,p),u.child;case 10:e:{if(y=u.type._context,M=u.pendingProps,A=u.memoizedProps,O=M.value,Y_(u,y,O),A!==null)if(Rr(A.value,O)){if(A.children===M.children&&!Ut.current){u=is(l,u,p);break e}}else for(A=u.child,A!==null&&(A.return=u);A!==null;){var j=A.dependencies;if(j!==null){O=A.child;for(var ae=j.firstContext;ae!==null;){if(ae.context===y){if(A.tag===1){ae=$r(-1,p&-p),ae.tag=2;var Ee=A.updateQueue;if(Ee!==null){Ee=Ee.shared;var Fe=Ee.pending;Fe===null?ae.next=ae:(ae.next=Fe.next,Fe.next=ae),Ee.pending=ae}}A.lanes|=p,ae=A.alternate,ae!==null&&(ae.lanes|=p),om(A.return,p,u),j.lanes|=p;break}ae=ae.next}}else if(A.tag===10)O=A.type===u.type?null:A.child;else if(A.tag===18){if(O=A.return,O===null)throw Error(o(341));O.lanes|=p,j=O.alternate,j!==null&&(j.lanes|=p),om(O,p,u),O=A.sibling}else O=A.child;if(O!==null)O.return=A;else for(O=A;O!==null;){if(O===u){O=null;break}if(A=O.sibling,A!==null){A.return=O.return,O=A;break}O=O.return}A=O}ti(l,u,M.children,p),u=u.child}return u;case 9:return M=u.type,y=u.pendingProps.children,Ea(u,p),M=Gi(M),y=y(M),u.flags|=1,ti(l,u,y,p),u.child;case 14:return y=u.type,M=dr(y,u.pendingProps),M=dr(y.type,M),kx(l,u,y,M,p);case 15:return zx(l,u,u.type,u.pendingProps,p);case 17:return y=u.type,M=u.pendingProps,M=u.elementType===y?M:dr(y,M),l!==null&&(l.alternate=null,u.alternate=null,u.flags|=2),u.tag=1,kn(y)?(l=!0,vf(u)):l=!1,Ea(u,p),$_(u,y,M),um(u,y,M,p),bm(null,u,y,!0,l,p);case 19:return jx(l,u,p);case 22:return Ux(l,u,p)}throw Error(o(156,u.tag))};function g1(l,u){return $p(l,u)}function KA(l,u,p,y){this.tag=l,this.key=p,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=u,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=y,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Zi(l,u,p,y){return new KA(l,u,p,y)}function Qm(l){return l=l.prototype,!(!l||!l.isReactComponent)}function $A(l){if(typeof l=="function")return Qm(l)?1:0;if(l!=null){if(l=l.$$typeof,l===E)return 11;if(l===x)return 14}return 2}function Us(l,u){var p=l.alternate;return p===null?(p=Zi(l.tag,u,l.key,l.mode),p.elementType=l.elementType,p.type=l.type,p.stateNode=l.stateNode,p.alternate=l,l.alternate=p):(p.pendingProps=u,p.type=l.type,p.flags=0,p.subtreeFlags=0,p.deletions=null),p.flags=l.flags&14680064,p.childLanes=l.childLanes,p.lanes=l.lanes,p.child=l.child,p.memoizedProps=l.memoizedProps,p.memoizedState=l.memoizedState,p.updateQueue=l.updateQueue,u=l.dependencies,p.dependencies=u===null?null:{lanes:u.lanes,firstContext:u.firstContext},p.sibling=l.sibling,p.index=l.index,p.ref=l.ref,p}function lh(l,u,p,y,M,A){var O=2;if(y=l,typeof l=="function")Qm(l)&&(O=1);else if(typeof l=="string")O=5;else e:switch(l){case h:return Po(p.children,M,A,u);case d:O=8,M|=8;break;case m:return l=Zi(12,p,u,M|2),l.elementType=m,l.lanes=A,l;case S:return l=Zi(13,p,u,M),l.elementType=S,l.lanes=A,l;case g:return l=Zi(19,p,u,M),l.elementType=g,l.lanes=A,l;case T:return uh(p,M,A,u);default:if(typeof l=="object"&&l!==null)switch(l.$$typeof){case v:O=10;break e;case _:O=9;break e;case E:O=11;break e;case x:O=14;break e;case w:O=16,y=null;break e}throw Error(o(130,l==null?l:typeof l,""))}return u=Zi(O,p,u,M),u.elementType=l,u.type=y,u.lanes=A,u}function Po(l,u,p,y){return l=Zi(7,l,y,u),l.lanes=p,l}function uh(l,u,p,y){return l=Zi(22,l,y,u),l.elementType=T,l.lanes=p,l.stateNode={},l}function Jm(l,u,p){return l=Zi(6,l,null,u),l.lanes=p,l}function Km(l,u,p){return u=Zi(4,l.children!==null?l.children:[],l.key,u),u.lanes=p,u.stateNode={containerInfo:l.containerInfo,pendingChildren:null,implementation:l.implementation},u}function eC(l,u,p,y,M){this.tag=u,this.containerInfo=l,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=je,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Jp(0),this.expirationTimes=Jp(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Jp(0),this.identifierPrefix=y,this.onRecoverableError=M,se&&(this.mutableSourceEagerHydrationData=null)}function v1(l,u,p,y,M,A,O,j,ae){return l=new eC(l,u,p,j,ae),u===1?(u=1,A===!0&&(u|=8)):u=0,A=Zi(3,null,null,u),l.current=A,A.stateNode=l,A.memoizedState={element:y,isDehydrated:p,cache:null,transitions:null},am(A),l}function y1(l){if(!l)return Vn;l=l._reactInternals;e:{if(b(l)!==l||l.tag!==1)throw Error(o(170));var u=l;do{switch(u.tag){case 3:u=u.stateNode.context;break e;case 1:if(kn(u.type)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break e}}u=u.return}while(u!==null);throw Error(o(171))}if(l.tag===1){var p=l.type;if(kn(p))return H_(l,p,u)}return u}function _1(l){var u=l._reactInternals;if(u===void 0)throw typeof l.render=="function"?Error(o(188)):(l=Object.keys(l).join(","),Error(o(268,l)));return l=q(u),l===null?null:l.stateNode}function x1(l,u){if(l=l.memoizedState,l!==null&&l.dehydrated!==null){var p=l.retryLane;l.retryLane=p!==0&&p=Ee&&A>=ot&&M<=Fe&&O<=Je){l.splice(u,1);break}else if(y!==Ee||p.width!==ae.width||JeO){if(!(A!==ot||p.height!==ae.height||FeM)){Ee>y&&(ae.width+=Ee-y,ae.x=y),FeA&&(ae.height+=ot-A,ae.y=A),Jep&&(p=O)),O ")+` + +No matching component was found for: + `)+l.join(" > ")}return null},t.getPublicRootInstance=function(l){if(l=l.current,!l.child)return null;switch(l.child.tag){case 5:return oe(l.child.stateNode);default:return l.child.stateNode}},t.injectIntoDevTools=function(l){if(l={bundleType:l.bundleType,version:l.version,rendererPackageName:l.rendererPackageName,rendererConfig:l.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:a.ReactCurrentDispatcher,findHostInstanceByFiber:tC,findFiberByHostInstance:l.findFiberByHostInstance||nC,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.0.0-fc46dba67-20220329"},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")l=!1;else{var u=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(u.isDisabled||!u.supportsFiber)l=!0;else{try{Sf=u.inject(l),Lr=u}catch{}l=!!u.checkDCE}}return l},t.isAlreadyRendering=function(){return!1},t.observeVisibleRects=function(l,u,p,y){if(!rt)throw Error(o(363));l=Fm(l,u);var M=be(l,p,y).disconnect;return{disconnect:function(){M()}}},t.registerMutableSourceForHydration=function(l,u){var p=u._getVersion;p=p(u._source),l.mutableSourceEagerHydrationData==null?l.mutableSourceEagerHydrationData=[u,p]:l.mutableSourceEagerHydrationData.push(u,p)},t.runWithPriority=function(l,u){var p=Ct;try{return Ct=l,u()}finally{Ct=p}},t.shouldError=function(){return null},t.shouldSuspend=function(){return!1},t.updateContainer=function(l,u,p,y){var M=u.current,A=ni(),O=ks(M);return p=y1(p),u.context===null?u.context=p:u.pendingContext=p,u=$r(A,O),u.payload={element:l},y=y===void 0?null:y,y!==null&&(u.callback=y),Is(M,u),l=qi(M,O,A),l!==null&&Af(l,M,O),O},t};(function(n){n.exports=DU})(N3);const NU=rC(N3.exports);var Xv={exports:{}},k3={};/** + * @license React + * scheduler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */(function(n){function e(D,V){var B=D.length;D.push(V);e:for(;0>>1,Y=D[J];if(0>>1;Jr(ye,B))per(Q,ye)?(D[J]=Q,D[pe]=B,J=pe):(D[J]=ye,D[z]=B,J=z);else if(per(Q,B))D[J]=Q,D[pe]=B,J=pe;else break e}}return V}function r(D,V){var B=D.sortIndex-V.sortIndex;return B!==0?B:D.id-V.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;n.unstable_now=function(){return s.now()}}else{var o=Date,a=o.now();n.unstable_now=function(){return o.now()-a}}var c=[],f=[],h=1,d=null,m=3,v=!1,_=!1,E=!1,S=typeof setTimeout=="function"?setTimeout:null,g=typeof clearTimeout=="function"?clearTimeout:null,x=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function w(D){for(var V=t(f);V!==null;){if(V.callback===null)i(f);else if(V.startTime<=D)i(f),V.sortIndex=V.expirationTime,e(c,V);else break;V=t(f)}}function T(D){if(E=!1,w(D),!_)if(t(c)!==null)_=!0,oe(C);else{var V=t(f);V!==null&&ue(T,V.startTime-D)}}function C(D,V){_=!1,E&&(E=!1,g(I),I=-1),v=!0;var B=m;try{for(w(V),d=t(c);d!==null&&(!(d.expirationTime>V)||D&&!H());){var J=d.callback;if(typeof J=="function"){d.callback=null,m=d.priorityLevel;var Y=J(d.expirationTime<=V);V=n.unstable_now(),typeof Y=="function"?d.callback=Y:d===t(c)&&i(c),w(V)}else i(c);d=t(c)}if(d!==null)var K=!0;else{var z=t(f);z!==null&&ue(T,z.startTime-V),K=!1}return K}finally{d=null,m=B,v=!1}}var P=!1,R=null,I=-1,b=5,L=-1;function H(){return!(n.unstable_now()-LD||125J?(D.sortIndex=B,e(f,D),t(c)===null&&D===t(f)&&(E?(g(I),I=-1):E=!0,ue(T,B-J))):(D.sortIndex=Y,e(c,D),_||v||(_=!0,oe(C))),D},n.unstable_shouldYield=H,n.unstable_wrapCallback=function(D){var V=m;return function(){var B=m;m=V;try{return D.apply(this,arguments)}finally{m=B}}}})(k3);(function(n){n.exports=k3})(Xv);var Gp={exports:{}},Wp={};/** + * @license React + * react-jsx-runtime.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var kU=Te.exports,zU=Symbol.for("react.element"),UU=Symbol.for("react.fragment"),OU=Object.prototype.hasOwnProperty,FU=kU.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,BU={key:!0,ref:!0,__self:!0,__source:!0};function z3(n,e,t){var i,r={},s=null,o=null;t!==void 0&&(s=""+t),e.key!==void 0&&(s=""+e.key),e.ref!==void 0&&(o=e.ref);for(i in e)OU.call(e,i)&&!BU.hasOwnProperty(i)&&(r[i]=e[i]);if(n&&n.defaultProps)for(i in e=n.defaultProps,e)r[i]===void 0&&(r[i]=e[i]);return{$$typeof:zU,type:n,key:s,ref:o,props:r,_owner:FU.current}}Wp.Fragment=UU;Wp.jsx=z3;Wp.jsxs=z3;(function(n){n.exports=Wp})(Gp);const L_=Gp.exports.Fragment,Gt=Gp.exports.jsx,Xp=Gp.exports.jsxs,R_={},VU=n=>void Object.assign(R_,n);function HU(n,e){function t(h,{args:d=[],attach:m,...v},_){let E=`${h[0].toUpperCase()}${h.slice(1)}`,S;if(h==="primitive"){if(v.object===void 0)throw new Error("R3F: Primitives without 'object' are invalid!");const g=v.object;S=sl(g,{type:h,root:_,attach:m,primitive:!0})}else{const g=R_[E];if(!g)throw new Error(`R3F: ${E} is not part of the THREE namespace! Did you forget to extend? See: https://docs.pmnd.rs/react-three-fiber/api/objects#using-3rd-party-objects-declaratively`);if(!Array.isArray(d))throw new Error("R3F: The args prop must be an array!");S=sl(new g(...d),{type:h,root:_,attach:m,memoizedProps:{args:d}})}return S.__r3f.attach===void 0&&(S instanceof lt?S.__r3f.attach="geometry":S instanceof Bn&&(S.__r3f.attach="material")),E!=="inject"&&o0(S,v),S}function i(h,d){let m=!1;if(d){var v,_;(v=d.__r3f)!=null&&v.attach?s0(h,d,d.__r3f.attach):d.isObject3D&&h.isObject3D&&(h.add(d),m=!0),m||(_=h.__r3f)==null||_.objects.push(d),d.__r3f||sl(d,{}),d.__r3f.parent=h,Yv(d),ol(d)}}function r(h,d,m){let v=!1;if(d){var _,E;if((_=d.__r3f)!=null&&_.attach)s0(h,d,d.__r3f.attach);else if(d.isObject3D&&h.isObject3D){d.parent=h,d.dispatchEvent({type:"added"});const S=h.children.filter(x=>x!==d),g=S.indexOf(m);h.children=[...S.slice(0,g),d,...S.slice(g)],v=!0}v||(E=h.__r3f)==null||E.objects.push(d),d.__r3f||sl(d,{}),d.__r3f.parent=h,Yv(d),ol(d)}}function s(h,d,m=!1){h&&[...h].forEach(v=>o(d,v,m))}function o(h,d,m){if(d){var v,_,E;if(d.__r3f&&(d.__r3f.parent=null),(v=h.__r3f)!=null&&v.objects&&(h.__r3f.objects=h.__r3f.objects.filter(T=>T!==d)),(_=d.__r3f)!=null&&_.attach)aM(h,d,d.__r3f.attach);else if(d.isObject3D&&h.isObject3D){var S;h.remove(d),(S=d.__r3f)!=null&&S.root&&ZU(d.__r3f.root,d)}const x=(E=d.__r3f)==null?void 0:E.primitive,w=m===void 0?d.dispose!==null&&!x:m;if(!x){var g;s((g=d.__r3f)==null?void 0:g.objects,d,w),s(d.children,d,w)}d.__r3f&&(delete d.__r3f.root,delete d.__r3f.objects,delete d.__r3f.handlers,delete d.__r3f.memoizedProps,x||delete d.__r3f),w&&d.dispose&&d.type!=="Scene"&&Xv.exports.unstable_scheduleCallback(Xv.exports.unstable_IdlePriority,()=>{try{d.dispose()}catch{}}),ol(h)}}function a(h,d,m,v){var _;const E=(_=h.__r3f)==null?void 0:_.parent;if(!E)return;const S=t(d,m,h.__r3f.root);if(h.children){for(const g of h.children)g.__r3f&&i(S,g);h.children=h.children.filter(g=>!g.__r3f)}h.__r3f.objects.forEach(g=>i(S,g)),h.__r3f.objects=[],h.__r3f.autoRemovedBeforeAppend||o(E,h),S.parent&&(S.__r3f.autoRemovedBeforeAppend=!0),i(E,S),S.raycast&&S.__r3f.eventCount&&S.__r3f.root.getState().internal.interaction.push(S),[v,v.alternate].forEach(g=>{g!==null&&(g.stateNode=S,g.ref&&(typeof g.ref=="function"?g.ref(S):g.ref.current=S))})}const c=()=>console.warn("Text is not allowed in the R3F tree! This could be stray whitespace or characters.");return{reconciler:NU({createInstance:t,removeChild:o,appendChild:i,appendInitialChild:i,insertBefore:r,supportsMutation:!0,isPrimaryRenderer:!1,supportsPersistence:!1,supportsHydration:!1,noTimeout:-1,appendChildToContainer:(h,d)=>{if(!d)return;const m=h.getState().scene;!m.__r3f||(m.__r3f.root=h,i(m,d))},removeChildFromContainer:(h,d)=>{!d||o(h.getState().scene,d)},insertInContainerBefore:(h,d,m)=>{if(!d||!m)return;const v=h.getState().scene;!v.__r3f||r(v,d,m)},getRootHostContext:()=>null,getChildHostContext:h=>h,finalizeInitialChildren(h){var d;const m=(d=h==null?void 0:h.__r3f)!=null?d:{};return Boolean(m.handlers)},prepareUpdate(h,d,m,v){if(h.__r3f.primitive&&v.object&&v.object!==h)return[!0];{const{args:_=[],children:E,...S}=v,{args:g=[],children:x,...w}=m;if(!Array.isArray(_))throw new Error("R3F: the args prop must be an array!");if(_.some((C,P)=>C!==g[P]))return[!0];const T=G3(h,S,w,!0);return T.changes.length?[!1,T]:null}},commitUpdate(h,[d,m],v,_,E,S){d?a(h,v,E,S):o0(h,m)},commitMount(h,d,m,v){var _;const E=(_=h.__r3f)!=null?_:{};h.raycast&&E.handlers&&E.eventCount&&h.__r3f.root.getState().internal.interaction.push(h)},getPublicInstance:h=>h,prepareForCommit:()=>null,preparePortalMount:h=>sl(h.getState().scene),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance(h){var d;const{attach:m,parent:v}=(d=h.__r3f)!=null?d:{};m&&v&&aM(v,h,m),h.isObject3D&&(h.visible=!1),ol(h)},unhideInstance(h,d){var m;const{attach:v,parent:_}=(m=h.__r3f)!=null?m:{};v&&_&&s0(_,h,v),(h.isObject3D&&d.visible==null||d.visible)&&(h.visible=!0),ol(h)},createTextInstance:c,hideTextInstance:c,unhideTextInstance:c,getCurrentEventPriority:()=>e?e():Jo.exports.DefaultEventPriority,beforeActiveInstanceBlur:()=>{},afterActiveInstanceBlur:()=>{},detachDeletedInstance:()=>{},now:typeof performance<"u"&&Zt.fun(performance.now)?performance.now:Zt.fun(Date.now)?Date.now:()=>0,scheduleTimeout:Zt.fun(setTimeout)?setTimeout:void 0,cancelTimeout:Zt.fun(clearTimeout)?clearTimeout:void 0}),applyProps:o0}}var iM,rM;const U3=()=>{var n;return(n=R_.ColorManagement)!=null?n:null},O3=n=>n&&n.isOrthographicCamera,GU=n=>n&&n.hasOwnProperty("current"),df=typeof window<"u"&&((iM=window.document)!=null&&iM.createElement||((rM=window.navigator)==null?void 0:rM.product)==="ReactNative")?Te.exports.useLayoutEffect:Te.exports.useEffect;function F3(n){const e=Te.exports.useRef(n);return df(()=>void(e.current=n),[n]),e}function WU({set:n}){return df(()=>(n(new Promise(()=>null)),()=>n(!1)),[n]),null}class B3 extends Te.exports.Component{constructor(...e){super(...e),this.state={error:!1}}componentDidCatch(e){this.props.set(e)}render(){return this.state.error?null:this.props.children}}B3.getDerivedStateFromError=()=>({error:!0});const V3="__default",sM=new Map,XU=n=>n&&!!n.memoized&&!!n.changes;function H3(n){var e;const t=typeof window<"u"?(e=window.devicePixelRatio)!=null?e:2:1;return Array.isArray(n)?Math.min(Math.max(n[0],t),n[1]):n}const Ou=n=>{var e;return(e=n.__r3f)==null?void 0:e.root.getState()},Zt={obj:n=>n===Object(n)&&!Zt.arr(n)&&typeof n!="function",fun:n=>typeof n=="function",str:n=>typeof n=="string",num:n=>typeof n=="number",boo:n=>typeof n=="boolean",und:n=>n===void 0,arr:n=>Array.isArray(n),equ(n,e,{arrays:t="shallow",objects:i="reference",strict:r=!0}={}){if(typeof n!=typeof e||!!n!=!!e)return!1;if(Zt.str(n)||Zt.num(n))return n===e;const s=Zt.obj(n);if(s&&i==="reference")return n===e;const o=Zt.arr(n);if(o&&t==="reference")return n===e;if((o||s)&&n===e)return!0;let a;for(a in n)if(!(a in e))return!1;if(s&&t==="shallow"&&i==="shallow"){for(a in r?e:n)if(!Zt.equ(n[a],e[a],{strict:r,objects:"reference"}))return!1}else for(a in r?e:n)if(n[a]!==e[a])return!1;if(Zt.und(a)){if(o&&n.length===0&&e.length===0||s&&Object.keys(n).length===0&&Object.keys(e).length===0)return!0;if(n!==e)return!1}return!0}};function jU(n){n.dispose&&n.type!=="Scene"&&n.dispose();for(const e in n)e.dispose==null||e.dispose(),delete n[e]}function sl(n,e){const t=n;return(e!=null&&e.primitive||!t.__r3f)&&(t.__r3f={type:"",root:null,previousAttach:null,memoizedProps:{},eventCount:0,handlers:{},objects:[],parent:null,...e}),n}function jv(n,e){let t=n;if(e.includes("-")){const i=e.split("-"),r=i.pop();return t=i.reduce((s,o)=>s[o],n),{target:t,key:r}}else return{target:t,key:e}}const oM=/-\d+$/;function s0(n,e,t){if(Zt.str(t)){if(oM.test(t)){const s=t.replace(oM,""),{target:o,key:a}=jv(n,s);Array.isArray(o[a])||(o[a]=[])}const{target:i,key:r}=jv(n,t);e.__r3f.previousAttach=i[r],i[r]=e}else e.__r3f.previousAttach=t(n,e)}function aM(n,e,t){var i,r;if(Zt.str(t)){const{target:s,key:o}=jv(n,t),a=e.__r3f.previousAttach;a===void 0?delete s[o]:s[o]=a}else(i=e.__r3f)==null||i.previousAttach==null||i.previousAttach(n,e);(r=e.__r3f)==null||delete r.previousAttach}function G3(n,{children:e,key:t,ref:i,...r},{children:s,key:o,ref:a,...c}={},f=!1){var h;const d=(h=n==null?void 0:n.__r3f)!=null?h:{},m=Object.entries(r),v=[];if(f){const E=Object.keys(c);for(let S=0;S{var g;if((g=n.__r3f)!=null&&g.primitive&&E==="object"||Zt.equ(S,c[E]))return;if(/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/.test(E))return v.push([E,S,!0,[]]);let x=[];E.includes("-")&&(x=E.split("-")),v.push([E,S,!1,x]);for(const w in r){const T=r[w];w.startsWith(`${E}-`)&&v.push([w,T,!1,w.split("-")])}});const _={...r};return d.memoizedProps&&d.memoizedProps.args&&(_.args=d.memoizedProps.args),d.memoizedProps&&d.memoizedProps.attach&&(_.attach=d.memoizedProps.attach),{memoized:_,changes:v}}function o0(n,e){var t,i,r;const s=(t=n.__r3f)!=null?t:{},o=s.root,a=(i=o==null||o.getState==null?void 0:o.getState())!=null?i:{},{memoized:c,changes:f}=XU(e)?e:G3(n,e),h=s.eventCount;n.__r3f&&(n.__r3f.memoizedProps=c);for(let m=0;mw[T],n),!(x&&x.set))){const[w,...T]=S.reverse();g=T.reverse().reduce((C,P)=>C[P],n),v=w}if(_===V3+"remove")if(g.constructor){let w=sM.get(g.constructor);w||(w=new g.constructor,sM.set(g.constructor,w)),_=w[v]}else _=0;if(E)_?s.handlers[v]=_:delete s.handlers[v],s.eventCount=Object.keys(s.handlers).length;else if(x&&x.set&&(x.copy||x instanceof ia)){if(Array.isArray(_))x.fromArray?x.fromArray(_):x.set(..._);else if(x.copy&&_&&_.constructor&&x.constructor===_.constructor)x.copy(_);else if(_!==void 0){const w=x instanceof Re;!w&&x.setScalar?x.setScalar(_):x instanceof ia&&_ instanceof ia?x.mask=_.mask:x.set(_),!U3()&&!a.linear&&w&&x.convertSRGBToLinear()}}else g[v]=_,!a.linear&&g[v]instanceof un&&g[v].format===_i&&g[v].type===Es&&(g[v].encoding=Ot);ol(n)}if(s.parent&&a.internal&&n.raycast&&h!==s.eventCount){const m=a.internal.interaction.indexOf(n);m>-1&&a.internal.interaction.splice(m,1),s.eventCount&&a.internal.interaction.push(n)}return!(f.length===1&&f[0][0]==="onUpdate")&&f.length&&(r=n.__r3f)!=null&&r.parent&&Yv(n),n}function ol(n){var e,t;const i=(e=n.__r3f)==null||(t=e.root)==null||t.getState==null?void 0:t.getState();i&&i.internal.frames===0&&i.invalidate()}function Yv(n){n.onUpdate==null||n.onUpdate(n)}function YU(n,e){n.manual||(O3(n)?(n.left=e.width/-2,n.right=e.width/2,n.top=e.height/2,n.bottom=e.height/-2):n.aspect=e.width/e.height,n.updateProjectionMatrix(),n.updateMatrixWorld())}function pd(n){return(n.eventObject||n.object).uuid+"/"+n.index+n.instanceId}function qU(){var n;const e=typeof self<"u"&&self||typeof window<"u"&&window;if(!e)return Jo.exports.DefaultEventPriority;switch((n=e.event)==null?void 0:n.type){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return Jo.exports.DiscreteEventPriority;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return Jo.exports.ContinuousEventPriority;default:return Jo.exports.DefaultEventPriority}}function W3(n,e,t,i){const r=t.get(e);r&&(t.delete(e),t.size===0&&(n.delete(i),r.target.releasePointerCapture(i)))}function ZU(n,e){const{internal:t}=n.getState();t.interaction=t.interaction.filter(i=>i!==e),t.initialHits=t.initialHits.filter(i=>i!==e),t.hovered.forEach((i,r)=>{(i.eventObject===e||i.object===e)&&t.hovered.delete(r)}),t.capturedMap.forEach((i,r)=>{W3(t.capturedMap,e,i,r)})}function QU(n){function e(c){const{internal:f}=n.getState(),h=c.offsetX-f.initialClick[0],d=c.offsetY-f.initialClick[1];return Math.round(Math.sqrt(h*h+d*d))}function t(c){return c.filter(f=>["Move","Over","Enter","Out","Leave"].some(h=>{var d;return(d=f.__r3f)==null?void 0:d.handlers["onPointer"+h]}))}function i(c,f){const h=n.getState(),d=new Set,m=[],v=f?f(h.internal.interaction):h.internal.interaction;for(let g=0;g{const w=Ou(g.object),T=Ou(x.object);return!w||!T?g.distance-x.distance:T.events.priority-w.events.priority||g.distance-x.distance}).filter(g=>{const x=pd(g);return d.has(x)?!1:(d.add(x),!0)});h.events.filter&&(E=h.events.filter(E,h));for(const g of E){let x=g.object;for(;x;){var S;(S=x.__r3f)!=null&&S.eventCount&&m.push({...g,eventObject:x}),x=x.parent}}if("pointerId"in c&&h.internal.capturedMap.has(c.pointerId))for(let g of h.internal.capturedMap.get(c.pointerId).values())d.has(pd(g.intersection))||m.push(g.intersection);return m}function r(c,f,h,d){const m=n.getState();if(c.length){const v={stopped:!1};for(const _ of c){const E=Ou(_.object)||m,{raycaster:S,pointer:g,camera:x,internal:w}=E,T=new N(g.x,g.y,0).unproject(x),C=L=>{var H,q;return(H=(q=w.capturedMap.get(L))==null?void 0:q.has(_.eventObject))!=null?H:!1},P=L=>{const H={intersection:_,target:f.target};w.capturedMap.has(L)?w.capturedMap.get(L).set(_.eventObject,H):w.capturedMap.set(L,new Map([[_.eventObject,H]])),f.target.setPointerCapture(L)},R=L=>{const H=w.capturedMap.get(L);H&&W3(w.capturedMap,_.eventObject,H,L)};let I={};for(let L in f){let H=f[L];typeof H!="function"&&(I[L]=H)}let b={..._,...I,pointer:g,intersections:c,stopped:v.stopped,delta:h,unprojectedPoint:T,ray:S.ray,camera:x,stopPropagation(){const L="pointerId"in f&&w.capturedMap.get(f.pointerId);if((!L||L.has(_.eventObject))&&(b.stopped=v.stopped=!0,w.hovered.size&&Array.from(w.hovered.values()).find(H=>H.eventObject===_.eventObject))){const H=c.slice(0,c.indexOf(_));s([...H,_])}},target:{hasPointerCapture:C,setPointerCapture:P,releasePointerCapture:R},currentTarget:{hasPointerCapture:C,setPointerCapture:P,releasePointerCapture:R},nativeEvent:f};if(d(b),v.stopped===!0)break}}return c}function s(c){const{internal:f}=n.getState();for(const h of f.hovered.values())if(!c.length||!c.find(d=>d.object===h.object&&d.index===h.index&&d.instanceId===h.instanceId)){const m=h.eventObject.__r3f,v=m==null?void 0:m.handlers;if(f.hovered.delete(pd(h)),m!=null&&m.eventCount){const _={...h,intersections:c};v.onPointerOut==null||v.onPointerOut(_),v.onPointerLeave==null||v.onPointerLeave(_)}}}function o(c,f){for(let h=0;hs([]);case"onLostPointerCapture":return f=>{const{internal:h}=n.getState();"pointerId"in f&&h.capturedMap.has(f.pointerId)&&requestAnimationFrame(()=>{h.capturedMap.has(f.pointerId)&&(h.capturedMap.delete(f.pointerId),s([]))})}}return function(h){const{onPointerMissed:d,internal:m}=n.getState();m.lastEvent.current=h;const v=c==="onPointerMove",_=c==="onClick"||c==="onContextMenu"||c==="onDoubleClick",S=i(h,v?t:void 0),g=_?e(h):0;c==="onPointerDown"&&(m.initialClick=[h.offsetX,h.offsetY],m.initialHits=S.map(w=>w.eventObject)),_&&!S.length&&g<=2&&(o(h,m.interaction),d&&d(h)),v&&s(S);function x(w){const T=w.eventObject,C=T.__r3f,P=C==null?void 0:C.handlers;if(!!(C!=null&&C.eventCount))if(v){if(P.onPointerOver||P.onPointerEnter||P.onPointerOut||P.onPointerLeave){const R=pd(w),I=m.hovered.get(R);I?I.stopped&&w.stopPropagation():(m.hovered.set(R,w),P.onPointerOver==null||P.onPointerOver(w),P.onPointerEnter==null||P.onPointerEnter(w))}P.onPointerMove==null||P.onPointerMove(w)}else{const R=P[c];R?(!_||m.initialHits.includes(T))&&(o(h,m.interaction.filter(I=>!m.initialHits.includes(I))),R(w)):_&&m.initialHits.includes(T)&&o(h,m.interaction.filter(I=>!m.initialHits.includes(I)))}}r(S,h,g,x)}}return{handlePointer:a}}const X3=n=>!!(n!=null&&n.render),j3=Te.exports.createContext(null),JU=(n,e)=>{const t=LU((a,c)=>{const f=new N,h=new N,d=new N;function m(g=c().camera,x=h,w=c().size){const{width:T,height:C,top:P,left:R}=w,I=T/C;x instanceof N?d.copy(x):d.set(...x);const b=g.getWorldPosition(f).distanceTo(d);if(O3(g))return{width:T/g.zoom,height:C/g.zoom,top:P,left:R,factor:1,distance:b,aspect:I};{const L=g.fov*Math.PI/180,H=2*Math.tan(L/2)*b,q=H*(T/C);return{width:q,height:H,top:P,left:R,factor:T/q,distance:b,aspect:I}}}let v;const _=g=>a(x=>({performance:{...x.performance,current:g}})),E=new ge;return{set:a,get:c,gl:null,camera:null,raycaster:null,events:{priority:1,enabled:!0,connected:!1},xr:null,scene:null,invalidate:(g=1)=>n(c(),g),advance:(g,x)=>e(g,x,c()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new T_,pointer:E,mouse:E,frameloop:"always",onPointerMissed:void 0,performance:{current:1,min:.5,max:1,debounce:200,regress:()=>{const g=c();v&&clearTimeout(v),g.performance.current!==g.performance.min&&_(g.performance.min),v=setTimeout(()=>_(c().performance.max),g.performance.debounce)}},size:{width:0,height:0,top:0,left:0,updateStyle:!1},viewport:{initialDpr:0,dpr:0,width:0,height:0,top:0,left:0,aspect:0,distance:0,factor:0,getCurrentViewport:m},setEvents:g=>a(x=>({...x,events:{...x.events,...g}})),setSize:(g,x,w,T,C)=>{const P=c().camera,R={width:g,height:x,top:T||0,left:C||0,updateStyle:w};a(I=>({size:R,viewport:{...I.viewport,...m(P,h,R)}}))},setDpr:g=>a(x=>{const w=H3(g);return{viewport:{...x.viewport,dpr:w,initialDpr:x.viewport.initialDpr||w}}}),setFrameloop:(g="always")=>{const x=c().clock;x.stop(),x.elapsedTime=0,g!=="never"&&(x.start(),x.elapsedTime=0),a(()=>({frameloop:g}))},previousRoot:void 0,internal:{active:!1,priority:0,frames:0,lastEvent:Te.exports.createRef(),interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,subscribe:(g,x,w)=>{const T=c().internal;return T.priority=T.priority+(x>0?1:0),T.subscribers.push({ref:g,priority:x,store:w}),T.subscribers=T.subscribers.sort((C,P)=>C.priority-P.priority),()=>{const C=c().internal;C!=null&&C.subscribers&&(C.priority=C.priority-(x>0?1:0),C.subscribers=C.subscribers.filter(P=>P.ref!==g))}}}}}),i=t.getState();let r=i.size,s=i.viewport.dpr,o=i.camera;return t.subscribe(()=>{const{camera:a,size:c,viewport:f,gl:h,set:d}=t.getState();if(c!==r||f.dpr!==s){var m;r=c,s=f.dpr,YU(a,c),h.setPixelRatio(f.dpr);const v=(m=c.updateStyle)!=null?m:typeof HTMLCanvasElement<"u"&&h.domElement instanceof HTMLCanvasElement;h.setSize(c.width,c.height,v)}a!==o&&(o=a,d(v=>({viewport:{...v.viewport,...v.viewport.getCurrentViewport(a)}})))}),t.subscribe(a=>n(a)),t};let md,KU=new Set,$U=new Set,e4=new Set;function a0(n,e){if(!!n.size)for(const{callback:t}of n.values())t(e)}function Fu(n,e){switch(n){case"before":return a0(KU,e);case"after":return a0($U,e);case"tail":return a0(e4,e)}}let l0,u0;function c0(n,e,t){let i=e.clock.getDelta();for(e.frameloop==="never"&&typeof n=="number"&&(i=n-e.clock.elapsedTime,e.clock.oldTime=e.clock.elapsedTime,e.clock.elapsedTime=n),l0=e.internal.subscribers,md=0;md0)&&!((f=r.gl.xr)!=null&&f.isPresenting)&&(t+=c0(c,r))}if(Fu("after",c),t===0)return Fu("tail",c),e=!1,cancelAnimationFrame(i)}function o(c,f=1){var h;if(!c)return n.forEach(d=>o(d.store.getState()),f);(h=c.gl.xr)!=null&&h.isPresenting||!c.internal.active||c.frameloop==="never"||(c.internal.frames=Math.min(60,c.internal.frames+f),e||(e=!0,requestAnimationFrame(s)))}function a(c,f=!0,h,d){if(f&&Fu("before",c),h)c0(c,h,d);else for(const m of n.values())c0(c,m.store.getState());f&&Fu("after",c)}return{loop:s,invalidate:o,advance:a}}function Y3(){const n=Te.exports.useContext(j3);if(!n)throw new Error("R3F: Hooks can only be used within the Canvas component!");return n}function $i(n=t=>t,e){return Y3()(n,e)}function n4(n,e=0){const t=Y3(),i=t.getState().internal.subscribe,r=F3(n);return df(()=>i(r,e,t),[e,i,t]),null}const Hl=new Map,{invalidate:lM,advance:uM}=t4(Hl),{reconciler:cp,applyProps:Bu}=HU(Hl,qU),rl={objects:"shallow",strict:!1},i4=(n,e)=>{const t=typeof n=="function"?n(e):n;return X3(t)?t:new o_({powerPreference:"high-performance",canvas:e,antialias:!0,alpha:!0,...n})};function r4(n,e){if(e)return e;if(typeof HTMLCanvasElement<"u"&&n instanceof HTMLCanvasElement&&n.parentElement){const{width:t,height:i,top:r,left:s}=n.parentElement.getBoundingClientRect();return{width:t,height:i,top:r,left:s}}else if(typeof OffscreenCanvas<"u"&&n instanceof OffscreenCanvas)return{width:n.width,height:n.height,top:0,left:0};return{width:0,height:0,top:0,left:0}}function s4(n){const e=Hl.get(n),t=e==null?void 0:e.fiber,i=e==null?void 0:e.store;e&&console.warn("R3F.createRoot should only be called once!");const r=typeof reportError=="function"?reportError:console.error,s=i||JU(lM,uM),o=t||cp.createContainer(s,Jo.exports.ConcurrentRoot,null,!1,null,"",r,null);e||Hl.set(n,{fiber:o,store:s});let a,c=!1,f;return{configure(h={}){let{gl:d,size:m,scene:v,events:_,onCreated:E,shadows:S=!1,linear:g=!1,flat:x=!1,legacy:w=!1,orthographic:T=!1,frameloop:C="always",dpr:P=[1,2],performance:R,raycaster:I,camera:b,onPointerMissed:L}=h,H=s.getState(),q=H.gl;H.gl||H.set({gl:q=i4(d,n)});let G=H.raycaster;G||H.set({raycaster:G=new P_});const{params:W,...ee}=I||{};if(Zt.equ(ee,G,rl)||Bu(G,{...ee}),Zt.equ(W,G.params,rl)||Bu(G,{params:{...G.params,...W}}),!H.camera||H.camera===f&&!Zt.equ(f,b,rl)){f=b;const J=b instanceof Jc,Y=J?b:T?new $c(0,0,0,0,.1,1e3):new In(75,0,.1,1e3);J||(Y.position.z=5,b&&Bu(Y,b),!H.camera&&!(b!=null&&b.rotation)&&Y.lookAt(0,0,0)),H.set({camera:Y})}if(!H.scene){let J;v instanceof up?J=v:(J=new up,v&&Bu(J,v)),H.set({scene:sl(J)})}if(!H.xr){const J=(z,ye)=>{const pe=s.getState();pe.frameloop!=="never"&&uM(z,!0,pe,ye)},Y=()=>{const z=s.getState();z.gl.xr.enabled=z.gl.xr.isPresenting,z.gl.xr.setAnimationLoop(z.gl.xr.isPresenting?J:null),z.gl.xr.isPresenting||lM(z)},K={connect(){const z=s.getState().gl;z.xr.addEventListener("sessionstart",Y),z.xr.addEventListener("sessionend",Y)},disconnect(){const z=s.getState().gl;z.xr.removeEventListener("sessionstart",Y),z.xr.removeEventListener("sessionend",Y)}};q.xr&&K.connect(),H.set({xr:K})}if(q.shadowMap){const J=q.shadowMap.enabled,Y=q.shadowMap.type;if(q.shadowMap.enabled=!!S,Zt.boo(S))q.shadowMap.type=ic;else if(Zt.str(S)){var oe;const K={basic:NT,percentage:bp,soft:ic,variance:jo};q.shadowMap.type=(oe=K[S])!=null?oe:ic}else Zt.obj(S)&&Object.assign(q.shadowMap,S);(J!==q.shadowMap.enabled||Y!==q.shadowMap.type)&&(q.shadowMap.needsUpdate=!0)}const ue=U3();ue&&("enabled"in ue?ue.enabled=!w:"legacyMode"in ue&&(ue.legacyMode=w));const D=g?Ts:Ot,V=x?Ar:jy;q.outputEncoding!==D&&(q.outputEncoding=D),q.toneMapping!==V&&(q.toneMapping=V),H.legacy!==w&&H.set(()=>({legacy:w})),H.linear!==g&&H.set(()=>({linear:g})),H.flat!==x&&H.set(()=>({flat:x})),d&&!Zt.fun(d)&&!X3(d)&&!Zt.equ(d,q,rl)&&Bu(q,d),_&&!H.events.handlers&&H.set({events:_(s)});const B=r4(n,m);return Zt.equ(B,H.size,rl)||H.setSize(B.width,B.height,B.updateStyle,B.top,B.left),P&&H.viewport.dpr!==H3(P)&&H.setDpr(P),H.frameloop!==C&&H.setFrameloop(C),H.onPointerMissed||H.set({onPointerMissed:L}),R&&!Zt.equ(R,H.performance,rl)&&H.set(J=>({performance:{...J.performance,...R}})),a=E,c=!0,this},render(h){return c||this.configure(),cp.updateContainer(Gt(o4,{store:s,children:h,onCreated:a,rootElement:n}),o,null,()=>{}),s},unmount(){q3(n)}}}function o4({store:n,children:e,onCreated:t,rootElement:i}){return df(()=>{const r=n.getState();r.set(s=>({internal:{...s.internal,active:!0}})),t&&t(r),n.getState().events.connected||r.events.connect==null||r.events.connect(i)},[]),Te.exports.createElement(j3.Provider,{value:n},e)}function q3(n,e){const t=Hl.get(n),i=t==null?void 0:t.fiber;if(i){const r=t==null?void 0:t.store.getState();r&&(r.internal.active=!1),cp.updateContainer(null,i,null,()=>{r&&setTimeout(()=>{try{var s,o,a,c;r.events.disconnect==null||r.events.disconnect(),(s=r.gl)==null||(o=s.renderLists)==null||o.dispose==null||o.dispose(),(a=r.gl)==null||a.forceContextLoss==null||a.forceContextLoss(),(c=r.gl)!=null&&c.xr&&r.xr.disconnect(),jU(r),Hl.delete(n),e&&e(n)}catch{}},500)})}}cp.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:Te.exports.version});function qv(n,e,t){var i,r,s,o,a;e==null&&(e=100);function c(){var h=Date.now()-o;h=0?i=setTimeout(c,e-h):(i=null,t||(a=n.apply(s,r),s=r=null))}var f=function(){s=this,r=arguments,o=Date.now();var h=t&&!i;return i||(i=setTimeout(c,e)),h&&(a=n.apply(s,r),s=r=null),a};return f.clear=function(){i&&(clearTimeout(i),i=null)},f.flush=function(){i&&(a=n.apply(s,r),s=r=null,clearTimeout(i),i=null)},f}qv.debounce=qv;var cM=qv;function a4(n){let{debounce:e,scroll:t,polyfill:i,offsetSize:r}=n===void 0?{debounce:0,scroll:!1,offsetSize:!1}:n;const s=i||(typeof window>"u"?class{}:window.ResizeObserver);if(!s)throw new Error("This browser does not support ResizeObserver out of the box. See: https://github.com/react-spring/react-use-measure/#resize-observer-polyfills");const[o,a]=Te.exports.useState({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),c=Te.exports.useRef({element:null,scrollContainers:null,resizeObserver:null,lastBounds:o}),f=e?typeof e=="number"?e:e.scroll:null,h=e?typeof e=="number"?e:e.resize:null,d=Te.exports.useRef(!1);Te.exports.useEffect(()=>(d.current=!0,()=>void(d.current=!1)));const[m,v,_]=Te.exports.useMemo(()=>{const x=()=>{if(!c.current.element)return;const{left:w,top:T,width:C,height:P,bottom:R,right:I,x:b,y:L}=c.current.element.getBoundingClientRect(),H={left:w,top:T,width:C,height:P,bottom:R,right:I,x:b,y:L};c.current.element instanceof HTMLElement&&r&&(H.height=c.current.element.offsetHeight,H.width=c.current.element.offsetWidth),Object.freeze(H),d.current&&!f4(c.current.lastBounds,H)&&a(c.current.lastBounds=H)};return[x,h?cM(x,h):x,f?cM(x,f):x]},[a,r,f,h]);function E(){c.current.scrollContainers&&(c.current.scrollContainers.forEach(x=>x.removeEventListener("scroll",_,!0)),c.current.scrollContainers=null),c.current.resizeObserver&&(c.current.resizeObserver.disconnect(),c.current.resizeObserver=null)}function S(){!c.current.element||(c.current.resizeObserver=new s(_),c.current.resizeObserver.observe(c.current.element),t&&c.current.scrollContainers&&c.current.scrollContainers.forEach(x=>x.addEventListener("scroll",_,{capture:!0,passive:!0})))}const g=x=>{!x||x===c.current.element||(E(),c.current.element=x,c.current.scrollContainers=Z3(x),S())};return u4(_,Boolean(t)),l4(v),Te.exports.useEffect(()=>{E(),S()},[t,_,v]),Te.exports.useEffect(()=>E,[]),[g,o,m]}function l4(n){Te.exports.useEffect(()=>{const e=n;return window.addEventListener("resize",e),()=>void window.removeEventListener("resize",e)},[n])}function u4(n,e){Te.exports.useEffect(()=>{if(e){const t=n;return window.addEventListener("scroll",t,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",t,!0)}},[n,e])}function Z3(n){const e=[];if(!n||n===document.body)return e;const{overflow:t,overflowX:i,overflowY:r}=window.getComputedStyle(n);return[t,i,r].some(s=>s==="auto"||s==="scroll")&&e.push(n),[...e,...Z3(n.parentElement)]}const c4=["x","y","top","bottom","left","right","width","height"],f4=(n,e)=>c4.every(t=>n[t]===e[t]);var h4=Object.defineProperty,d4=Object.defineProperties,p4=Object.getOwnPropertyDescriptors,fM=Object.getOwnPropertySymbols,m4=Object.prototype.hasOwnProperty,g4=Object.prototype.propertyIsEnumerable,hM=(n,e,t)=>e in n?h4(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,dM=(n,e)=>{for(var t in e||(e={}))m4.call(e,t)&&hM(n,t,e[t]);if(fM)for(var t of fM(e))g4.call(e,t)&&hM(n,t,e[t]);return n},v4=(n,e)=>d4(n,p4(e));function Q3(n,e,t){if(!n)return;if(t(n)===!0)return n;let i=e?n.return:n.child;for(;i;){const r=Q3(i,e,t);if(r)return r;i=e?null:i.sibling}}function J3(n){try{return Object.defineProperties(n,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return n}}const I_=J3(Te.exports.createContext(null));class K3 extends Te.exports.Component{render(){return Gt(I_.Provider,{value:this._reactInternals,children:this.props.children})}}const{ReactCurrentOwner:pM,ReactCurrentDispatcher:mM}=Te.exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function y4(){const n=Te.exports.useContext(I_);if(n===null)throw new Error("its-fine: useFiber must be called within a !");const e=Te.exports.useId();return Te.exports.useMemo(()=>{var i;return(i=pM==null?void 0:pM.current)!=null?i:Q3(n,!1,r=>{let s=r.memoizedState;for(;s;){if(s.memoizedState===e)return!0;s=s.next}})},[n,e])}function _4(){var n,e;const t=y4(),[i]=Te.exports.useState(()=>new Map);i.clear();let r=t;for(;r;){const s=(n=r.type)==null?void 0:n._context;s&&s!==I_&&!i.has(s)&&i.set(s,(e=mM==null?void 0:mM.current)==null?void 0:e.readContext(J3(s))),r=r.return}return i}function x4(){const n=_4();return Te.exports.useMemo(()=>Array.from(n.keys()).reduce((e,t)=>i=>Te.exports.createElement(e,null,Te.exports.createElement(t.Provider,v4(dM({},i),{value:n.get(t)}))),e=>Gt(K3,{...dM({},e)})),[n])}const f0={onClick:["click",!1],onContextMenu:["contextmenu",!1],onDoubleClick:["dblclick",!1],onWheel:["wheel",!0],onPointerDown:["pointerdown",!0],onPointerUp:["pointerup",!0],onPointerLeave:["pointerleave",!0],onPointerMove:["pointermove",!0],onPointerCancel:["pointercancel",!0],onLostPointerCapture:["lostpointercapture",!0]};function S4(n){const{handlePointer:e}=QU(n);return{priority:1,enabled:!0,compute(t,i,r){i.pointer.set(t.offsetX/i.size.width*2-1,-(t.offsetY/i.size.height)*2+1),i.raycaster.setFromCamera(i.pointer,i.camera)},connected:void 0,handlers:Object.keys(f0).reduce((t,i)=>({...t,[i]:e(i)}),{}),update:()=>{var t;const{events:i,internal:r}=n.getState();(t=r.lastEvent)!=null&&t.current&&i.handlers&&i.handlers.onPointerMove(r.lastEvent.current)},connect:t=>{var i;const{set:r,events:s}=n.getState();s.disconnect==null||s.disconnect(),r(o=>({events:{...o.events,connected:t}})),Object.entries((i=s.handlers)!=null?i:[]).forEach(([o,a])=>{const[c,f]=f0[o];t.addEventListener(c,a,{passive:f})})},disconnect:()=>{const{set:t,events:i}=n.getState();if(i.connected){var r;Object.entries((r=i.handlers)!=null?r:[]).forEach(([s,o])=>{if(i&&i.connected instanceof HTMLElement){const[a]=f0[s];i.connected.removeEventListener(a,o)}}),t(s=>({events:{...s.events,connected:void 0}}))}}}}const w4=Te.exports.forwardRef(function({children:e,fallback:t,resize:i,style:r,gl:s,events:o=S4,eventSource:a,eventPrefix:c,shadows:f,linear:h,flat:d,legacy:m,orthographic:v,frameloop:_,dpr:E,performance:S,raycaster:g,camera:x,onPointerMissed:w,onCreated:T,...C},P){Te.exports.useMemo(()=>VU(CU),[]);const R=x4(),[I,b]=a4({scroll:!0,debounce:{scroll:50,resize:0},...i}),L=Te.exports.useRef(null),H=Te.exports.useRef(null);Te.exports.useImperativeHandle(P,()=>L.current);const q=F3(w),[G,W]=Te.exports.useState(!1),[ee,oe]=Te.exports.useState(!1);if(G)throw G;if(ee)throw ee;const ue=Te.exports.useRef(null);return df(()=>{const V=L.current;b.width>0&&b.height>0&&V&&(ue.current||(ue.current=s4(V)),ue.current.configure({gl:s,events:o,shadows:f,linear:h,flat:d,legacy:m,orthographic:v,frameloop:_,dpr:E,performance:S,raycaster:g,camera:x,size:b,onPointerMissed:(...B)=>q.current==null?void 0:q.current(...B),onCreated:B=>{B.events.connect==null||B.events.connect(a?GU(a)?a.current:a:H.current),c&&B.setEvents({compute:(J,Y)=>{const K=J[c+"X"],z=J[c+"Y"];Y.pointer.set(K/Y.size.width*2-1,-(z/Y.size.height)*2+1),Y.raycaster.setFromCamera(Y.pointer,Y.camera)}}),T==null||T(B)}}),ue.current.render(Gt(R,{children:Gt(B3,{set:oe,children:Gt(Te.exports.Suspense,{fallback:Gt(WU,{set:W}),children:e})})})))}),Te.exports.useEffect(()=>{const V=L.current;if(V)return()=>q3(V)},[]),Gt("div",{ref:H,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:a?"none":"auto",...r},...C,children:Gt("div",{ref:I,style:{width:"100%",height:"100%"},children:Gt("canvas",{ref:L,style:{display:"block"},children:t})})})}),M4=Te.exports.forwardRef(function(e,t){return Gt(K3,{children:Gt(w4,{...e,ref:t})})});function E4(n){return function(e){n.forEach(function(t){typeof t=="function"?t(e):t!=null&&(t.current=e)})}}function Hc(n){return Hc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Hc(n)}function T4(n,e){if(Hc(n)!=="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var i=t.call(n,e||"default");if(Hc(i)!=="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function A4(n){var e=T4(n,"string");return Hc(e)==="symbol"?e:String(e)}function le(n,e,t){return e=A4(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}class C4 extends St{constructor(e,t){super(),le(this,"isTransformControls",!0),le(this,"visible",!1),le(this,"domElement",void 0),le(this,"raycaster",new P_),le(this,"gizmo",void 0),le(this,"plane",void 0),le(this,"tempVector",new N),le(this,"tempVector2",new N),le(this,"tempQuaternion",new It),le(this,"unit",{X:new N(1,0,0),Y:new N(0,1,0),Z:new N(0,0,1)}),le(this,"pointStart",new N),le(this,"pointEnd",new N),le(this,"offset",new N),le(this,"rotationAxis",new N),le(this,"startNorm",new N),le(this,"endNorm",new N),le(this,"rotationAngle",0),le(this,"cameraPosition",new N),le(this,"cameraQuaternion",new It),le(this,"cameraScale",new N),le(this,"parentPosition",new N),le(this,"parentQuaternion",new It),le(this,"parentQuaternionInv",new It),le(this,"parentScale",new N),le(this,"worldPositionStart",new N),le(this,"worldQuaternionStart",new It),le(this,"worldScaleStart",new N),le(this,"worldPosition",new N),le(this,"worldQuaternion",new It),le(this,"worldQuaternionInv",new It),le(this,"worldScale",new N),le(this,"eye",new N),le(this,"positionStart",new N),le(this,"quaternionStart",new It),le(this,"scaleStart",new N),le(this,"camera",void 0),le(this,"object",void 0),le(this,"enabled",!0),le(this,"axis",null),le(this,"mode","translate"),le(this,"translationSnap",null),le(this,"rotationSnap",null),le(this,"scaleSnap",null),le(this,"space","world"),le(this,"size",1),le(this,"dragging",!1),le(this,"showX",!0),le(this,"showY",!0),le(this,"showZ",!0),le(this,"changeEvent",{type:"change"}),le(this,"mouseDownEvent",{type:"mouseDown",mode:this.mode}),le(this,"mouseUpEvent",{type:"mouseUp",mode:this.mode}),le(this,"objectChangeEvent",{type:"objectChange"}),le(this,"intersectObjectWithRay",(r,s,o)=>{const a=s.intersectObject(r,!0);for(let c=0;c(this.object=r,this.visible=!0,this)),le(this,"detach",()=>(this.object=void 0,this.visible=!1,this.axis=null,this)),le(this,"reset",()=>this.enabled?(this.dragging&&this.object!==void 0&&(this.object.position.copy(this.positionStart),this.object.quaternion.copy(this.quaternionStart),this.object.scale.copy(this.scaleStart),this.dispatchEvent(this.changeEvent),this.dispatchEvent(this.objectChangeEvent),this.pointStart.copy(this.pointEnd)),this):this),le(this,"updateMatrixWorld",()=>{this.object!==void 0&&(this.object.updateMatrixWorld(),this.object.parent===null?console.error("TransformControls: The attached 3D object must be a part of the scene graph."):this.object.parent.matrixWorld.decompose(this.parentPosition,this.parentQuaternion,this.parentScale),this.object.matrixWorld.decompose(this.worldPosition,this.worldQuaternion,this.worldScale),this.parentQuaternionInv.copy(this.parentQuaternion).invert(),this.worldQuaternionInv.copy(this.worldQuaternion).invert()),this.camera.updateMatrixWorld(),this.camera.matrixWorld.decompose(this.cameraPosition,this.cameraQuaternion,this.cameraScale),this.eye.copy(this.cameraPosition).sub(this.worldPosition).normalize(),super.updateMatrixWorld()}),le(this,"pointerHover",r=>{if(this.object===void 0||this.dragging===!0)return;this.raycaster.setFromCamera(r,this.camera);const s=this.intersectObjectWithRay(this.gizmo.picker[this.mode],this.raycaster);s?this.axis=s.object.name:this.axis=null}),le(this,"pointerDown",r=>{if(!(this.object===void 0||this.dragging===!0||r.button!==0)&&this.axis!==null){this.raycaster.setFromCamera(r,this.camera);const s=this.intersectObjectWithRay(this.plane,this.raycaster,!0);if(s){let o=this.space;if(this.mode==="scale"?o="local":(this.axis==="E"||this.axis==="XYZE"||this.axis==="XYZ")&&(o="world"),o==="local"&&this.mode==="rotate"){const a=this.rotationSnap;this.axis==="X"&&a&&(this.object.rotation.x=Math.round(this.object.rotation.x/a)*a),this.axis==="Y"&&a&&(this.object.rotation.y=Math.round(this.object.rotation.y/a)*a),this.axis==="Z"&&a&&(this.object.rotation.z=Math.round(this.object.rotation.z/a)*a)}this.object.updateMatrixWorld(),this.object.parent&&this.object.parent.updateMatrixWorld(),this.positionStart.copy(this.object.position),this.quaternionStart.copy(this.object.quaternion),this.scaleStart.copy(this.object.scale),this.object.matrixWorld.decompose(this.worldPositionStart,this.worldQuaternionStart,this.worldScaleStart),this.pointStart.copy(s.point).sub(this.worldPositionStart)}this.dragging=!0,this.mouseDownEvent.mode=this.mode,this.dispatchEvent(this.mouseDownEvent)}}),le(this,"pointerMove",r=>{const s=this.axis,o=this.mode,a=this.object;let c=this.space;if(o==="scale"?c="local":(s==="E"||s==="XYZE"||s==="XYZ")&&(c="world"),a===void 0||s===null||this.dragging===!1||r.button!==-1)return;this.raycaster.setFromCamera(r,this.camera);const f=this.intersectObjectWithRay(this.plane,this.raycaster,!0);if(!!f){if(this.pointEnd.copy(f.point).sub(this.worldPositionStart),o==="translate")this.offset.copy(this.pointEnd).sub(this.pointStart),c==="local"&&s!=="XYZ"&&this.offset.applyQuaternion(this.worldQuaternionInv),s.indexOf("X")===-1&&(this.offset.x=0),s.indexOf("Y")===-1&&(this.offset.y=0),s.indexOf("Z")===-1&&(this.offset.z=0),c==="local"&&s!=="XYZ"?this.offset.applyQuaternion(this.quaternionStart).divide(this.parentScale):this.offset.applyQuaternion(this.parentQuaternionInv).divide(this.parentScale),a.position.copy(this.offset).add(this.positionStart),this.translationSnap&&(c==="local"&&(a.position.applyQuaternion(this.tempQuaternion.copy(this.quaternionStart).invert()),s.search("X")!==-1&&(a.position.x=Math.round(a.position.x/this.translationSnap)*this.translationSnap),s.search("Y")!==-1&&(a.position.y=Math.round(a.position.y/this.translationSnap)*this.translationSnap),s.search("Z")!==-1&&(a.position.z=Math.round(a.position.z/this.translationSnap)*this.translationSnap),a.position.applyQuaternion(this.quaternionStart)),c==="world"&&(a.parent&&a.position.add(this.tempVector.setFromMatrixPosition(a.parent.matrixWorld)),s.search("X")!==-1&&(a.position.x=Math.round(a.position.x/this.translationSnap)*this.translationSnap),s.search("Y")!==-1&&(a.position.y=Math.round(a.position.y/this.translationSnap)*this.translationSnap),s.search("Z")!==-1&&(a.position.z=Math.round(a.position.z/this.translationSnap)*this.translationSnap),a.parent&&a.position.sub(this.tempVector.setFromMatrixPosition(a.parent.matrixWorld))));else if(o==="scale"){if(s.search("XYZ")!==-1){let h=this.pointEnd.length()/this.pointStart.length();this.pointEnd.dot(this.pointStart)<0&&(h*=-1),this.tempVector2.set(h,h,h)}else this.tempVector.copy(this.pointStart),this.tempVector2.copy(this.pointEnd),this.tempVector.applyQuaternion(this.worldQuaternionInv),this.tempVector2.applyQuaternion(this.worldQuaternionInv),this.tempVector2.divide(this.tempVector),s.search("X")===-1&&(this.tempVector2.x=1),s.search("Y")===-1&&(this.tempVector2.y=1),s.search("Z")===-1&&(this.tempVector2.z=1);a.scale.copy(this.scaleStart).multiply(this.tempVector2),this.scaleSnap&&this.object&&(s.search("X")!==-1&&(this.object.scale.x=Math.round(a.scale.x/this.scaleSnap)*this.scaleSnap||this.scaleSnap),s.search("Y")!==-1&&(a.scale.y=Math.round(a.scale.y/this.scaleSnap)*this.scaleSnap||this.scaleSnap),s.search("Z")!==-1&&(a.scale.z=Math.round(a.scale.z/this.scaleSnap)*this.scaleSnap||this.scaleSnap))}else if(o==="rotate"){this.offset.copy(this.pointEnd).sub(this.pointStart);const h=20/this.worldPosition.distanceTo(this.tempVector.setFromMatrixPosition(this.camera.matrixWorld));s==="E"?(this.rotationAxis.copy(this.eye),this.rotationAngle=this.pointEnd.angleTo(this.pointStart),this.startNorm.copy(this.pointStart).normalize(),this.endNorm.copy(this.pointEnd).normalize(),this.rotationAngle*=this.endNorm.cross(this.startNorm).dot(this.eye)<0?1:-1):s==="XYZE"?(this.rotationAxis.copy(this.offset).cross(this.eye).normalize(),this.rotationAngle=this.offset.dot(this.tempVector.copy(this.rotationAxis).cross(this.eye))*h):(s==="X"||s==="Y"||s==="Z")&&(this.rotationAxis.copy(this.unit[s]),this.tempVector.copy(this.unit[s]),c==="local"&&this.tempVector.applyQuaternion(this.worldQuaternion),this.rotationAngle=this.offset.dot(this.tempVector.cross(this.eye).normalize())*h),this.rotationSnap&&(this.rotationAngle=Math.round(this.rotationAngle/this.rotationSnap)*this.rotationSnap),c==="local"&&s!=="E"&&s!=="XYZE"?(a.quaternion.copy(this.quaternionStart),a.quaternion.multiply(this.tempQuaternion.setFromAxisAngle(this.rotationAxis,this.rotationAngle)).normalize()):(this.rotationAxis.applyQuaternion(this.parentQuaternionInv),a.quaternion.copy(this.tempQuaternion.setFromAxisAngle(this.rotationAxis,this.rotationAngle)),a.quaternion.multiply(this.quaternionStart).normalize())}this.dispatchEvent(this.changeEvent),this.dispatchEvent(this.objectChangeEvent)}}),le(this,"pointerUp",r=>{r.button===0&&(this.dragging&&this.axis!==null&&(this.mouseUpEvent.mode=this.mode,this.dispatchEvent(this.mouseUpEvent)),this.dragging=!1,this.axis=null)}),le(this,"getPointer",r=>{var s;if(this.domElement&&(s=this.domElement.ownerDocument)!==null&&s!==void 0&&s.pointerLockElement)return{x:0,y:0,button:r.button};{var o;const a=r.changedTouches?r.changedTouches[0]:r,c=(o=this.domElement)===null||o===void 0?void 0:o.getBoundingClientRect();return{x:(a.clientX-c.left)/c.width*2-1,y:-(a.clientY-c.top)/c.height*2+1,button:r.button}}}),le(this,"onPointerHover",r=>{if(!!this.enabled)switch(r.pointerType){case"mouse":case"pen":this.pointerHover(this.getPointer(r));break}}),le(this,"onPointerDown",r=>{!this.enabled||!this.domElement||(this.domElement.style.touchAction="none",this.domElement.ownerDocument.addEventListener("pointermove",this.onPointerMove),this.pointerHover(this.getPointer(r)),this.pointerDown(this.getPointer(r)))}),le(this,"onPointerMove",r=>{!this.enabled||this.pointerMove(this.getPointer(r))}),le(this,"onPointerUp",r=>{!this.enabled||!this.domElement||(this.domElement.style.touchAction="",this.domElement.ownerDocument.removeEventListener("pointermove",this.onPointerMove),this.pointerUp(this.getPointer(r)))}),le(this,"getMode",()=>this.mode),le(this,"setMode",r=>{this.mode=r}),le(this,"setTranslationSnap",r=>{this.translationSnap=r}),le(this,"setRotationSnap",r=>{this.rotationSnap=r}),le(this,"setScaleSnap",r=>{this.scaleSnap=r}),le(this,"setSize",r=>{this.size=r}),le(this,"setSpace",r=>{this.space=r}),le(this,"update",()=>{console.warn("THREE.TransformControls: update function has no more functionality and therefore has been deprecated.")}),le(this,"connect",r=>{r===document&&console.error('THREE.OrbitControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.'),this.domElement=r,this.domElement.addEventListener("pointerdown",this.onPointerDown),this.domElement.addEventListener("pointermove",this.onPointerHover),this.domElement.ownerDocument.addEventListener("pointerup",this.onPointerUp)}),le(this,"dispose",()=>{var r,s,o,a,c,f;(r=this.domElement)===null||r===void 0||r.removeEventListener("pointerdown",this.onPointerDown),(s=this.domElement)===null||s===void 0||s.removeEventListener("pointermove",this.onPointerHover),(o=this.domElement)===null||o===void 0||(a=o.ownerDocument)===null||a===void 0||a.removeEventListener("pointermove",this.onPointerMove),(c=this.domElement)===null||c===void 0||(f=c.ownerDocument)===null||f===void 0||f.removeEventListener("pointerup",this.onPointerUp),this.traverse(h=>{const d=h;d.geometry&&d.geometry.dispose(),d.material&&d.material.dispose()})}),this.domElement=t,this.camera=e,this.gizmo=new b4,this.add(this.gizmo),this.plane=new P4,this.add(this.plane);const i=(r,s)=>{let o=s;Object.defineProperty(this,r,{get:function(){return o!==void 0?o:s},set:function(a){o!==a&&(o=a,this.plane[r]=a,this.gizmo[r]=a,this.dispatchEvent({type:r+"-changed",value:a}),this.dispatchEvent(this.changeEvent))}}),this[r]=s,this.plane[r]=s,this.gizmo[r]=s};i("camera",this.camera),i("object",this.object),i("enabled",this.enabled),i("axis",this.axis),i("mode",this.mode),i("translationSnap",this.translationSnap),i("rotationSnap",this.rotationSnap),i("scaleSnap",this.scaleSnap),i("space",this.space),i("size",this.size),i("dragging",this.dragging),i("showX",this.showX),i("showY",this.showY),i("showZ",this.showZ),i("worldPosition",this.worldPosition),i("worldPositionStart",this.worldPositionStart),i("worldQuaternion",this.worldQuaternion),i("worldQuaternionStart",this.worldQuaternionStart),i("cameraPosition",this.cameraPosition),i("cameraQuaternion",this.cameraQuaternion),i("pointStart",this.pointStart),i("pointEnd",this.pointEnd),i("rotationAxis",this.rotationAxis),i("rotationAngle",this.rotationAngle),i("eye",this.eye),t!==void 0&&this.connect(t)}}class b4 extends St{constructor(){super(),le(this,"isTransformControlsGizmo",!0),le(this,"type","TransformControlsGizmo"),le(this,"tempVector",new N(0,0,0)),le(this,"tempEuler",new Yl),le(this,"alignVector",new N(0,1,0)),le(this,"zeroVector",new N(0,0,0)),le(this,"lookAtMatrix",new st),le(this,"tempQuaternion",new It),le(this,"tempQuaternion2",new It),le(this,"identityQuaternion",new It),le(this,"unitX",new N(1,0,0)),le(this,"unitY",new N(0,1,0)),le(this,"unitZ",new N(0,0,1)),le(this,"gizmo",void 0),le(this,"picker",void 0),le(this,"helper",void 0),le(this,"rotationAxis",new N),le(this,"cameraPosition",new N),le(this,"worldPositionStart",new N),le(this,"worldQuaternionStart",new It),le(this,"worldPosition",new N),le(this,"worldQuaternion",new It),le(this,"eye",new N),le(this,"camera",null),le(this,"enabled",!0),le(this,"axis",null),le(this,"mode","translate"),le(this,"space","world"),le(this,"size",1),le(this,"dragging",!1),le(this,"showX",!0),le(this,"showY",!0),le(this,"showZ",!0),le(this,"updateMatrixWorld",()=>{let B=this.space;this.mode==="scale"&&(B="local");const J=B==="local"?this.worldQuaternion:this.identityQuaternion;this.gizmo.translate.visible=this.mode==="translate",this.gizmo.rotate.visible=this.mode==="rotate",this.gizmo.scale.visible=this.mode==="scale",this.helper.translate.visible=this.mode==="translate",this.helper.rotate.visible=this.mode==="rotate",this.helper.scale.visible=this.mode==="scale";let Y=[];Y=Y.concat(this.picker[this.mode].children),Y=Y.concat(this.gizmo[this.mode].children),Y=Y.concat(this.helper[this.mode].children);for(let K=0;K.9&&(z.visible=!1)),this.axis==="Y"&&(this.tempQuaternion.setFromEuler(this.tempEuler.set(0,0,Math.PI/2)),z.quaternion.copy(J).multiply(this.tempQuaternion),Math.abs(this.alignVector.copy(this.unitY).applyQuaternion(J).dot(this.eye))>.9&&(z.visible=!1)),this.axis==="Z"&&(this.tempQuaternion.setFromEuler(this.tempEuler.set(0,Math.PI/2,0)),z.quaternion.copy(J).multiply(this.tempQuaternion),Math.abs(this.alignVector.copy(this.unitZ).applyQuaternion(J).dot(this.eye))>.9&&(z.visible=!1)),this.axis==="XYZE"&&(this.tempQuaternion.setFromEuler(this.tempEuler.set(0,Math.PI/2,0)),this.alignVector.copy(this.rotationAxis),z.quaternion.setFromRotationMatrix(this.lookAtMatrix.lookAt(this.zeroVector,this.alignVector,this.unitY)),z.quaternion.multiply(this.tempQuaternion),z.visible=this.dragging),this.axis==="E"&&(z.visible=!1)):z.name==="START"?(z.position.copy(this.worldPositionStart),z.visible=this.dragging):z.name==="END"?(z.position.copy(this.worldPosition),z.visible=this.dragging):z.name==="DELTA"?(z.position.copy(this.worldPositionStart),z.quaternion.copy(this.worldQuaternionStart),this.tempVector.set(1e-10,1e-10,1e-10).add(this.worldPositionStart).sub(this.worldPosition).multiplyScalar(-1),this.tempVector.applyQuaternion(this.worldQuaternionStart.clone().invert()),z.scale.copy(this.tempVector),z.visible=this.dragging):(z.quaternion.copy(J),this.dragging?z.position.copy(this.worldPositionStart):z.position.copy(this.worldPosition),this.axis&&(z.visible=this.axis.search(z.name)!==-1));continue}z.quaternion.copy(J),this.mode==="translate"||this.mode==="scale"?((z.name==="X"||z.name==="XYZX")&&Math.abs(this.alignVector.copy(this.unitX).applyQuaternion(J).dot(this.eye))>.99&&(z.scale.set(1e-10,1e-10,1e-10),z.visible=!1),(z.name==="Y"||z.name==="XYZY")&&Math.abs(this.alignVector.copy(this.unitY).applyQuaternion(J).dot(this.eye))>.99&&(z.scale.set(1e-10,1e-10,1e-10),z.visible=!1),(z.name==="Z"||z.name==="XYZZ")&&Math.abs(this.alignVector.copy(this.unitZ).applyQuaternion(J).dot(this.eye))>.99&&(z.scale.set(1e-10,1e-10,1e-10),z.visible=!1),z.name==="XY"&&Math.abs(this.alignVector.copy(this.unitZ).applyQuaternion(J).dot(this.eye))<.2&&(z.scale.set(1e-10,1e-10,1e-10),z.visible=!1),z.name==="YZ"&&Math.abs(this.alignVector.copy(this.unitX).applyQuaternion(J).dot(this.eye))<.2&&(z.scale.set(1e-10,1e-10,1e-10),z.visible=!1),z.name==="XZ"&&Math.abs(this.alignVector.copy(this.unitY).applyQuaternion(J).dot(this.eye))<.2&&(z.scale.set(1e-10,1e-10,1e-10),z.visible=!1),z.name.search("X")!==-1&&(this.alignVector.copy(this.unitX).applyQuaternion(J).dot(this.eye)<0?z.tag==="fwd"?z.visible=!1:z.scale.x*=-1:z.tag==="bwd"&&(z.visible=!1)),z.name.search("Y")!==-1&&(this.alignVector.copy(this.unitY).applyQuaternion(J).dot(this.eye)<0?z.tag==="fwd"?z.visible=!1:z.scale.y*=-1:z.tag==="bwd"&&(z.visible=!1)),z.name.search("Z")!==-1&&(this.alignVector.copy(this.unitZ).applyQuaternion(J).dot(this.eye)<0?z.tag==="fwd"?z.visible=!1:z.scale.z*=-1:z.tag==="bwd"&&(z.visible=!1))):this.mode==="rotate"&&(this.tempQuaternion2.copy(J),this.alignVector.copy(this.eye).applyQuaternion(this.tempQuaternion.copy(J).invert()),z.name.search("E")!==-1&&z.quaternion.setFromRotationMatrix(this.lookAtMatrix.lookAt(this.eye,this.zeroVector,this.unitY)),z.name==="X"&&(this.tempQuaternion.setFromAxisAngle(this.unitX,Math.atan2(-this.alignVector.y,this.alignVector.z)),this.tempQuaternion.multiplyQuaternions(this.tempQuaternion2,this.tempQuaternion),z.quaternion.copy(this.tempQuaternion)),z.name==="Y"&&(this.tempQuaternion.setFromAxisAngle(this.unitY,Math.atan2(this.alignVector.x,this.alignVector.z)),this.tempQuaternion.multiplyQuaternions(this.tempQuaternion2,this.tempQuaternion),z.quaternion.copy(this.tempQuaternion)),z.name==="Z"&&(this.tempQuaternion.setFromAxisAngle(this.unitZ,Math.atan2(this.alignVector.y,this.alignVector.x)),this.tempQuaternion.multiplyQuaternions(this.tempQuaternion2,this.tempQuaternion),z.quaternion.copy(this.tempQuaternion))),z.visible=z.visible&&(z.name.indexOf("X")===-1||this.showX),z.visible=z.visible&&(z.name.indexOf("Y")===-1||this.showY),z.visible=z.visible&&(z.name.indexOf("Z")===-1||this.showZ),z.visible=z.visible&&(z.name.indexOf("E")===-1||this.showX&&this.showY&&this.showZ),z.material.tempOpacity=z.material.tempOpacity||z.material.opacity,z.material.tempColor=z.material.tempColor||z.material.color.clone(),z.material.color.copy(z.material.tempColor),z.material.opacity=z.material.tempOpacity,this.enabled?this.axis&&(z.name===this.axis?(z.material.opacity=1,z.material.color.lerp(new Re(1,1,1),.5)):this.axis.split("").some(function(pe){return z.name===pe})?(z.material.opacity=1,z.material.color.lerp(new Re(1,1,1),.5)):(z.material.opacity*=.25,z.material.color.lerp(new Re(1,1,1),.5))):(z.material.opacity*=.5,z.material.color.lerp(new Re(1,1,1),.5))}super.updateMatrixWorld()});const e=new Zr({depthTest:!1,depthWrite:!1,transparent:!0,side:nr,fog:!1,toneMapped:!1}),t=new $n({depthTest:!1,depthWrite:!1,transparent:!0,linewidth:1,fog:!1,toneMapped:!1}),i=e.clone();i.opacity=.15;const r=e.clone();r.opacity=.33;const s=e.clone();s.color.set(16711680);const o=e.clone();o.color.set(65280);const a=e.clone();a.color.set(255);const c=e.clone();c.opacity=.25;const f=c.clone();f.color.set(16776960);const h=c.clone();h.color.set(65535);const d=c.clone();d.color.set(16711935),e.clone().color.set(16776960);const v=t.clone();v.color.set(16711680);const _=t.clone();_.color.set(65280);const E=t.clone();E.color.set(255);const S=t.clone();S.color.set(65535);const g=t.clone();g.color.set(16711935);const x=t.clone();x.color.set(16776960);const w=t.clone();w.color.set(7895160);const T=x.clone();T.opacity=.25;const C=new Ln(0,.05,.2,12,1,!1),P=new oi(.125,.125,.125),R=new lt;R.setAttribute("position",new Be([0,0,0,1,0,0],3));const I=(B,J)=>{const Y=new lt,K=[];for(let z=0;z<=64*J;++z)K.push(0,Math.cos(z/32*Math.PI)*B,Math.sin(z/32*Math.PI)*B);return Y.setAttribute("position",new Be(K,3)),Y},b=()=>{const B=new lt;return B.setAttribute("position",new Be([0,0,0,1,1,1],3)),B},L={X:[[new Ne(C,s),[1,0,0],[0,0,-Math.PI/2],null,"fwd"],[new Ne(C,s),[1,0,0],[0,0,Math.PI/2],null,"bwd"],[new vt(R,v)]],Y:[[new Ne(C,o),[0,1,0],null,null,"fwd"],[new Ne(C,o),[0,1,0],[Math.PI,0,0],null,"bwd"],[new vt(R,_),null,[0,0,Math.PI/2]]],Z:[[new Ne(C,a),[0,0,1],[Math.PI/2,0,0],null,"fwd"],[new Ne(C,a),[0,0,1],[-Math.PI/2,0,0],null,"bwd"],[new vt(R,E),null,[0,-Math.PI/2,0]]],XYZ:[[new Ne(new Ii(.1,0),c.clone()),[0,0,0],[0,0,0]]],XY:[[new Ne(new Di(.295,.295),f.clone()),[.15,.15,0]],[new vt(R,x),[.18,.3,0],null,[.125,1,1]],[new vt(R,x),[.3,.18,0],[0,0,Math.PI/2],[.125,1,1]]],YZ:[[new Ne(new Di(.295,.295),h.clone()),[0,.15,.15],[0,Math.PI/2,0]],[new vt(R,S),[0,.18,.3],[0,0,Math.PI/2],[.125,1,1]],[new vt(R,S),[0,.3,.18],[0,-Math.PI/2,0],[.125,1,1]]],XZ:[[new Ne(new Di(.295,.295),d.clone()),[.15,0,.15],[-Math.PI/2,0,0]],[new vt(R,g),[.18,0,.3],null,[.125,1,1]],[new vt(R,g),[.3,0,.18],[0,-Math.PI/2,0],[.125,1,1]]]},H={X:[[new Ne(new Ln(.2,0,1,4,1,!1),i),[.6,0,0],[0,0,-Math.PI/2]]],Y:[[new Ne(new Ln(.2,0,1,4,1,!1),i),[0,.6,0]]],Z:[[new Ne(new Ln(.2,0,1,4,1,!1),i),[0,0,.6],[Math.PI/2,0,0]]],XYZ:[[new Ne(new Ii(.2,0),i)]],XY:[[new Ne(new Di(.4,.4),i),[.2,.2,0]]],YZ:[[new Ne(new Di(.4,.4),i),[0,.2,.2],[0,Math.PI/2,0]]],XZ:[[new Ne(new Di(.4,.4),i),[.2,0,.2],[-Math.PI/2,0,0]]]},q={START:[[new Ne(new Ii(.01,2),r),null,null,null,"helper"]],END:[[new Ne(new Ii(.01,2),r),null,null,null,"helper"]],DELTA:[[new vt(b(),r),null,null,null,"helper"]],X:[[new vt(R,r.clone()),[-1e3,0,0],null,[1e6,1,1],"helper"]],Y:[[new vt(R,r.clone()),[0,-1e3,0],[0,0,Math.PI/2],[1e6,1,1],"helper"]],Z:[[new vt(R,r.clone()),[0,0,-1e3],[0,-Math.PI/2,0],[1e6,1,1],"helper"]]},G={X:[[new vt(I(1,.5),v)],[new Ne(new Ii(.04,0),s),[0,0,.99],null,[1,3,1]]],Y:[[new vt(I(1,.5),_),null,[0,0,-Math.PI/2]],[new Ne(new Ii(.04,0),o),[0,0,.99],null,[3,1,1]]],Z:[[new vt(I(1,.5),E),null,[0,Math.PI/2,0]],[new Ne(new Ii(.04,0),a),[.99,0,0],null,[1,3,1]]],E:[[new vt(I(1.25,1),T),null,[0,Math.PI/2,0]],[new Ne(new Ln(.03,0,.15,4,1,!1),T),[1.17,0,0],[0,0,-Math.PI/2],[1,1,.001]],[new Ne(new Ln(.03,0,.15,4,1,!1),T),[-1.17,0,0],[0,0,Math.PI/2],[1,1,.001]],[new Ne(new Ln(.03,0,.15,4,1,!1),T),[0,-1.17,0],[Math.PI,0,0],[1,1,.001]],[new Ne(new Ln(.03,0,.15,4,1,!1),T),[0,1.17,0],[0,0,0],[1,1,.001]]],XYZE:[[new vt(I(1,1),w),null,[0,Math.PI/2,0]]]},W={AXIS:[[new vt(R,r.clone()),[-1e3,0,0],null,[1e6,1,1],"helper"]]},ee={X:[[new Ne(new gs(1,.1,4,24),i),[0,0,0],[0,-Math.PI/2,-Math.PI/2]]],Y:[[new Ne(new gs(1,.1,4,24),i),[0,0,0],[Math.PI/2,0,0]]],Z:[[new Ne(new gs(1,.1,4,24),i),[0,0,0],[0,0,-Math.PI/2]]],E:[[new Ne(new gs(1.25,.1,2,24),i)]],XYZE:[[new Ne(new ya(.7,10,8),i)]]},oe={X:[[new Ne(P,s),[.8,0,0],[0,0,-Math.PI/2]],[new vt(R,v),null,null,[.8,1,1]]],Y:[[new Ne(P,o),[0,.8,0]],[new vt(R,_),null,[0,0,Math.PI/2],[.8,1,1]]],Z:[[new Ne(P,a),[0,0,.8],[Math.PI/2,0,0]],[new vt(R,E),null,[0,-Math.PI/2,0],[.8,1,1]]],XY:[[new Ne(P,f),[.85,.85,0],null,[2,2,.2]],[new vt(R,x),[.855,.98,0],null,[.125,1,1]],[new vt(R,x),[.98,.855,0],[0,0,Math.PI/2],[.125,1,1]]],YZ:[[new Ne(P,h),[0,.85,.85],null,[.2,2,2]],[new vt(R,S),[0,.855,.98],[0,0,Math.PI/2],[.125,1,1]],[new vt(R,S),[0,.98,.855],[0,-Math.PI/2,0],[.125,1,1]]],XZ:[[new Ne(P,d),[.85,0,.85],null,[2,.2,2]],[new vt(R,g),[.855,0,.98],null,[.125,1,1]],[new vt(R,g),[.98,0,.855],[0,-Math.PI/2,0],[.125,1,1]]],XYZX:[[new Ne(new oi(.125,.125,.125),c.clone()),[1.1,0,0]]],XYZY:[[new Ne(new oi(.125,.125,.125),c.clone()),[0,1.1,0]]],XYZZ:[[new Ne(new oi(.125,.125,.125),c.clone()),[0,0,1.1]]]},ue={X:[[new Ne(new Ln(.2,0,.8,4,1,!1),i),[.5,0,0],[0,0,-Math.PI/2]]],Y:[[new Ne(new Ln(.2,0,.8,4,1,!1),i),[0,.5,0]]],Z:[[new Ne(new Ln(.2,0,.8,4,1,!1),i),[0,0,.5],[Math.PI/2,0,0]]],XY:[[new Ne(P,i),[.85,.85,0],null,[3,3,.2]]],YZ:[[new Ne(P,i),[0,.85,.85],null,[.2,3,3]]],XZ:[[new Ne(P,i),[.85,0,.85],null,[3,.2,3]]],XYZX:[[new Ne(new oi(.2,.2,.2),i),[1.1,0,0]]],XYZY:[[new Ne(new oi(.2,.2,.2),i),[0,1.1,0]]],XYZZ:[[new Ne(new oi(.2,.2,.2),i),[0,0,1.1]]]},D={X:[[new vt(R,r.clone()),[-1e3,0,0],null,[1e6,1,1],"helper"]],Y:[[new vt(R,r.clone()),[0,-1e3,0],[0,0,Math.PI/2],[1e6,1,1],"helper"]],Z:[[new vt(R,r.clone()),[0,0,-1e3],[0,-Math.PI/2,0],[1e6,1,1],"helper"]]},V=B=>{const J=new St;for(let Y in B)for(let K=B[Y].length;K--;){const z=B[Y][K][0].clone(),ye=B[Y][K][1],pe=B[Y][K][2],Q=B[Y][K][3],Qe=B[Y][K][4];z.name=Y,z.tag=Qe,ye&&z.position.set(ye[0],ye[1],ye[2]),pe&&z.rotation.set(pe[0],pe[1],pe[2]),Q&&z.scale.set(Q[0],Q[1],Q[2]),z.updateMatrix();const je=z.geometry.clone();je.applyMatrix4(z.matrix),z.geometry=je,z.renderOrder=1/0,z.position.set(0,0,0),z.rotation.set(0,0,0),z.scale.set(1,1,1),J.add(z)}return J};this.gizmo={},this.picker={},this.helper={},this.add(this.gizmo.translate=V(L)),this.add(this.gizmo.rotate=V(G)),this.add(this.gizmo.scale=V(oe)),this.add(this.picker.translate=V(H)),this.add(this.picker.rotate=V(ee)),this.add(this.picker.scale=V(ue)),this.add(this.helper.translate=V(q)),this.add(this.helper.rotate=V(W)),this.add(this.helper.scale=V(D)),this.picker.translate.visible=!1,this.picker.rotate.visible=!1,this.picker.scale.visible=!1}}class P4 extends Ne{constructor(){super(new Di(1e5,1e5,2,2),new Zr({visible:!1,wireframe:!0,side:nr,transparent:!0,opacity:.1,toneMapped:!1})),le(this,"isTransformControlsPlane",!0),le(this,"type","TransformControlsPlane"),le(this,"unitX",new N(1,0,0)),le(this,"unitY",new N(0,1,0)),le(this,"unitZ",new N(0,0,1)),le(this,"tempVector",new N),le(this,"dirVector",new N),le(this,"alignVector",new N),le(this,"tempMatrix",new st),le(this,"identityQuaternion",new It),le(this,"cameraQuaternion",new It),le(this,"worldPosition",new N),le(this,"worldQuaternion",new It),le(this,"eye",new N),le(this,"axis",null),le(this,"mode","translate"),le(this,"space","world"),le(this,"updateMatrixWorld",()=>{let e=this.space;switch(this.position.copy(this.worldPosition),this.mode==="scale"&&(e="local"),this.unitX.set(1,0,0).applyQuaternion(e==="local"?this.worldQuaternion:this.identityQuaternion),this.unitY.set(0,1,0).applyQuaternion(e==="local"?this.worldQuaternion:this.identityQuaternion),this.unitZ.set(0,0,1).applyQuaternion(e==="local"?this.worldQuaternion:this.identityQuaternion),this.alignVector.copy(this.unitY),this.mode){case"translate":case"scale":switch(this.axis){case"X":this.alignVector.copy(this.eye).cross(this.unitX),this.dirVector.copy(this.unitX).cross(this.alignVector);break;case"Y":this.alignVector.copy(this.eye).cross(this.unitY),this.dirVector.copy(this.unitY).cross(this.alignVector);break;case"Z":this.alignVector.copy(this.eye).cross(this.unitZ),this.dirVector.copy(this.unitZ).cross(this.alignVector);break;case"XY":this.dirVector.copy(this.unitZ);break;case"YZ":this.dirVector.copy(this.unitX);break;case"XZ":this.alignVector.copy(this.unitZ),this.dirVector.copy(this.unitY);break;case"XYZ":case"E":this.dirVector.set(0,0,0);break}break;case"rotate":default:this.dirVector.set(0,0,0)}this.dirVector.length()===0?this.quaternion.copy(this.cameraQuaternion):(this.tempMatrix.lookAt(this.tempVector.set(0,0,0),this.dirVector,this.alignVector),this.quaternion.setFromRotationMatrix(this.tempMatrix)),super.updateMatrixWorld()})}}var L4=1/0,R4=9007199254740991,I4="[object Arguments]",D4="[object Function]",N4="[object GeneratorFunction]",k4="[object Symbol]",z4=typeof Qs=="object"&&Qs&&Qs.Object===Object&&Qs,U4=typeof self=="object"&&self&&self.Object===Object&&self,O4=z4||U4||Function("return this")();function F4(n,e,t){switch(t.length){case 0:return n.call(e);case 1:return n.call(e,t[0]);case 2:return n.call(e,t[0],t[1]);case 3:return n.call(e,t[0],t[1],t[2])}return n.apply(e,t)}function B4(n,e){for(var t=-1,i=n?n.length:0,r=Array(i);++t0&&t(a)?e>1?$3(a,e-1,t,i,r):V4(r,a):i||(r[r.length]=a)}return r}function W4(n,e){return n=Object(n),X4(n,e,function(t,i){return i in n})}function X4(n,e,t){for(var i=-1,r=e.length,s={};++i-1&&n%1==0&&n<=R4}function tO(n){var e=typeof n;return!!n&&(e=="object"||e=="function")}function eA(n){return!!n&&typeof n=="object"}function nO(n){return typeof n=="symbol"||eA(n)&&N_.call(n)==k4}var iO=j4(function(n,e){return n==null?{}:W4(n,B4($3(e,1),q4))}),rO=iO;function sO(n,e,t){const{gl:i,size:r,viewport:s}=$i(),o=typeof n=="number"?n:r.width*s.dpr,a=typeof e=="number"?e:r.height*s.dpr,c=(typeof n=="number"?t:n)||{},{samples:f=0,depth:h,...d}=c,m=Te.exports.useMemo(()=>{let v;return v=new ar(o,a,{minFilter:en,magFilter:en,encoding:i.outputEncoding,type:ca,...d}),h&&(v.depthTexture=new s_(o,a,Hr)),v.samples=f,v},[]);return Te.exports.useLayoutEffect(()=>{m.setSize(o,a),f&&(m.samples=f)},[f,m,o,a]),Te.exports.useEffect(()=>()=>m.dispose(),[]),m}const oO=n=>typeof n=="function",aO=Te.exports.forwardRef(({envMap:n,resolution:e=256,frames:t=1/0,makeDefault:i,children:r,...s},o)=>{const a=$i(({set:S})=>S),c=$i(({camera:S})=>S),f=$i(({size:S})=>S),h=Te.exports.useRef(null),d=Te.exports.useRef(null),m=sO(e);Te.exports.useLayoutEffect(()=>{s.manual||(h.current.aspect=f.width/f.height)},[f,s]),Te.exports.useLayoutEffect(()=>{h.current.updateProjectionMatrix()});let v=0,_=null;const E=oO(r);return n4(S=>{E&&(t===1/0||v{if(i){const S=c;return a(()=>({camera:h.current})),()=>a(()=>({camera:S}))}},[h,i,a]),Xp(L_,{children:[Gt("perspectiveCamera",{ref:E4([h,o]),...s,children:!E&&r}),Gt("group",{ref:d,children:E&&r(m.texture)})]})});var lO=200,k_="__lodash_hash_undefined__",uO=1/0,tA=9007199254740991,cO="[object Arguments]",fO="[object Function]",hO="[object GeneratorFunction]",dO="[object Symbol]",pO=/[\\^$.*+?()[\]{}|]/g,mO=/^\[object .+?Constructor\]$/,gO=/^(?:0|[1-9]\d*)$/,vO=typeof Qs=="object"&&Qs&&Qs.Object===Object&&Qs,yO=typeof self=="object"&&self&&self.Object===Object&&self,z_=vO||yO||Function("return this")();function _O(n,e,t){switch(t.length){case 0:return n.call(e);case 1:return n.call(e,t[0]);case 2:return n.call(e,t[0],t[1]);case 3:return n.call(e,t[0],t[1],t[2])}return n.apply(e,t)}function xO(n,e){var t=n?n.length:0;return!!t&&MO(n,e,0)>-1}function SO(n,e,t){for(var i=-1,r=n?n.length:0;++i-1}function jO(n,e){var t=this.__data__,i=Yp(t,n);return i<0?t.push([n,e]):t[i][1]=e,this}Kl.prototype.clear=HO;Kl.prototype.delete=GO;Kl.prototype.get=WO;Kl.prototype.has=XO;Kl.prototype.set=jO;function $l(n){var e=-1,t=n?n.length:0;for(this.clear();++e=lO&&(s=CO,o=!1,e=new fp(e));e:for(;++r0&&t(a)?e>1?sA(a,e-1,t,i,r):U_(r,a):i||(r[r.length]=a)}return r}function nF(n,e,t){var i=e(n);return F_(n)?i:U_(i,t(n))}function iF(n){if(!B_(n)||pF(n))return!1;var e=uA(n)||PO(n)?IO:mO;return e.test(yF(n))}function rF(n){if(!B_(n))return gF(n);var e=mF(n),t=[];for(var i in n)i=="constructor"&&(e||!Jl.call(n,i))||t.push(i);return t}function sF(n,e){return n=Object(n),oF(n,e,function(t,i){return i in n})}function oF(n,e,t){for(var i=-1,r=e.length,s={};++i-1&&n%1==0&&n-1&&n%1==0&&n<=tA}function B_(n){var e=typeof n;return!!n&&(e=="object"||e=="function")}function cA(n){return!!n&&typeof n=="object"}function wF(n){return typeof n=="symbol"||cA(n)&&O_.call(n)==dO}function MF(n){return lA(n)?eF(n,!0):rF(n)}var EF=aF(function(n,e){return n==null?{}:(e=nA(sA(e,1),vF),sF(n,tF(lF(n),e)))});function fA(){return[]}var TF=EF;const AF=Te.exports.forwardRef(({children:n,domElement:e,onChange:t,onMouseDown:i,onMouseUp:r,onObjectChange:s,object:o,makeDefault:a,...c},f)=>{const h=["enabled","axis","mode","translationSnap","rotationSnap","scaleSnap","space","size","showX","showY","showZ"],{camera:d,...m}=c,v=rO(m,h),_=TF(m,h),E=$i(W=>W.controls),S=$i(W=>W.gl),g=$i(W=>W.events),x=$i(W=>W.camera),w=$i(W=>W.invalidate),T=$i(W=>W.get),C=$i(W=>W.set),P=d||x,R=e||g.connected||S.domElement,I=Te.exports.useMemo(()=>new C4(P,R),[P,R]),b=Te.exports.useRef();Te.exports.useLayoutEffect(()=>(o?I.attach(o instanceof St?o:o.current):b.current instanceof St&&I.attach(b.current),()=>void I.detach()),[o,n,I]),Te.exports.useEffect(()=>{if(E){const W=ee=>E.enabled=!ee.value;return I.addEventListener("dragging-changed",W),()=>I.removeEventListener("dragging-changed",W)}},[I,E]);const L=Te.exports.useRef(),H=Te.exports.useRef(),q=Te.exports.useRef(),G=Te.exports.useRef();return Te.exports.useLayoutEffect(()=>void(L.current=t),[t]),Te.exports.useLayoutEffect(()=>void(H.current=i),[i]),Te.exports.useLayoutEffect(()=>void(q.current=r),[r]),Te.exports.useLayoutEffect(()=>void(G.current=s),[s]),Te.exports.useEffect(()=>{const W=D=>{w(),L.current==null||L.current(D)},ee=D=>H.current==null?void 0:H.current(D),oe=D=>q.current==null?void 0:q.current(D),ue=D=>G.current==null?void 0:G.current(D);return I.addEventListener("change",W),I.addEventListener("mouseDown",ee),I.addEventListener("mouseUp",oe),I.addEventListener("objectChange",ue),()=>{I.removeEventListener("change",W),I.removeEventListener("mouseDown",ee),I.removeEventListener("mouseUp",oe),I.removeEventListener("objectChange",ue)}},[w,I]),Te.exports.useEffect(()=>{if(a){const W=T().controls;return C({controls:I}),()=>C({controls:W})}},[a,I]),I?Xp(L_,{children:[Gt("primitive",{ref:f,object:I,...v}),Gt("group",{ref:b,..._,children:n})]}):null}),CF=()=>!window.invokeNative,hA=(n,e)=>{const t=Te.exports.useRef(()=>{});Te.exports.useEffect(()=>{t.current=e},[e]),Te.exports.useEffect(()=>{const i=r=>{const{action:s,data:o}=r.data;t.current&&s===n&&t.current(o)};return window.addEventListener("message",i),()=>window.removeEventListener("message",i)},[n])};async function Vu(n,e,t){const i={method:"post",headers:{"Content-Type":"application/json; charset=UTF-8"},body:JSON.stringify(e)};if(CF()&&t)return t;const r=window.GetParentResourceName?window.GetParentResourceName():"nui-frame-app";return await(await fetch(`https://${r}/${n}`,i)).json()}const bF=()=>{const{camera:n}=$i(),e=(t,i)=>t>0&&t<90?i:t>-180&&t<-90||t>0?-i:i;return hA("setCameraPosition",({position:t,rotation:i})=>{n.position.set(t.x,t.z,-t.y),n.rotation.order="YZX",i&&n.rotation.set(Br.degToRad(i.x),Br.degToRad(e(i.x,i.z)),Br.degToRad(i.y)),n.updateProjectionMatrix()}),Gt(aO,{position:[0,0,10],makeDefault:!0,onUpdate:t=>t.updateProjectionMatrix()})},PF=()=>{const n=Te.exports.useRef(null),[e,t]=Te.exports.useState(),[i,r]=Te.exports.useState("translate"),s=()=>{const o={handle:e,position:{x:n.current.position.x,y:-n.current.position.z,z:n.current.position.y},rotation:{x:Br.radToDeg(n.current.rotation.x),y:Br.radToDeg(-n.current.rotation.z),z:Br.radToDeg(n.current.rotation.y)}};Vu("moveEntity",o)};return hA("setGizmoEntity",o=>{t(o.handle),o.handle&&(n.current.position.set(o.position.x,o.position.z,-o.position.y),n.current.rotation.order="YZX",n.current.rotation.set(Br.degToRad(o.rotation.x),Br.degToRad(o.rotation.z),Br.degToRad(o.rotation.y)))}),Te.exports.useEffect(()=>{const o=a=>{switch(a.code){case"KeyR":if(i=="rotate")return;r("rotate"),Vu("swapMode",{mode:"Rotate"});break;case"KeyW":if(i=="translate")return;r("translate"),Vu("swapMode",{mode:"Translate"});break;case"Escape":Vu("finishEdit");break;case"KeyQ":Vu("cam");break}};return window.addEventListener("keyup",o),()=>window.removeEventListener("keyup",o)}),Gt(L_,{children:Xp(Te.exports.Suspense,{fallback:Gt("p",{children:"Loading Gizmo"}),children:[e!=null&&Gt(AF,{size:.5,object:n,mode:i,onObjectChange:s}),Gt("mesh",{ref:n})]})})},LF=()=>Xp(M4,{style:{zIndex:1},children:[Gt(bF,{}),Gt(PF,{})]});function RF(){return Gt("div",{style:{width:"100vw",height:"100vh"},children:Gt(LF,{})})}d0.createRoot(document.getElementById("root")).render(Gt(RF,{})); diff --git a/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/dist/index.html b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/dist/index.html new file mode 100644 index 000000000..cc1fe2430 --- /dev/null +++ b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/dist/index.html @@ -0,0 +1,15 @@ + + + + + + + Vite + React + TS + + + + +

+ + + diff --git a/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/index.html b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/index.html new file mode 100644 index 000000000..e0d1c8408 --- /dev/null +++ b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite + React + TS + + +
+ + + diff --git a/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/package-lock.json b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/package-lock.json new file mode 100644 index 000000000..b16853295 --- /dev/null +++ b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/package-lock.json @@ -0,0 +1,3685 @@ +{ + "name": "gizmo", + "version": "0.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "gizmo", + "version": "0.0.0", + "dependencies": { + "@react-three/drei": "^9.65.5", + "@react-three/fiber": "^8.12.2", + "axios": "^1.3.6", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "three": "^0.151.3" + }, + "devDependencies": { + "@types/react": "^18.0.22", + "@types/react-dom": "^18.0.7", + "@vitejs/plugin-react": "^2.2.0", + "typescript": "^4.6.4", + "vite": "^3.2.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", + "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.4.tgz", + "integrity": "sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.4.tgz", + "integrity": "sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.4", + "@babel/helper-compilation-targets": "^7.21.4", + "@babel/helper-module-transforms": "^7.21.2", + "@babel/helpers": "^7.21.0", + "@babel/parser": "^7.21.4", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.4", + "@babel/types": "^7.21.4", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.4.tgz", + "integrity": "sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.21.4", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz", + "integrity": "sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.21.4", + "@babel/helper-validator-option": "^7.21.0", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", + "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.21.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", + "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.2", + "@babel/types": "^7.21.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", + "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz", + "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz", + "integrity": "sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.21.0.tgz", + "integrity": "sha512-6OAWljMvQrZjR2DaNhVfRz6dkCAVV+ymcLUmaf8bccGOHn2v5rHJK3tTpij0BuhdYWP4LLaqj5lwcdlpAAPuvg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-jsx": "^7.18.6", + "@babel/types": "^7.21.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz", + "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==", + "dev": true, + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.21.0.tgz", + "integrity": "sha512-f/Eq+79JEu+KUANFks9UZCcvydOOGMgF7jBrcwjHa5jTZD8JivnhCJYvmlhR/WTXBWonDExPoW0eO/CR4QJirA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz", + "integrity": "sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", + "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", + "dependencies": { + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.4.tgz", + "integrity": "sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.4", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.21.4", + "@babel/types": "^7.21.4", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz", + "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@chevrotain/cst-dts-gen": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-10.5.0.tgz", + "integrity": "sha512-lhmC/FyqQ2o7pGK4Om+hzuDrm9rhFYIJ/AXoQBeongmn870Xeb0L6oGEiuR8nohFNL5sMaQEJWCxr1oIVIVXrw==", + "dependencies": { + "@chevrotain/gast": "10.5.0", + "@chevrotain/types": "10.5.0", + "lodash": "4.17.21" + } + }, + "node_modules/@chevrotain/gast": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/@chevrotain/gast/-/gast-10.5.0.tgz", + "integrity": "sha512-pXdMJ9XeDAbgOWKuD1Fldz4ieCs6+nLNmyVhe2gZVqoO7v8HXuHYs5OV2EzUtbuai37TlOAQHrTDvxMnvMJz3A==", + "dependencies": { + "@chevrotain/types": "10.5.0", + "lodash": "4.17.21" + } + }, + "node_modules/@chevrotain/types": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-10.5.0.tgz", + "integrity": "sha512-f1MAia0x/pAVPWH/T73BJVyO2XU5tI4/iE7cnxb7tqdNTNhQI3Uq3XkqcoteTmD4t1aM0LbHCJOhgIDn07kl2A==" + }, + "node_modules/@chevrotain/utils": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-10.5.0.tgz", + "integrity": "sha512-hBzuU5+JjB2cqNZyszkDHZgOSrUUT8V3dhgRl8Q9Gp6dAj/H5+KILGjbhDpc3Iy9qmqlm/akuOI2ut9VUtzJxQ==" + }, + "node_modules/@esbuild/android-arm": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.18.tgz", + "integrity": "sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz", + "integrity": "sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@react-spring/animated": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@react-spring/animated/-/animated-9.6.1.tgz", + "integrity": "sha512-ls/rJBrAqiAYozjLo5EPPLLOb1LM0lNVQcXODTC1SMtS6DbuBCPaKco5svFUQFMP2dso3O+qcC4k9FsKc0KxMQ==", + "dependencies": { + "@react-spring/shared": "~9.6.1", + "@react-spring/types": "~9.6.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@react-spring/core": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@react-spring/core/-/core-9.6.1.tgz", + "integrity": "sha512-3HAAinAyCPessyQNNXe5W0OHzRfa8Yo5P748paPcmMowZ/4sMfaZ2ZB6e5x5khQI8NusOHj8nquoutd6FRY5WQ==", + "dependencies": { + "@react-spring/animated": "~9.6.1", + "@react-spring/rafz": "~9.6.1", + "@react-spring/shared": "~9.6.1", + "@react-spring/types": "~9.6.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/react-spring/donate" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@react-spring/rafz": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@react-spring/rafz/-/rafz-9.6.1.tgz", + "integrity": "sha512-v6qbgNRpztJFFfSE3e2W1Uz+g8KnIBs6SmzCzcVVF61GdGfGOuBrbjIcp+nUz301awVmREKi4eMQb2Ab2gGgyQ==" + }, + "node_modules/@react-spring/shared": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@react-spring/shared/-/shared-9.6.1.tgz", + "integrity": "sha512-PBFBXabxFEuF8enNLkVqMC9h5uLRBo6GQhRMQT/nRTnemVENimgRd+0ZT4yFnAQ0AxWNiJfX3qux+bW2LbG6Bw==", + "dependencies": { + "@react-spring/rafz": "~9.6.1", + "@react-spring/types": "~9.6.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@react-spring/three": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@react-spring/three/-/three-9.6.1.tgz", + "integrity": "sha512-Tyw2YhZPKJAX3t2FcqvpLRb71CyTe1GvT3V+i+xJzfALgpk10uPGdGaQQ5Xrzmok1340DAeg2pR/MCfaW7b8AA==", + "dependencies": { + "@react-spring/animated": "~9.6.1", + "@react-spring/core": "~9.6.1", + "@react-spring/shared": "~9.6.1", + "@react-spring/types": "~9.6.1" + }, + "peerDependencies": { + "@react-three/fiber": ">=6.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "three": ">=0.126" + } + }, + "node_modules/@react-spring/types": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@react-spring/types/-/types-9.6.1.tgz", + "integrity": "sha512-POu8Mk0hIU3lRXB3bGIGe4VHIwwDsQyoD1F394OK7STTiX9w4dG3cTLljjYswkQN+hDSHRrj4O36kuVa7KPU8Q==" + }, + "node_modules/@react-three/drei": { + "version": "9.65.5", + "resolved": "https://registry.npmjs.org/@react-three/drei/-/drei-9.65.5.tgz", + "integrity": "sha512-zfT7MTqkK5AYU6Yhe3nJ5S0mV2+oRaXfbxU1KkHzTlipssInb5kHSYwG4Topl0n7aPVNiV4A25LgvELjCeWPvw==", + "dependencies": { + "@babel/runtime": "^7.11.2", + "@react-spring/three": "~9.6.1", + "@use-gesture/react": "^10.2.24", + "camera-controls": "^2.3.1", + "detect-gpu": "^5.0.14", + "glsl-noise": "^0.0.0", + "lodash.clamp": "^4.0.3", + "lodash.omit": "^4.5.0", + "lodash.pick": "^4.4.0", + "maath": "^0.5.2", + "meshline": "^3.1.6", + "react-composer": "^5.0.3", + "react-merge-refs": "^1.1.0", + "stats.js": "^0.17.0", + "suspend-react": "^0.0.8", + "three-mesh-bvh": "^0.5.23", + "three-stdlib": "^2.21.8", + "troika-three-text": "^0.47.1", + "utility-types": "^3.10.0", + "zustand": "^3.5.13" + }, + "peerDependencies": { + "@react-three/fiber": ">=8.0", + "react": ">=18.0", + "react-dom": ">=18.0", + "three": ">=0.137" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/@react-three/fiber": { + "version": "8.12.2", + "resolved": "https://registry.npmjs.org/@react-three/fiber/-/fiber-8.12.2.tgz", + "integrity": "sha512-CIjSK02ffXnT6q+/7HJ1JTX9dDS4N67OAs/yYYtUKK5qkO2WUFVt6ymQDAp7yLPRFA+frvYfAHSIIYwQ48dmDQ==", + "dependencies": { + "@babel/runtime": "^7.17.8", + "@types/react-reconciler": "^0.26.7", + "its-fine": "^1.0.6", + "react-reconciler": "^0.27.0", + "react-use-measure": "^2.1.1", + "scheduler": "^0.21.0", + "suspend-react": "^0.0.8", + "zustand": "^3.7.1" + }, + "peerDependencies": { + "expo": ">=43.0", + "expo-asset": ">=8.4", + "expo-gl": ">=11.0", + "react": ">=18.0", + "react-dom": ">=18.0", + "react-native": ">=0.64", + "three": ">=0.133" + }, + "peerDependenciesMeta": { + "expo": { + "optional": true + }, + "expo-asset": { + "optional": true + }, + "expo-gl": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, + "node_modules/@react-three/fiber/node_modules/scheduler": { + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.21.0.tgz", + "integrity": "sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/@types/offscreencanvas": { + "version": "2019.7.0", + "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.7.0.tgz", + "integrity": "sha512-PGcyveRIpL1XIqK8eBsmRBt76eFgtzuPiSTyKHZxnGemp2yzGzWpjYKAfK3wIMiU7eH+851yEpiuP8JZerTmWg==" + }, + "node_modules/@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + }, + "node_modules/@types/react": { + "version": "18.0.38", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.38.tgz", + "integrity": "sha512-ExsidLLSzYj4cvaQjGnQCk4HFfVT9+EZ9XZsQ8Hsrcn8QNgXtpZ3m9vSIC2MWtx7jHictK6wYhQgGh6ic58oOw==", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.0.11", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.11.tgz", + "integrity": "sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/react-reconciler": { + "version": "0.26.7", + "resolved": "https://registry.npmjs.org/@types/react-reconciler/-/react-reconciler-0.26.7.tgz", + "integrity": "sha512-mBDYl8x+oyPX/VBb3E638N0B7xG+SPk/EAMcVPeexqus/5aTpTphQi0curhhshOqRrc9t6OPoJfEUkbymse/lQ==", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", + "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" + }, + "node_modules/@types/stats.js": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.0.tgz", + "integrity": "sha512-9w+a7bR8PeB0dCT/HBULU2fMqf6BAzvKbxFboYhmDtDkKPiyXYbjoe2auwsXlEFI7CFNMF1dCv3dFH5Poy9R1w==", + "peer": true + }, + "node_modules/@types/three": { + "version": "0.150.2", + "resolved": "https://registry.npmjs.org/@types/three/-/three-0.150.2.tgz", + "integrity": "sha512-cvcz/81Mmj4oiAA+uxzwaRK3t8lYw8WxejXKqIBfu6PqvwSAEEiCi3VfCiVY18UflBqL0LDX/za85+sfqjMoIw==", + "peer": true, + "dependencies": { + "@types/stats.js": "*", + "@types/webxr": "*", + "fflate": "~0.6.9", + "lil-gui": "~0.17.0" + } + }, + "node_modules/@types/webxr": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.1.tgz", + "integrity": "sha512-xlFXPfgJR5vIuDefhaHuUM9uUgvPaXB6GKdXy2gdEh8gBWQZ2ul24AJz3foUd8NNKlSTQuWYJpCb1/pL81m1KQ==", + "peer": true + }, + "node_modules/@use-gesture/core": { + "version": "10.2.26", + "resolved": "https://registry.npmjs.org/@use-gesture/core/-/core-10.2.26.tgz", + "integrity": "sha512-NyFpQ3iID9iFBROXyyvU1D0NK+t+dP+WAVByhCvqHUenpxLD2NlRLVRpoK3XGGwksr6mU3PvZ2Nm4q0q+gLJPA==" + }, + "node_modules/@use-gesture/react": { + "version": "10.2.26", + "resolved": "https://registry.npmjs.org/@use-gesture/react/-/react-10.2.26.tgz", + "integrity": "sha512-0QhaE5mhaQbFlip4MX7n1nwCX8gax6Da1LsP2fZ/BU6xW9zyEmV6NX7DPelDxq1rr2NiBJh30vx9RIp80YeA/A==", + "dependencies": { + "@use-gesture/core": "10.2.26" + }, + "peerDependencies": { + "react": ">= 16.8.0" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-2.2.0.tgz", + "integrity": "sha512-FFpefhvExd1toVRlokZgxgy2JtnBOdp4ZDsq7ldCWaqGSGn9UhWMAVm/1lxPL14JfNS5yGz+s9yFrQY6shoStA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.19.6", + "@babel/plugin-transform-react-jsx": "^7.19.0", + "@babel/plugin-transform-react-jsx-development": "^7.18.6", + "@babel/plugin-transform-react-jsx-self": "^7.18.6", + "@babel/plugin-transform-react-jsx-source": "^7.19.6", + "magic-string": "^0.26.7", + "react-refresh": "^0.14.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^3.0.0" + } + }, + "node_modules/@webgpu/glslang": { + "version": "0.0.15", + "resolved": "https://registry.npmjs.org/@webgpu/glslang/-/glslang-0.0.15.tgz", + "integrity": "sha512-niT+Prh3Aff8Uf1MVBVUsaNjFj9rJAKDXuoHIKiQbB+6IUP/3J3JIhBNyZ7lDhytvXxw6ppgnwKZdDJ08UMj4Q==" + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/axios": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.3.6.tgz", + "integrity": "sha512-PEcdkk7JcdPiMDkvM4K6ZBRYq9keuVJsToxm2zQIM70Qqo2WHTdJZMXcG9X+RmRp2VPNUQC8W1RAGbgt6b1yMg==", + "dependencies": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/bidi-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.2.tgz", + "integrity": "sha512-rzSy/k7WdX5zOyeHHCOixGXbCHkyogkxPKL2r8QtzHmVQDiWCXUWa18bLdMWT9CYMLOYTjWpTHawuev2ouYJVw==", + "dependencies": { + "require-from-string": "^2.0.2" + } + }, + "node_modules/browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/camera-controls": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/camera-controls/-/camera-controls-2.3.4.tgz", + "integrity": "sha512-swhc87YVHf9te0glBI7Oa/QBgsSCL4ZxtoR4V3vE6l7mEebsYRNL8y7Y2m2E6MrT0UTphM1S7mQqs0Sp7QTZ2g==", + "peerDependencies": { + "three": ">=0.126.1" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001481", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001481.tgz", + "integrity": "sha512-KCqHwRnaa1InZBtqXzP98LPg0ajCVujMKjqKDhZEthIpAsJl/YEIa3YvXjGXPVqzZVguccuu7ga9KOE1J9rKPQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chevrotain": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-10.5.0.tgz", + "integrity": "sha512-Pkv5rBY3+CsHOYfV5g/Vs5JY9WTHHDEKOlohI2XeygaZhUeqhAlldZ8Hz9cRmxu709bvS08YzxHdTPHhffc13A==", + "dependencies": { + "@chevrotain/cst-dts-gen": "10.5.0", + "@chevrotain/gast": "10.5.0", + "@chevrotain/types": "10.5.0", + "@chevrotain/utils": "10.5.0", + "lodash": "4.17.21", + "regexp-to-ast": "0.5.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, + "node_modules/debounce": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==" + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/detect-gpu": { + "version": "5.0.21", + "resolved": "https://registry.npmjs.org/detect-gpu/-/detect-gpu-5.0.21.tgz", + "integrity": "sha512-Dcf+4zxB3/4+7nVje3zQffJ3ksS7DiUztlNR0jC4AUF8FTBTeKWoIRxRAq4dGaRft8hEadUIDbjZbiKhCFo/Bw==", + "dependencies": { + "webgl-constants": "^1.1.1" + } + }, + "node_modules/draco3d": { + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/draco3d/-/draco3d-1.5.6.tgz", + "integrity": "sha512-+3NaRjWktb5r61ZFoDejlykPEFKT5N/LkbXsaddlw6xNSXBanUYpFc2AXXpbJDilPHazcSreU/DpQIaxfX0NfQ==" + }, + "node_modules/electron-to-chromium": { + "version": "1.4.369", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.369.tgz", + "integrity": "sha512-LfxbHXdA/S+qyoTEA4EbhxGjrxx7WK2h6yb5K2v0UCOufUKX+VZaHbl3svlzZfv9sGseym/g3Ne4DpsgRULmqg==", + "dev": true + }, + "node_modules/esbuild": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.18.tgz", + "integrity": "sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.15.18", + "@esbuild/linux-loong64": "0.15.18", + "esbuild-android-64": "0.15.18", + "esbuild-android-arm64": "0.15.18", + "esbuild-darwin-64": "0.15.18", + "esbuild-darwin-arm64": "0.15.18", + "esbuild-freebsd-64": "0.15.18", + "esbuild-freebsd-arm64": "0.15.18", + "esbuild-linux-32": "0.15.18", + "esbuild-linux-64": "0.15.18", + "esbuild-linux-arm": "0.15.18", + "esbuild-linux-arm64": "0.15.18", + "esbuild-linux-mips64le": "0.15.18", + "esbuild-linux-ppc64le": "0.15.18", + "esbuild-linux-riscv64": "0.15.18", + "esbuild-linux-s390x": "0.15.18", + "esbuild-netbsd-64": "0.15.18", + "esbuild-openbsd-64": "0.15.18", + "esbuild-sunos-64": "0.15.18", + "esbuild-windows-32": "0.15.18", + "esbuild-windows-64": "0.15.18", + "esbuild-windows-arm64": "0.15.18" + } + }, + "node_modules/esbuild-android-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz", + "integrity": "sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-android-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz", + "integrity": "sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz", + "integrity": "sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz", + "integrity": "sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz", + "integrity": "sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz", + "integrity": "sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-32": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz", + "integrity": "sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz", + "integrity": "sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz", + "integrity": "sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz", + "integrity": "sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-mips64le": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz", + "integrity": "sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-ppc64le": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz", + "integrity": "sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-riscv64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz", + "integrity": "sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-s390x": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz", + "integrity": "sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-netbsd-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz", + "integrity": "sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-openbsd-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz", + "integrity": "sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-sunos-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz", + "integrity": "sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-32": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz", + "integrity": "sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz", + "integrity": "sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz", + "integrity": "sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fflate": { + "version": "0.6.10", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.6.10.tgz", + "integrity": "sha512-IQrh3lEPM93wVCEczc9SaAOvkmcoQn/G8Bo1e8ZPlY3X3bnAxWaBdvTdvM1hP62iZp0BXWDy4vTAy4fF0+Dlpg==" + }, + "node_modules/follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/glsl-noise": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/glsl-noise/-/glsl-noise-0.0.0.tgz", + "integrity": "sha512-b/ZCF6amfAUb7dJM/MxRs7AetQEahYzJ8PtgfrmEdtw6uyGOr+ZSGtgjFm6mfsBkxJ4d2W7kg+Nlqzqvn3Bc0w==" + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-core-module": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz", + "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/its-fine": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/its-fine/-/its-fine-1.1.0.tgz", + "integrity": "sha512-nEoEt5EYSed1mmvwCRv3l1+6T7pyu4ltyBihzPjUtaSWhFhUPU/c7xkPDIutTh8FeIv0F1F5wOFYI8a2s5rlBA==", + "dependencies": { + "@types/react-reconciler": "^0.28.0" + }, + "peerDependencies": { + "react": ">=18.0" + } + }, + "node_modules/its-fine/node_modules/@types/react-reconciler": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@types/react-reconciler/-/react-reconciler-0.28.2.tgz", + "integrity": "sha512-8tu6lHzEgYPlfDf/J6GOQdIc+gs+S2yAqlby3zTsB3SP2svlqTYe5fwZNtZyfactP74ShooP2vvi1BOp9ZemWw==", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ktx-parse": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/ktx-parse/-/ktx-parse-0.4.5.tgz", + "integrity": "sha512-MK3FOody4TXbFf8Yqv7EBbySw7aPvEcPX++Ipt6Sox+/YMFvR5xaTyhfNSk1AEmMy+RYIw81ctN4IMxCB8OAlg==" + }, + "node_modules/lil-gui": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/lil-gui/-/lil-gui-0.17.0.tgz", + "integrity": "sha512-MVBHmgY+uEbmJNApAaPbtvNh1RCAeMnKym82SBjtp5rODTYKWtM+MXHCifLe2H2Ti1HuBGBtK/5SyG4ShQ3pUQ==", + "peer": true + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.clamp": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/lodash.clamp/-/lodash.clamp-4.0.3.tgz", + "integrity": "sha512-HvzRFWjtcguTW7yd8NJBshuNaCa8aqNFtnswdT7f/cMd/1YKy5Zzoq4W/Oxvnx9l7aeY258uSdDfM793+eLsVg==" + }, + "node_modules/lodash.omit": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", + "integrity": "sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg==" + }, + "node_modules/lodash.pick": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", + "integrity": "sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/maath": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/maath/-/maath-0.5.3.tgz", + "integrity": "sha512-ut63A4zTd9abtpi+sOHW1fPWPtAFrjK0E17eAthx1k93W/T2cWLKV5oaswyotJVDvvW1EXSdokAqhK5KOu0Qdw==", + "peerDependencies": { + "@types/three": ">=0.144.0", + "three": ">=0.144.0" + } + }, + "node_modules/magic-string": { + "version": "0.26.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.7.tgz", + "integrity": "sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==", + "dev": true, + "dependencies": { + "sourcemap-codec": "^1.4.8" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/meshline": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/meshline/-/meshline-3.1.6.tgz", + "integrity": "sha512-8JZJOdaL5oz3PI/upG8JvP/5FfzYUOhrkJ8np/WKvXzl0/PZ2V9pqTvCIjSKv+w9ccg2xb+yyBhXAwt6ier3ug==", + "peerDependencies": { + "three": ">=0.137" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mmd-parser": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mmd-parser/-/mmd-parser-1.0.4.tgz", + "integrity": "sha512-Qi0VCU46t2IwfGv5KF0+D/t9cizcDug7qnNoy9Ggk7aucp0tssV8IwTMkBlDbm+VqAf3cdQHTCARKSsuS2MYFg==" + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-releases": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", + "dev": true + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/opentype.js": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/opentype.js/-/opentype.js-1.3.4.tgz", + "integrity": "sha512-d2JE9RP/6uagpQAVtJoF0pJJA/fgai89Cc50Yp0EJHk+eLp6QQ7gBoblsnubRULNY132I0J1QKMJ+JTbMqz4sw==", + "dependencies": { + "string.prototype.codepointat": "^0.2.1", + "tiny-inflate": "^1.0.3" + }, + "bin": { + "ot": "bin/ot" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/postcss": { + "version": "8.4.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz", + "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/potpack": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/potpack/-/potpack-1.0.2.tgz", + "integrity": "sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==" + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-composer": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/react-composer/-/react-composer-5.0.3.tgz", + "integrity": "sha512-1uWd07EME6XZvMfapwZmc7NgCZqDemcvicRi3wMJzXsQLvZ3L7fTHVyPy1bZdnWXM4iPjYuNE+uJ41MLKeTtnA==", + "dependencies": { + "prop-types": "^15.6.0" + }, + "peerDependencies": { + "react": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/react-merge-refs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/react-merge-refs/-/react-merge-refs-1.1.0.tgz", + "integrity": "sha512-alTKsjEL0dKH/ru1Iyn7vliS2QRcBp9zZPGoWxUOvRGWPUYgjo+V01is7p04It6KhgrzhJGnIj9GgX8W4bZoCQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/react-reconciler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.27.0.tgz", + "integrity": "sha512-HmMDKciQjYmBRGuuhIaKA1ba/7a+UsM5FzOZsMO2JYHt9Jh8reCb7j1eDC95NOyUlKM9KRyvdx0flBuDvYSBoA==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.21.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, + "node_modules/react-reconciler/node_modules/scheduler": { + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.21.0.tgz", + "integrity": "sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/react-refresh": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-use-measure": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/react-use-measure/-/react-use-measure-2.1.1.tgz", + "integrity": "sha512-nocZhN26cproIiIduswYpV5y5lQpSQS1y/4KuvUCjSKmw7ZWIS/+g3aFnX3WdBkyuGUtTLif3UTqnLLhbDoQig==", + "dependencies": { + "debounce": "^1.2.1" + }, + "peerDependencies": { + "react": ">=16.13", + "react-dom": ">=16.13" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "node_modules/regexp-to-ast": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/regexp-to-ast/-/regexp-to-ast-0.5.0.tgz", + "integrity": "sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw==" + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dev": true, + "dependencies": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead", + "dev": true + }, + "node_modules/stats.js": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/stats.js/-/stats.js-0.17.0.tgz", + "integrity": "sha512-hNKz8phvYLPEcRkeG1rsGmV5ChMjKDAWU7/OJJdDErPBNChQXxCo3WZurGpnWc6gZhAzEPFad1aVgyOANH1sMw==" + }, + "node_modules/string.prototype.codepointat": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz", + "integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==" + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/suspend-react": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/suspend-react/-/suspend-react-0.0.8.tgz", + "integrity": "sha512-ZC3r8Hu1y0dIThzsGw0RLZplnX9yXwfItcvaIzJc2VQVi8TGyGDlu92syMB5ulybfvGLHAI5Ghzlk23UBPF8xg==", + "peerDependencies": { + "react": ">=17.0" + } + }, + "node_modules/three": { + "version": "0.151.3", + "resolved": "https://registry.npmjs.org/three/-/three-0.151.3.tgz", + "integrity": "sha512-+vbuqxFy8kzLeO5MgpBHUvP/EAiecaDwDuOPPDe6SbrZr96kccF0ktLngXc7xA7bzyd3N0t2f6mw3Z9y6JCojQ==" + }, + "node_modules/three-mesh-bvh": { + "version": "0.5.23", + "resolved": "https://registry.npmjs.org/three-mesh-bvh/-/three-mesh-bvh-0.5.23.tgz", + "integrity": "sha512-nyk+MskdyDgECqkxdv57UjazqqhrMi+Al9PxJN6yFtx1CTW4r0eCQ27FtyYKY5gCIWhxjtNfWYDPVy8lzx6LkA==", + "peerDependencies": { + "three": ">= 0.123.0" + } + }, + "node_modules/three-stdlib": { + "version": "2.21.8", + "resolved": "https://registry.npmjs.org/three-stdlib/-/three-stdlib-2.21.8.tgz", + "integrity": "sha512-kqisiKvO4mSy59v5vWqBQSH8famLxp7Z51LxpMJI9GwDxqODaW02rhIwmjYDEzZWNFpjZpoDHVGbdpeHf8h3SA==", + "dependencies": { + "@babel/runtime": "^7.16.7", + "@types/offscreencanvas": "^2019.6.4", + "@webgpu/glslang": "^0.0.15", + "chevrotain": "^10.1.2", + "draco3d": "^1.4.1", + "fflate": "^0.6.9", + "ktx-parse": "^0.4.5", + "mmd-parser": "^1.0.4", + "opentype.js": "^1.3.3", + "potpack": "^1.0.1", + "zstddec": "^0.0.2" + }, + "peerDependencies": { + "three": ">=0.122.0" + } + }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/troika-three-text": { + "version": "0.47.1", + "resolved": "https://registry.npmjs.org/troika-three-text/-/troika-three-text-0.47.1.tgz", + "integrity": "sha512-/fPRUmxCkXxyUT8k6REC/aWeFzKbNr37ivrkrplSJNb3JcBUXvVt8MT0Ac5wTUvFsYTviYWprYS4/8Laen08WA==", + "dependencies": { + "bidi-js": "^1.0.2", + "troika-three-utils": "^0.47.0", + "troika-worker-utils": "^0.47.0", + "webgl-sdf-generator": "1.1.1" + }, + "peerDependencies": { + "three": ">=0.125.0" + } + }, + "node_modules/troika-three-utils": { + "version": "0.47.0", + "resolved": "https://registry.npmjs.org/troika-three-utils/-/troika-three-utils-0.47.0.tgz", + "integrity": "sha512-yoVTQxVbpQX3a55giIwqwq6hyJA6oYvq7kaNGwFTeicoWmTZCqqTbytafx1gcuL5umrtw5MYgsxYUSOha+xp5w==", + "peerDependencies": { + "three": ">=0.125.0" + } + }, + "node_modules/troika-worker-utils": { + "version": "0.47.0", + "resolved": "https://registry.npmjs.org/troika-worker-utils/-/troika-worker-utils-0.47.0.tgz", + "integrity": "sha512-PSUc9vunDEkbE23jpgXD3PcF96jQHKjgMjS+4o5g6DEK/ZAPTnldb+FNddhppawfUcuraMFrslo0GmIC8UpEmA==" + }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/utility-types": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", + "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/vite": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-3.2.6.tgz", + "integrity": "sha512-nTXTxYVvaQNLoW5BQ8PNNQ3lPia57gzsQU/Khv+JvzKPku8kNZL6NMUR/qwXhMG6E+g1idqEPanomJ+VZgixEg==", + "dev": true, + "dependencies": { + "esbuild": "^0.15.9", + "postcss": "^8.4.18", + "resolve": "^1.22.1", + "rollup": "^2.79.1" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/webgl-constants": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/webgl-constants/-/webgl-constants-1.1.1.tgz", + "integrity": "sha512-LkBXKjU5r9vAW7Gcu3T5u+5cvSvh5WwINdr0C+9jpzVB41cjQAP5ePArDtk/WHYdVj0GefCgM73BA7FlIiNtdg==" + }, + "node_modules/webgl-sdf-generator": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/webgl-sdf-generator/-/webgl-sdf-generator-1.1.1.tgz", + "integrity": "sha512-9Z0JcMTFxeE+b2x1LJTdnaT8rT8aEp7MVxkNwoycNmJWwPdzoXzMh0BjJSh/AEFP+KPYZUli814h8bJZFIZ2jA==" + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/zstddec": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/zstddec/-/zstddec-0.0.2.tgz", + "integrity": "sha512-DCo0oxvcvOTGP/f5FA6tz2Z6wF+FIcEApSTu0zV5sQgn9hoT5lZ9YRAKUraxt9oP7l4e8TnNdi8IZTCX6WCkwA==" + }, + "node_modules/zustand": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-3.7.2.tgz", + "integrity": "sha512-PIJDIZKtokhof+9+60cpockVOq05sJzHCriyvaLBmEJixseQ1a5Kdov6fWZfWOu5SK9c+FhH1jU0tntLxRJYMA==", + "engines": { + "node": ">=12.7.0" + }, + "peerDependencies": { + "react": ">=16.8" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + } + } + } + }, + "dependencies": { + "@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", + "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/compat-data": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.4.tgz", + "integrity": "sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==", + "dev": true + }, + "@babel/core": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.4.tgz", + "integrity": "sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.4", + "@babel/helper-compilation-targets": "^7.21.4", + "@babel/helper-module-transforms": "^7.21.2", + "@babel/helpers": "^7.21.0", + "@babel/parser": "^7.21.4", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.4", + "@babel/types": "^7.21.4", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + } + }, + "@babel/generator": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.4.tgz", + "integrity": "sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==", + "dev": true, + "requires": { + "@babel/types": "^7.21.4", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz", + "integrity": "sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.21.4", + "@babel/helper-validator-option": "^7.21.0", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + } + }, + "@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true + }, + "@babel/helper-function-name": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "dev": true, + "requires": { + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-imports": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", + "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", + "dev": true, + "requires": { + "@babel/types": "^7.21.4" + } + }, + "@babel/helper-module-transforms": { + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", + "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.2", + "@babel/types": "^7.21.2" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "dev": true + }, + "@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "dev": true, + "requires": { + "@babel/types": "^7.20.2" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "dev": true + }, + "@babel/helpers": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", + "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", + "dev": true, + "requires": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0" + } + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz", + "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==", + "dev": true + }, + "@babel/plugin-syntax-jsx": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz", + "integrity": "sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.21.0.tgz", + "integrity": "sha512-6OAWljMvQrZjR2DaNhVfRz6dkCAVV+ymcLUmaf8bccGOHn2v5rHJK3tTpij0BuhdYWP4LLaqj5lwcdlpAAPuvg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-jsx": "^7.18.6", + "@babel/types": "^7.21.0" + } + }, + "@babel/plugin-transform-react-jsx-development": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz", + "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==", + "dev": true, + "requires": { + "@babel/plugin-transform-react-jsx": "^7.18.6" + } + }, + "@babel/plugin-transform-react-jsx-self": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.21.0.tgz", + "integrity": "sha512-f/Eq+79JEu+KUANFks9UZCcvydOOGMgF7jBrcwjHa5jTZD8JivnhCJYvmlhR/WTXBWonDExPoW0eO/CR4QJirA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-react-jsx-source": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz", + "integrity": "sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.19.0" + } + }, + "@babel/runtime": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", + "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", + "requires": { + "regenerator-runtime": "^0.13.11" + } + }, + "@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + } + }, + "@babel/traverse": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.4.tgz", + "integrity": "sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.4", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.21.4", + "@babel/types": "^7.21.4", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz", + "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + } + }, + "@chevrotain/cst-dts-gen": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-10.5.0.tgz", + "integrity": "sha512-lhmC/FyqQ2o7pGK4Om+hzuDrm9rhFYIJ/AXoQBeongmn870Xeb0L6oGEiuR8nohFNL5sMaQEJWCxr1oIVIVXrw==", + "requires": { + "@chevrotain/gast": "10.5.0", + "@chevrotain/types": "10.5.0", + "lodash": "4.17.21" + } + }, + "@chevrotain/gast": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/@chevrotain/gast/-/gast-10.5.0.tgz", + "integrity": "sha512-pXdMJ9XeDAbgOWKuD1Fldz4ieCs6+nLNmyVhe2gZVqoO7v8HXuHYs5OV2EzUtbuai37TlOAQHrTDvxMnvMJz3A==", + "requires": { + "@chevrotain/types": "10.5.0", + "lodash": "4.17.21" + } + }, + "@chevrotain/types": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-10.5.0.tgz", + "integrity": "sha512-f1MAia0x/pAVPWH/T73BJVyO2XU5tI4/iE7cnxb7tqdNTNhQI3Uq3XkqcoteTmD4t1aM0LbHCJOhgIDn07kl2A==" + }, + "@chevrotain/utils": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-10.5.0.tgz", + "integrity": "sha512-hBzuU5+JjB2cqNZyszkDHZgOSrUUT8V3dhgRl8Q9Gp6dAj/H5+KILGjbhDpc3Iy9qmqlm/akuOI2ut9VUtzJxQ==" + }, + "@esbuild/android-arm": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.18.tgz", + "integrity": "sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz", + "integrity": "sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==", + "dev": true, + "optional": true + }, + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + }, + "dependencies": { + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + } + } + }, + "@react-spring/animated": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@react-spring/animated/-/animated-9.6.1.tgz", + "integrity": "sha512-ls/rJBrAqiAYozjLo5EPPLLOb1LM0lNVQcXODTC1SMtS6DbuBCPaKco5svFUQFMP2dso3O+qcC4k9FsKc0KxMQ==", + "requires": { + "@react-spring/shared": "~9.6.1", + "@react-spring/types": "~9.6.1" + } + }, + "@react-spring/core": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@react-spring/core/-/core-9.6.1.tgz", + "integrity": "sha512-3HAAinAyCPessyQNNXe5W0OHzRfa8Yo5P748paPcmMowZ/4sMfaZ2ZB6e5x5khQI8NusOHj8nquoutd6FRY5WQ==", + "requires": { + "@react-spring/animated": "~9.6.1", + "@react-spring/rafz": "~9.6.1", + "@react-spring/shared": "~9.6.1", + "@react-spring/types": "~9.6.1" + } + }, + "@react-spring/rafz": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@react-spring/rafz/-/rafz-9.6.1.tgz", + "integrity": "sha512-v6qbgNRpztJFFfSE3e2W1Uz+g8KnIBs6SmzCzcVVF61GdGfGOuBrbjIcp+nUz301awVmREKi4eMQb2Ab2gGgyQ==" + }, + "@react-spring/shared": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@react-spring/shared/-/shared-9.6.1.tgz", + "integrity": "sha512-PBFBXabxFEuF8enNLkVqMC9h5uLRBo6GQhRMQT/nRTnemVENimgRd+0ZT4yFnAQ0AxWNiJfX3qux+bW2LbG6Bw==", + "requires": { + "@react-spring/rafz": "~9.6.1", + "@react-spring/types": "~9.6.1" + } + }, + "@react-spring/three": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@react-spring/three/-/three-9.6.1.tgz", + "integrity": "sha512-Tyw2YhZPKJAX3t2FcqvpLRb71CyTe1GvT3V+i+xJzfALgpk10uPGdGaQQ5Xrzmok1340DAeg2pR/MCfaW7b8AA==", + "requires": { + "@react-spring/animated": "~9.6.1", + "@react-spring/core": "~9.6.1", + "@react-spring/shared": "~9.6.1", + "@react-spring/types": "~9.6.1" + } + }, + "@react-spring/types": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@react-spring/types/-/types-9.6.1.tgz", + "integrity": "sha512-POu8Mk0hIU3lRXB3bGIGe4VHIwwDsQyoD1F394OK7STTiX9w4dG3cTLljjYswkQN+hDSHRrj4O36kuVa7KPU8Q==" + }, + "@react-three/drei": { + "version": "9.65.5", + "resolved": "https://registry.npmjs.org/@react-three/drei/-/drei-9.65.5.tgz", + "integrity": "sha512-zfT7MTqkK5AYU6Yhe3nJ5S0mV2+oRaXfbxU1KkHzTlipssInb5kHSYwG4Topl0n7aPVNiV4A25LgvELjCeWPvw==", + "requires": { + "@babel/runtime": "^7.11.2", + "@react-spring/three": "~9.6.1", + "@use-gesture/react": "^10.2.24", + "camera-controls": "^2.3.1", + "detect-gpu": "^5.0.14", + "glsl-noise": "^0.0.0", + "lodash.clamp": "^4.0.3", + "lodash.omit": "^4.5.0", + "lodash.pick": "^4.4.0", + "maath": "^0.5.2", + "meshline": "^3.1.6", + "react-composer": "^5.0.3", + "react-merge-refs": "^1.1.0", + "stats.js": "^0.17.0", + "suspend-react": "^0.0.8", + "three-mesh-bvh": "^0.5.23", + "three-stdlib": "^2.21.8", + "troika-three-text": "^0.47.1", + "utility-types": "^3.10.0", + "zustand": "^3.5.13" + } + }, + "@react-three/fiber": { + "version": "8.12.2", + "resolved": "https://registry.npmjs.org/@react-three/fiber/-/fiber-8.12.2.tgz", + "integrity": "sha512-CIjSK02ffXnT6q+/7HJ1JTX9dDS4N67OAs/yYYtUKK5qkO2WUFVt6ymQDAp7yLPRFA+frvYfAHSIIYwQ48dmDQ==", + "requires": { + "@babel/runtime": "^7.17.8", + "@types/react-reconciler": "^0.26.7", + "its-fine": "^1.0.6", + "react-reconciler": "^0.27.0", + "react-use-measure": "^2.1.1", + "scheduler": "^0.21.0", + "suspend-react": "^0.0.8", + "zustand": "^3.7.1" + }, + "dependencies": { + "scheduler": { + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.21.0.tgz", + "integrity": "sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ==", + "requires": { + "loose-envify": "^1.1.0" + } + } + } + }, + "@types/offscreencanvas": { + "version": "2019.7.0", + "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.7.0.tgz", + "integrity": "sha512-PGcyveRIpL1XIqK8eBsmRBt76eFgtzuPiSTyKHZxnGemp2yzGzWpjYKAfK3wIMiU7eH+851yEpiuP8JZerTmWg==" + }, + "@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + }, + "@types/react": { + "version": "18.0.38", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.38.tgz", + "integrity": "sha512-ExsidLLSzYj4cvaQjGnQCk4HFfVT9+EZ9XZsQ8Hsrcn8QNgXtpZ3m9vSIC2MWtx7jHictK6wYhQgGh6ic58oOw==", + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-dom": { + "version": "18.0.11", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.11.tgz", + "integrity": "sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==", + "dev": true, + "requires": { + "@types/react": "*" + } + }, + "@types/react-reconciler": { + "version": "0.26.7", + "resolved": "https://registry.npmjs.org/@types/react-reconciler/-/react-reconciler-0.26.7.tgz", + "integrity": "sha512-mBDYl8x+oyPX/VBb3E638N0B7xG+SPk/EAMcVPeexqus/5aTpTphQi0curhhshOqRrc9t6OPoJfEUkbymse/lQ==", + "requires": { + "@types/react": "*" + } + }, + "@types/scheduler": { + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", + "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" + }, + "@types/stats.js": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.0.tgz", + "integrity": "sha512-9w+a7bR8PeB0dCT/HBULU2fMqf6BAzvKbxFboYhmDtDkKPiyXYbjoe2auwsXlEFI7CFNMF1dCv3dFH5Poy9R1w==", + "peer": true + }, + "@types/three": { + "version": "0.150.2", + "resolved": "https://registry.npmjs.org/@types/three/-/three-0.150.2.tgz", + "integrity": "sha512-cvcz/81Mmj4oiAA+uxzwaRK3t8lYw8WxejXKqIBfu6PqvwSAEEiCi3VfCiVY18UflBqL0LDX/za85+sfqjMoIw==", + "peer": true, + "requires": { + "@types/stats.js": "*", + "@types/webxr": "*", + "fflate": "~0.6.9", + "lil-gui": "~0.17.0" + } + }, + "@types/webxr": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.1.tgz", + "integrity": "sha512-xlFXPfgJR5vIuDefhaHuUM9uUgvPaXB6GKdXy2gdEh8gBWQZ2ul24AJz3foUd8NNKlSTQuWYJpCb1/pL81m1KQ==", + "peer": true + }, + "@use-gesture/core": { + "version": "10.2.26", + "resolved": "https://registry.npmjs.org/@use-gesture/core/-/core-10.2.26.tgz", + "integrity": "sha512-NyFpQ3iID9iFBROXyyvU1D0NK+t+dP+WAVByhCvqHUenpxLD2NlRLVRpoK3XGGwksr6mU3PvZ2Nm4q0q+gLJPA==" + }, + "@use-gesture/react": { + "version": "10.2.26", + "resolved": "https://registry.npmjs.org/@use-gesture/react/-/react-10.2.26.tgz", + "integrity": "sha512-0QhaE5mhaQbFlip4MX7n1nwCX8gax6Da1LsP2fZ/BU6xW9zyEmV6NX7DPelDxq1rr2NiBJh30vx9RIp80YeA/A==", + "requires": { + "@use-gesture/core": "10.2.26" + } + }, + "@vitejs/plugin-react": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-2.2.0.tgz", + "integrity": "sha512-FFpefhvExd1toVRlokZgxgy2JtnBOdp4ZDsq7ldCWaqGSGn9UhWMAVm/1lxPL14JfNS5yGz+s9yFrQY6shoStA==", + "dev": true, + "requires": { + "@babel/core": "^7.19.6", + "@babel/plugin-transform-react-jsx": "^7.19.0", + "@babel/plugin-transform-react-jsx-development": "^7.18.6", + "@babel/plugin-transform-react-jsx-self": "^7.18.6", + "@babel/plugin-transform-react-jsx-source": "^7.19.6", + "magic-string": "^0.26.7", + "react-refresh": "^0.14.0" + } + }, + "@webgpu/glslang": { + "version": "0.0.15", + "resolved": "https://registry.npmjs.org/@webgpu/glslang/-/glslang-0.0.15.tgz", + "integrity": "sha512-niT+Prh3Aff8Uf1MVBVUsaNjFj9rJAKDXuoHIKiQbB+6IUP/3J3JIhBNyZ7lDhytvXxw6ppgnwKZdDJ08UMj4Q==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "axios": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.3.6.tgz", + "integrity": "sha512-PEcdkk7JcdPiMDkvM4K6ZBRYq9keuVJsToxm2zQIM70Qqo2WHTdJZMXcG9X+RmRp2VPNUQC8W1RAGbgt6b1yMg==", + "requires": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "bidi-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.2.tgz", + "integrity": "sha512-rzSy/k7WdX5zOyeHHCOixGXbCHkyogkxPKL2r8QtzHmVQDiWCXUWa18bLdMWT9CYMLOYTjWpTHawuev2ouYJVw==", + "requires": { + "require-from-string": "^2.0.2" + } + }, + "browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + } + }, + "camera-controls": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/camera-controls/-/camera-controls-2.3.4.tgz", + "integrity": "sha512-swhc87YVHf9te0glBI7Oa/QBgsSCL4ZxtoR4V3vE6l7mEebsYRNL8y7Y2m2E6MrT0UTphM1S7mQqs0Sp7QTZ2g==", + "requires": {} + }, + "caniuse-lite": { + "version": "1.0.30001481", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001481.tgz", + "integrity": "sha512-KCqHwRnaa1InZBtqXzP98LPg0ajCVujMKjqKDhZEthIpAsJl/YEIa3YvXjGXPVqzZVguccuu7ga9KOE1J9rKPQ==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chevrotain": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-10.5.0.tgz", + "integrity": "sha512-Pkv5rBY3+CsHOYfV5g/Vs5JY9WTHHDEKOlohI2XeygaZhUeqhAlldZ8Hz9cRmxu709bvS08YzxHdTPHhffc13A==", + "requires": { + "@chevrotain/cst-dts-gen": "10.5.0", + "@chevrotain/gast": "10.5.0", + "@chevrotain/types": "10.5.0", + "@chevrotain/utils": "10.5.0", + "lodash": "4.17.21", + "regexp-to-ast": "0.5.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, + "debounce": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==" + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, + "detect-gpu": { + "version": "5.0.21", + "resolved": "https://registry.npmjs.org/detect-gpu/-/detect-gpu-5.0.21.tgz", + "integrity": "sha512-Dcf+4zxB3/4+7nVje3zQffJ3ksS7DiUztlNR0jC4AUF8FTBTeKWoIRxRAq4dGaRft8hEadUIDbjZbiKhCFo/Bw==", + "requires": { + "webgl-constants": "^1.1.1" + } + }, + "draco3d": { + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/draco3d/-/draco3d-1.5.6.tgz", + "integrity": "sha512-+3NaRjWktb5r61ZFoDejlykPEFKT5N/LkbXsaddlw6xNSXBanUYpFc2AXXpbJDilPHazcSreU/DpQIaxfX0NfQ==" + }, + "electron-to-chromium": { + "version": "1.4.369", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.369.tgz", + "integrity": "sha512-LfxbHXdA/S+qyoTEA4EbhxGjrxx7WK2h6yb5K2v0UCOufUKX+VZaHbl3svlzZfv9sGseym/g3Ne4DpsgRULmqg==", + "dev": true + }, + "esbuild": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.18.tgz", + "integrity": "sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==", + "dev": true, + "requires": { + "@esbuild/android-arm": "0.15.18", + "@esbuild/linux-loong64": "0.15.18", + "esbuild-android-64": "0.15.18", + "esbuild-android-arm64": "0.15.18", + "esbuild-darwin-64": "0.15.18", + "esbuild-darwin-arm64": "0.15.18", + "esbuild-freebsd-64": "0.15.18", + "esbuild-freebsd-arm64": "0.15.18", + "esbuild-linux-32": "0.15.18", + "esbuild-linux-64": "0.15.18", + "esbuild-linux-arm": "0.15.18", + "esbuild-linux-arm64": "0.15.18", + "esbuild-linux-mips64le": "0.15.18", + "esbuild-linux-ppc64le": "0.15.18", + "esbuild-linux-riscv64": "0.15.18", + "esbuild-linux-s390x": "0.15.18", + "esbuild-netbsd-64": "0.15.18", + "esbuild-openbsd-64": "0.15.18", + "esbuild-sunos-64": "0.15.18", + "esbuild-windows-32": "0.15.18", + "esbuild-windows-64": "0.15.18", + "esbuild-windows-arm64": "0.15.18" + } + }, + "esbuild-android-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz", + "integrity": "sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==", + "dev": true, + "optional": true + }, + "esbuild-android-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz", + "integrity": "sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==", + "dev": true, + "optional": true + }, + "esbuild-darwin-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz", + "integrity": "sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==", + "dev": true, + "optional": true + }, + "esbuild-darwin-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz", + "integrity": "sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==", + "dev": true, + "optional": true + }, + "esbuild-freebsd-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz", + "integrity": "sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==", + "dev": true, + "optional": true + }, + "esbuild-freebsd-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz", + "integrity": "sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==", + "dev": true, + "optional": true + }, + "esbuild-linux-32": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz", + "integrity": "sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==", + "dev": true, + "optional": true + }, + "esbuild-linux-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz", + "integrity": "sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==", + "dev": true, + "optional": true + }, + "esbuild-linux-arm": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz", + "integrity": "sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==", + "dev": true, + "optional": true + }, + "esbuild-linux-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz", + "integrity": "sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==", + "dev": true, + "optional": true + }, + "esbuild-linux-mips64le": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz", + "integrity": "sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==", + "dev": true, + "optional": true + }, + "esbuild-linux-ppc64le": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz", + "integrity": "sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==", + "dev": true, + "optional": true + }, + "esbuild-linux-riscv64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz", + "integrity": "sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==", + "dev": true, + "optional": true + }, + "esbuild-linux-s390x": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz", + "integrity": "sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==", + "dev": true, + "optional": true + }, + "esbuild-netbsd-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz", + "integrity": "sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==", + "dev": true, + "optional": true + }, + "esbuild-openbsd-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz", + "integrity": "sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==", + "dev": true, + "optional": true + }, + "esbuild-sunos-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz", + "integrity": "sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==", + "dev": true, + "optional": true + }, + "esbuild-windows-32": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz", + "integrity": "sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==", + "dev": true, + "optional": true + }, + "esbuild-windows-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz", + "integrity": "sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==", + "dev": true, + "optional": true + }, + "esbuild-windows-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz", + "integrity": "sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==", + "dev": true, + "optional": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "fflate": { + "version": "0.6.10", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.6.10.tgz", + "integrity": "sha512-IQrh3lEPM93wVCEczc9SaAOvkmcoQn/G8Bo1e8ZPlY3X3bnAxWaBdvTdvM1hP62iZp0BXWDy4vTAy4fF0+Dlpg==" + }, + "follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "glsl-noise": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/glsl-noise/-/glsl-noise-0.0.0.tgz", + "integrity": "sha512-b/ZCF6amfAUb7dJM/MxRs7AetQEahYzJ8PtgfrmEdtw6uyGOr+ZSGtgjFm6mfsBkxJ4d2W7kg+Nlqzqvn3Bc0w==" + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "is-core-module": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz", + "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "its-fine": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/its-fine/-/its-fine-1.1.0.tgz", + "integrity": "sha512-nEoEt5EYSed1mmvwCRv3l1+6T7pyu4ltyBihzPjUtaSWhFhUPU/c7xkPDIutTh8FeIv0F1F5wOFYI8a2s5rlBA==", + "requires": { + "@types/react-reconciler": "^0.28.0" + }, + "dependencies": { + "@types/react-reconciler": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@types/react-reconciler/-/react-reconciler-0.28.2.tgz", + "integrity": "sha512-8tu6lHzEgYPlfDf/J6GOQdIc+gs+S2yAqlby3zTsB3SP2svlqTYe5fwZNtZyfactP74ShooP2vvi1BOp9ZemWw==", + "requires": { + "@types/react": "*" + } + } + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "ktx-parse": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/ktx-parse/-/ktx-parse-0.4.5.tgz", + "integrity": "sha512-MK3FOody4TXbFf8Yqv7EBbySw7aPvEcPX++Ipt6Sox+/YMFvR5xaTyhfNSk1AEmMy+RYIw81ctN4IMxCB8OAlg==" + }, + "lil-gui": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/lil-gui/-/lil-gui-0.17.0.tgz", + "integrity": "sha512-MVBHmgY+uEbmJNApAaPbtvNh1RCAeMnKym82SBjtp5rODTYKWtM+MXHCifLe2H2Ti1HuBGBtK/5SyG4ShQ3pUQ==", + "peer": true + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash.clamp": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/lodash.clamp/-/lodash.clamp-4.0.3.tgz", + "integrity": "sha512-HvzRFWjtcguTW7yd8NJBshuNaCa8aqNFtnswdT7f/cMd/1YKy5Zzoq4W/Oxvnx9l7aeY258uSdDfM793+eLsVg==" + }, + "lodash.omit": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", + "integrity": "sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg==" + }, + "lodash.pick": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", + "integrity": "sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==" + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "maath": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/maath/-/maath-0.5.3.tgz", + "integrity": "sha512-ut63A4zTd9abtpi+sOHW1fPWPtAFrjK0E17eAthx1k93W/T2cWLKV5oaswyotJVDvvW1EXSdokAqhK5KOu0Qdw==", + "requires": {} + }, + "magic-string": { + "version": "0.26.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.7.tgz", + "integrity": "sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.8" + } + }, + "meshline": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/meshline/-/meshline-3.1.6.tgz", + "integrity": "sha512-8JZJOdaL5oz3PI/upG8JvP/5FfzYUOhrkJ8np/WKvXzl0/PZ2V9pqTvCIjSKv+w9ccg2xb+yyBhXAwt6ier3ug==", + "requires": {} + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "mmd-parser": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mmd-parser/-/mmd-parser-1.0.4.tgz", + "integrity": "sha512-Qi0VCU46t2IwfGv5KF0+D/t9cizcDug7qnNoy9Ggk7aucp0tssV8IwTMkBlDbm+VqAf3cdQHTCARKSsuS2MYFg==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "dev": true + }, + "node-releases": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + }, + "opentype.js": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/opentype.js/-/opentype.js-1.3.4.tgz", + "integrity": "sha512-d2JE9RP/6uagpQAVtJoF0pJJA/fgai89Cc50Yp0EJHk+eLp6QQ7gBoblsnubRULNY132I0J1QKMJ+JTbMqz4sw==", + "requires": { + "string.prototype.codepointat": "^0.2.1", + "tiny-inflate": "^1.0.3" + } + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "postcss": { + "version": "8.4.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz", + "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==", + "dev": true, + "requires": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "potpack": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/potpack/-/potpack-1.0.2.tgz", + "integrity": "sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==" + }, + "prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "react-composer": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/react-composer/-/react-composer-5.0.3.tgz", + "integrity": "sha512-1uWd07EME6XZvMfapwZmc7NgCZqDemcvicRi3wMJzXsQLvZ3L7fTHVyPy1bZdnWXM4iPjYuNE+uJ41MLKeTtnA==", + "requires": { + "prop-types": "^15.6.0" + } + }, + "react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "requires": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + } + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "react-merge-refs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/react-merge-refs/-/react-merge-refs-1.1.0.tgz", + "integrity": "sha512-alTKsjEL0dKH/ru1Iyn7vliS2QRcBp9zZPGoWxUOvRGWPUYgjo+V01is7p04It6KhgrzhJGnIj9GgX8W4bZoCQ==" + }, + "react-reconciler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.27.0.tgz", + "integrity": "sha512-HmMDKciQjYmBRGuuhIaKA1ba/7a+UsM5FzOZsMO2JYHt9Jh8reCb7j1eDC95NOyUlKM9KRyvdx0flBuDvYSBoA==", + "requires": { + "loose-envify": "^1.1.0", + "scheduler": "^0.21.0" + }, + "dependencies": { + "scheduler": { + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.21.0.tgz", + "integrity": "sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ==", + "requires": { + "loose-envify": "^1.1.0" + } + } + } + }, + "react-refresh": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", + "dev": true + }, + "react-use-measure": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/react-use-measure/-/react-use-measure-2.1.1.tgz", + "integrity": "sha512-nocZhN26cproIiIduswYpV5y5lQpSQS1y/4KuvUCjSKmw7ZWIS/+g3aFnX3WdBkyuGUtTLif3UTqnLLhbDoQig==", + "requires": { + "debounce": "^1.2.1" + } + }, + "regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "regexp-to-ast": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/regexp-to-ast/-/regexp-to-ast-0.5.0.tgz", + "integrity": "sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw==" + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + }, + "resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dev": true, + "requires": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "dev": true, + "requires": { + "fsevents": "~2.3.2" + } + }, + "scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true + }, + "stats.js": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/stats.js/-/stats.js-0.17.0.tgz", + "integrity": "sha512-hNKz8phvYLPEcRkeG1rsGmV5ChMjKDAWU7/OJJdDErPBNChQXxCo3WZurGpnWc6gZhAzEPFad1aVgyOANH1sMw==" + }, + "string.prototype.codepointat": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz", + "integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "suspend-react": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/suspend-react/-/suspend-react-0.0.8.tgz", + "integrity": "sha512-ZC3r8Hu1y0dIThzsGw0RLZplnX9yXwfItcvaIzJc2VQVi8TGyGDlu92syMB5ulybfvGLHAI5Ghzlk23UBPF8xg==", + "requires": {} + }, + "three": { + "version": "0.151.3", + "resolved": "https://registry.npmjs.org/three/-/three-0.151.3.tgz", + "integrity": "sha512-+vbuqxFy8kzLeO5MgpBHUvP/EAiecaDwDuOPPDe6SbrZr96kccF0ktLngXc7xA7bzyd3N0t2f6mw3Z9y6JCojQ==" + }, + "three-mesh-bvh": { + "version": "0.5.23", + "resolved": "https://registry.npmjs.org/three-mesh-bvh/-/three-mesh-bvh-0.5.23.tgz", + "integrity": "sha512-nyk+MskdyDgECqkxdv57UjazqqhrMi+Al9PxJN6yFtx1CTW4r0eCQ27FtyYKY5gCIWhxjtNfWYDPVy8lzx6LkA==", + "requires": {} + }, + "three-stdlib": { + "version": "2.21.8", + "resolved": "https://registry.npmjs.org/three-stdlib/-/three-stdlib-2.21.8.tgz", + "integrity": "sha512-kqisiKvO4mSy59v5vWqBQSH8famLxp7Z51LxpMJI9GwDxqODaW02rhIwmjYDEzZWNFpjZpoDHVGbdpeHf8h3SA==", + "requires": { + "@babel/runtime": "^7.16.7", + "@types/offscreencanvas": "^2019.6.4", + "@webgpu/glslang": "^0.0.15", + "chevrotain": "^10.1.2", + "draco3d": "^1.4.1", + "fflate": "^0.6.9", + "ktx-parse": "^0.4.5", + "mmd-parser": "^1.0.4", + "opentype.js": "^1.3.3", + "potpack": "^1.0.1", + "zstddec": "^0.0.2" + } + }, + "tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==" + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true + }, + "troika-three-text": { + "version": "0.47.1", + "resolved": "https://registry.npmjs.org/troika-three-text/-/troika-three-text-0.47.1.tgz", + "integrity": "sha512-/fPRUmxCkXxyUT8k6REC/aWeFzKbNr37ivrkrplSJNb3JcBUXvVt8MT0Ac5wTUvFsYTviYWprYS4/8Laen08WA==", + "requires": { + "bidi-js": "^1.0.2", + "troika-three-utils": "^0.47.0", + "troika-worker-utils": "^0.47.0", + "webgl-sdf-generator": "1.1.1" + } + }, + "troika-three-utils": { + "version": "0.47.0", + "resolved": "https://registry.npmjs.org/troika-three-utils/-/troika-three-utils-0.47.0.tgz", + "integrity": "sha512-yoVTQxVbpQX3a55giIwqwq6hyJA6oYvq7kaNGwFTeicoWmTZCqqTbytafx1gcuL5umrtw5MYgsxYUSOha+xp5w==", + "requires": {} + }, + "troika-worker-utils": { + "version": "0.47.0", + "resolved": "https://registry.npmjs.org/troika-worker-utils/-/troika-worker-utils-0.47.0.tgz", + "integrity": "sha512-PSUc9vunDEkbE23jpgXD3PcF96jQHKjgMjS+4o5g6DEK/ZAPTnldb+FNddhppawfUcuraMFrslo0GmIC8UpEmA==" + }, + "typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "dev": true + }, + "update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "utility-types": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", + "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==" + }, + "vite": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-3.2.6.tgz", + "integrity": "sha512-nTXTxYVvaQNLoW5BQ8PNNQ3lPia57gzsQU/Khv+JvzKPku8kNZL6NMUR/qwXhMG6E+g1idqEPanomJ+VZgixEg==", + "dev": true, + "requires": { + "esbuild": "^0.15.9", + "fsevents": "~2.3.2", + "postcss": "^8.4.18", + "resolve": "^1.22.1", + "rollup": "^2.79.1" + } + }, + "webgl-constants": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/webgl-constants/-/webgl-constants-1.1.1.tgz", + "integrity": "sha512-LkBXKjU5r9vAW7Gcu3T5u+5cvSvh5WwINdr0C+9jpzVB41cjQAP5ePArDtk/WHYdVj0GefCgM73BA7FlIiNtdg==" + }, + "webgl-sdf-generator": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/webgl-sdf-generator/-/webgl-sdf-generator-1.1.1.tgz", + "integrity": "sha512-9Z0JcMTFxeE+b2x1LJTdnaT8rT8aEp7MVxkNwoycNmJWwPdzoXzMh0BjJSh/AEFP+KPYZUli814h8bJZFIZ2jA==" + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "zstddec": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/zstddec/-/zstddec-0.0.2.tgz", + "integrity": "sha512-DCo0oxvcvOTGP/f5FA6tz2Z6wF+FIcEApSTu0zV5sQgn9hoT5lZ9YRAKUraxt9oP7l4e8TnNdi8IZTCX6WCkwA==" + }, + "zustand": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-3.7.2.tgz", + "integrity": "sha512-PIJDIZKtokhof+9+60cpockVOq05sJzHCriyvaLBmEJixseQ1a5Kdov6fWZfWOu5SK9c+FhH1jU0tntLxRJYMA==", + "requires": {} + } + } +} diff --git a/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/package.json b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/package.json new file mode 100644 index 000000000..990ed625c --- /dev/null +++ b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/package.json @@ -0,0 +1,26 @@ +{ + "name": "gizmo", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "preview": "vite preview" + }, + "dependencies": { + "@react-three/drei": "^9.65.5", + "@react-three/fiber": "^8.12.2", + "axios": "^1.3.6", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "three": "^0.151.3" + }, + "devDependencies": { + "@types/react": "^18.0.22", + "@types/react-dom": "^18.0.7", + "@vitejs/plugin-react": "^2.2.0", + "typescript": "^4.6.4", + "vite": "^3.2.0" + } +} diff --git a/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/src/App.tsx b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/src/App.tsx new file mode 100644 index 000000000..4abe0320f --- /dev/null +++ b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/src/App.tsx @@ -0,0 +1,11 @@ +import { ThreeComponent } from "./components/ThreeComponent"; + +function App() { + return ( +
+ +
+ ); +} + +export default App; diff --git a/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/src/components/CameraComponent.tsx b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/src/components/CameraComponent.tsx new file mode 100644 index 000000000..087a0c843 --- /dev/null +++ b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/src/components/CameraComponent.tsx @@ -0,0 +1,34 @@ +import { PerspectiveCamera } from "@react-three/drei"; +import { useNuiEvent } from "../nui-events"; +import { useThree } from "@react-three/fiber"; +import { MathUtils } from "three"; + +export const CameraComponent = () => { + const { camera } = useThree(); + + const zRotationHandler = (t: number, e: number) => { + return t > 0 && t < 90 ? e : (t > -180 && t < -90) || t > 0 ? -e : e; + }; + + useNuiEvent("setCameraPosition", ({ position, rotation }: any) => { + camera.position.set(position.x, position.z, -position.y); + camera.rotation.order = "YZX"; + + rotation && + camera.rotation.set( + MathUtils.degToRad(rotation.x), + MathUtils.degToRad(zRotationHandler(rotation.x, rotation.z)), + MathUtils.degToRad(rotation.y) + ); + + camera.updateProjectionMatrix(); + }); + + return ( + self.updateProjectionMatrix()} + /> + ); +}; diff --git a/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/src/components/ThreeComponent.tsx b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/src/components/ThreeComponent.tsx new file mode 100644 index 000000000..ac32e9b33 --- /dev/null +++ b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/src/components/ThreeComponent.tsx @@ -0,0 +1,12 @@ +import { Canvas } from "@react-three/fiber"; +import { CameraComponent } from "./CameraComponent"; +import { TransformComponent } from "./TransformComponent"; + +export const ThreeComponent = () => { + return ( + + + + + ); +}; diff --git a/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/src/components/TransformComponent.tsx b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/src/components/TransformComponent.tsx new file mode 100644 index 000000000..3dfcbc5af --- /dev/null +++ b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/src/components/TransformComponent.tsx @@ -0,0 +1,91 @@ +import { Suspense, useRef, useState, useEffect } from "react"; +import { TransformControls } from "@react-three/drei"; +import { useNuiEvent, fetchNui } from "../nui-events"; +import { Mesh, MathUtils } from "three"; + +export const TransformComponent = () => { + const mesh = useRef(null!); + const [currentEntity, setCurrentEntity] = useState(); + const [editorMode, setEditorMode] = useState< + "translate" | "rotate" | undefined + >("translate"); + + const handleObjectDataUpdate = () => { + const entity = { + handle: currentEntity, + position: { + x: mesh.current.position.x, + y: -mesh.current.position.z, + z: mesh.current.position.y, + }, + rotation: { + x: MathUtils.radToDeg(mesh.current.rotation.x), + y: MathUtils.radToDeg(-mesh.current.rotation.z), + z: MathUtils.radToDeg(mesh.current.rotation.y), + }, + }; + fetchNui("moveEntity", entity); + }; + + useNuiEvent("setGizmoEntity", (entity: any) => { + setCurrentEntity(entity.handle); + if (!entity.handle) { + return; + } + + mesh.current.position.set( + entity.position.x, + entity.position.z, + -entity.position.y + ); + mesh.current.rotation.order = "YZX"; + mesh.current.rotation.set( + MathUtils.degToRad(entity.rotation.x), + MathUtils.degToRad(entity.rotation.z), + MathUtils.degToRad(entity.rotation.y) + ); + }); + + useEffect(() => { + const keyHandler = (e: KeyboardEvent) => { + switch (e.code) { + case "KeyR": + if (editorMode == "rotate") return; + setEditorMode("rotate"); + fetchNui("swapMode", { mode: "Rotate" }); + break; + case "KeyW": + if (editorMode == "translate") return; + setEditorMode("translate"); + fetchNui("swapMode", { mode: "Translate" }); + break; + case "Escape": + fetchNui("finishEdit"); + break; + case "KeyQ": + fetchNui("cam"); + break; + default: + break; + } + }; + window.addEventListener("keyup", keyHandler); + return () => window.removeEventListener("keyup", keyHandler); + }); + + return ( + <> + Loading Gizmo

}> + {currentEntity != null && ( + + )} + +
+ + ); +}; diff --git a/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/src/index.css b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/src/index.css new file mode 100644 index 000000000..022306f69 --- /dev/null +++ b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/src/index.css @@ -0,0 +1,3 @@ +body { + overflow: hidden; +} diff --git a/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/src/main.tsx b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/src/main.tsx new file mode 100644 index 000000000..3c9d367c9 --- /dev/null +++ b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/src/main.tsx @@ -0,0 +1,7 @@ +import ReactDOM from "react-dom/client"; +import App from "./App"; +import "./index.css"; + +ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render( + +); diff --git a/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/src/nui-events.ts b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/src/nui-events.ts new file mode 100644 index 000000000..ca053a38a --- /dev/null +++ b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/src/nui-events.ts @@ -0,0 +1,57 @@ +import { MutableRefObject, useEffect, useRef } from "react"; + +const isEnvBrowser = (): boolean => !(window as any).invokeNative + +interface NuiMessageData { + action: string; + data: T; +} + +type NuiHandlerSignature = (data: T) => void; + +export const useNuiEvent = ( + action: string, + handler: (data: T) => void +) => { + const savedHandler: MutableRefObject> = useRef(() => {}); + + useEffect(() => { + savedHandler.current = handler; + }, [handler]); + + useEffect(() => { + const eventListener = (event: MessageEvent>) => { + const { action: eventAction, data } = event.data; + + if (savedHandler.current) { + if (eventAction === action) { + savedHandler.current(data); + } + } + }; + + window.addEventListener("message", eventListener); + + return () => window.removeEventListener("message", eventListener); + }, [action]); +}; + +export async function fetchNui(eventName: string, data?: any, mockData?: T): Promise { + const options = { + method: 'post', + headers: { + 'Content-Type': 'application/json; charset=UTF-8', + }, + body: JSON.stringify(data), + }; + + if (isEnvBrowser() && mockData) return mockData; + + const resourceName = (window as any).GetParentResourceName ? (window as any).GetParentResourceName() : 'nui-frame-app'; + + const resp = await fetch(`https://${resourceName}/${eventName}`, options); + + const respFormatted = await resp.json() + + return respFormatted +} \ No newline at end of file diff --git a/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/src/vite-env.d.ts b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/src/vite-env.d.ts new file mode 100644 index 000000000..11f02fe2a --- /dev/null +++ b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/tsconfig.json b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/tsconfig.json new file mode 100644 index 000000000..3d0a51a86 --- /dev/null +++ b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "target": "ESNext", + "useDefineForClassFields": true, + "lib": ["DOM", "DOM.Iterable", "ESNext"], + "allowJs": false, + "skipLibCheck": true, + "esModuleInterop": false, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "module": "ESNext", + "moduleResolution": "Node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx" + }, + "include": ["src"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/tsconfig.node.json b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/tsconfig.node.json new file mode 100644 index 000000000..9d31e2aed --- /dev/null +++ b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/tsconfig.node.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "composite": true, + "module": "ESNext", + "moduleResolution": "Node", + "allowSyntheticDefaultImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/vite.config.ts b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/vite.config.ts new file mode 100644 index 000000000..b42a8c34d --- /dev/null +++ b/resources/[tools]/tgiann-attachproptoplayereditor/tgiann-attachproptoplayereditor/web/vite.config.ts @@ -0,0 +1,8 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' + +// https://vitejs.dev/config/ +export default defineConfig({ + base: "./", + plugins: [react()] +})

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 SmJ*|NfH>lhK3H`CL-`M0Qy-xK literal 0 HcmV?d00001 diff --git a/resources/[inventory]/inventory_images/images/pack_ecola.png b/resources/[inventory]/inventory_images/images/pack_ecola.png new file mode 100644 index 0000000000000000000000000000000000000000..fa6c37fc23f04c56c5102bc6e66dad7209a45443 GIT binary patch literal 553649 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%0A8I-sX*PO%i18~k$QovOXEy*KDTzi#z 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