You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4140 lines
1.3 MiB
4140 lines
1.3 MiB
(self.webpackChunk=self.webpackChunk||[]).push([[1487],{40001:function(nt,Pe,z){"use strict";z.d(Pe,{Z:function(){return m}});var N=z(54476),K=z(59301),O={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 00-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"}}]},name:"check",theme:"outlined"},E=O,M=z(85221),A=function(g,c){return K.createElement(M.Z,(0,N.Z)({},g,{ref:c,icon:E}))},_=K.forwardRef(A),m=_},84105:function(nt,Pe,z){"use strict";z.d(Pe,{Z:function(){return m}});var N=z(54476),K=z(59301),O={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"}}]},name:"down",theme:"outlined"},E=O,M=z(85221),A=function(g,c){return K.createElement(M.Z,(0,N.Z)({},g,{ref:c,icon:E}))},_=K.forwardRef(A),m=_},18785:function(nt,Pe,z){"use strict";z.d(Pe,{Z:function(){return m}});var N=z(54476),K=z(59301),O={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M176 511a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"ellipsis",theme:"outlined"},E=O,M=z(85221),A=function(g,c){return K.createElement(M.Z,(0,N.Z)({},g,{ref:c,icon:E}))},_=K.forwardRef(A),m=_},73331:function(nt,Pe,z){"use strict";z.d(Pe,{Z:function(){return m}});var N=z(54476),K=z(59301),O={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 000-51.5zm-63.57-320.64L836 122.88a8 8 0 00-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 000 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 000 11.31L155.17 889a8 8 0 0011.31 0l712.15-712.12a8 8 0 000-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 00-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 01146.2-106.69L401.31 546.2A112 112 0 01396 512z"}},{tag:"path",attrs:{d:"M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 00227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 01-112 112z"}}]},name:"eye-invisible",theme:"outlined"},E=O,M=z(85221),A=function(g,c){return K.createElement(M.Z,(0,N.Z)({},g,{ref:c,icon:E}))},_=K.forwardRef(A),m=_},15277:function(nt,Pe,z){"use strict";z.d(Pe,{Z:function(){return m}});var N=z(54476),K=z(59301),O={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z"}}]},name:"eye",theme:"outlined"},E=O,M=z(85221),A=function(g,c){return K.createElement(M.Z,(0,N.Z)({},g,{ref:c,icon:E}))},_=K.forwardRef(A),m=_},33853:function(nt,Pe,z){"use strict";z.d(Pe,{Z:function(){return m}});var N=z(54476),K=z(59301),O={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"}}]},name:"left",theme:"outlined"},E=O,M=z(85221),A=function(g,c){return K.createElement(M.Z,(0,N.Z)({},g,{ref:c,icon:E}))},_=K.forwardRef(A),m=_},38819:function(nt,Pe,z){"use strict";z.d(Pe,{Z:function(){return m}});var N=z(54476),K=z(59301),O={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"}}]},name:"right",theme:"outlined"},E=O,M=z(85221),A=function(g,c){return K.createElement(M.Z,(0,N.Z)({},g,{ref:c,icon:E}))},_=K.forwardRef(A),m=_},47472:function(nt,Pe,z){"use strict";z.d(Pe,{Z:function(){return m}});var N=z(54476),K=z(59301),O={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z"}}]},name:"search",theme:"outlined"},E=O,M=z(85221),A=function(g,c){return K.createElement(M.Z,(0,N.Z)({},g,{ref:c,icon:E}))},_=K.forwardRef(A),m=_},17215:function(nt,Pe,z){"use strict";z.d(Pe,{Z:function(){return n}});var N=z(59301),K=z(8591),O=z(38854),E=z(77493),M=z(16471),A=z(4138),_=z(56102),m=z(47233),x={watermark:"watermark___hNYlv",videovideo:"videovideo___ovOkV",animate__loop:"animate__loop___mvL6s",upDown:"upDown___SlgHv",container:"container___g1WYG","video-container":"video-container___XPkWR","video-controls":"video-controls___to0Zq",hide:"hide___NA3DV","video-progress":"video-progress___gqHsd",seek:"seek___iZHBm","seek-tooltip":"seek-tooltip___uWyXx","bottom-controls":"bottom-controls___uoIBm","left-controls":"left-controls___mBEx4","right-controls":"right-controls___e9L6r",rateOverlay:"rateOverlay___HHBWe",controlText:"controlText___M_BWR","volume-controls":"volume-controls___fa3mE","fullscreen-button":"fullscreen-button___ur0es","fullscreen-button1":"fullscreen-button1___rfaXm","pip-button":"pip-button___GFO8W","playback-animation":"playback-animation___ndURq",volume:"volume___OTmpP",hidden:"hidden___o7GkT"},g=(a,f,s)=>new Promise((l,d)=>{var e=o=>{try{i(s.next(o))}catch(v){d(v)}},t=o=>{try{i(s.throw(o))}catch(v){d(v)}},i=o=>o.done?l(o.value):Promise.resolve(o.value).then(e,t);i((s=s.apply(a,f)).next())});function c(a){if(isNaN(a))return{minutes:"00",seconds:"00"};const f=new Date(a*1e3).toISOString().substr(11,8);return{hour:f.substr(0,2),minutes:f.substr(3,2),seconds:f.substr(6,2)}}Object.defineProperty(HTMLMediaElement.prototype,"playing",{get:function(){return this.currentTime>0&&!this.paused&&!this.ended&&this.readyState>2}});function u(a,f){return a-f}function h(a){a.sort(u);let f=0;for(let s=0;s<a.length-1;s++){let l=Math.abs(a[s+1]-a[s]);l<21&&(f+=l)}return f}const r=/(android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini)/i;var n=(0,N.forwardRef)(({allow_skip:a,src:f,toLog:s,videoId:l,logWatchHistory:d,courseId:e=null,startTime:t,handlePause:i=()=>{},handlePlay:o=()=>{},handlePlayEnded:v=()=>{},autoPlay:y=!1,onPlayEnded:p=()=>{},isShowWaterMark:C=!0},D)=>{var b;const L=((b=f==null?void 0:f.split("."))==null?void 0:b.pop())==="flv",w=(0,N.useRef)(),P=(0,N.useRef)(),I=(0,N.useRef)(),R=(0,N.useRef)(),B=(0,N.useRef)(),F=(0,N.useRef)(),W=(0,N.useRef)(),G=(0,N.useRef)(),j=(0,N.useRef)(),Y=(0,N.useRef)(),ee=(0,N.useRef)(),ae=(0,N.useRef)(),le=(0,N.useRef)(),_e=(0,N.useRef)(),he=navigator.userAgent.toLowerCase().match(r),ve=he?he[0]:"pc",Ae=(0,N.useRef)(!1),ge=(0,A.eY)();let fe=0,Ee=0,ue=0,oe=null,X=!1,re=20,V=1,ne=!1,Z=!1,$=[];(0,N.useImperativeHandle)(D,()=>({getLastUpdatedTime:()=>w.current.currentTime,getDuration:()=>w.current.duration})),K.ZP.config({maxCount:1,getContainer:()=>I.current});const se=(0,N.useCallback)((Ne,we=!1)=>{let ce={point:w.current.currentTime};oe?(ce.log_id=oe,ce.watch_duration=h($),ce.total_duration=Ee):(e?(ce.video_id=parseInt(l,10),ce.course_id=e):ce.video_id=l,ce.duration=fe,ce.device=ve),we&&(ce.ed="1");function ye(){return g(this,null,function*(){ne=!0,oe=yield d==null?void 0:d(ce),ne=!1,Ne&&Ne()})}ye()},[l,e]);(0,N.useEffect)(()=>{w.current&&(R.current.style.display="none",B.current.style.display="block"),K.ZP.destroy();let Ne=null;return E.Z.isSupported&&L&&f&&(f==null?void 0:f.indexOf(".m3u8"))<0?(Ne=E.Z.createPlayer({type:"flv",volume:.8,cors:!0,url:f,muted:!1}),w.current&&(Ne.attachMediaElement(w.current),Ne.load())):w.current.setAttribute("src",f),ie(),()=>{Ne&&(Ne.unload(),Ne.pause(),Ne.destroy(),Ne=null)}},[w,L,f]);function q(){w.current.paused?(R.current.style.display="none",B.current.style.display="block"):(R.current.style.display="block",B.current.style.display="none")}function ie(){ee.current.style.display="none",le.current.style.display="none",ae.current.style.display="none",w.current.muted||w.current.volume===0?ee.current.style.display="block":w.current.volume>0&&w.current.volume<=.5?le.current.style.display="block":ae.current.style.display="block"}(0,N.useEffect)(()=>{const Ne=document.getElementById("play"),we=document.querySelectorAll(".playback-icons use");function ce(){o(),t&&!Ae.current&&(w.current.currentTime=t),Ae.current=!0,$.push(w.current.currentTime),X||(X=!0,s&&se())}function ye(){return g(this,null,function*(){q(),$.push(w.current.currentTime),s&&se(()=>{oe=null,ue=0,X=!1,ne=!1,Z=!1,$=[],Ee=0,V=1},!0),p()})}function Se(){F.current.value=Math.round(w.current.currentTime),W.current.value=Math.round(w.current.currentTime)}function xe(){const dt=c(Math.round(w.current.currentTime));j.current.innerText=`${dt.hour>0?dt.hour+":":""}${dt.minutes}:${dt.seconds}`,j.current.setAttribute("datetime",`${dt.hour>0?" "+dt.hour+" ":""}${dt.minutes}m ${dt.seconds}s`)}function je(){var dt,ht,Ot,mt,Gt,er,ct;const rr=Math.round((dt=w.current)==null?void 0:dt.duration);(Ot=(ht=F.current)==null?void 0:ht.setAttribute)==null||Ot.call(ht,"max",rr),(Gt=(mt=W.current)==null?void 0:mt.setAttribute)==null||Gt.call(mt,"max",rr);const Zt=c(rr);G.current&&(G.current.innerText=`${Zt.hour>0?Zt.hour+":":""}${Zt.minutes}:${Zt.seconds}`,(ct=(er=G.current).setAttribute)==null||ct.call(er,"datetime",`${Zt.hour>0?" "+Zt.hour+" ":""}${Zt.minutes}m ${Zt.seconds}s`))}function ut(){try{const dt=Math.round(w.current.duration);F.current.setAttribute("max",dt),W.current.setAttribute("max",dt);const ht=c(dt);G.current.innerText=`${ht.hour>0?ht.hour+":":""}${ht.minutes}:${ht.seconds}`,G.current.setAttribute("datetime",`${ht.hour>0?" "+ht.hour+" ":""}${ht.minutes}m ${ht.seconds}s`),Se(),xe();const{width:Ot,height:mt,x:Gt,y:er}=P.current.getBoundingClientRect();if(Gt<0||er<0||!Ot)return;if(!Z){let ct=w.current.currentTime,rr=ct-ue;Math.abs(rr)<10?(Ee+=Math.abs(rr),ue=ct,ne||Ee-V*re>=0&&(V++,$.push(ue),s&&se())):(ue=ct,s&&se())}}catch(dt){console.log(dt)}}function lt(){Z=!0}function $e(){w.current.playing&&$.push(w.current.currentTime,ue),ue=w.current.currentTime,Z=!1}function pt(){fe=w.current.duration,fe<=20&&(re=fe/3),w.current.addEventListener("play",ce)}function xt(dt){dt.preventDefault(),(0,m.vp)()?(w.current.style.width="100%",w.current.style.height="100%"):w.current.style.cssText=""}function St(){i()}function ft(dt){if(!a){K.ZP.warning("\u8BE5\u89C6\u9891\u7981\u6B62\u5FEB\u8FDB/\u540E\u9000\u64AD\u653E");return}const ht=dt.target.dataset.seek?dt.target.dataset.seek:dt.target.value;w.current.currentTime=ht,W.current.value=ht,F.current.value=ht}function $t(dt){const ht=Math.round(dt.offsetX/dt.target.clientWidth*parseInt(dt.target.getAttribute("max"),10));F.current.setAttribute("data-seek",ht);const Ot=c(ht);Y.current.textContent=`${Ot.hour>0?Ot.hour+":":""}${Ot.minutes}:${Ot.seconds}`;const mt=w.current.getBoundingClientRect();Y.current.style.left=`${dt.pageX-mt.left}px`}function Kt(dt){switch(dt.code){case"Space":dt.preventDefault(),Ce();break;case"ArrowRight":if(dt.preventDefault(),!a){K.ZP.warning("\u8BE5\u89C6\u9891\u7981\u6B62\u5FEB\u8FDB/\u540E\u9000\u64AD\u653E");break}if(w.current.currentTime>=w.current.duration)break;w.current.currentTime=parseInt(w.current.currentTime)+5,Se();break;case"ArrowLeft":if(dt.preventDefault(),!a){K.ZP.warning("\u8BE5\u89C6\u9891\u7981\u6B62\u5FEB\u8FDB/\u540E\u9000\u64AD\u653E");break}if(w.current.currentTime===0)break;w.current.currentTime=parseInt(w.current.currentTime)-5,Se();break;case"ArrowUp":dt.preventDefault(),w.current.volume<1&&(w.current.volume=(parseInt(w.current.volume*10)+1)/10);break;case"ArrowDown":dt.preventDefault(),w.current.volume>0&&(w.current.volume=(parseInt(w.current.volume*10)-1)/10);break}}return I.current.addEventListener((0,m.gH)(),xt),w.current.addEventListener("canplay",pt),w.current.addEventListener("ended",ye),w.current.addEventListener("seeking",lt),w.current.addEventListener("seeked",$e),w.current.addEventListener("loadedmetadata",je),F.current.addEventListener("mousemove",$t),F.current.addEventListener("input",ft),w.current.addEventListener("timeupdate",ut),w.current.addEventListener("pause",St),w.current.addEventListener("volumechange",ie),document.addEventListener("keydown",Kt),()=>{var dt,ht,Ot,mt,Gt,er,ct,rr,Zt,Yt,kt,Xe;(dt=w.current)==null||dt.removeEventListener("canplay",pt),(ht=w.current)==null||ht.removeEventListener("play",ce),(Ot=w.current)==null||Ot.removeEventListener("ended",ye),(mt=w.current)==null||mt.removeEventListener("seeking",lt),(Gt=w.current)==null||Gt.removeEventListener("seeked",$e),(er=F.current)==null||er.removeEventListener("mousemove",$t),(ct=F.current)==null||ct.removeEventListener("input",ft),(rr=w.current)==null||rr.removeEventListener("timeupdate",ut),(Zt=w.current)==null||Zt.removeEventListener("pause",St),(Yt=w.current)==null||Yt.removeEventListener("loadedmetadata",je),(kt=w.current)==null||kt.removeEventListener("volumechange",ie),document.removeEventListener("keydown",Kt),(Xe=w.current)!=null&&Xe.playing&&($.push(ue,w.current.currentTime),s&&se())}},[w,f]),(0,N.useEffect)(()=>{if(w.current.onended=()=>{v(w)},w.current.oncontextmenu=()=>!1,(f==null?void 0:f.indexOf(".m3u8"))>-1){if(w.current.canPlayType("application/vnd.apple.mpegurl"))w.current.src=f;else if(M.ZP.isSupported()){var Ne=new M.ZP;Ne.loadSource(f),Ne.attachMedia(w.current)}}},[f]);const[de,me]=(0,N.useState)(1),Ce=()=>{w.current.paused||w.current.ended?w.current.play():w.current.pause(),q()};function Oe(){w.current.muted=!w.current.muted,w.current.muted?(_e.current.setAttribute("data-volume",volume.value),_e.current.value=0):_e.current.value=_e.current.dataset.volume}return N.createElement("div",{style:{position:"relative"},ref:I},N.createElement("div",{ref:P,className:`${x.watermark} animated_alternate animate__animated_10s animate__infinite animate__stepstart ${x.animate__loop}`},C&&ge?ge.login:" "),N.createElement("div",{className:x.container},N.createElement("div",{className:x["video-container"],id:"video-container"},N.createElement("div",{className:x["playback-animation"],id:"playback-animation"},N.createElement("svg",{className:x["playback-icons"]},N.createElement("use",{className:"hidden",href:"#play-icon"}),N.createElement("use",{href:"#pause"}))),N.createElement("video",{className:x.video,id:"video",preload:"auto",disablePictureInPicture:!0,ref:w,autoPlay:y}),N.createElement("div",{className:`${x["video-controls"]} `,id:"video-controls"},N.createElement("div",{className:x["bottom-controls"]},N.createElement("div",{className:x["left-controls"]},N.createElement("button",{"data-title":"\u64AD\u653E/\u6682\u505C",id:"play",onClick:Ce},N.createElement("svg",{className:x["playback-icons"]},N.createElement("use",{ref:B,href:"#play-icon"}),N.createElement("use",{ref:R,style:{display:"none"},href:"#pause"}))),N.createElement("div",{className:x.time},N.createElement("time",{id:"time-elapsed",ref:j},"00:00"),N.createElement("span",null," / "),N.createElement("time",{id:"duration",ref:G},"00:00"))),N.createElement("div",{className:x["right-controls"]},a&&N.createElement(O.Z,{placement:"top",overlayClassName:x.rateOverlay,getPopupContainer:Ne=>Ne.parentNode,menu:{items:[{key:"1",label:N.createElement("span",{onClick:()=>{me(1),w.current.playbackRate=1}},"1.0x")},{key:"2",label:N.createElement("span",{onClick:()=>{me(1.5),w.current.playbackRate=1.5}},"1.5x")},{key:"3",label:N.createElement("span",{onClick:()=>{me(2),w.current.playbackRate=2}},"2.0x")}]}},N.createElement("div",{className:`${x.controlText} mr5`},"\u500D\u901F")),N.createElement(_.CopyToClipboard,{text:f,onCopy:()=>K.ZP.success("\u590D\u5236\u6210\u529F")},N.createElement("button",{"data-title":"\u590D\u5236\u94FE\u63A5"},N.createElement("i",{className:"icon-lianjie2 iconfont",style:{fontSize:"12px",color:"white"}}))),N.createElement("div",{className:x["volume-controls"]},N.createElement("button",{"data-title":"\u5F00\u542F/\u5173\u95ED\u58F0\u97F3",className:x["volume-button"],id:"volume-button",onClick:Oe},N.createElement("i",{ref:ee,className:"icon-a-bianzu8 iconfont",style:{fontSize:"14px",color:"white"}}),N.createElement("i",{ref:le,className:"icon-shengyinkaibeifen iconfont",style:{fontSize:"14px",color:"white"}}),N.createElement("i",{ref:ae,className:"icon-shengyinkai iconfont",style:{fontSize:"14px",color:"white"}})),N.createElement("input",{className:x.volume,id:"volume",value:"1","data-mute":"0.5",type:"range",max:"1",min:"0",step:"0.01",ref:_e,style:{display:"none"},onClick:ie})),N.createElement("button",{"data-title":"\u5168\u5C4F/\u9000\u51FA\u5168\u5C4F",className:x["fullscreen-button"],onClick:()=>{(0,m.vp)()?(0,m.BU)():(0,m.Dj)(I.current)}},N.createElement("i",{className:"icon-fangda1 iconfont",style:{fontSize:"12px",color:"white"}})))),N.createElement("div",{className:x["video-progress"]},N.createElement("progress",{ref:W,value:"0",min:"0"}),N.createElement("input",{className:x.seek,ref:F,value:"0",min:"0",type:"range",step:"1"}),N.createElement("div",{className:x["seek-tooltip"],ref:Y,id:"seek-tooltip"},"00:00"))))),N.createElement("svg",{style:{display:"none"}},N.createElement("defs",null,N.createElement("symbol",{id:"pause",viewBox:"0 0 24 24"},N.createElement("path",{d:"M14.016 5.016h3.984v13.969h-3.984v-13.969zM6 18.984v-13.969h3.984v13.969h-3.984z"})),N.createElement("symbol",{id:"play-icon",viewBox:"0 0 24 24"},N.createElement("path",{d:"M8.016 5.016l10.969 6.984-10.969 6.984v-13.969z"})),N.createElement("symbol",{id:"volume-high",viewBox:"0 0 24 24"},N.createElement("path",{d:"M14.016 3.234q3.047 0.656 5.016 3.117t1.969 5.648-1.969 5.648-5.016 3.117v-2.063q2.203-0.656 3.586-2.484t1.383-4.219-1.383-4.219-3.586-2.484v-2.063zM16.5 12q0 2.813-2.484 4.031v-8.063q1.031 0.516 1.758 1.688t0.727 2.344zM3 9h3.984l5.016-5.016v16.031l-5.016-5.016h-3.984v-6z"})),N.createElement("symbol",{id:"volume-low",viewBox:"0 0 24 24"},N.createElement("path",{d:"M5.016 9h3.984l5.016-5.016v16.031l-5.016-5.016h-3.984v-6zM18.516 12q0 2.766-2.531 4.031v-8.063q1.031 0.516 1.781 1.711t0.75 2.32z"})),N.createElement("symbol",{id:"volume-mute",viewBox:"0 0 24 24"},N.createElement("path",{d:"M12 3.984v4.219l-2.109-2.109zM4.266 3l16.734 16.734-1.266 1.266-2.063-2.063q-1.547 1.313-3.656 1.828v-2.063q1.172-0.328 2.25-1.172l-4.266-4.266v6.75l-5.016-5.016h-3.984v-6h4.734l-4.734-4.734zM18.984 12q0-2.391-1.383-4.219t-3.586-2.484v-2.063q3.047 0.656 5.016 3.117t1.969 5.648q0 2.203-1.031 4.172l-1.5-1.547q0.516-1.266 0.516-2.625zM16.5 12q0 0.422-0.047 0.609l-2.438-2.438v-2.203q1.031 0.516 1.758 1.688t0.727 2.344z"})),N.createElement("symbol",{id:"fullscreen",viewBox:"0 0 24 24"},N.createElement("path",{d:"M14.016 5.016h4.969v4.969h-1.969v-3h-3v-1.969zM17.016 17.016v-3h1.969v4.969h-4.969v-1.969h3zM5.016 9.984v-4.969h4.969v1.969h-3v3h-1.969zM6.984 14.016v3h3v1.969h-4.969v-4.969h1.969z"})),N.createElement("symbol",{id:"fullscreen-exit",viewBox:"0 0 24 24"},N.createElement("path",{d:"M15.984 8.016h3v1.969h-4.969v-4.969h1.969v3zM14.016 18.984v-4.969h4.969v1.969h-3v3h-1.969zM8.016 8.016v-3h1.969v4.969h-4.969v-1.969h3zM5.016 15.984v-1.969h4.969v4.969h-1.969v-3h-3z"})),N.createElement("symbol",{id:"pip",viewBox:"0 0 24 24"},N.createElement("path",{d:"M21 19.031v-14.063h-18v14.063h18zM23.016 18.984q0 0.797-0.609 1.406t-1.406 0.609h-18q-0.797 0-1.406-0.609t-0.609-1.406v-14.016q0-0.797 0.609-1.383t1.406-0.586h18q0.797 0 1.406 0.586t0.609 1.383v14.016zM18.984 11.016v6h-7.969v-6h7.969z"})))))})},79771:function(nt,Pe,z){"use strict";z.d(Pe,{i:function(){return i},Z:function(){return v}});var N={flex_box_center:"flex_box_center___AQ53o",flex_space_between:"flex_space_between___i2aIa",flex_box_vertical_center:"flex_box_vertical_center___sPEKB",flex_box_center_end:"flex_box_center_end___GhSSH",flex_box_column:"flex_box_column___R9_Hb",list:"list___jb2Ay",wrap:"wrap___VsQDr",lockWrap:"lockWrap___g1k1T",li:"li___IxCLC",cover:"cover___Mu8wr",img:"img___IpFLA",movebq:"movebq___mF7wt",bq:"bq___Bil0T",sign:"sign___DXJ4d",name:"name___l7FoJ",e:"e___pXQUG",unit:"unit___wCIFR",tags:"tags___w_Mil",tag1:"tag1___dxm7r",tag2:"tag2___llZkf",wrapisCurrent:"wrapisCurrent___qIfQT"},K=z(71418),O=z(6848),E=z(93948),M=z(92310),A=z.n(M),_=z(62610),m=z(58064),x=z(4138),g=z(79005),c=z(20345),u=z(77882),h=z(31081),r=z(75309),n=z(71979),a=z(47558),f=z(42922),s=z(66832),l=z(96593),d=z(19664),e=z(91833),t=z(59301);const i=[{name:"\u63A8\u8350\u81EA\u5B66",ptimg:g,swimg:c},{name:"101\u8BA1\u5212",ptimg:u,swimg:h},{name:"\u56FD\u5BB6\u4E00\u6D41",ptimg:r,swimg:n},{name:"\u7701\u7EA7\u4E00\u6D41",ptimg:a,swimg:f},{name:"\u7CBE\u54C1\u8BFE\u7A0B",ptimg:s,swimg:l},{name:"\u519B\u961F\u4E00\u6D41",ptimg:d,swimg:e}];var v=({className:y,dataSource:p=[],col:C=4,right:D,bottom:b=23,precision:S=0,wrapWidth:L=1200,trackEventItems:w,loading:P,onRemove:I=()=>{},isCurrent:R=!0,showAlias:B=!1,showProgress:F=!1})=>{const W=Math.floor((L-(C-1)*D)/C),G=[{name:"\u63A8\u8350\u81EA\u5B66",ptimg:"/images/tjzx.png",swimg:"/images/sw_tjzx.png"},{name:"101\u8BA1\u5212",ptimg:"/images/jh.png",swimg:"/images/sw_jh.png"},{name:"\u56FD\u5BB6\u4E00\u6D41",ptimg:"/images/gjyl.png",swimg:"/images/sw_gjyl.png"},{name:"\u7701\u7EA7\u4E00\u6D41",ptimg:"/images/sjyl.png",swimg:"/images/sw_sjyl.png"},{name:"\u7CBE\u54C1\u8BFE\u7A0B",ptimg:"/images/jpkc.png",swimg:"/images/sw_jpkc.png"},{name:"\u519B\u961F\u4E00\u6D41",ptimg:"/images/jdyl.png",swimg:"/images/sw_jdyl.png"},{name:"\u65B0\u578B\u6559\u6750",ptimg:"/images/xxjc.png",swimg:"/images/sw_xxjc.png"}].map(j=>(window.ENV==="build"&&(j.ptimg=`/react/build${j.ptimg}`,j.swimg=`/react/build${j.swimg}`),j));return t.createElement(K.Z,{spinning:P},t.createElement("div",{className:A()(N.list,y)},!!(p!=null&&p.length)&&(p==null?void 0:p.map((j,Y)=>{var ee,ae,le,_e,he,ve;const{name:Ae,id:ge,identifier:fe,featured:Ee,school_name:ue,image_url:oe,excellent:X,is_plan:re}=j;return t.createElement("div",{key:ge,className:R&&F?N.wrapisCurrent:N.wrap,style:{width:W,marginRight:(1+Y)%C===0?0:D+S,marginBottom:b}},t.createElement("a",{className:N.li,onClick:V=>{V.preventDefault(),V.stopPropagation(),w&&(0,_.L9)([w]),(0,_.xg)(`/paths/${fe}`)}},t.createElement("div",{className:N.img},t.createElement("img",{className:N.cover,src:`${oe}`}),R&&(0,x.bg)()&&(j==null?void 0:j.studying)&&t.createElement("div",{className:`${N.movebq} user-path-items`,onClick:V=>{V.stopPropagation(),I(j)}},t.createElement("i",{className:"iconfont icon-yichu1 mr5 c-red"}),t.createElement("span",{className:"c-red"},"\u79FB\u9664")),(ee=j==null?void 0:j.subject_tags)==null?void 0:ee.map((V,ne)=>{var Z,$;if(ne===0){const q=(Z=G.find(ie=>ie.name==V))==null?void 0:Z.swimg;return t.createElement("img",{className:N.sign,src:q,style:{left:"-4px"}})}const se=($=G.find(q=>q.name==V))==null?void 0:$.ptimg;return t.createElement("img",{className:N.sign,src:se,style:{left:`${48+52*(ne-1)+2*ne}px`}})}),t.createElement("div",{style:{position:"absolute",top:"150px",left:"4px"}},(j==null?void 0:j.excellent)&&t.createElement("div",{className:N.bq},"\u5F00\u653E\u8BFE\u7A0B"))),t.createElement("div",{className:N.name},t.createElement(O.Z,{title:B&&(j!=null&&j.excellent_alias_name)?t.createElement("span",null,`\u8BFE\u7A0B\u539F\u540D\uFF1A${Ae}`,t.createElement("br",null),t.createElement("span",null,`\u8BFE\u7A0B\u522B\u540D\uFF1A${j==null?void 0:j.excellent_alias_name}`)):Ae},t.createElement("span",{className:N.e},B&&(j==null?void 0:j.excellent_alias_name)||Ae))),R&&F&&((ae=j==null?void 0:j.progress)==null?void 0:ae.all_score)!=0&&t.createElement("div",{style:{padding:"0px 10px",color:"#333",marginTop:10}},t.createElement(E.Z,{strokeColor:"#44d7b6",gap:"small",percent:(((le=j==null?void 0:j.progress)==null?void 0:le.my_score)/((_e=j==null?void 0:j.progress)==null?void 0:_e.all_score)*100).toFixed(),showInfo:!1}),"\u5DF2\u5B8C\u6210 ",(he=j==null?void 0:j.progress)==null?void 0:he.my_score,"/",(ve=j==null?void 0:j.progress)==null?void 0:ve.all_score),(!R||!F)&&t.createElement("div",{className:N.tags},t.createElement("div",null,t.createElement(O.Z,{placement:"bottom",title:"\u7AE0\u8282\u6570"},t.createElement("span",null,t.createElement("i",{className:"iconfont icon-zhangjie1 font14 mr3"}),t.createElement("span",null,j.stages_count))),t.createElement(O.Z,{placement:"bottom",title:"\u5B66\u4E60\u4EBA\u6570"},t.createElement("span",null,t.createElement("i",{className:"iconfont icon-chengyuan font14 mr3"}),t.createElement("span",null,j.members_count)))))))})),!p.length&&t.createElement(m.Z,null)))}},41975:function(nt,Pe,z){"use strict";z.d(Pe,{Z:function(){return A}});var N=z(59301),K={flex_box_center:"flex_box_center___aK2n3",flex_space_between:"flex_space_between___HX0Oh",flex_box_vertical_center:"flex_box_vertical_center___LJOJr",flex_box_center_end:"flex_box_center_end___SCakF",flex_box_column:"flex_box_column___AYv4m",tabs:"tabs___GTqPV",active:"active___F26E8"},O=z(92310),E=z.n(O),A=({dataSource:_=[],value:m,onChange:x,className:g,style:c={}})=>N.createElement("div",{style:c,className:E()(K.tabs,g)},_.map(u=>N.createElement("span",{onClick:()=>x(u.id),className:m===u.id?K.active:"",key:u.id},u.name)))},3233:function(nt,Pe,z){"use strict";z.d(Pe,{jL:function(){return M},w9:function(){return er},vv:function(){return U},dN:function(){return Yt},QD:function(){return nr},cQ:function(){return re.Z},vg:function(){return dt},Oz:function(){return pt},op:function(){return zt},O5:function(){return Jt},_b:function(){return wt},t7:function(){return C},tT:function(){return S},Gi:function(){return qe},YG:function(){return J},Ed:function(){return Je},kT:function(){return pe},qp:function(){return f},Um:function(){return i},K3:function(){return d},vr:function(){return Qt},qE:function(){return Vt},Je:function(){return P},wb:function(){return _e},rC:function(){return X},lB:function(){return Ae},cq:function(){return gt},kO:function(){return bt},tp:function(){return o.Z},Si:function(){return Tr},k8:function(){return ln},Du:function(){return Br}});var N=z(59301),K={flex_box_center:"flex_box_center___NeSU8",flex_space_between:"flex_space_between___ImTGl",flex_box_vertical_center:"flex_box_vertical_center___BtRd9",flex_box_center_end:"flex_box_center_end___qcLe3",flex_box_column:"flex_box_column___Ze_3q",banner:"banner___PoUBO",content:"content___XoDjy",btns:"btns___Pb35j"},O="data:image/png;base64,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",M=({dataSource:Ie=[],img:Me,imgWidth:Ue=346,title:et,sunTitle:Qe,bannerExtraContent:st})=>N.createElement("div",{className:K.banner},N.createElement("div",{className:K.content},N.createElement("aside",null,N.createElement("p",null,N.createElement("b",null,et),N.createElement("span",null,Qe)),Ie.length>0&&N.createElement("div",{className:K.btns},Ie.map((Re,tt)=>N.createElement("div",{key:tt,onClick:Re.click},Re.name,Re.sign?N.createElement("img",{src:O,width:39}):null))),st),Me&&N.createElement("img",{style:{marginTop:33,marginRight:38},src:Me,width:Ue}))),A={flex_box_center:"flex_box_center___hG6RI",flex_space_between:"flex_space_between___ss3Fh",flex_box_vertical_center:"flex_box_vertical_center___K80p9",flex_box_center_end:"flex_box_center_end___qmXX3",flex_box_column:"flex_box_column___GFV8F",row:"row___aXJjm",title:"title___HUKL0",tagsWrap:"tagsWrap___XB2W3",action:"action___VdHb1",bar:"bar___t1kKC",tag:"tag___V7Eft",name:"name___Hk1Ip",num:"num___xQpcH",active:"active___XryTX",tagsBorderWrap:"tagsBorderWrap___OMxjs"},_=z(92310),m=z.n(_),x=z(89392),g=Object.defineProperty,c=Object.getOwnPropertySymbols,u=Object.prototype.hasOwnProperty,h=Object.prototype.propertyIsEnumerable,r=(Ie,Me,Ue)=>Me in Ie?g(Ie,Me,{enumerable:!0,configurable:!0,writable:!0,value:Ue}):Ie[Me]=Ue,n=(Ie,Me)=>{for(var Ue in Me||(Me={}))u.call(Me,Ue)&&r(Ie,Ue,Me[Ue]);if(c)for(var Ue of c(Me))h.call(Me,Ue)&&r(Ie,Ue,Me[Ue]);return Ie},f=({dataSource:Ie=[],value:Me,onChange:Ue,onTitleChange:et,className:Qe,title:st,titleWidth:Re=41,style:tt={},fontColor:vt="#6A7283",showCount:Tt,classNameActive:Mt,styleItem:it={}})=>{const[Bt,qt]=(0,N.useState)(0),[mr,Ft]=(0,N.useState)(!1),Wt=(0,N.useRef)(null),gr=(0,N.useRef)(null);return(0,N.useEffect)(()=>{var or;Ie.length!==0&&(((or=Wt==null?void 0:Wt.current)==null?void 0:or.clientHeight)>97?qt(1):qt(0)),Ie.length===0&&qt(0),Ft(!1)},[Ie]),N.createElement("div",{className:m()(A.row,Qe),style:tt},N.createElement("div",{onClick:(0,x.throttle)(()=>et==null?void 0:et(),2e3),style:{width:Re,marginTop:mr?12:4},className:`${A.title} ${et?"current":""}`},st),N.createElement("div",{className:mr?`${A.tagsWrap} ${A.tagsBorderWrap}`:A.tagsWrap},N.createElement("div",{className:A.bar,ref:gr,style:Bt>0?{height:Bt===1?97:"auto",overflow:Bt===1?"hidden":"auto",paddingRight:55}:{paddingRight:0}},N.createElement("div",{className:A.tag,ref:Wt},Ie==null?void 0:Ie.map(or=>N.createElement("span",{onClick:()=>Ue(or.id),key:or.id,style:n(n({color:vt},it),(or==null?void 0:or.style)||{}),className:Me===or.id?m()(Mt||A.active,or.classNameActive):""},N.createElement("span",{title:or.name,className:A.name},or.name),!!Tt&&N.createElement("span",{className:A.num},or.count))))),!!Bt&&N.createElement(N.Fragment,null,Bt===1?N.createElement("div",{onClick:()=>{var or;qt(2),((or=Wt==null?void 0:Wt.current)==null?void 0:or.clientHeight)>245?Ft(!0):Ft(!1)},className:A.action},"\u5C55\u5F00",N.createElement("i",{style:{transform:"translateY(1px) scale(0.6)"},className:"iconfont icon-zhankai4"})):N.createElement("div",{onClick:()=>{gr.current.scrollTop=0,qt(1),Ft(!1)},className:A.action},"\u6536\u8D77",N.createElement("i",{style:{transform:"translateY(0px) scale(0.6)"},className:"iconfont icon-shouqi3"})))))},s={flex_box_center:"flex_box_center___HDG9F",flex_space_between:"flex_space_between___KhP6Z",flex_box_vertical_center:"flex_box_vertical_center___ZlFcA",flex_box_center_end:"flex_box_center_end___o7d_z",flex_box_column:"flex_box_column___ULJgZ",row:"row___Skft7",title:"title___KP2uZ",fenge:"fenge___yM8ys",tagsWrap:"tagsWrap___XcmUd",action:"action___y7wAl",bar:"bar___gdtOz",tag:"tag___PL8Db",name:"name___gsqnj",num:"num___sRnLB",active:"active___yNnAU",tagsBorderWrap:"tagsBorderWrap___BKCHD"},d=({dataSource:Ie=[],value:Me,onChange:Ue,onTitleChange:et,className:Qe,title:st,titleWidth:Re=41,style:tt={},fontColor:vt="#6A7283",showCount:Tt,expand:Mt=!0})=>{const[it,Bt]=(0,N.useState)(0),[qt,mr]=(0,N.useState)(!1),Ft=(0,N.useRef)(null),Wt=(0,N.useRef)(null),[gr,or]=(0,N.useState)(Mt);return N.createElement("div",{className:m()(s.row,Qe),style:tt},N.createElement("div",{className:"flex item-center justify-between"},N.createElement("div",{onClick:(0,x.throttle)(()=>et==null?void 0:et(),2e3),style:{width:Re,marginTop:qt?12:4},className:`${s.title} ${et?"current":""}`},st),N.createElement("i",{className:`iconfont ${gr?"icon-yizhankai":"icon-weizhankai"} current`,style:{color:"#727C95",fontSize:gr?8:10},onClick:()=>or(!gr)})),gr&&N.createElement("div",{className:qt?`${s.tagsWrap} ${s.tagsBorderWrap}`:s.tagsWrap},N.createElement("div",{className:s.fenge}),N.createElement("div",{className:s.bar,ref:Wt},N.createElement("div",{className:s.tag,ref:Ft},Ie==null?void 0:Ie.map(pr=>N.createElement("span",{onClick:()=>Ue(pr.id),key:pr.id,style:{color:vt},className:Me===pr.id?s.active:""},N.createElement("span",{title:pr.name,className:s.name},pr.name),!!Tt&&N.createElement("span",{className:s.num},pr.count)))))))},e={flex_box_center:"flex_box_center___kXy2O",flex_space_between:"flex_space_between___EKVqf",flex_box_vertical_center:"flex_box_vertical_center___KJzcw",flex_box_center_end:"flex_box_center_end___V4Nm9",flex_box_column:"flex_box_column___g6Cee",row:"row___pqtGl",title:"title___eewYd",tagsWrap:"tagsWrap___AWV66",action:"action___Toj3O",bar:"bar___NZVtB",tag:"tag___z872k",name:"name___m2dAl",num:"num___EhDNX",active:"active___GSjsu",tagsBorderWrap:"tagsBorderWrap___VoQL3"},i=({dataSource:Ie=[],value:Me,onChange:Ue,onTitleChange:et,className:Qe,title:st,titleWidth:Re=41,style:tt={},fontColor:vt="#fff",showCount:Tt,expand:Mt=!0})=>{const[it,Bt]=(0,N.useState)(0),[qt,mr]=(0,N.useState)(!1),Ft=(0,N.useRef)(null),Wt=(0,N.useRef)(null),[gr,or]=(0,N.useState)(Mt);return N.createElement("div",{className:m()(e.row,Qe),style:tt},N.createElement("div",{className:"flex item-center justify-between"},N.createElement("div",{onClick:(0,x.throttle)(()=>et==null?void 0:et(),2e3),style:{width:Re},className:`${e.title} ${et?"current":""}`},st),N.createElement("i",{className:`iconfont ${gr?"icon-yizhankai":"icon-weizhankai"} current`,style:{color:gr?"#00DDC7":"#037F74",fontSize:gr?10:12},onClick:()=>or(!gr)})),gr&&N.createElement("div",{className:qt?`${e.tagsWrap} ${e.tagsBorderWrap}`:e.tagsWrap},N.createElement("div",{className:e.bar,ref:Wt},N.createElement("div",{className:e.tag,ref:Ft},Ie==null?void 0:Ie.map(pr=>N.createElement("span",{onClick:()=>Ue(pr.id),key:pr.id,style:{color:vt},className:Me===pr.id?e.active:""},N.createElement("span",{title:pr.name,className:e.name},pr.name),!!Tt&&N.createElement("span",{className:e.num},pr.count)))))))},o=z(41975),v={flex_box_center:"flex_box_center___yX6Oa",flex_space_between:"flex_space_between___t7oqF",flex_box_vertical_center:"flex_box_vertical_center___dEIHy",flex_box_center_end:"flex_box_center_end___taQDF",flex_box_column:"flex_box_column___xY_Lr",input:"input___PW2zI",dropdown:"dropdown___vSy8B",menu:"menu___NiyBu",text:"text___Grueu",b1:"b1___ZKryM",b2:"b2___aKyGa"},y=z(92832),C=({dataSource:Ie=[],value:Me="",onChange:Ue,onInputChange:et=()=>{},className:Qe,style:st={},placeholder:Re,allowClear:tt=!1})=>{var vt;const[Tt,Mt]=(0,N.useState)(""),[it,Bt]=(0,N.useState)("");(0,N.useEffect)(()=>{var Ft;let Wt=Me;(Ft=JSON.stringify(Me))!=null&&Ft.includes("{")&&(Mt(Me.id),Wt=Me.value||"");try{Bt(decodeURIComponent(Wt||""))}catch(gr){Bt(decodeURIComponent(Wt||""))}},[Me]);const qt=()=>{Ue(encodeURIComponent(it),Tt||null)},mr=Ft=>{Ft!==Tt&&(Mt(Ft),Ue(encodeURIComponent(it),Ft))};return N.createElement("div",{className:m()(v.input,Qe),style:st},!!Ie.length&&N.createElement("div",{className:v.dropdown},N.createElement("div",{className:v.text},(vt=Ie.find(Ft=>Ft.id===Tt))==null?void 0:vt.name,N.createElement("i",{className:"iconfont icon-zhankai4"}),N.createElement("b",{className:v.b1}),N.createElement("b",{className:v.b2})),N.createElement("div",{className:v.menu},Ie.map((Ft,Wt)=>N.createElement("div",{key:Wt,onClick:()=>mr(Ft.id)},Ft.name)))),N.createElement(y.default,{onPressEnter:qt,value:it,onChange:Ft=>{Bt(Ft.target.value),et(encodeURIComponent(Ft.target.value),Tt||null)},bordered:!1,placeholder:Re}),N.createElement("i",{onClick:qt,className:"iconfont icon-sousuo9 font14 pl10 current"}))},D={flex_box_center:"flex_box_center___pVsOk",flex_space_between:"flex_space_between___bQwBe",flex_box_vertical_center:"flex_box_vertical_center___gdKht",flex_box_center_end:"flex_box_center_end___wJuEm",flex_box_column:"flex_box_column___F50s0",input:"input___f7GZE",dropdown:"dropdown___oJkxW",menu:"menu___RplGU",text:"text___EgRKl"},S=({dataSource:Ie=[],value:Me="",onChange:Ue,onInputChange:et=()=>{},className:Qe,style:st={},placeholder:Re,allowClear:tt=!1})=>{var vt;const[Tt,Mt]=(0,N.useState)(""),[it,Bt]=(0,N.useState)("");(0,N.useEffect)(()=>{var Ft;let Wt=Me;(Ft=JSON.stringify(Me))!=null&&Ft.includes("{")&&(Mt(Me.id),Wt=Me.value||"");try{Bt(decodeURIComponent(Wt||""))}catch(gr){Bt(decodeURIComponent(Wt||""))}},[Me]);const qt=()=>{Ue(encodeURIComponent(it),Tt||null)},mr=Ft=>{Ft!==Tt&&(Mt(Ft),Ue(encodeURIComponent(it),Ft))};return N.createElement("div",{className:m()(D.input,Qe),style:st},!!Ie.length&&N.createElement("div",{className:D.dropdown},N.createElement("div",{className:D.text},(vt=Ie.find(Ft=>Ft.id===Tt))==null?void 0:vt.name,N.createElement("i",{className:"iconfont icon-zhankai4 ml5"})),N.createElement("div",{className:D.menu},Ie.map((Ft,Wt)=>N.createElement("div",{key:Wt,onClick:()=>mr(Ft.id)},Ft.name)))),N.createElement(y.default,{onPressEnter:qt,value:it,onChange:Ft=>{Bt(Ft.target.value),et(encodeURIComponent(Ft.target.value),Tt||null)},bordered:!1,placeholder:Re}),N.createElement("i",{onClick:qt,className:"iconfont icon-sousuo9 font14 pl10 current"}))},L={flex_box_center:"flex_box_center___tol8o",flex_space_between:"flex_space_between___Z235C",flex_box_vertical_center:"flex_box_vertical_center___Wq1sZ",flex_box_center_end:"flex_box_center_end___LLxom",flex_box_column:"flex_box_column___DbMSN",quickPager:"quickPager___GM30J",disabled:"disabled___Ozc8I"},P=({value:Ie,onChange:Me,className:Ue,total:et,pageSize:Qe,style:st={}})=>{const Re=Ie<2,tt=Ie>=Math.ceil(et/Qe);return et<=Qe?N.createElement(N.Fragment,null):N.createElement("div",{className:m()(L.quickPager,Ue),style:st},N.createElement("div",{onClick:()=>{Re||Me(Ie-1,"prev")},className:Re?L.disabled:""},"\u4E0A\u4E00\u9875"),N.createElement("div",{onClick:()=>{tt||Me(Ie+1,"next")},className:tt?L.disabled:""},"\u4E0B\u4E00\u9875"))},I={flex_box_center:"flex_box_center___FO7TP",flex_space_between:"flex_space_between___LotYx",flex_box_vertical_center:"flex_box_vertical_center___bWdaw",flex_box_center_end:"flex_box_center_end___mVJ1o",flex_box_column:"flex_box_column___M83Mm",list:"list___oOsiS",wrap:"wrap___G6T7F",lockWrap:"lockWrap___Rl79E",li:"li___oZZ7l",cover:"cover___b2bYW",img:"img___IQX7w",sign:"sign___HkT6C",name:"name___SsJx8",e:"e___TMqq0",tags:"tags___bcjyo",rate:"rate___YACg7"},R=z(71418),B=z(6848),F=z(13570),W=z(8125),G=z(62610),j=z(96908),Y=z(57177),ee=z(81378),ae=z(58064),_e=({className:Ie,dataSource:Me=[],col:Ue=4,right:et,bottom:Qe=23,precision:st=0,wrapWidth:Re=1200,trackEventItems:tt,loading:vt})=>{const Tt=Math.floor((Re-(Ue-1)*et)/Ue);return N.createElement(R.Z,{spinning:vt},N.createElement("div",{className:m()(I.list,Ie)},!!Me.length&&Me.map((Mt,it)=>{const{name:Bt,id:qt,identifier:mr,power:Ft,cover_image_id:Wt,pic:gr}=Mt;return N.createElement("div",{className:I.wrap,key:qt,style:{width:Tt,marginRight:(1+it)%Ue===0?0:et+st,marginBottom:Qe}},N.createElement("a",{target:"_blank",href:`/shixuns/${mr}/challenges`,className:I.li,onClick:or=>{or.preventDefault(),tt&&(0,G.L9)([tt]),Ft&&(0,G.xg)(`/shixuns/${mr}/challenges`)}},N.createElement("div",{className:I.img},N.createElement("img",{className:I.cover,src:`${gr}`}),Mt.is_jupyter&&N.createElement("img",{className:I.sign,src:j}),Mt.is_jupyter_lab&&N.createElement("img",{className:I.sign,src:Y}),Mt.is_unity_3d&&N.createElement("img",{className:I.sign,src:ee})),N.createElement("div",{className:I.name},N.createElement(B.Z,{title:Bt||"\u5B9E\u8DF5\u9879\u76EE\u540D\u79F0-\u672A\u586B\u5199"},N.createElement("span",{className:I.e},Bt||"\u5B9E\u8DF5\u9879\u76EE\u540D\u79F0-\u672A\u586B\u5199"))),N.createElement("div",{className:I.tags},N.createElement(B.Z,{placement:"bottom",title:"\u5173\u5361\u6570"},N.createElement("span",null,N.createElement("i",{className:"iconfont icon-shixunguanqia font14 mr2"}),N.createElement("span",null,Mt.challenges_count))),!!Mt.myshixuns_count&&N.createElement(B.Z,{placement:"bottom",title:"\u5B66\u4E60\u4EBA\u6570"},N.createElement("span",null,N.createElement("i",{className:"iconfont icon-chengyuan font14 mr2"}),N.createElement("span",null,Mt.myshixuns_count))),N.createElement(B.Z,{placement:"bottom",title:"\u96BE\u5EA6\u7B49\u7EA7"},N.createElement("span",null,N.createElement("span",null,Mt.level))),N.createElement("div",{className:I.rate},N.createElement(F.Z,{allowHalf:!0,disabled:!0,defaultValue:Mt.score_info}),N.createElement("span",null,"\xA0",Mt.score_info?`${Mt.score_info}\u5206`:"5\u5206")))),!Ft&&N.createElement("div",{className:I.lockWrap},N.createElement("img",{src:`${W.Z.IMG_SERVER}/images/educoder/icon/lockclose.svg`}),N.createElement("span",{className:"mt15 font16 c-white"},"\u5B9A\u5411\u5F00\u653E\u5185\u5BB9\uFF0C\u9700\u8981\u6388\u6743")))}),!Me.length&&N.createElement(ae.Z,null)))},he={flex_box_center:"flex_box_center___KD0ZB",flex_space_between:"flex_space_between___rMep5",flex_box_vertical_center:"flex_box_vertical_center___jD3Po",flex_box_center_end:"flex_box_center_end___RbohB",flex_box_column:"flex_box_column___GmzUj",list:"list___dlUtq",wrap:"wrap___LYbIZ",lockWrap:"lockWrap___U7Ajb",li:"li___bsnqy",img:"img___yQ3UM",cover:"cover___KP0L8",bq:"bq___DtmL1",sign:"sign___TZ9Wq",titleBg:"titleBg___tnX0O",name:"name___OGYeq",e:"e___zxiB9",text:"text____ZmZX",value:"value___WPLok",rate:"rate___iOr7E"},Ae=({className:Ie,dataSource:Me=[],col:Ue=4,right:et,bottom:Qe=23,precision:st=0,wrapWidth:Re=1200,wrapClassName:tt,trackEventItems:vt,loading:Tt})=>{const Mt=Math.floor((Re-(Ue-1)*et)/Ue);return N.createElement(R.Z,{spinning:Tt},N.createElement("div",{className:m()(he.list,Ie)},!!Me.length&&Me.map((it,Bt)=>{const{name:qt,id:mr,identifier:Ft,power:Wt,cover_image_id:gr,pic:or}=it;return N.createElement("div",{className:m()(he.wrap,tt),key:mr,style:{width:Mt,marginRight:(1+Bt)%Ue===0?0:et+st,marginBottom:Qe}},N.createElement("a",{target:"_blank",href:`/shixuns/${Ft}/challenges`,className:he.li,onClick:pr=>{pr.preventDefault(),vt&&(0,G.L9)([vt]),Wt&&(0,G.xg)(`/shixuns/${Ft}/challenges`)}},N.createElement("img",{src:z(47621),className:he.titleBg}),N.createElement("div",{className:he.name},N.createElement(B.Z,{title:qt||"\u5B9E\u8DF5\u9879\u76EE\u540D\u79F0-\u672A\u586B\u5199"},N.createElement("span",{className:he.e},qt||"\u5B9E\u8DF5\u9879\u76EE\u540D\u79F0-\u672A\u586B\u5199"))),N.createElement("div",{style:{padding:"14px",paddingBottom:0}},N.createElement("div",{className:he.img},N.createElement("img",{className:he.cover,src:gr?`${W.Z.API_SERVER}/api/attachments/${gr}`:`${W.Z.IMG_SERVER+or}`}),it.is_jupyter&&N.createElement("div",{className:he.bq},"Jupyter"),it.is_jupyter_lab&&N.createElement("div",{className:he.bq},"JupyterLab"),it.is_unity_3d&&N.createElement("div",{className:he.bq,style:{background:"linear-gradient(rgba(90, 167, 237, 0.8) 0%, rgba(79, 29, 189, 0.8) 100%)"}},"\u865A\u62DF\u4EFF\u771F")),N.createElement("div",{className:"mt20 flex item-center justify-between"},N.createElement("div",null,N.createElement("span",{className:he.text},"\u5B66\u4E60\u4EBA\u6570"),N.createElement("span",{className:he.value},it.myshixuns_count)),N.createElement("div",null,N.createElement("span",{className:he.text},"\u56F0\u96BE\u7B49\u7EA7"),N.createElement("span",{className:he.value},it.level))),N.createElement("div",{className:"mt10 mb10 flex item-center justify-between"},N.createElement("div",null,N.createElement("span",{className:he.text},"\u5173\u5361\u6570"),N.createElement("span",{className:he.value},it.challenges_count)),N.createElement("div",{className:he.rate},N.createElement(F.Z,{allowHalf:!0,disabled:!0,defaultValue:it.score_info}),N.createElement("span",{className:he.value,style:{color:"#FF9C00"}},"\xA0",it.score_info?`${it.score_info}\u5206`:"5\u5206"))))),!Wt&&N.createElement("div",{className:he.lockWrap},N.createElement("img",{src:`${W.Z.IMG_SERVER}/images/educoder/icon/lockclose.svg`}),N.createElement("span",{className:"mt15 font16 c-white"},"\u5B9A\u5411\u5F00\u653E\u5185\u5BB9\uFF0C\u9700\u8981\u6388\u6743")))}),!Me.length&&N.createElement(ae.Z,null)))},ge={flex_box_center:"flex_box_center___MoMqv",flex_space_between:"flex_space_between___G_1Pa",flex_box_vertical_center:"flex_box_vertical_center___vHNpc",flex_box_center_end:"flex_box_center_end___dt_Dx",flex_box_column:"flex_box_column___gK3h_",list:"list___GYKT6",wrap:"wrap___uLNQf",lockWrap:"lockWrap___lZQo7",li:"li___X7Rkc",img:"img___bih4x",cover:"cover___UiMEf",sign:"sign___WPSew",name:"name___ZLjiX",e:"e___tB29O",tags:"tags___a3FKn",rate:"rate___dh30H"},fe="data:image/png;base64,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",Ee="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANQAAAA8CAYAAAAeyZT3AAAAAXNSR0IArs4c6QAAEpJJREFUeF7tXQeYFdUV/mcbS1F6UUEsoLC7IGKNJWpERbEgSoxGo7HEQFDRWCAGgdASNBbEhglqsC1rAxVBNGg0qNgLsJRddmFhe3vby3uT7393ZmfeezOv7M57W3LP9/EtM3Pn3DPn3n/uvf85c58CKdID0gOOeUBxTJNUJD0gPQAJKNkJpAcc9EALoNRpCaqt3rh4QIkDvH/jxV/zuZZjrVy8uRzvSzDdrx3HxWnnEnz1eevhOf/79HpNdrAs6wrQr9VvtiMc+/kc0HSan9Nrq8Uzt9hquuZjv8kPev26r8x16X5VPYDHDYT7Vy/L8vo94d7P8u5mcV+w+1U34GEZ7a+5Tg/vV31tbrmu36ff23JcB9VdBo9a5v2rekq14/1wN30GNXGzctPKKgf7eExVKUGBpJsSEkgWYPMHXEuH0sHlB5iW8jrAtE6sd9AW8GidVD9mR/fvxDrAzJ3Yp/ObAGL3srC1XweJnf0awHUQWgGJ52i3P+D9OyOP/QHSAjYT8Lwd3gRGH3Bp5dza34D7LUDsD04vmPzuN9cZGkSAF3xm4JttNoFWdasNlRVNta4SV21l6YHakvyPGurrNivA12kZ2B1TdLSisvAA1QrF8hbpAUsP8EWVkAwkdgMSugHxiUB8EpDcC+g1AOjeG+BciSBWPXA3NaA8Pxel+7LRXF+bCwXpShxeTX0V33ZED0tAdcRW+X+2iaN3j35Ar/7iX/e+XnCpbg9cZfkozctBrauci/9tioIlKSpeUTLg7iguk4DqKC0h7bD2QPJBQP/hUHsNhsIVv+qBq7QI+7O2w93USGDtUoEFaavxoqJ4x7Z2FQmodnW/rDxsD3Ba2PcwqL0PhaLEobmxAXnZmaiuKPOqUBRsSlBx06gM7AlbZxQKSkBFwalSZRQ9kJAEDD4GSD7Yyz6WFu5HQV4uVI+Ho1W1ouCe1NV4OooWBFUtAdVenpf1ts0DfQ6F2mcoOMurq6nCnp2Z8DAMwNEKWJEKTG+PtZUEVNuaVd7dnh5I6gF1wFFQEpJQW+1CTtYueBgeEPLuwGRcNWQVamJpogRULL0t63LeA/GJUAeNhBKXgOpqF3Kzs6Ey3iVGqs29gQnDMlDnfMXWGiWgYuVpWU/0PBCfBHXQ0VCUeLgqK7B3b67I4BDyZloKrlTmQ6AsyiIBFWUHS/Ux8kBCMtT+w70MYGlJMfILCloqVoDH0jIwMxaWSEDFwsuyjth4IKk71D7DGKzCnj05qK0zZnoKMDUtA69F2xAJqGh7WOqPrQeYvtSjL+rr65C1JxeqMfUrTkpAyrGvoCSaBklARdO7UnfsPaAAat/DocTFo7C4FMWlIvBLUYD0tAz8KppGSUBF07tSd/t4ILE71N5DoHrcyMrJQ0NjY4sd8QompazGumgZJgEVLc9Kve3rgZ79gW49UVVdg9wDhWZbMtNSMEaZDxEFdlgkoBx2qFTXQTygxHnz/gAPdu3NR2Njk9mwmWMy8Fg0LJWAioZXpU7DA/0OB479hTguyQZ2/Sdm3lF79IWS2B2llVXILylvqVcBuLAamZbh/euotA+geg0E/ponHqSpDrizj6MP1WGU8WM671eq7fhVweTFwIQ/Cpe8PRfY8NfYuue4y4BbNbb6y1eA534Tu/rjEqEeNAAejxs7cgvg4VfGmijA8rQM3Oa0Me0HqKUHxLM01gEzD3b6udpXX+9DgNNvBs64GVh0PFDj+Isw/Oe7fAlw3t2i/NoHgPVLwr/XiZLtCShGpHr29zJ++aWVKHX5pPU1Iw5jx6RjuxOP2QLUsPaUcLJG6uII1ZUBtTAb6McAI4B7BktAtdcIRf/zM/vkg9HY3IydeQxBGbMFBVifloELnezecoRy0pu6rsU5QJ/DJKDogXYeoWiCp2c/7mWF7MJy1Nb7kBNwmkaXgJKAioYHDJ0dAFBqt55Q4ruhyFWDooqArzkcpdE7HqBOuxE4aKBokE9WALUGO9PSStxc4Px7xWFzI/DhI0YDDjoGOP5ycbxjE5CzBRh/JTDiDGD4CaL83m/E+W9e8yUM+g0HTtIC6f56/bvd8JOAURp75SoAKvYDh58gStG27tq68L3FQGOtOP/TOmD/j76aOP09YSowbBww9DigtgLY9y2w7zvguzeEvf5ifsb8bcAPbwNjLwF+Pg3oPQTgubfnAcW7ASfXUAOOBH52PTB0nKiHn6UXZwFFu4DPVwEFFssRK0BRz7gpwn/0U+7XQM6XwFfpYrsxpyUhEUjqhdqGJmQXVgRoj1NwR+pqLHOi2o4HqD99DQwdK55t7mjRKfyF++4t1xIf66uAu/oZJcwNuGYOMHgkcKoNs7TtfWDltQZoOd9eshfoqel76OdA9mfWfp6+FkjTpt/vLhA79Jw1PXibrLoZ+OwFo8yIM4EbXwT6MF5iIblfASumAuUaI6oX8e+kOz4Crn3GV8HjFwLbP3AOUJfMBybO9m7eYCnuJmDjQ4L4MIu/rR8+Bty2zvCxuezuT4AVVwHVxU70bR8dao8+XsY1c38F3Ca2j4WcpNG7NqA4MiT1AJoagNwtwIFtwJBRwPATvVF0r5TmAItPBOoqxfEVDwLnapn+n/4DeHlaYONyVCHw4hPErqoPjATOvRM4Syvr3RVWE2/jaQvhF38HfP4vcYEd7ZZ0sWsu5cBPYlTiW58j6cCjxfmqYuDRCWLU0cXcSQ9sBQaOEPvcmcVJQF08F7joz4b2sr3iRcOX2eHjxT9dVl4HfPWqta0cnRmX4r58WZ8CRbsD24Mvj8UnOE7kqN16eT/t2FdWjcrawFHfKRq9awOKzVpdAjxxCcC3vS79jwBmvCs2+6CQStbfrJxOzdsqzte5gFmHAU31vp317BnAL7VpJke55ZN8r4ciJQjyedsM4uLl6cCnzxo6uDcdp42XLRDnvlsDrLjSupPqZ7duAD5+EqgqEmBkh2fHb+uUjy+eJXliI0rK6/f6TrF5ji+TK5aK65wCzh1lbyvb48nJQM4XRpkBRwHT3gIOGS3Obfw78OYsX5+29YgvnLgklNc0YH+FNgX31ekIjd71AfXU5cCP7wQ2B9/q7NScwjTUAHNGCPBR7tgIHHu2+D8DkQxImuXezcARJ4kzz14FfPuG7/VQgLpkHnDh/eIerj3+daN1d9GnlQwM862tr7/MI1QoHW0FFNdLE+8ToQ6uFTlFtpJFe4C+Q8WVmb2NdaO/rS/cCHyxyro95m4Ve9ozNsn24MvBKeHW10nd0dTsxo5C663TnaDRuzagOJ2bM9K+SWZ+ABxzlrj+1GTgx3fF/0kS3PSy+H/mv4FlFxg6zCMYG3z28MCFdChAzd4CDDte6Hz0PGDnR9Y2nvxr4IbnxbX3HwTe+pP4v7mT8mVw/5HW5A3LthVQ4XboO94Hjj1HlF403hr8ZfsEULQ9HwJUz1gHpJwnTj89RZAtTgpHW9WD3cU1qG+y/iK+rTR61wbUD+8AT2uMn1XDTH0YOEfLPsn4I7BJI3q43zZBcdAgsUZiJyjfJzSYRxcuwt+cHag5FKAerRRrO8p3bwVOKXWNJEdSzhdHHAU5GvoDas/nwINn2nc7JwHF2NrxUwCydP2PFEQMiRzulcdjfV1Ke2iXv61b14vpt52Y169v3Ad88LCTcBJ2KvEoqmpAUbUFeypqaxON3rUB9Z9ngFdn2DfK+fcAzHWjbFoOZNxplL1sIXDBfeJ47VxgvVbuLztFh6LMSwWKdgbqDwYodkpej1RIpS85ObCTfrUaWPnr6AKKDNlVy4DxUwURE0rsABWqPZhzOEXLNfz4KSD99lA1RXbd+1NCiahrdCOrzH4jpLbQ6M4Daswk4MhTxYNu32idXcxcN7JklPpq4K6+hmOcpM23vAw8f7290yc9AEyaI65v+BuwxsRkkbiYv0PM6fWF9lGnAXd/LMoza/qRc611BwMUR6ZHKgz6mbE2uymQWTsZNaspX6iE07aOUInJwO0bgKNPM9qL8bHCXUBVoRhdmxuAibOMaawdoL54EXjht/btYR791y0E3pkfGWBClSbjH0c21IPM4no0e6yTlttCozsPqEsXCOdSzOyZ+WFJs87SWJ7CncD8VOOqeX2xYByQrzFu5vsZgF2oxaeCxaHIdDGWZCfXPgucdoO4uuoW4DNtvaKX/8M7QKq2fvr7OcDJVwNn/k5cff4GYMtLkQOKd5hz/exGuWCdI5Lsg7YCimzj5EXCmrzvBYXP4LO/zPrcCGzbASrYS4j6rvuHCBxT7MiLUKAJdZ3Teag44GpCWZ39j3a0lkZ3HlCnXAdcv1I81tcZwD+vCXxEc5nMD4FlE40yv38TGHuxOF5+MbBtQ+D91z8HnKKxTcEAxSyDeaMFfewvDA4TlHrO3UNnAdmbfUsx++D3GoPH0S51oghIskPNHma/9gm1hjIvvv0pc7MF4yaLNQuF9Dzf8JRYAop0NmcdlGeuBL5fE+hL/qbT0gJjOmgHKLbHn48CXD5f0Ap9bA/67eDB4njp6SKbxWnRfjmzqr4ZuZVBszJaRaM7DygGTe/TsgsYUF0wBigx/SACpxB3fyJSbSj/Xga8pn2vw+OpjwDnaOseqynbYWOB2V+KqRglGKB4neksVlQvyQiSEhQGVJdoNLi5ARkPWpRtgE6/xnhP+h32TW1eZ5FlJNtoluMuBW59XZxhytL8NKCh2rcMR+H7vzFSmB7+BcBMAkosAWWegvPlyJekv5hBx2t2gOK1/64EXro1UMeEu4ApfxPnmYa0VJti2nu59Vfi4r27y24vaYYnyLdqraHRnQcUH/P29cAobX1RXSpAw8U7O8mp1wGHalM8bu7OEcTc4UZPAG57z3AWsxW+eEnM148+XUw/yL7pEgxQZOgIvG9eF8HC4l3A4FHAib802D3qefJS4CdTneamumgOcLFfOs0ixoR+sG9QMx1P2j3zA5EzSFZQF3MnZMYA10cMPvOzbU4zT77GyJbwZ8daCyjq58sjHPlhrfDJb1aKNqMU7gBemgZk/VdkeHCtfPliY82s6w0GKJYhkULSgdN5Zq4wTKGzrbzOGQtnLtES9gmPB/uqPKhsCL6hbFwcLkpNh03nCDQwOoBirIajlJ4gaueY95cCb2kBTnMZc0zD/16CZO0cY14fDFAEEmX8FdYWsJOvWwAwF89OOCVcmGWkCIXz9uR0lNNSf5mRLH6rlsIg6LQ1Rt6iXf1ct3B0qncZJVoLqEg6qM5sWrUlM0hIruiM386PBdj09aUdoLZtFOSGTq8HtK1bZKywX0RVvL/cBlejir2u4D9+qCjYnjoaY8Pd1CU6gKIz2BGvecpIIDU7qDRX0Nl881oJf7WOMYnTb/K9Wpkv7vtxXXjJsWTASB6Q8uVbVo/9UCunWqRlv18buunIcumZ5czt46gZSs64BTh7OjBwpJFnZwYU7+cCmTlyzB0028ZrXKcR6Jxe+mdgxxJQtOWIU4CrHzdYPP3Z2Y7fvi5GV+b7MXmWYgcopi0xiM2g+aARvh7kfhP0LUf0GAk5vu2l7qDTPpoSCY0ePUDpTunRVwzrnO6xE/NNFm5KCXcBHTJaLFT5yQWdHkrsOhs7L6co+ucCTKMJR9jRF+cCjMUwK2HW0MD1Tjh6gpVh+hPz2Q5NE+ApyBTrznDo9LbWHe79tHFIigACaXJOH/VUrXB1mMuxTbne1j+nqSltjZY235NX5UFFiGlfJDR69AHV5keOUEEkb+9wVHMac/UTouTm5wBmjEvpMh6oblKRUxnGb14reHzMaoSMNEtAheoac74HDkkRpZae4ZslHepeeb3De4DL6O1load9/JQ1nE1dJKCCNTmTPUmQUPi90kItobXDdxNpYCQe2F/tQXl96J+PUoD30jJwUdDZe7vsehTJ00Za1skpH4O6DO5SMu4CNj0eqTWyfCfwQF0zkFUR3qf3oWj0rjdCHZJqxE0YczF/PRpJ4zJyf+l8b3ayV5jrZ7W/RSQ6ZdkO6QGyfTvL3Giyye0zGx2KRu96gOqQTSaN6ugeKKpTUVQTBjkRgkaXgOroLS3ti4kH+L3hjjICKvS22cFodAmomDSXrKQzeGBPpQc1Nl/yBthvQ6NLQHWGlpY2xsQDFQ0q8qrCm/bZ0egSUDFpKllJZ/AAOYnM8GJS3sexotEloDpDS0sbY+aBAzUelNWFjknpBvnT6BJQMWsqWVFn8EC9G9hdHl5MyjtK+WWjS0B1hlaWNsbUA9mVbtQ2hWb7TKPU7anp8Eb9JaBi2lSyss7ggQjJCZ+90SWgOkMLSxtj5gGOS/zHmJQ7jMyJFsM0Gl0CKmZNJSvqTB4oqPGgJAJyQqfRJaA6UytLW2PmgcoGFfvCj0m10Oj/A9jGm+feuyEMAAAAAElFTkSuQmCC",ue="data:image/png;base64,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",X=({className:Ie,dataSource:Me=[],col:Ue=4,right:et,bottom:Qe=23,precision:st=0,wrapWidth:Re=1200,trackEventItems:tt,loading:vt,wrapClassName:Tt,imgClassName:Mt})=>{const it=Math.floor((Re-(Ue-1)*et)/Ue);return N.createElement(R.Z,{spinning:vt},N.createElement("div",{className:m()(ge.list,Ie)},!!Me.length&&Me.map((Bt,qt)=>{const{name:mr,id:Ft,identifier:Wt,power:gr,cover_image_id:or,pic:pr}=Bt;return N.createElement("div",{className:m()(ge.wrap,Tt),key:Ft,style:{width:it,marginRight:(1+qt)%Ue===0?0:et+st,marginBottom:Qe}},N.createElement("a",{target:"_blank",href:`/shixuns/${Wt}/challenges`,className:ge.li,onClick:Ur=>{Ur.preventDefault(),tt&&(0,G.L9)([tt]),gr&&(0,G.xg)(`/shixuns/${Wt}/challenges`)}},N.createElement("div",{className:m()(ge.img,Mt)},N.createElement("img",{className:ge.cover,src:or?`${W.Z.API_SERVER}/api/attachments/${or}`:`${W.Z.IMG_SERVER+pr}`}),Bt.is_jupyter&&N.createElement("img",{className:ge.sign,src:fe}),Bt.is_jupyter_lab&&N.createElement("img",{className:ge.sign,src:Ee}),Bt.is_unity_3d&&N.createElement("img",{className:ge.sign,src:ue})),N.createElement("div",{className:ge.name},N.createElement(B.Z,{title:mr||"\u5B9E\u8DF5\u9879\u76EE\u540D\u79F0-\u672A\u586B\u5199"},N.createElement("span",{className:ge.e},mr||"\u5B9E\u8DF5\u9879\u76EE\u540D\u79F0-\u672A\u586B\u5199"))),N.createElement("div",{className:ge.tags},N.createElement(B.Z,{placement:"bottom",title:"\u5173\u5361\u6570"},N.createElement("span",null,N.createElement("i",{className:"iconfont icon-shixunguanqia font14 mr2"}),N.createElement("span",null,Bt.challenges_count))),!!Bt.myshixuns_count&&N.createElement(B.Z,{placement:"bottom",title:"\u5B66\u4E60\u4EBA\u6570"},N.createElement("span",null,N.createElement("i",{className:"iconfont icon-chengyuan font14 mr2"}),N.createElement("span",null,Bt.myshixuns_count))),N.createElement(B.Z,{placement:"bottom",title:"\u96BE\u5EA6\u7B49\u7EA7"},N.createElement("span",null,N.createElement("span",null,Bt.level))),N.createElement("div",{className:ge.rate},N.createElement(F.Z,{allowHalf:!0,disabled:!0,defaultValue:Bt.score_info}),N.createElement("span",null,"\xA0",Bt.score_info?`${Bt.score_info}\u5206`:"5\u5206")))),!gr&&N.createElement("div",{className:ge.lockWrap},N.createElement("img",{src:`${W.Z.IMG_SERVER}/images/educoder/icon/lockclose.svg`}),N.createElement("span",{className:"mt15 font16 c-white"},"\u5B9A\u5411\u5F00\u653E\u5185\u5BB9\uFF0C\u9700\u8981\u6388\u6743")))}),!Me.length&&N.createElement(ae.Z,null)))},re=z(79771),V={flex_box_center:"flex_box_center___vu9yi",flex_space_between:"flex_space_between___LwoH7",flex_box_vertical_center:"flex_box_vertical_center___pUG0J",flex_box_center_end:"flex_box_center_end___xWI9t",flex_box_column:"flex_box_column___Mr5rB",list:"list___zE1wj",wrap:"wrap___5HG1h",lockWrap:"lockWrap___zziwX",li:"li___aNI2z",img:"img___adfIp",cover:"cover___G1cj9",bq:"bq___hpdTt",sign:"sign___kHAha",titleBg:"titleBg___S1VlI",name:"name___zsjxM",e:"e___fd1jW",text:"text___b9Tdy",value:"value___ZASRv",unit:"unit___sMNBQ",tags:"tags___KbL1d",tag1:"tag1___c9ebE",tag2:"tag2___bxczv"},ne=z(79005),Z=z(20345),$=z(77882),se=z(31081),q=z(75309),ie=z(71979),de=z(47558),me=z(42922),Ce=z(66832),Oe=z(96593),Ne=z(19664),we=z(91833),ce=Object.defineProperty,ye=Object.getOwnPropertySymbols,Se=Object.prototype.hasOwnProperty,xe=Object.prototype.propertyIsEnumerable,je=(Ie,Me,Ue)=>Me in Ie?ce(Ie,Me,{enumerable:!0,configurable:!0,writable:!0,value:Ue}):Ie[Me]=Ue,ut=(Ie,Me)=>{for(var Ue in Me||(Me={}))Se.call(Me,Ue)&&je(Ie,Ue,Me[Ue]);if(ye)for(var Ue of ye(Me))xe.call(Me,Ue)&&je(Ie,Ue,Me[Ue]);return Ie};const lt=[{name:"\u63A8\u8350\u81EA\u5B66",ptimg:ne,swimg:Z},{name:"101\u8BA1\u5212",ptimg:$,swimg:se},{name:"\u56FD\u5BB6\u4E00\u6D41",ptimg:q,swimg:ie},{name:"\u7701\u7EA7\u4E00\u6D41",ptimg:de,swimg:me},{name:"\u7CBE\u54C1\u8BFE\u7A0B",ptimg:Ce,swimg:Oe},{name:"\u519B\u961F\u4E00\u6D41",ptimg:Ne,swimg:we}];var pt=({className:Ie,dataSource:Me=[],col:Ue=4,right:et,bottom:Qe=23,precision:st=0,wrapWidth:Re=1200,trackEventItems:tt,loading:vt,wrapClassName:Tt,imgClassName:Mt,isArrow:it=!1,imgStyle:Bt={}})=>{const qt=Math.floor((Re-(Ue-1)*et)/Ue),[mr,Ft]=(0,N.useState)(),[Wt,gr]=(0,N.useState)(),or=Ur=>Ft(Ur),pr=()=>Ft(-1);return N.createElement(R.Z,{spinning:vt},N.createElement("div",{className:m()(V.list,Ie)},!!(Me!=null&&Me.length)&&(Me==null?void 0:Me.map((Ur,jr)=>{var hn;const{name:Zr,id:pn,identifier:_n,featured:En,school_name:Yr,image_url:fn,excellent:vn,is_plan:dn}=Ur;return N.createElement("div",{key:pn,className:m()(V.wrap,Tt),style:{width:qt,marginRight:(1+jr)%Ue===0?0:et+st,marginBottom:Qe}},N.createElement("a",{target:"_blank",href:`/paths/${_n}`,className:V.li,onClick:Qr=>{Qr.preventDefault(),tt&&(0,G.L9)([tt]),(0,G.xg)(`/paths/${_n}`)}},N.createElement("img",{src:z(39057),className:V.titleBg}),N.createElement("div",{className:V.name},N.createElement(B.Z,{title:Zr},N.createElement("span",{className:V.e,style:{color:it&&mr===jr?"#145DFF":"#000000"},onMouseEnter:()=>{or(jr)},onMouseLeave:pr},Zr))),N.createElement("div",{style:{padding:"14px",paddingBottom:0}},N.createElement("div",{className:m()(V.img,Mt)},N.createElement("img",{className:V.cover,style:ut({},Bt),src:`${W.Z.IMG_SERVER+fn}`}),(hn=Ur==null?void 0:Ur.subject_tags)==null?void 0:hn.map((Qr,rn)=>{var un,nn;if(rn===0){const mn=(un=lt.find(xn=>xn.name==Qr))==null?void 0:un.swimg;return N.createElement("img",{className:V.sign,src:mn,style:{left:"-4px"}})}const yn=(nn=lt.find(mn=>mn.name==Qr))==null?void 0:nn.ptimg;return N.createElement("img",{className:V.sign,src:yn,style:{left:`${48+52*(rn-1)+2*rn}px`}})}),N.createElement("div",{style:{position:"absolute",right:"4px",bottom:"4px"}},(Ur==null?void 0:Ur.excellent)&&N.createElement("div",{className:V.bq},"\u5F00\u653E\u8BFE\u7A0B"))),N.createElement("div",{className:"mt10 mb10 flex item-center justify-between"},N.createElement("div",null,N.createElement("span",{className:V.text},"\u7AE0\u8282\u6570"),N.createElement("span",{className:V.value},Ur.stages_count)),N.createElement("div",null,N.createElement("span",{className:V.text},"\u5B66\u4E60\u4EBA\u6570"),N.createElement("span",{className:V.value},Ur.members_count))))))})),!Me.length&&N.createElement(ae.Z,null)))},xt={flex_box_center:"flex_box_center___o6B0Z",flex_space_between:"flex_space_between___Uz22Q",flex_box_vertical_center:"flex_box_vertical_center___nWLOj",flex_box_center_end:"flex_box_center_end___eqMdD",flex_box_column:"flex_box_column___ypdJv",list:"list___qA19p",wrap:"wrap___YaRtD",lockWrap:"lockWrap___Cle7R",li:"li___Hpfsl",img:"img___li1Ky",cover:"cover___iuyl5",bq:"bq___BpHtR",sign:"sign___ajRAC",titleBg:"titleBg___h8Qq7",name:"name___mAV5m",e:"e___YPSD7",text:"text___nDpTk",value:"value___guywy",unit:"unit___aTzYz",tags:"tags___X1lul",tag1:"tag1___AHRAc",tag2:"tag2___Pska6"},St=z(4138),ft=z(59301);const $t=[{name:"\u63A8\u8350\u81EA\u5B66",ptimg:ne,swimg:Z},{name:"101\u8BA1\u5212",ptimg:$,swimg:se},{name:"\u56FD\u5BB6\u4E00\u6D41",ptimg:q,swimg:ie},{name:"\u7701\u7EA7\u4E00\u6D41",ptimg:de,swimg:me},{name:"\u7CBE\u54C1\u8BFE\u7A0B",ptimg:Ce,swimg:Oe},{name:"\u519B\u961F\u4E00\u6D41",ptimg:Ne,swimg:we}];var dt=({className:Ie,dataSource:Me=[],col:Ue=4,right:et,bottom:Qe=23,precision:st=0,wrapWidth:Re=1200,trackEventItems:tt,loading:vt,onRemove:Tt=()=>{},isCurrent:Mt=!0,showAlias:it=!1,wrapClassName:Bt,imgClassName:qt})=>{const mr=Math.floor((Re-(Ue-1)*et)/Ue),Ft=[{name:"\u63A8\u8350\u81EA\u5B66",ptimg:"/images/tjzx.png",swimg:"/images/sw_tjzx.png"},{name:"101\u8BA1\u5212",ptimg:"/images/jh.png",swimg:"/images/sw_jh.png"},{name:"\u56FD\u5BB6\u4E00\u6D41",ptimg:"/images/gjyl.png",swimg:"/images/sw_gjyl.png"},{name:"\u7701\u7EA7\u4E00\u6D41",ptimg:"/images/sjyl.png",swimg:"/images/sw_sjyl.png"},{name:"\u7CBE\u54C1\u8BFE\u7A0B",ptimg:"/images/jpkc.png",swimg:"/images/sw_jpkc.png"},{name:"\u519B\u961F\u4E00\u6D41",ptimg:"/images/jdyl.png",swimg:"/images/sw_jdyl.png"},{name:"\u65B0\u578B\u6559\u6750",ptimg:"/images/xxjc.png",swimg:"/images/sw_xxjc.png"}].map(Wt=>(window.ENV==="build"&&(Wt.ptimg=`/react/build${Wt.ptimg}`,Wt.swimg=`/react/build${Wt.swimg}`),Wt));return ft.createElement(R.Z,{spinning:vt},ft.createElement("div",{className:m()(xt.list,Ie)},!!(Me!=null&&Me.length)&&(Me==null?void 0:Me.map((Wt,gr)=>{var or;const{name:pr,id:Ur,identifier:jr,featured:hn,school_name:Zr,image_url:pn,excellent:_n,is_plan:En}=Wt;return ft.createElement("div",{key:Ur,className:m()(xt.wrap,Bt),style:{width:mr,marginRight:(1+gr)%Ue===0?0:et+st,marginBottom:Qe}},ft.createElement("a",{className:xt.li,onClick:Yr=>{Yr.preventDefault(),Yr.stopPropagation(),tt&&(0,G.L9)([tt]),(0,G.xg)(`/paths/${jr}`)}},ft.createElement("div",{className:m()(xt.img,qt)},ft.createElement("img",{className:xt.cover,src:`${W.Z.IMG_SERVER+pn}`}),Mt&&(0,St.bg)()&&(Wt==null?void 0:Wt.studying)&&ft.createElement("div",{className:`${xt.movebq} user-path-items`,onClick:Yr=>{Yr.stopPropagation(),Tt(Wt)}},ft.createElement("i",{className:"iconfont icon-yichu1 mr5 c-red"}),ft.createElement("span",{className:"c-red"},"\u79FB\u9664")),(or=Wt==null?void 0:Wt.subject_tags)==null?void 0:or.map((Yr,fn)=>{var vn,dn;if(fn===0){const rn=(vn=Ft.find(un=>un.name==Yr))==null?void 0:vn.swimg;return ft.createElement("img",{className:xt.sign,src:rn,style:{left:"-4px"}})}const Qr=(dn=Ft.find(rn=>rn.name==Yr))==null?void 0:dn.ptimg;return ft.createElement("img",{className:xt.sign,src:Qr,style:{left:`${48+52*(fn-1)+2*fn}px`}})}),ft.createElement("div",{style:{position:"absolute",bottom:"10px",right:"10px"}},(Wt==null?void 0:Wt.excellent)&&ft.createElement("div",{className:xt.bq},"\u5F00\u653E\u8BFE\u7A0B"))),ft.createElement("div",{className:xt.name},ft.createElement(B.Z,{title:it&&(Wt!=null&&Wt.excellent_alias_name)?ft.createElement("span",null,`\u8BFE\u7A0B\u539F\u540D\uFF1A${pr}`,ft.createElement("br",null),ft.createElement("span",null,`\u8BFE\u7A0B\u522B\u540D\uFF1A${Wt==null?void 0:Wt.excellent_alias_name}`)):pr},ft.createElement("span",{className:xt.e},it&&(Wt==null?void 0:Wt.excellent_alias_name)||pr))),ft.createElement("div",{className:xt.tags},ft.createElement("div",null,ft.createElement(B.Z,{placement:"bottom",title:"\u7AE0\u8282\u6570"},ft.createElement("span",null,ft.createElement("i",{className:"iconfont icon-zhangjie1 font14 mr3"}),ft.createElement("span",null,Wt.stages_count))),ft.createElement(B.Z,{placement:"bottom",title:"\u5B66\u4E60\u4EBA\u6570"},ft.createElement("span",null,ft.createElement("i",{className:"iconfont icon-chengyuan font14 mr3"}),ft.createElement("span",null,Wt.members_count)))))))})),!Me.length&&ft.createElement(ae.Z,null)))},ht={flex_box_center:"flex_box_center___eMcr7",flex_space_between:"flex_space_between___HcNca",flex_box_vertical_center:"flex_box_vertical_center___ZnvVN",flex_box_center_end:"flex_box_center_end___fdgDf",flex_box_column:"flex_box_column___SEKvd",list:"list___L1hmU",wrap:"wrap___pKgcW",lockWrap:"lockWrap___SMhkK",top:"top___udHSB",sign:"sign___uwRpq",name:"name___Fpf90",img:"img___AMLhL",text:"text___KiTb7",btns:"btns___i6IuZ",bottom:"bottom____k2sh"},Ot="data:image/png;base64,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",mt=z(59301),er=({className:Ie,dataSource:Me=[],col:Ue=4,right:et,bottom:Qe=23,precision:st=0,wrapWidth:Re=1200,trackEventItems:tt,loading:vt})=>{const Tt=Math.floor((Re-(Ue-1)*et)/Ue);return mt.createElement(R.Z,{spinning:vt},mt.createElement("div",{className:m()(ht.list,Ie)},!!Me.length&&Me.map((Mt,it)=>{const{subject_identifier:Bt,id:qt,identifier:mr,power:Ft}=Mt,Wt=Mt.is_public!=0&&Mt.is_public;return mt.createElement("div",{className:ht.wrap,key:qt,style:{width:Tt,marginRight:(1+it)%Ue===0?0:et+st,marginBottom:Qe}},mt.createElement("a",{className:ht.li,onClick:gr=>{gr.preventDefault(),tt&&(0,G.L9)([tt]),(0,G.xg)(Mt.first_category_url)}},mt.createElement("div",{className:ht.top},mt.createElement(B.Z,{title:Mt.name},mt.createElement("div",{className:ht.name},Mt.name)),mt.createElement("img",{className:ht.img,src:W.Z.IMG_SERVER+"/images/"+Mt.avatar_url}),mt.createElement("div",{className:ht.text,title:Mt.creator},Mt.creator),Bt&&mt.createElement("div",{className:ht.btns},mt.createElement("div",null,"\u5F00\u653E\u8BFE\u7A0B"),mt.createElement("aside",null,"\u5F00\u653E\u8BFE\u5802")),Wt&&mt.createElement("div",{className:ht.sign},"\u516C\u5F00")),mt.createElement("div",{className:ht.bottom},Mt.visits>0&&mt.createElement(B.Z,{title:"\u8BBF\u95EE\u91CF",placement:"bottom"},mt.createElement("span",null,mt.createElement("i",{className:"iconfont icon-liulanyan"}),mt.createElement("span",null,Mt.visits))),Mt.course_members_count>0&&mt.createElement(B.Z,{title:"\u6210\u5458",placement:"bottom"},mt.createElement("span",null,mt.createElement("i",{className:"iconfont icon-chengyuan"}),Mt.course_members_count)),Mt.tasks_count>0&&mt.createElement(B.Z,{title:"\u4F5C\u4E1A",placement:"bottom"},mt.createElement("span",null,mt.createElement("i",{className:"iconfont icon-zuoye"}),Mt.tasks_count)),Mt.is_end?mt.createElement("div",{style:{color:"#6B758B"}},"\u5DF2\u7ED3\u675F"):mt.createElement("div",{style:{color:"#00B187"}},"\u8FDB\u884C\u4E2D"))),!Mt.is_accessible&&mt.createElement("div",{className:ht.lockWrap},mt.createElement("img",{src:`${W.Z.IMG_SERVER}/images/educoder/icon/lockclose.svg`}),mt.createElement("span",{className:"mt15 font16 c-white"},"\u975E\u8BFE\u5802\u6210\u5458\u4E0D\u53EF\u8FDB\u5165")))}),!Me.length&&mt.createElement(ae.Z,null)))},ct={flex_box_center:"flex_box_center___PuarE",flex_space_between:"flex_space_between___q4lAa",flex_box_vertical_center:"flex_box_vertical_center___wsb8w",flex_box_center_end:"flex_box_center_end___H781P",flex_box_column:"flex_box_column___bHK1y",list:"list___e2XDo",wrap:"wrap___cz7sh",lockWrap:"lockWrap___EPuRr",creator:"creator___Y6Xjp",img:"img___kSEud",text:"text___GIlhY",top:"top___K4GCD",sign:"sign___KCjEP",name:"name___z3U4d",middle:"middle___LeUM5",row:"row___VBzfJ",value:"value___qigWu",btns:"btns___kGysm",bottom:"bottom___yPYd5",warpStyle:"warpStyle___pH3uC"},rr="data:image/png;base64,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",Yt=({className:Ie,dataSource:Me=[],col:Ue=4,right:et,bottom:Qe=23,precision:st=0,wrapWidth:Re=1200,wrapClassName:tt,trackEventItems:vt,loading:Tt})=>{const Mt=Math.floor((Re-(Ue-1)*et)/Ue);return N.createElement(R.Z,{spinning:Tt},N.createElement("div",{className:m()(ct.list,Ie)},!!Me.length&&Me.map((it,Bt)=>{const{subject_identifier:qt,id:mr,identifier:Ft,power:Wt}=it,gr=it.is_public!=0&&it.is_public;return N.createElement("div",{className:m()(`${ct.wrap} ${it.is_accessible?"":ct.warpStyle}`,tt),key:mr,style:{width:Mt,marginRight:(1+Bt)%Ue===0?0:et+st,marginBottom:Qe}},N.createElement("a",{className:ct.li,onClick:or=>{or.preventDefault(),vt&&(0,G.L9)([vt]),(0,G.xg)(it.first_category_url)}},N.createElement("div",{className:ct.creator},N.createElement("img",{className:ct.img,src:W.Z.IMG_SERVER+"/images/"+it.avatar_url}),N.createElement("div",{className:ct.text,title:it.creator},it.creator)),N.createElement("div",{className:ct.top},N.createElement(B.Z,{title:it.name},N.createElement("div",{className:ct.name},it.name)),gr&&N.createElement("div",{className:ct.sign},"\u516C\u5F00")),N.createElement("div",{className:ct.middle},N.createElement("div",{className:ct.row,style:{marginBottom:6}},N.createElement("div",null,N.createElement("span",{className:ct.text},"\u8BBF\u95EE\u91CF"),N.createElement("span",{className:ct.value},(it==null?void 0:it.visits)||0)),N.createElement("div",null,N.createElement("span",{className:ct.text},"\u6210\u5458"),N.createElement("span",{className:ct.value},(it==null?void 0:it.course_members_count)||0))),N.createElement("div",{className:ct.row},N.createElement("div",null,N.createElement("span",{className:ct.text,style:{width:42}},"\u4F5C",N.createElement("span",{style:{marginLeft:14}},"\u4E1A")),N.createElement("span",{className:ct.value},(it==null?void 0:it.tasks_count)||0)),N.createElement("div",null,N.createElement("span",{className:ct.text},"\u72B6\u6001"),it.is_end?N.createElement("span",{className:ct.value,style:{color:"#6E8BAA"}},"\u5DF2\u7ED3\u675F"):N.createElement("span",{className:ct.value,style:{color:"#1AAE64"}},"\u8FDB\u884C\u4E2D")))),qt&&N.createElement("div",{className:ct.btns},N.createElement("div",null,"\u5F00\u653E\u8BFE\u7A0B"),N.createElement("aside",null,"\u5F00\u653E\u8BFE\u5802"))),!it.is_accessible&&N.createElement("div",{className:ct.lockWrap},N.createElement("img",{src:`${W.Z.IMG_SERVER}/images/educoder/icon/lockclose.svg`}),N.createElement("span",{className:"mt15 font16 c-white"},"\u975E\u8BFE\u5802\u6210\u5458\u4E0D\u53EF\u8FDB\u5165")))}),!Me.length&&N.createElement(ae.Z,null)))},kt={flex_box_center:"flex_box_center___eJQtn",flex_space_between:"flex_space_between___lzV1x",flex_box_vertical_center:"flex_box_vertical_center___IYfoZ",flex_box_center_end:"flex_box_center_end___lcJOu",flex_box_column:"flex_box_column____ShCG",list:"list___YXSRr",wrap:"wrap___ZGdF6",lockWrap:"lockWrap___VKZgR",creator:"creator___tLnuI",img:"img___P8alm",text:"text___ijpmj",top:"top___md6mc",sign:"sign___ydolt",name:"name___OEush",middle:"middle___WFQ2R",row:"row___MFUrm",value:"value___rEYMy",btns:"btns___Y5S2B",bottom:"bottom___RsfJC",warpStyle:"warpStyle___R8xtx"},Xe="data:image/png;base64,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",U=({className:Ie,dataSource:Me=[],col:Ue=4,right:et,bottom:Qe=23,precision:st=0,wrapWidth:Re=1200,wrapClassName:tt,trackEventItems:vt,loading:Tt})=>{const Mt=Math.floor((Re-(Ue-1)*et)/Ue);return N.createElement(R.Z,{spinning:Tt},N.createElement("div",{className:m()(kt.list,Ie)},!!Me.length&&Me.map((it,Bt)=>{const{subject_identifier:qt,id:mr,identifier:Ft,power:Wt}=it,gr=it.is_public!=0&&it.is_public;return N.createElement("div",{className:m()(`${kt.wrap} ${it.is_accessible?"":kt.warpStyle}`,tt),key:mr,style:{width:Mt,marginRight:(1+Bt)%Ue===0?0:et+st,marginBottom:Qe}},N.createElement("a",{className:kt.li,onClick:or=>{or.preventDefault(),vt&&(0,G.L9)([vt]),(0,G.xg)(it.first_category_url)}},N.createElement("div",{className:kt.creator},N.createElement("img",{className:kt.img,src:W.Z.IMG_SERVER+"/images/"+it.avatar_url}),N.createElement("div",{className:kt.text,title:it.creator},it.creator)),N.createElement("div",{className:kt.top},N.createElement(B.Z,{title:it.name},N.createElement("div",{className:kt.name},it.name)),gr&&N.createElement("div",{className:kt.sign})),N.createElement("div",{className:kt.middle},N.createElement("div",{className:kt.row,style:{marginBottom:6}},N.createElement("div",null,N.createElement("span",{className:kt.text},"\u8BBF\u95EE\u91CF"),N.createElement("span",{className:kt.value},(it==null?void 0:it.visits)||0)),N.createElement("div",null,N.createElement("span",{className:kt.text},"\u6210\u5458"),N.createElement("span",{className:kt.value},(it==null?void 0:it.course_members_count)||0))),N.createElement("div",{className:kt.row},N.createElement("div",null,N.createElement("span",{className:kt.text,style:{width:42}},"\u4F5C",N.createElement("span",{style:{marginLeft:14}},"\u4E1A")),N.createElement("span",{className:kt.value},(it==null?void 0:it.tasks_count)||0)),N.createElement("div",null,N.createElement("span",{className:kt.text},"\u72B6\u6001"),it.is_end?N.createElement("span",{className:kt.value,style:{color:"#6E8BAA"}},"\u5DF2\u7ED3\u675F"):N.createElement("span",{className:kt.value,style:{color:"#00DDC7"}},"\u8FDB\u884C\u4E2D")))),qt&&N.createElement("div",{className:kt.btns},N.createElement("div",null,"\u5F00\u653E\u8BFE\u7A0B"),N.createElement("aside",null,"\u5F00\u653E\u8BFE\u5802"))),!it.is_accessible&&N.createElement("div",{className:kt.lockWrap},N.createElement("img",{src:`${W.Z.IMG_SERVER}/images/educoder/icon/lockclose.svg`}),N.createElement("span",{className:"mt15 font16 c-white"},"\u975E\u8BFE\u5802\u6210\u5458\u4E0D\u53EF\u8FDB\u5165")))}),!Me.length&&N.createElement(ae.Z,null)))},H={flex_box_center:"flex_box_center___d27mZ",flex_space_between:"flex_space_between___qfRU9",flex_box_vertical_center:"flex_box_vertical_center___fCRld",flex_box_center_end:"flex_box_center_end___ORMV8",flex_box_column:"flex_box_column___PNKtZ",tabs:"tabs___alpa7",tabsWrap:"tabsWrap___aCQjw",tab:"tab___MKLr4",active:"active___nl_4v"},k=z(79966),J=({dataSource:Ie=[],value:Me,onChange:Ue,className:et,style:Qe={},tabBarExtraContent:st})=>N.createElement("div",{className:m()(H.tabs,et),style:Qe},N.createElement("div",{className:H.tabsWrap},Ie.map((Re,tt)=>N.createElement("aside",{className:H.tab,onClick:()=>{Ue(Re.id),Re.link&&k.history.push(Re.link)},key:tt},N.createElement("div",{className:Me===Re.id?H.active:""},Re.name),(Re==null?void 0:Re.resetCount)==null&&(Re==null?void 0:Re.total)!==void 0&&N.createElement("span",null,"\uFF08",Re==null?void 0:Re.total,"\uFF09"),(Re==null?void 0:Re.resetCount)!==void 0&&(Re==null?void 0:Re.total)!==void 0&&N.createElement(B.Z,{title:(Re==null?void 0:Re.tip)!=null?Re==null?void 0:Re.tip:""},N.createElement("span",{style:{color:"#9096A3"}},"\uFF08",N.createElement("span",{style:{color:"#000"}},Re==null?void 0:Re.resetCount),"/",N.createElement("span",null,Re==null?void 0:Re.total),"\uFF09"))))),N.createElement("div",{className:H.tabBar},st)),Q={flex_box_center:"flex_box_center___itkVp",flex_space_between:"flex_space_between___F4yZx",flex_box_vertical_center:"flex_box_vertical_center___ko4cu",flex_box_center_end:"flex_box_center_end___cCBYR",flex_box_column:"flex_box_column___Mpq6K",tabs:"tabs___qRAhL",tabsWrap:"tabsWrap___CGRvS",tab:"tab___eYne_",active:"active___swSx6"},pe=({dataSource:Ie=[],value:Me,onChange:Ue,className:et,style:Qe={},tabBarExtraContent:st})=>N.createElement("div",{className:m()(Q.tabs,et),style:Qe},N.createElement("div",{className:Q.tabsWrap},Ie.map((Re,tt)=>N.createElement("aside",{className:Q.tab,onClick:()=>{Ue(Re.id),Re.link&&k.history.push(Re.link)},key:tt},N.createElement("div",{className:Me===Re.id?Q.active:""},Re.name),(Re==null?void 0:Re.resetCount)==null&&(Re==null?void 0:Re.total)!==void 0&&N.createElement("span",null,"\uFF08",Re==null?void 0:Re.total,"\uFF09"),(Re==null?void 0:Re.resetCount)!==void 0&&(Re==null?void 0:Re.total)!==void 0&&N.createElement(B.Z,{title:(Re==null?void 0:Re.tip)!=null?Re==null?void 0:Re.tip:""},N.createElement("span",{style:{color:"#9096A3"}},"\uFF08",N.createElement("span",{style:{color:"#000"}},Re==null?void 0:Re.resetCount),"/",N.createElement("span",null,Re==null?void 0:Re.total),"\uFF09"))))),N.createElement("div",{className:Q.tabBar},st)),Be={flex_box_center:"flex_box_center___uWCU1",flex_space_between:"flex_space_between___pKZJo",flex_box_vertical_center:"flex_box_vertical_center___NKr7Z",flex_box_center_end:"flex_box_center_end___ycaEu",flex_box_column:"flex_box_column___dDKjA",tabs:"tabs___cNVh5",tabsWrap:"tabsWrap___IJpOg",tab:"tab___fitSZ",active:"active___LBYdH"},Je=({dataSource:Ie=[],value:Me,onChange:Ue,className:et,style:Qe={},tabBarExtraContent:st})=>N.createElement("div",{className:m()(Be.tabs,et),style:Qe},N.createElement("div",{className:Be.tabsWrap},Ie.map((Re,tt)=>N.createElement("aside",{className:`${Be.tab} ${Me===Re.id?Be.active:""}`,onClick:()=>{Ue(Re.id),Re.link&&k.history.push(Re.link)},key:tt},N.createElement("div",null,Re.name),(Re==null?void 0:Re.resetCount)==null&&(Re==null?void 0:Re.total)!==void 0&&N.createElement("span",null,"\uFF08",Re==null?void 0:Re.total,"\uFF09"),(Re==null?void 0:Re.resetCount)!==void 0&&(Re==null?void 0:Re.total)!==void 0&&N.createElement(B.Z,{title:(Re==null?void 0:Re.tip)!=null?Re==null?void 0:Re.tip:""},N.createElement("span",{style:{color:"#9096A3"}},"\uFF08",N.createElement("span",{style:{color:"#000"}},Re==null?void 0:Re.resetCount),"/",N.createElement("span",null,Re==null?void 0:Re.total),"\uFF09"))))),N.createElement("div",{className:Be.tabBar},st)),qe=({className:Ie,style:Me={},children:Ue})=>N.createElement("div",{className:m()(Ie),style:Me},Ue),Ze={flex_box_center:"flex_box_center___e6HxQ",flex_space_between:"flex_space_between___RnXYe",flex_box_vertical_center:"flex_box_vertical_center___lVxPk",flex_box_center_end:"flex_box_center_end___bu8yv",flex_box_column:"flex_box_column___JczGj",orderWrap:"orderWrap___ZfyGX",orderIconWrap:"orderIconWrap___XTB_O",orderAsc:"orderAsc___KWHmA",orderDesc:"orderDesc___rHdbB",active:"active___a7eSP",cursorPointer:"cursorPointer___gs9kL",orderTextWrap:"orderTextWrap___teAKn"},Ge=z(38854),Ve=z(20834);const at=[{id:"updated_at",name:"\u6700\u65B0\u52A8\u6001"},{id:"created_at",name:"\u6700\u65B0\u521B\u5EFA"},{id:"name",name:"\u540D\u79F0\u6392\u5E8F"}];var gt=({sortValue:Ie,dropValue:Me,className:Ue,onSort:et,onDrop:Qe,dataSource:st=at})=>{var Re;return N.createElement("div",{className:m()(Ze.orderWrap,Ue)},N.createElement(Ge.Z,{dropdownRender:()=>N.createElement(Ve.default,null,st.map((tt,vt)=>N.createElement(Ve.default.Item,{key:vt,onClick:()=>Qe(tt.id)},tt.name)))},N.createElement("span",{className:Ze.orderTextWrap},(Re=st.find(tt=>Me===tt.id))==null?void 0:Re.name)),N.createElement("span",{className:Ze.orderIconWrap},N.createElement("span",{className:Ze.orderAsc},N.createElement("i",{className:Ie==="asc"?`iconfont icon-sanjiaoxing-up font12 ${Ze.cursorPointer} ${Ze.active}`:`iconfont icon-sanjiaoxing-up font12 ${Ze.cursorPointer}`,onClick:()=>et(Ie==="asc"?"desc":"asc")})),N.createElement("span",{className:Ze.orderDesc},N.createElement("i",{className:Ie==="desc"?`iconfont icon-sanjiaoxing-down font12 ${Ze.cursorPointer} ${Ze.active}`:`iconfont icon-sanjiaoxing-down font12 ${Ze.cursorPointer}`,onClick:()=>et(Ie==="asc"?"desc":"asc")}))))},Rt={flex_box_center:"flex_box_center___JJ9sS",flex_space_between:"flex_space_between___t8Vfh",flex_box_vertical_center:"flex_box_vertical_center___NXwpW",flex_box_center_end:"flex_box_center_end___d7nF9",flex_box_column:"flex_box_column___RWkXa",orderWrap:"orderWrap___Z6UhI",orderIconWrap:"orderIconWrap___vT5et",orderAsc:"orderAsc___Xrpfj",orderDesc:"orderDesc___FgOA0",active:"active___ryj8i",cursorPointer:"cursorPointer___Gg3bB",orderTextWrap:"orderTextWrap___BAYWJ"};const Nt=[{id:"updated_at",name:"\u6700\u65B0\u52A8\u6001"},{id:"created_at",name:"\u6700\u65B0\u521B\u5EFA"},{id:"name",name:"\u540D\u79F0\u6392\u5E8F"}];var bt=({sortValue:Ie,dropValue:Me,className:Ue,onSort:et,onDrop:Qe,dataSource:st=Nt})=>{var Re;return N.createElement("div",{className:m()(Rt.orderWrap,Ue)},N.createElement(Ge.Z,{dropdownRender:()=>N.createElement(Ve.default,null,st.map((tt,vt)=>N.createElement(Ve.default.Item,{key:vt,onClick:()=>Qe(tt.id)},tt.name)))},N.createElement("span",{className:Rt.orderTextWrap},(Re=st.find(tt=>Me===tt.id))==null?void 0:Re.name)),N.createElement("span",{className:Rt.orderIconWrap},N.createElement("span",{className:Rt.orderAsc},N.createElement("i",{className:Ie==="asc"?`iconfont icon-sanjiaoxing-up font12 ${Rt.cursorPointer} ${Rt.active}`:`iconfont icon-sanjiaoxing-up font12 ${Rt.cursorPointer}`,onClick:()=>et(Ie==="asc"?"desc":"asc")})),N.createElement("span",{className:Rt.orderDesc},N.createElement("i",{className:Ie==="desc"?`iconfont icon-sanjiaoxing-down font12 ${Rt.cursorPointer} ${Rt.active}`:`iconfont icon-sanjiaoxing-down font12 ${Rt.cursorPointer}`,onClick:()=>et(Ie==="asc"?"desc":"asc")}))))},De={flex_box_center:"flex_box_center___LCi0B",flex_space_between:"flex_space_between___hzONe",flex_box_vertical_center:"flex_box_vertical_center___ZyQRE",flex_box_center_end:"flex_box_center_end___XKM74",flex_box_column:"flex_box_column___p8LCU",btn:"btn___In02G","mediacy-round":"mediacy-round___uveEv","mediacy-default":"mediacy-default___dDxsd",default:"default___K791v",ThemeOne:"ThemeOne___iCQio"},be=z(3113),Le=z(39617),ze=Object.defineProperty,We=Object.getOwnPropertySymbols,He=Object.prototype.hasOwnProperty,Fe=Object.prototype.propertyIsEnumerable,rt=(Ie,Me,Ue)=>Me in Ie?ze(Ie,Me,{enumerable:!0,configurable:!0,writable:!0,value:Ue}):Ie[Me]=Ue,Et=(Ie,Me)=>{for(var Ue in Me||(Me={}))He.call(Me,Ue)&&rt(Ie,Ue,Me[Ue]);if(We)for(var Ue of We(Me))Fe.call(Me,Ue)&&rt(Ie,Ue,Me[Ue]);return Ie},yt=(Ie,Me)=>{var Ue={};for(var et in Ie)He.call(Ie,et)&&Me.indexOf(et)<0&&(Ue[et]=Ie[et]);if(Ie!=null&&We)for(var et of We(Ie))Me.indexOf(et)<0&&Fe.call(Ie,et)&&(Ue[et]=Ie[et]);return Ue},Pt=(Ie,Me,Ue)=>new Promise((et,Qe)=>{var st=vt=>{try{tt(Ue.next(vt))}catch(Tt){Qe(Tt)}},Re=vt=>{try{tt(Ue.throw(vt))}catch(Tt){Qe(Tt)}},tt=vt=>vt.done?et(vt.value):Promise.resolve(vt.value).then(st,Re);tt((Ue=Ue.apply(Ie,Me)).next())}),zt=Ie=>{var Me=Ie,{className:Ue,style:et,children:Qe,loading:st=!1,openLoading:Re,onClick:tt=()=>{},size:vt="middle",shape:Tt="round",theme:Mt}=Me,it=yt(Me,["className","style","children","loading","openLoading","onClick","size","shape","theme"]);const[Bt,qt]=(0,N.useState)(!1),mr=(0,N.useMemo)(()=>{switch(Mt){case Le.Fy.THEMEONE:return De.ThemeOne;case Le.Fy.DEFAULT:default:return De.btn}},[Mt]);return N.createElement(be.ZP,Et({onClick:(0,x.throttle)(Ft=>Pt(void 0,null,function*(){Re&&qt(!0);try{yield tt(Ft)}catch(Wt){console.log("error",Wt)}Re&&qt(!1)}),2e3,{leading:!0,trailing:!1}),className:m()(mr,De[`${vt}-${Tt}`],Ue),style:et,size:vt,shape:Tt,loading:Bt||st},it),Qe)},Lt={flex_box_center:"flex_box_center___TB7bQ",flex_space_between:"flex_space_between___oBlTb",flex_box_vertical_center:"flex_box_vertical_center___b5XbB",flex_box_center_end:"flex_box_center_end___CNhe7",flex_box_column:"flex_box_column___yHXKW",head:"head___ghH72",node:"node___mjPEy"},Vt=({className:Ie,style:Me,children:Ue=null,onClick:et,title:Qe})=>N.createElement("div",{className:m()(Lt.head,Ie),style:Me},N.createElement("span",{className:"primary-hover",onClick:et},N.createElement("i",{className:"iconfont icon-fanhui2 font12"}),"\u8FD4\u56DE"),N.createElement("b",{title:Qe},Qe),N.createElement("div",{className:Lt.node},Ue)),Ht={flex_box_center:"flex_box_center___AlHuF",flex_space_between:"flex_space_between___vN2LW",flex_box_vertical_center:"flex_box_vertical_center___Ac7D2",flex_box_center_end:"flex_box_center_end___y38I7",flex_box_column:"flex_box_column___iQE6P",btns:"btns___sNgTb",confirm:"confirm___Ozirl",cancel:"cancel___aiq1I"},nr=({confirmShow:Ie=!0,confirmTitle:Me,confirmClick:Ue,cancelShow:et=!0,cancelTitle:Qe,cancelClick:st,className:Re,style:tt,confirmLoading:vt=!1})=>N.createElement("div",{className:m()(Ht.btns,Re),style:tt},Ie&&N.createElement(be.ZP,{loading:vt,onClick:Ue,type:"primary",className:Ht.confirm},Me),et&&N.createElement(be.ZP,{onClick:st,className:Ht.cancel},Qe)),Xt={flex_box_center:"flex_box_center___jkpdr",flex_space_between:"flex_space_between___OtsL8",flex_box_vertical_center:"flex_box_vertical_center___rbcb_",flex_box_center_end:"flex_box_center_end___zBR21",flex_box_column:"flex_box_column___nS_eP",fixedBottom:"fixedBottom___oJl7m",wrap:"wrap___A3Oq1",center:"center____VL1y"},Qt=({className:Ie,style:Me={},LeftContent:Ue,children:et,RightContent:Qe})=>N.createElement("div",{className:m()(Xt.fixedBottom,Ie),style:Me},N.createElement("div",{className:Xt.wrap},N.createElement("div",{className:Xt.left},Ue),N.createElement("div",{className:Xt.center},et),N.createElement("div",{className:Xt.right},Qe))),sr={flex_box_center:"flex_box_center___tY8Yn",flex_space_between:"flex_space_between___vHdYA",flex_box_vertical_center:"flex_box_vertical_center___pa61F",flex_box_center_end:"flex_box_center_end___HyDXt",flex_box_column:"flex_box_column___UjZek",crumbs:"crumbs___V41Oe",hover:"hover___bEIVd"},wt=({className:Ie,style:Me={},dataSource:Ue=[]})=>N.createElement("div",{className:m()(sr.crumbs,Ie),style:Me},Ue.map((et,Qe)=>Qe<Ue.length-1?N.createElement(N.Fragment,{key:Qe},et.path||et.onClick?N.createElement("span",{className:sr.hover,onClick:et!=null&&et.onClick?et.onClick:()=>k.history.push(et.path)},et.name):N.createElement("span",null,et.name),N.createElement("span",null,"\xA0",">","\xA0")):N.createElement("span",{key:Qe,style:{color:"#5F6368"}},et.name))),It=z(31797),Ut=Object.defineProperty,ur=Object.defineProperties,ir=Object.getOwnPropertyDescriptors,ar=Object.getOwnPropertySymbols,tr=Object.prototype.hasOwnProperty,fr=Object.prototype.propertyIsEnumerable,xr=(Ie,Me,Ue)=>Me in Ie?Ut(Ie,Me,{enumerable:!0,configurable:!0,writable:!0,value:Ue}):Ie[Me]=Ue,dr=(Ie,Me)=>{for(var Ue in Me||(Me={}))tr.call(Me,Ue)&&xr(Ie,Ue,Me[Ue]);if(ar)for(var Ue of ar(Me))fr.call(Me,Ue)&&xr(Ie,Ue,Me[Ue]);return Ie},Ar=(Ie,Me)=>ur(Ie,ir(Me)),Ct=(Ie,Me)=>{var Ue={};for(var et in Ie)tr.call(Ie,et)&&Me.indexOf(et)<0&&(Ue[et]=Ie[et]);if(Ie!=null&&ar)for(var et of ar(Ie))Me.indexOf(et)<0&&fr.call(Ie,et)&&(Ue[et]=Ie[et]);return Ue};const{Countdown:_t}=It.default;var Jt=Ie=>{var Me=Ie,{onChange:Ue}=Me,et=Ct(Me,["onChange"]);const[Qe,st]=(0,N.useState)(null);(0,N.useEffect)(()=>{typeof Qe=="number"&&Qe>=0&&Ue(Qe)},[Qe]);const Re=tt=>{const vt=Math.floor(tt/1e3);st(vt)};return N.createElement(_t,Ar(dr({},et),{onChange:Re}))},hr={ClassRoomItem:"ClassRoomItem___F4pL0",TitleDom:"TitleDom___DB76T"},Tr=({DataProps:Ie,className:Me,style:Ue={}})=>{var et;return N.createElement("div",{className:m()("rounded-40px bg-white py-10px pb-30px px-30px flex gap-22px current h-full",hr.ClassRoomItem,Me),style:Ue,onClick:()=>{(0,G.xg)(Ie==null?void 0:Ie.first_category_url)}},N.createElement("div",{className:"flex flex-col item-center"},N.createElement("img",{src:`${(et=W.Z)==null?void 0:et.IMG_SERVER}/images/${Ie==null?void 0:Ie.avatar_url}`,className:"rounded-full",style:{height:76,width:76,marginTop:"-24px"}}),(Ie==null?void 0:Ie.subject_identifier)&&N.createElement("div",{className:"mt-40px"},N.createElement("div",{className:"rounded-full",style:{background:"rgba(33,202,159,0.1)",border:"1px solid #6BFF98",color:"#0EA17B"}},"\u5F00\u653E\u8BFE\u7A0B"),N.createElement("div",{className:"rounded-full",style:{background:"rgba(255,160,0,0.1)",border:"1px solid #FFC055",color:"#C97319"}},"\u5F00\u653E\u8BFE\u5802"))),N.createElement("div",{className:"flex-1 flex flex-col justify-between gap-10px"},N.createElement("div",{className:"multi_ellipsis2",style:{height:48}},!!(Ie!=null&&Ie.is_public)&&N.createElement("div",{className:"c-white rounded-4px mr-4px h-24px w-42px item-center justify-center",style:{background:"#21CA9F",border:"1px solid #6BFF98",display:"inline-flex"}},"\u516C\u5F00"),N.createElement("span",{className:m()("text-16px font-medium",hr.TitleDom)},Ie==null?void 0:Ie.name)),N.createElement("div",{className:"c-grey-333 font-medium"},Ie==null?void 0:Ie.creator),N.createElement("div",{className:"c-grey-333"},"\u6210\u5458\uFF1A",Ie==null?void 0:Ie.course_members_count),N.createElement("div",{className:"c-grey-333 flex item-center justify-between"},N.createElement("div",null,"\u4F5C\u4E1A\uFF1A",Ie==null?void 0:Ie.tasks_count),Ie!=null&&Ie.is_end?N.createElement("div",{style:{color:"#5F6A95"}},"\u5DF2\u7ED3\u675F"):N.createElement("div",{style:{color:"#37AD83"}},"\u8FDB\u884C\u4E2D"))))},Er=Object.defineProperty,Sr=Object.getOwnPropertySymbols,br=Object.prototype.hasOwnProperty,Mr=Object.prototype.propertyIsEnumerable,Lr=(Ie,Me,Ue)=>Me in Ie?Er(Ie,Me,{enumerable:!0,configurable:!0,writable:!0,value:Ue}):Ie[Me]=Ue,yr=(Ie,Me)=>{for(var Ue in Me||(Me={}))br.call(Me,Ue)&&Lr(Ie,Ue,Me[Ue]);if(Sr)for(var Ue of Sr(Me))Mr.call(Me,Ue)&&Lr(Ie,Ue,Me[Ue]);return Ie},Br=({DataProps:Ie=[],selectValue:Me,onChange:Ue,className:et,style:Qe={},extra:st,classNameItem:Re,styleItem:tt={},barHidden:vt})=>{const[Tt,Mt]=(0,N.useState)();return(0,N.useEffect)(()=>{Mt(Array.isArray(Me)?Me:[Me])},[Me]),N.createElement("div",{className:m()("flex px-20px py-10px gap-40px",et),style:yr({borderBottom:"1px solid #D3F0FF"},Qe)},Ie==null?void 0:Ie.map(it=>N.createElement("div",{key:it==null?void 0:it.id,className:m()("flex item-center justify-center current c-grey-333 text-16 relative",Re,it==null?void 0:it.className),style:yr(yr({color:Tt!=null&&Tt.includes(it==null?void 0:it.id)?"#1890FF":"",minWidth:88},tt),(it==null?void 0:it.style)||{}),onClick:Bt=>{Ue==null||Ue({domEvent:Bt,item:it}),it!=null&&it.link&&k.history.push(it==null?void 0:it.link)}},it==null?void 0:it.name,!vt&&(Tt==null?void 0:Tt.includes(it==null?void 0:it.id))&&N.createElement("div",{className:"absolute w-full h-2px",style:{background:"#1890FF",bottom:"-10px",left:0}}))),N.createElement("div",{className:"ml-auto"},st))},Xr=Object.defineProperty,Vr=Object.defineProperties,Hr=Object.getOwnPropertyDescriptors,Wr=Object.getOwnPropertySymbols,sn=Object.prototype.hasOwnProperty,zr=Object.prototype.propertyIsEnumerable,$r=(Ie,Me,Ue)=>Me in Ie?Xr(Ie,Me,{enumerable:!0,configurable:!0,writable:!0,value:Ue}):Ie[Me]=Ue,en=(Ie,Me)=>{for(var Ue in Me||(Me={}))sn.call(Me,Ue)&&$r(Ie,Ue,Me[Ue]);if(Wr)for(var Ue of Wr(Me))zr.call(Me,Ue)&&$r(Ie,Ue,Me[Ue]);return Ie},tn=(Ie,Me)=>Vr(Ie,Hr(Me)),ln=({value:Ie,onChange:Me,onInputChange:Ue,className:et,style:Qe={},InputProps:st})=>{const[Re,tt]=(0,N.useState)(Ie);return N.createElement("div",{className:m()("flex item-center rounded-full px-10px py-2px",et),style:en({background:"linear-gradient( #E4F6FF 0%, #EAF3FF 100%)",border:"1px solid #fff",boxShadow:"inset 0px 1px 3px 0px rgba(133,188,255,0.5)"},Qe)},N.createElement(y.default,tn(en({bordered:!1},st),{onChange:vt=>{tt(vt.target.value),Ue==null||Ue(encodeURIComponent(vt.target.value))},onPressEnter:vt=>{Me==null||Me({domEvent:vt,item:{value:Re}})}})),N.createElement("img",{className:"h-22px current",src:z(25365),height:22,onClick:vt=>{Me==null||Me({domEvent:vt,item:{value:Re}})}}))}},47233:function(nt,Pe,z){"use strict";z.d(Pe,{BU:function(){return K},Dj:function(){return N},gH:function(){return O},vp:function(){return E}});function N(M){try{M.mozRequestFullScreen?M.mozRequestFullScreen():M.webkitRequestFullScreen&&M.webkitRequestFullScreen()}catch(A){console.log(A,":e")}}function K(){window.top.document.webkitExitFullscreen?window.top.document.webkitExitFullscreen():document.exitFullscreen?window.top.document.exitFullscreen():document.msExitFullscreen?window.top.document.msExitFullscreen():document.mozCancelFullScreen&&window.top.document.mozCancelFullScreen()}const O=()=>{if(document.webkitExitFullscreen)return"webkitfullscreenchange";if(document.exitFullscreen)return"fullscreenchange";if(document.msExitFullscreen)return"msfullscreenchange";if(document.mozCancelFullScreen)return"mozfullscreenchange"};function E(){var M=window.top.document.fullscreenElement||window.top.document.mozFullscreenElement||window.top.document.webkitFullscreenElement,A=document.fullscreenEnabled||document.mozFullscreenEnabled||document.webkitFullscreenEnabled;return console.log("fullscreenElement",M),window.isFullScreen?window.isFullScreen:M!=null}},87113:function(nt,Pe,z){"use strict";z.d(Pe,{U:function(){return x}});var N=z(59301),K=Object.defineProperty,O=Object.getOwnPropertySymbols,E=Object.prototype.hasOwnProperty,M=Object.prototype.propertyIsEnumerable,A=(g,c,u)=>c in g?K(g,c,{enumerable:!0,configurable:!0,writable:!0,value:u}):g[c]=u,_=(g,c)=>{for(var u in c||(c={}))E.call(c,u)&&A(g,u,c[u]);if(O)for(var u of O(c))M.call(c,u)&&A(g,u,c[u]);return g},m=(g,c,u)=>new Promise((h,r)=>{var n=s=>{try{f(u.next(s))}catch(l){r(l)}},a=s=>{try{f(u.throw(s))}catch(l){r(l)}},f=s=>s.done?h(s.value):Promise.resolve(s.value).then(n,a);f((u=u.apply(g,c)).next())});function x(g,c){const[u,h]=(0,N.useState)(c),[r,n]=(0,N.useState)(!1),[a,f]=(0,N.useState)();return[u,r,(l,d=!1)=>m(this,null,function*(){const e=d?c:_(_({},u),l);n(!0),h(e);const t=yield g(e);return n(!1),f(t),t}),a,f]}},77493:function(nt,Pe,z){"use strict";z.d(Pe,{Z:function(){return kt}});class N{static install(){Object.setPrototypeOf=Object.setPrototypeOf||function(T,U){return T.__proto__=U,T},Object.assign=Object.assign||function(T){if(T==null)throw new TypeError("Cannot convert undefined or null to object");let U=Object(T);for(let H=1;H<arguments.length;H++){let k=arguments[H];if(k!=null)for(let te in k)k.hasOwnProperty(te)&&(U[te]=k[te])}return U},typeof self.Promise!="function"&&z(3867).polyfill()}}N.install();var K=N,O=z(86204),E=z.n(O);class M{static e(T,U){(!T||M.FORCE_GLOBAL_TAG)&&(T=M.GLOBAL_TAG);let H=`[${T}] > ${U}`;M.ENABLE_CALLBACK&&M.emitter.emit("log","error",H),M.ENABLE_ERROR&&(console.error?console.error(H):console.warn?console.warn(H):console.log(H))}static i(T,U){(!T||M.FORCE_GLOBAL_TAG)&&(T=M.GLOBAL_TAG);let H=`[${T}] > ${U}`;M.ENABLE_CALLBACK&&M.emitter.emit("log","info",H),M.ENABLE_INFO&&(console.info?console.info(H):console.log(H))}static w(T,U){(!T||M.FORCE_GLOBAL_TAG)&&(T=M.GLOBAL_TAG);let H=`[${T}] > ${U}`;M.ENABLE_CALLBACK&&M.emitter.emit("log","warn",H),M.ENABLE_WARN&&(console.warn?console.warn(H):console.log(H))}static d(T,U){(!T||M.FORCE_GLOBAL_TAG)&&(T=M.GLOBAL_TAG);let H=`[${T}] > ${U}`;M.ENABLE_CALLBACK&&M.emitter.emit("log","debug",H),M.ENABLE_DEBUG&&(console.debug?console.debug(H):console.log(H))}static v(T,U){(!T||M.FORCE_GLOBAL_TAG)&&(T=M.GLOBAL_TAG);let H=`[${T}] > ${U}`;M.ENABLE_CALLBACK&&M.emitter.emit("log","verbose",H),M.ENABLE_VERBOSE&&console.log(H)}}M.GLOBAL_TAG="flv.js",M.FORCE_GLOBAL_TAG=!1,M.ENABLE_ERROR=!0,M.ENABLE_INFO=!0,M.ENABLE_WARN=!0,M.ENABLE_DEBUG=!0,M.ENABLE_VERBOSE=!0,M.ENABLE_CALLBACK=!1,M.emitter=new(E());var A=M;class _{constructor(){this._firstCheckpoint=0,this._lastCheckpoint=0,this._intervalBytes=0,this._totalBytes=0,this._lastSecondBytes=0,self.performance&&self.performance.now?this._now=self.performance.now.bind(self.performance):this._now=Date.now}reset(){this._firstCheckpoint=this._lastCheckpoint=0,this._totalBytes=this._intervalBytes=0,this._lastSecondBytes=0}addBytes(T){this._firstCheckpoint===0?(this._firstCheckpoint=this._now(),this._lastCheckpoint=this._firstCheckpoint,this._intervalBytes+=T,this._totalBytes+=T):this._now()-this._lastCheckpoint<1e3?(this._intervalBytes+=T,this._totalBytes+=T):(this._lastSecondBytes=this._intervalBytes,this._intervalBytes=T,this._totalBytes+=T,this._lastCheckpoint=this._now())}get currentKBps(){this.addBytes(0);let T=(this._now()-this._lastCheckpoint)/1e3;return T==0&&(T=1),this._intervalBytes/T/1024}get lastSecondKBps(){return this.addBytes(0),this._lastSecondBytes!==0?this._lastSecondBytes/1024:this._now()-this._lastCheckpoint>=500?this.currentKBps:0}get averageKBps(){let T=(this._now()-this._firstCheckpoint)/1e3;return this._totalBytes/T/1024}}var m=_;class x{constructor(T){this._message=T}get name(){return"RuntimeException"}get message(){return this._message}toString(){return this.name+": "+this.message}}class g extends x{constructor(T){super(T)}get name(){return"IllegalStateException"}}class c extends x{constructor(T){super(T)}get name(){return"InvalidArgumentException"}}class u extends x{constructor(T){super(T)}get name(){return"NotImplementedException"}}const h={kIdle:0,kConnecting:1,kBuffering:2,kError:3,kComplete:4},r={OK:"OK",EXCEPTION:"Exception",HTTP_STATUS_CODE_INVALID:"HttpStatusCodeInvalid",CONNECTING_TIMEOUT:"ConnectingTimeout",EARLY_EOF:"EarlyEof",UNRECOVERABLE_EARLY_EOF:"UnrecoverableEarlyEof"};class n{constructor(T){this._type=T||"undefined",this._status=h.kIdle,this._needStash=!1,this._onContentLengthKnown=null,this._onURLRedirect=null,this._onDataArrival=null,this._onError=null,this._onComplete=null}destroy(){this._status=h.kIdle,this._onContentLengthKnown=null,this._onURLRedirect=null,this._onDataArrival=null,this._onError=null,this._onComplete=null}isWorking(){return this._status===h.kConnecting||this._status===h.kBuffering}get type(){return this._type}get status(){return this._status}get needStashBuffer(){return this._needStash}get onContentLengthKnown(){return this._onContentLengthKnown}set onContentLengthKnown(T){this._onContentLengthKnown=T}get onURLRedirect(){return this._onURLRedirect}set onURLRedirect(T){this._onURLRedirect=T}get onDataArrival(){return this._onDataArrival}set onDataArrival(T){this._onDataArrival=T}get onError(){return this._onError}set onError(T){this._onError=T}get onComplete(){return this._onComplete}set onComplete(T){this._onComplete=T}open(T,U){throw new u("Unimplemented abstract function!")}abort(){throw new u("Unimplemented abstract function!")}}let a={};function f(){let Xe=self.navigator.userAgent.toLowerCase(),T=/(edge)\/([\w.]+)/.exec(Xe)||/(opr)[\/]([\w.]+)/.exec(Xe)||/(chrome)[ \/]([\w.]+)/.exec(Xe)||/(iemobile)[\/]([\w.]+)/.exec(Xe)||/(version)(applewebkit)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(Xe)||/(webkit)[ \/]([\w.]+).*(version)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(Xe)||/(webkit)[ \/]([\w.]+)/.exec(Xe)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(Xe)||/(msie) ([\w.]+)/.exec(Xe)||Xe.indexOf("trident")>=0&&/(rv)(?::| )([\w.]+)/.exec(Xe)||Xe.indexOf("compatible")<0&&/(firefox)[ \/]([\w.]+)/.exec(Xe)||[],U=/(ipad)/.exec(Xe)||/(ipod)/.exec(Xe)||/(windows phone)/.exec(Xe)||/(iphone)/.exec(Xe)||/(kindle)/.exec(Xe)||/(android)/.exec(Xe)||/(windows)/.exec(Xe)||/(mac)/.exec(Xe)||/(linux)/.exec(Xe)||/(cros)/.exec(Xe)||[],H={browser:T[5]||T[3]||T[1]||"",version:T[2]||T[4]||"0",majorVersion:T[4]||T[2]||"0",platform:U[0]||""},k={};if(H.browser){k[H.browser]=!0;let te=H.majorVersion.split(".");k.version={major:parseInt(H.majorVersion,10),string:H.version},te.length>1&&(k.version.minor=parseInt(te[1],10)),te.length>2&&(k.version.build=parseInt(te[2],10))}if(H.platform&&(k[H.platform]=!0),(k.chrome||k.opr||k.safari)&&(k.webkit=!0),k.rv||k.iemobile){k.rv&&delete k.rv;let te="msie";H.browser=te,k[te]=!0}if(k.edge){delete k.edge;let te="msedge";H.browser=te,k[te]=!0}if(k.opr){let te="opera";H.browser=te,k[te]=!0}if(k.safari&&k.android){let te="android";H.browser=te,k[te]=!0}k.name=H.browser,k.platform=H.platform;for(let te in a)a.hasOwnProperty(te)&&delete a[te];Object.assign(a,k)}f();var s=a;class l extends n{static isSupported(){try{let T=s.msedge&&s.version.minor>=15048,U=s.msedge?T:!0;return self.fetch&&self.ReadableStream&&U}catch(T){return!1}}constructor(T,U){super("fetch-stream-loader"),this.TAG="FetchStreamLoader",this._seekHandler=T,this._config=U,this._needStash=!0,this._requestAbort=!1,this._contentLength=null,this._receivedLength=0}destroy(){this.isWorking()&&this.abort(),super.destroy()}open(T,U){this._dataSource=T,this._range=U;let H=T.url;this._config.reuseRedirectedURL&&T.redirectedURL!=null&&(H=T.redirectedURL);let k=this._seekHandler.getConfig(H,U),te=new self.Headers;if(typeof k.headers=="object"){let Q=k.headers;for(let Te in Q)Q.hasOwnProperty(Te)&&te.append(Te,Q[Te])}let J={method:"GET",headers:te,mode:"cors",cache:"default",referrerPolicy:"no-referrer-when-downgrade"};if(typeof this._config.headers=="object")for(let Q in this._config.headers)te.append(Q,this._config.headers[Q]);T.cors===!1&&(J.mode="same-origin"),T.withCredentials&&(J.credentials="include"),T.referrerPolicy&&(J.referrerPolicy=T.referrerPolicy),this._status=h.kConnecting,self.fetch(k.url,J).then(Q=>{if(this._requestAbort){this._requestAbort=!1,this._status=h.kIdle;return}if(Q.ok&&Q.status>=200&&Q.status<=299){if(Q.url!==k.url&&this._onURLRedirect){let pe=this._seekHandler.removeURLParameters(Q.url);this._onURLRedirect(pe)}let Te=Q.headers.get("Content-Length");return Te!=null&&(this._contentLength=parseInt(Te),this._contentLength!==0&&this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength)),this._pump.call(this,Q.body.getReader())}else if(this._status=h.kError,this._onError)this._onError(r.HTTP_STATUS_CODE_INVALID,{code:Q.status,msg:Q.statusText});else throw new x("FetchStreamLoader: Http code invalid, "+Q.status+" "+Q.statusText)}).catch(Q=>{if(this._status=h.kError,this._onError)this._onError(r.EXCEPTION,{code:-1,msg:Q.message});else throw Q})}abort(){this._requestAbort=!0}_pump(T){return T.read().then(U=>{if(U.done)if(this._contentLength!==null&&this._receivedLength<this._contentLength){this._status=h.kError;let H=r.EARLY_EOF,k={code:-1,msg:"Fetch stream meet Early-EOF"};if(this._onError)this._onError(H,k);else throw new x(k.msg)}else this._status=h.kComplete,this._onComplete&&this._onComplete(this._range.from,this._range.from+this._receivedLength-1);else{if(this._requestAbort===!0)return this._requestAbort=!1,this._status=h.kComplete,T.cancel();this._status=h.kBuffering;let H=U.value.buffer,k=this._range.from+this._receivedLength;this._receivedLength+=H.byteLength,this._onDataArrival&&this._onDataArrival(H,k,this._receivedLength),this._pump(T)}}).catch(U=>{if(U.code===11&&s.msedge)return;this._status=h.kError;let H=0,k=null;if((U.code===19||U.message==="network error")&&(this._contentLength===null||this._contentLength!==null&&this._receivedLength<this._contentLength)?(H=r.EARLY_EOF,k={code:U.code,msg:"Fetch stream meet Early-EOF"}):(H=r.EXCEPTION,k={code:U.code,msg:U.message}),this._onError)this._onError(H,k);else throw new x(k.msg)})}}var d=l;class e extends n{static isSupported(){try{let T=new XMLHttpRequest;return T.open("GET","https://example.com",!0),T.responseType="moz-chunked-arraybuffer",T.responseType==="moz-chunked-arraybuffer"}catch(T){return A.w("MozChunkedLoader",T.message),!1}}constructor(T,U){super("xhr-moz-chunked-loader"),this.TAG="MozChunkedLoader",this._seekHandler=T,this._config=U,this._needStash=!0,this._xhr=null,this._requestAbort=!1,this._contentLength=null,this._receivedLength=0}destroy(){this.isWorking()&&this.abort(),this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onloadend=null,this._xhr.onerror=null,this._xhr=null),super.destroy()}open(T,U){this._dataSource=T,this._range=U;let H=T.url;this._config.reuseRedirectedURL&&T.redirectedURL!=null&&(H=T.redirectedURL);let k=this._seekHandler.getConfig(H,U);this._requestURL=k.url;let te=this._xhr=new XMLHttpRequest;if(te.open("GET",k.url,!0),te.responseType="moz-chunked-arraybuffer",te.onreadystatechange=this._onReadyStateChange.bind(this),te.onprogress=this._onProgress.bind(this),te.onloadend=this._onLoadEnd.bind(this),te.onerror=this._onXhrError.bind(this),T.withCredentials&&(te.withCredentials=!0),typeof k.headers=="object"){let J=k.headers;for(let Q in J)J.hasOwnProperty(Q)&&te.setRequestHeader(Q,J[Q])}if(typeof this._config.headers=="object"){let J=this._config.headers;for(let Q in J)J.hasOwnProperty(Q)&&te.setRequestHeader(Q,J[Q])}this._status=h.kConnecting,te.send()}abort(){this._requestAbort=!0,this._xhr&&this._xhr.abort(),this._status=h.kComplete}_onReadyStateChange(T){let U=T.target;if(U.readyState===2){if(U.responseURL!=null&&U.responseURL!==this._requestURL&&this._onURLRedirect){let H=this._seekHandler.removeURLParameters(U.responseURL);this._onURLRedirect(H)}if(U.status!==0&&(U.status<200||U.status>299))if(this._status=h.kError,this._onError)this._onError(r.HTTP_STATUS_CODE_INVALID,{code:U.status,msg:U.statusText});else throw new x("MozChunkedLoader: Http code invalid, "+U.status+" "+U.statusText);else this._status=h.kBuffering}}_onProgress(T){if(this._status===h.kError)return;this._contentLength===null&&T.total!==null&&T.total!==0&&(this._contentLength=T.total,this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength));let U=T.target.response,H=this._range.from+this._receivedLength;this._receivedLength+=U.byteLength,this._onDataArrival&&this._onDataArrival(U,H,this._receivedLength)}_onLoadEnd(T){if(this._requestAbort===!0){this._requestAbort=!1;return}else if(this._status===h.kError)return;this._status=h.kComplete,this._onComplete&&this._onComplete(this._range.from,this._range.from+this._receivedLength-1)}_onXhrError(T){this._status=h.kError;let U=0,H=null;if(this._contentLength&&T.loaded<this._contentLength?(U=r.EARLY_EOF,H={code:-1,msg:"Moz-Chunked stream meet Early-Eof"}):(U=r.EXCEPTION,H={code:-1,msg:T.constructor.name+" "+T.type}),this._onError)this._onError(U,H);else throw new x(H.msg)}}var t=e;class i extends null{static isSupported(){try{if(typeof self.MSStream=="undefined"||typeof self.MSStreamReader=="undefined")return!1;let T=new XMLHttpRequest;return T.open("GET","https://example.com",!0),T.responseType="ms-stream",T.responseType==="ms-stream"}catch(T){return Log.w("MSStreamLoader",T.message),!1}}constructor(T,U){super("xhr-msstream-loader"),this.TAG="MSStreamLoader",this._seekHandler=T,this._config=U,this._needStash=!0,this._xhr=null,this._reader=null,this._totalRange=null,this._currentRange=null,this._currentRequestURL=null,this._currentRedirectedURL=null,this._contentLength=null,this._receivedLength=0,this._bufferLimit=16*1024*1024,this._lastTimeBufferSize=0,this._isReconnecting=!1}destroy(){this.isWorking()&&this.abort(),this._reader&&(this._reader.onprogress=null,this._reader.onload=null,this._reader.onerror=null,this._reader=null),this._xhr&&(this._xhr.onreadystatechange=null,this._xhr=null),super.destroy()}open(T,U){this._internalOpen(T,U,!1)}_internalOpen(T,U,H){this._dataSource=T,H?this._currentRange=U:this._totalRange=U;let k=T.url;this._config.reuseRedirectedURL&&(this._currentRedirectedURL!=null?k=this._currentRedirectedURL:T.redirectedURL!=null&&(k=T.redirectedURL));let te=this._seekHandler.getConfig(k,U);this._currentRequestURL=te.url;let J=this._reader=new self.MSStreamReader;J.onprogress=this._msrOnProgress.bind(this),J.onload=this._msrOnLoad.bind(this),J.onerror=this._msrOnError.bind(this);let Q=this._xhr=new XMLHttpRequest;if(Q.open("GET",te.url,!0),Q.responseType="ms-stream",Q.onreadystatechange=this._xhrOnReadyStateChange.bind(this),Q.onerror=this._xhrOnError.bind(this),T.withCredentials&&(Q.withCredentials=!0),typeof te.headers=="object"){let Te=te.headers;for(let pe in Te)Te.hasOwnProperty(pe)&&Q.setRequestHeader(pe,Te[pe])}if(typeof this._config.headers=="object"){let Te=this._config.headers;for(let pe in Te)Te.hasOwnProperty(pe)&&Q.setRequestHeader(pe,Te[pe])}this._isReconnecting?this._isReconnecting=!1:this._status=LoaderStatus.kConnecting,Q.send()}abort(){this._internalAbort(),this._status=LoaderStatus.kComplete}_internalAbort(){this._reader&&(this._reader.readyState===1&&this._reader.abort(),this._reader.onprogress=null,this._reader.onload=null,this._reader.onerror=null,this._reader=null),this._xhr&&(this._xhr.abort(),this._xhr.onreadystatechange=null,this._xhr=null)}_xhrOnReadyStateChange(T){let U=T.target;if(U.readyState===2)if(U.status>=200&&U.status<=299){if(this._status=LoaderStatus.kBuffering,U.responseURL!=null){let k=this._seekHandler.removeURLParameters(U.responseURL);U.responseURL!==this._currentRequestURL&&k!==this._currentRedirectedURL&&(this._currentRedirectedURL=k,this._onURLRedirect&&this._onURLRedirect(k))}let H=U.getResponseHeader("Content-Length");if(H!=null&&this._contentLength==null){let k=parseInt(H);k>0&&(this._contentLength=k,this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength))}}else if(this._status=LoaderStatus.kError,this._onError)this._onError(LoaderErrors.HTTP_STATUS_CODE_INVALID,{code:U.status,msg:U.statusText});else throw new RuntimeException("MSStreamLoader: Http code invalid, "+U.status+" "+U.statusText);else if(U.readyState===3&&U.status>=200&&U.status<=299){this._status=LoaderStatus.kBuffering;let H=U.response;this._reader.readAsArrayBuffer(H)}}_xhrOnError(T){this._status=LoaderStatus.kError;let U=LoaderErrors.EXCEPTION,H={code:-1,msg:T.constructor.name+" "+T.type};if(this._onError)this._onError(U,H);else throw new RuntimeException(H.msg)}_msrOnProgress(T){let H=T.target.result;if(H==null){this._doReconnectIfNeeded();return}let k=H.slice(this._lastTimeBufferSize);this._lastTimeBufferSize=H.byteLength;let te=this._totalRange.from+this._receivedLength;this._receivedLength+=k.byteLength,this._onDataArrival&&this._onDataArrival(k,te,this._receivedLength),H.byteLength>=this._bufferLimit&&(Log.v(this.TAG,`MSStream buffer exceeded max size near ${te+k.byteLength}, reconnecting...`),this._doReconnectIfNeeded())}_doReconnectIfNeeded(){if(this._contentLength==null||this._receivedLength<this._contentLength){this._isReconnecting=!0,this._lastTimeBufferSize=0,this._internalAbort();let T={from:this._totalRange.from+this._receivedLength,to:-1};this._internalOpen(this._dataSource,T,!0)}}_msrOnLoad(T){this._status=LoaderStatus.kComplete,this._onComplete&&this._onComplete(this._totalRange.from,this._totalRange.from+this._receivedLength-1)}_msrOnError(T){this._status=LoaderStatus.kError;let U=0,H=null;if(this._contentLength&&this._receivedLength<this._contentLength?(U=LoaderErrors.EARLY_EOF,H={code:-1,msg:"MSStream meet Early-Eof"}):(U=LoaderErrors.EARLY_EOF,H={code:-1,msg:T.constructor.name+" "+T.type}),this._onError)this._onError(U,H);else throw new RuntimeException(H.msg)}}var o=null;class v extends n{static isSupported(){try{let T=new XMLHttpRequest;return T.open("GET","https://example.com",!0),T.responseType="arraybuffer",T.responseType==="arraybuffer"}catch(T){return A.w("RangeLoader",T.message),!1}}constructor(T,U){super("xhr-range-loader"),this.TAG="RangeLoader",this._seekHandler=T,this._config=U,this._needStash=!1,this._chunkSizeKBList=[128,256,384,512,768,1024,1536,2048,3072,4096,5120,6144,7168,8192],this._currentChunkSizeKB=384,this._currentSpeedNormalized=0,this._zeroSpeedChunkCount=0,this._xhr=null,this._speedSampler=new m,this._requestAbort=!1,this._waitForTotalLength=!1,this._totalLengthReceived=!1,this._currentRequestURL=null,this._currentRedirectedURL=null,this._currentRequestRange=null,this._totalLength=null,this._contentLength=null,this._receivedLength=0,this._lastTimeLoaded=0}destroy(){this.isWorking()&&this.abort(),this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onload=null,this._xhr.onerror=null,this._xhr=null),super.destroy()}get currentSpeed(){return this._speedSampler.lastSecondKBps}open(T,U){this._dataSource=T,this._range=U,this._status=h.kConnecting;let H=!1;this._dataSource.filesize!=null&&this._dataSource.filesize!==0&&(H=!0,this._totalLength=this._dataSource.filesize),!this._totalLengthReceived&&!H?(this._waitForTotalLength=!0,this._internalOpen(this._dataSource,{from:0,to:-1})):this._openSubRange()}_openSubRange(){let T=this._currentChunkSizeKB*1024,U=this._range.from+this._receivedLength,H=U+T;this._contentLength!=null&&H-this._range.from>=this._contentLength&&(H=this._range.from+this._contentLength-1),this._currentRequestRange={from:U,to:H},this._internalOpen(this._dataSource,this._currentRequestRange)}_internalOpen(T,U){this._lastTimeLoaded=0;let H=T.url;this._config.reuseRedirectedURL&&(this._currentRedirectedURL!=null?H=this._currentRedirectedURL:T.redirectedURL!=null&&(H=T.redirectedURL));let k=this._seekHandler.getConfig(H,U);this._currentRequestURL=k.url;let te=this._xhr=new XMLHttpRequest;if(te.open("GET",k.url,!0),te.responseType="arraybuffer",te.onreadystatechange=this._onReadyStateChange.bind(this),te.onprogress=this._onProgress.bind(this),te.onload=this._onLoad.bind(this),te.onerror=this._onXhrError.bind(this),T.withCredentials&&(te.withCredentials=!0),typeof k.headers=="object"){let J=k.headers;for(let Q in J)J.hasOwnProperty(Q)&&te.setRequestHeader(Q,J[Q])}if(typeof this._config.headers=="object"){let J=this._config.headers;for(let Q in J)J.hasOwnProperty(Q)&&te.setRequestHeader(Q,J[Q])}te.send()}abort(){this._requestAbort=!0,this._internalAbort(),this._status=h.kComplete}_internalAbort(){this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onload=null,this._xhr.onerror=null,this._xhr.abort(),this._xhr=null)}_onReadyStateChange(T){let U=T.target;if(U.readyState===2){if(U.responseURL!=null){let H=this._seekHandler.removeURLParameters(U.responseURL);U.responseURL!==this._currentRequestURL&&H!==this._currentRedirectedURL&&(this._currentRedirectedURL=H,this._onURLRedirect&&this._onURLRedirect(H))}if(U.status>=200&&U.status<=299){if(this._waitForTotalLength)return;this._status=h.kBuffering}else if(this._status=h.kError,this._onError)this._onError(r.HTTP_STATUS_CODE_INVALID,{code:U.status,msg:U.statusText});else throw new x("RangeLoader: Http code invalid, "+U.status+" "+U.statusText)}}_onProgress(T){if(this._status===h.kError)return;if(this._contentLength===null){let H=!1;if(this._waitForTotalLength){this._waitForTotalLength=!1,this._totalLengthReceived=!0,H=!0;let k=T.total;this._internalAbort(),k!=null&k!==0&&(this._totalLength=k)}if(this._range.to===-1?this._contentLength=this._totalLength-this._range.from:this._contentLength=this._range.to-this._range.from+1,H){this._openSubRange();return}this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength)}let U=T.loaded-this._lastTimeLoaded;this._lastTimeLoaded=T.loaded,this._speedSampler.addBytes(U)}_normalizeSpeed(T){let U=this._chunkSizeKBList,H=U.length-1,k=0,te=0,J=H;if(T<U[0])return U[0];for(;te<=J;){if(k=te+Math.floor((J-te)/2),k===H||T>=U[k]&&T<U[k+1])return U[k];U[k]<T?te=k+1:J=k-1}}_onLoad(T){if(this._status===h.kError)return;if(this._waitForTotalLength){this._waitForTotalLength=!1;return}this._lastTimeLoaded=0;let U=this._speedSampler.lastSecondKBps;if(U===0&&(this._zeroSpeedChunkCount++,this._zeroSpeedChunkCount>=3&&(U=this._speedSampler.currentKBps)),U!==0){let J=this._normalizeSpeed(U);this._currentSpeedNormalized!==J&&(this._currentSpeedNormalized=J,this._currentChunkSizeKB=J)}let H=T.target.response,k=this._range.from+this._receivedLength;this._receivedLength+=H.byteLength;let te=!1;this._contentLength!=null&&this._receivedLength<this._contentLength?this._openSubRange():te=!0,this._onDataArrival&&this._onDataArrival(H,k,this._receivedLength),te&&(this._status=h.kComplete,this._onComplete&&this._onComplete(this._range.from,this._range.from+this._receivedLength-1))}_onXhrError(T){this._status=h.kError;let U=0,H=null;if(this._contentLength&&this._receivedLength>0&&this._receivedLength<this._contentLength?(U=r.EARLY_EOF,H={code:-1,msg:"RangeLoader meet Early-Eof"}):(U=r.EXCEPTION,H={code:-1,msg:T.constructor.name+" "+T.type}),this._onError)this._onError(U,H);else throw new x(H.msg)}}var y=v;class p extends n{static isSupported(){try{return typeof self.WebSocket!="undefined"}catch(T){return!1}}constructor(){super("websocket-loader"),this.TAG="WebSocketLoader",this._needStash=!0,this._ws=null,this._requestAbort=!1,this._receivedLength=0}destroy(){this._ws&&this.abort(),super.destroy()}open(T){try{let U=this._ws=new self.WebSocket(T.url);U.binaryType="arraybuffer",U.onopen=this._onWebSocketOpen.bind(this),U.onclose=this._onWebSocketClose.bind(this),U.onmessage=this._onWebSocketMessage.bind(this),U.onerror=this._onWebSocketError.bind(this),this._status=h.kConnecting}catch(U){this._status=h.kError;let H={code:U.code,msg:U.message};if(this._onError)this._onError(r.EXCEPTION,H);else throw new x(H.msg)}}abort(){let T=this._ws;T&&(T.readyState===0||T.readyState===1)&&(this._requestAbort=!0,T.close()),this._ws=null,this._status=h.kComplete}_onWebSocketOpen(T){this._status=h.kBuffering}_onWebSocketClose(T){if(this._requestAbort===!0){this._requestAbort=!1;return}this._status=h.kComplete,this._onComplete&&this._onComplete(0,this._receivedLength-1)}_onWebSocketMessage(T){if(T.data instanceof ArrayBuffer)this._dispatchArrayBuffer(T.data);else if(T.data instanceof Blob){let U=new FileReader;U.onload=()=>{this._dispatchArrayBuffer(U.result)},U.readAsArrayBuffer(T.data)}else{this._status=h.kError;let U={code:-1,msg:"Unsupported WebSocket message type: "+T.data.constructor.name};if(this._onError)this._onError(r.EXCEPTION,U);else throw new x(U.msg)}}_dispatchArrayBuffer(T){let U=T,H=this._receivedLength;this._receivedLength+=U.byteLength,this._onDataArrival&&this._onDataArrival(U,H,this._receivedLength)}_onWebSocketError(T){this._status=h.kError;let U={code:T.code,msg:T.message};if(this._onError)this._onError(r.EXCEPTION,U);else throw new x(U.msg)}}var C=p;class D{constructor(T){this._zeroStart=T||!1}getConfig(T,U){let H={};if(U.from!==0||U.to!==-1){let k;U.to!==-1?k=`bytes=${U.from.toString()}-${U.to.toString()}`:k=`bytes=${U.from.toString()}-`,H.Range=k}else this._zeroStart&&(H.Range="bytes=0-");return{url:T,headers:H}}removeURLParameters(T){return T}}var b=D;class S{constructor(T,U){this._startName=T,this._endName=U}getConfig(T,U){let H=T;if(U.from!==0||U.to!==-1){let k=!0;H.indexOf("?")===-1&&(H+="?",k=!1),k&&(H+="&"),H+=`${this._startName}=${U.from.toString()}`,U.to!==-1&&(H+=`&${this._endName}=${U.to.toString()}`)}return{url:H,headers:{}}}removeURLParameters(T){let U=T.split("?")[0],H,k=T.indexOf("?");k!==-1&&(H=T.substring(k+1));let te="";if(H!=null&&H.length>0){let J=H.split("&");for(let Q=0;Q<J.length;Q++){let Te=J[Q].split("="),pe=Q>0;Te[0]!==this._startName&&Te[0]!==this._endName&&(pe&&(te+="&"),te+=J[Q])}}return te.length===0?U:U+"?"+te}}var L=S;class w{constructor(T,U,H){this.TAG="IOController",this._config=U,this._extraData=H,this._stashInitialSize=1024*384,U.stashInitialSize!=null&&U.stashInitialSize>0&&(this._stashInitialSize=U.stashInitialSize),this._stashUsed=0,this._stashSize=this._stashInitialSize,this._bufferSize=1024*1024*3,this._stashBuffer=new ArrayBuffer(this._bufferSize),this._stashByteStart=0,this._enableStash=!0,U.enableStashBuffer===!1&&(this._enableStash=!1),this._loader=null,this._loaderClass=null,this._seekHandler=null,this._dataSource=T,this._isWebSocketURL=/wss?:\/\/(.+?)/.test(T.url),this._refTotalLength=T.filesize?T.filesize:null,this._totalLength=this._refTotalLength,this._fullRequestFlag=!1,this._currentRange=null,this._redirectedURL=null,this._speedNormalized=0,this._speedSampler=new m,this._speedNormalizeList=[64,128,256,384,512,768,1024,1536,2048,3072,4096],this._isEarlyEofReconnecting=!1,this._paused=!1,this._resumeFrom=0,this._onDataArrival=null,this._onSeeked=null,this._onError=null,this._onComplete=null,this._onRedirect=null,this._onRecoveredEarlyEof=null,this._selectSeekHandler(),this._selectLoader(),this._createLoader()}destroy(){this._loader.isWorking()&&this._loader.abort(),this._loader.destroy(),this._loader=null,this._loaderClass=null,this._dataSource=null,this._stashBuffer=null,this._stashUsed=this._stashSize=this._bufferSize=this._stashByteStart=0,this._currentRange=null,this._speedSampler=null,this._isEarlyEofReconnecting=!1,this._onDataArrival=null,this._onSeeked=null,this._onError=null,this._onComplete=null,this._onRedirect=null,this._onRecoveredEarlyEof=null,this._extraData=null}isWorking(){return this._loader&&this._loader.isWorking()&&!this._paused}isPaused(){return this._paused}get status(){return this._loader.status}get extraData(){return this._extraData}set extraData(T){this._extraData=T}get onDataArrival(){return this._onDataArrival}set onDataArrival(T){this._onDataArrival=T}get onSeeked(){return this._onSeeked}set onSeeked(T){this._onSeeked=T}get onError(){return this._onError}set onError(T){this._onError=T}get onComplete(){return this._onComplete}set onComplete(T){this._onComplete=T}get onRedirect(){return this._onRedirect}set onRedirect(T){this._onRedirect=T}get onRecoveredEarlyEof(){return this._onRecoveredEarlyEof}set onRecoveredEarlyEof(T){this._onRecoveredEarlyEof=T}get currentURL(){return this._dataSource.url}get hasRedirect(){return this._redirectedURL!=null||this._dataSource.redirectedURL!=null}get currentRedirectedURL(){return this._redirectedURL||this._dataSource.redirectedURL}get currentSpeed(){return this._loaderClass===y?this._loader.currentSpeed:this._speedSampler.lastSecondKBps}get loaderType(){return this._loader.type}_selectSeekHandler(){let T=this._config;if(T.seekType==="range")this._seekHandler=new b(this._config.rangeLoadZeroStart);else if(T.seekType==="param"){let U=T.seekParamStart||"bstart",H=T.seekParamEnd||"bend";this._seekHandler=new L(U,H)}else if(T.seekType==="custom"){if(typeof T.customSeekHandler!="function")throw new c("Custom seekType specified in config but invalid customSeekHandler!");this._seekHandler=new T.customSeekHandler}else throw new c(`Invalid seekType in config: ${T.seekType}`)}_selectLoader(){if(this._config.customLoader!=null)this._loaderClass=this._config.customLoader;else if(this._isWebSocketURL)this._loaderClass=C;else if(d.isSupported())this._loaderClass=d;else if(t.isSupported())this._loaderClass=t;else if(y.isSupported())this._loaderClass=y;else throw new x("Your browser doesn't support xhr with arraybuffer responseType!")}_createLoader(){this._loader=new this._loaderClass(this._seekHandler,this._config),this._loader.needStashBuffer===!1&&(this._enableStash=!1),this._loader.onContentLengthKnown=this._onContentLengthKnown.bind(this),this._loader.onURLRedirect=this._onURLRedirect.bind(this),this._loader.onDataArrival=this._onLoaderChunkArrival.bind(this),this._loader.onComplete=this._onLoaderComplete.bind(this),this._loader.onError=this._onLoaderError.bind(this)}open(T){this._currentRange={from:0,to:-1},T&&(this._currentRange.from=T),this._speedSampler.reset(),T||(this._fullRequestFlag=!0),this._loader.open(this._dataSource,Object.assign({},this._currentRange))}abort(){this._loader.abort(),this._paused&&(this._paused=!1,this._resumeFrom=0)}pause(){this.isWorking()&&(this._loader.abort(),this._stashUsed!==0?(this._resumeFrom=this._stashByteStart,this._currentRange.to=this._stashByteStart-1):this._resumeFrom=this._currentRange.to+1,this._stashUsed=0,this._stashByteStart=0,this._paused=!0)}resume(){if(this._paused){this._paused=!1;let T=this._resumeFrom;this._resumeFrom=0,this._internalSeek(T,!0)}}seek(T){this._paused=!1,this._stashUsed=0,this._stashByteStart=0,this._internalSeek(T,!0)}_internalSeek(T,U){this._loader.isWorking()&&this._loader.abort(),this._flushStashBuffer(U),this._loader.destroy(),this._loader=null;let H={from:T,to:-1};this._currentRange={from:H.from,to:-1},this._speedSampler.reset(),this._stashSize=this._stashInitialSize,this._createLoader(),this._loader.open(this._dataSource,H),this._onSeeked&&this._onSeeked()}updateUrl(T){if(!T||typeof T!="string"||T.length===0)throw new c("Url must be a non-empty string!");this._dataSource.url=T}_expandBuffer(T){let U=this._stashSize;for(;U+1024*1024*1<T;)U*=2;if(U+=1024*1024*1,U===this._bufferSize)return;let H=new ArrayBuffer(U);if(this._stashUsed>0){let k=new Uint8Array(this._stashBuffer,0,this._stashUsed);new Uint8Array(H,0,U).set(k,0)}this._stashBuffer=H,this._bufferSize=U}_normalizeSpeed(T){let U=this._speedNormalizeList,H=U.length-1,k=0,te=0,J=H;if(T<U[0])return U[0];for(;te<=J;){if(k=te+Math.floor((J-te)/2),k===H||T>=U[k]&&T<U[k+1])return U[k];U[k]<T?te=k+1:J=k-1}}_adjustStashSize(T){let U=0;this._config.isLive||T<512?U=T:T>=512&&T<=1024?U=Math.floor(T*1.5):U=T*2,U>8192&&(U=8192);let H=U*1024+1024*1024*1;this._bufferSize<H&&this._expandBuffer(H),this._stashSize=U*1024}_dispatchChunks(T,U){return this._currentRange.to=U+T.byteLength-1,this._onDataArrival(T,U)}_onURLRedirect(T){this._redirectedURL=T,this._onRedirect&&this._onRedirect(T)}_onContentLengthKnown(T){T&&this._fullRequestFlag&&(this._totalLength=T,this._fullRequestFlag=!1)}_onLoaderChunkArrival(T,U,H){if(!this._onDataArrival)throw new g("IOController: No existing consumer (onDataArrival) callback!");if(this._paused)return;this._isEarlyEofReconnecting&&(this._isEarlyEofReconnecting=!1,this._onRecoveredEarlyEof&&this._onRecoveredEarlyEof()),this._speedSampler.addBytes(T.byteLength);let k=this._speedSampler.lastSecondKBps;if(k!==0){let te=this._normalizeSpeed(k);this._speedNormalized!==te&&(this._speedNormalized=te,this._adjustStashSize(te))}if(this._enableStash)if(this._stashUsed===0&&this._stashByteStart===0&&(this._stashByteStart=U),this._stashUsed+T.byteLength<=this._stashSize)new Uint8Array(this._stashBuffer,0,this._stashSize).set(new Uint8Array(T),this._stashUsed),this._stashUsed+=T.byteLength;else{let te=new Uint8Array(this._stashBuffer,0,this._bufferSize);if(this._stashUsed>0){let J=this._stashBuffer.slice(0,this._stashUsed),Q=this._dispatchChunks(J,this._stashByteStart);if(Q<J.byteLength){if(Q>0){let Te=new Uint8Array(J,Q);te.set(Te,0),this._stashUsed=Te.byteLength,this._stashByteStart+=Q}}else this._stashUsed=0,this._stashByteStart+=Q;this._stashUsed+T.byteLength>this._bufferSize&&(this._expandBuffer(this._stashUsed+T.byteLength),te=new Uint8Array(this._stashBuffer,0,this._bufferSize)),te.set(new Uint8Array(T),this._stashUsed),this._stashUsed+=T.byteLength}else{let J=this._dispatchChunks(T,U);if(J<T.byteLength){let Q=T.byteLength-J;Q>this._bufferSize&&(this._expandBuffer(Q),te=new Uint8Array(this._stashBuffer,0,this._bufferSize)),te.set(new Uint8Array(T,J),0),this._stashUsed+=Q,this._stashByteStart=U+J}}}else if(this._stashUsed===0){let te=this._dispatchChunks(T,U);if(te<T.byteLength){let J=T.byteLength-te;J>this._bufferSize&&this._expandBuffer(J),new Uint8Array(this._stashBuffer,0,this._bufferSize).set(new Uint8Array(T,te),0),this._stashUsed+=J,this._stashByteStart=U+te}}else{this._stashUsed+T.byteLength>this._bufferSize&&this._expandBuffer(this._stashUsed+T.byteLength);let te=new Uint8Array(this._stashBuffer,0,this._bufferSize);te.set(new Uint8Array(T),this._stashUsed),this._stashUsed+=T.byteLength;let J=this._dispatchChunks(this._stashBuffer.slice(0,this._stashUsed),this._stashByteStart);if(J<this._stashUsed&&J>0){let Q=new Uint8Array(this._stashBuffer,J);te.set(Q,0)}this._stashUsed-=J,this._stashByteStart+=J}}_flushStashBuffer(T){if(this._stashUsed>0){let U=this._stashBuffer.slice(0,this._stashUsed),H=this._dispatchChunks(U,this._stashByteStart),k=U.byteLength-H;if(H<U.byteLength)if(T)A.w(this.TAG,`${k} bytes unconsumed data remain when flush buffer, dropped`);else{if(H>0){let te=new Uint8Array(this._stashBuffer,0,this._bufferSize),J=new Uint8Array(U,H);te.set(J,0),this._stashUsed=J.byteLength,this._stashByteStart+=H}return 0}return this._stashUsed=0,this._stashByteStart=0,k}return 0}_onLoaderComplete(T,U){this._flushStashBuffer(!0),this._onComplete&&this._onComplete(this._extraData)}_onLoaderError(T,U){switch(A.e(this.TAG,`Loader error, code = ${U.code}, msg = ${U.msg}`),this._flushStashBuffer(!1),this._isEarlyEofReconnecting&&(this._isEarlyEofReconnecting=!1,T=r.UNRECOVERABLE_EARLY_EOF),T){case r.EARLY_EOF:{if(!this._config.isLive&&this._totalLength){let H=this._currentRange.to+1;H<this._totalLength&&(A.w(this.TAG,"Connection lost, trying reconnect..."),this._isEarlyEofReconnecting=!0,this._internalSeek(H,!1));return}T=r.UNRECOVERABLE_EARLY_EOF;break}case r.UNRECOVERABLE_EARLY_EOF:case r.CONNECTING_TIMEOUT:case r.HTTP_STATUS_CODE_INVALID:case r.EXCEPTION:break}if(this._onError)this._onError(T,U);else throw new x("IOException: "+U.msg)}}var P=w;const I={enableWorker:!1,enableStashBuffer:!0,stashInitialSize:void 0,isLive:!1,lazyLoad:!0,lazyLoadMaxDuration:3*60,lazyLoadRecoverDuration:30,deferLoadAfterSourceOpen:!0,autoCleanupMaxBackwardDuration:3*60,autoCleanupMinBackwardDuration:2*60,statisticsInfoReportInterval:600,fixAudioTimestampGap:!0,accurateSeek:!1,seekType:"range",seekParamStart:"bstart",seekParamEnd:"bend",rangeLoadZeroStart:!1,customSeekHandler:void 0,reuseRedirectedURL:!1,headers:void 0,customLoader:void 0};function R(){return Object.assign({},I)}class B{static supportMSEH264Playback(){return window.MediaSource&&window.MediaSource.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"')}static supportNetworkStreamIO(){let T=new P({},R()),U=T.loaderType;return T.destroy(),U=="fetch-stream-loader"||U=="xhr-moz-chunked-loader"}static getNetworkLoaderTypeName(){let T=new P({},R()),U=T.loaderType;return T.destroy(),U}static supportNativeMediaPlayback(T){B.videoElement==null&&(B.videoElement=window.document.createElement("video"));let U=B.videoElement.canPlayType(T);return U==="probably"||U=="maybe"}static getFeatureList(){let T={mseFlvPlayback:!1,mseLiveFlvPlayback:!1,networkStreamIO:!1,networkLoaderName:"",nativeMP4H264Playback:!1,nativeWebmVP8Playback:!1,nativeWebmVP9Playback:!1};return T.mseFlvPlayback=B.supportMSEH264Playback(),T.networkStreamIO=B.supportNetworkStreamIO(),T.networkLoaderName=B.getNetworkLoaderTypeName(),T.mseLiveFlvPlayback=T.mseFlvPlayback&&T.networkStreamIO,T.nativeMP4H264Playback=B.supportNativeMediaPlayback('video/mp4; codecs="avc1.42001E, mp4a.40.2"'),T.nativeWebmVP8Playback=B.supportNativeMediaPlayback('video/webm; codecs="vp8.0, vorbis"'),T.nativeWebmVP9Playback=B.supportNativeMediaPlayback('video/webm; codecs="vp9"'),T}}var F=B,G={ERROR:"error",LOADING_COMPLETE:"loading_complete",RECOVERED_EARLY_EOF:"recovered_early_eof",MEDIA_INFO:"media_info",METADATA_ARRIVED:"metadata_arrived",SCRIPTDATA_ARRIVED:"scriptdata_arrived",STATISTICS_INFO:"statistics_info"};class j{static get forceGlobalTag(){return A.FORCE_GLOBAL_TAG}static set forceGlobalTag(T){A.FORCE_GLOBAL_TAG=T,j._notifyChange()}static get globalTag(){return A.GLOBAL_TAG}static set globalTag(T){A.GLOBAL_TAG=T,j._notifyChange()}static get enableAll(){return A.ENABLE_VERBOSE&&A.ENABLE_DEBUG&&A.ENABLE_INFO&&A.ENABLE_WARN&&A.ENABLE_ERROR}static set enableAll(T){A.ENABLE_VERBOSE=T,A.ENABLE_DEBUG=T,A.ENABLE_INFO=T,A.ENABLE_WARN=T,A.ENABLE_ERROR=T,j._notifyChange()}static get enableDebug(){return A.ENABLE_DEBUG}static set enableDebug(T){A.ENABLE_DEBUG=T,j._notifyChange()}static get enableVerbose(){return A.ENABLE_VERBOSE}static set enableVerbose(T){A.ENABLE_VERBOSE=T,j._notifyChange()}static get enableInfo(){return A.ENABLE_INFO}static set enableInfo(T){A.ENABLE_INFO=T,j._notifyChange()}static get enableWarn(){return A.ENABLE_WARN}static set enableWarn(T){A.ENABLE_WARN=T,j._notifyChange()}static get enableError(){return A.ENABLE_ERROR}static set enableError(T){A.ENABLE_ERROR=T,j._notifyChange()}static getConfig(){return{globalTag:A.GLOBAL_TAG,forceGlobalTag:A.FORCE_GLOBAL_TAG,enableVerbose:A.ENABLE_VERBOSE,enableDebug:A.ENABLE_DEBUG,enableInfo:A.ENABLE_INFO,enableWarn:A.ENABLE_WARN,enableError:A.ENABLE_ERROR,enableCallback:A.ENABLE_CALLBACK}}static applyConfig(T){A.GLOBAL_TAG=T.globalTag,A.FORCE_GLOBAL_TAG=T.forceGlobalTag,A.ENABLE_VERBOSE=T.enableVerbose,A.ENABLE_DEBUG=T.enableDebug,A.ENABLE_INFO=T.enableInfo,A.ENABLE_WARN=T.enableWarn,A.ENABLE_ERROR=T.enableError,A.ENABLE_CALLBACK=T.enableCallback}static _notifyChange(){let T=j.emitter;if(T.listenerCount("change")>0){let U=j.getConfig();T.emit("change",U)}}static registerListener(T){j.emitter.addListener("change",T)}static removeListener(T){j.emitter.removeListener("change",T)}static addLogListener(T){A.emitter.addListener("log",T),A.emitter.listenerCount("log")>0&&(A.ENABLE_CALLBACK=!0,j._notifyChange())}static removeLogListener(T){A.emitter.removeListener("log",T),A.emitter.listenerCount("log")===0&&(A.ENABLE_CALLBACK=!1,j._notifyChange())}}j.emitter=new(E());var Y=j;class ee{constructor(){this.mimeType=null,this.duration=null,this.hasAudio=null,this.hasVideo=null,this.audioCodec=null,this.videoCodec=null,this.audioDataRate=null,this.videoDataRate=null,this.audioSampleRate=null,this.audioChannelCount=null,this.width=null,this.height=null,this.fps=null,this.profile=null,this.level=null,this.refFrames=null,this.chromaFormat=null,this.sarNum=null,this.sarDen=null,this.metadata=null,this.segments=null,this.segmentCount=null,this.hasKeyframesIndex=null,this.keyframesIndex=null}isComplete(){let T=this.hasAudio===!1||this.hasAudio===!0&&this.audioCodec!=null&&this.audioSampleRate!=null&&this.audioChannelCount!=null,U=this.hasVideo===!1||this.hasVideo===!0&&this.videoCodec!=null&&this.width!=null&&this.height!=null&&this.fps!=null&&this.profile!=null&&this.level!=null&&this.refFrames!=null&&this.chromaFormat!=null&&this.sarNum!=null&&this.sarDen!=null;return this.mimeType!=null&&this.duration!=null&&this.metadata!=null&&this.hasKeyframesIndex!=null&&T&&U}isSeekable(){return this.hasKeyframesIndex===!0}getNearestKeyframe(T){if(this.keyframesIndex==null)return null;let U=this.keyframesIndex,H=this._search(U.times,T);return{index:H,milliseconds:U.times[H],fileposition:U.filepositions[H]}}_search(T,U){let H=0,k=T.length-1,te=0,J=0,Q=k;for(U<T[0]&&(H=0,J=Q+1);J<=Q;)if(te=J+Math.floor((Q-J)/2),te===k||U>=T[te]&&U<T[te+1]){H=te;break}else T[te]<U?J=te+1:Q=te-1;return H}}var ae=ee;function le(Xe,T,U){let H=Xe;if(T+U<H.length){for(;U--;)if((H[++T]&192)!==128)return!1;return!0}else return!1}function _e(Xe){let T=[],U=Xe,H=0,k=Xe.length;for(;H<k;){if(U[H]<128){T.push(String.fromCharCode(U[H])),++H;continue}else if(!(U[H]<192)){if(U[H]<224){if(le(U,H,1)){let te=(U[H]&31)<<6|U[H+1]&63;if(te>=128){T.push(String.fromCharCode(te&65535)),H+=2;continue}}}else if(U[H]<240){if(le(U,H,2)){let te=(U[H]&15)<<12|(U[H+1]&63)<<6|U[H+2]&63;if(te>=2048&&(te&63488)!==55296){T.push(String.fromCharCode(te&65535)),H+=3;continue}}}else if(U[H]<248&&le(U,H,3)){let te=(U[H]&7)<<18|(U[H+1]&63)<<12|(U[H+2]&63)<<6|U[H+3]&63;if(te>65536&&te<1114112){te-=65536,T.push(String.fromCharCode(te>>>10|55296)),T.push(String.fromCharCode(te&1023|56320)),H+=4;continue}}}T.push("\uFFFD"),++H}return T.join("")}var he=_e;let ve=function(){let Xe=new ArrayBuffer(2);return new DataView(Xe).setInt16(0,256,!0),new Int16Array(Xe)[0]===256}();class Ae{static parseScriptData(T,U,H){let k={};try{let te=Ae.parseValue(T,U,H),J=Ae.parseValue(T,U+te.size,H-te.size);k[te.data]=J.data}catch(te){A.e("AMF",te.toString())}return k}static parseObject(T,U,H){if(H<3)throw new g("Data not enough when parse ScriptDataObject");let k=Ae.parseString(T,U,H),te=Ae.parseValue(T,U+k.size,H-k.size),J=te.objectEnd;return{data:{name:k.data,value:te.data},size:k.size+te.size,objectEnd:J}}static parseVariable(T,U,H){return Ae.parseObject(T,U,H)}static parseString(T,U,H){if(H<2)throw new g("Data not enough when parse String");let te=new DataView(T,U,H).getUint16(0,!ve),J;return te>0?J=he(new Uint8Array(T,U+2,te)):J="",{data:J,size:2+te}}static parseLongString(T,U,H){if(H<4)throw new g("Data not enough when parse LongString");let te=new DataView(T,U,H).getUint32(0,!ve),J;return te>0?J=he(new Uint8Array(T,U+4,te)):J="",{data:J,size:4+te}}static parseDate(T,U,H){if(H<10)throw new g("Data size invalid when parse Date");let k=new DataView(T,U,H),te=k.getFloat64(0,!ve),J=k.getInt16(8,!ve);return te+=J*60*1e3,{data:new Date(te),size:10}}static parseValue(T,U,H){if(H<1)throw new g("Data not enough when parse Value");let k=new DataView(T,U,H),te=1,J=k.getUint8(0),Q,Te=!1;try{switch(J){case 0:Q=k.getFloat64(1,!ve),te+=8;break;case 1:{Q=!!k.getUint8(1),te+=1;break}case 2:{let pe=Ae.parseString(T,U+1,H-1);Q=pe.data,te+=pe.size;break}case 3:{Q={};let pe=0;for((k.getUint32(H-4,!ve)&16777215)===9&&(pe=3);te<H-4;){let Be=Ae.parseObject(T,U+te,H-te-pe);if(Be.objectEnd)break;Q[Be.data.name]=Be.data.value,te+=Be.size}te<=H-3&&(k.getUint32(te-1,!ve)&16777215)===9&&(te+=3);break}case 8:{Q={},te+=4;let pe=0;for((k.getUint32(H-4,!ve)&16777215)===9&&(pe=3);te<H-8;){let Be=Ae.parseVariable(T,U+te,H-te-pe);if(Be.objectEnd)break;Q[Be.data.name]=Be.data.value,te+=Be.size}te<=H-3&&(k.getUint32(te-1,!ve)&16777215)===9&&(te+=3);break}case 9:Q=void 0,te=1,Te=!0;break;case 10:{Q=[];let pe=k.getUint32(1,!ve);te+=4;for(let Be=0;Be<pe;Be++){let ke=Ae.parseValue(T,U+te,H-te);Q.push(ke.data),te+=ke.size}break}case 11:{let pe=Ae.parseDate(T,U+1,H-1);Q=pe.data,te+=pe.size;break}case 12:{let pe=Ae.parseString(T,U+1,H-1);Q=pe.data,te+=pe.size;break}default:te=H,A.w("AMF","Unsupported AMF value type "+J)}}catch(pe){A.e("AMF",pe.toString())}return{data:Q,size:te,objectEnd:Te}}}var ge=Ae;class fe{constructor(T){this.TAG="ExpGolomb",this._buffer=T,this._buffer_index=0,this._total_bytes=T.byteLength,this._total_bits=T.byteLength*8,this._current_word=0,this._current_word_bits_left=0}destroy(){this._buffer=null}_fillCurrentWord(){let T=this._total_bytes-this._buffer_index;if(T<=0)throw new g("ExpGolomb: _fillCurrentWord() but no bytes available");let U=Math.min(4,T),H=new Uint8Array(4);H.set(this._buffer.subarray(this._buffer_index,this._buffer_index+U)),this._current_word=new DataView(H.buffer).getUint32(0,!1),this._buffer_index+=U,this._current_word_bits_left=U*8}readBits(T){if(T>32)throw new c("ExpGolomb: readBits() bits exceeded max 32bits!");if(T<=this._current_word_bits_left){let J=this._current_word>>>32-T;return this._current_word<<=T,this._current_word_bits_left-=T,J}let U=this._current_word_bits_left?this._current_word:0;U=U>>>32-this._current_word_bits_left;let H=T-this._current_word_bits_left;this._fillCurrentWord();let k=Math.min(H,this._current_word_bits_left),te=this._current_word>>>32-k;return this._current_word<<=k,this._current_word_bits_left-=k,U=U<<k|te,U}readBool(){return this.readBits(1)===1}readByte(){return this.readBits(8)}_skipLeadingZero(){let T;for(T=0;T<this._current_word_bits_left;T++)if(this._current_word&2147483648>>>T)return this._current_word<<=T,this._current_word_bits_left-=T,T;return this._fillCurrentWord(),T+this._skipLeadingZero()}readUEG(){let T=this._skipLeadingZero();return this.readBits(T+1)-1}readSEG(){let T=this.readUEG();return T&1?T+1>>>1:-1*(T>>>1)}}var Ee=fe;class ue{static _ebsp2rbsp(T){let U=T,H=U.byteLength,k=new Uint8Array(H),te=0;for(let J=0;J<H;J++)J>=2&&U[J]===3&&U[J-1]===0&&U[J-2]===0||(k[te]=U[J],te++);return new Uint8Array(k.buffer,0,te)}static parseSPS(T){let U=ue._ebsp2rbsp(T),H=new Ee(U);H.readByte();let k=H.readByte();H.readByte();let te=H.readByte();H.readUEG();let J=ue.getProfileString(k),Q=ue.getLevelString(te),Te=1,pe=420,Be=[0,420,422,444],ke=8;if((k===100||k===110||k===122||k===244||k===44||k===83||k===86||k===118||k===128||k===138||k===144)&&(Te=H.readUEG(),Te===3&&H.readBits(1),Te<=3&&(pe=Be[Te]),ke=H.readUEG()+8,H.readUEG(),H.readBits(1),H.readBool())){let Pt=Te!==3?8:12;for(let At=0;At<Pt;At++)H.readBool()&&(At<6?ue._skipScalingList(H,16):ue._skipScalingList(H,64))}H.readUEG();let Je=H.readUEG();if(Je===0)H.readUEG();else if(Je===1){H.readBits(1),H.readSEG(),H.readSEG();let Pt=H.readUEG();for(let At=0;At<Pt;At++)H.readSEG()}let Ke=H.readUEG();H.readBits(1);let qe=H.readUEG(),Ze=H.readUEG(),Ge=H.readBits(1);Ge===0&&H.readBits(1),H.readBits(1);let Ve=0,at=0,Ye=0,gt=0;H.readBool()&&(Ve=H.readUEG(),at=H.readUEG(),Ye=H.readUEG(),gt=H.readUEG());let Nt=1,ot=1,bt=0,De=!0,be=0,Le=0;if(H.readBool()){if(H.readBool()){let Pt=H.readByte(),At=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2],zt=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1];Pt>0&&Pt<16?(Nt=At[Pt-1],ot=zt[Pt-1]):Pt===255&&(Nt=H.readByte()<<8|H.readByte(),ot=H.readByte()<<8|H.readByte())}if(H.readBool()&&H.readBool(),H.readBool()&&(H.readBits(4),H.readBool()&&H.readBits(24)),H.readBool()&&(H.readUEG(),H.readUEG()),H.readBool()){let Pt=H.readBits(32),At=H.readBits(32);De=H.readBool(),be=At,Le=Pt*2,bt=be/Le}}let We=1;(Nt!==1||ot!==1)&&(We=Nt/ot);let He=0,Fe=0;if(Te===0)He=1,Fe=2-Ge;else{let Pt=Te===3?1:2,At=Te===1?2:1;He=Pt,Fe=At*(2-Ge)}let rt=(qe+1)*16,Et=(2-Ge)*((Ze+1)*16);rt-=(Ve+at)*He,Et-=(Ye+gt)*Fe;let yt=Math.ceil(rt*We);return H.destroy(),H=null,{profile_string:J,level_string:Q,bit_depth:ke,ref_frames:Ke,chroma_format:pe,chroma_format_string:ue.getChromaFormatString(pe),frame_rate:{fixed:De,fps:bt,fps_den:Le,fps_num:be},sar_ratio:{width:Nt,height:ot},codec_size:{width:rt,height:Et},present_size:{width:yt,height:Et}}}static _skipScalingList(T,U){let H=8,k=8,te=0;for(let J=0;J<U;J++)k!==0&&(te=T.readSEG(),k=(H+te+256)%256),H=k===0?H:k}static getProfileString(T){switch(T){case 66:return"Baseline";case 77:return"Main";case 88:return"Extended";case 100:return"High";case 110:return"High10";case 122:return"High422";case 244:return"High444";default:return"Unknown"}}static getLevelString(T){return(T/10).toFixed(1)}static getChromaFormatString(T){switch(T){case 420:return"4:2:0";case 422:return"4:2:2";case 444:return"4:4:4";default:return"Unknown"}}}var oe=ue,re={OK:"OK",FORMAT_ERROR:"FormatError",FORMAT_UNSUPPORTED:"FormatUnsupported",CODEC_UNSUPPORTED:"CodecUnsupported"};function V(Xe){return Xe>>>8&255|(Xe&255)<<8}function ne(Xe){return(Xe&4278190080)>>>24|(Xe&16711680)>>>8|(Xe&65280)<<8|(Xe&255)<<24}function Z(Xe,T){return Xe[T]<<24|Xe[T+1]<<16|Xe[T+2]<<8|Xe[T+3]}class ${constructor(T,U){this.TAG="FLVDemuxer",this._config=U,this._onError=null,this._onMediaInfo=null,this._onMetaDataArrived=null,this._onScriptDataArrived=null,this._onTrackMetadata=null,this._onDataAvailable=null,this._dataOffset=T.dataOffset,this._firstParse=!0,this._dispatch=!1,this._hasAudio=T.hasAudioTrack,this._hasVideo=T.hasVideoTrack,this._hasAudioFlagOverrided=!1,this._hasVideoFlagOverrided=!1,this._audioInitialMetadataDispatched=!1,this._videoInitialMetadataDispatched=!1,this._mediaInfo=new ae,this._mediaInfo.hasAudio=this._hasAudio,this._mediaInfo.hasVideo=this._hasVideo,this._metadata=null,this._audioMetadata=null,this._videoMetadata=null,this._naluLengthSize=4,this._timestampBase=0,this._timescale=1e3,this._duration=0,this._durationOverrided=!1,this._referenceFrameRate={fixed:!0,fps:23.976,fps_num:23976,fps_den:1e3},this._flvSoundRateTable=[5500,11025,22050,44100,48e3],this._mpegSamplingRates=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350],this._mpegAudioV10SampleRateTable=[44100,48e3,32e3,0],this._mpegAudioV20SampleRateTable=[22050,24e3,16e3,0],this._mpegAudioV25SampleRateTable=[11025,12e3,8e3,0],this._mpegAudioL1BitRateTable=[0,32,64,96,128,160,192,224,256,288,320,352,384,416,448,-1],this._mpegAudioL2BitRateTable=[0,32,48,56,64,80,96,112,128,160,192,224,256,320,384,-1],this._mpegAudioL3BitRateTable=[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320,-1],this._videoTrack={type:"video",id:1,sequenceNumber:0,samples:[],length:0},this._audioTrack={type:"audio",id:2,sequenceNumber:0,samples:[],length:0},this._littleEndian=function(){let H=new ArrayBuffer(2);return new DataView(H).setInt16(0,256,!0),new Int16Array(H)[0]===256}()}destroy(){this._mediaInfo=null,this._metadata=null,this._audioMetadata=null,this._videoMetadata=null,this._videoTrack=null,this._audioTrack=null,this._onError=null,this._onMediaInfo=null,this._onMetaDataArrived=null,this._onScriptDataArrived=null,this._onTrackMetadata=null,this._onDataAvailable=null}static probe(T){let U=new Uint8Array(T),H={match:!1};if(U[0]!==70||U[1]!==76||U[2]!==86||U[3]!==1)return H;let k=(U[4]&4)>>>2!==0,te=(U[4]&1)!==0,J=Z(U,5);return J<9?H:{match:!0,consumed:J,dataOffset:J,hasAudioTrack:k,hasVideoTrack:te}}bindDataSource(T){return T.onDataArrival=this.parseChunks.bind(this),this}get onTrackMetadata(){return this._onTrackMetadata}set onTrackMetadata(T){this._onTrackMetadata=T}get onMediaInfo(){return this._onMediaInfo}set onMediaInfo(T){this._onMediaInfo=T}get onMetaDataArrived(){return this._onMetaDataArrived}set onMetaDataArrived(T){this._onMetaDataArrived=T}get onScriptDataArrived(){return this._onScriptDataArrived}set onScriptDataArrived(T){this._onScriptDataArrived=T}get onError(){return this._onError}set onError(T){this._onError=T}get onDataAvailable(){return this._onDataAvailable}set onDataAvailable(T){this._onDataAvailable=T}get timestampBase(){return this._timestampBase}set timestampBase(T){this._timestampBase=T}get overridedDuration(){return this._duration}set overridedDuration(T){this._durationOverrided=!0,this._duration=T,this._mediaInfo.duration=T}set overridedHasAudio(T){this._hasAudioFlagOverrided=!0,this._hasAudio=T,this._mediaInfo.hasAudio=T}set overridedHasVideo(T){this._hasVideoFlagOverrided=!0,this._hasVideo=T,this._mediaInfo.hasVideo=T}resetMediaInfo(){this._mediaInfo=new ae}_isInitialMetadataDispatched(){return this._hasAudio&&this._hasVideo?this._audioInitialMetadataDispatched&&this._videoInitialMetadataDispatched:this._hasAudio&&!this._hasVideo?this._audioInitialMetadataDispatched:!this._hasAudio&&this._hasVideo?this._videoInitialMetadataDispatched:!1}parseChunks(T,U){if(!this._onError||!this._onMediaInfo||!this._onTrackMetadata||!this._onDataAvailable)throw new g("Flv: onError & onMediaInfo & onTrackMetadata & onDataAvailable callback must be specified");let H=0,k=this._littleEndian;if(U===0)if(T.byteLength>13)H=$.probe(T).dataOffset;else return 0;for(this._firstParse&&(this._firstParse=!1,U+H!==this._dataOffset&&A.w(this.TAG,"First time parsing but chunk byteStart invalid!"),new DataView(T,H).getUint32(0,!k)!==0&&A.w(this.TAG,"PrevTagSize0 !== 0 !!!"),H+=4);H<T.byteLength;){this._dispatch=!0;let te=new DataView(T,H);if(H+11+4>T.byteLength)break;let J=te.getUint8(0),Q=te.getUint32(0,!k)&16777215;if(H+11+Q+4>T.byteLength)break;if(J!==8&&J!==9&&J!==18){A.w(this.TAG,`Unsupported tag type ${J}, skipped`),H+=11+Q+4;continue}let Te=te.getUint8(4),pe=te.getUint8(5),Be=te.getUint8(6),ke=te.getUint8(7),Je=Be|pe<<8|Te<<16|ke<<24;(te.getUint32(7,!k)&16777215)!==0&&A.w(this.TAG,"Meet tag which has StreamID != 0!");let qe=H+11;switch(J){case 8:this._parseAudioData(T,qe,Q,Je);break;case 9:this._parseVideoData(T,qe,Q,Je,U+H);break;case 18:this._parseScriptData(T,qe,Q);break}let Ze=te.getUint32(11+Q,!k);Ze!==11+Q&&A.w(this.TAG,`Invalid PrevTagSize ${Ze}`),H+=11+Q+4}return this._isInitialMetadataDispatched()&&this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack),H}_parseScriptData(T,U,H){let k=ge.parseScriptData(T,U,H);if(k.hasOwnProperty("onMetaData")){if(k.onMetaData==null||typeof k.onMetaData!="object"){A.w(this.TAG,"Invalid onMetaData structure!");return}this._metadata&&A.w(this.TAG,"Found another onMetaData tag!"),this._metadata=k;let te=this._metadata.onMetaData;if(this._onMetaDataArrived&&this._onMetaDataArrived(Object.assign({},te)),typeof te.hasAudio=="boolean"&&this._hasAudioFlagOverrided===!1&&(this._hasAudio=te.hasAudio,this._mediaInfo.hasAudio=this._hasAudio),typeof te.hasVideo=="boolean"&&this._hasVideoFlagOverrided===!1&&(this._hasVideo=te.hasVideo,this._mediaInfo.hasVideo=this._hasVideo),typeof te.audiodatarate=="number"&&(this._mediaInfo.audioDataRate=te.audiodatarate),typeof te.videodatarate=="number"&&(this._mediaInfo.videoDataRate=te.videodatarate),typeof te.width=="number"&&(this._mediaInfo.width=te.width),typeof te.height=="number"&&(this._mediaInfo.height=te.height),typeof te.duration=="number"){if(!this._durationOverrided){let J=Math.floor(te.duration*this._timescale);this._duration=J,this._mediaInfo.duration=J}}else this._mediaInfo.duration=0;if(typeof te.framerate=="number"){let J=Math.floor(te.framerate*1e3);if(J>0){let Q=J/1e3;this._referenceFrameRate.fixed=!0,this._referenceFrameRate.fps=Q,this._referenceFrameRate.fps_num=J,this._referenceFrameRate.fps_den=1e3,this._mediaInfo.fps=Q}}if(typeof te.keyframes=="object"){this._mediaInfo.hasKeyframesIndex=!0;let J=te.keyframes;this._mediaInfo.keyframesIndex=this._parseKeyframesIndex(J),te.keyframes=null}else this._mediaInfo.hasKeyframesIndex=!1;this._dispatch=!1,this._mediaInfo.metadata=te,A.v(this.TAG,"Parsed onMetaData"),this._mediaInfo.isComplete()&&this._onMediaInfo(this._mediaInfo)}Object.keys(k).length>0&&this._onScriptDataArrived&&this._onScriptDataArrived(Object.assign({},k))}_parseKeyframesIndex(T){let U=[],H=[];for(let k=1;k<T.times.length;k++){let te=this._timestampBase+Math.floor(T.times[k]*1e3);U.push(te),H.push(T.filepositions[k])}return{times:U,filepositions:H}}_parseAudioData(T,U,H,k){if(H<=1){A.w(this.TAG,"Flv: Invalid audio packet, missing SoundData payload!");return}if(this._hasAudioFlagOverrided===!0&&this._hasAudio===!1)return;let te=this._littleEndian,Q=new DataView(T,U,H).getUint8(0),Te=Q>>>4;if(Te!==2&&Te!==10){this._onError(re.CODEC_UNSUPPORTED,"Flv: Unsupported audio codec idx: "+Te);return}let pe=0,Be=(Q&12)>>>2;if(Be>=0&&Be<=4)pe=this._flvSoundRateTable[Be];else{this._onError(re.FORMAT_ERROR,"Flv: Invalid audio sample rate idx: "+Be);return}let ke=(Q&2)>>>1,Je=Q&1,Ke=this._audioMetadata,qe=this._audioTrack;if(Ke||(this._hasAudio===!1&&this._hasAudioFlagOverrided===!1&&(this._hasAudio=!0,this._mediaInfo.hasAudio=!0),Ke=this._audioMetadata={},Ke.type="audio",Ke.id=qe.id,Ke.timescale=this._timescale,Ke.duration=this._duration,Ke.audioSampleRate=pe,Ke.channelCount=Je===0?1:2),Te===10){let Ze=this._parseAACAudioData(T,U+1,H-1);if(Ze==null)return;if(Ze.packetType===0){Ke.config&&A.w(this.TAG,"Found another AudioSpecificConfig!");let Ge=Ze.data;Ke.audioSampleRate=Ge.samplingRate,Ke.channelCount=Ge.channelCount,Ke.codec=Ge.codec,Ke.originalCodec=Ge.originalCodec,Ke.config=Ge.config,Ke.refSampleDuration=1024/Ke.audioSampleRate*Ke.timescale,A.v(this.TAG,"Parsed AudioSpecificConfig"),this._isInitialMetadataDispatched()?this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack):this._audioInitialMetadataDispatched=!0,this._dispatch=!1,this._onTrackMetadata("audio",Ke);let Ve=this._mediaInfo;Ve.audioCodec=Ke.originalCodec,Ve.audioSampleRate=Ke.audioSampleRate,Ve.audioChannelCount=Ke.channelCount,Ve.hasVideo?Ve.videoCodec!=null&&(Ve.mimeType='video/x-flv; codecs="'+Ve.videoCodec+","+Ve.audioCodec+'"'):Ve.mimeType='video/x-flv; codecs="'+Ve.audioCodec+'"',Ve.isComplete()&&this._onMediaInfo(Ve)}else if(Ze.packetType===1){let Ge=this._timestampBase+k,Ve={unit:Ze.data,length:Ze.data.byteLength,dts:Ge,pts:Ge};qe.samples.push(Ve),qe.length+=Ze.data.length}else A.e(this.TAG,`Flv: Unsupported AAC data type ${Ze.packetType}`)}else if(Te===2){if(!Ke.codec){let at=this._parseMP3AudioData(T,U+1,H-1,!0);if(at==null)return;Ke.audioSampleRate=at.samplingRate,Ke.channelCount=at.channelCount,Ke.codec=at.codec,Ke.originalCodec=at.originalCodec,Ke.refSampleDuration=1152/Ke.audioSampleRate*Ke.timescale,A.v(this.TAG,"Parsed MPEG Audio Frame Header"),this._audioInitialMetadataDispatched=!0,this._onTrackMetadata("audio",Ke);let Ye=this._mediaInfo;Ye.audioCodec=Ke.codec,Ye.audioSampleRate=Ke.audioSampleRate,Ye.audioChannelCount=Ke.channelCount,Ye.audioDataRate=at.bitRate,Ye.hasVideo?Ye.videoCodec!=null&&(Ye.mimeType='video/x-flv; codecs="'+Ye.videoCodec+","+Ye.audioCodec+'"'):Ye.mimeType='video/x-flv; codecs="'+Ye.audioCodec+'"',Ye.isComplete()&&this._onMediaInfo(Ye)}let Ze=this._parseMP3AudioData(T,U+1,H-1,!1);if(Ze==null)return;let Ge=this._timestampBase+k,Ve={unit:Ze,length:Ze.byteLength,dts:Ge,pts:Ge};qe.samples.push(Ve),qe.length+=Ze.length}}_parseAACAudioData(T,U,H){if(H<=1){A.w(this.TAG,"Flv: Invalid AAC packet, missing AACPacketType or/and Data!");return}let k={},te=new Uint8Array(T,U,H);return k.packetType=te[0],te[0]===0?k.data=this._parseAACAudioSpecificConfig(T,U+1,H-1):k.data=te.subarray(1),k}_parseAACAudioSpecificConfig(T,U,H){let k=new Uint8Array(T,U,H),te=null,J=0,Q=0,Te=null,pe=0,Be=null;if(J=Q=k[0]>>>3,pe=(k[0]&7)<<1|k[1]>>>7,pe<0||pe>=this._mpegSamplingRates.length){this._onError(re.FORMAT_ERROR,"Flv: AAC invalid sampling frequency index!");return}let ke=this._mpegSamplingRates[pe],Je=(k[1]&120)>>>3;if(Je<0||Je>=8){this._onError(re.FORMAT_ERROR,"Flv: AAC invalid channel configuration");return}J===5&&(Be=(k[1]&7)<<1|k[2]>>>7,Te=(k[2]&124)>>>2);let Ke=self.navigator.userAgent.toLowerCase();return Ke.indexOf("firefox")!==-1?pe>=6?(J=5,te=new Array(4),Be=pe-3):(J=2,te=new Array(2),Be=pe):Ke.indexOf("android")!==-1?(J=2,te=new Array(2),Be=pe):(J=5,Be=pe,te=new Array(4),pe>=6?Be=pe-3:Je===1&&(J=2,te=new Array(2),Be=pe)),te[0]=J<<3,te[0]|=(pe&15)>>>1,te[1]=(pe&15)<<7,te[1]|=(Je&15)<<3,J===5&&(te[1]|=(Be&15)>>>1,te[2]=(Be&1)<<7,te[2]|=8,te[3]=0),{config:te,samplingRate:ke,channelCount:Je,codec:"mp4a.40."+J,originalCodec:"mp4a.40."+Q}}_parseMP3AudioData(T,U,H,k){if(H<4){A.w(this.TAG,"Flv: Invalid MP3 packet, header missing!");return}let te=this._littleEndian,J=new Uint8Array(T,U,H),Q=null;if(k){if(J[0]!==255)return;let Te=J[1]>>>3&3,pe=(J[1]&6)>>1,Be=(J[2]&240)>>>4,ke=(J[2]&12)>>>2,Ke=(J[3]>>>6&3)!==3?2:1,qe=0,Ze=0,Ge=34,Ve="mp3";switch(Te){case 0:qe=this._mpegAudioV25SampleRateTable[ke];break;case 2:qe=this._mpegAudioV20SampleRateTable[ke];break;case 3:qe=this._mpegAudioV10SampleRateTable[ke];break}switch(pe){case 1:Ge=34,Be<this._mpegAudioL3BitRateTable.length&&(Ze=this._mpegAudioL3BitRateTable[Be]);break;case 2:Ge=33,Be<this._mpegAudioL2BitRateTable.length&&(Ze=this._mpegAudioL2BitRateTable[Be]);break;case 3:Ge=32,Be<this._mpegAudioL1BitRateTable.length&&(Ze=this._mpegAudioL1BitRateTable[Be]);break}Q={bitRate:Ze,samplingRate:qe,channelCount:Ke,codec:Ve,originalCodec:Ve}}else Q=J;return Q}_parseVideoData(T,U,H,k,te){if(H<=1){A.w(this.TAG,"Flv: Invalid video packet, missing VideoData payload!");return}if(this._hasVideoFlagOverrided===!0&&this._hasVideo===!1)return;let J=new Uint8Array(T,U,H)[0],Q=(J&240)>>>4,Te=J&15;if(Te!==7){this._onError(re.CODEC_UNSUPPORTED,`Flv: Unsupported codec in video frame: ${Te}`);return}this._parseAVCVideoPacket(T,U+1,H-1,k,te,Q)}_parseAVCVideoPacket(T,U,H,k,te,J){if(H<4){A.w(this.TAG,"Flv: Invalid AVC packet, missing AVCPacketType or/and CompositionTime");return}let Q=this._littleEndian,Te=new DataView(T,U,H),pe=Te.getUint8(0),ke=(Te.getUint32(0,!Q)&16777215)<<8>>8;if(pe===0)this._parseAVCDecoderConfigurationRecord(T,U+4,H-4);else if(pe===1)this._parseAVCVideoData(T,U+4,H-4,k,te,J,ke);else if(pe!==2){this._onError(re.FORMAT_ERROR,`Flv: Invalid video packet type ${pe}`);return}}_parseAVCDecoderConfigurationRecord(T,U,H){if(H<7){A.w(this.TAG,"Flv: Invalid AVCDecoderConfigurationRecord, lack of data!");return}let k=this._videoMetadata,te=this._videoTrack,J=this._littleEndian,Q=new DataView(T,U,H);k?typeof k.avcc!="undefined"&&A.w(this.TAG,"Found another AVCDecoderConfigurationRecord!"):(this._hasVideo===!1&&this._hasVideoFlagOverrided===!1&&(this._hasVideo=!0,this._mediaInfo.hasVideo=!0),k=this._videoMetadata={},k.type="video",k.id=te.id,k.timescale=this._timescale,k.duration=this._duration);let Te=Q.getUint8(0),pe=Q.getUint8(1),Be=Q.getUint8(2),ke=Q.getUint8(3);if(Te!==1||pe===0){this._onError(re.FORMAT_ERROR,"Flv: Invalid AVCDecoderConfigurationRecord");return}if(this._naluLengthSize=(Q.getUint8(4)&3)+1,this._naluLengthSize!==3&&this._naluLengthSize!==4){this._onError(re.FORMAT_ERROR,`Flv: Strange NaluLengthSizeMinusOne: ${this._naluLengthSize-1}`);return}let Je=Q.getUint8(5)&31;if(Je===0){this._onError(re.FORMAT_ERROR,"Flv: Invalid AVCDecoderConfigurationRecord: No SPS");return}else Je>1&&A.w(this.TAG,`Flv: Strange AVCDecoderConfigurationRecord: SPS Count = ${Je}`);let Ke=6;for(let Ze=0;Ze<Je;Ze++){let Ge=Q.getUint16(Ke,!J);if(Ke+=2,Ge===0)continue;let Ve=new Uint8Array(T,U+Ke,Ge);Ke+=Ge;let at=oe.parseSPS(Ve);if(Ze!==0)continue;k.codecWidth=at.codec_size.width,k.codecHeight=at.codec_size.height,k.presentWidth=at.present_size.width,k.presentHeight=at.present_size.height,k.profile=at.profile_string,k.level=at.level_string,k.bitDepth=at.bit_depth,k.chromaFormat=at.chroma_format,k.sarRatio=at.sar_ratio,k.frameRate=at.frame_rate,(at.frame_rate.fixed===!1||at.frame_rate.fps_num===0||at.frame_rate.fps_den===0)&&(k.frameRate=this._referenceFrameRate);let Ye=k.frameRate.fps_den,gt=k.frameRate.fps_num;k.refSampleDuration=k.timescale*(Ye/gt);let Rt=Ve.subarray(1,4),Nt="avc1.";for(let bt=0;bt<3;bt++){let De=Rt[bt].toString(16);De.length<2&&(De="0"+De),Nt+=De}k.codec=Nt;let ot=this._mediaInfo;ot.width=k.codecWidth,ot.height=k.codecHeight,ot.fps=k.frameRate.fps,ot.profile=k.profile,ot.level=k.level,ot.refFrames=at.ref_frames,ot.chromaFormat=at.chroma_format_string,ot.sarNum=k.sarRatio.width,ot.sarDen=k.sarRatio.height,ot.videoCodec=Nt,ot.hasAudio?ot.audioCodec!=null&&(ot.mimeType='video/x-flv; codecs="'+ot.videoCodec+","+ot.audioCodec+'"'):ot.mimeType='video/x-flv; codecs="'+ot.videoCodec+'"',ot.isComplete()&&this._onMediaInfo(ot)}let qe=Q.getUint8(Ke);if(qe===0){this._onError(re.FORMAT_ERROR,"Flv: Invalid AVCDecoderConfigurationRecord: No PPS");return}else qe>1&&A.w(this.TAG,`Flv: Strange AVCDecoderConfigurationRecord: PPS Count = ${qe}`);Ke++;for(let Ze=0;Ze<qe;Ze++){let Ge=Q.getUint16(Ke,!J);Ke+=2,Ge!==0&&(Ke+=Ge)}k.avcc=new Uint8Array(H),k.avcc.set(new Uint8Array(T,U,H),0),A.v(this.TAG,"Parsed AVCDecoderConfigurationRecord"),this._isInitialMetadataDispatched()?this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack):this._videoInitialMetadataDispatched=!0,this._dispatch=!1,this._onTrackMetadata("video",k)}_parseAVCVideoData(T,U,H,k,te,J,Q){let Te=this._littleEndian,pe=new DataView(T,U,H),Be=[],ke=0,Je=0;const Ke=this._naluLengthSize;let qe=this._timestampBase+k,Ze=J===1;for(;Je<H;){if(Je+4>=H){A.w(this.TAG,`Malformed Nalu near timestamp ${qe}, offset = ${Je}, dataSize = ${H}`);break}let Ge=pe.getUint32(Je,!Te);if(Ke===3&&(Ge>>>=8),Ge>H-Ke){A.w(this.TAG,`Malformed Nalus near timestamp ${qe}, NaluSize > DataSize!`);return}let Ve=pe.getUint8(Je+Ke)&31;Ve===5&&(Ze=!0);let at=new Uint8Array(T,U+Je,Ke+Ge),Ye={type:Ve,data:at};Be.push(Ye),ke+=at.byteLength,Je+=Ke+Ge}if(Be.length){let Ge=this._videoTrack,Ve={units:Be,length:ke,isKeyframe:Ze,dts:qe,cts:Q,pts:qe+Q};Ze&&(Ve.fileposition=te),Ge.samples.push(Ve),Ge.length+=ke}}}var se=$;class q{static init(){q.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[]};for(let U in q.types)q.types.hasOwnProperty(U)&&(q.types[U]=[U.charCodeAt(0),U.charCodeAt(1),U.charCodeAt(2),U.charCodeAt(3)]);let T=q.constants={};T.FTYP=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),T.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),T.STTS=new Uint8Array([0,0,0,0,0,0,0,0]),T.STSC=T.STCO=T.STTS,T.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),T.HDLR_VIDEO=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),T.HDLR_AUDIO=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),T.DREF=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),T.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),T.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}static box(T){let U=8,H=null,k=Array.prototype.slice.call(arguments,1),te=k.length;for(let Q=0;Q<te;Q++)U+=k[Q].byteLength;H=new Uint8Array(U),H[0]=U>>>24&255,H[1]=U>>>16&255,H[2]=U>>>8&255,H[3]=U&255,H.set(T,4);let J=8;for(let Q=0;Q<te;Q++)H.set(k[Q],J),J+=k[Q].byteLength;return H}static generateInitSegment(T){let U=q.box(q.types.ftyp,q.constants.FTYP),H=q.moov(T),k=new Uint8Array(U.byteLength+H.byteLength);return k.set(U,0),k.set(H,U.byteLength),k}static moov(T){let U=q.mvhd(T.timescale,T.duration),H=q.trak(T),k=q.mvex(T);return q.box(q.types.moov,U,H,k)}static mvhd(T,U){return q.box(q.types.mvhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,T>>>24&255,T>>>16&255,T>>>8&255,T&255,U>>>24&255,U>>>16&255,U>>>8&255,U&255,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))}static trak(T){return q.box(q.types.trak,q.tkhd(T),q.mdia(T))}static tkhd(T){let U=T.id,H=T.duration,k=T.presentWidth,te=T.presentHeight;return q.box(q.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,U>>>24&255,U>>>16&255,U>>>8&255,U&255,0,0,0,0,H>>>24&255,H>>>16&255,H>>>8&255,H&255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,k>>>8&255,k&255,0,0,te>>>8&255,te&255,0,0]))}static mdia(T){return q.box(q.types.mdia,q.mdhd(T),q.hdlr(T),q.minf(T))}static mdhd(T){let U=T.timescale,H=T.duration;return q.box(q.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,U>>>24&255,U>>>16&255,U>>>8&255,U&255,H>>>24&255,H>>>16&255,H>>>8&255,H&255,85,196,0,0]))}static hdlr(T){let U=null;return T.type==="audio"?U=q.constants.HDLR_AUDIO:U=q.constants.HDLR_VIDEO,q.box(q.types.hdlr,U)}static minf(T){let U=null;return T.type==="audio"?U=q.box(q.types.smhd,q.constants.SMHD):U=q.box(q.types.vmhd,q.constants.VMHD),q.box(q.types.minf,U,q.dinf(),q.stbl(T))}static dinf(){return q.box(q.types.dinf,q.box(q.types.dref,q.constants.DREF))}static stbl(T){return q.box(q.types.stbl,q.stsd(T),q.box(q.types.stts,q.constants.STTS),q.box(q.types.stsc,q.constants.STSC),q.box(q.types.stsz,q.constants.STSZ),q.box(q.types.stco,q.constants.STCO))}static stsd(T){return T.type==="audio"?T.codec==="mp3"?q.box(q.types.stsd,q.constants.STSD_PREFIX,q.mp3(T)):q.box(q.types.stsd,q.constants.STSD_PREFIX,q.mp4a(T)):q.box(q.types.stsd,q.constants.STSD_PREFIX,q.avc1(T))}static mp3(T){let U=T.channelCount,H=T.audioSampleRate,k=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,U,0,16,0,0,0,0,H>>>8&255,H&255,0,0]);return q.box(q.types[".mp3"],k)}static mp4a(T){let U=T.channelCount,H=T.audioSampleRate,k=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,U,0,16,0,0,0,0,H>>>8&255,H&255,0,0]);return q.box(q.types.mp4a,k,q.esds(T))}static esds(T){let U=T.config||[],H=U.length,k=new Uint8Array([0,0,0,0,3,23+H,0,1,0,4,15+H,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([H]).concat(U).concat([6,1,2]));return q.box(q.types.esds,k)}static avc1(T){let U=T.avcc,H=T.codecWidth,k=T.codecHeight,te=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,H>>>8&255,H&255,k>>>8&255,k&255,0,72,0,0,0,72,0,0,0,0,0,0,0,1,10,120,113,113,47,102,108,118,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return q.box(q.types.avc1,te,q.box(q.types.avcC,U))}static mvex(T){return q.box(q.types.mvex,q.trex(T))}static trex(T){let U=T.id,H=new Uint8Array([0,0,0,0,U>>>24&255,U>>>16&255,U>>>8&255,U&255,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return q.box(q.types.trex,H)}static moof(T,U){return q.box(q.types.moof,q.mfhd(T.sequenceNumber),q.traf(T,U))}static mfhd(T){let U=new Uint8Array([0,0,0,0,T>>>24&255,T>>>16&255,T>>>8&255,T&255]);return q.box(q.types.mfhd,U)}static traf(T,U){let H=T.id,k=q.box(q.types.tfhd,new Uint8Array([0,0,0,0,H>>>24&255,H>>>16&255,H>>>8&255,H&255])),te=q.box(q.types.tfdt,new Uint8Array([0,0,0,0,U>>>24&255,U>>>16&255,U>>>8&255,U&255])),J=q.sdtp(T),Q=q.trun(T,J.byteLength+16+16+8+16+8+8);return q.box(q.types.traf,k,te,Q,J)}static sdtp(T){let U=T.samples||[],H=U.length,k=new Uint8Array(4+H);for(let te=0;te<H;te++){let J=U[te].flags;k[te+4]=J.isLeading<<6|J.dependsOn<<4|J.isDependedOn<<2|J.hasRedundancy}return q.box(q.types.sdtp,k)}static trun(T,U){let H=T.samples||[],k=H.length,te=12+16*k,J=new Uint8Array(te);U+=8+te,J.set([0,0,15,1,k>>>24&255,k>>>16&255,k>>>8&255,k&255,U>>>24&255,U>>>16&255,U>>>8&255,U&255],0);for(let Q=0;Q<k;Q++){let Te=H[Q].duration,pe=H[Q].size,Be=H[Q].flags,ke=H[Q].cts;J.set([Te>>>24&255,Te>>>16&255,Te>>>8&255,Te&255,pe>>>24&255,pe>>>16&255,pe>>>8&255,pe&255,Be.isLeading<<2|Be.dependsOn,Be.isDependedOn<<6|Be.hasRedundancy<<4|Be.isNonSync,0,0,ke>>>24&255,ke>>>16&255,ke>>>8&255,ke&255],12+16*Q)}return q.box(q.types.trun,J)}static mdat(T){return q.box(q.types.mdat,T)}}q.init();var ie=q;class de{static getSilentFrame(T,U){if(T==="mp4a.40.2"){if(U===1)return new Uint8Array([0,200,0,128,35,128]);if(U===2)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(U===3)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(U===4)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(U===5)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(U===6)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(U===1)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(U===2)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(U===3)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}return null}}var me=de;class Ce{constructor(T,U,H,k,te){this.dts=T,this.pts=U,this.duration=H,this.originalDts=k,this.isSyncPoint=te,this.fileposition=null}}class Oe{constructor(){this.beginDts=0,this.endDts=0,this.beginPts=0,this.endPts=0,this.originalBeginDts=0,this.originalEndDts=0,this.syncPoints=[],this.firstSample=null,this.lastSample=null}appendSyncPoint(T){T.isSyncPoint=!0,this.syncPoints.push(T)}}class Ne{constructor(){this._list=[]}clear(){this._list=[]}appendArray(T){let U=this._list;T.length!==0&&(U.length>0&&T[0].originalDts<U[U.length-1].originalDts&&this.clear(),Array.prototype.push.apply(U,T))}getLastSyncPointBeforeDts(T){if(this._list.length==0)return null;let U=this._list,H=0,k=U.length-1,te=0,J=0,Q=k;for(T<U[0].dts&&(H=0,J=Q+1);J<=Q;)if(te=J+Math.floor((Q-J)/2),te===k||T>=U[te].dts&&T<U[te+1].dts){H=te;break}else U[te].dts<T?J=te+1:Q=te-1;return this._list[H]}}class we{constructor(T){this._type=T,this._list=[],this._lastAppendLocation=-1}get type(){return this._type}get length(){return this._list.length}isEmpty(){return this._list.length===0}clear(){this._list=[],this._lastAppendLocation=-1}_searchNearestSegmentBefore(T){let U=this._list;if(U.length===0)return-2;let H=U.length-1,k=0,te=0,J=H,Q=0;if(T<U[0].originalBeginDts)return Q=-1,Q;for(;te<=J;)if(k=te+Math.floor((J-te)/2),k===H||T>U[k].lastSample.originalDts&&T<U[k+1].originalBeginDts){Q=k;break}else U[k].originalBeginDts<T?te=k+1:J=k-1;return Q}_searchNearestSegmentAfter(T){return this._searchNearestSegmentBefore(T)+1}append(T){let U=this._list,H=T,k=this._lastAppendLocation,te=0;k!==-1&&k<U.length&&H.originalBeginDts>=U[k].lastSample.originalDts&&(k===U.length-1||k<U.length-1&&H.originalBeginDts<U[k+1].originalBeginDts)?te=k+1:U.length>0&&(te=this._searchNearestSegmentBefore(H.originalBeginDts)+1),this._lastAppendLocation=te,this._list.splice(te,0,H)}getLastSegmentBefore(T){let U=this._searchNearestSegmentBefore(T);return U>=0?this._list[U]:null}getLastSampleBefore(T){let U=this.getLastSegmentBefore(T);return U!=null?U.lastSample:null}getLastSyncPointBefore(T){let U=this._searchNearestSegmentBefore(T),H=this._list[U].syncPoints;for(;H.length===0&&U>0;)U--,H=this._list[U].syncPoints;return H.length>0?H[H.length-1]:null}}class ce{constructor(T){this.TAG="MP4Remuxer",this._config=T,this._isLive=T.isLive===!0,this._dtsBase=-1,this._dtsBaseInited=!1,this._audioDtsBase=1/0,this._videoDtsBase=1/0,this._audioNextDts=void 0,this._videoNextDts=void 0,this._audioStashedLastSample=null,this._videoStashedLastSample=null,this._audioMeta=null,this._videoMeta=null,this._audioSegmentInfoList=new we("audio"),this._videoSegmentInfoList=new we("video"),this._onInitSegment=null,this._onMediaSegment=null,this._forceFirstIDR=!!(s.chrome&&(s.version.major<50||s.version.major===50&&s.version.build<2661)),this._fillSilentAfterSeek=s.msedge||s.msie,this._mp3UseMpegAudio=!s.firefox,this._fillAudioTimestampGap=this._config.fixAudioTimestampGap}destroy(){this._dtsBase=-1,this._dtsBaseInited=!1,this._audioMeta=null,this._videoMeta=null,this._audioSegmentInfoList.clear(),this._audioSegmentInfoList=null,this._videoSegmentInfoList.clear(),this._videoSegmentInfoList=null,this._onInitSegment=null,this._onMediaSegment=null}bindDataSource(T){return T.onDataAvailable=this.remux.bind(this),T.onTrackMetadata=this._onTrackMetadataReceived.bind(this),this}get onInitSegment(){return this._onInitSegment}set onInitSegment(T){this._onInitSegment=T}get onMediaSegment(){return this._onMediaSegment}set onMediaSegment(T){this._onMediaSegment=T}insertDiscontinuity(){this._audioNextDts=this._videoNextDts=void 0}seek(T){this._audioStashedLastSample=null,this._videoStashedLastSample=null,this._videoSegmentInfoList.clear(),this._audioSegmentInfoList.clear()}remux(T,U){if(!this._onMediaSegment)throw new g("MP4Remuxer: onMediaSegment callback must be specificed!");this._dtsBaseInited||this._calculateDtsBase(T,U),this._remuxVideo(U),this._remuxAudio(T)}_onTrackMetadataReceived(T,U){let H=null,k="mp4",te=U.codec;if(T==="audio")this._audioMeta=U,U.codec==="mp3"&&this._mp3UseMpegAudio?(k="mpeg",te="",H=new Uint8Array):H=ie.generateInitSegment(U);else if(T==="video")this._videoMeta=U,H=ie.generateInitSegment(U);else return;if(!this._onInitSegment)throw new g("MP4Remuxer: onInitSegment callback must be specified!");this._onInitSegment(T,{type:T,data:H.buffer,codec:te,container:`${T}/${k}`,mediaDuration:U.duration})}_calculateDtsBase(T,U){this._dtsBaseInited||(T.samples&&T.samples.length&&(this._audioDtsBase=T.samples[0].dts),U.samples&&U.samples.length&&(this._videoDtsBase=U.samples[0].dts),this._dtsBase=Math.min(this._audioDtsBase,this._videoDtsBase),this._dtsBaseInited=!0)}flushStashedSamples(){let T=this._videoStashedLastSample,U=this._audioStashedLastSample,H={type:"video",id:1,sequenceNumber:0,samples:[],length:0};T!=null&&(H.samples.push(T),H.length=T.length);let k={type:"audio",id:2,sequenceNumber:0,samples:[],length:0};U!=null&&(k.samples.push(U),k.length=U.length),this._videoStashedLastSample=null,this._audioStashedLastSample=null,this._remuxVideo(H,!0),this._remuxAudio(k,!0)}_remuxAudio(T,U){if(this._audioMeta==null)return;let H=T,k=H.samples,te,J=-1,Q=-1,Te=-1,pe=this._audioMeta.refSampleDuration,Be=this._audioMeta.codec==="mp3"&&this._mp3UseMpegAudio,ke=this._dtsBaseInited&&this._audioNextDts===void 0,Je=!1;if(!k||k.length===0||k.length===1&&!U)return;let Ke=0,qe=null,Ze=0;Be?(Ke=0,Ze=H.length):(Ke=8,Ze=8+H.length);let Ge=null;if(k.length>1&&(Ge=k.pop(),Ze-=Ge.length),this._audioStashedLastSample!=null){let ot=this._audioStashedLastSample;this._audioStashedLastSample=null,k.unshift(ot),Ze+=ot.length}Ge!=null&&(this._audioStashedLastSample=Ge);let Ve=k[0].dts-this._dtsBase;if(this._audioNextDts)te=Ve-this._audioNextDts;else if(this._audioSegmentInfoList.isEmpty())te=0,this._fillSilentAfterSeek&&!this._videoSegmentInfoList.isEmpty()&&this._audioMeta.originalCodec!=="mp3"&&(Je=!0);else{let ot=this._audioSegmentInfoList.getLastSampleBefore(Ve);if(ot!=null){let bt=Ve-(ot.originalDts+ot.duration);bt<=3&&(bt=0);let De=ot.dts+ot.duration+bt;te=Ve-De}else te=0}if(Je){let ot=Ve-te,bt=this._videoSegmentInfoList.getLastSegmentBefore(Ve);if(bt!=null&&bt.beginDts<ot){let De=me.getSilentFrame(this._audioMeta.originalCodec,this._audioMeta.channelCount);if(De){let be=bt.beginDts,Le=ot-bt.beginDts;A.v(this.TAG,`InsertPrefixSilentAudio: dts: ${be}, duration: ${Le}`),k.unshift({unit:De,dts:be,pts:be}),Ze+=De.byteLength}}else Je=!1}let at=[];for(let ot=0;ot<k.length;ot++){let bt=k[ot],De=bt.unit,be=bt.dts-this._dtsBase,Le=be-te;J===-1&&(J=Le);let ze=0;ot!==k.length-1?ze=k[ot+1].dts-this._dtsBase-te-Le:Ge!=null?ze=Ge.dts-this._dtsBase-te-Le:at.length>=1?ze=at[at.length-1].duration:ze=Math.floor(pe);let We=!1,He=null;if(ze>pe*1.5&&this._audioMeta.codec!=="mp3"&&this._fillAudioTimestampGap&&!s.safari){We=!0;let Fe=Math.abs(ze-pe),rt=Math.ceil(Fe/pe),Et=Le+pe;A.w(this.TAG,`Large audio timestamp gap detected, may cause AV sync to drift. Silent frames will be generated to avoid unsync.
|
|
dts: ${Le+ze} ms, expected: ${Le+Math.round(pe)} ms, delta: ${Math.round(Fe)} ms, generate: ${rt} frames`);let yt=me.getSilentFrame(this._audioMeta.originalCodec,this._audioMeta.channelCount);yt==null&&(A.w(this.TAG,`Unable to generate silent frame for ${this._audioMeta.originalCodec} with ${this._audioMeta.channelCount} channels, repeat last frame`),yt=De),He=[];for(let At=0;At<rt;At++){let zt=Math.round(Et);if(He.length>0){let Dt=He[He.length-1];Dt.duration=zt-Dt.dts}let Lt={dts:zt,pts:zt,cts:0,unit:yt,size:yt.byteLength,duration:0,originalDts:be,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}};He.push(Lt),Ze+=Lt.size,Et+=pe}let Pt=He[He.length-1];Pt.duration=Le+ze-Pt.dts,ze=Math.round(pe)}at.push({dts:Le,pts:Le,cts:0,unit:bt.unit,size:bt.unit.byteLength,duration:ze,originalDts:be,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}}),We&&at.push.apply(at,He)}Be?qe=new Uint8Array(Ze):(qe=new Uint8Array(Ze),qe[0]=Ze>>>24&255,qe[1]=Ze>>>16&255,qe[2]=Ze>>>8&255,qe[3]=Ze&255,qe.set(ie.types.mdat,4));for(let ot=0;ot<at.length;ot++){let bt=at[ot].unit;qe.set(bt,Ke),Ke+=bt.byteLength}let Ye=at[at.length-1];Q=Ye.dts+Ye.duration,this._audioNextDts=Q;let gt=new Oe;gt.beginDts=J,gt.endDts=Q,gt.beginPts=J,gt.endPts=Q,gt.originalBeginDts=at[0].originalDts,gt.originalEndDts=Ye.originalDts+Ye.duration,gt.firstSample=new Ce(at[0].dts,at[0].pts,at[0].duration,at[0].originalDts,!1),gt.lastSample=new Ce(Ye.dts,Ye.pts,Ye.duration,Ye.originalDts,!1),this._isLive||this._audioSegmentInfoList.append(gt),H.samples=at,H.sequenceNumber++;let Rt=null;Be?Rt=new Uint8Array:Rt=ie.moof(H,J),H.samples=[],H.length=0;let Nt={type:"audio",data:this._mergeBoxes(Rt,qe).buffer,sampleCount:at.length,info:gt};Be&&ke&&(Nt.timestampOffset=J),this._onMediaSegment("audio",Nt)}_remuxVideo(T,U){if(this._videoMeta==null)return;let H=T,k=H.samples,te,J=-1,Q=-1,Te=-1,pe=-1;if(!k||k.length===0||k.length===1&&!U)return;let Be=8,ke=null,Je=8+T.length,Ke=null;if(k.length>1&&(Ke=k.pop(),Je-=Ke.length),this._videoStashedLastSample!=null){let Ye=this._videoStashedLastSample;this._videoStashedLastSample=null,k.unshift(Ye),Je+=Ye.length}Ke!=null&&(this._videoStashedLastSample=Ke);let qe=k[0].dts-this._dtsBase;if(this._videoNextDts)te=qe-this._videoNextDts;else if(this._videoSegmentInfoList.isEmpty())te=0;else{let Ye=this._videoSegmentInfoList.getLastSampleBefore(qe);if(Ye!=null){let gt=qe-(Ye.originalDts+Ye.duration);gt<=3&&(gt=0);let Rt=Ye.dts+Ye.duration+gt;te=qe-Rt}else te=0}let Ze=new Oe,Ge=[];for(let Ye=0;Ye<k.length;Ye++){let gt=k[Ye],Rt=gt.dts-this._dtsBase,Nt=gt.isKeyframe,ot=Rt-te,bt=gt.cts,De=ot+bt;J===-1&&(J=ot,Te=De);let be=0;if(Ye!==k.length-1?be=k[Ye+1].dts-this._dtsBase-te-ot:Ke!=null?be=Ke.dts-this._dtsBase-te-ot:Ge.length>=1?be=Ge[Ge.length-1].duration:be=Math.floor(this._videoMeta.refSampleDuration),Nt){let Le=new Ce(ot,De,be,gt.dts,!0);Le.fileposition=gt.fileposition,Ze.appendSyncPoint(Le)}Ge.push({dts:ot,pts:De,cts:bt,units:gt.units,size:gt.length,isKeyframe:Nt,duration:be,originalDts:Rt,flags:{isLeading:0,dependsOn:Nt?2:1,isDependedOn:Nt?1:0,hasRedundancy:0,isNonSync:Nt?0:1}})}ke=new Uint8Array(Je),ke[0]=Je>>>24&255,ke[1]=Je>>>16&255,ke[2]=Je>>>8&255,ke[3]=Je&255,ke.set(ie.types.mdat,4);for(let Ye=0;Ye<Ge.length;Ye++){let gt=Ge[Ye].units;for(;gt.length;){let Nt=gt.shift().data;ke.set(Nt,Be),Be+=Nt.byteLength}}let Ve=Ge[Ge.length-1];if(Q=Ve.dts+Ve.duration,pe=Ve.pts+Ve.duration,this._videoNextDts=Q,Ze.beginDts=J,Ze.endDts=Q,Ze.beginPts=Te,Ze.endPts=pe,Ze.originalBeginDts=Ge[0].originalDts,Ze.originalEndDts=Ve.originalDts+Ve.duration,Ze.firstSample=new Ce(Ge[0].dts,Ge[0].pts,Ge[0].duration,Ge[0].originalDts,Ge[0].isKeyframe),Ze.lastSample=new Ce(Ve.dts,Ve.pts,Ve.duration,Ve.originalDts,Ve.isKeyframe),this._isLive||this._videoSegmentInfoList.append(Ze),H.samples=Ge,H.sequenceNumber++,this._forceFirstIDR){let Ye=Ge[0].flags;Ye.dependsOn=2,Ye.isNonSync=0}let at=ie.moof(H,J);H.samples=[],H.length=0,this._onMediaSegment("video",{type:"video",data:this._mergeBoxes(at,ke).buffer,sampleCount:Ge.length,info:Ze})}_mergeBoxes(T,U){let H=new Uint8Array(T.byteLength+U.byteLength);return H.set(T,0),H.set(U,T.byteLength),H}}var ye=ce,xe={IO_ERROR:"io_error",DEMUX_ERROR:"demux_error",INIT_SEGMENT:"init_segment",MEDIA_SEGMENT:"media_segment",LOADING_COMPLETE:"loading_complete",RECOVERED_EARLY_EOF:"recovered_early_eof",MEDIA_INFO:"media_info",METADATA_ARRIVED:"metadata_arrived",SCRIPTDATA_ARRIVED:"scriptdata_arrived",STATISTICS_INFO:"statistics_info",RECOMMEND_SEEKPOINT:"recommend_seekpoint"};class je{constructor(T,U){this.TAG="TransmuxingController",this._emitter=new(E()),this._config=U,T.segments||(T.segments=[{duration:T.duration,filesize:T.filesize,url:T.url}]),typeof T.cors!="boolean"&&(T.cors=!0),typeof T.withCredentials!="boolean"&&(T.withCredentials=!1),this._mediaDataSource=T,this._currentSegmentIndex=0;let H=0;this._mediaDataSource.segments.forEach(k=>{k.timestampBase=H,H+=k.duration,k.cors=T.cors,k.withCredentials=T.withCredentials,U.referrerPolicy&&(k.referrerPolicy=U.referrerPolicy)}),!isNaN(H)&&this._mediaDataSource.duration!==H&&(this._mediaDataSource.duration=H),this._mediaInfo=null,this._demuxer=null,this._remuxer=null,this._ioctl=null,this._pendingSeekTime=null,this._pendingResolveSeekPoint=null,this._statisticsReporter=null}destroy(){this._mediaInfo=null,this._mediaDataSource=null,this._statisticsReporter&&this._disableStatisticsReporter(),this._ioctl&&(this._ioctl.destroy(),this._ioctl=null),this._demuxer&&(this._demuxer.destroy(),this._demuxer=null),this._remuxer&&(this._remuxer.destroy(),this._remuxer=null),this._emitter.removeAllListeners(),this._emitter=null}on(T,U){this._emitter.addListener(T,U)}off(T,U){this._emitter.removeListener(T,U)}start(){this._loadSegment(0),this._enableStatisticsReporter()}_loadSegment(T,U){this._currentSegmentIndex=T;let H=this._mediaDataSource.segments[T],k=this._ioctl=new P(H,this._config,T);k.onError=this._onIOException.bind(this),k.onSeeked=this._onIOSeeked.bind(this),k.onComplete=this._onIOComplete.bind(this),k.onRedirect=this._onIORedirect.bind(this),k.onRecoveredEarlyEof=this._onIORecoveredEarlyEof.bind(this),U?this._demuxer.bindDataSource(this._ioctl):k.onDataArrival=this._onInitChunkArrival.bind(this),k.open(U)}stop(){this._internalAbort(),this._disableStatisticsReporter()}_internalAbort(){this._ioctl&&(this._ioctl.destroy(),this._ioctl=null)}pause(){this._ioctl&&this._ioctl.isWorking()&&(this._ioctl.pause(),this._disableStatisticsReporter())}resume(){this._ioctl&&this._ioctl.isPaused()&&(this._ioctl.resume(),this._enableStatisticsReporter())}seek(T){if(this._mediaInfo==null||!this._mediaInfo.isSeekable())return;let U=this._searchSegmentIndexContains(T);if(U===this._currentSegmentIndex){let H=this._mediaInfo.segments[U];if(H==null)this._pendingSeekTime=T;else{let k=H.getNearestKeyframe(T);this._remuxer.seek(k.milliseconds),this._ioctl.seek(k.fileposition),this._pendingResolveSeekPoint=k.milliseconds}}else{let H=this._mediaInfo.segments[U];if(H==null)this._pendingSeekTime=T,this._internalAbort(),this._remuxer.seek(),this._remuxer.insertDiscontinuity(),this._loadSegment(U);else{let k=H.getNearestKeyframe(T);this._internalAbort(),this._remuxer.seek(T),this._remuxer.insertDiscontinuity(),this._demuxer.resetMediaInfo(),this._demuxer.timestampBase=this._mediaDataSource.segments[U].timestampBase,this._loadSegment(U,k.fileposition),this._pendingResolveSeekPoint=k.milliseconds,this._reportSegmentMediaInfo(U)}}this._enableStatisticsReporter()}_searchSegmentIndexContains(T){let U=this._mediaDataSource.segments,H=U.length-1;for(let k=0;k<U.length;k++)if(T<U[k].timestampBase){H=k-1;break}return H}_onInitChunkArrival(T,U){let H=null,k=0;if(U>0)this._demuxer.bindDataSource(this._ioctl),this._demuxer.timestampBase=this._mediaDataSource.segments[this._currentSegmentIndex].timestampBase,k=this._demuxer.parseChunks(T,U);else if((H=se.probe(T)).match){this._demuxer=new se(H,this._config),this._remuxer||(this._remuxer=new ye(this._config));let te=this._mediaDataSource;te.duration!=null&&!isNaN(te.duration)&&(this._demuxer.overridedDuration=te.duration),typeof te.hasAudio=="boolean"&&(this._demuxer.overridedHasAudio=te.hasAudio),typeof te.hasVideo=="boolean"&&(this._demuxer.overridedHasVideo=te.hasVideo),this._demuxer.timestampBase=te.segments[this._currentSegmentIndex].timestampBase,this._demuxer.onError=this._onDemuxException.bind(this),this._demuxer.onMediaInfo=this._onMediaInfo.bind(this),this._demuxer.onMetaDataArrived=this._onMetaDataArrived.bind(this),this._demuxer.onScriptDataArrived=this._onScriptDataArrived.bind(this),this._remuxer.bindDataSource(this._demuxer.bindDataSource(this._ioctl)),this._remuxer.onInitSegment=this._onRemuxerInitSegmentArrival.bind(this),this._remuxer.onMediaSegment=this._onRemuxerMediaSegmentArrival.bind(this),k=this._demuxer.parseChunks(T,U)}else H=null,A.e(this.TAG,"Non-FLV, Unsupported media type!"),Promise.resolve().then(()=>{this._internalAbort()}),this._emitter.emit(xe.DEMUX_ERROR,re.FORMAT_UNSUPPORTED,"Non-FLV, Unsupported media type"),k=0;return k}_onMediaInfo(T){this._mediaInfo==null&&(this._mediaInfo=Object.assign({},T),this._mediaInfo.keyframesIndex=null,this._mediaInfo.segments=[],this._mediaInfo.segmentCount=this._mediaDataSource.segments.length,Object.setPrototypeOf(this._mediaInfo,ae.prototype));let U=Object.assign({},T);Object.setPrototypeOf(U,ae.prototype),this._mediaInfo.segments[this._currentSegmentIndex]=U,this._reportSegmentMediaInfo(this._currentSegmentIndex),this._pendingSeekTime!=null&&Promise.resolve().then(()=>{let H=this._pendingSeekTime;this._pendingSeekTime=null,this.seek(H)})}_onMetaDataArrived(T){this._emitter.emit(xe.METADATA_ARRIVED,T)}_onScriptDataArrived(T){this._emitter.emit(xe.SCRIPTDATA_ARRIVED,T)}_onIOSeeked(){this._remuxer.insertDiscontinuity()}_onIOComplete(T){let H=T+1;H<this._mediaDataSource.segments.length?(this._internalAbort(),this._remuxer.flushStashedSamples(),this._loadSegment(H)):(this._remuxer.flushStashedSamples(),this._emitter.emit(xe.LOADING_COMPLETE),this._disableStatisticsReporter())}_onIORedirect(T){let U=this._ioctl.extraData;this._mediaDataSource.segments[U].redirectedURL=T}_onIORecoveredEarlyEof(){this._emitter.emit(xe.RECOVERED_EARLY_EOF)}_onIOException(T,U){A.e(this.TAG,`IOException: type = ${T}, code = ${U.code}, msg = ${U.msg}`),this._emitter.emit(xe.IO_ERROR,T,U),this._disableStatisticsReporter()}_onDemuxException(T,U){A.e(this.TAG,`DemuxException: type = ${T}, info = ${U}`),this._emitter.emit(xe.DEMUX_ERROR,T,U)}_onRemuxerInitSegmentArrival(T,U){this._emitter.emit(xe.INIT_SEGMENT,T,U)}_onRemuxerMediaSegmentArrival(T,U){if(this._pendingSeekTime==null&&(this._emitter.emit(xe.MEDIA_SEGMENT,T,U),this._pendingResolveSeekPoint!=null&&T==="video")){let H=U.info.syncPoints,k=this._pendingResolveSeekPoint;this._pendingResolveSeekPoint=null,s.safari&&H.length>0&&H[0].originalDts===k&&(k=H[0].pts),this._emitter.emit(xe.RECOMMEND_SEEKPOINT,k)}}_enableStatisticsReporter(){this._statisticsReporter==null&&(this._statisticsReporter=self.setInterval(this._reportStatisticsInfo.bind(this),this._config.statisticsInfoReportInterval))}_disableStatisticsReporter(){this._statisticsReporter&&(self.clearInterval(this._statisticsReporter),this._statisticsReporter=null)}_reportSegmentMediaInfo(T){let U=this._mediaInfo.segments[T],H=Object.assign({},U);H.duration=this._mediaInfo.duration,H.segmentCount=this._mediaInfo.segmentCount,delete H.segments,delete H.keyframesIndex,this._emitter.emit(xe.MEDIA_INFO,H)}_reportStatisticsInfo(){let T={};T.url=this._ioctl.currentURL,T.hasRedirect=this._ioctl.hasRedirect,T.hasRedirect&&(T.redirectedURL=this._ioctl.currentRedirectedURL),T.speed=this._ioctl.currentSpeed,T.loaderType=this._ioctl.loaderType,T.currentSegmentIndex=this._currentSegmentIndex,T.totalSegmentCount=this._mediaDataSource.segments.length,this._emitter.emit(xe.STATISTICS_INFO,T)}}var ut=je,$e=function(Xe){let T="TransmuxingWorker",U=null,H=Ze.bind(this);K.install(),Xe.addEventListener("message",function(Ge){switch(Ge.data.cmd){case"init":U=new ut(Ge.data.param[0],Ge.data.param[1]),U.on(xe.IO_ERROR,Je.bind(this)),U.on(xe.DEMUX_ERROR,Ke.bind(this)),U.on(xe.INIT_SEGMENT,k.bind(this)),U.on(xe.MEDIA_SEGMENT,te.bind(this)),U.on(xe.LOADING_COMPLETE,J.bind(this)),U.on(xe.RECOVERED_EARLY_EOF,Q.bind(this)),U.on(xe.MEDIA_INFO,Te.bind(this)),U.on(xe.METADATA_ARRIVED,pe.bind(this)),U.on(xe.SCRIPTDATA_ARRIVED,Be.bind(this)),U.on(xe.STATISTICS_INFO,ke.bind(this)),U.on(xe.RECOMMEND_SEEKPOINT,qe.bind(this));break;case"destroy":U&&(U.destroy(),U=null),Xe.postMessage({msg:"destroyed"});break;case"start":U.start();break;case"stop":U.stop();break;case"seek":U.seek(Ge.data.param);break;case"pause":U.pause();break;case"resume":U.resume();break;case"logging_config":{let Ve=Ge.data.param;Y.applyConfig(Ve),Ve.enableCallback===!0?Y.addLogListener(H):Y.removeLogListener(H);break}}});function k(Ge,Ve){let at={msg:xe.INIT_SEGMENT,data:{type:Ge,data:Ve}};Xe.postMessage(at,[Ve.data])}function te(Ge,Ve){let at={msg:xe.MEDIA_SEGMENT,data:{type:Ge,data:Ve}};Xe.postMessage(at,[Ve.data])}function J(){let Ge={msg:xe.LOADING_COMPLETE};Xe.postMessage(Ge)}function Q(){let Ge={msg:xe.RECOVERED_EARLY_EOF};Xe.postMessage(Ge)}function Te(Ge){let Ve={msg:xe.MEDIA_INFO,data:Ge};Xe.postMessage(Ve)}function pe(Ge){let Ve={msg:xe.METADATA_ARRIVED,data:Ge};Xe.postMessage(Ve)}function Be(Ge){let Ve={msg:xe.SCRIPTDATA_ARRIVED,data:Ge};Xe.postMessage(Ve)}function ke(Ge){let Ve={msg:xe.STATISTICS_INFO,data:Ge};Xe.postMessage(Ve)}function Je(Ge,Ve){Xe.postMessage({msg:xe.IO_ERROR,data:{type:Ge,info:Ve}})}function Ke(Ge,Ve){Xe.postMessage({msg:xe.DEMUX_ERROR,data:{type:Ge,info:Ve}})}function qe(Ge){Xe.postMessage({msg:xe.RECOMMEND_SEEKPOINT,data:Ge})}function Ze(Ge,Ve){Xe.postMessage({msg:"logcat_callback",data:{type:Ge,logcat:Ve}})}};class pt{constructor(T,U){if(this.TAG="Transmuxer",this._emitter=new(E()),U.enableWorker&&typeof Worker!="undefined")try{let H=z(82059);this._worker=H($e),this._workerDestroying=!1,this._worker.addEventListener("message",this._onWorkerMessage.bind(this)),this._worker.postMessage({cmd:"init",param:[T,U]}),this.e={onLoggingConfigChanged:this._onLoggingConfigChanged.bind(this)},Y.registerListener(this.e.onLoggingConfigChanged),this._worker.postMessage({cmd:"logging_config",param:Y.getConfig()})}catch(H){A.e(this.TAG,"Error while initialize transmuxing worker, fallback to inline transmuxing"),this._worker=null,this._controller=new ut(T,U)}else this._controller=new ut(T,U);if(this._controller){let H=this._controller;H.on(xe.IO_ERROR,this._onIOError.bind(this)),H.on(xe.DEMUX_ERROR,this._onDemuxError.bind(this)),H.on(xe.INIT_SEGMENT,this._onInitSegment.bind(this)),H.on(xe.MEDIA_SEGMENT,this._onMediaSegment.bind(this)),H.on(xe.LOADING_COMPLETE,this._onLoadingComplete.bind(this)),H.on(xe.RECOVERED_EARLY_EOF,this._onRecoveredEarlyEof.bind(this)),H.on(xe.MEDIA_INFO,this._onMediaInfo.bind(this)),H.on(xe.METADATA_ARRIVED,this._onMetaDataArrived.bind(this)),H.on(xe.SCRIPTDATA_ARRIVED,this._onScriptDataArrived.bind(this)),H.on(xe.STATISTICS_INFO,this._onStatisticsInfo.bind(this)),H.on(xe.RECOMMEND_SEEKPOINT,this._onRecommendSeekpoint.bind(this))}}destroy(){this._worker?this._workerDestroying||(this._workerDestroying=!0,this._worker.postMessage({cmd:"destroy"}),Y.removeListener(this.e.onLoggingConfigChanged),this.e=null):(this._controller.destroy(),this._controller=null),this._emitter.removeAllListeners(),this._emitter=null}on(T,U){this._emitter.addListener(T,U)}off(T,U){this._emitter.removeListener(T,U)}hasWorker(){return this._worker!=null}open(){this._worker?this._worker.postMessage({cmd:"start"}):this._controller.start()}close(){this._worker?this._worker.postMessage({cmd:"stop"}):this._controller.stop()}seek(T){this._worker?this._worker.postMessage({cmd:"seek",param:T}):this._controller.seek(T)}pause(){this._worker?this._worker.postMessage({cmd:"pause"}):this._controller.pause()}resume(){this._worker?this._worker.postMessage({cmd:"resume"}):this._controller.resume()}_onInitSegment(T,U){Promise.resolve().then(()=>{this._emitter.emit(xe.INIT_SEGMENT,T,U)})}_onMediaSegment(T,U){Promise.resolve().then(()=>{this._emitter.emit(xe.MEDIA_SEGMENT,T,U)})}_onLoadingComplete(){Promise.resolve().then(()=>{this._emitter.emit(xe.LOADING_COMPLETE)})}_onRecoveredEarlyEof(){Promise.resolve().then(()=>{this._emitter.emit(xe.RECOVERED_EARLY_EOF)})}_onMediaInfo(T){Promise.resolve().then(()=>{this._emitter.emit(xe.MEDIA_INFO,T)})}_onMetaDataArrived(T){Promise.resolve().then(()=>{this._emitter.emit(xe.METADATA_ARRIVED,T)})}_onScriptDataArrived(T){Promise.resolve().then(()=>{this._emitter.emit(xe.SCRIPTDATA_ARRIVED,T)})}_onStatisticsInfo(T){Promise.resolve().then(()=>{this._emitter.emit(xe.STATISTICS_INFO,T)})}_onIOError(T,U){Promise.resolve().then(()=>{this._emitter.emit(xe.IO_ERROR,T,U)})}_onDemuxError(T,U){Promise.resolve().then(()=>{this._emitter.emit(xe.DEMUX_ERROR,T,U)})}_onRecommendSeekpoint(T){Promise.resolve().then(()=>{this._emitter.emit(xe.RECOMMEND_SEEKPOINT,T)})}_onLoggingConfigChanged(T){this._worker&&this._worker.postMessage({cmd:"logging_config",param:T})}_onWorkerMessage(T){let U=T.data,H=U.data;if(U.msg==="destroyed"||this._workerDestroying){this._workerDestroying=!1,this._worker.terminate(),this._worker=null;return}switch(U.msg){case xe.INIT_SEGMENT:case xe.MEDIA_SEGMENT:this._emitter.emit(U.msg,H.type,H.data);break;case xe.LOADING_COMPLETE:case xe.RECOVERED_EARLY_EOF:this._emitter.emit(U.msg);break;case xe.MEDIA_INFO:Object.setPrototypeOf(H,ae.prototype),this._emitter.emit(U.msg,H);break;case xe.METADATA_ARRIVED:case xe.SCRIPTDATA_ARRIVED:case xe.STATISTICS_INFO:this._emitter.emit(U.msg,H);break;case xe.IO_ERROR:case xe.DEMUX_ERROR:this._emitter.emit(U.msg,H.type,H.info);break;case xe.RECOMMEND_SEEKPOINT:this._emitter.emit(U.msg,H);break;case"logcat_callback":A.emitter.emit("log",H.type,H.logcat);break;default:break}}}var xt=pt,ft={ERROR:"error",SOURCE_OPEN:"source_open",UPDATE_END:"update_end",BUFFER_FULL:"buffer_full"};class $t{constructor(T){this.TAG="MSEController",this._config=T,this._emitter=new(E()),this._config.isLive&&this._config.autoCleanupSourceBuffer==null&&(this._config.autoCleanupSourceBuffer=!0),this.e={onSourceOpen:this._onSourceOpen.bind(this),onSourceEnded:this._onSourceEnded.bind(this),onSourceClose:this._onSourceClose.bind(this),onSourceBufferError:this._onSourceBufferError.bind(this),onSourceBufferUpdateEnd:this._onSourceBufferUpdateEnd.bind(this)},this._mediaSource=null,this._mediaSourceObjectURL=null,this._mediaElement=null,this._isBufferFull=!1,this._hasPendingEos=!1,this._requireSetMediaDuration=!1,this._pendingMediaDuration=0,this._pendingSourceBufferInit=[],this._mimeTypes={video:null,audio:null},this._sourceBuffers={video:null,audio:null},this._lastInitSegments={video:null,audio:null},this._pendingSegments={video:[],audio:[]},this._pendingRemoveRanges={video:[],audio:[]},this._idrList=new Ne}destroy(){(this._mediaElement||this._mediaSource)&&this.detachMediaElement(),this.e=null,this._emitter.removeAllListeners(),this._emitter=null}on(T,U){this._emitter.addListener(T,U)}off(T,U){this._emitter.removeListener(T,U)}attachMediaElement(T){if(this._mediaSource)throw new g("MediaSource has been attached to an HTMLMediaElement!");let U=this._mediaSource=new window.MediaSource;U.addEventListener("sourceopen",this.e.onSourceOpen),U.addEventListener("sourceended",this.e.onSourceEnded),U.addEventListener("sourceclose",this.e.onSourceClose),this._mediaElement=T,this._mediaSourceObjectURL=window.URL.createObjectURL(this._mediaSource),T.src=this._mediaSourceObjectURL}detachMediaElement(){if(this._mediaSource){let T=this._mediaSource;for(let U in this._sourceBuffers){let H=this._pendingSegments[U];H.splice(0,H.length),this._pendingSegments[U]=null,this._pendingRemoveRanges[U]=null,this._lastInitSegments[U]=null;let k=this._sourceBuffers[U];if(k){if(T.readyState!=="closed"){try{T.removeSourceBuffer(k)}catch(te){A.e(this.TAG,te.message)}k.removeEventListener("error",this.e.onSourceBufferError),k.removeEventListener("updateend",this.e.onSourceBufferUpdateEnd)}this._mimeTypes[U]=null,this._sourceBuffers[U]=null}}if(T.readyState==="open")try{T.endOfStream()}catch(U){A.e(this.TAG,U.message)}T.removeEventListener("sourceopen",this.e.onSourceOpen),T.removeEventListener("sourceended",this.e.onSourceEnded),T.removeEventListener("sourceclose",this.e.onSourceClose),this._pendingSourceBufferInit=[],this._isBufferFull=!1,this._idrList.clear(),this._mediaSource=null}this._mediaElement&&(this._mediaElement.src="",this._mediaElement.removeAttribute("src"),this._mediaElement=null),this._mediaSourceObjectURL&&(window.URL.revokeObjectURL(this._mediaSourceObjectURL),this._mediaSourceObjectURL=null)}appendInitSegment(T,U){if(!this._mediaSource||this._mediaSource.readyState!=="open"){this._pendingSourceBufferInit.push(T),this._pendingSegments[T.type].push(T);return}let H=T,k=`${H.container}`;H.codec&&H.codec.length>0&&(k+=`;codecs=${H.codec}`);let te=!1;if(A.v(this.TAG,"Received Initialization Segment, mimeType: "+k),this._lastInitSegments[H.type]=H,k!==this._mimeTypes[H.type]){if(this._mimeTypes[H.type])A.v(this.TAG,`Notice: ${H.type} mimeType changed, origin: ${this._mimeTypes[H.type]}, target: ${k}`);else{te=!0;try{let J=this._sourceBuffers[H.type]=this._mediaSource.addSourceBuffer(k);J.addEventListener("error",this.e.onSourceBufferError),J.addEventListener("updateend",this.e.onSourceBufferUpdateEnd)}catch(J){A.e(this.TAG,J.message),this._emitter.emit(ft.ERROR,{code:J.code,msg:J.message});return}}this._mimeTypes[H.type]=k}U||this._pendingSegments[H.type].push(H),te||this._sourceBuffers[H.type]&&!this._sourceBuffers[H.type].updating&&this._doAppendSegments(),s.safari&&H.container==="audio/mpeg"&&H.mediaDuration>0&&(this._requireSetMediaDuration=!0,this._pendingMediaDuration=H.mediaDuration/1e3,this._updateMediaSourceDuration())}appendMediaSegment(T){let U=T;this._pendingSegments[U.type].push(U),this._config.autoCleanupSourceBuffer&&this._needCleanupSourceBuffer()&&this._doCleanupSourceBuffer();let H=this._sourceBuffers[U.type];H&&!H.updating&&!this._hasPendingRemoveRanges()&&this._doAppendSegments()}seek(T){for(let U in this._sourceBuffers){if(!this._sourceBuffers[U])continue;let H=this._sourceBuffers[U];if(this._mediaSource.readyState==="open")try{H.abort()}catch(te){A.e(this.TAG,te.message)}this._idrList.clear();let k=this._pendingSegments[U];if(k.splice(0,k.length),this._mediaSource.readyState!=="closed"){for(let te=0;te<H.buffered.length;te++){let J=H.buffered.start(te),Q=H.buffered.end(te);this._pendingRemoveRanges[U].push({start:J,end:Q})}if(H.updating||this._doRemoveRanges(),s.safari){let te=this._lastInitSegments[U];te&&(this._pendingSegments[U].push(te),H.updating||this._doAppendSegments())}}}}endOfStream(){let T=this._mediaSource,U=this._sourceBuffers;if(!T||T.readyState!=="open"){T&&T.readyState==="closed"&&this._hasPendingSegments()&&(this._hasPendingEos=!0);return}U.video&&U.video.updating||U.audio&&U.audio.updating?this._hasPendingEos=!0:(this._hasPendingEos=!1,T.endOfStream())}getNearestKeyframe(T){return this._idrList.getLastSyncPointBeforeDts(T)}_needCleanupSourceBuffer(){if(!this._config.autoCleanupSourceBuffer)return!1;let T=this._mediaElement.currentTime;for(let U in this._sourceBuffers){let H=this._sourceBuffers[U];if(H){let k=H.buffered;if(k.length>=1&&T-k.start(0)>=this._config.autoCleanupMaxBackwardDuration)return!0}}return!1}_doCleanupSourceBuffer(){let T=this._mediaElement.currentTime;for(let U in this._sourceBuffers){let H=this._sourceBuffers[U];if(H){let k=H.buffered,te=!1;for(let J=0;J<k.length;J++){let Q=k.start(J),Te=k.end(J);if(Q<=T&&T<Te+3){if(T-Q>=this._config.autoCleanupMaxBackwardDuration){te=!0;let pe=T-this._config.autoCleanupMinBackwardDuration;this._pendingRemoveRanges[U].push({start:Q,end:pe})}}else Te<T&&(te=!0,this._pendingRemoveRanges[U].push({start:Q,end:Te}))}te&&!H.updating&&this._doRemoveRanges()}}}_updateMediaSourceDuration(){let T=this._sourceBuffers;if(this._mediaElement.readyState===0||this._mediaSource.readyState!=="open"||T.video&&T.video.updating||T.audio&&T.audio.updating)return;let U=this._mediaSource.duration,H=this._pendingMediaDuration;H>0&&(isNaN(U)||H>U)&&(A.v(this.TAG,`Update MediaSource duration from ${U} to ${H}`),this._mediaSource.duration=H),this._requireSetMediaDuration=!1,this._pendingMediaDuration=0}_doRemoveRanges(){for(let T in this._pendingRemoveRanges){if(!this._sourceBuffers[T]||this._sourceBuffers[T].updating)continue;let U=this._sourceBuffers[T],H=this._pendingRemoveRanges[T];for(;H.length&&!U.updating;){let k=H.shift();U.remove(k.start,k.end)}}}_doAppendSegments(){let T=this._pendingSegments;for(let U in T)if(!(!this._sourceBuffers[U]||this._sourceBuffers[U].updating)&&T[U].length>0){let H=T[U].shift();if(H.timestampOffset){let k=this._sourceBuffers[U].timestampOffset,te=H.timestampOffset/1e3;Math.abs(k-te)>.1&&(A.v(this.TAG,`Update MPEG audio timestampOffset from ${k} to ${te}`),this._sourceBuffers[U].timestampOffset=te),delete H.timestampOffset}if(!H.data||H.data.byteLength===0)continue;try{this._sourceBuffers[U].appendBuffer(H.data),this._isBufferFull=!1,U==="video"&&H.hasOwnProperty("info")&&this._idrList.appendArray(H.info.syncPoints)}catch(k){this._pendingSegments[U].unshift(H),k.code===22?(this._isBufferFull||this._emitter.emit(ft.BUFFER_FULL),this._isBufferFull=!0):(A.e(this.TAG,k.message),this._emitter.emit(ft.ERROR,{code:k.code,msg:k.message}))}}}_onSourceOpen(){if(A.v(this.TAG,"MediaSource onSourceOpen"),this._mediaSource.removeEventListener("sourceopen",this.e.onSourceOpen),this._pendingSourceBufferInit.length>0){let T=this._pendingSourceBufferInit;for(;T.length;){let U=T.shift();this.appendInitSegment(U,!0)}}this._hasPendingSegments()&&this._doAppendSegments(),this._emitter.emit(ft.SOURCE_OPEN)}_onSourceEnded(){A.v(this.TAG,"MediaSource onSourceEnded")}_onSourceClose(){A.v(this.TAG,"MediaSource onSourceClose"),this._mediaSource&&this.e!=null&&(this._mediaSource.removeEventListener("sourceopen",this.e.onSourceOpen),this._mediaSource.removeEventListener("sourceended",this.e.onSourceEnded),this._mediaSource.removeEventListener("sourceclose",this.e.onSourceClose))}_hasPendingSegments(){let T=this._pendingSegments;return T.video.length>0||T.audio.length>0}_hasPendingRemoveRanges(){let T=this._pendingRemoveRanges;return T.video.length>0||T.audio.length>0}_onSourceBufferUpdateEnd(){this._requireSetMediaDuration?this._updateMediaSourceDuration():this._hasPendingRemoveRanges()?this._doRemoveRanges():this._hasPendingSegments()?this._doAppendSegments():this._hasPendingEos&&this.endOfStream(),this._emitter.emit(ft.UPDATE_END)}_onSourceBufferError(T){A.e(this.TAG,`SourceBuffer Error: ${T}`)}}var Kt=$t;const dt={NETWORK_ERROR:"NetworkError",MEDIA_ERROR:"MediaError",OTHER_ERROR:"OtherError"},ht={NETWORK_EXCEPTION:r.EXCEPTION,NETWORK_STATUS_CODE_INVALID:r.HTTP_STATUS_CODE_INVALID,NETWORK_TIMEOUT:r.CONNECTING_TIMEOUT,NETWORK_UNRECOVERABLE_EARLY_EOF:r.UNRECOVERABLE_EARLY_EOF,MEDIA_MSE_ERROR:"MediaMSEError",MEDIA_FORMAT_ERROR:re.FORMAT_ERROR,MEDIA_FORMAT_UNSUPPORTED:re.FORMAT_UNSUPPORTED,MEDIA_CODEC_UNSUPPORTED:re.CODEC_UNSUPPORTED};class Ot{constructor(T,U){if(this.TAG="FlvPlayer",this._type="FlvPlayer",this._emitter=new(E()),this._config=R(),typeof U=="object"&&Object.assign(this._config,U),T.type.toLowerCase()!=="flv")throw new c("FlvPlayer requires an flv MediaDataSource input!");T.isLive===!0&&(this._config.isLive=!0),this.e={onvLoadedMetadata:this._onvLoadedMetadata.bind(this),onvSeeking:this._onvSeeking.bind(this),onvCanPlay:this._onvCanPlay.bind(this),onvStalled:this._onvStalled.bind(this),onvProgress:this._onvProgress.bind(this)},self.performance&&self.performance.now?this._now=self.performance.now.bind(self.performance):this._now=Date.now,this._pendingSeekTime=null,this._requestSetTime=!1,this._seekpointRecord=null,this._progressChecker=null,this._mediaDataSource=T,this._mediaElement=null,this._msectl=null,this._transmuxer=null,this._mseSourceOpened=!1,this._hasPendingLoad=!1,this._receivedCanPlay=!1,this._mediaInfo=null,this._statisticsInfo=null;let H=s.chrome&&(s.version.major<50||s.version.major===50&&s.version.build<2661);this._alwaysSeekKeyframe=!!(H||s.msedge||s.msie),this._alwaysSeekKeyframe&&(this._config.accurateSeek=!1)}destroy(){this._progressChecker!=null&&(window.clearInterval(this._progressChecker),this._progressChecker=null),this._transmuxer&&this.unload(),this._mediaElement&&this.detachMediaElement(),this.e=null,this._mediaDataSource=null,this._emitter.removeAllListeners(),this._emitter=null}on(T,U){T===G.MEDIA_INFO?this._mediaInfo!=null&&Promise.resolve().then(()=>{this._emitter.emit(G.MEDIA_INFO,this.mediaInfo)}):T===G.STATISTICS_INFO&&this._statisticsInfo!=null&&Promise.resolve().then(()=>{this._emitter.emit(G.STATISTICS_INFO,this.statisticsInfo)}),this._emitter.addListener(T,U)}off(T,U){this._emitter.removeListener(T,U)}attachMediaElement(T){if(this._mediaElement=T,T.addEventListener("loadedmetadata",this.e.onvLoadedMetadata),T.addEventListener("seeking",this.e.onvSeeking),T.addEventListener("canplay",this.e.onvCanPlay),T.addEventListener("stalled",this.e.onvStalled),T.addEventListener("progress",this.e.onvProgress),this._msectl=new Kt(this._config),this._msectl.on(ft.UPDATE_END,this._onmseUpdateEnd.bind(this)),this._msectl.on(ft.BUFFER_FULL,this._onmseBufferFull.bind(this)),this._msectl.on(ft.SOURCE_OPEN,()=>{this._mseSourceOpened=!0,this._hasPendingLoad&&(this._hasPendingLoad=!1,this.load())}),this._msectl.on(ft.ERROR,U=>{this._emitter.emit(G.ERROR,dt.MEDIA_ERROR,ht.MEDIA_MSE_ERROR,U)}),this._msectl.attachMediaElement(T),this._pendingSeekTime!=null)try{T.currentTime=this._pendingSeekTime,this._pendingSeekTime=null}catch(U){}}detachMediaElement(){this._mediaElement&&(this._msectl.detachMediaElement(),this._mediaElement.removeEventListener("loadedmetadata",this.e.onvLoadedMetadata),this._mediaElement.removeEventListener("seeking",this.e.onvSeeking),this._mediaElement.removeEventListener("canplay",this.e.onvCanPlay),this._mediaElement.removeEventListener("stalled",this.e.onvStalled),this._mediaElement.removeEventListener("progress",this.e.onvProgress),this._mediaElement=null),this._msectl&&(this._msectl.destroy(),this._msectl=null)}load(){if(!this._mediaElement)throw new g("HTMLMediaElement must be attached before load()!");if(this._transmuxer)throw new g("FlvPlayer.load() has been called, please call unload() first!");if(!this._hasPendingLoad){if(this._config.deferLoadAfterSourceOpen&&this._mseSourceOpened===!1){this._hasPendingLoad=!0;return}this._mediaElement.readyState>0&&(this._requestSetTime=!0,this._mediaElement.currentTime=0),this._transmuxer=new xt(this._mediaDataSource,this._config),this._transmuxer.on(xe.INIT_SEGMENT,(T,U)=>{this._msectl.appendInitSegment(U)}),this._transmuxer.on(xe.MEDIA_SEGMENT,(T,U)=>{if(this._msectl.appendMediaSegment(U),this._config.lazyLoad&&!this._config.isLive){let H=this._mediaElement.currentTime;U.info.endDts>=(H+this._config.lazyLoadMaxDuration)*1e3&&this._progressChecker==null&&(A.v(this.TAG,"Maximum buffering duration exceeded, suspend transmuxing task"),this._suspendTransmuxer())}}),this._transmuxer.on(xe.LOADING_COMPLETE,()=>{this._msectl.endOfStream(),this._emitter.emit(G.LOADING_COMPLETE)}),this._transmuxer.on(xe.RECOVERED_EARLY_EOF,()=>{this._emitter.emit(G.RECOVERED_EARLY_EOF)}),this._transmuxer.on(xe.IO_ERROR,(T,U)=>{this._emitter.emit(G.ERROR,dt.NETWORK_ERROR,T,U)}),this._transmuxer.on(xe.DEMUX_ERROR,(T,U)=>{this._emitter.emit(G.ERROR,dt.MEDIA_ERROR,T,{code:-1,msg:U})}),this._transmuxer.on(xe.MEDIA_INFO,T=>{this._mediaInfo=T,this._emitter.emit(G.MEDIA_INFO,Object.assign({},T))}),this._transmuxer.on(xe.METADATA_ARRIVED,T=>{this._emitter.emit(G.METADATA_ARRIVED,T)}),this._transmuxer.on(xe.SCRIPTDATA_ARRIVED,T=>{this._emitter.emit(G.SCRIPTDATA_ARRIVED,T)}),this._transmuxer.on(xe.STATISTICS_INFO,T=>{this._statisticsInfo=this._fillStatisticsInfo(T),this._emitter.emit(G.STATISTICS_INFO,Object.assign({},this._statisticsInfo))}),this._transmuxer.on(xe.RECOMMEND_SEEKPOINT,T=>{this._mediaElement&&!this._config.accurateSeek&&(this._requestSetTime=!0,this._mediaElement.currentTime=T/1e3)}),this._transmuxer.open()}}unload(){this._mediaElement&&this._mediaElement.pause(),this._msectl&&this._msectl.seek(0),this._transmuxer&&(this._transmuxer.close(),this._transmuxer.destroy(),this._transmuxer=null)}play(){return this._mediaElement.play()}pause(){this._mediaElement.pause()}get type(){return this._type}get buffered(){return this._mediaElement.buffered}get duration(){return this._mediaElement.duration}get volume(){return this._mediaElement.volume}set volume(T){this._mediaElement.volume=T}get muted(){return this._mediaElement.muted}set muted(T){this._mediaElement.muted=T}get currentTime(){return this._mediaElement?this._mediaElement.currentTime:0}set currentTime(T){this._mediaElement?this._internalSeek(T):this._pendingSeekTime=T}get mediaInfo(){return Object.assign({},this._mediaInfo)}get statisticsInfo(){return this._statisticsInfo==null&&(this._statisticsInfo={}),this._statisticsInfo=this._fillStatisticsInfo(this._statisticsInfo),Object.assign({},this._statisticsInfo)}_fillStatisticsInfo(T){if(T.playerType=this._type,!(this._mediaElement instanceof HTMLVideoElement))return T;let U=!0,H=0,k=0;if(this._mediaElement.getVideoPlaybackQuality){let te=this._mediaElement.getVideoPlaybackQuality();H=te.totalVideoFrames,k=te.droppedVideoFrames}else this._mediaElement.webkitDecodedFrameCount!=null?(H=this._mediaElement.webkitDecodedFrameCount,k=this._mediaElement.webkitDroppedFrameCount):U=!1;return U&&(T.decodedFrames=H,T.droppedFrames=k),T}_onmseUpdateEnd(){if(!this._config.lazyLoad||this._config.isLive)return;let T=this._mediaElement.buffered,U=this._mediaElement.currentTime,H=0,k=0;for(let te=0;te<T.length;te++){let J=T.start(te),Q=T.end(te);if(J<=U&&U<Q){H=J,k=Q;break}}k>=U+this._config.lazyLoadMaxDuration&&this._progressChecker==null&&(A.v(this.TAG,"Maximum buffering duration exceeded, suspend transmuxing task"),this._suspendTransmuxer())}_onmseBufferFull(){A.v(this.TAG,"MSE SourceBuffer is full, suspend transmuxing task"),this._progressChecker==null&&this._suspendTransmuxer()}_suspendTransmuxer(){this._transmuxer&&(this._transmuxer.pause(),this._progressChecker==null&&(this._progressChecker=window.setInterval(this._checkProgressAndResume.bind(this),1e3)))}_checkProgressAndResume(){let T=this._mediaElement.currentTime,U=this._mediaElement.buffered,H=!1;for(let k=0;k<U.length;k++){let te=U.start(k),J=U.end(k);if(T>=te&&T<J){T>=J-this._config.lazyLoadRecoverDuration&&(H=!0);break}}H&&(window.clearInterval(this._progressChecker),this._progressChecker=null,H&&(A.v(this.TAG,"Continue loading from paused position"),this._transmuxer.resume()))}_isTimepointBuffered(T){let U=this._mediaElement.buffered;for(let H=0;H<U.length;H++){let k=U.start(H),te=U.end(H);if(T>=k&&T<te)return!0}return!1}_internalSeek(T){let U=this._isTimepointBuffered(T),H=!1,k=0;if(T<1&&this._mediaElement.buffered.length>0){let te=this._mediaElement.buffered.start(0);(te<1&&T<te||s.safari)&&(H=!0,k=s.safari?.1:te)}if(H)this._requestSetTime=!0,this._mediaElement.currentTime=k;else if(U){if(!this._alwaysSeekKeyframe)this._requestSetTime=!0,this._mediaElement.currentTime=T;else{let te=this._msectl.getNearestKeyframe(Math.floor(T*1e3));this._requestSetTime=!0,te!=null?this._mediaElement.currentTime=te.dts/1e3:this._mediaElement.currentTime=T}this._progressChecker!=null&&this._checkProgressAndResume()}else this._progressChecker!=null&&(window.clearInterval(this._progressChecker),this._progressChecker=null),this._msectl.seek(T),this._transmuxer.seek(Math.floor(T*1e3)),this._config.accurateSeek&&(this._requestSetTime=!0,this._mediaElement.currentTime=T)}_checkAndApplyUnbufferedSeekpoint(){if(this._seekpointRecord)if(this._seekpointRecord.recordTime<=this._now()-100){let T=this._mediaElement.currentTime;this._seekpointRecord=null,this._isTimepointBuffered(T)||(this._progressChecker!=null&&(window.clearTimeout(this._progressChecker),this._progressChecker=null),this._msectl.seek(T),this._transmuxer.seek(Math.floor(T*1e3)),this._config.accurateSeek&&(this._requestSetTime=!0,this._mediaElement.currentTime=T))}else window.setTimeout(this._checkAndApplyUnbufferedSeekpoint.bind(this),50)}_checkAndResumeStuckPlayback(T){let U=this._mediaElement;if(T||!this._receivedCanPlay||U.readyState<2){let H=U.buffered;H.length>0&&U.currentTime<H.start(0)&&(A.w(this.TAG,`Playback seems stuck at ${U.currentTime}, seek to ${H.start(0)}`),this._requestSetTime=!0,this._mediaElement.currentTime=H.start(0),this._mediaElement.removeEventListener("progress",this.e.onvProgress))}else this._mediaElement.removeEventListener("progress",this.e.onvProgress)}_onvLoadedMetadata(T){this._pendingSeekTime!=null&&(this._mediaElement.currentTime=this._pendingSeekTime,this._pendingSeekTime=null)}_onvSeeking(T){let U=this._mediaElement.currentTime,H=this._mediaElement.buffered;if(this._requestSetTime){this._requestSetTime=!1;return}if(U<1&&H.length>0){let k=H.start(0);if(k<1&&U<k||s.safari){this._requestSetTime=!0,this._mediaElement.currentTime=s.safari?.1:k;return}}if(this._isTimepointBuffered(U)){if(this._alwaysSeekKeyframe){let k=this._msectl.getNearestKeyframe(Math.floor(U*1e3));k!=null&&(this._requestSetTime=!0,this._mediaElement.currentTime=k.dts/1e3)}this._progressChecker!=null&&this._checkProgressAndResume();return}this._seekpointRecord={seekPoint:U,recordTime:this._now()},window.setTimeout(this._checkAndApplyUnbufferedSeekpoint.bind(this),50)}_onvCanPlay(T){this._receivedCanPlay=!0,this._mediaElement.removeEventListener("canplay",this.e.onvCanPlay)}_onvStalled(T){this._checkAndResumeStuckPlayback(!0)}_onvProgress(T){this._checkAndResumeStuckPlayback()}}var mt=Ot;class Gt{constructor(T,U){if(this.TAG="NativePlayer",this._type="NativePlayer",this._emitter=new(E()),this._config=R(),typeof U=="object"&&Object.assign(this._config,U),T.type.toLowerCase()==="flv")throw new c("NativePlayer does't support flv MediaDataSource input!");if(T.hasOwnProperty("segments"))throw new c(`NativePlayer(${T.type}) doesn't support multipart playback!`);this.e={onvLoadedMetadata:this._onvLoadedMetadata.bind(this)},this._pendingSeekTime=null,this._statisticsReporter=null,this._mediaDataSource=T,this._mediaElement=null}destroy(){this._mediaElement&&(this.unload(),this.detachMediaElement()),this.e=null,this._mediaDataSource=null,this._emitter.removeAllListeners(),this._emitter=null}on(T,U){T===G.MEDIA_INFO?this._mediaElement!=null&&this._mediaElement.readyState!==0&&Promise.resolve().then(()=>{this._emitter.emit(G.MEDIA_INFO,this.mediaInfo)}):T===G.STATISTICS_INFO&&this._mediaElement!=null&&this._mediaElement.readyState!==0&&Promise.resolve().then(()=>{this._emitter.emit(G.STATISTICS_INFO,this.statisticsInfo)}),this._emitter.addListener(T,U)}off(T,U){this._emitter.removeListener(T,U)}attachMediaElement(T){if(this._mediaElement=T,T.addEventListener("loadedmetadata",this.e.onvLoadedMetadata),this._pendingSeekTime!=null)try{T.currentTime=this._pendingSeekTime,this._pendingSeekTime=null}catch(U){}}detachMediaElement(){this._mediaElement&&(this._mediaElement.src="",this._mediaElement.removeAttribute("src"),this._mediaElement.removeEventListener("loadedmetadata",this.e.onvLoadedMetadata),this._mediaElement=null),this._statisticsReporter!=null&&(window.clearInterval(this._statisticsReporter),this._statisticsReporter=null)}load(){if(!this._mediaElement)throw new g("HTMLMediaElement must be attached before load()!");this._mediaElement.src=this._mediaDataSource.url,this._mediaElement.readyState>0&&(this._mediaElement.currentTime=0),this._mediaElement.preload="auto",this._mediaElement.load(),this._statisticsReporter=window.setInterval(this._reportStatisticsInfo.bind(this),this._config.statisticsInfoReportInterval)}unload(){this._mediaElement&&(this._mediaElement.src="",this._mediaElement.removeAttribute("src")),this._statisticsReporter!=null&&(window.clearInterval(this._statisticsReporter),this._statisticsReporter=null)}play(){return this._mediaElement.play()}pause(){this._mediaElement.pause()}get type(){return this._type}get buffered(){return this._mediaElement.buffered}get duration(){return this._mediaElement.duration}get volume(){return this._mediaElement.volume}set volume(T){this._mediaElement.volume=T}get muted(){return this._mediaElement.muted}set muted(T){this._mediaElement.muted=T}get currentTime(){return this._mediaElement?this._mediaElement.currentTime:0}set currentTime(T){this._mediaElement?this._mediaElement.currentTime=T:this._pendingSeekTime=T}get mediaInfo(){let U={mimeType:(this._mediaElement instanceof HTMLAudioElement?"audio/":"video/")+this._mediaDataSource.type};return this._mediaElement&&(U.duration=Math.floor(this._mediaElement.duration*1e3),this._mediaElement instanceof HTMLVideoElement&&(U.width=this._mediaElement.videoWidth,U.height=this._mediaElement.videoHeight)),U}get statisticsInfo(){let T={playerType:this._type,url:this._mediaDataSource.url};if(!(this._mediaElement instanceof HTMLVideoElement))return T;let U=!0,H=0,k=0;if(this._mediaElement.getVideoPlaybackQuality){let te=this._mediaElement.getVideoPlaybackQuality();H=te.totalVideoFrames,k=te.droppedVideoFrames}else this._mediaElement.webkitDecodedFrameCount!=null?(H=this._mediaElement.webkitDecodedFrameCount,k=this._mediaElement.webkitDroppedFrameCount):U=!1;return U&&(T.decodedFrames=H,T.droppedFrames=k),T}_onvLoadedMetadata(T){this._pendingSeekTime!=null&&(this._mediaElement.currentTime=this._pendingSeekTime,this._pendingSeekTime=null),this._emitter.emit(G.MEDIA_INFO,this.mediaInfo)}_reportStatisticsInfo(){this._emitter.emit(G.STATISTICS_INFO,this.statisticsInfo)}}var er=Gt;K.install();function ct(Xe,T){let U=Xe;if(U==null||typeof U!="object")throw new c("MediaDataSource must be an javascript object!");if(!U.hasOwnProperty("type"))throw new c("MediaDataSource must has type field to indicate video file type!");switch(U.type){case"flv":return new mt(U,T);default:return new er(U,T)}}function rr(){return F.supportMSEH264Playback()}function Zt(){return F.getFeatureList()}let Yt={};Yt.createPlayer=ct,Yt.isSupported=rr,Yt.getFeatureList=Zt,Yt.BaseLoader=n,Yt.LoaderStatus=h,Yt.LoaderErrors=r,Yt.Events=G,Yt.ErrorTypes=dt,Yt.ErrorDetails=ht,Yt.FlvPlayer=mt,Yt.NativePlayer=er,Yt.LoggingControl=Y,Object.defineProperty(Yt,"version",{enumerable:!0,get:function(){return"__VERSION__"}});var kt=Yt},13845:function(nt,Pe,z){"use strict";z.d(Pe,{F:function(){return N},Z:function(){return K}});function N(O){return O!=null&&O===O.window}function K(O,E){var M,A;if(typeof window=="undefined")return 0;const _=E?"scrollTop":"scrollLeft";let m=0;return N(O)?m=O[E?"pageYOffset":"pageXOffset"]:O instanceof Document?m=O.documentElement[_]:(O instanceof HTMLElement||O)&&(m=O[_]),O&&!N(O)&&typeof m!="number"&&(m=(A=((M=O.ownerDocument)!==null&&M!==void 0?M:O).documentElement)===null||A===void 0?void 0:A[_]),m}},56762:function(nt,Pe,z){"use strict";z.d(Pe,{Z:function(){return K}});var N=z(59301);function K(){const[,O]=N.useReducer(E=>E+1,0);return O}},68031:function(nt,Pe,z){"use strict";z.d(Pe,{Z:function(){return E}});var N=z(16089);function K(M,A,_,m){const x=_-A;return M/=m/2,M<1?x/2*M*M*M+A:x/2*((M-=2)*M*M+2)+A}var O=z(13845);function E(M){let A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{getContainer:_=()=>window,callback:m,duration:x=450}=A,g=_(),c=(0,O.Z)(g,!0),u=Date.now(),h=()=>{const n=Date.now()-u,a=K(n>x?x:n,c,M,x);(0,O.F)(g)?g.scrollTo(window.pageXOffset,a):g instanceof Document||g.constructor.name==="HTMLDocument"?g.documentElement.scrollTop=a:g.scrollTop=a,n<x?(0,N.Z)(h):typeof m=="function"&&m()};(0,N.Z)(h)}},19080:function(nt,Pe,z){"use strict";z.d(Pe,{F:function(){return M},Z:function(){return E}});var N=z(92310),K=z.n(N);const O=null;function E(A,_,m){return K()({[`${A}-status-success`]:_==="success",[`${A}-status-warning`]:_==="warning",[`${A}-status-error`]:_==="error",[`${A}-status-validating`]:_==="validating",[`${A}-has-feedback`]:m})}const M=(A,_)=>_||A},93891:function(nt,Pe,z){"use strict";var N=z(59301),K=z(36355),O=z(64165);const E=M=>{const{componentName:A}=M,{getPrefixCls:_}=(0,N.useContext)(K.E_),m=_("empty");switch(A){case"Table":case"List":return N.createElement(O.Z,{image:O.Z.PRESENTED_IMAGE_SIMPLE});case"Select":case"TreeSelect":case"Cascader":case"Transfer":case"Mentions":return N.createElement(O.Z,{image:O.Z.PRESENTED_IMAGE_SIMPLE,className:`${m}-small`});default:return N.createElement(O.Z,null)}};Pe.Z=E},28103:function(nt,Pe,z){"use strict";z.d(Pe,{Z:function(){return u}});var N=z(92310),K=z.n(N),O=z(59301),E=z(36355),M=z(17313),A=z(83116),_=z(37613);const m=h=>{const{componentCls:r,sizePaddingEdgeHorizontal:n,colorSplit:a,lineWidth:f,textPaddingInline:s,orientationMargin:l,verticalMarginInline:d}=h;return{[r]:Object.assign(Object.assign({},(0,M.Wf)(h)),{borderBlockStart:`${f}px solid ${a}`,"&-vertical":{position:"relative",top:"-0.06em",display:"inline-block",height:"0.9em",marginInline:d,marginBlock:0,verticalAlign:"middle",borderTop:0,borderInlineStart:`${f}px solid ${a}`},"&-horizontal":{display:"flex",clear:"both",width:"100%",minWidth:"100%",margin:`${h.dividerHorizontalGutterMargin}px 0`},[`&-horizontal${r}-with-text`]:{display:"flex",alignItems:"center",margin:`${h.dividerHorizontalWithTextGutterMargin}px 0`,color:h.colorTextHeading,fontWeight:500,fontSize:h.fontSizeLG,whiteSpace:"nowrap",textAlign:"center",borderBlockStart:`0 ${a}`,"&::before, &::after":{position:"relative",width:"50%",borderBlockStart:`${f}px solid transparent`,borderBlockStartColor:"inherit",borderBlockEnd:0,transform:"translateY(50%)",content:"''"}},[`&-horizontal${r}-with-text-left`]:{"&::before":{width:`${l*100}%`},"&::after":{width:`${100-l*100}%`}},[`&-horizontal${r}-with-text-right`]:{"&::before":{width:`${100-l*100}%`},"&::after":{width:`${l*100}%`}},[`${r}-inner-text`]:{display:"inline-block",paddingBlock:0,paddingInline:s},"&-dashed":{background:"none",borderColor:a,borderStyle:"dashed",borderWidth:`${f}px 0 0`},[`&-horizontal${r}-with-text${r}-dashed`]:{"&::before, &::after":{borderStyle:"dashed none none"}},[`&-vertical${r}-dashed`]:{borderInlineStartWidth:f,borderInlineEnd:0,borderBlockStart:0,borderBlockEnd:0},[`&-plain${r}-with-text`]:{color:h.colorText,fontWeight:"normal",fontSize:h.fontSize},[`&-horizontal${r}-with-text-left${r}-no-default-orientation-margin-left`]:{"&::before":{width:0},"&::after":{width:"100%"},[`${r}-inner-text`]:{paddingInlineStart:n}},[`&-horizontal${r}-with-text-right${r}-no-default-orientation-margin-right`]:{"&::before":{width:"100%"},"&::after":{width:0},[`${r}-inner-text`]:{paddingInlineEnd:n}}})}};var x=(0,A.Z)("Divider",h=>{const r=(0,_.TS)(h,{dividerHorizontalWithTextGutterMargin:h.margin,dividerHorizontalGutterMargin:h.marginLG,sizePaddingEdgeHorizontal:0});return[m(r)]},h=>({textPaddingInline:"1em",orientationMargin:.05,verticalMarginInline:h.marginXS})),g=function(h,r){var n={};for(var a in h)Object.prototype.hasOwnProperty.call(h,a)&&r.indexOf(a)<0&&(n[a]=h[a]);if(h!=null&&typeof Object.getOwnPropertySymbols=="function")for(var f=0,a=Object.getOwnPropertySymbols(h);f<a.length;f++)r.indexOf(a[f])<0&&Object.prototype.propertyIsEnumerable.call(h,a[f])&&(n[a[f]]=h[a[f]]);return n},u=h=>{const{getPrefixCls:r,direction:n,divider:a}=O.useContext(E.E_),{prefixCls:f,type:s="horizontal",orientation:l="center",orientationMargin:d,className:e,rootClassName:t,children:i,dashed:o,plain:v,style:y}=h,p=g(h,["prefixCls","type","orientation","orientationMargin","className","rootClassName","children","dashed","plain","style"]),C=r("divider",f),[D,b]=x(C),S=l.length>0?`-${l}`:l,L=!!i,w=l==="left"&&d!=null,P=l==="right"&&d!=null,I=K()(C,a==null?void 0:a.className,b,`${C}-${s}`,{[`${C}-with-text`]:L,[`${C}-with-text${S}`]:L,[`${C}-dashed`]:!!o,[`${C}-plain`]:!!v,[`${C}-rtl`]:n==="rtl",[`${C}-no-default-orientation-margin-left`]:w,[`${C}-no-default-orientation-margin-right`]:P},e,t),R=O.useMemo(()=>typeof d=="number"?d:/^\d+$/.test(d)?Number(d):d,[d]),B=Object.assign(Object.assign({},w&&{marginLeft:R}),P&&{marginRight:R});return D(O.createElement("div",Object.assign({className:I,style:Object.assign(Object.assign({},a==null?void 0:a.style),y)},p,{role:"separator"}),i&&s!=="vertical"&&O.createElement("span",{className:`${C}-inner-text`,style:B},i)))}},91857:function(nt,Pe,z){"use strict";var N=z(59301),K=z(38819),O=z(92310),E=z.n(O),M=z(31561),A=z(70425),_=z(18929),m=z(2738),x=z(79676),g=z(53487),c=z(92343),u=z(36355),h=z(20834),r=z(40875),n=z(70305),a=z(47211);const f=null,s=t=>{const{menu:i,arrow:o,prefixCls:v,children:y,trigger:p,disabled:C,dropdownRender:D,getPopupContainer:b,overlayClassName:S,rootClassName:L,open:w,onOpenChange:P,visible:I,onVisibleChange:R,mouseEnterDelay:B=.15,mouseLeaveDelay:F=.1,autoAdjustOverflow:W=!0,placement:G="",overlay:j,transitionName:Y}=t,{getPopupContainer:ee,getPrefixCls:ae,direction:le}=N.useContext(u.E_),_e=N.useMemo(()=>{const ie=ae();return Y!==void 0?Y:G.includes("top")?`${ie}-slide-down`:`${ie}-slide-up`},[ae,G,Y]),he=N.useMemo(()=>G?G.includes("Center")?G.slice(0,G.indexOf("Center")):G:le==="rtl"?"bottomRight":"bottomLeft",[G,le]),ve=ae("dropdown",v),[Ae,ge]=(0,a.Z)(ve),[,fe]=(0,n.Z)(),Ee=N.Children.only(y),ue=(0,c.Tm)(Ee,{className:E()(`${ve}-trigger`,{[`${ve}-rtl`]:le==="rtl"},Ee.props.className),disabled:C}),oe=C?[]:p;let X;oe&&oe.includes("contextMenu")&&(X=!0);const[re,V]=(0,_.Z)(!1,{value:w!=null?w:I}),ne=(0,A.useEvent)(ie=>{P==null||P(ie),R==null||R(ie),V(ie)}),Z=E()(S,L,ge,{[`${ve}-rtl`]:le==="rtl"}),$=(0,x.Z)({arrowPointAtCenter:typeof o=="object"&&o.pointAtCenter,autoAdjustOverflow:W,offset:fe.marginXXS,arrowWidth:o?fe.sizePopupArrow:0,borderRadius:fe.borderRadius}),se=N.useCallback(()=>{V(!1)},[]),q=()=>{let ie;return i!=null&&i.items?ie=N.createElement(h.default,Object.assign({},i)):typeof j=="function"?ie=j():ie=j,D&&(ie=D(ie)),ie=N.Children.only(typeof ie=="string"?N.createElement("span",null,ie):ie),N.createElement(r.J,{prefixCls:`${ve}-menu`,expandIcon:N.createElement("span",{className:`${ve}-menu-submenu-arrow`},N.createElement(K.Z,{className:`${ve}-menu-submenu-arrow-icon`})),mode:"vertical",selectable:!1,onClick:se,validator:de=>{let{mode:me}=de}},ie)};return Ae(N.createElement(M.Z,Object.assign({alignPoint:X},(0,m.Z)(t,["rootClassName"]),{mouseEnterDelay:B,mouseLeaveDelay:F,visible:re,builtinPlacements:$,arrow:!!o,overlayClassName:Z,prefixCls:ve,getPopupContainer:b||ee,transitionName:_e,trigger:oe,overlay:q,placement:he,onVisibleChange:ne}),ue))};function l(t){return Object.assign(Object.assign({},t),{align:{overflow:{adjustX:!1,adjustY:!1}}})}const d=(0,g.Z)(s,"dropdown",t=>t,l),e=t=>N.createElement(d,Object.assign({},t),N.createElement("span",null));s._InternalPanelDoNotUseOrYouWillBeFired=e,Pe.Z=s},38854:function(nt,Pe,z){"use strict";z.d(Pe,{Z:function(){return n}});var N=z(91857),K=z(92310),O=z.n(K),E=z(59301),M=z(18785),A=z(3113),_=z(36355),m=z(81327),x=z(33234),g=z(47211),c=function(a,f){var s={};for(var l in a)Object.prototype.hasOwnProperty.call(a,l)&&f.indexOf(l)<0&&(s[l]=a[l]);if(a!=null&&typeof Object.getOwnPropertySymbols=="function")for(var d=0,l=Object.getOwnPropertySymbols(a);d<l.length;d++)f.indexOf(l[d])<0&&Object.prototype.propertyIsEnumerable.call(a,l[d])&&(s[l[d]]=a[l[d]]);return s};const u=a=>{const{getPopupContainer:f,getPrefixCls:s,direction:l}=E.useContext(_.E_),{prefixCls:d,type:e="default",danger:t,disabled:i,loading:o,onClick:v,htmlType:y,children:p,className:C,menu:D,arrow:b,autoFocus:S,overlay:L,trigger:w,align:P,open:I,onOpenChange:R,placement:B,getPopupContainer:F,href:W,icon:G=E.createElement(M.Z,null),title:j,buttonsRender:Y=q=>q,mouseEnterDelay:ee,mouseLeaveDelay:ae,overlayClassName:le,overlayStyle:_e,destroyPopupOnHide:he,dropdownRender:ve}=a,Ae=c(a,["prefixCls","type","danger","disabled","loading","onClick","htmlType","children","className","menu","arrow","autoFocus","overlay","trigger","align","open","onOpenChange","placement","getPopupContainer","href","icon","title","buttonsRender","mouseEnterDelay","mouseLeaveDelay","overlayClassName","overlayStyle","destroyPopupOnHide","dropdownRender"]),ge=s("dropdown",d),fe=`${ge}-button`,[Ee,ue]=(0,g.Z)(ge),oe={menu:D,arrow:b,autoFocus:S,align:P,disabled:i,trigger:i?[]:w,onOpenChange:R,getPopupContainer:F||f,mouseEnterDelay:ee,mouseLeaveDelay:ae,overlayClassName:le,overlayStyle:_e,destroyPopupOnHide:he,dropdownRender:ve},{compactSize:X,compactItemClassnames:re}=(0,x.ri)(ge,l),V=O()(fe,re,C,ue);"overlay"in a&&(oe.overlay=L),"open"in a&&(oe.open=I),"placement"in a?oe.placement=B:oe.placement=l==="rtl"?"bottomLeft":"bottomRight";const ne=E.createElement(A.ZP,{type:e,danger:t,disabled:i,loading:o,onClick:v,htmlType:y,href:W,title:j},p),Z=E.createElement(A.ZP,{type:e,danger:t,icon:G}),[$,se]=Y([ne,Z]);return Ee(E.createElement(m.Z.Compact,Object.assign({className:V,size:X,block:!0},Ae),$,E.createElement(N.Z,Object.assign({},oe),se)))};u.__ANT_BUTTON=!0;var h=u;const r=N.Z;r.Button=h;var n=r},47211:function(nt,Pe,z){"use strict";z.d(Pe,{Z:function(){return c}});var N=z(17313),K=z(13826),O=z(92899),E=z(29878),M=z(19447),A=z(83116),_=z(37613),x=u=>{const{componentCls:h,menuCls:r,colorError:n,colorTextLightSolid:a}=u,f=`${r}-item`;return{[`${h}, ${h}-menu-submenu`]:{[`${r} ${f}`]:{[`&${f}-danger:not(${f}-disabled)`]:{color:n,"&:hover":{color:a,backgroundColor:n}}}}}};const g=u=>{const{componentCls:h,menuCls:r,zIndexPopup:n,dropdownArrowDistance:a,sizePopupArrow:f,antCls:s,iconCls:l,motionDurationMid:d,dropdownPaddingVertical:e,fontSize:t,dropdownEdgeChildPadding:i,colorTextDisabled:o,fontSizeIcon:v,controlPaddingHorizontal:y,colorBgElevated:p}=u;return[{[h]:Object.assign(Object.assign({},(0,N.Wf)(u)),{position:"absolute",top:-9999,left:{_skip_check_:!0,value:-9999},zIndex:n,display:"block","&::before":{position:"absolute",insetBlock:-a+f/2,zIndex:-9999,opacity:1e-4,content:'""'},[`&-trigger${s}-btn`]:{[`& > ${l}-down, & > ${s}-btn-icon > ${l}-down`]:{fontSize:v}},[`${h}-wrap`]:{position:"relative",[`${s}-btn > ${l}-down`]:{fontSize:v},[`${l}-down::before`]:{transition:`transform ${d}`}},[`${h}-wrap-open`]:{[`${l}-down::before`]:{transform:"rotate(180deg)"}},"\n &-hidden,\n &-menu-hidden,\n &-menu-submenu-hidden\n ":{display:"none"},[`&${s}-slide-down-enter${s}-slide-down-enter-active${h}-placement-bottomLeft,
|
|
&${s}-slide-down-appear${s}-slide-down-appear-active${h}-placement-bottomLeft,
|
|
&${s}-slide-down-enter${s}-slide-down-enter-active${h}-placement-bottom,
|
|
&${s}-slide-down-appear${s}-slide-down-appear-active${h}-placement-bottom,
|
|
&${s}-slide-down-enter${s}-slide-down-enter-active${h}-placement-bottomRight,
|
|
&${s}-slide-down-appear${s}-slide-down-appear-active${h}-placement-bottomRight`]:{animationName:K.fJ},[`&${s}-slide-up-enter${s}-slide-up-enter-active${h}-placement-topLeft,
|
|
&${s}-slide-up-appear${s}-slide-up-appear-active${h}-placement-topLeft,
|
|
&${s}-slide-up-enter${s}-slide-up-enter-active${h}-placement-top,
|
|
&${s}-slide-up-appear${s}-slide-up-appear-active${h}-placement-top,
|
|
&${s}-slide-up-enter${s}-slide-up-enter-active${h}-placement-topRight,
|
|
&${s}-slide-up-appear${s}-slide-up-appear-active${h}-placement-topRight`]:{animationName:K.Qt},[`&${s}-slide-down-leave${s}-slide-down-leave-active${h}-placement-bottomLeft,
|
|
&${s}-slide-down-leave${s}-slide-down-leave-active${h}-placement-bottom,
|
|
&${s}-slide-down-leave${s}-slide-down-leave-active${h}-placement-bottomRight`]:{animationName:K.Uw},[`&${s}-slide-up-leave${s}-slide-up-leave-active${h}-placement-topLeft,
|
|
&${s}-slide-up-leave${s}-slide-up-leave-active${h}-placement-top,
|
|
&${s}-slide-up-leave${s}-slide-up-leave-active${h}-placement-topRight`]:{animationName:K.ly}})},(0,M.ZP)(u,{colorBg:p,limitVerticalRadius:!0,arrowPlacement:{top:!0,bottom:!0}}),{[`${h} ${r}`]:{position:"relative",margin:0},[`${r}-submenu-popup`]:{position:"absolute",zIndex:n,background:"transparent",boxShadow:"none",transformOrigin:"0 0","ul, li":{listStyle:"none",margin:0}},[`${h}, ${h}-menu-submenu`]:{[r]:Object.assign(Object.assign({padding:i,listStyleType:"none",backgroundColor:p,backgroundClip:"padding-box",borderRadius:u.borderRadiusLG,outline:"none",boxShadow:u.boxShadowSecondary},(0,N.Qy)(u)),{[`${r}-item-group-title`]:{padding:`${e}px ${y}px`,color:u.colorTextDescription,transition:`all ${d}`},[`${r}-item`]:{position:"relative",display:"flex",alignItems:"center"},[`${r}-item-icon`]:{minWidth:t,marginInlineEnd:u.marginXS,fontSize:u.fontSizeSM},[`${r}-title-content`]:{flex:"auto","> a":{color:"inherit",transition:`all ${d}`,"&:hover":{color:"inherit"},"&::after":{position:"absolute",inset:0,content:'""'}}},[`${r}-item, ${r}-submenu-title`]:Object.assign(Object.assign({clear:"both",margin:0,padding:`${e}px ${y}px`,color:u.colorText,fontWeight:"normal",fontSize:t,lineHeight:u.lineHeight,cursor:"pointer",transition:`all ${d}`,borderRadius:u.borderRadiusSM,"&:hover, &-active":{backgroundColor:u.controlItemBgHover}},(0,N.Qy)(u)),{"&-selected":{color:u.colorPrimary,backgroundColor:u.controlItemBgActive,"&:hover, &-active":{backgroundColor:u.controlItemBgActiveHover}},"&-disabled":{color:o,cursor:"not-allowed","&:hover":{color:o,backgroundColor:p,cursor:"not-allowed"},a:{pointerEvents:"none"}},"&-divider":{height:1,margin:`${u.marginXXS}px 0`,overflow:"hidden",lineHeight:0,backgroundColor:u.colorSplit},[`${h}-menu-submenu-expand-icon`]:{position:"absolute",insetInlineEnd:u.paddingXS,[`${h}-menu-submenu-arrow-icon`]:{marginInlineEnd:"0 !important",color:u.colorTextDescription,fontSize:v,fontStyle:"normal"}}}),[`${r}-item-group-list`]:{margin:`0 ${u.marginXS}px`,padding:0,listStyle:"none"},[`${r}-submenu-title`]:{paddingInlineEnd:y+u.fontSizeSM},[`${r}-submenu-vertical`]:{position:"relative"},[`${r}-submenu${r}-submenu-disabled ${h}-menu-submenu-title`]:{[`&, ${h}-menu-submenu-arrow-icon`]:{color:o,backgroundColor:p,cursor:"not-allowed"}},[`${r}-submenu-selected ${h}-menu-submenu-title`]:{color:u.colorPrimary}})}},[(0,K.oN)(u,"slide-up"),(0,K.oN)(u,"slide-down"),(0,O.Fm)(u,"move-up"),(0,O.Fm)(u,"move-down"),(0,E._y)(u,"zoom-big")]]};var c=(0,A.Z)("Dropdown",(u,h)=>{let{rootPrefixCls:r}=h;const{marginXXS:n,sizePopupArrow:a,controlHeight:f,fontSize:s,lineHeight:l,paddingXXS:d,componentCls:e,borderRadiusLG:t}=u,i=(f-s*l)/2,{dropdownArrowOffset:o}=(0,M.fS)({contentRadius:t}),v=(0,_.TS)(u,{menuCls:`${e}-menu`,rootPrefixCls:r,dropdownArrowDistance:a/2+n,dropdownArrowOffset:o,dropdownPaddingVertical:i,dropdownEdgeChildPadding:d});return[g(v),x(v)]},u=>({zIndexPopup:u.zIndexPopupBase+50}))},64165:function(nt,Pe,z){"use strict";z.d(Pe,{Z:function(){return d}});var N=z(92310),K=z.n(N),O=z(59301),E=z(36355),M=z(9763),A=z(64993),_=z(70305),x=()=>{const[,e]=(0,_.Z)(),i=new A.C(e.colorBgBase).toHsl().l<.5?{opacity:.65}:{};return O.createElement("svg",{style:i,width:"184",height:"152",viewBox:"0 0 184 152",xmlns:"http://www.w3.org/2000/svg"},O.createElement("g",{fill:"none",fillRule:"evenodd"},O.createElement("g",{transform:"translate(24 31.67)"},O.createElement("ellipse",{fillOpacity:".8",fill:"#F5F5F7",cx:"67.797",cy:"106.89",rx:"67.797",ry:"12.668"}),O.createElement("path",{d:"M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z",fill:"#AEB8C2"}),O.createElement("path",{d:"M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z",fill:"url(#linearGradient-1)",transform:"translate(13.56)"}),O.createElement("path",{d:"M33.83 0h67.933a4 4 0 0 1 4 4v93.344a4 4 0 0 1-4 4H33.83a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z",fill:"#F5F5F7"}),O.createElement("path",{d:"M42.678 9.953h50.237a2 2 0 0 1 2 2V36.91a2 2 0 0 1-2 2H42.678a2 2 0 0 1-2-2V11.953a2 2 0 0 1 2-2zM42.94 49.767h49.713a2.262 2.262 0 1 1 0 4.524H42.94a2.262 2.262 0 0 1 0-4.524zM42.94 61.53h49.713a2.262 2.262 0 1 1 0 4.525H42.94a2.262 2.262 0 0 1 0-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 0 1-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393V75.1c0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z",fill:"#DCE0E6"})),O.createElement("path",{d:"M149.121 33.292l-6.83 2.65a1 1 0 0 1-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z",fill:"#DCE0E6"}),O.createElement("g",{transform:"translate(149.65 15.383)",fill:"#FFF"},O.createElement("ellipse",{cx:"20.654",cy:"3.167",rx:"2.849",ry:"2.815"}),O.createElement("path",{d:"M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z"}))))},c=()=>{const[,e]=(0,_.Z)(),{colorFill:t,colorFillTertiary:i,colorFillQuaternary:o,colorBgContainer:v}=e,{borderColor:y,shadowColor:p,contentColor:C}=(0,O.useMemo)(()=>({borderColor:new A.C(t).onBackground(v).toHexShortString(),shadowColor:new A.C(i).onBackground(v).toHexShortString(),contentColor:new A.C(o).onBackground(v).toHexShortString()}),[t,i,o,v]);return O.createElement("svg",{width:"64",height:"41",viewBox:"0 0 64 41",xmlns:"http://www.w3.org/2000/svg"},O.createElement("g",{transform:"translate(0 1)",fill:"none",fillRule:"evenodd"},O.createElement("ellipse",{fill:p,cx:"32",cy:"33",rx:"32",ry:"7"}),O.createElement("g",{fillRule:"nonzero",stroke:y},O.createElement("path",{d:"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"}),O.createElement("path",{d:"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",fill:C}))))},u=z(83116),h=z(37613);const r=e=>{const{componentCls:t,margin:i,marginXS:o,marginXL:v,fontSize:y,lineHeight:p}=e;return{[t]:{marginInline:o,fontSize:y,lineHeight:p,textAlign:"center",[`${t}-image`]:{height:e.emptyImgHeight,marginBottom:o,opacity:e.opacityImage,img:{height:"100%"},svg:{maxWidth:"100%",height:"100%",margin:"auto"}},[`${t}-description`]:{color:e.colorText},[`${t}-footer`]:{marginTop:i},"&-normal":{marginBlock:v,color:e.colorTextDisabled,[`${t}-description`]:{color:e.colorTextDisabled},[`${t}-image`]:{height:e.emptyImgHeightMD}},"&-small":{marginBlock:o,color:e.colorTextDisabled,[`${t}-image`]:{height:e.emptyImgHeightSM}}}}};var n=(0,u.Z)("Empty",e=>{const{componentCls:t,controlHeightLG:i}=e,o=(0,h.TS)(e,{emptyImgCls:`${t}-img`,emptyImgHeight:i*2.5,emptyImgHeightMD:i,emptyImgHeightSM:i*.875});return[r(o)]}),a=function(e,t){var i={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(i[o]=e[o]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var v=0,o=Object.getOwnPropertySymbols(e);v<o.length;v++)t.indexOf(o[v])<0&&Object.prototype.propertyIsEnumerable.call(e,o[v])&&(i[o[v]]=e[o[v]]);return i};const f=O.createElement(x,null),s=O.createElement(c,null),l=e=>{var{className:t,rootClassName:i,prefixCls:o,image:v=f,description:y,children:p,imageStyle:C,style:D}=e,b=a(e,["className","rootClassName","prefixCls","image","description","children","imageStyle","style"]);const{getPrefixCls:S,direction:L,empty:w}=O.useContext(E.E_),P=S("empty",o),[I,R]=n(P),[B]=(0,M.Z)("Empty"),F=typeof y!="undefined"?y:B==null?void 0:B.description,W=typeof F=="string"?F:"empty";let G=null;return typeof v=="string"?G=O.createElement("img",{alt:W,src:v}):G=v,I(O.createElement("div",Object.assign({className:K()(R,P,w==null?void 0:w.className,{[`${P}-normal`]:v===s,[`${P}-rtl`]:L==="rtl"},t,i),style:Object.assign(Object.assign({},w==null?void 0:w.style),D)},b),O.createElement("div",{className:`${P}-image`,style:C},G),F&&O.createElement("div",{className:`${P}-description`},F),p&&O.createElement("div",{className:`${P}-footer`},p)))};l.PRESENTED_IMAGE_DEFAULT=f,l.PRESENTED_IMAGE_SIMPLE=s;var d=l},9432:function(nt,Pe,z){"use strict";z.d(Pe,{Z:function(){return l},n:function(){return f}});var N=z(19248),K=z(92310),O=z.n(K),E=z(93681),M=z(8654),A=z(59301),_=z(19080),m=z(36355),x=z(1684),g=z(19716),c=z(32441),u=z(33234),h=z(59412),r=z(9937);function n(d){return!!(d.prefix||d.suffix||d.allowClear)}var a=function(d,e){var t={};for(var i in d)Object.prototype.hasOwnProperty.call(d,i)&&e.indexOf(i)<0&&(t[i]=d[i]);if(d!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,i=Object.getOwnPropertySymbols(d);o<i.length;o++)e.indexOf(i[o])<0&&Object.prototype.propertyIsEnumerable.call(d,i[o])&&(t[i[o]]=d[i[o]]);return t};function f(d,e){if(!d)return;d.focus(e);const{cursor:t}=e||{};if(t){const i=d.value.length;switch(t){case"start":d.setSelectionRange(0,0);break;case"end":d.setSelectionRange(i,i);break;default:d.setSelectionRange(0,i);break}}}var l=(0,A.forwardRef)((d,e)=>{var t;const{prefixCls:i,bordered:o=!0,status:v,size:y,disabled:p,onBlur:C,onFocus:D,suffix:b,allowClear:S,addonAfter:L,addonBefore:w,className:P,style:I,styles:R,rootClassName:B,onChange:F,classNames:W}=d,G=a(d,["prefixCls","bordered","status","size","disabled","onBlur","onFocus","suffix","allowClear","addonAfter","addonBefore","className","style","styles","rootClassName","onChange","classNames"]),{getPrefixCls:j,direction:Y,input:ee}=A.useContext(m.E_),ae=j("input",i),le=(0,A.useRef)(null),[_e,he]=(0,r.ZP)(ae),{compactSize:ve,compactItemClassnames:Ae}=(0,u.ri)(ae,Y),ge=(0,g.Z)(me=>{var Ce;return(Ce=y!=null?y:ve)!==null&&Ce!==void 0?Ce:me}),fe=A.useContext(x.Z),Ee=p!=null?p:fe,{status:ue,hasFeedback:oe,feedbackIcon:X}=(0,A.useContext)(c.aM),re=(0,_.F)(ue,v),V=n(d)||!!oe,ne=(0,A.useRef)(V);(0,A.useEffect)(()=>{var me;V&&ne.current,ne.current=V},[V]);const Z=(0,h.Z)(le,!0),$=me=>{Z(),C==null||C(me)},se=me=>{Z(),D==null||D(me)},q=me=>{Z(),F==null||F(me)},ie=(oe||b)&&A.createElement(A.Fragment,null,b,oe&&X);let de;return typeof S=="object"&&(S!=null&&S.clearIcon)?de=S:S&&(de={clearIcon:A.createElement(N.Z,null)}),_e(A.createElement(E.default,Object.assign({ref:(0,M.sQ)(e,le),prefixCls:ae,autoComplete:ee==null?void 0:ee.autoComplete},G,{disabled:Ee,onBlur:$,onFocus:se,style:Object.assign(Object.assign({},ee==null?void 0:ee.style),I),styles:Object.assign(Object.assign({},ee==null?void 0:ee.styles),R),suffix:ie,allowClear:de,className:O()(P,B,Ae,ee==null?void 0:ee.className),onChange:q,addonAfter:L&&A.createElement(u.BR,null,A.createElement(c.Ux,{override:!0,status:!0},L)),addonBefore:w&&A.createElement(u.BR,null,A.createElement(c.Ux,{override:!0,status:!0},w)),classNames:Object.assign(Object.assign(Object.assign({},W),ee==null?void 0:ee.classNames),{input:O()({[`${ae}-sm`]:ge==="small",[`${ae}-lg`]:ge==="large",[`${ae}-rtl`]:Y==="rtl",[`${ae}-borderless`]:!o},!V&&(0,_.Z)(ae,re),W==null?void 0:W.input,(t=ee==null?void 0:ee.classNames)===null||t===void 0?void 0:t.input,he)}),classes:{affixWrapper:O()({[`${ae}-affix-wrapper-sm`]:ge==="small",[`${ae}-affix-wrapper-lg`]:ge==="large",[`${ae}-affix-wrapper-rtl`]:Y==="rtl",[`${ae}-affix-wrapper-borderless`]:!o},(0,_.Z)(`${ae}-affix-wrapper`,re,oe),he),wrapper:O()({[`${ae}-group-rtl`]:Y==="rtl"},he),group:O()({[`${ae}-group-wrapper-sm`]:ge==="small",[`${ae}-group-wrapper-lg`]:ge==="large",[`${ae}-group-wrapper-rtl`]:Y==="rtl",[`${ae}-group-wrapper-disabled`]:Ee},(0,_.Z)(`${ae}-group-wrapper`,re,oe),he)}})))})},1643:function(nt,Pe,z){"use strict";var N=z(19248),K=z(92310),O=z.n(K),E=z(9296),M=z(59301),A=z(19080),_=z(36355),m=z(1684),x=z(19716),g=z(32441),c=z(9432),u=z(9937),h=function(n,a){var f={};for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&a.indexOf(s)<0&&(f[s]=n[s]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var l=0,s=Object.getOwnPropertySymbols(n);l<s.length;l++)a.indexOf(s[l])<0&&Object.prototype.propertyIsEnumerable.call(n,s[l])&&(f[s[l]]=n[s[l]]);return f};const r=(0,M.forwardRef)((n,a)=>{const{prefixCls:f,bordered:s=!0,size:l,disabled:d,status:e,allowClear:t,showCount:i,classNames:o,rootClassName:v,className:y}=n,p=h(n,["prefixCls","bordered","size","disabled","status","allowClear","showCount","classNames","rootClassName","className"]),{getPrefixCls:C,direction:D}=M.useContext(_.E_),b=(0,x.Z)(l),S=M.useContext(m.Z),L=d!=null?d:S,{status:w,hasFeedback:P,feedbackIcon:I}=M.useContext(g.aM),R=(0,A.F)(w,e),B=M.useRef(null);M.useImperativeHandle(a,()=>{var Y;return{resizableTextArea:(Y=B.current)===null||Y===void 0?void 0:Y.resizableTextArea,focus:ee=>{var ae,le;(0,c.n)((le=(ae=B.current)===null||ae===void 0?void 0:ae.resizableTextArea)===null||le===void 0?void 0:le.textArea,ee)},blur:()=>{var ee;return(ee=B.current)===null||ee===void 0?void 0:ee.blur()}}});const F=C("input",f);let W;typeof t=="object"&&(t!=null&&t.clearIcon)?W=t:t&&(W={clearIcon:M.createElement(N.Z,null)});const[G,j]=(0,u.ZP)(F);return G(M.createElement(E.default,Object.assign({},p,{disabled:L,allowClear:W,className:O()(y,v),classes:{affixWrapper:O()(`${F}-textarea-affix-wrapper`,{[`${F}-affix-wrapper-rtl`]:D==="rtl",[`${F}-affix-wrapper-borderless`]:!s,[`${F}-affix-wrapper-sm`]:b==="small",[`${F}-affix-wrapper-lg`]:b==="large",[`${F}-textarea-show-count`]:i},(0,A.Z)(`${F}-affix-wrapper`,R),j)},classNames:Object.assign(Object.assign({},o),{textarea:O()({[`${F}-borderless`]:!s,[`${F}-sm`]:b==="small",[`${F}-lg`]:b==="large"},(0,A.Z)(F,R),j,o==null?void 0:o.textarea)}),prefixCls:F,suffix:P&&M.createElement("span",{className:`${F}-textarea-suffix`},I),showCount:i,ref:B})))});Pe.Z=r},59412:function(nt,Pe,z){"use strict";z.d(Pe,{Z:function(){return K}});var N=z(59301);function K(O,E){const M=(0,N.useRef)([]),A=()=>{M.current.push(setTimeout(()=>{var _,m,x,g;!((_=O.current)===null||_===void 0)&&_.input&&((m=O.current)===null||m===void 0?void 0:m.input.getAttribute("type"))==="password"&&(!((x=O.current)===null||x===void 0)&&x.input.hasAttribute("value"))&&((g=O.current)===null||g===void 0||g.input.removeAttribute("value"))}))};return(0,N.useEffect)(()=>(E&&A(),()=>M.current.forEach(_=>{_&&clearTimeout(_)})),[]),A}},92832:function(nt,Pe,z){"use strict";z.d(Pe,{default:function(){return b}});var N=z(92310),K=z.n(N),O=z(59301),E=z(36355),M=z(32441),A=z(9937),m=S=>{const{getPrefixCls:L,direction:w}=(0,O.useContext)(E.E_),{prefixCls:P,className:I}=S,R=L("input-group",P),B=L("input"),[F,W]=(0,A.ZP)(B),G=K()(R,{[`${R}-lg`]:S.size==="large",[`${R}-sm`]:S.size==="small",[`${R}-compact`]:S.compact,[`${R}-rtl`]:w==="rtl"},W,I),j=(0,O.useContext)(M.aM),Y=(0,O.useMemo)(()=>Object.assign(Object.assign({},j),{isFormItemInput:!1}),[j]);return F(O.createElement("span",{className:G,style:S.style,onMouseEnter:S.onMouseEnter,onMouseLeave:S.onMouseLeave,onFocus:S.onFocus,onBlur:S.onBlur},O.createElement(M.aM.Provider,{value:Y},S.children)))},x=z(9432),g=z(73331),c=z(15277),u=z(2738),h=z(8654),r=z(59412),n=function(S,L){var w={};for(var P in S)Object.prototype.hasOwnProperty.call(S,P)&&L.indexOf(P)<0&&(w[P]=S[P]);if(S!=null&&typeof Object.getOwnPropertySymbols=="function")for(var I=0,P=Object.getOwnPropertySymbols(S);I<P.length;I++)L.indexOf(P[I])<0&&Object.prototype.propertyIsEnumerable.call(S,P[I])&&(w[P[I]]=S[P[I]]);return w};const a=S=>S?O.createElement(c.Z,null):O.createElement(g.Z,null),f={click:"onClick",hover:"onMouseOver"};var l=O.forwardRef((S,L)=>{const{visibilityToggle:w=!0}=S,P=typeof w=="object"&&w.visible!==void 0,[I,R]=(0,O.useState)(()=>P?w.visible:!1),B=(0,O.useRef)(null);O.useEffect(()=>{P&&R(w.visible)},[P,w]);const F=(0,r.Z)(B),W=()=>{const{disabled:Ee}=S;Ee||(I&&F(),R(ue=>{var oe;const X=!ue;return typeof w=="object"&&((oe=w.onVisibleChange)===null||oe===void 0||oe.call(w,X)),X}))},G=Ee=>{const{action:ue="click",iconRender:oe=a}=S,X=f[ue]||"",re=oe(I),V={[X]:W,className:`${Ee}-icon`,key:"passwordIcon",onMouseDown:ne=>{ne.preventDefault()},onMouseUp:ne=>{ne.preventDefault()}};return O.cloneElement(O.isValidElement(re)?re:O.createElement("span",null,re),V)},{className:j,prefixCls:Y,inputPrefixCls:ee,size:ae}=S,le=n(S,["className","prefixCls","inputPrefixCls","size"]),{getPrefixCls:_e}=O.useContext(E.E_),he=_e("input",ee),ve=_e("input-password",Y),Ae=w&&G(ve),ge=K()(ve,j,{[`${ve}-${ae}`]:!!ae}),fe=Object.assign(Object.assign({},(0,u.Z)(le,["suffix","iconRender","visibilityToggle"])),{type:I?"text":"password",className:ge,prefixCls:he,suffix:Ae});return ae&&(fe.size=ae),O.createElement(x.Z,Object.assign({ref:(0,h.sQ)(L,B)},fe))}),d=z(47472),e=z(92343),t=z(3113),i=z(19716),o=z(33234),v=function(S,L){var w={};for(var P in S)Object.prototype.hasOwnProperty.call(S,P)&&L.indexOf(P)<0&&(w[P]=S[P]);if(S!=null&&typeof Object.getOwnPropertySymbols=="function")for(var I=0,P=Object.getOwnPropertySymbols(S);I<P.length;I++)L.indexOf(P[I])<0&&Object.prototype.propertyIsEnumerable.call(S,P[I])&&(w[P[I]]=S[P[I]]);return w},p=O.forwardRef((S,L)=>{const{prefixCls:w,inputPrefixCls:P,className:I,size:R,suffix:B,enterButton:F=!1,addonAfter:W,loading:G,disabled:j,onSearch:Y,onChange:ee,onCompositionStart:ae,onCompositionEnd:le}=S,_e=v(S,["prefixCls","inputPrefixCls","className","size","suffix","enterButton","addonAfter","loading","disabled","onSearch","onChange","onCompositionStart","onCompositionEnd"]),{getPrefixCls:he,direction:ve}=O.useContext(E.E_),Ae=O.useRef(!1),ge=he("input-search",w),fe=he("input",P),{compactSize:Ee}=(0,o.ri)(ge,ve),ue=(0,i.Z)(Oe=>{var Ne;return(Ne=R!=null?R:Ee)!==null&&Ne!==void 0?Ne:Oe}),oe=O.useRef(null),X=Oe=>{Oe&&Oe.target&&Oe.type==="click"&&Y&&Y(Oe.target.value,Oe,{source:"clear"}),ee&&ee(Oe)},re=Oe=>{var Ne;document.activeElement===((Ne=oe.current)===null||Ne===void 0?void 0:Ne.input)&&Oe.preventDefault()},V=Oe=>{var Ne,we;Y&&Y((we=(Ne=oe.current)===null||Ne===void 0?void 0:Ne.input)===null||we===void 0?void 0:we.value,Oe,{source:"input"})},ne=Oe=>{Ae.current||G||V(Oe)},Z=typeof F=="boolean"?O.createElement(d.Z,null):null,$=`${ge}-button`;let se;const q=F||{},ie=q.type&&q.type.__ANT_BUTTON===!0;ie||q.type==="button"?se=(0,e.Tm)(q,Object.assign({onMouseDown:re,onClick:Oe=>{var Ne,we;(we=(Ne=q==null?void 0:q.props)===null||Ne===void 0?void 0:Ne.onClick)===null||we===void 0||we.call(Ne,Oe),V(Oe)},key:"enterButton"},ie?{className:$,size:ue}:{})):se=O.createElement(t.ZP,{className:$,type:F?"primary":void 0,size:ue,disabled:j,key:"enterButton",onMouseDown:re,onClick:V,loading:G,icon:Z},F),W&&(se=[se,(0,e.Tm)(W,{key:"addonAfter"})]);const de=K()(ge,{[`${ge}-rtl`]:ve==="rtl",[`${ge}-${ue}`]:!!ue,[`${ge}-with-button`]:!!F},I),me=Oe=>{Ae.current=!0,ae==null||ae(Oe)},Ce=Oe=>{Ae.current=!1,le==null||le(Oe)};return O.createElement(x.Z,Object.assign({ref:(0,h.sQ)(oe,L),onPressEnter:ne},_e,{size:ue,onCompositionStart:me,onCompositionEnd:Ce,prefixCls:fe,addonAfter:se,suffix:B,onChange:X,className:de,disabled:j}))}),C=z(1643);const D=x.Z;D.Group=m,D.Search=p,D.TextArea=C.Z,D.Password=l;var b=D},9937:function(nt,Pe,z){"use strict";z.d(Pe,{M1:function(){return _},TM:function(){return e},Xy:function(){return m},bi:function(){return c},e5:function(){return d},ik:function(){return u},nz:function(){return M},pU:function(){return A},s7:function(){return h},x0:function(){return g}});var N=z(17313),K=z(74207),O=z(37613),E=z(83116);const M=t=>({"&::-moz-placeholder":{opacity:1},"&::placeholder":{color:t,userSelect:"none"},"&:placeholder-shown":{textOverflow:"ellipsis"}}),A=t=>({borderColor:t.hoverBorderColor}),_=t=>({borderColor:t.activeBorderColor,boxShadow:t.activeShadow,outline:0}),m=t=>({color:t.colorTextDisabled,backgroundColor:t.colorBgContainerDisabled,borderColor:t.colorBorder,boxShadow:"none",cursor:"not-allowed",opacity:1,"&:hover":Object.assign({},A((0,O.TS)(t,{hoverBorderColor:t.colorBorder})))}),x=t=>{const{paddingBlockLG:i,fontSizeLG:o,lineHeightLG:v,borderRadiusLG:y,paddingInlineLG:p}=t;return{padding:`${i}px ${p}px`,fontSize:o,lineHeight:v,borderRadius:y}},g=t=>({padding:`${t.paddingBlockSM}px ${t.paddingInlineSM}px`,borderRadius:t.borderRadiusSM}),c=(t,i)=>{const{componentCls:o,colorError:v,colorWarning:y,errorActiveShadow:p,warningActiveShadow:C,colorErrorBorderHover:D,colorWarningBorderHover:b}=t;return{[`&-status-error:not(${i}-disabled):not(${i}-borderless)${i}`]:{borderColor:v,"&:hover":{borderColor:D},"&:focus, &-focused":Object.assign({},_((0,O.TS)(t,{activeBorderColor:v,activeShadow:p}))),[`${o}-prefix, ${o}-suffix`]:{color:v}},[`&-status-warning:not(${i}-disabled):not(${i}-borderless)${i}`]:{borderColor:y,"&:hover":{borderColor:b},"&:focus, &-focused":Object.assign({},_((0,O.TS)(t,{activeBorderColor:y,activeShadow:C}))),[`${o}-prefix, ${o}-suffix`]:{color:y}}}},u=t=>Object.assign(Object.assign({position:"relative",display:"inline-block",width:"100%",minWidth:0,padding:`${t.paddingBlock}px ${t.paddingInline}px`,color:t.colorText,fontSize:t.fontSize,lineHeight:t.lineHeight,backgroundColor:t.colorBgContainer,backgroundImage:"none",borderWidth:t.lineWidth,borderStyle:t.lineType,borderColor:t.colorBorder,borderRadius:t.borderRadius,transition:`all ${t.motionDurationMid}`},M(t.colorTextPlaceholder)),{"&:hover":Object.assign({},A(t)),"&:focus, &-focused":Object.assign({},_(t)),"&-disabled, &[disabled]":Object.assign({},m(t)),"&-borderless":{"&, &:hover, &:focus, &-focused, &-disabled, &[disabled]":{backgroundColor:"transparent",border:"none",boxShadow:"none"}},"textarea&":{maxWidth:"100%",height:"auto",minHeight:t.controlHeight,lineHeight:t.lineHeight,verticalAlign:"bottom",transition:`all ${t.motionDurationSlow}, height 0s`,resize:"vertical"},"&-lg":Object.assign({},x(t)),"&-sm":Object.assign({},g(t)),"&-rtl":{direction:"rtl"},"&-textarea-rtl":{direction:"rtl"}}),h=t=>{const{componentCls:i,antCls:o}=t;return{position:"relative",display:"table",width:"100%",borderCollapse:"separate",borderSpacing:0,"&[class*='col-']":{paddingInlineEnd:t.paddingXS,"&:last-child":{paddingInlineEnd:0}},[`&-lg ${i}, &-lg > ${i}-group-addon`]:Object.assign({},x(t)),[`&-sm ${i}, &-sm > ${i}-group-addon`]:Object.assign({},g(t)),[`&-lg ${o}-select-single ${o}-select-selector`]:{height:t.controlHeightLG},[`&-sm ${o}-select-single ${o}-select-selector`]:{height:t.controlHeightSM},[`> ${i}`]:{display:"table-cell","&:not(:first-child):not(:last-child)":{borderRadius:0}},[`${i}-group`]:{"&-addon, &-wrap":{display:"table-cell",width:1,whiteSpace:"nowrap",verticalAlign:"middle","&:not(:first-child):not(:last-child)":{borderRadius:0}},"&-wrap > *":{display:"block !important"},"&-addon":{position:"relative",padding:`0 ${t.paddingInline}px`,color:t.colorText,fontWeight:"normal",fontSize:t.fontSize,textAlign:"center",backgroundColor:t.colorFillAlter,border:`${t.lineWidth}px ${t.lineType} ${t.colorBorder}`,borderRadius:t.borderRadius,transition:`all ${t.motionDurationSlow}`,lineHeight:1,[`${o}-select`]:{margin:`-${t.paddingBlock+1}px -${t.paddingInline}px`,[`&${o}-select-single:not(${o}-select-customize-input)`]:{[`${o}-select-selector`]:{backgroundColor:"inherit",border:`${t.lineWidth}px ${t.lineType} transparent`,boxShadow:"none"}},"&-open, &-focused":{[`${o}-select-selector`]:{color:t.colorPrimary}}},[`${o}-cascader-picker`]:{margin:`-9px -${t.paddingInline}px`,backgroundColor:"transparent",[`${o}-cascader-input`]:{textAlign:"start",border:0,boxShadow:"none"}}},"&-addon:first-child":{borderInlineEnd:0},"&-addon:last-child":{borderInlineStart:0}},[`${i}`]:{width:"100%",marginBottom:0,textAlign:"inherit","&:focus":{zIndex:1,borderInlineEndWidth:1},"&:hover":{zIndex:1,borderInlineEndWidth:1,[`${i}-search-with-button &`]:{zIndex:0}}},[`> ${i}:first-child, ${i}-group-addon:first-child`]:{borderStartEndRadius:0,borderEndEndRadius:0,[`${o}-select ${o}-select-selector`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`> ${i}-affix-wrapper`]:{[`&:not(:first-child) ${i}`]:{borderStartStartRadius:0,borderEndStartRadius:0},[`&:not(:last-child) ${i}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`> ${i}:last-child, ${i}-group-addon:last-child`]:{borderStartStartRadius:0,borderEndStartRadius:0,[`${o}-select ${o}-select-selector`]:{borderStartStartRadius:0,borderEndStartRadius:0}},[`${i}-affix-wrapper`]:{"&:not(:last-child)":{borderStartEndRadius:0,borderEndEndRadius:0,[`${i}-search &`]:{borderStartStartRadius:t.borderRadius,borderEndStartRadius:t.borderRadius}},[`&:not(:first-child), ${i}-search &:not(:first-child)`]:{borderStartStartRadius:0,borderEndStartRadius:0}},[`&${i}-group-compact`]:Object.assign(Object.assign({display:"block"},(0,N.dF)()),{[`${i}-group-addon, ${i}-group-wrap, > ${i}`]:{"&:not(:first-child):not(:last-child)":{borderInlineEndWidth:t.lineWidth,"&:hover":{zIndex:1},"&:focus":{zIndex:1}}},"& > *":{display:"inline-block",float:"none",verticalAlign:"top",borderRadius:0},[`
|
|
& > ${i}-affix-wrapper,
|
|
& > ${i}-number-affix-wrapper,
|
|
& > ${o}-picker-range
|
|
`]:{display:"inline-flex"},"& > *:not(:last-child)":{marginInlineEnd:-t.lineWidth,borderInlineEndWidth:t.lineWidth},[`${i}`]:{float:"none"},[`& > ${o}-select > ${o}-select-selector,
|
|
& > ${o}-select-auto-complete ${i},
|
|
& > ${o}-cascader-picker ${i},
|
|
& > ${i}-group-wrapper ${i}`]:{borderInlineEndWidth:t.lineWidth,borderRadius:0,"&:hover":{zIndex:1},"&:focus":{zIndex:1}},[`& > ${o}-select-focused`]:{zIndex:1},[`& > ${o}-select > ${o}-select-arrow`]:{zIndex:1},[`& > *:first-child,
|
|
& > ${o}-select:first-child > ${o}-select-selector,
|
|
& > ${o}-select-auto-complete:first-child ${i},
|
|
& > ${o}-cascader-picker:first-child ${i}`]:{borderStartStartRadius:t.borderRadius,borderEndStartRadius:t.borderRadius},[`& > *:last-child,
|
|
& > ${o}-select:last-child > ${o}-select-selector,
|
|
& > ${o}-cascader-picker:last-child ${i},
|
|
& > ${o}-cascader-picker-focused:last-child ${i}`]:{borderInlineEndWidth:t.lineWidth,borderStartEndRadius:t.borderRadius,borderEndEndRadius:t.borderRadius},[`& > ${o}-select-auto-complete ${i}`]:{verticalAlign:"top"},[`${i}-group-wrapper + ${i}-group-wrapper`]:{marginInlineStart:-t.lineWidth,[`${i}-affix-wrapper`]:{borderRadius:0}},[`${i}-group-wrapper:not(:last-child)`]:{[`&${i}-search > ${i}-group`]:{[`& > ${i}-group-addon > ${i}-search-button`]:{borderRadius:0},[`& > ${i}`]:{borderStartStartRadius:t.borderRadius,borderStartEndRadius:0,borderEndEndRadius:0,borderEndStartRadius:t.borderRadius}}}})}},r=t=>{const{componentCls:i,controlHeightSM:o,lineWidth:v}=t,p=(o-v*2-16)/2;return{[i]:Object.assign(Object.assign(Object.assign(Object.assign({},(0,N.Wf)(t)),u(t)),c(t,i)),{'&[type="color"]':{height:t.controlHeight,[`&${i}-lg`]:{height:t.controlHeightLG},[`&${i}-sm`]:{height:o,paddingTop:p,paddingBottom:p}},'&[type="search"]::-webkit-search-cancel-button, &[type="search"]::-webkit-search-decoration':{"-webkit-appearance":"none"}})}},n=t=>{const{componentCls:i}=t;return{[`${i}-clear-icon`]:{margin:0,color:t.colorTextQuaternary,fontSize:t.fontSizeIcon,verticalAlign:-1,cursor:"pointer",transition:`color ${t.motionDurationSlow}`,"&:hover":{color:t.colorTextTertiary},"&:active":{color:t.colorText},"&-hidden":{visibility:"hidden"},"&-has-suffix":{margin:`0 ${t.inputAffixPadding}px`}}}},a=t=>{const{componentCls:i,inputAffixPadding:o,colorTextDescription:v,motionDurationSlow:y,colorIcon:p,colorIconHover:C,iconCls:D}=t;return{[`${i}-affix-wrapper`]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},u(t)),{display:"inline-flex",[`&:not(${i}-affix-wrapper-disabled):hover`]:Object.assign(Object.assign({},A(t)),{zIndex:1,[`${i}-search-with-button &`]:{zIndex:0}}),"&-focused, &:focus":{zIndex:1},"&-disabled":{[`${i}[disabled]`]:{background:"transparent"}},[`> input${i}`]:{padding:0,fontSize:"inherit",border:"none",borderRadius:0,outline:"none","&::-ms-reveal":{display:"none"},"&:focus":{boxShadow:"none !important"}},"&::before":{display:"inline-block",width:0,visibility:"hidden",content:'"\\a0"'},[`${i}`]:{"&-prefix, &-suffix":{display:"flex",flex:"none",alignItems:"center","> *:not(:last-child)":{marginInlineEnd:t.paddingXS}},"&-show-count-suffix":{color:v},"&-show-count-has-suffix":{marginInlineEnd:t.paddingXXS},"&-prefix":{marginInlineEnd:o},"&-suffix":{marginInlineStart:o}}}),n(t)),{[`${D}${i}-password-icon`]:{color:p,cursor:"pointer",transition:`all ${y}`,"&:hover":{color:C}}}),c(t,`${i}-affix-wrapper`))}},f=t=>{const{componentCls:i,colorError:o,colorWarning:v,borderRadiusLG:y,borderRadiusSM:p}=t;return{[`${i}-group`]:Object.assign(Object.assign(Object.assign({},(0,N.Wf)(t)),h(t)),{"&-rtl":{direction:"rtl"},"&-wrapper":{display:"inline-block",width:"100%",textAlign:"start",verticalAlign:"top","&-rtl":{direction:"rtl"},"&-lg":{[`${i}-group-addon`]:{borderRadius:y,fontSize:t.fontSizeLG}},"&-sm":{[`${i}-group-addon`]:{borderRadius:p}},"&-status-error":{[`${i}-group-addon`]:{color:o,borderColor:o}},"&-status-warning":{[`${i}-group-addon`]:{color:v,borderColor:v}},"&-disabled":{[`${i}-group-addon`]:Object.assign({},m(t))},[`&:not(${i}-compact-first-item):not(${i}-compact-last-item)${i}-compact-item`]:{[`${i}, ${i}-group-addon`]:{borderRadius:0}},[`&:not(${i}-compact-last-item)${i}-compact-first-item`]:{[`${i}, ${i}-group-addon`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&:not(${i}-compact-first-item)${i}-compact-last-item`]:{[`${i}, ${i}-group-addon`]:{borderStartStartRadius:0,borderEndStartRadius:0}}}})}},s=t=>{const{componentCls:i,antCls:o}=t,v=`${i}-search`;return{[v]:{[`${i}`]:{"&:hover, &:focus":{borderColor:t.colorPrimaryHover,[`+ ${i}-group-addon ${v}-button:not(${o}-btn-primary)`]:{borderInlineStartColor:t.colorPrimaryHover}}},[`${i}-affix-wrapper`]:{borderRadius:0},[`${i}-lg`]:{lineHeight:t.lineHeightLG-2e-4},[`> ${i}-group`]:{[`> ${i}-group-addon:last-child`]:{insetInlineStart:-1,padding:0,border:0,[`${v}-button`]:{paddingTop:0,paddingBottom:0,borderStartStartRadius:0,borderStartEndRadius:t.borderRadius,borderEndEndRadius:t.borderRadius,borderEndStartRadius:0,boxShadow:"none"},[`${v}-button:not(${o}-btn-primary)`]:{color:t.colorTextDescription,"&:hover":{color:t.colorPrimaryHover},"&:active":{color:t.colorPrimaryActive},[`&${o}-btn-loading::before`]:{insetInlineStart:0,insetInlineEnd:0,insetBlockStart:0,insetBlockEnd:0}}}},[`${v}-button`]:{height:t.controlHeight,"&:hover, &:focus":{zIndex:1}},[`&-large ${v}-button`]:{height:t.controlHeightLG},[`&-small ${v}-button`]:{height:t.controlHeightSM},"&-rtl":{direction:"rtl"},[`&${i}-compact-item`]:{[`&:not(${i}-compact-last-item)`]:{[`${i}-group-addon`]:{[`${i}-search-button`]:{marginInlineEnd:-t.lineWidth,borderRadius:0}}},[`&:not(${i}-compact-first-item)`]:{[`${i},${i}-affix-wrapper`]:{borderRadius:0}},[`> ${i}-group-addon ${i}-search-button,
|
|
> ${i},
|
|
${i}-affix-wrapper`]:{"&:hover,&:focus,&:active":{zIndex:2}},[`> ${i}-affix-wrapper-focused`]:{zIndex:2}}}}},l=t=>{const{componentCls:i,paddingLG:o}=t,v=`${i}-textarea`;return{[v]:{position:"relative","&-show-count":{[`> ${i}`]:{height:"100%"},[`${i}-data-count`]:{position:"absolute",bottom:-t.fontSize*t.lineHeight,insetInlineEnd:0,color:t.colorTextDescription,whiteSpace:"nowrap",pointerEvents:"none"}},"&-allow-clear":{[`> ${i}`]:{paddingInlineEnd:o}},[`&-affix-wrapper${v}-has-feedback`]:{[`${i}`]:{paddingInlineEnd:o}},[`&-affix-wrapper${i}-affix-wrapper`]:{padding:0,[`> textarea${i}`]:{fontSize:"inherit",border:"none",outline:"none","&:focus":{boxShadow:"none !important"}},[`${i}-suffix`]:{margin:0,"> *:not(:last-child)":{marginInline:0},[`${i}-clear-icon`]:{position:"absolute",insetInlineEnd:t.paddingXS,insetBlockStart:t.paddingXS},[`${v}-suffix`]:{position:"absolute",top:0,insetInlineEnd:t.paddingInline,bottom:0,zIndex:1,display:"inline-flex",alignItems:"center",margin:"auto",pointerEvents:"none"}}}}}};function d(t){return(0,O.TS)(t,{inputAffixPadding:t.paddingXXS})}const e=t=>{const{controlHeight:i,fontSize:o,lineHeight:v,lineWidth:y,controlHeightSM:p,controlHeightLG:C,fontSizeLG:D,lineHeightLG:b,paddingSM:S,controlPaddingHorizontalSM:L,controlPaddingHorizontal:w,colorFillAlter:P,colorPrimaryHover:I,controlOutlineWidth:R,controlOutline:B,colorErrorOutline:F,colorWarningOutline:W}=t;return{paddingBlock:Math.max(Math.round((i-o*v)/2*10)/10-y,3),paddingBlockSM:Math.max(Math.round((p-o*v)/2*10)/10-y,0),paddingBlockLG:Math.ceil((C-D*b)/2*10)/10-y,paddingInline:S-y,paddingInlineSM:L-y,paddingInlineLG:w-y,addonBg:P,activeBorderColor:I,hoverBorderColor:I,activeShadow:`0 0 0 ${R}px ${B}`,errorActiveShadow:`0 0 0 ${R}px ${F}`,warningActiveShadow:`0 0 0 ${R}px ${W}`}};Pe.ZP=(0,E.Z)("Input",t=>{const i=(0,O.TS)(t,d(t));return[r(i),l(i),a(i),f(i),s(i),(0,K.c)(i)]},e)},45818:function(nt,Pe,z){"use strict";z.d(Pe,{D:function(){return d},Z:function(){return i}});var N=z(54476),K=z(59301),O={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"bars",theme:"outlined"},E=O,M=z(85221),A=function(v,y){return K.createElement(M.Z,(0,N.Z)({},v,{ref:y,icon:E}))},_=K.forwardRef(A),m=_,x=z(33853),g=z(38819),c=z(92310),u=z.n(c),h=z(2738),n=o=>!isNaN(parseFloat(o))&&isFinite(o),a=z(36355),f=z(84966),s=function(o,v){var y={};for(var p in o)Object.prototype.hasOwnProperty.call(o,p)&&v.indexOf(p)<0&&(y[p]=o[p]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var C=0,p=Object.getOwnPropertySymbols(o);C<p.length;C++)v.indexOf(p[C])<0&&Object.prototype.propertyIsEnumerable.call(o,p[C])&&(y[p[C]]=o[p[C]]);return y};const l={xs:"479.98px",sm:"575.98px",md:"767.98px",lg:"991.98px",xl:"1199.98px",xxl:"1599.98px"},d=K.createContext({}),e=(()=>{let o=0;return function(){let v=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return o+=1,`${v}${o}`}})();var i=K.forwardRef((o,v)=>{const{prefixCls:y,className:p,trigger:C,children:D,defaultCollapsed:b=!1,theme:S="dark",style:L={},collapsible:w=!1,reverseArrow:P=!1,width:I=200,collapsedWidth:R=80,zeroWidthTriggerStyle:B,breakpoint:F,onCollapse:W,onBreakpoint:G}=o,j=s(o,["prefixCls","className","trigger","children","defaultCollapsed","theme","style","collapsible","reverseArrow","width","collapsedWidth","zeroWidthTriggerStyle","breakpoint","onCollapse","onBreakpoint"]),{siderHook:Y}=(0,K.useContext)(f.Gs),[ee,ae]=(0,K.useState)("collapsed"in o?o.collapsed:b),[le,_e]=(0,K.useState)(!1);(0,K.useEffect)(()=>{"collapsed"in o&&ae(o.collapsed)},[o.collapsed]);const he=(ue,oe)=>{"collapsed"in o||ae(ue),W==null||W(ue,oe)},ve=(0,K.useRef)();ve.current=ue=>{_e(ue.matches),G==null||G(ue.matches),ee!==ue.matches&&he(ue.matches,"responsive")},(0,K.useEffect)(()=>{function ue(X){return ve.current(X)}let oe;if(typeof window!="undefined"){const{matchMedia:X}=window;if(X&&F&&F in l){oe=X(`(max-width: ${l[F]})`);try{oe.addEventListener("change",ue)}catch(re){oe.addListener(ue)}ue(oe)}}return()=>{try{oe==null||oe.removeEventListener("change",ue)}catch(X){oe==null||oe.removeListener(ue)}}},[F]),(0,K.useEffect)(()=>{const ue=e("ant-sider-");return Y.addSider(ue),()=>Y.removeSider(ue)},[]);const Ae=()=>{he(!ee,"clickTrigger")},{getPrefixCls:ge}=(0,K.useContext)(a.E_),fe=()=>{const ue=ge("layout-sider",y),oe=(0,h.Z)(j,["collapsed"]),X=ee?R:I,re=n(X)?`${X}px`:String(X),V=parseFloat(String(R||0))===0?K.createElement("span",{onClick:Ae,className:u()(`${ue}-zero-width-trigger`,`${ue}-zero-width-trigger-${P?"right":"left"}`),style:B},C||K.createElement(m,null)):null,$={expanded:P?K.createElement(g.Z,null):K.createElement(x.Z,null),collapsed:P?K.createElement(x.Z,null):K.createElement(g.Z,null)}[ee?"collapsed":"expanded"],se=C!==null?V||K.createElement("div",{className:`${ue}-trigger`,onClick:Ae,style:{width:re}},C||$):null,q=Object.assign(Object.assign({},L),{flex:`0 0 ${re}`,maxWidth:re,minWidth:re,width:re}),ie=u()(ue,`${ue}-${S}`,{[`${ue}-collapsed`]:!!ee,[`${ue}-has-trigger`]:w&&C!==null&&!V,[`${ue}-below`]:!!le,[`${ue}-zero-width`]:parseFloat(re)===0},p);return K.createElement("aside",Object.assign({className:ie},oe,{style:q,ref:v}),K.createElement("div",{className:`${ue}-children`},D),w||le&&V?se:null)},Ee=K.useMemo(()=>({siderCollapsed:ee}),[ee]);return K.createElement(d.Provider,{value:Ee},fe())})},84966:function(nt,Pe,z){"use strict";z.d(Pe,{VY:function(){return d},$_:function(){return l},h4:function(){return s},Gs:function(){return h},ZP:function(){return e}});var N=z(94480),K=z(92310),O=z.n(K),E=z(2738),M=z(59301),A=z(36355),_=z(83116),x=t=>{const{componentCls:i,bodyBg:o,lightSiderBg:v,lightTriggerBg:y,lightTriggerColor:p}=t;return{[`${i}-sider-light`]:{background:v,[`${i}-sider-trigger`]:{color:p,background:y},[`${i}-sider-zero-width-trigger`]:{color:p,background:y,border:`1px solid ${o}`,borderInlineStart:0}}}};const g=t=>{const{antCls:i,componentCls:o,colorText:v,triggerColor:y,footerBg:p,triggerBg:C,headerHeight:D,headerPadding:b,headerColor:S,footerPadding:L,triggerHeight:w,zeroTriggerHeight:P,zeroTriggerWidth:I,motionDurationMid:R,motionDurationSlow:B,fontSize:F,borderRadius:W,bodyBg:G,headerBg:j,siderBg:Y}=t;return{[o]:Object.assign(Object.assign({display:"flex",flex:"auto",flexDirection:"column",minHeight:0,background:G,"&, *":{boxSizing:"border-box"},[`&${o}-has-sider`]:{flexDirection:"row",[`> ${o}, > ${o}-content`]:{width:0}},[`${o}-header, &${o}-footer`]:{flex:"0 0 auto"},[`${o}-sider`]:{position:"relative",minWidth:0,background:Y,transition:`all ${R}, background 0s`,"&-children":{height:"100%",marginTop:-.1,paddingTop:.1,[`${i}-menu${i}-menu-inline-collapsed`]:{width:"auto"}},"&-has-trigger":{paddingBottom:w},"&-right":{order:1},"&-trigger":{position:"fixed",bottom:0,zIndex:1,height:w,color:y,lineHeight:`${w}px`,textAlign:"center",background:C,cursor:"pointer",transition:`all ${R}`},"&-zero-width":{"> *":{overflow:"hidden"},"&-trigger":{position:"absolute",top:D,insetInlineEnd:-I,zIndex:1,width:I,height:P,color:y,fontSize:t.fontSizeXL,display:"flex",alignItems:"center",justifyContent:"center",background:Y,borderStartStartRadius:0,borderStartEndRadius:W,borderEndEndRadius:W,borderEndStartRadius:0,cursor:"pointer",transition:`background ${B} ease`,"&::after":{position:"absolute",inset:0,background:"transparent",transition:`all ${B}`,content:'""'},"&:hover::after":{background:"rgba(255, 255, 255, 0.2)"},"&-right":{insetInlineStart:-I,borderStartStartRadius:W,borderStartEndRadius:0,borderEndEndRadius:0,borderEndStartRadius:W}}}}},x(t)),{"&-rtl":{direction:"rtl"}}),[`${o}-header`]:{height:D,padding:b,color:S,lineHeight:`${D}px`,background:j,[`${i}-menu`]:{lineHeight:"inherit"}},[`${o}-footer`]:{padding:L,color:v,fontSize:F,background:p},[`${o}-content`]:{flex:"auto",minHeight:0}}};var c=(0,_.Z)("Layout",t=>[g(t)],t=>{const{colorBgLayout:i,controlHeight:o,controlHeightLG:v,colorText:y,controlHeightSM:p,marginXXS:C,colorTextLightSolid:D,colorBgContainer:b}=t,S=v*1.25;return{colorBgHeader:"#001529",colorBgBody:i,colorBgTrigger:"#002140",bodyBg:i,headerBg:"#001529",headerHeight:o*2,headerPadding:`0 ${S}px`,headerColor:y,footerPadding:`${p}px ${S}px`,footerBg:i,siderBg:"#001529",triggerHeight:v+C*2,triggerBg:"#002140",triggerColor:D,zeroTriggerWidth:v,zeroTriggerHeight:v,lightSiderBg:b,lightTriggerBg:b,lightTriggerColor:y}},{deprecatedTokens:[["colorBgBody","bodyBg"],["colorBgHeader","headerBg"],["colorBgTrigger","triggerBg"]]}),u=function(t,i){var o={};for(var v in t)Object.prototype.hasOwnProperty.call(t,v)&&i.indexOf(v)<0&&(o[v]=t[v]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var y=0,v=Object.getOwnPropertySymbols(t);y<v.length;y++)i.indexOf(v[y])<0&&Object.prototype.propertyIsEnumerable.call(t,v[y])&&(o[v[y]]=t[v[y]]);return o};const h=M.createContext({siderHook:{addSider:()=>null,removeSider:()=>null}});function r(t){let{suffixCls:i,tagName:o,displayName:v}=t;return y=>M.forwardRef((C,D)=>M.createElement(y,Object.assign({ref:D,suffixCls:i,tagName:o},C)))}const n=M.forwardRef((t,i)=>{const{prefixCls:o,suffixCls:v,className:y,tagName:p}=t,C=u(t,["prefixCls","suffixCls","className","tagName"]),{getPrefixCls:D}=M.useContext(A.E_),b=D("layout",o),[S,L]=c(b),w=v?`${b}-${v}`:b;return S(M.createElement(p,Object.assign({className:O()(o||w,y,L),ref:i},C)))}),a=M.forwardRef((t,i)=>{const{direction:o}=M.useContext(A.E_),[v,y]=M.useState([]),{prefixCls:p,className:C,rootClassName:D,children:b,hasSider:S,tagName:L,style:w}=t,P=u(t,["prefixCls","className","rootClassName","children","hasSider","tagName","style"]),I=(0,E.Z)(P,["suffixCls"]),{getPrefixCls:R,layout:B}=M.useContext(A.E_),F=R("layout",p),[W,G]=c(F),j=O()(F,{[`${F}-has-sider`]:typeof S=="boolean"?S:v.length>0,[`${F}-rtl`]:o==="rtl"},B==null?void 0:B.className,C,D,G),Y=M.useMemo(()=>({siderHook:{addSider:ee=>{y(ae=>[].concat((0,N.Z)(ae),[ee]))},removeSider:ee=>{y(ae=>ae.filter(le=>le!==ee))}}}),[]);return W(M.createElement(h.Provider,{value:Y},M.createElement(L,Object.assign({ref:i,className:j,style:Object.assign(Object.assign({},B==null?void 0:B.style),w)},I),b)))}),f=r({tagName:"div",displayName:"Layout"})(a),s=r({suffixCls:"header",tagName:"header",displayName:"Header"})(n),l=r({suffixCls:"footer",tagName:"footer",displayName:"Footer"})(n),d=r({suffixCls:"content",tagName:"main",displayName:"Content"})(n);var e=f},40875:function(nt,Pe,z){"use strict";z.d(Pe,{J:function(){return A}});var N=z(59301),K=z(33234),O=z(70425),E=function(_,m){var x={};for(var g in _)Object.prototype.hasOwnProperty.call(_,g)&&m.indexOf(g)<0&&(x[g]=_[g]);if(_!=null&&typeof Object.getOwnPropertySymbols=="function")for(var c=0,g=Object.getOwnPropertySymbols(_);c<g.length;c++)m.indexOf(g[c])<0&&Object.prototype.propertyIsEnumerable.call(_,g[c])&&(x[g[c]]=_[g[c]]);return x};const M=N.createContext(null),A=N.forwardRef((_,m)=>{const{children:x}=_,g=E(_,["children"]),c=N.useContext(M),u=N.useMemo(()=>Object.assign(Object.assign({},c),g),[c,g.prefixCls,g.mode,g.selectable]);return N.createElement(M.Provider,{value:u},N.createElement(K.BR,null,(0,O.supportNodeRef)(x)?N.cloneElement(x,{ref:m}):x))});Pe.Z=M},20834:function(nt,Pe,z){"use strict";z.d(Pe,{default:function(){return Ee}});var N=z(15285),K=z(59301),O=z(45818),E=z(92310),M=z.n(E),A=z(36355),_=function(ue,oe){var X={};for(var re in ue)Object.prototype.hasOwnProperty.call(ue,re)&&oe.indexOf(re)<0&&(X[re]=ue[re]);if(ue!=null&&typeof Object.getOwnPropertySymbols=="function")for(var V=0,re=Object.getOwnPropertySymbols(ue);V<re.length;V++)oe.indexOf(re[V])<0&&Object.prototype.propertyIsEnumerable.call(ue,re[V])&&(X[re[V]]=ue[re[V]]);return X},x=ue=>{const{prefixCls:oe,className:X,dashed:re}=ue,V=_(ue,["prefixCls","className","dashed"]),{getPrefixCls:ne}=K.useContext(A.E_),Z=ne("menu",oe),$=M()({[`${Z}-item-divider-dashed`]:!!re},X);return K.createElement(N.iz,Object.assign({className:$},V))},g=z(11592),c=z(2738),u=z(6848),h=z(92343),n=(0,K.createContext)({prefixCls:"",firstLevel:!0,inlineCollapsed:!1}),f=ue=>{var oe;const{className:X,children:re,icon:V,title:ne,danger:Z}=ue,{prefixCls:$,firstLevel:se,direction:q,disableMenuItemTitleTooltip:ie,inlineCollapsed:de}=K.useContext(n),me=ye=>{const Se=K.createElement("span",{className:`${$}-title-content`},re);return(!V||(0,h.l$)(re)&&re.type==="span")&&re&&ye&&se&&typeof re=="string"?K.createElement("div",{className:`${$}-inline-collapsed-noicon`},re.charAt(0)):Se},{siderCollapsed:Ce}=K.useContext(O.D);let Oe=ne;typeof ne=="undefined"?Oe=se?re:"":ne===!1&&(Oe="");const Ne={title:Oe};!Ce&&!de&&(Ne.title=null,Ne.open=!1);const we=(0,g.Z)(re).length;let ce=K.createElement(N.ck,Object.assign({},(0,c.Z)(ue,["title","icon","danger"]),{className:M()({[`${$}-item-danger`]:Z,[`${$}-item-only-child`]:(V?we+1:we)===1},X),title:typeof ne=="string"?ne:void 0}),(0,h.Tm)(V,{className:M()((0,h.l$)(V)?(oe=V.props)===null||oe===void 0?void 0:oe.className:"",`${$}-item-icon`)}),me(de));return ie||(ce=K.createElement(u.Z,Object.assign({},Ne,{placement:q==="rtl"?"left":"right",overlayClassName:`${$}-inline-collapsed-tooltip`}),ce)),ce},l=ue=>{var oe;const{popupClassName:X,icon:re,title:V,theme:ne}=ue,Z=K.useContext(n),{prefixCls:$,inlineCollapsed:se,theme:q}=Z,ie=(0,N.Xl)();let de;if(!re)de=se&&!ie.length&&V&&typeof V=="string"?K.createElement("div",{className:`${$}-inline-collapsed-noicon`},V.charAt(0)):K.createElement("span",{className:`${$}-title-content`},V);else{const Ce=(0,h.l$)(V)&&V.type==="span";de=K.createElement(K.Fragment,null,(0,h.Tm)(re,{className:M()((0,h.l$)(re)?(oe=re.props)===null||oe===void 0?void 0:oe.className:"",`${$}-item-icon`)}),Ce?V:K.createElement("span",{className:`${$}-title-content`},V))}const me=K.useMemo(()=>Object.assign(Object.assign({},Z),{firstLevel:!1}),[Z]);return K.createElement(n.Provider,{value:me},K.createElement(N.Wd,Object.assign({},(0,c.Z)(ue,["icon"]),{title:de,popupClassName:M()($,X,`${$}-${ne||q}`)})))},d=z(18785),e=z(70425),t=z(62892),i=z(40875),o=function(ue,oe){var X={};for(var re in ue)Object.prototype.hasOwnProperty.call(ue,re)&&oe.indexOf(re)<0&&(X[re]=ue[re]);if(ue!=null&&typeof Object.getOwnPropertySymbols=="function")for(var V=0,re=Object.getOwnPropertySymbols(ue);V<re.length;V++)oe.indexOf(re[V])<0&&Object.prototype.propertyIsEnumerable.call(ue,re[V])&&(X[re[V]]=ue[re[V]]);return X};function v(ue){return(ue||[]).map((oe,X)=>{if(oe&&typeof oe=="object"){const re=oe,{label:V,children:ne,key:Z,type:$}=re,se=o(re,["label","children","key","type"]),q=Z!=null?Z:`tmp-${X}`;return ne||$==="group"?$==="group"?K.createElement(N.BW,Object.assign({key:q},se,{title:V}),v(ne)):K.createElement(l,Object.assign({key:q},se,{title:V}),v(ne)):$==="divider"?K.createElement(x,Object.assign({key:q},se)):K.createElement(f,Object.assign({key:q},se),V)}return null}).filter(oe=>oe)}function y(ue){return K.useMemo(()=>ue&&v(ue),[ue])}var p=z(64993),C=z(17313),D=z(8378),b=z(13826),S=z(29878),L=z(83116),w=z(37613),I=ue=>{const{componentCls:oe,motionDurationSlow:X,horizontalLineHeight:re,colorSplit:V,lineWidth:ne,lineType:Z,itemPaddingInline:$}=ue;return{[`${oe}-horizontal`]:{lineHeight:re,border:0,borderBottom:`${ne}px ${Z} ${V}`,boxShadow:"none","&::after":{display:"block",clear:"both",height:0,content:'"\\20"'},[`${oe}-item, ${oe}-submenu`]:{position:"relative",display:"inline-block",verticalAlign:"bottom",paddingInline:$},[`> ${oe}-item:hover,
|
|
> ${oe}-item-active,
|
|
> ${oe}-submenu ${oe}-submenu-title:hover`]:{backgroundColor:"transparent"},[`${oe}-item, ${oe}-submenu-title`]:{transition:[`border-color ${X}`,`background ${X}`].join(",")},[`${oe}-submenu-arrow`]:{display:"none"}}}},B=ue=>{let{componentCls:oe,menuArrowOffset:X}=ue;return{[`${oe}-rtl`]:{direction:"rtl"},[`${oe}-submenu-rtl`]:{transformOrigin:"100% 0"},[`${oe}-rtl${oe}-vertical,
|
|
${oe}-submenu-rtl ${oe}-vertical`]:{[`${oe}-submenu-arrow`]:{"&::before":{transform:`rotate(-45deg) translateY(-${X})`},"&::after":{transform:`rotate(45deg) translateY(${X})`}}}}};const F=ue=>Object.assign({},(0,C.oN)(ue));var G=(ue,oe)=>{const{componentCls:X,itemColor:re,itemSelectedColor:V,groupTitleColor:ne,itemBg:Z,subMenuItemBg:$,itemSelectedBg:se,activeBarHeight:q,activeBarWidth:ie,activeBarBorderWidth:de,motionDurationSlow:me,motionEaseInOut:Ce,motionEaseOut:Oe,itemPaddingInline:Ne,motionDurationMid:we,itemHoverColor:ce,lineType:ye,colorSplit:Se,itemDisabledColor:xe,dangerItemColor:je,dangerItemHoverColor:ut,dangerItemSelectedColor:lt,dangerItemActiveBg:$e,dangerItemSelectedBg:pt,itemHoverBg:xt,itemActiveBg:St,menuSubMenuBg:ft,horizontalItemSelectedColor:$t,horizontalItemSelectedBg:Kt,horizontalItemBorderRadius:dt,horizontalItemHoverBg:ht,popupBg:Ot}=ue;return{[`${X}-${oe}, ${X}-${oe} > ${X}`]:{color:re,background:Z,[`&${X}-root:focus-visible`]:Object.assign({},F(ue)),[`${X}-item-group-title`]:{color:ne},[`${X}-submenu-selected`]:{[`> ${X}-submenu-title`]:{color:V}},[`${X}-item-disabled, ${X}-submenu-disabled`]:{color:`${xe} !important`},[`${X}-item:not(${X}-item-selected):not(${X}-submenu-selected)`]:{[`&:hover, > ${X}-submenu-title:hover`]:{color:ce}},[`&:not(${X}-horizontal)`]:{[`${X}-item:not(${X}-item-selected)`]:{"&:hover":{backgroundColor:xt},"&:active":{backgroundColor:St}},[`${X}-submenu-title`]:{"&:hover":{backgroundColor:xt},"&:active":{backgroundColor:St}}},[`${X}-item-danger`]:{color:je,[`&${X}-item:hover`]:{[`&:not(${X}-item-selected):not(${X}-submenu-selected)`]:{color:ut}},[`&${X}-item:active`]:{background:$e}},[`${X}-item a`]:{"&, &:hover":{color:"inherit"}},[`${X}-item-selected`]:{color:V,[`&${X}-item-danger`]:{color:lt},"a, a:hover":{color:"inherit"}},[`& ${X}-item-selected`]:{backgroundColor:se,[`&${X}-item-danger`]:{backgroundColor:pt}},[`${X}-item, ${X}-submenu-title`]:{[`&:not(${X}-item-disabled):focus-visible`]:Object.assign({},F(ue))},[`&${X}-submenu > ${X}`]:{backgroundColor:ft},[`&${X}-popup > ${X}`]:{backgroundColor:Ot},[`&${X}-horizontal`]:Object.assign(Object.assign({},oe==="dark"?{borderBottom:0}:{}),{[`> ${X}-item, > ${X}-submenu`]:{top:de,marginTop:-de,marginBottom:0,borderRadius:dt,"&::after":{position:"absolute",insetInline:Ne,bottom:0,borderBottom:`${q}px solid transparent`,transition:`border-color ${me} ${Ce}`,content:'""'},"&:hover, &-active, &-open":{background:ht,"&::after":{borderBottomWidth:q,borderBottomColor:$t}},"&-selected":{color:$t,backgroundColor:Kt,"&:hover":{backgroundColor:Kt},"&::after":{borderBottomWidth:q,borderBottomColor:$t}}}}),[`&${X}-root`]:{[`&${X}-inline, &${X}-vertical`]:{borderInlineEnd:`${de}px ${ye} ${Se}`}},[`&${X}-inline`]:{[`${X}-sub${X}-inline`]:{background:$},[`${X}-item, ${X}-submenu-title`]:de&&ie?{width:`calc(100% + ${de}px)`}:{},[`${X}-item`]:{position:"relative","&::after":{position:"absolute",insetBlock:0,insetInlineEnd:0,borderInlineEnd:`${ie}px solid ${V}`,transform:"scaleY(0.0001)",opacity:0,transition:[`transform ${we} ${Oe}`,`opacity ${we} ${Oe}`].join(","),content:'""'},[`&${X}-item-danger`]:{"&::after":{borderInlineEndColor:lt}}},[`${X}-selected, ${X}-item-selected`]:{"&::after":{transform:"scaleY(1)",opacity:1,transition:[`transform ${we} ${Ce}`,`opacity ${we} ${Ce}`].join(",")}}}}}};const j=ue=>{const{componentCls:oe,itemHeight:X,itemMarginInline:re,padding:V,menuArrowSize:ne,marginXS:Z,itemMarginBlock:$}=ue,se=V+ne+Z;return{[`${oe}-item`]:{position:"relative",overflow:"hidden"},[`${oe}-item, ${oe}-submenu-title`]:{height:X,lineHeight:`${X}px`,paddingInline:V,overflow:"hidden",textOverflow:"ellipsis",marginInline:re,marginBlock:$,width:`calc(100% - ${re*2}px)`},[`> ${oe}-item,
|
|
> ${oe}-submenu > ${oe}-submenu-title`]:{height:X,lineHeight:`${X}px`},[`${oe}-item-group-list ${oe}-submenu-title,
|
|
${oe}-submenu-title`]:{paddingInlineEnd:se}}};var ee=ue=>{const{componentCls:oe,iconCls:X,itemHeight:re,colorTextLightSolid:V,dropdownWidth:ne,controlHeightLG:Z,motionDurationMid:$,motionEaseOut:se,paddingXL:q,itemMarginInline:ie,fontSizeLG:de,motionDurationSlow:me,paddingXS:Ce,boxShadowSecondary:Oe,collapsedWidth:Ne,collapsedIconSize:we}=ue,ce={height:re,lineHeight:`${re}px`,listStylePosition:"inside",listStyleType:"disc"};return[{[oe]:{"&-inline, &-vertical":Object.assign({[`&${oe}-root`]:{boxShadow:"none"}},j(ue))},[`${oe}-submenu-popup`]:{[`${oe}-vertical`]:Object.assign(Object.assign({},j(ue)),{boxShadow:Oe})}},{[`${oe}-submenu-popup ${oe}-vertical${oe}-sub`]:{minWidth:ne,maxHeight:`calc(100vh - ${Z*2.5}px)`,padding:"0",overflow:"hidden",borderInlineEnd:0,"&:not([class*='-active'])":{overflowX:"hidden",overflowY:"auto"}}},{[`${oe}-inline`]:{width:"100%",[`&${oe}-root`]:{[`${oe}-item, ${oe}-submenu-title`]:{display:"flex",alignItems:"center",transition:[`border-color ${me}`,`background ${me}`,`padding ${$} ${se}`].join(","),[`> ${oe}-title-content`]:{flex:"auto",minWidth:0,overflow:"hidden",textOverflow:"ellipsis"},"> *":{flex:"none"}}},[`${oe}-sub${oe}-inline`]:{padding:0,border:0,borderRadius:0,boxShadow:"none",[`& > ${oe}-submenu > ${oe}-submenu-title`]:ce,[`& ${oe}-item-group-title`]:{paddingInlineStart:q}},[`${oe}-item`]:ce}},{[`${oe}-inline-collapsed`]:{width:Ne,[`&${oe}-root`]:{[`${oe}-item, ${oe}-submenu ${oe}-submenu-title`]:{[`> ${oe}-inline-collapsed-noicon`]:{fontSize:de,textAlign:"center"}}},[`> ${oe}-item,
|
|
> ${oe}-item-group > ${oe}-item-group-list > ${oe}-item,
|
|
> ${oe}-item-group > ${oe}-item-group-list > ${oe}-submenu > ${oe}-submenu-title,
|
|
> ${oe}-submenu > ${oe}-submenu-title`]:{insetInlineStart:0,paddingInline:`calc(50% - ${de/2}px - ${ie}px)`,textOverflow:"clip",[`
|
|
${oe}-submenu-arrow,
|
|
${oe}-submenu-expand-icon
|
|
`]:{opacity:0},[`${oe}-item-icon, ${X}`]:{margin:0,fontSize:we,lineHeight:`${re}px`,"+ span":{display:"inline-block",opacity:0}}},[`${oe}-item-icon, ${X}`]:{display:"inline-block"},"&-tooltip":{pointerEvents:"none",[`${oe}-item-icon, ${X}`]:{display:"none"},"a, a:hover":{color:V}},[`${oe}-item-group-title`]:Object.assign(Object.assign({},C.vS),{paddingInline:Ce})}}]};const ae=ue=>{const{componentCls:oe,motionDurationSlow:X,motionDurationMid:re,motionEaseInOut:V,motionEaseOut:ne,iconCls:Z,iconSize:$,iconMarginInlineEnd:se}=ue;return{[`${oe}-item, ${oe}-submenu-title`]:{position:"relative",display:"block",margin:0,whiteSpace:"nowrap",cursor:"pointer",transition:[`border-color ${X}`,`background ${X}`,`padding ${X} ${V}`].join(","),[`${oe}-item-icon, ${Z}`]:{minWidth:$,fontSize:$,transition:[`font-size ${re} ${ne}`,`margin ${X} ${V}`,`color ${X}`].join(","),"+ span":{marginInlineStart:se,opacity:1,transition:[`opacity ${X} ${V}`,`margin ${X}`,`color ${X}`].join(",")}},[`${oe}-item-icon`]:Object.assign({},(0,C.Ro)()),[`&${oe}-item-only-child`]:{[`> ${Z}, > ${oe}-item-icon`]:{marginInlineEnd:0}}},[`${oe}-item-disabled, ${oe}-submenu-disabled`]:{background:"none !important",cursor:"not-allowed","&::after":{borderColor:"transparent !important"},a:{color:"inherit !important"},[`> ${oe}-submenu-title`]:{color:"inherit !important",cursor:"not-allowed"}}}},le=ue=>{const{componentCls:oe,motionDurationSlow:X,motionEaseInOut:re,borderRadius:V,menuArrowSize:ne,menuArrowOffset:Z}=ue;return{[`${oe}-submenu`]:{"&-expand-icon, &-arrow":{position:"absolute",top:"50%",insetInlineEnd:ue.margin,width:ne,color:"currentcolor",transform:"translateY(-50%)",transition:`transform ${X} ${re}, opacity ${X}`},"&-arrow":{"&::before, &::after":{position:"absolute",width:ne*.6,height:ne*.15,backgroundColor:"currentcolor",borderRadius:V,transition:[`background ${X} ${re}`,`transform ${X} ${re}`,`top ${X} ${re}`,`color ${X} ${re}`].join(","),content:'""'},"&::before":{transform:`rotate(45deg) translateY(-${Z})`},"&::after":{transform:`rotate(-45deg) translateY(${Z})`}}}}},_e=ue=>{const{antCls:oe,componentCls:X,fontSize:re,motionDurationSlow:V,motionDurationMid:ne,motionEaseInOut:Z,paddingXS:$,padding:se,colorSplit:q,lineWidth:ie,zIndexPopup:de,borderRadiusLG:me,subMenuItemBorderRadius:Ce,menuArrowSize:Oe,menuArrowOffset:Ne,lineType:we,menuPanelMaskInset:ce,groupTitleLineHeight:ye,groupTitleFontSize:Se}=ue;return[{"":{[`${X}`]:Object.assign(Object.assign({},(0,C.dF)()),{"&-hidden":{display:"none"}})},[`${X}-submenu-hidden`]:{display:"none"}},{[X]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},(0,C.Wf)(ue)),(0,C.dF)()),{marginBottom:0,paddingInlineStart:0,fontSize:re,lineHeight:0,listStyle:"none",outline:"none",transition:`width ${V} cubic-bezier(0.2, 0, 0, 1) 0s`,"ul, ol":{margin:0,padding:0,listStyle:"none"},"&-overflow":{display:"flex",[`${X}-item`]:{flex:"none"}},[`${X}-item, ${X}-submenu, ${X}-submenu-title`]:{borderRadius:ue.itemBorderRadius},[`${X}-item-group-title`]:{padding:`${$}px ${se}px`,fontSize:Se,lineHeight:ye,transition:`all ${V}`},[`&-horizontal ${X}-submenu`]:{transition:[`border-color ${V} ${Z}`,`background ${V} ${Z}`].join(",")},[`${X}-submenu, ${X}-submenu-inline`]:{transition:[`border-color ${V} ${Z}`,`background ${V} ${Z}`,`padding ${ne} ${Z}`].join(",")},[`${X}-submenu ${X}-sub`]:{cursor:"initial",transition:[`background ${V} ${Z}`,`padding ${V} ${Z}`].join(",")},[`${X}-title-content`]:{transition:`color ${V}`},[`${X}-item a`]:{"&::before":{position:"absolute",inset:0,backgroundColor:"transparent",content:'""'}},[`${X}-item-divider`]:{overflow:"hidden",lineHeight:0,borderColor:q,borderStyle:we,borderWidth:0,borderTopWidth:ie,marginBlock:ie,padding:0,"&-dashed":{borderStyle:"dashed"}}}),ae(ue)),{[`${X}-item-group`]:{[`${X}-item-group-list`]:{margin:0,padding:0,[`${X}-item, ${X}-submenu-title`]:{paddingInline:`${re*2}px ${se}px`}}},"&-submenu":{"&-popup":{position:"absolute",zIndex:de,borderRadius:me,boxShadow:"none",transformOrigin:"0 0",[`&${X}-submenu`]:{background:"transparent"},"&::before":{position:"absolute",inset:`${ce}px 0 0`,zIndex:-1,width:"100%",height:"100%",opacity:0,content:'""'}},"&-placement-rightTop::before":{top:0,insetInlineStart:ce},"\n &-placement-leftTop,\n &-placement-bottomRight,\n ":{transformOrigin:"100% 0"},"\n &-placement-leftBottom,\n &-placement-topRight,\n ":{transformOrigin:"100% 100%"},"\n &-placement-rightBottom,\n &-placement-topLeft,\n ":{transformOrigin:"0 100%"},"\n &-placement-bottomLeft,\n &-placement-rightTop,\n ":{transformOrigin:"0 0"},"\n &-placement-leftTop,\n &-placement-leftBottom\n ":{paddingInlineEnd:ue.paddingXS},"\n &-placement-rightTop,\n &-placement-rightBottom\n ":{paddingInlineStart:ue.paddingXS},"\n &-placement-topRight,\n &-placement-topLeft\n ":{paddingBottom:ue.paddingXS},"\n &-placement-bottomRight,\n &-placement-bottomLeft\n ":{paddingTop:ue.paddingXS},[`> ${X}`]:Object.assign(Object.assign(Object.assign({borderRadius:me},ae(ue)),le(ue)),{[`${X}-item, ${X}-submenu > ${X}-submenu-title`]:{borderRadius:Ce},[`${X}-submenu-title::after`]:{transition:`transform ${V} ${Z}`}})}}),le(ue)),{[`&-inline-collapsed ${X}-submenu-arrow,
|
|
&-inline ${X}-submenu-arrow`]:{"&::before":{transform:`rotate(-45deg) translateX(${Ne})`},"&::after":{transform:`rotate(45deg) translateX(-${Ne})`}},[`${X}-submenu-open${X}-submenu-inline > ${X}-submenu-title > ${X}-submenu-arrow`]:{transform:`translateY(-${Oe*.2}px)`,"&::after":{transform:`rotate(-45deg) translateX(-${Ne})`},"&::before":{transform:`rotate(45deg) translateX(${Ne})`}}})},{[`${oe}-layout-header`]:{[X]:{lineHeight:"inherit"}}}]};var he=(ue,oe)=>(0,L.Z)("Menu",re=>{if(oe===!1)return[];const{colorBgElevated:V,colorPrimary:ne,colorTextLightSolid:Z,controlHeightLG:$,fontSize:se,darkItemColor:q,darkDangerItemColor:ie,darkItemBg:de,darkSubMenuItemBg:me,darkItemSelectedColor:Ce,darkItemSelectedBg:Oe,darkDangerItemSelectedBg:Ne,darkItemHoverBg:we,darkGroupTitleColor:ce,darkItemHoverColor:ye,darkItemDisabledColor:Se,darkDangerItemHoverColor:xe,darkDangerItemSelectedColor:je,darkDangerItemActiveBg:ut}=re,lt=se/7*5,$e=(0,w.TS)(re,{menuArrowSize:lt,menuHorizontalHeight:$*1.15,menuArrowOffset:`${lt*.25}px`,menuPanelMaskInset:-7,menuSubMenuBg:V}),pt=(0,w.TS)($e,{itemColor:q,itemHoverColor:ye,groupTitleColor:ce,itemSelectedColor:Ce,itemBg:de,popupBg:de,subMenuItemBg:me,itemActiveBg:"transparent",itemSelectedBg:Oe,activeBarHeight:0,activeBarBorderWidth:0,itemHoverBg:we,itemDisabledColor:Se,dangerItemColor:ie,dangerItemHoverColor:xe,dangerItemSelectedColor:je,dangerItemActiveBg:ut,dangerItemSelectedBg:Ne,menuSubMenuBg:me,horizontalItemSelectedColor:Z,horizontalItemSelectedBg:ne});return[_e($e),I($e),ee($e),G($e,"light"),G(pt,"dark"),B($e),(0,D.Z)($e),(0,b.oN)($e,"slide-up"),(0,b.oN)($e,"slide-down"),(0,S._y)($e,"zoom-big")]},re=>{const{colorPrimary:V,colorError:ne,colorTextDisabled:Z,colorErrorBg:$,colorText:se,colorTextDescription:q,colorBgContainer:ie,colorFillAlter:de,colorFillContent:me,lineWidth:Ce,lineWidthBold:Oe,controlItemBgActive:Ne,colorBgTextHover:we,controlHeightLG:ce,lineHeight:ye,colorBgElevated:Se,marginXXS:xe,padding:je,fontSize:ut,controlHeightSM:lt,fontSizeLG:$e,colorTextLightSolid:pt,colorErrorHover:xt}=re,St=new p.C(pt).setAlpha(.65).toRgbString();return{dropdownWidth:160,zIndexPopup:re.zIndexPopupBase+50,radiusItem:re.borderRadiusLG,itemBorderRadius:re.borderRadiusLG,radiusSubMenuItem:re.borderRadiusSM,subMenuItemBorderRadius:re.borderRadiusSM,colorItemText:se,itemColor:se,colorItemTextHover:se,itemHoverColor:se,colorItemTextHoverHorizontal:V,horizontalItemHoverColor:V,colorGroupTitle:q,groupTitleColor:q,colorItemTextSelected:V,itemSelectedColor:V,colorItemTextSelectedHorizontal:V,horizontalItemSelectedColor:V,colorItemBg:ie,itemBg:ie,colorItemBgHover:we,itemHoverBg:we,colorItemBgActive:me,itemActiveBg:Ne,colorSubItemBg:de,subMenuItemBg:de,colorItemBgSelected:Ne,itemSelectedBg:Ne,colorItemBgSelectedHorizontal:"transparent",horizontalItemSelectedBg:"transparent",colorActiveBarWidth:0,activeBarWidth:0,colorActiveBarHeight:Oe,activeBarHeight:Oe,colorActiveBarBorderSize:Ce,activeBarBorderWidth:Ce,colorItemTextDisabled:Z,itemDisabledColor:Z,colorDangerItemText:ne,dangerItemColor:ne,colorDangerItemTextHover:ne,dangerItemHoverColor:ne,colorDangerItemTextSelected:ne,dangerItemSelectedColor:ne,colorDangerItemBgActive:$,dangerItemActiveBg:$,colorDangerItemBgSelected:$,dangerItemSelectedBg:$,itemMarginInline:re.marginXXS,horizontalItemBorderRadius:0,horizontalItemHoverBg:"transparent",itemHeight:ce,groupTitleLineHeight:ye,collapsedWidth:ce*2,popupBg:Se,itemMarginBlock:xe,itemPaddingInline:je,horizontalLineHeight:`${ce*1.15}px`,iconSize:ut,iconMarginInlineEnd:lt-ut,collapsedIconSize:$e,groupTitleFontSize:ut,darkItemDisabledColor:new p.C(pt).setAlpha(.25).toRgbString(),darkItemColor:St,darkDangerItemColor:ne,darkItemBg:"#001529",darkSubMenuItemBg:"#000c17",darkItemSelectedColor:pt,darkItemSelectedBg:V,darkDangerItemSelectedBg:ne,darkItemHoverBg:"transparent",darkGroupTitleColor:St,darkItemHoverColor:pt,darkDangerItemHoverColor:xt,darkDangerItemSelectedColor:pt,darkDangerItemActiveBg:ne}},{deprecatedTokens:[["colorGroupTitle","groupTitleColor"],["radiusItem","itemBorderRadius"],["radiusSubMenuItem","subMenuItemBorderRadius"],["colorItemText","itemColor"],["colorItemTextHover","itemHoverColor"],["colorItemTextHoverHorizontal","horizontalItemHoverColor"],["colorItemTextSelected","itemSelectedColor"],["colorItemTextSelectedHorizontal","horizontalItemSelectedColor"],["colorItemTextDisabled","itemDisabledColor"],["colorDangerItemText","dangerItemColor"],["colorDangerItemTextHover","dangerItemHoverColor"],["colorDangerItemTextSelected","dangerItemSelectedColor"],["colorDangerItemBgActive","dangerItemActiveBg"],["colorDangerItemBgSelected","dangerItemSelectedBg"],["colorItemBg","itemBg"],["colorItemBgHover","itemHoverBg"],["colorSubItemBg","subMenuItemBg"],["colorItemBgActive","itemActiveBg"],["colorItemBgSelectedHorizontal","horizontalItemSelectedBg"],["colorActiveBarWidth","activeBarWidth"],["colorActiveBarHeight","activeBarHeight"],["colorActiveBarBorderSize","activeBarBorderWidth"],["colorItemBgSelected","itemSelectedBg"]]})(ue),ve=function(ue,oe){var X={};for(var re in ue)Object.prototype.hasOwnProperty.call(ue,re)&&oe.indexOf(re)<0&&(X[re]=ue[re]);if(ue!=null&&typeof Object.getOwnPropertySymbols=="function")for(var V=0,re=Object.getOwnPropertySymbols(ue);V<re.length;V++)oe.indexOf(re[V])<0&&Object.prototype.propertyIsEnumerable.call(ue,re[V])&&(X[re[V]]=ue[re[V]]);return X},ge=(0,K.forwardRef)((ue,oe)=>{var X,re;const V=K.useContext(i.Z),ne=V||{},{getPrefixCls:Z,getPopupContainer:$,direction:se,menu:q}=K.useContext(A.E_),ie=Z(),{prefixCls:de,className:me,style:Ce,theme:Oe="light",expandIcon:Ne,_internalDisableMenuItemTitleTooltip:we,inlineCollapsed:ce,siderCollapsed:ye,items:Se,children:xe,rootClassName:je,mode:ut,selectable:lt,onClick:$e,overflowedIndicatorPopupClassName:pt}=ue,xt=ve(ue,["prefixCls","className","style","theme","expandIcon","_internalDisableMenuItemTitleTooltip","inlineCollapsed","siderCollapsed","items","children","rootClassName","mode","selectable","onClick","overflowedIndicatorPopupClassName"]),St=(0,c.Z)(xt,["collapsedWidth"]),ft=y(Se)||xe;(X=ne.validator)===null||X===void 0||X.call(ne,{mode:ut});const $t=(0,e.useEvent)(function(){var Yt;$e==null||$e.apply(void 0,arguments),(Yt=ne.onClick)===null||Yt===void 0||Yt.call(ne)}),Kt=ne.mode||ut,dt=lt!=null?lt:ne.selectable,ht=K.useMemo(()=>ye!==void 0?ye:ce,[ce,ye]),Ot={horizontal:{motionName:`${ie}-slide-up`},inline:(0,t.Z)(ie),other:{motionName:`${ie}-zoom-big`}},mt=Z("menu",de||ne.prefixCls),[Gt,er]=he(mt,!V),ct=M()(`${mt}-${Oe}`,q==null?void 0:q.className,me);let rr;if(typeof Ne=="function")rr=Ne;else if(Ne===null||Ne===!1)rr=null;else if(ne.expandIcon===null||ne.expandIcon===!1)rr=null;else{const Yt=Ne!=null?Ne:ne.expandIcon;rr=(0,h.Tm)(Yt,{className:M()(`${mt}-submenu-expand-icon`,(0,h.l$)(Yt)?(re=Yt.props)===null||re===void 0?void 0:re.className:"")})}const Zt=K.useMemo(()=>({prefixCls:mt,inlineCollapsed:ht||!1,direction:se,firstLevel:!0,theme:Oe,mode:Kt,disableMenuItemTitleTooltip:we}),[mt,ht,se,we,Oe]);return Gt(K.createElement(i.Z.Provider,{value:null},K.createElement(n.Provider,{value:Zt},K.createElement(N.ZP,Object.assign({getPopupContainer:$,overflowedIndicator:K.createElement(d.Z,null),overflowedIndicatorPopupClassName:M()(mt,`${mt}-${Oe}`,pt),mode:Kt,selectable:dt,onClick:$t},St,{inlineCollapsed:ht,style:Object.assign(Object.assign({},q==null?void 0:q.style),Ce),className:ct,prefixCls:mt,direction:se,defaultMotions:Ot,expandIcon:rr,ref:oe,rootClassName:M()(je,er)}),ft))))});const fe=(0,K.forwardRef)((ue,oe)=>{const X=(0,K.useRef)(null),re=K.useContext(O.D);return(0,K.useImperativeHandle)(oe,()=>({menu:X.current,focus:V=>{var ne;(ne=X.current)===null||ne===void 0||ne.focus(V)}})),K.createElement(ge,Object.assign({ref:X},ue,re))});fe.Item=f,fe.SubMenu=l,fe.Divider=x,fe.ItemGroup=N.BW;var Ee=fe},93948:function(nt,Pe,z){"use strict";z.d(Pe,{Z:function(){return we}});var N=z(59301),K=z(29679),O=z(40001),E=z(19248),M=z(99267),A=z(92310),_=z.n(A),m=z(2738),x=z(36355),g=z(54476),c=z(33885),u=z(75931),h={percent:0,prefixCls:"rc-progress",strokeColor:"#2db7f5",strokeLinecap:"round",strokeWidth:1,trailColor:"#D9D9D9",trailWidth:1,gapPosition:"bottom"},r=function(){var ye=(0,N.useRef)([]),Se=(0,N.useRef)(null);return(0,N.useEffect)(function(){var xe=Date.now(),je=!1;ye.current.forEach(function(ut){if(ut){je=!0;var lt=ut.style;lt.transitionDuration=".3s, .3s, .3s, .06s",Se.current&&xe-Se.current<100&&(lt.transitionDuration="0s, 0s")}}),je&&(Se.current=Date.now())}),ye.current},n=["className","percent","prefixCls","strokeColor","strokeLinecap","strokeWidth","style","trailColor","trailWidth","transition"],a=function(ye){var Se=(0,c.Z)((0,c.Z)({},h),ye),xe=Se.className,je=Se.percent,ut=Se.prefixCls,lt=Se.strokeColor,$e=Se.strokeLinecap,pt=Se.strokeWidth,xt=Se.style,St=Se.trailColor,ft=Se.trailWidth,$t=Se.transition,Kt=(0,u.Z)(Se,n);delete Kt.gapPosition;var dt=Array.isArray(je)?je:[je],ht=Array.isArray(lt)?lt:[lt],Ot=r(),mt=pt/2,Gt=100-pt/2,er="M ".concat($e==="round"?mt:0,",").concat(mt,`
|
|
L `).concat($e==="round"?Gt:100,",").concat(mt),ct="0 0 100 ".concat(pt),rr=0;return N.createElement("svg",(0,g.Z)({className:_()("".concat(ut,"-line"),xe),viewBox:ct,preserveAspectRatio:"none",style:xt},Kt),N.createElement("path",{className:"".concat(ut,"-line-trail"),d:er,strokeLinecap:$e,stroke:St,strokeWidth:ft||pt,fillOpacity:"0"}),dt.map(function(Zt,Yt){var kt=1;switch($e){case"round":kt=1-pt/100;break;case"square":kt=1-pt/2/100;break;default:kt=1;break}var Xe={strokeDasharray:"".concat(Zt*kt,"px, 100px"),strokeDashoffset:"-".concat(rr,"px"),transition:$t||"stroke-dashoffset 0.3s ease 0s, stroke-dasharray .3s ease 0s, stroke 0.3s linear"},T=ht[Yt]||ht[ht.length-1];return rr+=Zt,N.createElement("path",{key:Yt,className:"".concat(ut,"-line-path"),d:er,strokeLinecap:$e,stroke:T,strokeWidth:pt,fillOpacity:"0",ref:function(H){Ot[Yt]=H},style:Xe})}))},f=a,s=z(76190),l=z(42978),d=z(47273),e=0,t=(0,d.Z)();function i(){var ce;return t?(ce=e,e+=1):ce="TEST_OR_SSR",ce}var o=function(ce){var ye=N.useState(),Se=(0,l.Z)(ye,2),xe=Se[0],je=Se[1];return N.useEffect(function(){je("rc_progress_".concat(i()))},[]),ce||xe},v=function(ye){var Se=ye.bg,xe=ye.children;return N.createElement("div",{style:{width:"100%",height:"100%",background:Se}},xe)};function y(ce,ye){return Object.keys(ce).map(function(Se){var xe=parseFloat(Se),je="".concat(Math.floor(xe*ye),"%");return"".concat(ce[Se]," ").concat(je)})}var p=N.forwardRef(function(ce,ye){var Se=ce.prefixCls,xe=ce.color,je=ce.gradientId,ut=ce.radius,lt=ce.style,$e=ce.ptg,pt=ce.strokeLinecap,xt=ce.strokeWidth,St=ce.size,ft=ce.gapDegree,$t=xe&&(0,s.Z)(xe)==="object",Kt=$t?"#FFF":void 0,dt=St/2,ht=N.createElement("circle",{className:"".concat(Se,"-circle-path"),r:ut,cx:dt,cy:dt,stroke:Kt,strokeLinecap:pt,strokeWidth:xt,opacity:$e===0?0:1,style:lt,ref:ye});if(!$t)return ht;var Ot="".concat(je,"-conic"),mt=ft?"".concat(180+ft/2,"deg"):"0deg",Gt=y(xe,(360-ft)/360),er=y(xe,1),ct="conic-gradient(from ".concat(mt,", ").concat(Gt.join(", "),")"),rr="linear-gradient(to ".concat(ft?"bottom":"top",", ").concat(er.join(", "),")");return N.createElement(N.Fragment,null,N.createElement("mask",{id:Ot},ht),N.createElement("foreignObject",{x:0,y:0,width:St,height:St,mask:"url(#".concat(Ot,")")},N.createElement(v,{bg:rr},N.createElement(v,{bg:ct}))))}),C=p,D=100,b=function(ye,Se,xe,je,ut,lt,$e,pt,xt,St){var ft=arguments.length>10&&arguments[10]!==void 0?arguments[10]:0,$t=xe/100*360*((360-lt)/360),Kt=lt===0?0:{bottom:0,top:180,left:90,right:-90}[$e],dt=(100-je)/100*Se;xt==="round"&&je!==100&&(dt+=St/2,dt>=Se&&(dt=Se-.01));var ht=D/2;return{stroke:typeof pt=="string"?pt:void 0,strokeDasharray:"".concat(Se,"px ").concat(ye),strokeDashoffset:dt+ft,transform:"rotate(".concat(ut+$t+Kt,"deg)"),transformOrigin:"".concat(ht,"px ").concat(ht,"px"),transition:"stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s, stroke-width .06s ease .3s, opacity .3s ease 0s",fillOpacity:0}},S=["id","prefixCls","steps","strokeWidth","trailWidth","gapDegree","gapPosition","trailColor","strokeLinecap","style","className","strokeColor","percent"];function L(ce){var ye=ce!=null?ce:[];return Array.isArray(ye)?ye:[ye]}var w=function(ye){var Se=(0,c.Z)((0,c.Z)({},h),ye),xe=Se.id,je=Se.prefixCls,ut=Se.steps,lt=Se.strokeWidth,$e=Se.trailWidth,pt=Se.gapDegree,xt=pt===void 0?0:pt,St=Se.gapPosition,ft=Se.trailColor,$t=Se.strokeLinecap,Kt=Se.style,dt=Se.className,ht=Se.strokeColor,Ot=Se.percent,mt=(0,u.Z)(Se,S),Gt=D/2,er=o(xe),ct="".concat(er,"-gradient"),rr=Gt-lt/2,Zt=Math.PI*2*rr,Yt=xt>0?90+xt/2:-90,kt=Zt*((360-xt)/360),Xe=(0,s.Z)(ut)==="object"?ut:{count:ut,space:2},T=Xe.count,U=Xe.space,H=L(Ot),k=L(ht),te=k.find(function(Je){return Je&&(0,s.Z)(Je)==="object"}),J=te&&(0,s.Z)(te)==="object",Q=J?"butt":$t,Te=b(Zt,kt,0,100,Yt,xt,St,ft,Q,lt),pe=r(),Be=function(){var Ke=0;return H.map(function(qe,Ze){var Ge=k[Ze]||k[k.length-1],Ve=b(Zt,kt,Ke,qe,Yt,xt,St,Ge,Q,lt);return Ke+=qe,N.createElement(C,{key:Ze,color:Ge,ptg:qe,radius:rr,prefixCls:je,gradientId:ct,style:Ve,strokeLinecap:Q,strokeWidth:lt,gapDegree:xt,ref:function(Ye){pe[Ze]=Ye},size:D})}).reverse()},ke=function(){var Ke=Math.round(T*(H[0]/100)),qe=100/T,Ze=0;return new Array(T).fill(null).map(function(Ge,Ve){var at=Ve<=Ke-1?k[0]:ft,Ye=at&&(0,s.Z)(at)==="object"?"url(#".concat(ct,")"):void 0,gt=b(Zt,kt,Ze,qe,Yt,xt,St,at,"butt",lt,U);return Ze+=(kt-gt.strokeDashoffset+U)*100/kt,N.createElement("circle",{key:Ve,className:"".concat(je,"-circle-path"),r:rr,cx:Gt,cy:Gt,stroke:Ye,strokeWidth:lt,opacity:1,style:gt,ref:function(Nt){pe[Ve]=Nt}})})};return N.createElement("svg",(0,g.Z)({className:_()("".concat(je,"-circle"),dt),viewBox:"0 0 ".concat(D," ").concat(D),style:Kt,id:xe,role:"presentation"},mt),!T&&N.createElement("circle",{className:"".concat(je,"-circle-trail"),r:rr,cx:Gt,cy:Gt,stroke:ft,strokeLinecap:Q,strokeWidth:$e||lt,style:Te}),T?ke():Be())},P=w,I={Line:f,Circle:P},R=z(6848),B=z(30071);function F(ce){return!ce||ce<0?0:ce>100?100:ce}function W(ce){let{success:ye,successPercent:Se}=ce,xe=Se;return ye&&"progress"in ye&&(xe=ye.progress),ye&&"percent"in ye&&(xe=ye.percent),xe}const G=ce=>{let{percent:ye,success:Se,successPercent:xe}=ce;const je=F(W({success:Se,successPercent:xe}));return[je,F(F(ye)-je)]},j=ce=>{let{success:ye={},strokeColor:Se}=ce;const{strokeColor:xe}=ye;return[xe||B.presetPrimaryColors.green,Se||null]},Y=(ce,ye,Se)=>{var xe,je,ut,lt;let $e=-1,pt=-1;if(ye==="step"){const xt=Se.steps,St=Se.strokeWidth;typeof ce=="string"||typeof ce=="undefined"?($e=ce==="small"?2:14,pt=St!=null?St:8):typeof ce=="number"?[$e,pt]=[ce,ce]:[$e=14,pt=8]=ce,$e*=xt}else if(ye==="line"){const xt=Se==null?void 0:Se.strokeWidth;typeof ce=="string"||typeof ce=="undefined"?pt=xt||(ce==="small"?6:8):typeof ce=="number"?[$e,pt]=[ce,ce]:[$e=-1,pt=8]=ce}else(ye==="circle"||ye==="dashboard")&&(typeof ce=="string"||typeof ce=="undefined"?[$e,pt]=ce==="small"?[60,60]:[120,120]:typeof ce=="number"?[$e,pt]=[ce,ce]:($e=(je=(xe=ce[0])!==null&&xe!==void 0?xe:ce[1])!==null&&je!==void 0?je:120,pt=(lt=(ut=ce[0])!==null&&ut!==void 0?ut:ce[1])!==null&<!==void 0?lt:120));return[$e,pt]},ee=3,ae=ce=>ee/ce*100;var _e=ce=>{const{prefixCls:ye,trailColor:Se=null,strokeLinecap:xe="round",gapPosition:je,gapDegree:ut,width:lt=120,type:$e,children:pt,success:xt,size:St=lt}=ce,[ft,$t]=Y(St,"circle");let{strokeWidth:Kt}=ce;Kt===void 0&&(Kt=Math.max(ae(ft),6));const dt={width:ft,height:$t,fontSize:ft*.15+6},ht=N.useMemo(()=>{if(ut||ut===0)return ut;if($e==="dashboard")return 75},[ut,$e]),Ot=je||$e==="dashboard"&&"bottom"||void 0,mt=Object.prototype.toString.call(ce.strokeColor)==="[object Object]",Gt=j({success:xt,strokeColor:ce.strokeColor}),er=_()(`${ye}-inner`,{[`${ye}-circle-gradient`]:mt}),ct=N.createElement(P,{percent:G(ce),strokeWidth:Kt,trailWidth:Kt,strokeColor:Gt,strokeLinecap:xe,trailColor:Se,prefixCls:ye,gapDegree:ht,gapPosition:Ot});return N.createElement("div",{className:er,style:dt},ft<=20?N.createElement(R.Z,{title:pt},N.createElement("span",null,ct)):N.createElement(N.Fragment,null,ct,pt))},he=function(ce,ye){var Se={};for(var xe in ce)Object.prototype.hasOwnProperty.call(ce,xe)&&ye.indexOf(xe)<0&&(Se[xe]=ce[xe]);if(ce!=null&&typeof Object.getOwnPropertySymbols=="function")for(var je=0,xe=Object.getOwnPropertySymbols(ce);je<xe.length;je++)ye.indexOf(xe[je])<0&&Object.prototype.propertyIsEnumerable.call(ce,xe[je])&&(Se[xe[je]]=ce[xe[je]]);return Se};const ve=ce=>{let ye=[];return Object.keys(ce).forEach(Se=>{const xe=parseFloat(Se.replace(/%/g,""));isNaN(xe)||ye.push({key:xe,value:ce[Se]})}),ye=ye.sort((Se,xe)=>Se.key-xe.key),ye.map(Se=>{let{key:xe,value:je}=Se;return`${je} ${xe}%`}).join(", ")},Ae=(ce,ye)=>{const{from:Se=B.presetPrimaryColors.blue,to:xe=B.presetPrimaryColors.blue,direction:je=ye==="rtl"?"to left":"to right"}=ce,ut=he(ce,["from","to","direction"]);if(Object.keys(ut).length!==0){const lt=ve(ut);return{backgroundImage:`linear-gradient(${je}, ${lt})`}}return{backgroundImage:`linear-gradient(${je}, ${Se}, ${xe})`}};var fe=ce=>{const{prefixCls:ye,direction:Se,percent:xe,size:je,strokeWidth:ut,strokeColor:lt,strokeLinecap:$e="round",children:pt,trailColor:xt=null,success:St}=ce,ft=lt&&typeof lt!="string"?Ae(lt,Se):{backgroundColor:lt},$t=$e==="square"||$e==="butt"?0:void 0,Kt={backgroundColor:xt||void 0,borderRadius:$t},dt=je!=null?je:[-1,ut||(je==="small"?6:8)],[ht,Ot]=Y(dt,"line",{strokeWidth:ut}),mt=Object.assign({width:`${F(xe)}%`,height:Ot,borderRadius:$t},ft),Gt=W(ce),er={width:`${F(Gt)}%`,height:Ot,borderRadius:$t,backgroundColor:St==null?void 0:St.strokeColor},ct={width:ht<0?"100%":ht,height:Ot};return N.createElement(N.Fragment,null,N.createElement("div",{className:`${ye}-outer`,style:ct},N.createElement("div",{className:`${ye}-inner`,style:Kt},N.createElement("div",{className:`${ye}-bg`,style:mt}),Gt!==void 0?N.createElement("div",{className:`${ye}-success-bg`,style:er}):null)),pt)},ue=ce=>{const{size:ye,steps:Se,percent:xe=0,strokeWidth:je=8,strokeColor:ut,trailColor:lt=null,prefixCls:$e,children:pt}=ce,xt=Math.round(Se*(xe/100)),St=ye==="small"?2:14,ft=ye!=null?ye:[St,je],[$t,Kt]=Y(ft,"step",{steps:Se,strokeWidth:je}),dt=$t/Se,ht=new Array(Se);for(let Ot=0;Ot<Se;Ot++){const mt=Array.isArray(ut)?ut[Ot]:ut;ht[Ot]=N.createElement("div",{key:Ot,className:_()(`${$e}-steps-item`,{[`${$e}-steps-item-active`]:Ot<=xt-1}),style:{backgroundColor:Ot<=xt-1?mt:lt,width:dt,height:Kt}})}return N.createElement("div",{className:`${$e}-steps-outer`},ht,pt)},oe=z(36237),X=z(17313),re=z(83116),V=z(37613);const ne=ce=>{const ye=ce?"100%":"-100%";return new oe.Keyframes(`antProgress${ce?"RTL":"LTR"}Active`,{"0%":{transform:`translateX(${ye}) scaleX(0)`,opacity:.1},"20%":{transform:`translateX(${ye}) scaleX(0)`,opacity:.5},to:{transform:"translateX(0) scaleX(1)",opacity:0}})},Z=ce=>{const{componentCls:ye,iconCls:Se}=ce;return{[ye]:Object.assign(Object.assign({},(0,X.Wf)(ce)),{display:"inline-block","&-rtl":{direction:"rtl"},"&-line":{position:"relative",width:"100%",fontSize:ce.fontSize,marginInlineEnd:ce.marginXS,marginBottom:ce.marginXS},[`${ye}-outer`]:{display:"inline-block",width:"100%"},[`&${ye}-show-info`]:{[`${ye}-outer`]:{marginInlineEnd:`calc(-2em - ${ce.marginXS}px)`,paddingInlineEnd:`calc(2em + ${ce.paddingXS}px)`}},[`${ye}-inner`]:{position:"relative",display:"inline-block",width:"100%",overflow:"hidden",verticalAlign:"middle",backgroundColor:ce.remainingColor,borderRadius:ce.lineBorderRadius},[`${ye}-inner:not(${ye}-circle-gradient)`]:{[`${ye}-circle-path`]:{stroke:ce.defaultColor}},[`${ye}-success-bg, ${ye}-bg`]:{position:"relative",backgroundColor:ce.defaultColor,borderRadius:ce.lineBorderRadius,transition:`all ${ce.motionDurationSlow} ${ce.motionEaseInOutCirc}`},[`${ye}-success-bg`]:{position:"absolute",insetBlockStart:0,insetInlineStart:0,backgroundColor:ce.colorSuccess},[`${ye}-text`]:{display:"inline-block",width:"2em",marginInlineStart:ce.marginXS,color:ce.colorText,lineHeight:1,whiteSpace:"nowrap",textAlign:"start",verticalAlign:"middle",wordBreak:"normal",[Se]:{fontSize:ce.fontSize}},[`&${ye}-status-active`]:{[`${ye}-bg::before`]:{position:"absolute",inset:0,backgroundColor:ce.colorBgContainer,borderRadius:ce.lineBorderRadius,opacity:0,animationName:ne(),animationDuration:ce.progressActiveMotionDuration,animationTimingFunction:ce.motionEaseOutQuint,animationIterationCount:"infinite",content:'""'}},[`&${ye}-rtl${ye}-status-active`]:{[`${ye}-bg::before`]:{animationName:ne(!0)}},[`&${ye}-status-exception`]:{[`${ye}-bg`]:{backgroundColor:ce.colorError},[`${ye}-text`]:{color:ce.colorError}},[`&${ye}-status-exception ${ye}-inner:not(${ye}-circle-gradient)`]:{[`${ye}-circle-path`]:{stroke:ce.colorError}},[`&${ye}-status-success`]:{[`${ye}-bg`]:{backgroundColor:ce.colorSuccess},[`${ye}-text`]:{color:ce.colorSuccess}},[`&${ye}-status-success ${ye}-inner:not(${ye}-circle-gradient)`]:{[`${ye}-circle-path`]:{stroke:ce.colorSuccess}}})}},$=ce=>{const{componentCls:ye,iconCls:Se}=ce;return{[ye]:{[`${ye}-circle-trail`]:{stroke:ce.remainingColor},[`&${ye}-circle ${ye}-inner`]:{position:"relative",lineHeight:1,backgroundColor:"transparent"},[`&${ye}-circle ${ye}-text`]:{position:"absolute",insetBlockStart:"50%",insetInlineStart:0,width:"100%",margin:0,padding:0,color:ce.circleTextColor,fontSize:ce.circleTextFontSize,lineHeight:1,whiteSpace:"normal",textAlign:"center",transform:"translateY(-50%)",[Se]:{fontSize:`${ce.fontSize/ce.fontSizeSM}em`}},[`${ye}-circle&-status-exception`]:{[`${ye}-text`]:{color:ce.colorError}},[`${ye}-circle&-status-success`]:{[`${ye}-text`]:{color:ce.colorSuccess}}},[`${ye}-inline-circle`]:{lineHeight:1,[`${ye}-inner`]:{verticalAlign:"bottom"}}}},se=ce=>{const{componentCls:ye}=ce;return{[ye]:{[`${ye}-steps`]:{display:"inline-block","&-outer":{display:"flex",flexDirection:"row",alignItems:"center"},"&-item":{flexShrink:0,minWidth:ce.progressStepMinWidth,marginInlineEnd:ce.progressStepMarginInlineEnd,backgroundColor:ce.remainingColor,transition:`all ${ce.motionDurationSlow}`,"&-active":{backgroundColor:ce.defaultColor}}}}}},q=ce=>{const{componentCls:ye,iconCls:Se}=ce;return{[ye]:{[`${ye}-small&-line, ${ye}-small&-line ${ye}-text ${Se}`]:{fontSize:ce.fontSizeSM}}}};var ie=(0,re.Z)("Progress",ce=>{const ye=ce.marginXXS/2,Se=(0,V.TS)(ce,{progressStepMarginInlineEnd:ye,progressStepMinWidth:ye,progressActiveMotionDuration:"2.4s"});return[Z(Se),$(Se),se(Se),q(Se)]},ce=>({circleTextColor:ce.colorText,defaultColor:ce.colorInfo,remainingColor:ce.colorFillSecondary,lineBorderRadius:100,circleTextFontSize:"1em"})),de=function(ce,ye){var Se={};for(var xe in ce)Object.prototype.hasOwnProperty.call(ce,xe)&&ye.indexOf(xe)<0&&(Se[xe]=ce[xe]);if(ce!=null&&typeof Object.getOwnPropertySymbols=="function")for(var je=0,xe=Object.getOwnPropertySymbols(ce);je<xe.length;je++)ye.indexOf(xe[je])<0&&Object.prototype.propertyIsEnumerable.call(ce,xe[je])&&(Se[xe[je]]=ce[xe[je]]);return Se};const me=null,Ce=["normal","exception","active","success"];var Ne=N.forwardRef((ce,ye)=>{const{prefixCls:Se,className:xe,rootClassName:je,steps:ut,strokeColor:lt,percent:$e=0,size:pt="default",showInfo:xt=!0,type:St="line",status:ft,format:$t,style:Kt}=ce,dt=de(ce,["prefixCls","className","rootClassName","steps","strokeColor","percent","size","showInfo","type","status","format","style"]),ht=N.useMemo(()=>{var H,k;const te=W(ce);return parseInt(te!==void 0?(H=te!=null?te:0)===null||H===void 0?void 0:H.toString():(k=$e!=null?$e:0)===null||k===void 0?void 0:k.toString(),10)},[$e,ce.success,ce.successPercent]),Ot=N.useMemo(()=>!Ce.includes(ft)&&ht>=100?"success":ft||"normal",[ft,ht]),{getPrefixCls:mt,direction:Gt,progress:er}=N.useContext(x.E_),ct=mt("progress",Se),[rr,Zt]=ie(ct),Yt=N.useMemo(()=>{if(!xt)return null;const H=W(ce);let k;const te=$t||(Q=>`${Q}%`),J=St==="line";return $t||Ot!=="exception"&&Ot!=="success"?k=te(F($e),F(H)):Ot==="exception"?k=J?N.createElement(E.Z,null):N.createElement(M.Z,null):Ot==="success"&&(k=J?N.createElement(K.Z,null):N.createElement(O.Z,null)),N.createElement("span",{className:`${ct}-text`,title:typeof k=="string"?k:void 0},k)},[xt,$e,ht,Ot,St,ct,$t]),kt=Array.isArray(lt)?lt[0]:lt,Xe=typeof lt=="string"||Array.isArray(lt)?lt:void 0;let T;St==="line"?T=ut?N.createElement(ue,Object.assign({},ce,{strokeColor:Xe,prefixCls:ct,steps:ut}),Yt):N.createElement(fe,Object.assign({},ce,{strokeColor:kt,prefixCls:ct,direction:Gt}),Yt):(St==="circle"||St==="dashboard")&&(T=N.createElement(_e,Object.assign({},ce,{strokeColor:kt,prefixCls:ct,progressStatus:Ot}),Yt));const U=_()(ct,`${ct}-status-${Ot}`,`${ct}-${St==="dashboard"&&"circle"||ut&&"steps"||St}`,{[`${ct}-inline-circle`]:St==="circle"&&Y(pt,"circle")[0]<=20,[`${ct}-show-info`]:xt,[`${ct}-${pt}`]:typeof pt=="string",[`${ct}-rtl`]:Gt==="rtl"},er==null?void 0:er.className,xe,je,Zt);return rr(N.createElement("div",Object.assign({ref:ye,style:Object.assign(Object.assign({},er==null?void 0:er.style),Kt),className:U,role:"progressbar","aria-valuenow":ht},(0,m.Z)(dt,["trailColor","strokeWidth","width","gapDegree","gapPosition","strokeLinecap","success","successPercent"])),T))}),we=Ne},13570:function(nt,Pe,z){"use strict";z.d(Pe,{Z:function(){return F}});var N=z(54476),K=z(59301),O={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M908.1 353.1l-253.9-36.9L540.7 86.1c-3.1-6.3-8.2-11.4-14.5-14.5-15.8-7.8-35-1.3-42.9 14.5L369.8 316.2l-253.9 36.9c-7 1-13.4 4.3-18.3 9.3a32.05 32.05 0 00.6 45.3l183.7 179.1-43.4 252.9a31.95 31.95 0 0046.4 33.7L512 754l227.1 119.4c6.2 3.3 13.4 4.4 20.3 3.2 17.4-3 29.1-19.5 26.1-36.9l-43.4-252.9 183.7-179.1c5-4.9 8.3-11.3 9.3-18.3 2.7-17.5-9.5-33.7-27-36.3z"}}]},name:"star",theme:"filled"},E=O,M=z(85221),A=function(G,j){return K.createElement(M.Z,(0,N.Z)({},G,{ref:j,icon:E}))},_=K.forwardRef(A),m=_,x=z(92310),g=z.n(x),c=z(20068),u=z(42978),h=z(75931),r=z(18929),n=z(10228),a=z(26112);function f(W,G){var j=W.disabled,Y=W.prefixCls,ee=W.character,ae=W.characterRender,le=W.index,_e=W.count,he=W.value,ve=W.allowHalf,Ae=W.focused,ge=W.onHover,fe=W.onClick,Ee=function($){ge($,le)},ue=function($){fe($,le)},oe=function($){$.keyCode===n.Z.ENTER&&fe($,le)},X=le+1,re=new Set([Y]);he===0&&le===0&&Ae?re.add("".concat(Y,"-focused")):ve&&he+.5>=X&&he<X?(re.add("".concat(Y,"-half")),re.add("".concat(Y,"-active")),Ae&&re.add("".concat(Y,"-focused"))):(X<=he?re.add("".concat(Y,"-full")):re.add("".concat(Y,"-zero")),X===he&&Ae&&re.add("".concat(Y,"-focused")));var V=typeof ee=="function"?ee(W):ee,ne=K.createElement("li",{className:g()(Array.from(re)),ref:G},K.createElement("div",{onClick:j?null:ue,onKeyDown:j?null:oe,onMouseMove:j?null:Ee,role:"radio","aria-checked":he>le?"true":"false","aria-posinset":le+1,"aria-setsize":_e,tabIndex:j?-1:0},K.createElement("div",{className:"".concat(Y,"-first")},V),K.createElement("div",{className:"".concat(Y,"-second")},V)));return ae&&(ne=ae(ne,W)),ne}var s=K.forwardRef(f);function l(){var W=K.useRef({});function G(Y){return W.current[Y]}function j(Y){return function(ee){W.current[Y]=ee}}return[G,j]}function d(W){var G=W.pageXOffset,j="scrollLeft";if(typeof G!="number"){var Y=W.document;G=Y.documentElement[j],typeof G!="number"&&(G=Y.body[j])}return G}function e(W){var G,j,Y=W.ownerDocument,ee=Y.body,ae=Y&&Y.documentElement,le=W.getBoundingClientRect();return G=le.left,j=le.top,G-=ae.clientLeft||ee.clientLeft||0,j-=ae.clientTop||ee.clientTop||0,{left:G,top:j}}function t(W){var G=e(W),j=W.ownerDocument,Y=j.defaultView||j.parentWindow;return G.left+=d(Y),G.left}var i=["prefixCls","className","defaultValue","value","count","allowHalf","allowClear","character","characterRender","disabled","direction","tabIndex","autoFocus","onHoverChange","onChange","onFocus","onBlur","onKeyDown","onMouseLeave"];function o(W,G){var j,Y=W.prefixCls,ee=Y===void 0?"rc-rate":Y,ae=W.className,le=W.defaultValue,_e=W.value,he=W.count,ve=he===void 0?5:he,Ae=W.allowHalf,ge=Ae===void 0?!1:Ae,fe=W.allowClear,Ee=fe===void 0?!0:fe,ue=W.character,oe=ue===void 0?"\u2605":ue,X=W.characterRender,re=W.disabled,V=W.direction,ne=V===void 0?"ltr":V,Z=W.tabIndex,$=Z===void 0?0:Z,se=W.autoFocus,q=W.onHoverChange,ie=W.onChange,de=W.onFocus,me=W.onBlur,Ce=W.onKeyDown,Oe=W.onMouseLeave,Ne=(0,h.Z)(W,i),we=l(),ce=(0,u.Z)(we,2),ye=ce[0],Se=ce[1],xe=K.useRef(null),je=function(){if(!re){var Q;(Q=xe.current)===null||Q===void 0||Q.focus()}};K.useImperativeHandle(G,function(){return{focus:je,blur:function(){if(!re){var Q;(Q=xe.current)===null||Q===void 0||Q.blur()}}}});var ut=(0,r.Z)(le||0,{value:_e}),lt=(0,u.Z)(ut,2),$e=lt[0],pt=lt[1],xt=(0,r.Z)(null),St=(0,u.Z)(xt,2),ft=St[0],$t=St[1],Kt=function(Q,Te){var pe=ne==="rtl",Be=Q+1;if(ge){var ke=ye(Q),Je=t(ke),Ke=ke.clientWidth;(pe&&Te-Je>Ke/2||!pe&&Te-Je<Ke/2)&&(Be-=.5)}return Be},dt=function(Q){pt(Q),ie==null||ie(Q)},ht=K.useState(!1),Ot=(0,u.Z)(ht,2),mt=Ot[0],Gt=Ot[1],er=function(){Gt(!0),de==null||de()},ct=function(){Gt(!1),me==null||me()},rr=K.useState(null),Zt=(0,u.Z)(rr,2),Yt=Zt[0],kt=Zt[1],Xe=function(Q,Te){var pe=Kt(Te,Q.pageX);pe!==ft&&(kt(pe),$t(null)),q==null||q(pe)},T=function(Q){re||(kt(null),$t(null),q==null||q(void 0)),Q&&(Oe==null||Oe(Q))},U=function(Q,Te){var pe=Kt(Te,Q.pageX),Be=!1;Ee&&(Be=pe===$e),T(),dt(Be?0:pe),$t(Be?pe:null)},H=function(Q){var Te=Q.keyCode,pe=ne==="rtl",Be=$e;Te===n.Z.RIGHT&&Be<ve&&!pe?(ge?Be+=.5:Be+=1,dt(Be),Q.preventDefault()):Te===n.Z.LEFT&&Be>0&&!pe||Te===n.Z.RIGHT&&Be>0&&pe?(ge?Be-=.5:Be-=1,dt(Be),Q.preventDefault()):Te===n.Z.LEFT&&Be<ve&&pe&&(ge?Be+=.5:Be+=1,dt(Be),Q.preventDefault()),Ce==null||Ce(Q)};K.useEffect(function(){se&&!re&&je()},[]);var k=new Array(ve).fill(0).map(function(J,Q){return K.createElement(s,{ref:Se(Q),index:Q,count:ve,disabled:re,prefixCls:"".concat(ee,"-star"),allowHalf:ge,value:Yt===null?$e:Yt,onClick:U,onHover:Xe,key:J||Q,character:oe,characterRender:X,focused:mt})}),te=g()(ee,ae,(j={},(0,c.Z)(j,"".concat(ee,"-disabled"),re),(0,c.Z)(j,"".concat(ee,"-rtl"),ne==="rtl"),j));return K.createElement("ul",(0,N.Z)({className:te,onMouseLeave:T,tabIndex:re?-1:$,onFocus:re?null:er,onBlur:re?null:ct,onKeyDown:re?null:H,ref:xe,role:"radiogroup"},(0,a.Z)(Ne,{aria:!0,data:!0,attr:!0})),k)}var v=K.forwardRef(o),y=v,p=z(36355),C=z(6848),D=z(17313),b=z(83116),S=z(37613);const L=W=>{const{componentCls:G}=W;return{[`${G}-star`]:{position:"relative",display:"inline-block",color:"inherit",cursor:"pointer","&:not(:last-child)":{marginInlineEnd:W.marginXS},"> div":{transition:`all ${W.motionDurationMid}, outline 0s`,"&:hover":{transform:W.starHoverScale},"&:focus":{outline:0},"&:focus-visible":{outline:`${W.lineWidth}px dashed ${W.starColor}`,transform:W.starHoverScale}},"&-first, &-second":{color:W.starBg,transition:`all ${W.motionDurationMid}`,userSelect:"none",[W.iconCls]:{verticalAlign:"middle"}},"&-first":{position:"absolute",top:0,insetInlineStart:0,width:"50%",height:"100%",overflow:"hidden",opacity:0},[`&-half ${G}-star-first, &-half ${G}-star-second`]:{opacity:1},[`&-half ${G}-star-first, &-full ${G}-star-second`]:{color:"inherit"}}}},w=W=>({[`&-rtl${W.componentCls}`]:{direction:"rtl"}}),P=W=>{const{componentCls:G}=W;return{[G]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},(0,D.Wf)(W)),{display:"inline-block",margin:0,padding:0,color:W.starColor,fontSize:W.starSize,lineHeight:"unset",listStyle:"none",outline:"none",[`&-disabled${G} ${G}-star`]:{cursor:"default","> div:hover":{transform:"scale(1)"}}}),L(W)),{[`+ ${G}-text`]:{display:"inline-block",marginInlineStart:W.marginXS,fontSize:W.fontSize}}),w(W))}};var I=(0,b.Z)("Rate",W=>{const G=(0,S.TS)(W,{});return[P(G)]},W=>({starColor:W.yellow6,starSize:W.controlHeightLG*.5,starHoverScale:"scale(1.1)",starBg:W.colorFillContent})),R=function(W,G){var j={};for(var Y in W)Object.prototype.hasOwnProperty.call(W,Y)&&G.indexOf(Y)<0&&(j[Y]=W[Y]);if(W!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ee=0,Y=Object.getOwnPropertySymbols(W);ee<Y.length;ee++)G.indexOf(Y[ee])<0&&Object.prototype.propertyIsEnumerable.call(W,Y[ee])&&(j[Y[ee]]=W[Y[ee]]);return j},F=K.forwardRef((W,G)=>{const{prefixCls:j,className:Y,rootClassName:ee,style:ae,tooltips:le,character:_e=K.createElement(m,null)}=W,he=R(W,["prefixCls","className","rootClassName","style","tooltips","character"]),ve=(re,V)=>{let{index:ne}=V;return le?K.createElement(C.Z,{title:le[ne]},re):re},{getPrefixCls:Ae,direction:ge,rate:fe}=K.useContext(p.E_),Ee=Ae("rate",j),[ue,oe]=I(Ee),X=Object.assign(Object.assign({},fe==null?void 0:fe.style),ae);return ue(K.createElement(y,Object.assign({ref:G,character:_e,characterRender:ve},he,{className:g()(Y,ee,oe,fe==null?void 0:fe.className),style:X,prefixCls:Ee,direction:ge})))})},57809:function(nt,Pe,z){"use strict";var N=z(92310),K=z.n(N),O=z(77861),E=z(2738),M=z(59301),A=z(53487),_=z(62892),m=z(19080),x=z(36355),g=z(1684),c=z(93891),u=z(19716),h=z(32441),r=z(33234),n=z(14154),a=z(58582),f=z(84443),s=z(66339),l=function(o,v){var y={};for(var p in o)Object.prototype.hasOwnProperty.call(o,p)&&v.indexOf(p)<0&&(y[p]=o[p]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var C=0,p=Object.getOwnPropertySymbols(o);C<p.length;C++)v.indexOf(p[C])<0&&Object.prototype.propertyIsEnumerable.call(o,p[C])&&(y[p[C]]=o[p[C]]);return y};const d="SECRET_COMBOBOX_MODE_DO_NOT_USE",e=(o,v)=>{var y,{prefixCls:p,bordered:C=!0,className:D,rootClassName:b,getPopupContainer:S,popupClassName:L,dropdownClassName:w,listHeight:P=256,placement:I,listItemHeight:R=24,size:B,disabled:F,notFoundContent:W,status:G,builtinPlacements:j,dropdownMatchSelectWidth:Y,popupMatchSelectWidth:ee,direction:ae,style:le,allowClear:_e}=o,he=l(o,["prefixCls","bordered","className","rootClassName","getPopupContainer","popupClassName","dropdownClassName","listHeight","placement","listItemHeight","size","disabled","notFoundContent","status","builtinPlacements","dropdownMatchSelectWidth","popupMatchSelectWidth","direction","style","allowClear"]);const{getPopupContainer:ve,getPrefixCls:Ae,renderEmpty:ge,direction:fe,virtual:Ee,popupMatchSelectWidth:ue,popupOverflow:oe,select:X}=M.useContext(x.E_),re=Ae("select",p),V=Ae(),ne=ae!=null?ae:fe,{compactSize:Z,compactItemClassnames:$}=(0,r.ri)(re,ne),[se,q]=(0,n.Z)(re),ie=M.useMemo(()=>{const{mode:Ot}=he;if(Ot!=="combobox")return Ot===d?"combobox":Ot},[he.mode]),de=ie==="multiple"||ie==="tags",me=(0,f.Z)(he.suffixIcon,he.showArrow),Ce=(y=ee!=null?ee:Y)!==null&&y!==void 0?y:ue,{status:Oe,hasFeedback:Ne,isFormItemInput:we,feedbackIcon:ce}=M.useContext(h.aM),ye=(0,m.F)(Oe,G);let Se;W!==void 0?Se=W:ie==="combobox"?Se=null:Se=(ge==null?void 0:ge("Select"))||M.createElement(c.Z,{componentName:"Select"});const{suffixIcon:xe,itemIcon:je,removeIcon:ut,clearIcon:lt}=(0,s.Z)(Object.assign(Object.assign({},he),{multiple:de,hasFeedback:Ne,feedbackIcon:ce,showSuffixIcon:me,prefixCls:re,showArrow:he.showArrow,componentName:"Select"})),$e=_e===!0?{clearIcon:lt}:_e,pt=(0,E.Z)(he,["suffixIcon","itemIcon"]),xt=K()(L||w,{[`${re}-dropdown-${ne}`]:ne==="rtl"},b,q),St=(0,u.Z)(Ot=>{var mt;return(mt=B!=null?B:Z)!==null&&mt!==void 0?mt:Ot}),ft=M.useContext(g.Z),$t=F!=null?F:ft,Kt=K()({[`${re}-lg`]:St==="large",[`${re}-sm`]:St==="small",[`${re}-rtl`]:ne==="rtl",[`${re}-borderless`]:!C,[`${re}-in-form-item`]:we},(0,m.Z)(re,ye,Ne),$,X==null?void 0:X.className,D,b,q),dt=M.useMemo(()=>I!==void 0?I:ne==="rtl"?"bottomRight":"bottomLeft",[I,ne]),ht=(0,a.Z)(j,oe);return se(M.createElement(O.ZP,Object.assign({ref:v,virtual:Ee,showSearch:X==null?void 0:X.showSearch},pt,{style:Object.assign(Object.assign({},X==null?void 0:X.style),le),dropdownMatchSelectWidth:Ce,builtinPlacements:ht,transitionName:(0,_.m)(V,"slide-up",he.transitionName),listHeight:P,listItemHeight:R,mode:ie,prefixCls:re,placement:dt,direction:ne,suffixIcon:xe,menuItemSelectedIcon:je,removeIcon:ut,allowClear:$e,notFoundContent:Se,className:Kt,getPopupContainer:S||ve,dropdownClassName:xt,disabled:$t})))},t=M.forwardRef(e),i=(0,A.Z)(t);t.SECRET_COMBOBOX_MODE_DO_NOT_USE=d,t.Option=O.Wx,t.OptGroup=O.Xo,t._InternalPanelDoNotUseOrYouWillBeFired=i,Pe.default=t},14154:function(nt,Pe,z){"use strict";z.d(Pe,{Z:function(){return t}});var N=z(17313),K=z(74207),O=z(37613),E=z(83116),M=z(13826),A=z(92899);const _=i=>{const{optionHeight:o,optionFontSize:v,optionLineHeight:y,optionPadding:p}=i;return{position:"relative",display:"block",minHeight:o,padding:p,color:i.colorText,fontWeight:"normal",fontSize:v,lineHeight:y,boxSizing:"border-box"}};var x=i=>{const{antCls:o,componentCls:v}=i,y=`${v}-item`,p=`&${o}-slide-up-enter${o}-slide-up-enter-active`,C=`&${o}-slide-up-appear${o}-slide-up-appear-active`,D=`&${o}-slide-up-leave${o}-slide-up-leave-active`,b=`${v}-dropdown-placement-`;return[{[`${v}-dropdown`]:Object.assign(Object.assign({},(0,N.Wf)(i)),{position:"absolute",top:-9999,zIndex:i.zIndexPopup,boxSizing:"border-box",padding:i.paddingXXS,overflow:"hidden",fontSize:i.fontSize,fontVariant:"initial",backgroundColor:i.colorBgElevated,borderRadius:i.borderRadiusLG,outline:"none",boxShadow:i.boxShadowSecondary,[`
|
|
${p}${b}bottomLeft,
|
|
${C}${b}bottomLeft
|
|
`]:{animationName:M.fJ},[`
|
|
${p}${b}topLeft,
|
|
${C}${b}topLeft,
|
|
${p}${b}topRight,
|
|
${C}${b}topRight
|
|
`]:{animationName:M.Qt},[`${D}${b}bottomLeft`]:{animationName:M.Uw},[`
|
|
${D}${b}topLeft,
|
|
${D}${b}topRight
|
|
`]:{animationName:M.ly},"&-hidden":{display:"none"},[`${y}`]:Object.assign(Object.assign({},_(i)),{cursor:"pointer",transition:`background ${i.motionDurationSlow} ease`,borderRadius:i.borderRadiusSM,"&-group":{color:i.colorTextDescription,fontSize:i.fontSizeSM,cursor:"default"},"&-option":{display:"flex","&-content":Object.assign({flex:"auto"},N.vS),"&-state":{flex:"none",display:"flex",alignItems:"center"},[`&-active:not(${y}-option-disabled)`]:{backgroundColor:i.optionActiveBg},[`&-selected:not(${y}-option-disabled)`]:{color:i.optionSelectedColor,fontWeight:i.optionSelectedFontWeight,backgroundColor:i.optionSelectedBg,[`${y}-option-state`]:{color:i.colorPrimary}},"&-disabled":{[`&${y}-option-selected`]:{backgroundColor:i.colorBgContainerDisabled},color:i.colorTextDisabled,cursor:"not-allowed"},"&-grouped":{paddingInlineStart:i.controlPaddingHorizontal*2}}}),"&-rtl":{direction:"rtl"}})},(0,M.oN)(i,"slide-up"),(0,M.oN)(i,"slide-down"),(0,A.Fm)(i,"move-up"),(0,A.Fm)(i,"move-down")]};const g=2,c=i=>{let{controlHeightSM:o,controlHeight:v,lineWidth:y}=i;const p=(v-o)/2-y,C=Math.ceil(p/2);return[p,C]};function u(i,o){const{componentCls:v,iconCls:y}=i,p=`${v}-selection-overflow`,C=i.multipleSelectItemHeight,[D]=c(i),b=o?`${v}-${o}`:"";return{[`${v}-multiple${b}`]:{fontSize:i.fontSize,[p]:{position:"relative",display:"flex",flex:"auto",flexWrap:"wrap",maxWidth:"100%","&-item":{flex:"none",alignSelf:"center",maxWidth:"100%",display:"inline-flex"}},[`${v}-selector`]:{display:"flex",flexWrap:"wrap",alignItems:"center",padding:`${D-g}px ${g*2}px`,borderRadius:i.borderRadius,[`${v}-show-search&`]:{cursor:"text"},[`${v}-disabled&`]:{background:i.multipleSelectorBgDisabled,cursor:"not-allowed"},"&:after":{display:"inline-block",width:0,margin:`${g}px 0`,lineHeight:`${C}px`,visibility:"hidden",content:'"\\a0"'}},[`
|
|
&${v}-show-arrow ${v}-selector,
|
|
&${v}-allow-clear ${v}-selector
|
|
`]:{paddingInlineEnd:i.fontSizeIcon+i.controlPaddingHorizontal},[`${v}-selection-item`]:{position:"relative",display:"flex",flex:"none",boxSizing:"border-box",maxWidth:"100%",height:C,marginTop:g,marginBottom:g,lineHeight:`${C-i.lineWidth*2}px`,background:i.multipleItemBg,border:`${i.lineWidth}px ${i.lineType} ${i.multipleItemBorderColor}`,borderRadius:i.borderRadiusSM,cursor:"default",transition:`font-size ${i.motionDurationSlow}, line-height ${i.motionDurationSlow}, height ${i.motionDurationSlow}`,userSelect:"none",marginInlineEnd:g*2,paddingInlineStart:i.paddingXS,paddingInlineEnd:i.paddingXS/2,[`${v}-disabled&`]:{color:i.multipleItemColorDisabled,borderColor:i.multipleItemBorderColorDisabled,cursor:"not-allowed"},"&-content":{display:"inline-block",marginInlineEnd:i.paddingXS/2,overflow:"hidden",whiteSpace:"pre",textOverflow:"ellipsis"},"&-remove":Object.assign(Object.assign({},(0,N.Ro)()),{display:"inline-flex",alignItems:"center",color:i.colorIcon,fontWeight:"bold",fontSize:10,lineHeight:"inherit",cursor:"pointer",[`> ${y}`]:{verticalAlign:"-0.2em"},"&:hover":{color:i.colorIconHover}})},[`${p}-item + ${p}-item`]:{[`${v}-selection-search`]:{marginInlineStart:0}},[`${v}-selection-search`]:{display:"inline-flex",position:"relative",maxWidth:"100%",marginInlineStart:i.inputPaddingHorizontalBase-D,"\n &-input,\n &-mirror\n ":{height:C,fontFamily:i.fontFamily,lineHeight:`${C}px`,transition:`all ${i.motionDurationSlow}`},"&-input":{width:"100%",minWidth:4.1},"&-mirror":{position:"absolute",top:0,insetInlineStart:0,insetInlineEnd:"auto",zIndex:999,whiteSpace:"pre",visibility:"hidden"}},[`${v}-selection-placeholder `]:{position:"absolute",top:"50%",insetInlineStart:i.inputPaddingHorizontalBase,insetInlineEnd:i.inputPaddingHorizontalBase,transform:"translateY(-50%)",transition:`all ${i.motionDurationSlow}`}}}}var r=i=>{const{componentCls:o}=i,v=(0,O.TS)(i,{controlHeight:i.controlHeightSM,multipleSelectItemHeight:i.controlHeightXS,borderRadius:i.borderRadiusSM,borderRadiusSM:i.borderRadiusXS}),y=(0,O.TS)(i,{fontSize:i.fontSizeLG,controlHeight:i.controlHeightLG,multipleSelectItemHeight:i.multipleItemHeightLG,borderRadius:i.borderRadiusLG,borderRadiusSM:i.borderRadius}),[,p]=c(i);return[u(i),u(v,"sm"),{[`${o}-multiple${o}-sm`]:{[`${o}-selection-placeholder`]:{insetInline:i.controlPaddingHorizontalSM-i.lineWidth},[`${o}-selection-search`]:{marginInlineStart:p}}},u(y,"lg")]};function n(i,o){const{componentCls:v,inputPaddingHorizontalBase:y,borderRadius:p}=i,C=i.controlHeight-i.lineWidth*2,D=Math.ceil(i.fontSize*1.25),b=o?`${v}-${o}`:"";return{[`${v}-single${b}`]:{fontSize:i.fontSize,[`${v}-selector`]:Object.assign(Object.assign({},(0,N.Wf)(i)),{display:"flex",borderRadius:p,[`${v}-selection-search`]:{position:"absolute",top:0,insetInlineStart:y,insetInlineEnd:y,bottom:0,"&-input":{width:"100%"}},[`
|
|
${v}-selection-item,
|
|
${v}-selection-placeholder
|
|
`]:{padding:0,lineHeight:`${C}px`,transition:`all ${i.motionDurationSlow}, visibility 0s`,"@supports (-moz-appearance: meterbar)":{lineHeight:`${C}px`}},[`${v}-selection-item`]:{position:"relative",userSelect:"none"},[`${v}-selection-placeholder`]:{transition:"none",pointerEvents:"none"},[["&:after",`${v}-selection-item:after`,`${v}-selection-placeholder:after`].join(",")]:{display:"inline-block",width:0,visibility:"hidden",content:'"\\a0"'}}),[`
|
|
&${v}-show-arrow ${v}-selection-item,
|
|
&${v}-show-arrow ${v}-selection-placeholder
|
|
`]:{paddingInlineEnd:D},[`&${v}-open ${v}-selection-item`]:{color:i.colorTextPlaceholder},[`&:not(${v}-customize-input)`]:{[`${v}-selector`]:{width:"100%",height:i.controlHeight,padding:`0 ${y}px`,[`${v}-selection-search-input`]:{height:C},"&:after":{lineHeight:`${C}px`}}},[`&${v}-customize-input`]:{[`${v}-selector`]:{"&:after":{display:"none"},[`${v}-selection-search`]:{position:"static",width:"100%"},[`${v}-selection-placeholder`]:{position:"absolute",insetInlineStart:0,insetInlineEnd:0,padding:`0 ${y}px`,"&:after":{display:"none"}}}}}}}function a(i){const{componentCls:o}=i,v=i.controlPaddingHorizontalSM-i.lineWidth;return[n(i),n((0,O.TS)(i,{controlHeight:i.controlHeightSM,borderRadius:i.borderRadiusSM}),"sm"),{[`${o}-single${o}-sm`]:{[`&:not(${o}-customize-input)`]:{[`${o}-selection-search`]:{insetInlineStart:v,insetInlineEnd:v},[`${o}-selector`]:{padding:`0 ${v}px`},[`&${o}-show-arrow ${o}-selection-search`]:{insetInlineEnd:v+i.fontSize*1.5},[`
|
|
&${o}-show-arrow ${o}-selection-item,
|
|
&${o}-show-arrow ${o}-selection-placeholder
|
|
`]:{paddingInlineEnd:i.fontSize*1.5}}}},n((0,O.TS)(i,{controlHeight:i.singleItemHeightLG,fontSize:i.fontSizeLG,borderRadius:i.borderRadiusLG}),"lg")]}const f=i=>{const{componentCls:o,selectorBg:v}=i;return{position:"relative",backgroundColor:v,border:`${i.lineWidth}px ${i.lineType} ${i.colorBorder}`,transition:`all ${i.motionDurationMid} ${i.motionEaseInOut}`,input:{cursor:"pointer"},[`${o}-show-search&`]:{cursor:"text",input:{cursor:"auto",color:"inherit"}},[`${o}-disabled&`]:{color:i.colorTextDisabled,background:i.colorBgContainerDisabled,cursor:"not-allowed",[`${o}-multiple&`]:{background:i.multipleSelectorBgDisabled},input:{cursor:"not-allowed"}}}},s=function(i,o){let v=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;const{componentCls:y,borderHoverColor:p,outlineColor:C,antCls:D}=o,b=v?{[`${y}-selector`]:{borderColor:p}}:{};return{[i]:{[`&:not(${y}-disabled):not(${y}-customize-input):not(${D}-pagination-size-changer)`]:Object.assign(Object.assign({},b),{[`${y}-focused& ${y}-selector`]:{borderColor:p,boxShadow:`0 0 0 ${o.controlOutlineWidth}px ${C}`,outline:0},[`&:hover ${y}-selector`]:{borderColor:p}})}}},l=i=>{const{componentCls:o}=i;return{[`${o}-selection-search-input`]:{margin:0,padding:0,background:"transparent",border:"none",outline:"none",appearance:"none","&::-webkit-search-cancel-button":{display:"none","-webkit-appearance":"none"}}}},d=i=>{const{componentCls:o,inputPaddingHorizontalBase:v,iconCls:y}=i;return{[o]:Object.assign(Object.assign({},(0,N.Wf)(i)),{position:"relative",display:"inline-block",cursor:"pointer",[`&:not(${o}-customize-input) ${o}-selector`]:Object.assign(Object.assign({},f(i)),l(i)),[`${o}-selection-item`]:Object.assign({flex:1,fontWeight:"normal"},N.vS),[`${o}-selection-placeholder`]:Object.assign(Object.assign({},N.vS),{flex:1,color:i.colorTextPlaceholder,pointerEvents:"none"}),[`${o}-arrow`]:Object.assign(Object.assign({},(0,N.Ro)()),{position:"absolute",top:"50%",insetInlineStart:"auto",insetInlineEnd:v,height:i.fontSizeIcon,marginTop:-i.fontSizeIcon/2,color:i.colorTextQuaternary,fontSize:i.fontSizeIcon,lineHeight:1,textAlign:"center",pointerEvents:"none",display:"flex",alignItems:"center",[y]:{verticalAlign:"top",transition:`transform ${i.motionDurationSlow}`,"> svg":{verticalAlign:"top"},[`&:not(${o}-suffix)`]:{pointerEvents:"auto"}},[`${o}-disabled &`]:{cursor:"not-allowed"},"> *:not(:last-child)":{marginInlineEnd:8}}),[`${o}-clear`]:{position:"absolute",top:"50%",insetInlineStart:"auto",insetInlineEnd:v,zIndex:1,display:"inline-block",width:i.fontSizeIcon,height:i.fontSizeIcon,marginTop:-i.fontSizeIcon/2,color:i.colorTextQuaternary,fontSize:i.fontSizeIcon,fontStyle:"normal",lineHeight:1,textAlign:"center",textTransform:"none",background:i.clearBg,cursor:"pointer",opacity:0,transition:`color ${i.motionDurationMid} ease, opacity ${i.motionDurationSlow} ease`,textRendering:"auto","&:before":{display:"block"},"&:hover":{color:i.colorTextTertiary}},"&:hover":{[`${o}-clear`]:{opacity:1}}}),[`${o}-has-feedback`]:{[`${o}-clear`]:{insetInlineEnd:v+i.fontSize+i.paddingXS}}}},e=i=>{const{componentCls:o}=i;return[{[o]:{[`&-borderless ${o}-selector`]:{backgroundColor:"transparent !important",borderColor:"transparent !important",boxShadow:"none !important"},[`&${o}-in-form-item`]:{width:"100%"}}},d(i),a(i),r(i),x(i),{[`${o}-rtl`]:{direction:"rtl"}},s(o,(0,O.TS)(i,{borderHoverColor:i.colorPrimaryHover,outlineColor:i.controlOutline})),s(`${o}-status-error`,(0,O.TS)(i,{borderHoverColor:i.colorErrorHover,outlineColor:i.colorErrorOutline}),!0),s(`${o}-status-warning`,(0,O.TS)(i,{borderHoverColor:i.colorWarningHover,outlineColor:i.colorWarningOutline}),!0),(0,K.c)(i,{borderElCls:`${o}-selector`,focusElCls:`${o}-focused`})]};var t=(0,E.Z)("Select",(i,o)=>{let{rootPrefixCls:v}=o;const y=(0,O.TS)(i,{rootPrefixCls:v,inputPaddingHorizontalBase:i.paddingSM-1,multipleSelectItemHeight:i.multipleItemHeight});return[e(y)]},i=>{const{fontSize:o,lineHeight:v,controlHeight:y,controlPaddingHorizontal:p,zIndexPopupBase:C,colorText:D,fontWeightStrong:b,controlItemBgActive:S,controlItemBgHover:L,colorBgContainer:w,colorFillSecondary:P,controlHeightLG:I,controlHeightSM:R,colorBgContainerDisabled:B,colorTextDisabled:F}=i;return{zIndexPopup:C+50,optionSelectedColor:D,optionSelectedFontWeight:b,optionSelectedBg:S,optionActiveBg:L,optionPadding:`${(y-o*v)/2}px ${p}px`,optionFontSize:o,optionLineHeight:v,optionHeight:y,selectorBg:w,clearBg:w,singleItemHeightLG:I,multipleItemBg:P,multipleItemBorderColor:"transparent",multipleItemHeight:R,multipleItemHeightLG:y,multipleSelectorBgDisabled:B,multipleItemColorDisabled:F,multipleItemBorderColorDisabled:"transparent"}})},58582:function(nt,Pe,z){"use strict";z.d(Pe,{Z:function(){return K}});const N=O=>{const M={overflow:{adjustX:!0,adjustY:!0,shiftY:!0},htmlRegion:O==="scroll"?"scroll":"visible",_experimental:{dynamicInset:!0}};return{bottomLeft:Object.assign(Object.assign({},M),{points:["tl","bl"],offset:[0,4]}),bottomRight:Object.assign(Object.assign({},M),{points:["tr","br"],offset:[0,4]}),topLeft:Object.assign(Object.assign({},M),{points:["bl","tl"],offset:[0,-4]}),topRight:Object.assign(Object.assign({},M),{points:["br","tr"],offset:[0,-4]})}};function K(O,E){return O||N(E)}},84443:function(nt,Pe,z){"use strict";z.d(Pe,{Z:function(){return N}});function N(K,O){return O!==void 0?O:K!==null}},66339:function(nt,Pe,z){"use strict";z.d(Pe,{Z:function(){return m}});var N=z(40001),K=z(19248),O=z(99267),E=z(84105),M=z(58617),A=z(47472),_=z(59301);function m(x){let{suffixIcon:g,clearIcon:c,menuItemSelectedIcon:u,removeIcon:h,loading:r,multiple:n,hasFeedback:a,prefixCls:f,showSuffixIcon:s,feedbackIcon:l,showArrow:d,componentName:e}=x;const t=c!=null?c:_.createElement(K.Z,null),i=p=>g===null&&!a&&!d?null:_.createElement(_.Fragment,null,s!==!1&&p,a&&l);let o=null;if(g!==void 0)o=i(g);else if(r)o=i(_.createElement(M.Z,{spin:!0}));else{const p=`${f}-suffix`;o=C=>{let{open:D,showSearch:b}=C;return i(D&&b?_.createElement(A.Z,{className:p}):_.createElement(E.Z,{className:p}))}}let v=null;u!==void 0?v=u:n?v=_.createElement(N.Z,null):v=null;let y=null;return h!==void 0?y=h:y=_.createElement(O.Z,null),{clearIcon:t,suffixIcon:o,itemIcon:v,removeIcon:y}}},61621:function(nt,Pe,z){"use strict";z.d(Pe,{Z:function(){return oe}});var N=z(92310),K=z.n(N),O=z(59301),E=z(36355),M=z(2738),_=X=>{const{prefixCls:re,className:V,style:ne,size:Z,shape:$}=X,se=K()({[`${re}-lg`]:Z==="large",[`${re}-sm`]:Z==="small"}),q=K()({[`${re}-circle`]:$==="circle",[`${re}-square`]:$==="square",[`${re}-round`]:$==="round"}),ie=O.useMemo(()=>typeof Z=="number"?{width:Z,height:Z,lineHeight:`${Z}px`}:{},[Z]);return O.createElement("span",{className:K()(re,se,q,V),style:Object.assign(Object.assign({},ie),ne)})},m=z(36237),x=z(83116),g=z(37613);const c=new m.Keyframes("ant-skeleton-loading",{"0%":{backgroundPosition:"100% 50%"},"100%":{backgroundPosition:"0 50%"}}),u=X=>({height:X,lineHeight:`${X}px`}),h=X=>Object.assign({width:X},u(X)),r=X=>({background:X.skeletonLoadingBackground,backgroundSize:"400% 100%",animationName:c,animationDuration:X.skeletonLoadingMotionDuration,animationTimingFunction:"ease",animationIterationCount:"infinite"}),n=X=>Object.assign({width:X*5,minWidth:X*5},u(X)),a=X=>{const{skeletonAvatarCls:re,gradientFromColor:V,controlHeight:ne,controlHeightLG:Z,controlHeightSM:$}=X;return{[`${re}`]:Object.assign({display:"inline-block",verticalAlign:"top",background:V},h(ne)),[`${re}${re}-circle`]:{borderRadius:"50%"},[`${re}${re}-lg`]:Object.assign({},h(Z)),[`${re}${re}-sm`]:Object.assign({},h($))}},f=X=>{const{controlHeight:re,borderRadiusSM:V,skeletonInputCls:ne,controlHeightLG:Z,controlHeightSM:$,gradientFromColor:se}=X;return{[`${ne}`]:Object.assign({display:"inline-block",verticalAlign:"top",background:se,borderRadius:V},n(re)),[`${ne}-lg`]:Object.assign({},n(Z)),[`${ne}-sm`]:Object.assign({},n($))}},s=X=>Object.assign({width:X},u(X)),l=X=>{const{skeletonImageCls:re,imageSizeBase:V,gradientFromColor:ne,borderRadiusSM:Z}=X;return{[`${re}`]:Object.assign(Object.assign({display:"flex",alignItems:"center",justifyContent:"center",verticalAlign:"top",background:ne,borderRadius:Z},s(V*2)),{[`${re}-path`]:{fill:"#bfbfbf"},[`${re}-svg`]:Object.assign(Object.assign({},s(V)),{maxWidth:V*4,maxHeight:V*4}),[`${re}-svg${re}-svg-circle`]:{borderRadius:"50%"}}),[`${re}${re}-circle`]:{borderRadius:"50%"}}},d=(X,re,V)=>{const{skeletonButtonCls:ne}=X;return{[`${V}${ne}-circle`]:{width:re,minWidth:re,borderRadius:"50%"},[`${V}${ne}-round`]:{borderRadius:re}}},e=X=>Object.assign({width:X*2,minWidth:X*2},u(X)),t=X=>{const{borderRadiusSM:re,skeletonButtonCls:V,controlHeight:ne,controlHeightLG:Z,controlHeightSM:$,gradientFromColor:se}=X;return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({[`${V}`]:Object.assign({display:"inline-block",verticalAlign:"top",background:se,borderRadius:re,width:ne*2,minWidth:ne*2},e(ne))},d(X,ne,V)),{[`${V}-lg`]:Object.assign({},e(Z))}),d(X,Z,`${V}-lg`)),{[`${V}-sm`]:Object.assign({},e($))}),d(X,$,`${V}-sm`))},i=X=>{const{componentCls:re,skeletonAvatarCls:V,skeletonTitleCls:ne,skeletonParagraphCls:Z,skeletonButtonCls:$,skeletonInputCls:se,skeletonImageCls:q,controlHeight:ie,controlHeightLG:de,controlHeightSM:me,gradientFromColor:Ce,padding:Oe,marginSM:Ne,borderRadius:we,titleHeight:ce,blockRadius:ye,paragraphLiHeight:Se,controlHeightXS:xe,paragraphMarginTop:je}=X;return{[`${re}`]:{display:"table",width:"100%",[`${re}-header`]:{display:"table-cell",paddingInlineEnd:Oe,verticalAlign:"top",[`${V}`]:Object.assign({display:"inline-block",verticalAlign:"top",background:Ce},h(ie)),[`${V}-circle`]:{borderRadius:"50%"},[`${V}-lg`]:Object.assign({},h(de)),[`${V}-sm`]:Object.assign({},h(me))},[`${re}-content`]:{display:"table-cell",width:"100%",verticalAlign:"top",[`${ne}`]:{width:"100%",height:ce,background:Ce,borderRadius:ye,[`+ ${Z}`]:{marginBlockStart:me}},[`${Z}`]:{padding:0,"> li":{width:"100%",height:Se,listStyle:"none",background:Ce,borderRadius:ye,"+ li":{marginBlockStart:xe}}},[`${Z}> li:last-child:not(:first-child):not(:nth-child(2))`]:{width:"61%"}},[`&-round ${re}-content`]:{[`${ne}, ${Z} > li`]:{borderRadius:we}}},[`${re}-with-avatar ${re}-content`]:{[`${ne}`]:{marginBlockStart:Ne,[`+ ${Z}`]:{marginBlockStart:je}}},[`${re}${re}-element`]:Object.assign(Object.assign(Object.assign(Object.assign({display:"inline-block",width:"auto"},t(X)),a(X)),f(X)),l(X)),[`${re}${re}-block`]:{width:"100%",[`${$}`]:{width:"100%"},[`${se}`]:{width:"100%"}},[`${re}${re}-active`]:{[`
|
|
${ne},
|
|
${Z} > li,
|
|
${V},
|
|
${$},
|
|
${se},
|
|
${q}
|
|
`]:Object.assign({},r(X))}}};var o=(0,x.Z)("Skeleton",X=>{const{componentCls:re}=X,V=(0,g.TS)(X,{skeletonAvatarCls:`${re}-avatar`,skeletonTitleCls:`${re}-title`,skeletonParagraphCls:`${re}-paragraph`,skeletonButtonCls:`${re}-button`,skeletonInputCls:`${re}-input`,skeletonImageCls:`${re}-image`,imageSizeBase:X.controlHeight*1.5,borderRadius:100,skeletonLoadingBackground:`linear-gradient(90deg, ${X.gradientFromColor} 25%, ${X.gradientToColor} 37%, ${X.gradientFromColor} 63%)`,skeletonLoadingMotionDuration:"1.4s"});return[i(V)]},X=>{const{colorFillContent:re,colorFill:V}=X,ne=re,Z=V;return{color:ne,colorGradientEnd:Z,gradientFromColor:ne,gradientToColor:Z,titleHeight:X.controlHeight/2,blockRadius:X.borderRadiusSM,paragraphMarginTop:X.marginLG+X.marginXXS,paragraphLiHeight:X.controlHeight/2}},{deprecatedTokens:[["color","gradientFromColor"],["colorGradientEnd","gradientToColor"]]}),y=X=>{const{prefixCls:re,className:V,rootClassName:ne,active:Z,shape:$="circle",size:se="default"}=X,{getPrefixCls:q}=O.useContext(E.E_),ie=q("skeleton",re),[de,me]=o(ie),Ce=(0,M.Z)(X,["prefixCls","className"]),Oe=K()(ie,`${ie}-element`,{[`${ie}-active`]:Z},V,ne,me);return de(O.createElement("div",{className:Oe},O.createElement(_,Object.assign({prefixCls:`${ie}-avatar`,shape:$,size:se},Ce))))},C=X=>{const{prefixCls:re,className:V,rootClassName:ne,active:Z,block:$=!1,size:se="default"}=X,{getPrefixCls:q}=O.useContext(E.E_),ie=q("skeleton",re),[de,me]=o(ie),Ce=(0,M.Z)(X,["prefixCls"]),Oe=K()(ie,`${ie}-element`,{[`${ie}-active`]:Z,[`${ie}-block`]:$},V,ne,me);return de(O.createElement("div",{className:Oe},O.createElement(_,Object.assign({prefixCls:`${ie}-button`,size:se},Ce))))};const D="M365.714286 329.142857q0 45.714286-32.036571 77.677714t-77.677714 32.036571-77.677714-32.036571-32.036571-77.677714 32.036571-77.677714 77.677714-32.036571 77.677714 32.036571 32.036571 77.677714zM950.857143 548.571429l0 256-804.571429 0 0-109.714286 182.857143-182.857143 91.428571 91.428571 292.571429-292.571429zM1005.714286 146.285714l-914.285714 0q-7.460571 0-12.873143 5.412571t-5.412571 12.873143l0 694.857143q0 7.460571 5.412571 12.873143t12.873143 5.412571l914.285714 0q7.460571 0 12.873143-5.412571t5.412571-12.873143l0-694.857143q0-7.460571-5.412571-12.873143t-12.873143-5.412571zM1097.142857 164.571429l0 694.857143q0 37.741714-26.843429 64.585143t-64.585143 26.843429l-914.285714 0q-37.741714 0-64.585143-26.843429t-26.843429-64.585143l0-694.857143q0-37.741714 26.843429-64.585143t64.585143-26.843429l914.285714 0q37.741714 0 64.585143 26.843429t26.843429 64.585143z";var S=X=>{const{prefixCls:re,className:V,rootClassName:ne,style:Z,active:$}=X,{getPrefixCls:se}=O.useContext(E.E_),q=se("skeleton",re),[ie,de]=o(q),me=K()(q,`${q}-element`,{[`${q}-active`]:$},V,ne,de);return ie(O.createElement("div",{className:me},O.createElement("div",{className:K()(`${q}-image`,V),style:Z},O.createElement("svg",{viewBox:"0 0 1098 1024",xmlns:"http://www.w3.org/2000/svg",className:`${q}-image-svg`},O.createElement("path",{d:D,className:`${q}-image-path`})))))},w=X=>{const{prefixCls:re,className:V,rootClassName:ne,active:Z,block:$,size:se="default"}=X,{getPrefixCls:q}=O.useContext(E.E_),ie=q("skeleton",re),[de,me]=o(ie),Ce=(0,M.Z)(X,["prefixCls"]),Oe=K()(ie,`${ie}-element`,{[`${ie}-active`]:Z,[`${ie}-block`]:$},V,ne,me);return de(O.createElement("div",{className:Oe},O.createElement(_,Object.assign({prefixCls:`${ie}-input`,size:se},Ce))))},P=z(54476),I={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM288 604a64 64 0 10128 0 64 64 0 10-128 0zm118-224a48 48 0 1096 0 48 48 0 10-96 0zm158 228a96 96 0 10192 0 96 96 0 10-192 0zm148-314a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"dot-chart",theme:"outlined"},R=I,B=z(85221),F=function(re,V){return O.createElement(B.Z,(0,P.Z)({},re,{ref:V,icon:R}))},W=O.forwardRef(F),G=W,Y=X=>{const{prefixCls:re,className:V,rootClassName:ne,style:Z,active:$,children:se}=X,{getPrefixCls:q}=O.useContext(E.E_),ie=q("skeleton",re),[de,me]=o(ie),Ce=K()(ie,`${ie}-element`,{[`${ie}-active`]:$},me,V,ne),Oe=se!=null?se:O.createElement(G,null);return de(O.createElement("div",{className:Ce},O.createElement("div",{className:K()(`${ie}-image`,V),style:Z},Oe)))},ee=z(94480),le=X=>{const re=q=>{const{width:ie,rows:de=2}=X;if(Array.isArray(ie))return ie[q];if(de-1===q)return ie},{prefixCls:V,className:ne,style:Z,rows:$}=X,se=(0,ee.Z)(Array($)).map((q,ie)=>O.createElement("li",{key:ie,style:{width:re(ie)}}));return O.createElement("ul",{className:K()(V,ne),style:Z},se)},he=X=>{let{prefixCls:re,className:V,width:ne,style:Z}=X;return O.createElement("h3",{className:K()(re,V),style:Object.assign({width:ne},Z)})};function ve(X){return X&&typeof X=="object"?X:{}}function Ae(X,re){return X&&!re?{size:"large",shape:"square"}:{size:"large",shape:"circle"}}function ge(X,re){return!X&&re?{width:"38%"}:X&&re?{width:"50%"}:{}}function fe(X,re){const V={};return(!X||!re)&&(V.width="61%"),!X&&re?V.rows=3:V.rows=2,V}const Ee=X=>{const{prefixCls:re,loading:V,className:ne,rootClassName:Z,style:$,children:se,avatar:q=!1,title:ie=!0,paragraph:de=!0,active:me,round:Ce}=X,{getPrefixCls:Oe,direction:Ne,skeleton:we}=O.useContext(E.E_),ce=Oe("skeleton",re),[ye,Se]=o(ce);if(V||!("loading"in X)){const xe=!!q,je=!!ie,ut=!!de;let lt;if(xe){const xt=Object.assign(Object.assign({prefixCls:`${ce}-avatar`},Ae(je,ut)),ve(q));lt=O.createElement("div",{className:`${ce}-header`},O.createElement(_,Object.assign({},xt)))}let $e;if(je||ut){let xt;if(je){const ft=Object.assign(Object.assign({prefixCls:`${ce}-title`},ge(xe,ut)),ve(ie));xt=O.createElement(he,Object.assign({},ft))}let St;if(ut){const ft=Object.assign(Object.assign({prefixCls:`${ce}-paragraph`},fe(xe,je)),ve(de));St=O.createElement(le,Object.assign({},ft))}$e=O.createElement("div",{className:`${ce}-content`},xt,St)}const pt=K()(ce,{[`${ce}-with-avatar`]:xe,[`${ce}-active`]:me,[`${ce}-rtl`]:Ne==="rtl",[`${ce}-round`]:Ce},we==null?void 0:we.className,ne,Z,Se);return ye(O.createElement("div",{className:pt,style:Object.assign(Object.assign({},we==null?void 0:we.style),$)},lt,$e))}return typeof se!="undefined"?se:null};Ee.Button=C,Ee.Avatar=y,Ee.Input=w,Ee.Image=S,Ee.Node=Y;var ue=Ee,oe=ue},31797:function(nt,Pe,z){"use strict";z.d(Pe,{default:function(){return o}});var N=z(59301),K=z(56762),O=z(92343),E=z(92310),M=z.n(E),A=z(36355),_=z(61621),x=v=>{const{value:y,formatter:p,precision:C,decimalSeparator:D,groupSeparator:b="",prefixCls:S}=v;let L;if(typeof p=="function")L=p(y);else{const w=String(y),P=w.match(/^(-?)(\d*)(\.(\d+))?$/);if(!P||w==="-")L=w;else{const I=P[1];let R=P[2]||"0",B=P[4]||"";R=R.replace(/\B(?=(\d{3})+(?!\d))/g,b),typeof C=="number"&&(B=B.padEnd(C,"0").slice(0,C>0?C:0)),B&&(B=`${D}${B}`),L=[N.createElement("span",{key:"int",className:`${S}-content-value-int`},I,R),B&&N.createElement("span",{key:"decimal",className:`${S}-content-value-decimal`},B)]}}return N.createElement("span",{className:`${S}-content-value`},L)},g=z(17313),c=z(83116),u=z(37613);const h=v=>{const{componentCls:y,marginXXS:p,padding:C,colorTextDescription:D,titleFontSize:b,colorTextHeading:S,contentFontSize:L,fontFamily:w}=v;return{[`${y}`]:Object.assign(Object.assign({},(0,g.Wf)(v)),{[`${y}-title`]:{marginBottom:p,color:D,fontSize:b},[`${y}-skeleton`]:{paddingTop:C},[`${y}-content`]:{color:S,fontSize:L,fontFamily:w,[`${y}-content-value`]:{display:"inline-block",direction:"ltr"},[`${y}-content-prefix, ${y}-content-suffix`]:{display:"inline-block"},[`${y}-content-prefix`]:{marginInlineEnd:p},[`${y}-content-suffix`]:{marginInlineStart:p}}})}};var r=(0,c.Z)("Statistic",v=>{const y=(0,u.TS)(v,{});return[h(y)]},v=>{const{fontSizeHeading3:y,fontSize:p}=v;return{titleFontSize:p,contentFontSize:y}}),a=v=>{const{prefixCls:y,className:p,rootClassName:C,style:D,valueStyle:b,value:S=0,title:L,valueRender:w,prefix:P,suffix:I,loading:R=!1,onMouseEnter:B,onMouseLeave:F,decimalSeparator:W=".",groupSeparator:G=","}=v,{getPrefixCls:j,direction:Y,statistic:ee}=N.useContext(A.E_),ae=j("statistic",y),[le,_e]=r(ae),he=N.createElement(x,Object.assign({decimalSeparator:W,groupSeparator:G,prefixCls:ae},v,{value:S})),ve=M()(ae,{[`${ae}-rtl`]:Y==="rtl"},ee==null?void 0:ee.className,p,C,_e);return le(N.createElement("div",{className:ve,style:Object.assign(Object.assign({},ee==null?void 0:ee.style),D),onMouseEnter:B,onMouseLeave:F},L&&N.createElement("div",{className:`${ae}-title`},L),N.createElement(_.Z,{paragraph:!1,loading:R,className:`${ae}-skeleton`},N.createElement("div",{style:b,className:`${ae}-content`},P&&N.createElement("span",{className:`${ae}-content-prefix`},P),w?w(he):he,I&&N.createElement("span",{className:`${ae}-content-suffix`},I)))))};const f=[["Y",1e3*60*60*24*365],["M",1e3*60*60*24*30],["D",1e3*60*60*24],["H",1e3*60*60],["m",1e3*60],["s",1e3],["S",1]];function s(v,y){let p=v;const C=/\[[^\]]*]/g,D=(y.match(C)||[]).map(w=>w.slice(1,-1)),b=y.replace(C,"[]"),S=f.reduce((w,P)=>{let[I,R]=P;if(w.includes(I)){const B=Math.floor(p/R);return p-=B*R,w.replace(new RegExp(`${I}+`,"g"),F=>{const W=F.length;return B.toString().padStart(W,"0")})}return w},b);let L=0;return S.replace(C,()=>{const w=D[L];return L+=1,w})}function l(v,y){const{format:p=""}=y,C=new Date(v).getTime(),D=Date.now(),b=Math.max(C-D,0);return s(b,p)}const d=1e3/30;function e(v){return new Date(v).getTime()}const t=v=>{const{value:y,format:p="HH:mm:ss",onChange:C,onFinish:D}=v,b=(0,K.Z)(),S=N.useRef(null),L=()=>{D==null||D(),S.current&&(clearInterval(S.current),S.current=null)},w=()=>{const R=e(y);R>=Date.now()&&(S.current=setInterval(()=>{b(),C==null||C(R-Date.now()),R<Date.now()&&L()},d))};N.useEffect(()=>(w(),()=>{S.current&&(clearInterval(S.current),S.current=null)}),[y]);const P=(R,B)=>l(R,Object.assign(Object.assign({},B),{format:p})),I=R=>(0,O.Tm)(R,{title:void 0});return N.createElement(a,Object.assign({},v,{valueRender:I,formatter:P}))};var i=N.memo(t);a.Countdown=i;var o=a},8378:function(nt,Pe){"use strict";const z=N=>({[N.componentCls]:{[`${N.antCls}-motion-collapse-legacy`]:{overflow:"hidden","&-active":{transition:`height ${N.motionDurationMid} ${N.motionEaseInOut},
|
|
opacity ${N.motionDurationMid} ${N.motionEaseInOut} !important`}},[`${N.antCls}-motion-collapse`]:{overflow:"hidden",transition:`height ${N.motionDurationMid} ${N.motionEaseInOut},
|
|
opacity ${N.motionDurationMid} ${N.motionEaseInOut} !important`}}});Pe.Z=z},92899:function(nt,Pe,z){"use strict";z.d(Pe,{Fm:function(){return u}});var N=z(36237),K=z(95406);const O=new N.Keyframes("antMoveDownIn",{"0%":{transform:"translate3d(0, 100%, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),E=new N.Keyframes("antMoveDownOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(0, 100%, 0)",transformOrigin:"0 0",opacity:0}}),M=new N.Keyframes("antMoveLeftIn",{"0%":{transform:"translate3d(-100%, 0, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),A=new N.Keyframes("antMoveLeftOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(-100%, 0, 0)",transformOrigin:"0 0",opacity:0}}),_=new N.Keyframes("antMoveRightIn",{"0%":{transform:"translate3d(100%, 0, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),m=new N.Keyframes("antMoveRightOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(100%, 0, 0)",transformOrigin:"0 0",opacity:0}}),x=new N.Keyframes("antMoveUpIn",{"0%":{transform:"translate3d(0, -100%, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),g=new N.Keyframes("antMoveUpOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(0, -100%, 0)",transformOrigin:"0 0",opacity:0}}),c={"move-up":{inKeyframes:x,outKeyframes:g},"move-down":{inKeyframes:O,outKeyframes:E},"move-left":{inKeyframes:M,outKeyframes:A},"move-right":{inKeyframes:_,outKeyframes:m}},u=(h,r)=>{const{antCls:n}=h,a=`${n}-${r}`,{inKeyframes:f,outKeyframes:s}=c[r];return[(0,K.R)(a,f,s,h.motionDurationMid),{[`
|
|
${a}-enter,
|
|
${a}-appear
|
|
`]:{opacity:0,animationTimingFunction:h.motionEaseOutCirc},[`${a}-leave`]:{animationTimingFunction:h.motionEaseInOutCirc}}]}},13826:function(nt,Pe,z){"use strict";z.d(Pe,{Qt:function(){return M},Uw:function(){return E},fJ:function(){return O},ly:function(){return A},oN:function(){return u}});var N=z(36237),K=z(95406);const O=new N.Keyframes("antSlideUpIn",{"0%":{transform:"scaleY(0.8)",transformOrigin:"0% 0%",opacity:0},"100%":{transform:"scaleY(1)",transformOrigin:"0% 0%",opacity:1}}),E=new N.Keyframes("antSlideUpOut",{"0%":{transform:"scaleY(1)",transformOrigin:"0% 0%",opacity:1},"100%":{transform:"scaleY(0.8)",transformOrigin:"0% 0%",opacity:0}}),M=new N.Keyframes("antSlideDownIn",{"0%":{transform:"scaleY(0.8)",transformOrigin:"100% 100%",opacity:0},"100%":{transform:"scaleY(1)",transformOrigin:"100% 100%",opacity:1}}),A=new N.Keyframes("antSlideDownOut",{"0%":{transform:"scaleY(1)",transformOrigin:"100% 100%",opacity:1},"100%":{transform:"scaleY(0.8)",transformOrigin:"100% 100%",opacity:0}}),_=new N.Keyframes("antSlideLeftIn",{"0%":{transform:"scaleX(0.8)",transformOrigin:"0% 0%",opacity:0},"100%":{transform:"scaleX(1)",transformOrigin:"0% 0%",opacity:1}}),m=new N.Keyframes("antSlideLeftOut",{"0%":{transform:"scaleX(1)",transformOrigin:"0% 0%",opacity:1},"100%":{transform:"scaleX(0.8)",transformOrigin:"0% 0%",opacity:0}}),x=new N.Keyframes("antSlideRightIn",{"0%":{transform:"scaleX(0.8)",transformOrigin:"100% 0%",opacity:0},"100%":{transform:"scaleX(1)",transformOrigin:"100% 0%",opacity:1}}),g=new N.Keyframes("antSlideRightOut",{"0%":{transform:"scaleX(1)",transformOrigin:"100% 0%",opacity:1},"100%":{transform:"scaleX(0.8)",transformOrigin:"100% 0%",opacity:0}}),c={"slide-up":{inKeyframes:O,outKeyframes:E},"slide-down":{inKeyframes:M,outKeyframes:A},"slide-left":{inKeyframes:_,outKeyframes:m},"slide-right":{inKeyframes:x,outKeyframes:g}},u=(h,r)=>{const{antCls:n}=h,a=`${n}-${r}`,{inKeyframes:f,outKeyframes:s}=c[r];return[(0,K.R)(a,f,s,h.motionDurationMid),{[`
|
|
${a}-enter,
|
|
${a}-appear
|
|
`]:{transform:"scale(0)",transformOrigin:"0% 0%",opacity:0,animationTimingFunction:h.motionEaseOutQuint,"&-prepare":{transform:"scale(1)"}},[`${a}-leave`]:{animationTimingFunction:h.motionEaseInQuint}}]}},97774:function(nt,Pe,z){"use strict";Object.defineProperty(Pe,"__esModule",{value:!0}),Pe.default=void 0;var N=Object.assign||function(a){for(var f=1;f<arguments.length;f++){var s=arguments[f];for(var l in s)Object.prototype.hasOwnProperty.call(s,l)&&(a[l]=s[l])}return a},K=function(){function a(f,s){for(var l=0;l<s.length;l++){var d=s[l];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(f,d.key,d)}}return function(f,s,l){return s&&a(f.prototype,s),l&&a(f,l),f}}(),O=z(59301),E=c(O),M=z(12708),A=c(M),_=z(53291),m=c(_),x=z(47242),g=z(65429);function c(a){return a&&a.__esModule?a:{default:a}}function u(a,f){if(!(a instanceof f))throw new TypeError("Cannot call a class as a function")}function h(a,f){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return f&&(typeof f=="object"||typeof f=="function")?f:a}function r(a,f){if(typeof f!="function"&&f!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof f);a.prototype=Object.create(f&&f.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),f&&(Object.setPrototypeOf?Object.setPrototypeOf(a,f):a.__proto__=f)}var n=function(a){r(f,a);function f(s){u(this,f);var l=h(this,(f.__proto__||Object.getPrototypeOf(f)).call(this,s));return l.getEchartsInstance=function(){return l.echartsLib.getInstanceByDom(l.echartsElement)||l.echartsLib.init(l.echartsElement,l.props.theme,l.props.opts)},l.dispose=function(){if(l.echartsElement){try{(0,x.clear)(l.echartsElement)}catch(d){console.warn(d)}l.echartsLib.dispose(l.echartsElement)}},l.rerender=function(){var d=l.props,e=d.onEvents,t=d.onChartReady,i=l.renderEchartDom();l.bindEvents(i,e||{}),typeof t=="function"&&l.props.onChartReady(i),l.echartsElement&&(0,x.bind)(l.echartsElement,function(){try{i.resize()}catch(o){console.warn(o)}})},l.bindEvents=function(d,e){var t=function(v,y){typeof v=="string"&&typeof y=="function"&&d.on(v,function(p){y(p,d)})};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t(i,e[i])},l.renderEchartDom=function(){var d=l.getEchartsInstance();return d.setOption(l.props.option,l.props.notMerge||!1,l.props.lazyUpdate||!1),l.props.showLoading?d.showLoading(l.props.loadingOption||null):d.hideLoading(),d},l.echartsLib=s.echarts,l.echartsElement=null,l}return K(f,[{key:"componentDidMount",value:function(){this.rerender()}},{key:"componentDidUpdate",value:function(l){if(!(typeof this.props.shouldSetOption=="function"&&!this.props.shouldSetOption(l,this.props))){if(!(0,m.default)(l.theme,this.props.theme)||!(0,m.default)(l.opts,this.props.opts)||!(0,m.default)(l.onEvents,this.props.onEvents)){this.dispose(),this.rerender();return}var d=["option","notMerge","lazyUpdate","showLoading","loadingOption"];if(!(0,m.default)((0,g.pick)(this.props,d),(0,g.pick)(l,d))){var e=this.renderEchartDom();if(!(0,m.default)(l.style,this.props.style)||!(0,m.default)(l.className,this.props.className))try{e.resize()}catch(t){console.warn(t)}}}}},{key:"componentWillUnmount",value:function(){this.dispose()}},{key:"render",value:function(){var l=this,d=this.props,e=d.style,t=d.className,i=N({height:300},e);return E.default.createElement("div",{ref:function(v){l.echartsElement=v},style:i,className:"echarts-for-react "+t})}}]),f}(O.Component);Pe.default=n,n.propTypes={option:A.default.object.isRequired,echarts:A.default.object,notMerge:A.default.bool,lazyUpdate:A.default.bool,style:A.default.object,className:A.default.string,theme:A.default.oneOfType([A.default.string,A.default.object]),onChartReady:A.default.func,showLoading:A.default.bool,loadingOption:A.default.object,onEvents:A.default.object,opts:A.default.shape({devicePixelRatio:A.default.number,renderer:A.default.oneOf(["canvas","svg"]),width:A.default.oneOfType([A.default.number,A.default.oneOf([null,void 0,"auto"])]),height:A.default.oneOfType([A.default.number,A.default.oneOf([null,void 0,"auto"])])}),shouldSetOption:A.default.func},n.defaultProps={echarts:{},notMerge:!1,lazyUpdate:!1,style:{},className:"",theme:null,onChartReady:function(){},showLoading:!1,loadingOption:null,onEvents:{},opts:{},shouldSetOption:function(){return!0}}},42441:function(nt,Pe,z){"use strict";var N;N={value:!0},Pe.Z=void 0;var K=z(76411),O=A(K),E=z(97774),M=A(E);function A(c){return c&&c.__esModule?c:{default:c}}function _(c,u){if(!(c instanceof u))throw new TypeError("Cannot call a class as a function")}function m(c,u){if(!c)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return u&&(typeof u=="object"||typeof u=="function")?u:c}function x(c,u){if(typeof u!="function"&&u!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof u);c.prototype=Object.create(u&&u.prototype,{constructor:{value:c,enumerable:!1,writable:!0,configurable:!0}}),u&&(Object.setPrototypeOf?Object.setPrototypeOf(c,u):c.__proto__=u)}var g=function(c){x(u,c);function u(h){_(this,u);var r=m(this,(u.__proto__||Object.getPrototypeOf(u)).call(this,h));return r.echartsLib=O.default,r}return u}(M.default);Pe.Z=g},65429:function(nt,Pe){"use strict";Object.defineProperty(Pe,"__esModule",{value:!0});var z=Pe.pick=function(K,O){var E={};return O.forEach(function(M){E[M]=K[M]}),E}},48961:function(nt,Pe,z){(function(K,O){nt.exports=O(z(76411))})(this,function(N){return function(K){var O={};function E(M){if(O[M])return O[M].exports;var A=O[M]={i:M,l:!1,exports:{}};return K[M].call(A.exports,A,A.exports,E),A.l=!0,A.exports}return E.m=K,E.c=O,E.d=function(M,A,_){E.o(M,A)||Object.defineProperty(M,A,{configurable:!1,enumerable:!0,get:_})},E.n=function(M){var A=M&&M.__esModule?function(){return M.default}:function(){return M};return E.d(A,"a",A),A},E.o=function(M,A){return Object.prototype.hasOwnProperty.call(M,A)},E.p="",E(E.s=87)}([function(K,O){K.exports=N},function(K,O,E){(function(M){"use strict";var A={};A.exports=O,function(_){if(!m)var m=1e-6;if(!x)var x=typeof Float32Array!="undefined"?Float32Array:Array;if(!g)var g=Math.random;var c={};c.setMatrixArrayType=function(e){x=e},typeof _!="undefined"&&(_.glMatrix=c);var u=Math.PI/180;c.toRadian=function(e){return e*u};var h={};h.create=function(){var e=new x(2);return e[0]=0,e[1]=0,e},h.clone=function(e){var t=new x(2);return t[0]=e[0],t[1]=e[1],t},h.fromValues=function(e,t){var i=new x(2);return i[0]=e,i[1]=t,i},h.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e},h.set=function(e,t,i){return e[0]=t,e[1]=i,e},h.add=function(e,t,i){return e[0]=t[0]+i[0],e[1]=t[1]+i[1],e},h.subtract=function(e,t,i){return e[0]=t[0]-i[0],e[1]=t[1]-i[1],e},h.sub=h.subtract,h.multiply=function(e,t,i){return e[0]=t[0]*i[0],e[1]=t[1]*i[1],e},h.mul=h.multiply,h.divide=function(e,t,i){return e[0]=t[0]/i[0],e[1]=t[1]/i[1],e},h.div=h.divide,h.min=function(e,t,i){return e[0]=Math.min(t[0],i[0]),e[1]=Math.min(t[1],i[1]),e},h.max=function(e,t,i){return e[0]=Math.max(t[0],i[0]),e[1]=Math.max(t[1],i[1]),e},h.scale=function(e,t,i){return e[0]=t[0]*i,e[1]=t[1]*i,e},h.scaleAndAdd=function(e,t,i,o){return e[0]=t[0]+i[0]*o,e[1]=t[1]+i[1]*o,e},h.distance=function(e,t){var i=t[0]-e[0],o=t[1]-e[1];return Math.sqrt(i*i+o*o)},h.dist=h.distance,h.squaredDistance=function(e,t){var i=t[0]-e[0],o=t[1]-e[1];return i*i+o*o},h.sqrDist=h.squaredDistance,h.length=function(e){var t=e[0],i=e[1];return Math.sqrt(t*t+i*i)},h.len=h.length,h.squaredLength=function(e){var t=e[0],i=e[1];return t*t+i*i},h.sqrLen=h.squaredLength,h.negate=function(e,t){return e[0]=-t[0],e[1]=-t[1],e},h.inverse=function(e,t){return e[0]=1/t[0],e[1]=1/t[1],e},h.normalize=function(e,t){var i=t[0],o=t[1],v=i*i+o*o;return v>0&&(v=1/Math.sqrt(v),e[0]=t[0]*v,e[1]=t[1]*v),e},h.dot=function(e,t){return e[0]*t[0]+e[1]*t[1]},h.cross=function(e,t,i){var o=t[0]*i[1]-t[1]*i[0];return e[0]=e[1]=0,e[2]=o,e},h.lerp=function(e,t,i,o){var v=t[0],y=t[1];return e[0]=v+o*(i[0]-v),e[1]=y+o*(i[1]-y),e},h.random=function(e,t){t=t||1;var i=g()*2*Math.PI;return e[0]=Math.cos(i)*t,e[1]=Math.sin(i)*t,e},h.transformMat2=function(e,t,i){var o=t[0],v=t[1];return e[0]=i[0]*o+i[2]*v,e[1]=i[1]*o+i[3]*v,e},h.transformMat2d=function(e,t,i){var o=t[0],v=t[1];return e[0]=i[0]*o+i[2]*v+i[4],e[1]=i[1]*o+i[3]*v+i[5],e},h.transformMat3=function(e,t,i){var o=t[0],v=t[1];return e[0]=i[0]*o+i[3]*v+i[6],e[1]=i[1]*o+i[4]*v+i[7],e},h.transformMat4=function(e,t,i){var o=t[0],v=t[1];return e[0]=i[0]*o+i[4]*v+i[12],e[1]=i[1]*o+i[5]*v+i[13],e},h.forEach=function(){var e=h.create();return function(t,i,o,v,y,p){var C,D;for(i||(i=2),o||(o=0),v?D=Math.min(v*i+o,t.length):D=t.length,C=o;C<D;C+=i)e[0]=t[C],e[1]=t[C+1],y(e,e,p),t[C]=e[0],t[C+1]=e[1];return t}}(),h.str=function(e){return"vec2("+e[0]+", "+e[1]+")"},typeof _!="undefined"&&(_.vec2=h);var r={};r.create=function(){var e=new x(3);return e[0]=0,e[1]=0,e[2]=0,e},r.clone=function(e){var t=new x(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},r.fromValues=function(e,t,i){var o=new x(3);return o[0]=e,o[1]=t,o[2]=i,o},r.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},r.set=function(e,t,i,o){return e[0]=t,e[1]=i,e[2]=o,e},r.add=function(e,t,i){return e[0]=t[0]+i[0],e[1]=t[1]+i[1],e[2]=t[2]+i[2],e},r.subtract=function(e,t,i){return e[0]=t[0]-i[0],e[1]=t[1]-i[1],e[2]=t[2]-i[2],e},r.sub=r.subtract,r.multiply=function(e,t,i){return e[0]=t[0]*i[0],e[1]=t[1]*i[1],e[2]=t[2]*i[2],e},r.mul=r.multiply,r.divide=function(e,t,i){return e[0]=t[0]/i[0],e[1]=t[1]/i[1],e[2]=t[2]/i[2],e},r.div=r.divide,r.min=function(e,t,i){return e[0]=Math.min(t[0],i[0]),e[1]=Math.min(t[1],i[1]),e[2]=Math.min(t[2],i[2]),e},r.max=function(e,t,i){return e[0]=Math.max(t[0],i[0]),e[1]=Math.max(t[1],i[1]),e[2]=Math.max(t[2],i[2]),e},r.scale=function(e,t,i){return e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e},r.scaleAndAdd=function(e,t,i,o){return e[0]=t[0]+i[0]*o,e[1]=t[1]+i[1]*o,e[2]=t[2]+i[2]*o,e},r.distance=function(e,t){var i=t[0]-e[0],o=t[1]-e[1],v=t[2]-e[2];return Math.sqrt(i*i+o*o+v*v)},r.dist=r.distance,r.squaredDistance=function(e,t){var i=t[0]-e[0],o=t[1]-e[1],v=t[2]-e[2];return i*i+o*o+v*v},r.sqrDist=r.squaredDistance,r.length=function(e){var t=e[0],i=e[1],o=e[2];return Math.sqrt(t*t+i*i+o*o)},r.len=r.length,r.squaredLength=function(e){var t=e[0],i=e[1],o=e[2];return t*t+i*i+o*o},r.sqrLen=r.squaredLength,r.negate=function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e},r.inverse=function(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e},r.normalize=function(e,t){var i=t[0],o=t[1],v=t[2],y=i*i+o*o+v*v;return y>0&&(y=1/Math.sqrt(y),e[0]=t[0]*y,e[1]=t[1]*y,e[2]=t[2]*y),e},r.dot=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]},r.cross=function(e,t,i){var o=t[0],v=t[1],y=t[2],p=i[0],C=i[1],D=i[2];return e[0]=v*D-y*C,e[1]=y*p-o*D,e[2]=o*C-v*p,e},r.lerp=function(e,t,i,o){var v=t[0],y=t[1],p=t[2];return e[0]=v+o*(i[0]-v),e[1]=y+o*(i[1]-y),e[2]=p+o*(i[2]-p),e},r.random=function(e,t){t=t||1;var i=g()*2*Math.PI,o=g()*2-1,v=Math.sqrt(1-o*o)*t;return e[0]=Math.cos(i)*v,e[1]=Math.sin(i)*v,e[2]=o*t,e},r.transformMat4=function(e,t,i){var o=t[0],v=t[1],y=t[2],p=i[3]*o+i[7]*v+i[11]*y+i[15];return p=p||1,e[0]=(i[0]*o+i[4]*v+i[8]*y+i[12])/p,e[1]=(i[1]*o+i[5]*v+i[9]*y+i[13])/p,e[2]=(i[2]*o+i[6]*v+i[10]*y+i[14])/p,e},r.transformMat3=function(e,t,i){var o=t[0],v=t[1],y=t[2];return e[0]=o*i[0]+v*i[3]+y*i[6],e[1]=o*i[1]+v*i[4]+y*i[7],e[2]=o*i[2]+v*i[5]+y*i[8],e},r.transformQuat=function(e,t,i){var o=t[0],v=t[1],y=t[2],p=i[0],C=i[1],D=i[2],b=i[3],S=b*o+C*y-D*v,L=b*v+D*o-p*y,w=b*y+p*v-C*o,P=-p*o-C*v-D*y;return e[0]=S*b+P*-p+L*-D-w*-C,e[1]=L*b+P*-C+w*-p-S*-D,e[2]=w*b+P*-D+S*-C-L*-p,e},r.rotateX=function(e,t,i,o){var v=[],y=[];return v[0]=t[0]-i[0],v[1]=t[1]-i[1],v[2]=t[2]-i[2],y[0]=v[0],y[1]=v[1]*Math.cos(o)-v[2]*Math.sin(o),y[2]=v[1]*Math.sin(o)+v[2]*Math.cos(o),e[0]=y[0]+i[0],e[1]=y[1]+i[1],e[2]=y[2]+i[2],e},r.rotateY=function(e,t,i,o){var v=[],y=[];return v[0]=t[0]-i[0],v[1]=t[1]-i[1],v[2]=t[2]-i[2],y[0]=v[2]*Math.sin(o)+v[0]*Math.cos(o),y[1]=v[1],y[2]=v[2]*Math.cos(o)-v[0]*Math.sin(o),e[0]=y[0]+i[0],e[1]=y[1]+i[1],e[2]=y[2]+i[2],e},r.rotateZ=function(e,t,i,o){var v=[],y=[];return v[0]=t[0]-i[0],v[1]=t[1]-i[1],v[2]=t[2]-i[2],y[0]=v[0]*Math.cos(o)-v[1]*Math.sin(o),y[1]=v[0]*Math.sin(o)+v[1]*Math.cos(o),y[2]=v[2],e[0]=y[0]+i[0],e[1]=y[1]+i[1],e[2]=y[2]+i[2],e},r.forEach=function(){var e=r.create();return function(t,i,o,v,y,p){var C,D;for(i||(i=3),o||(o=0),v?D=Math.min(v*i+o,t.length):D=t.length,C=o;C<D;C+=i)e[0]=t[C],e[1]=t[C+1],e[2]=t[C+2],y(e,e,p),t[C]=e[0],t[C+1]=e[1],t[C+2]=e[2];return t}}(),r.angle=function(e,t){var i=r.fromValues(e[0],e[1],e[2]),o=r.fromValues(t[0],t[1],t[2]);r.normalize(i,i),r.normalize(o,o);var v=r.dot(i,o);return v>1?0:Math.acos(v)},r.str=function(e){return"vec3("+e[0]+", "+e[1]+", "+e[2]+")"},typeof _!="undefined"&&(_.vec3=r);var n={};n.create=function(){var e=new x(4);return e[0]=0,e[1]=0,e[2]=0,e[3]=0,e},n.clone=function(e){var t=new x(4);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},n.fromValues=function(e,t,i,o){var v=new x(4);return v[0]=e,v[1]=t,v[2]=i,v[3]=o,v},n.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},n.set=function(e,t,i,o,v){return e[0]=t,e[1]=i,e[2]=o,e[3]=v,e},n.add=function(e,t,i){return e[0]=t[0]+i[0],e[1]=t[1]+i[1],e[2]=t[2]+i[2],e[3]=t[3]+i[3],e},n.subtract=function(e,t,i){return e[0]=t[0]-i[0],e[1]=t[1]-i[1],e[2]=t[2]-i[2],e[3]=t[3]-i[3],e},n.sub=n.subtract,n.multiply=function(e,t,i){return e[0]=t[0]*i[0],e[1]=t[1]*i[1],e[2]=t[2]*i[2],e[3]=t[3]*i[3],e},n.mul=n.multiply,n.divide=function(e,t,i){return e[0]=t[0]/i[0],e[1]=t[1]/i[1],e[2]=t[2]/i[2],e[3]=t[3]/i[3],e},n.div=n.divide,n.min=function(e,t,i){return e[0]=Math.min(t[0],i[0]),e[1]=Math.min(t[1],i[1]),e[2]=Math.min(t[2],i[2]),e[3]=Math.min(t[3],i[3]),e},n.max=function(e,t,i){return e[0]=Math.max(t[0],i[0]),e[1]=Math.max(t[1],i[1]),e[2]=Math.max(t[2],i[2]),e[3]=Math.max(t[3],i[3]),e},n.scale=function(e,t,i){return e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e[3]=t[3]*i,e},n.scaleAndAdd=function(e,t,i,o){return e[0]=t[0]+i[0]*o,e[1]=t[1]+i[1]*o,e[2]=t[2]+i[2]*o,e[3]=t[3]+i[3]*o,e},n.distance=function(e,t){var i=t[0]-e[0],o=t[1]-e[1],v=t[2]-e[2],y=t[3]-e[3];return Math.sqrt(i*i+o*o+v*v+y*y)},n.dist=n.distance,n.squaredDistance=function(e,t){var i=t[0]-e[0],o=t[1]-e[1],v=t[2]-e[2],y=t[3]-e[3];return i*i+o*o+v*v+y*y},n.sqrDist=n.squaredDistance,n.length=function(e){var t=e[0],i=e[1],o=e[2],v=e[3];return Math.sqrt(t*t+i*i+o*o+v*v)},n.len=n.length,n.squaredLength=function(e){var t=e[0],i=e[1],o=e[2],v=e[3];return t*t+i*i+o*o+v*v},n.sqrLen=n.squaredLength,n.negate=function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=-t[3],e},n.inverse=function(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e[3]=1/t[3],e},n.normalize=function(e,t){var i=t[0],o=t[1],v=t[2],y=t[3],p=i*i+o*o+v*v+y*y;return p>0&&(p=1/Math.sqrt(p),e[0]=t[0]*p,e[1]=t[1]*p,e[2]=t[2]*p,e[3]=t[3]*p),e},n.dot=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]},n.lerp=function(e,t,i,o){var v=t[0],y=t[1],p=t[2],C=t[3];return e[0]=v+o*(i[0]-v),e[1]=y+o*(i[1]-y),e[2]=p+o*(i[2]-p),e[3]=C+o*(i[3]-C),e},n.random=function(e,t){return t=t||1,e[0]=g(),e[1]=g(),e[2]=g(),e[3]=g(),n.normalize(e,e),n.scale(e,e,t),e},n.transformMat4=function(e,t,i){var o=t[0],v=t[1],y=t[2],p=t[3];return e[0]=i[0]*o+i[4]*v+i[8]*y+i[12]*p,e[1]=i[1]*o+i[5]*v+i[9]*y+i[13]*p,e[2]=i[2]*o+i[6]*v+i[10]*y+i[14]*p,e[3]=i[3]*o+i[7]*v+i[11]*y+i[15]*p,e},n.transformQuat=function(e,t,i){var o=t[0],v=t[1],y=t[2],p=i[0],C=i[1],D=i[2],b=i[3],S=b*o+C*y-D*v,L=b*v+D*o-p*y,w=b*y+p*v-C*o,P=-p*o-C*v-D*y;return e[0]=S*b+P*-p+L*-D-w*-C,e[1]=L*b+P*-C+w*-p-S*-D,e[2]=w*b+P*-D+S*-C-L*-p,e},n.forEach=function(){var e=n.create();return function(t,i,o,v,y,p){var C,D;for(i||(i=4),o||(o=0),v?D=Math.min(v*i+o,t.length):D=t.length,C=o;C<D;C+=i)e[0]=t[C],e[1]=t[C+1],e[2]=t[C+2],e[3]=t[C+3],y(e,e,p),t[C]=e[0],t[C+1]=e[1],t[C+2]=e[2],t[C+3]=e[3];return t}}(),n.str=function(e){return"vec4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")"},typeof _!="undefined"&&(_.vec4=n);var a={};a.create=function(){var e=new x(4);return e[0]=1,e[1]=0,e[2]=0,e[3]=1,e},a.clone=function(e){var t=new x(4);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},a.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},a.identity=function(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=1,e},a.transpose=function(e,t){if(e===t){var i=t[1];e[1]=t[2],e[2]=i}else e[0]=t[0],e[1]=t[2],e[2]=t[1],e[3]=t[3];return e},a.invert=function(e,t){var i=t[0],o=t[1],v=t[2],y=t[3],p=i*y-v*o;return p?(p=1/p,e[0]=y*p,e[1]=-o*p,e[2]=-v*p,e[3]=i*p,e):null},a.adjoint=function(e,t){var i=t[0];return e[0]=t[3],e[1]=-t[1],e[2]=-t[2],e[3]=i,e},a.determinant=function(e){return e[0]*e[3]-e[2]*e[1]},a.multiply=function(e,t,i){var o=t[0],v=t[1],y=t[2],p=t[3],C=i[0],D=i[1],b=i[2],S=i[3];return e[0]=o*C+y*D,e[1]=v*C+p*D,e[2]=o*b+y*S,e[3]=v*b+p*S,e},a.mul=a.multiply,a.rotate=function(e,t,i){var o=t[0],v=t[1],y=t[2],p=t[3],C=Math.sin(i),D=Math.cos(i);return e[0]=o*D+y*C,e[1]=v*D+p*C,e[2]=o*-C+y*D,e[3]=v*-C+p*D,e},a.scale=function(e,t,i){var o=t[0],v=t[1],y=t[2],p=t[3],C=i[0],D=i[1];return e[0]=o*C,e[1]=v*C,e[2]=y*D,e[3]=p*D,e},a.str=function(e){return"mat2("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")"},a.frob=function(e){return Math.sqrt(Math.pow(e[0],2)+Math.pow(e[1],2)+Math.pow(e[2],2)+Math.pow(e[3],2))},a.LDU=function(e,t,i,o){return e[2]=o[2]/o[0],i[0]=o[0],i[1]=o[1],i[3]=o[3]-e[2]*i[1],[e,t,i]},typeof _!="undefined"&&(_.mat2=a);var f={};f.create=function(){var e=new x(6);return e[0]=1,e[1]=0,e[2]=0,e[3]=1,e[4]=0,e[5]=0,e},f.clone=function(e){var t=new x(6);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t},f.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e},f.identity=function(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=1,e[4]=0,e[5]=0,e},f.invert=function(e,t){var i=t[0],o=t[1],v=t[2],y=t[3],p=t[4],C=t[5],D=i*y-o*v;return D?(D=1/D,e[0]=y*D,e[1]=-o*D,e[2]=-v*D,e[3]=i*D,e[4]=(v*C-y*p)*D,e[5]=(o*p-i*C)*D,e):null},f.determinant=function(e){return e[0]*e[3]-e[1]*e[2]},f.multiply=function(e,t,i){var o=t[0],v=t[1],y=t[2],p=t[3],C=t[4],D=t[5],b=i[0],S=i[1],L=i[2],w=i[3],P=i[4],I=i[5];return e[0]=o*b+y*S,e[1]=v*b+p*S,e[2]=o*L+y*w,e[3]=v*L+p*w,e[4]=o*P+y*I+C,e[5]=v*P+p*I+D,e},f.mul=f.multiply,f.rotate=function(e,t,i){var o=t[0],v=t[1],y=t[2],p=t[3],C=t[4],D=t[5],b=Math.sin(i),S=Math.cos(i);return e[0]=o*S+y*b,e[1]=v*S+p*b,e[2]=o*-b+y*S,e[3]=v*-b+p*S,e[4]=C,e[5]=D,e},f.scale=function(e,t,i){var o=t[0],v=t[1],y=t[2],p=t[3],C=t[4],D=t[5],b=i[0],S=i[1];return e[0]=o*b,e[1]=v*b,e[2]=y*S,e[3]=p*S,e[4]=C,e[5]=D,e},f.translate=function(e,t,i){var o=t[0],v=t[1],y=t[2],p=t[3],C=t[4],D=t[5],b=i[0],S=i[1];return e[0]=o,e[1]=v,e[2]=y,e[3]=p,e[4]=o*b+y*S+C,e[5]=v*b+p*S+D,e},f.str=function(e){return"mat2d("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+")"},f.frob=function(e){return Math.sqrt(Math.pow(e[0],2)+Math.pow(e[1],2)+Math.pow(e[2],2)+Math.pow(e[3],2)+Math.pow(e[4],2)+Math.pow(e[5],2)+1)},typeof _!="undefined"&&(_.mat2d=f);var s={};s.create=function(){var e=new x(9);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e},s.fromMat4=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[4],e[4]=t[5],e[5]=t[6],e[6]=t[8],e[7]=t[9],e[8]=t[10],e},s.clone=function(e){var t=new x(9);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t},s.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e},s.identity=function(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e},s.transpose=function(e,t){if(e===t){var i=t[1],o=t[2],v=t[5];e[1]=t[3],e[2]=t[6],e[3]=i,e[5]=t[7],e[6]=o,e[7]=v}else 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];return e},s.invert=function(e,t){var i=t[0],o=t[1],v=t[2],y=t[3],p=t[4],C=t[5],D=t[6],b=t[7],S=t[8],L=S*p-C*b,w=-S*y+C*D,P=b*y-p*D,I=i*L+o*w+v*P;return I?(I=1/I,e[0]=L*I,e[1]=(-S*o+v*b)*I,e[2]=(C*o-v*p)*I,e[3]=w*I,e[4]=(S*i-v*D)*I,e[5]=(-C*i+v*y)*I,e[6]=P*I,e[7]=(-b*i+o*D)*I,e[8]=(p*i-o*y)*I,e):null},s.adjoint=function(e,t){var i=t[0],o=t[1],v=t[2],y=t[3],p=t[4],C=t[5],D=t[6],b=t[7],S=t[8];return e[0]=p*S-C*b,e[1]=v*b-o*S,e[2]=o*C-v*p,e[3]=C*D-y*S,e[4]=i*S-v*D,e[5]=v*y-i*C,e[6]=y*b-p*D,e[7]=o*D-i*b,e[8]=i*p-o*y,e},s.determinant=function(e){var t=e[0],i=e[1],o=e[2],v=e[3],y=e[4],p=e[5],C=e[6],D=e[7],b=e[8];return t*(b*y-p*D)+i*(-b*v+p*C)+o*(D*v-y*C)},s.multiply=function(e,t,i){var o=t[0],v=t[1],y=t[2],p=t[3],C=t[4],D=t[5],b=t[6],S=t[7],L=t[8],w=i[0],P=i[1],I=i[2],R=i[3],B=i[4],F=i[5],W=i[6],G=i[7],j=i[8];return e[0]=w*o+P*p+I*b,e[1]=w*v+P*C+I*S,e[2]=w*y+P*D+I*L,e[3]=R*o+B*p+F*b,e[4]=R*v+B*C+F*S,e[5]=R*y+B*D+F*L,e[6]=W*o+G*p+j*b,e[7]=W*v+G*C+j*S,e[8]=W*y+G*D+j*L,e},s.mul=s.multiply,s.translate=function(e,t,i){var o=t[0],v=t[1],y=t[2],p=t[3],C=t[4],D=t[5],b=t[6],S=t[7],L=t[8],w=i[0],P=i[1];return e[0]=o,e[1]=v,e[2]=y,e[3]=p,e[4]=C,e[5]=D,e[6]=w*o+P*p+b,e[7]=w*v+P*C+S,e[8]=w*y+P*D+L,e},s.rotate=function(e,t,i){var o=t[0],v=t[1],y=t[2],p=t[3],C=t[4],D=t[5],b=t[6],S=t[7],L=t[8],w=Math.sin(i),P=Math.cos(i);return e[0]=P*o+w*p,e[1]=P*v+w*C,e[2]=P*y+w*D,e[3]=P*p-w*o,e[4]=P*C-w*v,e[5]=P*D-w*y,e[6]=b,e[7]=S,e[8]=L,e},s.scale=function(e,t,i){var o=i[0],v=i[1];return e[0]=o*t[0],e[1]=o*t[1],e[2]=o*t[2],e[3]=v*t[3],e[4]=v*t[4],e[5]=v*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e},s.fromMat2d=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=0,e[3]=t[2],e[4]=t[3],e[5]=0,e[6]=t[4],e[7]=t[5],e[8]=1,e},s.fromQuat=function(e,t){var i=t[0],o=t[1],v=t[2],y=t[3],p=i+i,C=o+o,D=v+v,b=i*p,S=o*p,L=o*C,w=v*p,P=v*C,I=v*D,R=y*p,B=y*C,F=y*D;return e[0]=1-L-I,e[3]=S-F,e[6]=w+B,e[1]=S+F,e[4]=1-b-I,e[7]=P-R,e[2]=w-B,e[5]=P+R,e[8]=1-b-L,e},s.normalFromMat4=function(e,t){var i=t[0],o=t[1],v=t[2],y=t[3],p=t[4],C=t[5],D=t[6],b=t[7],S=t[8],L=t[9],w=t[10],P=t[11],I=t[12],R=t[13],B=t[14],F=t[15],W=i*C-o*p,G=i*D-v*p,j=i*b-y*p,Y=o*D-v*C,ee=o*b-y*C,ae=v*b-y*D,le=S*R-L*I,_e=S*B-w*I,he=S*F-P*I,ve=L*B-w*R,Ae=L*F-P*R,ge=w*F-P*B,fe=W*ge-G*Ae+j*ve+Y*he-ee*_e+ae*le;return fe?(fe=1/fe,e[0]=(C*ge-D*Ae+b*ve)*fe,e[1]=(D*he-p*ge-b*_e)*fe,e[2]=(p*Ae-C*he+b*le)*fe,e[3]=(v*Ae-o*ge-y*ve)*fe,e[4]=(i*ge-v*he+y*_e)*fe,e[5]=(o*he-i*Ae-y*le)*fe,e[6]=(R*ae-B*ee+F*Y)*fe,e[7]=(B*j-I*ae-F*G)*fe,e[8]=(I*ee-R*j+F*W)*fe,e):null},s.str=function(e){return"mat3("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+")"},s.frob=function(e){return Math.sqrt(Math.pow(e[0],2)+Math.pow(e[1],2)+Math.pow(e[2],2)+Math.pow(e[3],2)+Math.pow(e[4],2)+Math.pow(e[5],2)+Math.pow(e[6],2)+Math.pow(e[7],2)+Math.pow(e[8],2))},typeof _!="undefined"&&(_.mat3=s);var l={};l.create=function(){var e=new x(16);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},l.clone=function(e){var t=new x(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},l.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},l.identity=function(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},l.transpose=function(e,t){if(e===t){var i=t[1],o=t[2],v=t[3],y=t[6],p=t[7],C=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=i,e[6]=t[9],e[7]=t[13],e[8]=o,e[9]=y,e[11]=t[14],e[12]=v,e[13]=p,e[14]=C}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e},l.invert=function(e,t){var i=t[0],o=t[1],v=t[2],y=t[3],p=t[4],C=t[5],D=t[6],b=t[7],S=t[8],L=t[9],w=t[10],P=t[11],I=t[12],R=t[13],B=t[14],F=t[15],W=i*C-o*p,G=i*D-v*p,j=i*b-y*p,Y=o*D-v*C,ee=o*b-y*C,ae=v*b-y*D,le=S*R-L*I,_e=S*B-w*I,he=S*F-P*I,ve=L*B-w*R,Ae=L*F-P*R,ge=w*F-P*B,fe=W*ge-G*Ae+j*ve+Y*he-ee*_e+ae*le;return fe?(fe=1/fe,e[0]=(C*ge-D*Ae+b*ve)*fe,e[1]=(v*Ae-o*ge-y*ve)*fe,e[2]=(R*ae-B*ee+F*Y)*fe,e[3]=(w*ee-L*ae-P*Y)*fe,e[4]=(D*he-p*ge-b*_e)*fe,e[5]=(i*ge-v*he+y*_e)*fe,e[6]=(B*j-I*ae-F*G)*fe,e[7]=(S*ae-w*j+P*G)*fe,e[8]=(p*Ae-C*he+b*le)*fe,e[9]=(o*he-i*Ae-y*le)*fe,e[10]=(I*ee-R*j+F*W)*fe,e[11]=(L*j-S*ee-P*W)*fe,e[12]=(C*_e-p*ve-D*le)*fe,e[13]=(i*ve-o*_e+v*le)*fe,e[14]=(R*G-I*Y-B*W)*fe,e[15]=(S*Y-L*G+w*W)*fe,e):null},l.adjoint=function(e,t){var i=t[0],o=t[1],v=t[2],y=t[3],p=t[4],C=t[5],D=t[6],b=t[7],S=t[8],L=t[9],w=t[10],P=t[11],I=t[12],R=t[13],B=t[14],F=t[15];return e[0]=C*(w*F-P*B)-L*(D*F-b*B)+R*(D*P-b*w),e[1]=-(o*(w*F-P*B)-L*(v*F-y*B)+R*(v*P-y*w)),e[2]=o*(D*F-b*B)-C*(v*F-y*B)+R*(v*b-y*D),e[3]=-(o*(D*P-b*w)-C*(v*P-y*w)+L*(v*b-y*D)),e[4]=-(p*(w*F-P*B)-S*(D*F-b*B)+I*(D*P-b*w)),e[5]=i*(w*F-P*B)-S*(v*F-y*B)+I*(v*P-y*w),e[6]=-(i*(D*F-b*B)-p*(v*F-y*B)+I*(v*b-y*D)),e[7]=i*(D*P-b*w)-p*(v*P-y*w)+S*(v*b-y*D),e[8]=p*(L*F-P*R)-S*(C*F-b*R)+I*(C*P-b*L),e[9]=-(i*(L*F-P*R)-S*(o*F-y*R)+I*(o*P-y*L)),e[10]=i*(C*F-b*R)-p*(o*F-y*R)+I*(o*b-y*C),e[11]=-(i*(C*P-b*L)-p*(o*P-y*L)+S*(o*b-y*C)),e[12]=-(p*(L*B-w*R)-S*(C*B-D*R)+I*(C*w-D*L)),e[13]=i*(L*B-w*R)-S*(o*B-v*R)+I*(o*w-v*L),e[14]=-(i*(C*B-D*R)-p*(o*B-v*R)+I*(o*D-v*C)),e[15]=i*(C*w-D*L)-p*(o*w-v*L)+S*(o*D-v*C),e},l.determinant=function(e){var t=e[0],i=e[1],o=e[2],v=e[3],y=e[4],p=e[5],C=e[6],D=e[7],b=e[8],S=e[9],L=e[10],w=e[11],P=e[12],I=e[13],R=e[14],B=e[15],F=t*p-i*y,W=t*C-o*y,G=t*D-v*y,j=i*C-o*p,Y=i*D-v*p,ee=o*D-v*C,ae=b*I-S*P,le=b*R-L*P,_e=b*B-w*P,he=S*R-L*I,ve=S*B-w*I,Ae=L*B-w*R;return F*Ae-W*ve+G*he+j*_e-Y*le+ee*ae},l.multiply=function(e,t,i){var o=t[0],v=t[1],y=t[2],p=t[3],C=t[4],D=t[5],b=t[6],S=t[7],L=t[8],w=t[9],P=t[10],I=t[11],R=t[12],B=t[13],F=t[14],W=t[15],G=i[0],j=i[1],Y=i[2],ee=i[3];return e[0]=G*o+j*C+Y*L+ee*R,e[1]=G*v+j*D+Y*w+ee*B,e[2]=G*y+j*b+Y*P+ee*F,e[3]=G*p+j*S+Y*I+ee*W,G=i[4],j=i[5],Y=i[6],ee=i[7],e[4]=G*o+j*C+Y*L+ee*R,e[5]=G*v+j*D+Y*w+ee*B,e[6]=G*y+j*b+Y*P+ee*F,e[7]=G*p+j*S+Y*I+ee*W,G=i[8],j=i[9],Y=i[10],ee=i[11],e[8]=G*o+j*C+Y*L+ee*R,e[9]=G*v+j*D+Y*w+ee*B,e[10]=G*y+j*b+Y*P+ee*F,e[11]=G*p+j*S+Y*I+ee*W,G=i[12],j=i[13],Y=i[14],ee=i[15],e[12]=G*o+j*C+Y*L+ee*R,e[13]=G*v+j*D+Y*w+ee*B,e[14]=G*y+j*b+Y*P+ee*F,e[15]=G*p+j*S+Y*I+ee*W,e},l.multiplyAffine=function(e,t,i){var o=t[0],v=t[1],y=t[2],p=t[4],C=t[5],D=t[6],b=t[8],S=t[9],L=t[10],w=t[12],P=t[13],I=t[14],R=i[0],B=i[1],F=i[2];return e[0]=R*o+B*p+F*b,e[1]=R*v+B*C+F*S,e[2]=R*y+B*D+F*L,R=i[4],B=i[5],F=i[6],e[4]=R*o+B*p+F*b,e[5]=R*v+B*C+F*S,e[6]=R*y+B*D+F*L,R=i[8],B=i[9],F=i[10],e[8]=R*o+B*p+F*b,e[9]=R*v+B*C+F*S,e[10]=R*y+B*D+F*L,R=i[12],B=i[13],F=i[14],e[12]=R*o+B*p+F*b+w,e[13]=R*v+B*C+F*S+P,e[14]=R*y+B*D+F*L+I,e},l.mul=l.multiply,l.mulAffine=l.multiplyAffine,l.translate=function(e,t,i){var o=i[0],v=i[1],y=i[2],p,C,D,b,S,L,w,P,I,R,B,F;return t===e?(e[12]=t[0]*o+t[4]*v+t[8]*y+t[12],e[13]=t[1]*o+t[5]*v+t[9]*y+t[13],e[14]=t[2]*o+t[6]*v+t[10]*y+t[14],e[15]=t[3]*o+t[7]*v+t[11]*y+t[15]):(p=t[0],C=t[1],D=t[2],b=t[3],S=t[4],L=t[5],w=t[6],P=t[7],I=t[8],R=t[9],B=t[10],F=t[11],e[0]=p,e[1]=C,e[2]=D,e[3]=b,e[4]=S,e[5]=L,e[6]=w,e[7]=P,e[8]=I,e[9]=R,e[10]=B,e[11]=F,e[12]=p*o+S*v+I*y+t[12],e[13]=C*o+L*v+R*y+t[13],e[14]=D*o+w*v+B*y+t[14],e[15]=b*o+P*v+F*y+t[15]),e},l.scale=function(e,t,i){var o=i[0],v=i[1],y=i[2];return e[0]=t[0]*o,e[1]=t[1]*o,e[2]=t[2]*o,e[3]=t[3]*o,e[4]=t[4]*v,e[5]=t[5]*v,e[6]=t[6]*v,e[7]=t[7]*v,e[8]=t[8]*y,e[9]=t[9]*y,e[10]=t[10]*y,e[11]=t[11]*y,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},l.rotate=function(e,t,i,o){var v=o[0],y=o[1],p=o[2],C=Math.sqrt(v*v+y*y+p*p),D,b,S,L,w,P,I,R,B,F,W,G,j,Y,ee,ae,le,_e,he,ve,Ae,ge,fe,Ee;return Math.abs(C)<m?null:(C=1/C,v*=C,y*=C,p*=C,D=Math.sin(i),b=Math.cos(i),S=1-b,L=t[0],w=t[1],P=t[2],I=t[3],R=t[4],B=t[5],F=t[6],W=t[7],G=t[8],j=t[9],Y=t[10],ee=t[11],ae=v*v*S+b,le=y*v*S+p*D,_e=p*v*S-y*D,he=v*y*S-p*D,ve=y*y*S+b,Ae=p*y*S+v*D,ge=v*p*S+y*D,fe=y*p*S-v*D,Ee=p*p*S+b,e[0]=L*ae+R*le+G*_e,e[1]=w*ae+B*le+j*_e,e[2]=P*ae+F*le+Y*_e,e[3]=I*ae+W*le+ee*_e,e[4]=L*he+R*ve+G*Ae,e[5]=w*he+B*ve+j*Ae,e[6]=P*he+F*ve+Y*Ae,e[7]=I*he+W*ve+ee*Ae,e[8]=L*ge+R*fe+G*Ee,e[9]=w*ge+B*fe+j*Ee,e[10]=P*ge+F*fe+Y*Ee,e[11]=I*ge+W*fe+ee*Ee,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)},l.rotateX=function(e,t,i){var o=Math.sin(i),v=Math.cos(i),y=t[4],p=t[5],C=t[6],D=t[7],b=t[8],S=t[9],L=t[10],w=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=y*v+b*o,e[5]=p*v+S*o,e[6]=C*v+L*o,e[7]=D*v+w*o,e[8]=b*v-y*o,e[9]=S*v-p*o,e[10]=L*v-C*o,e[11]=w*v-D*o,e},l.rotateY=function(e,t,i){var o=Math.sin(i),v=Math.cos(i),y=t[0],p=t[1],C=t[2],D=t[3],b=t[8],S=t[9],L=t[10],w=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=y*v-b*o,e[1]=p*v-S*o,e[2]=C*v-L*o,e[3]=D*v-w*o,e[8]=y*o+b*v,e[9]=p*o+S*v,e[10]=C*o+L*v,e[11]=D*o+w*v,e},l.rotateZ=function(e,t,i){var o=Math.sin(i),v=Math.cos(i),y=t[0],p=t[1],C=t[2],D=t[3],b=t[4],S=t[5],L=t[6],w=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=y*v+b*o,e[1]=p*v+S*o,e[2]=C*v+L*o,e[3]=D*v+w*o,e[4]=b*v-y*o,e[5]=S*v-p*o,e[6]=L*v-C*o,e[7]=w*v-D*o,e},l.fromRotationTranslation=function(e,t,i){var o=t[0],v=t[1],y=t[2],p=t[3],C=o+o,D=v+v,b=y+y,S=o*C,L=o*D,w=o*b,P=v*D,I=v*b,R=y*b,B=p*C,F=p*D,W=p*b;return e[0]=1-(P+R),e[1]=L+W,e[2]=w-F,e[3]=0,e[4]=L-W,e[5]=1-(S+R),e[6]=I+B,e[7]=0,e[8]=w+F,e[9]=I-B,e[10]=1-(S+P),e[11]=0,e[12]=i[0],e[13]=i[1],e[14]=i[2],e[15]=1,e},l.fromQuat=function(e,t){var i=t[0],o=t[1],v=t[2],y=t[3],p=i+i,C=o+o,D=v+v,b=i*p,S=o*p,L=o*C,w=v*p,P=v*C,I=v*D,R=y*p,B=y*C,F=y*D;return e[0]=1-L-I,e[1]=S+F,e[2]=w-B,e[3]=0,e[4]=S-F,e[5]=1-b-I,e[6]=P+R,e[7]=0,e[8]=w+B,e[9]=P-R,e[10]=1-b-L,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},l.frustum=function(e,t,i,o,v,y,p){var C=1/(i-t),D=1/(v-o),b=1/(y-p);return e[0]=y*2*C,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=y*2*D,e[6]=0,e[7]=0,e[8]=(i+t)*C,e[9]=(v+o)*D,e[10]=(p+y)*b,e[11]=-1,e[12]=0,e[13]=0,e[14]=p*y*2*b,e[15]=0,e},l.perspective=function(e,t,i,o,v){var y=1/Math.tan(t/2),p=1/(o-v);return e[0]=y/i,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=y,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=(v+o)*p,e[11]=-1,e[12]=0,e[13]=0,e[14]=2*v*o*p,e[15]=0,e},l.ortho=function(e,t,i,o,v,y,p){var C=1/(t-i),D=1/(o-v),b=1/(y-p);return e[0]=-2*C,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*D,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*b,e[11]=0,e[12]=(t+i)*C,e[13]=(v+o)*D,e[14]=(p+y)*b,e[15]=1,e},l.lookAt=function(e,t,i,o){var v,y,p,C,D,b,S,L,w,P,I=t[0],R=t[1],B=t[2],F=o[0],W=o[1],G=o[2],j=i[0],Y=i[1],ee=i[2];return Math.abs(I-j)<m&&Math.abs(R-Y)<m&&Math.abs(B-ee)<m?l.identity(e):(S=I-j,L=R-Y,w=B-ee,P=1/Math.sqrt(S*S+L*L+w*w),S*=P,L*=P,w*=P,v=W*w-G*L,y=G*S-F*w,p=F*L-W*S,P=Math.sqrt(v*v+y*y+p*p),P?(P=1/P,v*=P,y*=P,p*=P):(v=0,y=0,p=0),C=L*p-w*y,D=w*v-S*p,b=S*y-L*v,P=Math.sqrt(C*C+D*D+b*b),P?(P=1/P,C*=P,D*=P,b*=P):(C=0,D=0,b=0),e[0]=v,e[1]=C,e[2]=S,e[3]=0,e[4]=y,e[5]=D,e[6]=L,e[7]=0,e[8]=p,e[9]=b,e[10]=w,e[11]=0,e[12]=-(v*I+y*R+p*B),e[13]=-(C*I+D*R+b*B),e[14]=-(S*I+L*R+w*B),e[15]=1,e)},l.str=function(e){return"mat4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"},l.frob=function(e){return Math.sqrt(Math.pow(e[0],2)+Math.pow(e[1],2)+Math.pow(e[2],2)+Math.pow(e[3],2)+Math.pow(e[4],2)+Math.pow(e[5],2)+Math.pow(e[6],2)+Math.pow(e[7],2)+Math.pow(e[8],2)+Math.pow(e[9],2)+Math.pow(e[10],2)+Math.pow(e[11],2)+Math.pow(e[12],2)+Math.pow(e[13],2)+Math.pow(e[14],2)+Math.pow(e[15],2))},typeof _!="undefined"&&(_.mat4=l);var d={};d.create=function(){var e=new x(4);return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e},d.rotationTo=function(){var e=r.create(),t=r.fromValues(1,0,0),i=r.fromValues(0,1,0);return function(o,v,y){var p=r.dot(v,y);return p<-.999999?(r.cross(e,t,v),r.length(e)<1e-6&&r.cross(e,i,v),r.normalize(e,e),d.setAxisAngle(o,e,Math.PI),o):p>.999999?(o[0]=0,o[1]=0,o[2]=0,o[3]=1,o):(r.cross(e,v,y),o[0]=e[0],o[1]=e[1],o[2]=e[2],o[3]=1+p,d.normalize(o,o))}}(),d.setAxes=function(){var e=s.create();return function(t,i,o,v){return e[0]=o[0],e[3]=o[1],e[6]=o[2],e[1]=v[0],e[4]=v[1],e[7]=v[2],e[2]=-i[0],e[5]=-i[1],e[8]=-i[2],d.normalize(t,d.fromMat3(t,e))}}(),d.clone=n.clone,d.fromValues=n.fromValues,d.copy=n.copy,d.set=n.set,d.identity=function(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e},d.setAxisAngle=function(e,t,i){i=i*.5;var o=Math.sin(i);return e[0]=o*t[0],e[1]=o*t[1],e[2]=o*t[2],e[3]=Math.cos(i),e},d.add=n.add,d.multiply=function(e,t,i){var o=t[0],v=t[1],y=t[2],p=t[3],C=i[0],D=i[1],b=i[2],S=i[3];return e[0]=o*S+p*C+v*b-y*D,e[1]=v*S+p*D+y*C-o*b,e[2]=y*S+p*b+o*D-v*C,e[3]=p*S-o*C-v*D-y*b,e},d.mul=d.multiply,d.scale=n.scale,d.rotateX=function(e,t,i){i*=.5;var o=t[0],v=t[1],y=t[2],p=t[3],C=Math.sin(i),D=Math.cos(i);return e[0]=o*D+p*C,e[1]=v*D+y*C,e[2]=y*D-v*C,e[3]=p*D-o*C,e},d.rotateY=function(e,t,i){i*=.5;var o=t[0],v=t[1],y=t[2],p=t[3],C=Math.sin(i),D=Math.cos(i);return e[0]=o*D-y*C,e[1]=v*D+p*C,e[2]=y*D+o*C,e[3]=p*D-v*C,e},d.rotateZ=function(e,t,i){i*=.5;var o=t[0],v=t[1],y=t[2],p=t[3],C=Math.sin(i),D=Math.cos(i);return e[0]=o*D+v*C,e[1]=v*D-o*C,e[2]=y*D+p*C,e[3]=p*D-y*C,e},d.calculateW=function(e,t){var i=t[0],o=t[1],v=t[2];return e[0]=i,e[1]=o,e[2]=v,e[3]=Math.sqrt(Math.abs(1-i*i-o*o-v*v)),e},d.dot=n.dot,d.lerp=n.lerp,d.slerp=function(e,t,i,o){var v=t[0],y=t[1],p=t[2],C=t[3],D=i[0],b=i[1],S=i[2],L=i[3],w,P,I,R,B;return P=v*D+y*b+p*S+C*L,P<0&&(P=-P,D=-D,b=-b,S=-S,L=-L),1-P>1e-6?(w=Math.acos(P),I=Math.sin(w),R=Math.sin((1-o)*w)/I,B=Math.sin(o*w)/I):(R=1-o,B=o),e[0]=R*v+B*D,e[1]=R*y+B*b,e[2]=R*p+B*S,e[3]=R*C+B*L,e},d.invert=function(e,t){var i=t[0],o=t[1],v=t[2],y=t[3],p=i*i+o*o+v*v+y*y,C=p?1/p:0;return e[0]=-i*C,e[1]=-o*C,e[2]=-v*C,e[3]=y*C,e},d.conjugate=function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e},d.length=n.length,d.len=d.length,d.squaredLength=n.squaredLength,d.sqrLen=d.squaredLength,d.normalize=n.normalize,d.fromMat3=function(e,t){var i=t[0]+t[4]+t[8],o;if(i>0)o=Math.sqrt(i+1),e[3]=.5*o,o=.5/o,e[0]=(t[5]-t[7])*o,e[1]=(t[6]-t[2])*o,e[2]=(t[1]-t[3])*o;else{var v=0;t[4]>t[0]&&(v=1),t[8]>t[v*3+v]&&(v=2);var y=(v+1)%3,p=(v+2)%3;o=Math.sqrt(t[v*3+v]-t[y*3+y]-t[p*3+p]+1),e[v]=.5*o,o=.5/o,e[3]=(t[y*3+p]-t[p*3+y])*o,e[y]=(t[y*3+v]+t[v*3+y])*o,e[p]=(t[p*3+v]+t[v*3+p])*o}return e},d.str=function(e){return"quat("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")"},typeof _!="undefined"&&(_.quat=d)}(A.exports)})(this)},function(K,O,E){"use strict";var M=E(24),A=E(46),_=E(5),m=E(6),x=E(7),g=E(17),c=E(28),u=E(13),h=E(0),r=E.n(h),n=E(29),a=E(53),f=E.n(a),s=E(54),l=E(106),d=E(107),e=E(113),t=E(114),i=E(3),o=E(68),v=E(37),y=E(69),p=E(116),C=E(70),D=E(71),b=E(72),S=E(36),L=E(30),w=E(23),P=E(4),I=E(117),R=E(50),B=E(118),F=E(119),W=E(120),G=E(9),j=E(67),Y=E(49),ee=E(15),ae=E(52),le=E(121),_e=E(126),he=E(63),ve=E(127),Ae=E(128),ge=E(129),fe=E(130),Ee=E(131),ue=E(132);r.a.util.extend(c.a.prototype,le.a),x.a.import(_e.a),x.a.import(he.a),x.a.import(ve.a),x.a.import(Ae.a),x.a.import(ge.a),x.a.import(fe.a),x.a.import(Ee.a),x.a.import(ue.a);function oe(ie){return!ie||ie==="none"}function X(ie){return ie instanceof HTMLCanvasElement||ie instanceof HTMLImageElement||ie instanceof Image}function re(ie){return ie.getZr&&ie.setOption}var V=n.a.prototype.addToScene,ne=n.a.prototype.removeFromScene;n.a.prototype.addToScene=function(ie){if(V.call(this,ie),this.__zr){var de=this.__zr;ie.traverse(function(me){me.__zr=de,me.addAnimatorsToZr&&me.addAnimatorsToZr(de)})}},n.a.prototype.removeFromScene=function(ie){ne.call(this,ie),ie.traverse(function(de){var me=de.__zr;de.__zr=null,me&&de.removeAnimatorsFromZr&&de.removeAnimatorsFromZr(me)})},g.a.prototype.setTextureImage=function(ie,de,me,Ce){if(this.shader){var Oe=me.getZr(),Ne=this,we;return Ne.autoUpdateTextureStatus=!1,Ne.disableTexture(ie),oe(de)||(we=Z.loadTexture(de,me,Ce,function(ce){Ne.enableTexture(ie),Oe&&Oe.refresh()}),Ne.set(ie,we)),we}};var Z={};Z.Renderer=A.a,Z.Node=c.a,Z.Mesh=M.a,Z.Shader=x.a,Z.Material=g.a,Z.Texture=m.a,Z.Texture2D=_.a,Z.Geometry=u.a,Z.SphereGeometry=o.a,Z.PlaneGeometry=v.a,Z.CubeGeometry=y.a,Z.AmbientLight=p.a,Z.DirectionalLight=C.a,Z.PointLight=D.a,Z.SpotLight=b.a,Z.PerspectiveCamera=S.a,Z.OrthographicCamera=L.a,Z.Vector2=w.a,Z.Vector3=P.a,Z.Vector4=I.a,Z.Quaternion=R.a,Z.Matrix2=B.a,Z.Matrix2d=F.a,Z.Matrix3=W.a,Z.Matrix4=G.a,Z.Plane=j.a,Z.Ray=Y.a,Z.BoundingBox=ee.a,Z.Frustum=ae.a;var $=s.a.createBlank("rgba(255,255,255,0)").image;function se(ie){return Math.pow(2,Math.round(Math.log(ie)/Math.LN2))}function q(ie){if((ie.wrapS===m.a.REPEAT||ie.wrapT===m.a.REPEAT)&&ie.image){var de=se(ie.width),me=se(ie.height);if(de!==ie.width||me!==ie.height){var Ce=document.createElement("canvas");Ce.width=de,Ce.height=me;var Oe=Ce.getContext("2d");Oe.drawImage(ie.image,0,0,de,me),ie.image=Ce}}}Z.loadTexture=function(ie,de,me,Ce){typeof me=="function"&&(Ce=me,me={}),me=me||{};for(var Oe=Object.keys(me).sort(),Ne="",we=0;we<Oe.length;we++)Ne+=Oe[we]+"_"+me[Oe[we]]+"_";var ce=de.__textureCache=de.__textureCache||new f.a(20);if(re(ie)){var ye=ie.__textureid__,Se=ce.get(Ne+ye);if(Se)Se.texture.surface.setECharts(ie),Ce&&Ce(Se.texture);else{var xe=new l.a(ie);xe.onupdate=function(){de.getZr().refresh()},Se={texture:xe.getTexture()};for(var we=0;we<Oe.length;we++)Se.texture[Oe[we]]=me[Oe[we]];ye=ie.__textureid__||"__ecgl_ec__"+Se.texture.__uid__,ie.__textureid__=ye,ce.put(Ne+ye,Se),Ce&&Ce(Se.texture)}return Se.texture}else if(X(ie)){var ye=ie.__textureid__,Se=ce.get(Ne+ye);if(!Se){Se={texture:new Z.Texture2D({image:ie})};for(var we=0;we<Oe.length;we++)Se.texture[Oe[we]]=me[Oe[we]];ye=ie.__textureid__||"__ecgl_image__"+Se.texture.__uid__,ie.__textureid__=ye,ce.put(Ne+ye,Se),q(Se.texture),Ce&&Ce(Se.texture)}return Se.texture}else{var Se=ce.get(Ne+ie);if(Se)Se.callbacks?Se.callbacks.push(Ce):Ce&&Ce(Se.texture);else if(ie.match(/.hdr$|^data:application\/octet-stream/)){Se={callbacks:[Ce]};var je=s.a.loadTexture(ie,{exposure:me.exposure,fileType:"hdr"},function(){je.dirty(),Se.callbacks.forEach(function($e){$e&&$e(je)}),Se.callbacks=null});Se.texture=je,ce.put(Ne+ie,Se)}else{for(var je=new Z.Texture2D({image:new Image}),we=0;we<Oe.length;we++)je[Oe[we]]=me[Oe[we]];Se={texture:je,callbacks:[Ce]};var ut=je.image;ut.onload=function(){je.image=ut,q(je),je.dirty(),Se.callbacks.forEach(function(pt){pt&&pt(je)}),Se.callbacks=null},ut.src=ie,je.image=$,ce.put(Ne+ie,Se)}return Se.texture}},Z.createAmbientCubemap=function(ie,de,me,Ce){ie=ie||{};var Oe=ie.texture,Ne=i.a.firstNotNull(ie.exposure,1),we=new d.a({intensity:i.a.firstNotNull(ie.specularIntensity,1)}),ce=new e.a({intensity:i.a.firstNotNull(ie.diffuseIntensity,1),coefficients:[.844,.712,.691,-.037,.083,.167,.343,.288,.299,-.041,-.021,-.009,-.003,-.041,-.064,-.011,-.007,-.004,-.031,.034,.081,-.06,-.049,-.06,.046,.056,.05]});return we.cubemap=Z.loadTexture(Oe,me,{exposure:Ne},function(){we.cubemap.flipY=!1,we.prefilter(de,32),ce.coefficients=t.a.projectEnvironmentMap(de,we.cubemap,{lod:1}),Ce&&Ce()}),{specular:we,diffuse:ce}},Z.createBlankTexture=s.a.createBlank,Z.isImage=X,Z.additiveBlend=function(ie){ie.blendEquation(ie.FUNC_ADD),ie.blendFunc(ie.SRC_ALPHA,ie.ONE)},Z.parseColor=function(ie,de){return ie instanceof Array?(de||(de=[]),de[0]=ie[0],de[1]=ie[1],de[2]=ie[2],ie.length>3?de[3]=ie[3]:de[3]=1,de):(de=r.a.color.parse(ie||"#000",de)||[0,0,0,0],de[0]/=255,de[1]/=255,de[2]/=255,de)},Z.directionFromAlphaBeta=function(ie,de){var me=ie/180*Math.PI+Math.PI/2,Ce=-de/180*Math.PI+Math.PI/2,Oe=[],Ne=Math.sin(me);return Oe[0]=Ne*Math.cos(Ce),Oe[1]=-Math.cos(me),Oe[2]=Ne*Math.sin(Ce),Oe},Z.getShadowResolution=function(ie){var de=1024;switch(ie){case"low":de=512;break;case"medium":break;case"high":de=2048;break;case"ultra":de=4096;break}return de},Z.COMMON_SHADERS=["lambert","color","realistic","hatching"],Z.createShader=function(ie){var de=x.a.source(ie+".vertex"),me=x.a.source(ie+".fragment");de||console.error("Vertex shader of '%s' not exits",ie),me||console.error("Fragment shader of '%s' not exits",ie);var Ce=new x.a(de,me);return Ce.name=ie,Ce},Z.createMaterial=function(ie,de){de instanceof Array||(de=[de]);var me=Z.createShader(ie),Ce=new g.a({shader:me});return de.forEach(function(Oe){typeof Oe=="string"&&Ce.define(Oe)}),Ce},Z.setMaterialFromModel=function(ie,de,me,Ce){de.autoUpdateTextureStatus=!1;var Oe=me.getModel(ie+"Material"),Ne=Oe.get("detailTexture"),we=i.a.firstNotNull(Oe.get("textureTiling"),1),ce=i.a.firstNotNull(Oe.get("textureOffset"),0);typeof we=="number"&&(we=[we,we]),typeof ce=="number"&&(ce=[ce,ce]);var ye=we[0]>1||we[1]>1?Z.Texture.REPEAT:Z.Texture.CLAMP_TO_EDGE,Se={anisotropic:8,wrapS:ye,wrapT:ye};if(ie==="realistic"){var xe=Oe.get("roughness"),je=Oe.get("metalness");je!=null?isNaN(je)&&(de.setTextureImage("metalnessMap",je,Ce,Se),je=i.a.firstNotNull(Oe.get("metalnessAdjust"),.5)):je=0,xe!=null?isNaN(xe)&&(de.setTextureImage("roughnessMap",xe,Ce,Se),xe=i.a.firstNotNull(Oe.get("roughnessAdjust"),.5)):xe=.5;var ut=Oe.get("normalTexture");de.setTextureImage("detailMap",Ne,Ce,Se),de.setTextureImage("normalMap",ut,Ce,Se),de.set({roughness:xe,metalness:je,detailUvRepeat:we,detailUvOffset:ce})}else if(ie==="lambert")de.setTextureImage("detailMap",Ne,Ce,Se),de.set({detailUvRepeat:we,detailUvOffset:ce});else if(ie==="color")de.setTextureImage("detailMap",Ne,Ce,Se),de.set({detailUvRepeat:we,detailUvOffset:ce});else if(ie==="hatching"){var lt=Oe.get("hatchingTextures")||[];lt.length<6&&console.error("Invalid hatchingTextures.");for(var $e=0;$e<6;$e++)de.setTextureImage("hatch"+($e+1),lt[$e],Ce,{anisotropic:8,wrapS:Z.Texture.REPEAT,wrapT:Z.Texture.REPEAT});de.set({detailUvRepeat:we,detailUvOffset:ce})}},Z.updateVertexAnimation=function(ie,de,me,Ce){var Oe=Ce.get("animation"),Ne=Ce.get("animationDurationUpdate"),we=Ce.get("animationEasingUpdate"),ce=me.shadowDepthMaterial;if(Oe&&de&&Ne>0&&de.geometry.vertexCount===me.geometry.vertexCount){me.material.define("vertex","VERTEX_ANIMATION"),me.ignorePreZ=!0,ce&&ce.define("vertex","VERTEX_ANIMATION");for(var ye=0;ye<ie.length;ye++)me.geometry.attributes[ie[ye][0]].value=de.geometry.attributes[ie[ye][1]].value;me.geometry.dirty(),me.__percent=0,me.material.set("percent",0),me.stopAnimation(),me.animate().when(Ne,{__percent:1}).during(function(){me.material.set("percent",me.__percent),ce&&ce.set("percent",me.__percent)}).done(function(){me.ignorePreZ=!1,me.material.undefine("vertex","VERTEX_ANIMATION"),ce&&ce.undefine("vertex","VERTEX_ANIMATION")}).start(we)}else me.material.undefine("vertex","VERTEX_ANIMATION"),ce&&ce.undefine("vertex","VERTEX_ANIMATION")},O.a=Z},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_={firstNotNull:function(){for(var m=0,x=arguments.length;m<x;m++)if(arguments[m]!=null)return arguments[m]},queryDataIndex:function(m,x){if(x.dataIndexInside!=null)return x.dataIndexInside;if(x.dataIndex!=null)return A.a.util.isArray(x.dataIndex)?A.a.util.map(x.dataIndex,function(g){return m.indexOfRawIndex(g)}):m.indexOfRawIndex(x.dataIndex);if(x.name!=null)return A.a.util.isArray(x.name)?A.a.util.map(x.name,function(g){return m.indexOfName(g)}):m.indexOfName(x.name)}};O.a=_},function(K,O,E){"use strict";var M=E(1),A=E.n(M),_=A.a.vec3,m=function(n,a,f){n=n||0,a=a||0,f=f||0,this.array=_.fromValues(n,a,f),this._dirty=!0};m.prototype={constructor:m,add:function(n){return _.add(this.array,this.array,n.array),this._dirty=!0,this},set:function(n,a,f){return this.array[0]=n,this.array[1]=a,this.array[2]=f,this._dirty=!0,this},setArray:function(n){return this.array[0]=n[0],this.array[1]=n[1],this.array[2]=n[2],this._dirty=!0,this},clone:function(){return new m(this.x,this.y,this.z)},copy:function(n){return _.copy(this.array,n.array),this._dirty=!0,this},cross:function(n,a){return _.cross(this.array,n.array,a.array),this._dirty=!0,this},dist:function(n){return _.dist(this.array,n.array)},distance:function(n){return _.distance(this.array,n.array)},div:function(n){return _.div(this.array,this.array,n.array),this._dirty=!0,this},divide:function(n){return _.divide(this.array,this.array,n.array),this._dirty=!0,this},dot:function(n){return _.dot(this.array,n.array)},len:function(){return _.len(this.array)},length:function(){return _.length(this.array)},lerp:function(n,a,f){return _.lerp(this.array,n.array,a.array,f),this._dirty=!0,this},min:function(n){return _.min(this.array,this.array,n.array),this._dirty=!0,this},max:function(n){return _.max(this.array,this.array,n.array),this._dirty=!0,this},mul:function(n){return _.mul(this.array,this.array,n.array),this._dirty=!0,this},multiply:function(n){return _.multiply(this.array,this.array,n.array),this._dirty=!0,this},negate:function(){return _.negate(this.array,this.array),this._dirty=!0,this},normalize:function(){return _.normalize(this.array,this.array),this._dirty=!0,this},random:function(n){return _.random(this.array,n),this._dirty=!0,this},scale:function(n){return _.scale(this.array,this.array,n),this._dirty=!0,this},scaleAndAdd:function(n,a){return _.scaleAndAdd(this.array,this.array,n.array,a),this._dirty=!0,this},sqrDist:function(n){return _.sqrDist(this.array,n.array)},squaredDistance:function(n){return _.squaredDistance(this.array,n.array)},sqrLen:function(){return _.sqrLen(this.array)},squaredLength:function(){return _.squaredLength(this.array)},sub:function(n){return _.sub(this.array,this.array,n.array),this._dirty=!0,this},subtract:function(n){return _.subtract(this.array,this.array,n.array),this._dirty=!0,this},transformMat3:function(n){return _.transformMat3(this.array,this.array,n.array),this._dirty=!0,this},transformMat4:function(n){return _.transformMat4(this.array,this.array,n.array),this._dirty=!0,this},transformQuat:function(n){return _.transformQuat(this.array,this.array,n.array),this._dirty=!0,this},applyProjection:function(n){var a=this.array;if(n=n.array,n[15]===0){var f=-1/a[2];a[0]=n[0]*a[0]*f,a[1]=n[5]*a[1]*f,a[2]=(n[10]*a[2]+n[14])*f}else a[0]=n[0]*a[0]+n[12],a[1]=n[5]*a[1]+n[13],a[2]=n[10]*a[2]+n[14];return this._dirty=!0,this},eulerFromQuat:function(n,a){m.eulerFromQuat(this,n,a)},eulerFromMat3:function(n,a){m.eulerFromMat3(this,n,a)},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}};var x=Object.defineProperty;if(x){var g=m.prototype;x(g,"x",{get:function(){return this.array[0]},set:function(n){this.array[0]=n,this._dirty=!0}}),x(g,"y",{get:function(){return this.array[1]},set:function(n){this.array[1]=n,this._dirty=!0}}),x(g,"z",{get:function(){return this.array[2]},set:function(n){this.array[2]=n,this._dirty=!0}})}m.add=function(n,a,f){return _.add(n.array,a.array,f.array),n._dirty=!0,n},m.set=function(n,a,f,s){_.set(n.array,a,f,s),n._dirty=!0},m.copy=function(n,a){return _.copy(n.array,a.array),n._dirty=!0,n},m.cross=function(n,a,f){return _.cross(n.array,a.array,f.array),n._dirty=!0,n},m.dist=function(n,a){return _.distance(n.array,a.array)},m.distance=m.dist,m.div=function(n,a,f){return _.divide(n.array,a.array,f.array),n._dirty=!0,n},m.divide=m.div,m.dot=function(n,a){return _.dot(n.array,a.array)},m.len=function(n){return _.length(n.array)},m.lerp=function(n,a,f,s){return _.lerp(n.array,a.array,f.array,s),n._dirty=!0,n},m.min=function(n,a,f){return _.min(n.array,a.array,f.array),n._dirty=!0,n},m.max=function(n,a,f){return _.max(n.array,a.array,f.array),n._dirty=!0,n},m.mul=function(n,a,f){return _.multiply(n.array,a.array,f.array),n._dirty=!0,n},m.multiply=m.mul,m.negate=function(n,a){return _.negate(n.array,a.array),n._dirty=!0,n},m.normalize=function(n,a){return _.normalize(n.array,a.array),n._dirty=!0,n},m.random=function(n,a){return _.random(n.array,a),n._dirty=!0,n},m.scale=function(n,a,f){return _.scale(n.array,a.array,f),n._dirty=!0,n},m.scaleAndAdd=function(n,a,f,s){return _.scaleAndAdd(n.array,a.array,f.array,s),n._dirty=!0,n},m.sqrDist=function(n,a){return _.sqrDist(n.array,a.array)},m.squaredDistance=m.sqrDist,m.sqrLen=function(n){return _.sqrLen(n.array)},m.squaredLength=m.sqrLen,m.sub=function(n,a,f){return _.subtract(n.array,a.array,f.array),n._dirty=!0,n},m.subtract=m.sub,m.transformMat3=function(n,a,f){return _.transformMat3(n.array,a.array,f.array),n._dirty=!0,n},m.transformMat4=function(n,a,f){return _.transformMat4(n.array,a.array,f.array),n._dirty=!0,n},m.transformQuat=function(n,a,f){return _.transformQuat(n.array,a.array,f.array),n._dirty=!0,n};function c(n,a,f){return n<a?a:n>f?f:n}var u=Math.atan2,h=Math.asin,r=Math.abs;m.eulerFromQuat=function(n,a,p){n._dirty=!0,a=a.array;var s=n.array,l=a[0],d=a[1],e=a[2],t=a[3],i=l*l,o=d*d,v=e*e,y=t*t,p=(p||"XYZ").toUpperCase();switch(p){case"XYZ":s[0]=u(2*(l*t-d*e),y-i-o+v),s[1]=h(c(2*(l*e+d*t),-1,1)),s[2]=u(2*(e*t-l*d),y+i-o-v);break;case"YXZ":s[0]=h(c(2*(l*t-d*e),-1,1)),s[1]=u(2*(l*e+d*t),y-i-o+v),s[2]=u(2*(l*d+e*t),y-i+o-v);break;case"ZXY":s[0]=h(c(2*(l*t+d*e),-1,1)),s[1]=u(2*(d*t-e*l),y-i-o+v),s[2]=u(2*(e*t-l*d),y-i+o-v);break;case"ZYX":s[0]=u(2*(l*t+e*d),y-i-o+v),s[1]=h(c(2*(d*t-l*e),-1,1)),s[2]=u(2*(l*d+e*t),y+i-o-v);break;case"YZX":s[0]=u(2*(l*t-e*d),y-i+o-v),s[1]=u(2*(d*t-l*e),y+i-o-v),s[2]=h(c(2*(l*d+e*t),-1,1));break;case"XZY":s[0]=u(2*(l*t+d*e),y-i+o-v),s[1]=u(2*(l*e+d*t),y+i-o-v),s[2]=h(c(2*(e*t-l*d),-1,1));break;default:console.warn("Unkown order: "+p)}return n},m.eulerFromMat3=function(n,a,D){var s=a.array,l=s[0],d=s[3],e=s[6],t=s[1],i=s[4],o=s[7],v=s[2],y=s[5],p=s[8],C=n.array,D=(D||"XYZ").toUpperCase();switch(D){case"XYZ":C[1]=h(c(e,-1,1)),r(e)<.99999?(C[0]=u(-o,p),C[2]=u(-d,l)):(C[0]=u(y,i),C[2]=0);break;case"YXZ":C[0]=h(-c(o,-1,1)),r(o)<.99999?(C[1]=u(e,p),C[2]=u(t,i)):(C[1]=u(-v,l),C[2]=0);break;case"ZXY":C[0]=h(c(y,-1,1)),r(y)<.99999?(C[1]=u(-v,p),C[2]=u(-d,i)):(C[1]=0,C[2]=u(t,l));break;case"ZYX":C[1]=h(-c(v,-1,1)),r(v)<.99999?(C[0]=u(y,p),C[2]=u(t,l)):(C[0]=0,C[2]=u(-d,i));break;case"YZX":C[2]=h(c(t,-1,1)),r(t)<.99999?(C[0]=u(-o,i),C[1]=u(-v,l)):(C[0]=0,C[1]=u(e,p));break;case"XZY":C[2]=h(-c(d,-1,1)),r(d)<.99999?(C[0]=u(y,i),C[1]=u(e,l)):(C[0]=u(-o,p),C[1]=0);break;default:console.warn("Unkown order: "+D)}return n._dirty=!0,n},m.POSITIVE_X=new m(1,0,0),m.NEGATIVE_X=new m(-1,0,0),m.POSITIVE_Y=new m(0,1,0),m.NEGATIVE_Y=new m(0,-1,0),m.POSITIVE_Z=new m(0,0,1),m.NEGATIVE_Z=new m(0,0,-1),m.UP=new m(0,1,0),m.ZERO=new m(0,0,0),O.a=m},function(K,O,E){"use strict";var M=E(6),A=E(11),_=E(66),m=_.a.isPowerOfTwo,x=M.a.extend(function(){return{image:null,pixels:null,mipmaps:[]}},{update:function(g){var c=g.gl;c.bindTexture(c.TEXTURE_2D,this._cache.get("webgl_texture")),this.updateCommon(g);var u=this.format,h=this.type;c.texParameteri(c.TEXTURE_2D,c.TEXTURE_WRAP_S,this.getAvailableWrapS()),c.texParameteri(c.TEXTURE_2D,c.TEXTURE_WRAP_T,this.getAvailableWrapT()),c.texParameteri(c.TEXTURE_2D,c.TEXTURE_MAG_FILTER,this.getAvailableMagFilter()),c.texParameteri(c.TEXTURE_2D,c.TEXTURE_MIN_FILTER,this.getAvailableMinFilter());var r=g.getGLExtension("EXT_texture_filter_anisotropic");if(r&&this.anisotropic>1&&c.texParameterf(c.TEXTURE_2D,r.TEXTURE_MAX_ANISOTROPY_EXT,this.anisotropic),h===36193){var n=g.getGLExtension("OES_texture_half_float");n||(h=A.a.FLOAT)}if(this.mipmaps.length)for(var a=this.width,f=this.height,s=0;s<this.mipmaps.length;s++){var l=this.mipmaps[s];this._updateTextureData(c,l,s,a,f,u,h),a/=2,f/=2}else this._updateTextureData(c,this,0,this.width,this.height,u,h),this.useMipmap&&!this.NPOT&&c.generateMipmap(c.TEXTURE_2D);c.bindTexture(c.TEXTURE_2D,null)},_updateTextureData:function(g,c,u,h,r,n,a){c.image?g.texImage2D(g.TEXTURE_2D,u,n,n,a,c.image):n<=M.a.COMPRESSED_RGBA_S3TC_DXT5_EXT&&n>=M.a.COMPRESSED_RGB_S3TC_DXT1_EXT?g.compressedTexImage2D(g.TEXTURE_2D,u,n,h,r,0,c.pixels):g.texImage2D(g.TEXTURE_2D,u,n,h,r,0,n,a,c.pixels)},generateMipmap:function(g){var c=g.gl;this.useMipmap&&!this.NPOT&&(c.bindTexture(c.TEXTURE_2D,this._cache.get("webgl_texture")),c.generateMipmap(c.TEXTURE_2D))},isPowerOfTwo:function(){var g,c;return this.image?(g=this.image.width,c=this.image.height):(g=this.width,c=this.height),m(g)&&m(c)},isRenderable:function(){return this.image?this.image.nodeName==="CANVAS"||this.image.nodeName==="VIDEO"||this.image.complete:!!(this.width&&this.height)},bind:function(g){g.gl.bindTexture(g.gl.TEXTURE_2D,this.getWebGLTexture(g))},unbind:function(g){g.gl.bindTexture(g.gl.TEXTURE_2D,null)},load:function(g,c){var u=new Image;c&&(u.crossOrigin=c);var h=this;return u.onload=function(){h.dirty(),h.trigger("success",h),u.onload=null},u.onerror=function(){h.trigger("error",h),u.onerror=null},u.src=g,this.image=u,this}});Object.defineProperty(x.prototype,"width",{get:function(){return this.image?this.image.width:this._width},set:function(g){this.image?console.warn("Texture from image can't set width"):(this._width!==g&&this.dirty(),this._width=g)}}),Object.defineProperty(x.prototype,"height",{get:function(){return this.image?this.image.height:this._height},set:function(g){this.image?console.warn("Texture from image can't set height"):(this._height!==g&&this.dirty(),this._height=g)}}),O.a=x},function(K,O,E){"use strict";var M=E(8),A=E(11),_=E(48),m=M.a.extend({width:512,height:512,type:A.a.UNSIGNED_BYTE,format:A.a.RGBA,wrapS:A.a.REPEAT,wrapT:A.a.REPEAT,minFilter:A.a.LINEAR_MIPMAP_LINEAR,magFilter:A.a.LINEAR,useMipmap:!0,anisotropic:1,flipY:!0,sRGB:!0,unpackAlignment:4,premultiplyAlpha:!1,dynamic:!1,NPOT:!1},function(){this._cache=new _.a},{getWebGLTexture:function(x){var g=x.gl,c=this._cache;return c.use(x.__uid__),c.miss("webgl_texture")&&c.put("webgl_texture",g.createTexture()),this.dynamic?this.update(x):c.isDirty()&&(this.update(x),c.fresh()),c.get("webgl_texture")},bind:function(){},unbind:function(){},dirty:function(){this._cache&&this._cache.dirtyAll()},update:function(x){},updateCommon:function(x){var g=x.gl;g.pixelStorei(g.UNPACK_FLIP_Y_WEBGL,this.flipY),g.pixelStorei(g.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this.premultiplyAlpha),g.pixelStorei(g.UNPACK_ALIGNMENT,this.unpackAlignment),this.format===A.a.DEPTH_COMPONENT&&(this.useMipmap=!1);var c=x.getGLExtension("EXT_sRGB");this.format===m.SRGB&&!c&&(this.format=m.RGB),this.format===m.SRGB_ALPHA&&!c&&(this.format=m.RGBA),this.NPOT=!this.isPowerOfTwo()},getAvailableWrapS:function(){return this.NPOT?A.a.CLAMP_TO_EDGE:this.wrapS},getAvailableWrapT:function(){return this.NPOT?A.a.CLAMP_TO_EDGE:this.wrapT},getAvailableMinFilter:function(){var x=this.minFilter;return this.NPOT||!this.useMipmap?x==A.a.NEAREST_MIPMAP_NEAREST||x==A.a.NEAREST_MIPMAP_LINEAR?A.a.NEAREST:x==A.a.LINEAR_MIPMAP_LINEAR||x==A.a.LINEAR_MIPMAP_NEAREST?A.a.LINEAR:x:x},getAvailableMagFilter:function(){return this.magFilter},nextHighestPowerOfTwo:function(x){--x;for(var g=1;g<32;g<<=1)x=x|x>>g;return x+1},dispose:function(x){var g=this._cache;g.use(x.__uid__);var c=g.get("webgl_texture");c&&x.gl.deleteTexture(c),g.deleteContext(x.__uid__)},isRenderable:function(){},isPowerOfTwo:function(){}});Object.defineProperty(m.prototype,"width",{get:function(){return this._width},set:function(x){this._width=x}}),Object.defineProperty(m.prototype,"height",{get:function(){return this._height},set:function(x){this._height=x}}),m.BYTE=A.a.BYTE,m.UNSIGNED_BYTE=A.a.UNSIGNED_BYTE,m.SHORT=A.a.SHORT,m.UNSIGNED_SHORT=A.a.UNSIGNED_SHORT,m.INT=A.a.INT,m.UNSIGNED_INT=A.a.UNSIGNED_INT,m.FLOAT=A.a.FLOAT,m.HALF_FLOAT=36193,m.UNSIGNED_INT_24_8_WEBGL=34042,m.DEPTH_COMPONENT=A.a.DEPTH_COMPONENT,m.DEPTH_STENCIL=A.a.DEPTH_STENCIL,m.ALPHA=A.a.ALPHA,m.RGB=A.a.RGB,m.RGBA=A.a.RGBA,m.LUMINANCE=A.a.LUMINANCE,m.LUMINANCE_ALPHA=A.a.LUMINANCE_ALPHA,m.SRGB=35904,m.SRGB_ALPHA=35906,m.COMPRESSED_RGB_S3TC_DXT1_EXT=33776,m.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777,m.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778,m.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779,m.NEAREST=A.a.NEAREST,m.LINEAR=A.a.LINEAR,m.NEAREST_MIPMAP_NEAREST=A.a.NEAREST_MIPMAP_NEAREST,m.LINEAR_MIPMAP_NEAREST=A.a.LINEAR_MIPMAP_NEAREST,m.NEAREST_MIPMAP_LINEAR=A.a.NEAREST_MIPMAP_LINEAR,m.LINEAR_MIPMAP_LINEAR=A.a.LINEAR_MIPMAP_LINEAR,m.REPEAT=A.a.REPEAT,m.CLAMP_TO_EDGE=A.a.CLAMP_TO_EDGE,m.MIRRORED_REPEAT=A.a.MIRRORED_REPEAT,O.a=m},function(K,O,E){"use strict";var M=E(21),A=E(18),_=E(1),m=E.n(_),x=m.a.mat2,g=m.a.mat3,c=m.a.mat4,u=/uniform\s+(bool|float|int|vec2|vec3|vec4|ivec2|ivec3|ivec4|mat2|mat3|mat4|sampler2D|samplerCube)\s+([\w\,]+)?(\[.*?\])?\s*(:\s*([\S\s]+?))?;/g,h=/attribute\s+(float|int|vec2|vec3|vec4)\s+(\w*)\s*(:\s*(\w+))?;/g,r=/#define\s+(\w+)?(\s+[\w-.]+)?\s*;?\s*\n/g,n={bool:"1i",int:"1i",sampler2D:"t",samplerCube:"t",float:"1f",vec2:"2f",vec3:"3f",vec4:"4f",ivec2:"2i",ivec3:"3i",ivec4:"4i",mat2:"m2",mat3:"m3",mat4:"m4"},a={bool:function(){return!0},int:function(){return 0},float:function(){return 0},sampler2D:function(){return null},samplerCube:function(){return null},vec2:function(){return[0,0]},vec3:function(){return[0,0,0]},vec4:function(){return[0,0,0,0]},ivec2:function(){return[0,0]},ivec3:function(){return[0,0,0]},ivec4:function(){return[0,0,0,0]},mat2:function(){return x.create()},mat3:function(){return g.create()},mat4:function(){return c.create()},array:function(){return[]}},f=["POSITION","NORMAL","BINORMAL","TANGENT","TEXCOORD","TEXCOORD_0","TEXCOORD_1","COLOR","JOINT","WEIGHT"],s=["SKIN_MATRIX","VIEWPORT_SIZE","VIEWPORT","DEVICEPIXELRATIO","WINDOW_SIZE","NEAR","FAR","TIME"],l=["WORLD","VIEW","PROJECTION","WORLDVIEW","VIEWPROJECTION","WORLDVIEWPROJECTION","WORLDINVERSE","VIEWINVERSE","PROJECTIONINVERSE","WORLDVIEWINVERSE","VIEWPROJECTIONINVERSE","WORLDVIEWPROJECTIONINVERSE","WORLDTRANSPOSE","VIEWTRANSPOSE","PROJECTIONTRANSPOSE","WORLDVIEWTRANSPOSE","VIEWPROJECTIONTRANSPOSE","WORLDVIEWPROJECTIONTRANSPOSE","WORLDINVERSETRANSPOSE","VIEWINVERSETRANSPOSE","PROJECTIONINVERSETRANSPOSE","WORLDVIEWINVERSETRANSPOSE","VIEWPROJECTIONINVERSETRANSPOSE","WORLDVIEWPROJECTIONINVERSETRANSPOSE"],d={},e={};function t(y,p){var C="vertex:"+y+"fragment:"+p;if(d[C])return d[C];var D=M.a.genGUID();return d[C]=D,e[D]={vertex:y,fragment:p},D}function i(y,p){typeof y=="object"&&(p=y.fragment,y=y.vertex),this._shaderID=t(y,p),this._vertexCode=i.parseImport(y),this._fragmentCode=i.parseImport(p),this.attributeSemantics={},this.matrixSemantics={},this.uniformSemantics={},this.matrixSemanticKeys=[],this.uniformTemplates={},this.attributes={},this.textures={},this.vertexDefines={},this.fragmentDefines={},this._parseAttributes(),this._parseUniforms(),this._parseDefines()}i.prototype={constructor:i,createUniforms:function(){var y={};for(var p in this.uniformTemplates){var C=this.uniformTemplates[p];y[p]={type:C.type,value:C.value()}}return y},_parseImport:function(){this._vertexCode=i.parseImport(this.vertex),this._fragmentCode=i.parseImport(this.fragment)},_parseUniforms:function(){var y={},p=this,C="vertex";this._uniformList=[],this._vertexCode=this._vertexCode.replace(u,D),C="fragment",this._fragmentCode=this._fragmentCode.replace(u,D),p.matrixSemanticKeys=Object.keys(this.matrixSemantics);function D(b,S,L,w,P,I){if(S&&L){var R=n[S],B=!0,F;if(R){if(p._uniformList.push(L),(S==="sampler2D"||S==="samplerCube")&&(p.textures[L]={shaderType:C,type:S}),w&&(R+="v"),I)if(f.indexOf(I)>=0)p.attributeSemantics[I]={symbol:L,type:R},B=!1;else if(l.indexOf(I)>=0){var W=!1,G=I;I.match(/TRANSPOSE$/)&&(W=!0,G=I.slice(0,-9)),p.matrixSemantics[I]={symbol:L,type:R,isTranspose:W,semanticNoTranspose:G},B=!1}else if(s.indexOf(I)>=0)p.uniformSemantics[I]={symbol:L,type:R},B=!1;else if(I==="unconfigurable")B=!1;else if(F=p._parseDefaultValue(S,I),F)I="";else throw new Error('Unkown semantic "'+I+'"');B&&(y[L]={type:R,value:w?a.array:F||a[S],semantic:I||null})}return["uniform",S,L,w].join(" ")+`;
|
|
`}}this.uniformTemplates=y},_parseDefaultValue:function(y,p){var C=/\[\s*(.*)\s*\]/;if(y==="vec2"||y==="vec3"||y==="vec4"){var D=C.exec(p)[1];if(D){var b=D.split(/\s*,\s*/);return function(){return new A.a.Float32Array(b)}}else return}else{if(y==="bool")return function(){return p.toLowerCase()==="true"};if(y==="float")return function(){return parseFloat(p)};if(y==="int")return function(){return parseInt(p)}}},_parseAttributes:function(){var y={},p=this;this._vertexCode=this._vertexCode.replace(h,C);function C(D,b,S,L,w){if(b&&S){var P=1;switch(b){case"vec4":P=4;break;case"vec3":P=3;break;case"vec2":P=2;break;case"float":P=1;break}if(y[S]={type:"float",size:P,semantic:w||null},w){if(f.indexOf(w)<0)throw new Error('Unkown semantic "'+w+'"');p.attributeSemantics[w]={symbol:S,type:b}}}return["attribute",b,S].join(" ")+`;
|
|
`}this.attributes=y},_parseDefines:function(){var y=this,p="vertex";this._vertexCode=this._vertexCode.replace(r,C),p="fragment",this._fragmentCode=this._fragmentCode.replace(r,C);function C(D,b,S){var L=p==="vertex"?y.vertexDefines:y.fragmentDefines;return L[b]||(S=="false"?L[b]=!1:S=="true"?L[b]=!0:L[b]=S?isNaN(parseFloat(S))?S.trim():parseFloat(S):null),""}},clone:function(){var y=e[this._shaderID],p=new i(y.vertex,y.fragment);return p}},Object.defineProperty&&(Object.defineProperty(i.prototype,"shaderID",{get:function(){return this._shaderID}}),Object.defineProperty(i.prototype,"vertex",{get:function(){return this._vertexCode}}),Object.defineProperty(i.prototype,"fragment",{get:function(){return this._fragmentCode}}),Object.defineProperty(i.prototype,"uniforms",{get:function(){return this._uniformList}}));var o=/(@import)\s*([0-9a-zA-Z_\-\.]*)/g;i.parseImport=function(y){return y=y.replace(o,function(b,C,D){var b=i.source(D);return b?i.parseImport(b):(console.error('Shader chunk "'+D+'" not existed in library'),"")}),y};var v=/(@export)\s*([0-9a-zA-Z_\-\.]*)\s*\n([\s\S]*?)@end/g;i.import=function(y){y.replace(v,function(p,C,D,S){var S=S.replace(/(^[\s\t\xa0\u3000]+)|([\u3000\xa0\s\t]+\x24)/g,"");if(S){for(var L=D.split("."),w=i.codes,P=0,I;P<L.length-1;)I=L[P++],w[I]||(w[I]={}),w=w[I];I=L[P],w[I]=S}return S})},i.codes={},i.source=function(y){for(var p=y.split("."),C=i.codes,D=0;C&&D<p.length;){var b=p[D++];C=C[b]}return typeof C!="string"?(console.error('Shader "'+y+'" not existed in library'),""):C},O.a=i},function(K,O,E){"use strict";var M=E(91),A=E(47),_=E(21),m=function(){this.__uid__=_.a.genGUID()};m.__initializers__=[function(x){_.a.extend(this,x)}],_.a.extend(m,M.a),_.a.extend(m.prototype,A.a),O.a=m},function(K,O,E){"use strict";var M=E(1),A=E.n(M),_=E(4),m=A.a.mat4,x=A.a.vec3,g=A.a.mat3,c=A.a.quat,u=function(){this._axisX=new _.a,this._axisY=new _.a,this._axisZ=new _.a,this.array=m.create(),this._dirty=!0};u.prototype={constructor:u,setArray:function(n){for(var a=0;a<this.array.length;a++)this.array[a]=n[a];return this._dirty=!0,this},adjoint:function(){return m.adjoint(this.array,this.array),this._dirty=!0,this},clone:function(){return new u().copy(this)},copy:function(n){return m.copy(this.array,n.array),this._dirty=!0,this},determinant:function(){return m.determinant(this.array)},fromQuat:function(n){return m.fromQuat(this.array,n.array),this._dirty=!0,this},fromRotationTranslation:function(n,a){return m.fromRotationTranslation(this.array,n.array,a.array),this._dirty=!0,this},fromMat2d:function(n){return u.fromMat2d(this,n),this},frustum:function(n,a,f,s,l,d){return m.frustum(this.array,n,a,f,s,l,d),this._dirty=!0,this},identity:function(){return m.identity(this.array),this._dirty=!0,this},invert:function(){return m.invert(this.array,this.array),this._dirty=!0,this},lookAt:function(n,a,f){return m.lookAt(this.array,n.array,a.array,f.array),this._dirty=!0,this},mul:function(n){return m.mul(this.array,this.array,n.array),this._dirty=!0,this},mulLeft:function(n){return m.mul(this.array,n.array,this.array),this._dirty=!0,this},multiply:function(n){return m.multiply(this.array,this.array,n.array),this._dirty=!0,this},multiplyLeft:function(n){return m.multiply(this.array,n.array,this.array),this._dirty=!0,this},ortho:function(n,a,f,s,l,d){return m.ortho(this.array,n,a,f,s,l,d),this._dirty=!0,this},perspective:function(n,a,f,s){return m.perspective(this.array,n,a,f,s),this._dirty=!0,this},rotate:function(n,a){return m.rotate(this.array,this.array,n,a.array),this._dirty=!0,this},rotateX:function(n){return m.rotateX(this.array,this.array,n),this._dirty=!0,this},rotateY:function(n){return m.rotateY(this.array,this.array,n),this._dirty=!0,this},rotateZ:function(n){return m.rotateZ(this.array,this.array,n),this._dirty=!0,this},scale:function(n){return m.scale(this.array,this.array,n.array),this._dirty=!0,this},translate:function(n){return m.translate(this.array,this.array,n.array),this._dirty=!0,this},transpose:function(){return m.transpose(this.array,this.array),this._dirty=!0,this},decomposeMatrix:function(){var n=x.create(),a=x.create(),f=x.create(),s=g.create();return function(l,d,e){var t=this.array;x.set(n,t[0],t[1],t[2]),x.set(a,t[4],t[5],t[6]),x.set(f,t[8],t[9],t[10]);var i=x.length(n),o=x.length(a),v=x.length(f),y=this.determinant();y<0&&(i=-i),l&&l.set(i,o,v),e.set(t[12],t[13],t[14]),g.fromMat4(s,t),s[0]/=i,s[1]/=i,s[2]/=i,s[3]/=o,s[4]/=o,s[5]/=o,s[6]/=v,s[7]/=v,s[8]/=v,c.fromMat3(d.array,s),c.normalize(d.array,d.array),d._dirty=!0,e._dirty=!0}}(),toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}};var h=Object.defineProperty;if(h){var r=u.prototype;h(r,"z",{get:function(){var n=this.array;return this._axisZ.set(n[8],n[9],n[10]),this._axisZ},set:function(n){var a=this.array;n=n.array,a[8]=n[0],a[9]=n[1],a[10]=n[2],this._dirty=!0}}),h(r,"y",{get:function(){var n=this.array;return this._axisY.set(n[4],n[5],n[6]),this._axisY},set:function(n){var a=this.array;n=n.array,a[4]=n[0],a[5]=n[1],a[6]=n[2],this._dirty=!0}}),h(r,"x",{get:function(){var n=this.array;return this._axisX.set(n[0],n[1],n[2]),this._axisX},set:function(n){var a=this.array;n=n.array,a[0]=n[0],a[1]=n[1],a[2]=n[2],this._dirty=!0}})}u.adjoint=function(n,a){return m.adjoint(n.array,a.array),n._dirty=!0,n},u.copy=function(n,a){return m.copy(n.array,a.array),n._dirty=!0,n},u.determinant=function(n){return m.determinant(n.array)},u.identity=function(n){return m.identity(n.array),n._dirty=!0,n},u.ortho=function(n,a,f,s,l,d,e){return m.ortho(n.array,a,f,s,l,d,e),n._dirty=!0,n},u.perspective=function(n,a,f,s,l){return m.perspective(n.array,a,f,s,l),n._dirty=!0,n},u.lookAt=function(n,a,f,s){return m.lookAt(n.array,a.array,f.array,s.array),n._dirty=!0,n},u.invert=function(n,a){return m.invert(n.array,a.array),n._dirty=!0,n},u.mul=function(n,a,f){return m.mul(n.array,a.array,f.array),n._dirty=!0,n},u.multiply=u.mul,u.fromQuat=function(n,a){return m.fromQuat(n.array,a.array),n._dirty=!0,n},u.fromRotationTranslation=function(n,a,f){return m.fromRotationTranslation(n.array,a.array,f.array),n._dirty=!0,n},u.fromMat2d=function(s,f){s._dirty=!0;var f=f.array,s=s.array;return s[0]=f[0],s[4]=f[2],s[12]=f[4],s[1]=f[1],s[5]=f[3],s[13]=f[5],s},u.rotate=function(n,a,f,s){return m.rotate(n.array,a.array,f,s.array),n._dirty=!0,n},u.rotateX=function(n,a,f){return m.rotateX(n.array,a.array,f),n._dirty=!0,n},u.rotateY=function(n,a,f){return m.rotateY(n.array,a.array,f),n._dirty=!0,n},u.rotateZ=function(n,a,f){return m.rotateZ(n.array,a.array,f),n._dirty=!0,n},u.scale=function(n,a,f){return m.scale(n.array,a.array,f.array),n._dirty=!0,n},u.transpose=function(n,a){return m.transpose(n.array,a.array),n._dirty=!0,n},u.translate=function(n,a,f){return m.translate(n.array,a.array,f.array),n._dirty=!0,n},O.a=u},function(K,O,E){"use strict";var M=E(8),A=E(6),_=E(25),m=E(11),x=E(48),g="framebuffer",c="renderbuffer",u=c+"_width",h=c+"_height",r=c+"_attached",n="depthtexture_attached",a=m.a.FRAMEBUFFER,f=m.a.RENDERBUFFER,s=m.a.DEPTH_ATTACHMENT,l=m.a.COLOR_ATTACHMENT0,d=M.a.extend({depthBuffer:!0,viewport:null,_width:0,_height:0,_textures:null,_boundRenderer:null},function(){this._cache=new x.a,this._textures={}},{getTextureWidth:function(){return this._width},getTextureHeight:function(){return this._height},bind:function(e){if(e.__currentFrameBuffer){if(e.__currentFrameBuffer===this)return;console.warn("Renderer already bound with another framebuffer. Unbind it first")}e.__currentFrameBuffer=this;var t=e.gl;t.bindFramebuffer(a,this._getFrameBufferGL(e)),this._boundRenderer=e;var i=this._cache;i.put("viewport",e.viewport);var o=!1,v,y;for(var p in this._textures){o=!0;var C=this._textures[p];C&&(v=C.texture.width,y=C.texture.height,this._doAttach(e,C.texture,p,C.target))}this._width=v,this._height=y,!o&&this.depthBuffer&&console.error("Must attach texture before bind, or renderbuffer may have incorrect width and height."),this.viewport?e.setViewport(this.viewport):e.setViewport(0,0,v,y,1);var D=i.get("attached_textures");if(D){for(var p in D)if(!this._textures[p]){var b=D[p];this._doDetach(t,p,b)}}if(!i.get(n)&&this.depthBuffer){i.miss(c)&&i.put(c,t.createRenderbuffer());var S=i.get(c);(v!==i.get(u)||y!==i.get(h))&&(t.bindRenderbuffer(f,S),t.renderbufferStorage(f,t.DEPTH_COMPONENT16,v,y),i.put(u,v),i.put(h,y),t.bindRenderbuffer(f,null)),i.get(r)||(t.framebufferRenderbuffer(a,s,f,S),i.put(r,!0))}},unbind:function(e){e.__currentFrameBuffer=null;var t=e.gl;t.bindFramebuffer(a,null),this._boundRenderer=null,this._cache.use(e.__uid__);var i=this._cache.get("viewport");i&&e.setViewport(i),this.updateMipmap(e)},updateMipmap:function(e){var t=e.gl;for(var i in this._textures){var o=this._textures[i];if(o){var v=o.texture;if(!v.NPOT&&v.useMipmap&&v.minFilter===A.a.LINEAR_MIPMAP_LINEAR){var y=v instanceof _.a?m.a.TEXTURE_CUBE_MAP:m.a.TEXTURE_2D;t.bindTexture(y,v.getWebGLTexture(e)),t.generateMipmap(y),t.bindTexture(y,null)}}}},checkStatus:function(e){return e.checkFramebufferStatus(a)},_getFrameBufferGL:function(e){var t=this._cache;return t.use(e.__uid__),t.miss(g)&&t.put(g,e.gl.createFramebuffer()),t.get(g)},attach:function(e,t,i){if(!e.width)throw new Error("The texture attached to color buffer is not a valid.");t=t||l,i=i||m.a.TEXTURE_2D;var o=this._boundRenderer,v=o&&o.gl,y;if(v){var p=this._cache;p.use(o.__uid__),y=p.get("attached_textures")}var C=this._textures[t];if(!(C&&C.target===i&&C.texture===e&&y&&y[t]!=null)){var D=!0;o&&(D=this._doAttach(o,e,t,i),this.viewport||o.setViewport(0,0,e.width,e.height,1)),D&&(this._textures[t]=this._textures[t]||{},this._textures[t].texture=e,this._textures[t].target=i)}},_doAttach:function(e,t,i,o){var v=e.gl,y=t.getWebGLTexture(e),p=this._cache.get("attached_textures");if(p&&p[i]){var C=p[i];if(C.texture===t&&C.target===o)return}i=+i;var D=!0;if(i===s||i===m.a.DEPTH_STENCIL_ATTACHMENT){var b=e.getGLExtension("WEBGL_depth_texture");if(b||(console.error("Depth texture is not supported by the browser"),D=!1),t.format!==m.a.DEPTH_COMPONENT&&t.format!==m.a.DEPTH_STENCIL&&(console.error("The texture attached to depth buffer is not a valid."),D=!1),D){var S=this._cache.get(c);S&&(v.framebufferRenderbuffer(a,s,f,null),v.deleteRenderbuffer(S),this._cache.put(c,!1)),this._cache.put(r,!1),this._cache.put(n,!0)}}return v.framebufferTexture2D(a,i,o,y,0),p||(p={},this._cache.put("attached_textures",p)),p[i]=p[i]||{},p[i].texture=t,p[i].target=o,D},_doDetach:function(e,t,i){e.framebufferTexture2D(a,t,i,null,0);var o=this._cache.get("attached_textures");o&&o[t]&&(o[t]=null),(t===s||t===m.a.DEPTH_STENCIL_ATTACHMENT)&&this._cache.put(n,!1)},detach:function(e,t){if(this._textures[e]=null,this._boundRenderer){var i=this._cache;i.use(this._boundRenderer.__uid__),this._doDetach(this._boundRenderer.gl,e,t)}},dispose:function(e){var t=e.gl,i=this._cache;i.use(e.__uid__);var o=i.get(c);o&&t.deleteRenderbuffer(o);var v=i.get(g);v&&t.deleteFramebuffer(v),i.deleteContext(e.__uid__),this._textures={}}});d.DEPTH_ATTACHMENT=s,d.COLOR_ATTACHMENT0=l,d.STENCIL_ATTACHMENT=m.a.STENCIL_ATTACHMENT,d.DEPTH_STENCIL_ATTACHMENT=m.a.DEPTH_STENCIL_ATTACHMENT,O.a=d},function(K,O,E){"use strict";O.a={DEPTH_BUFFER_BIT:256,STENCIL_BUFFER_BIT:1024,COLOR_BUFFER_BIT:16384,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,ZERO:0,ONE:1,SRC_COLOR:768,ONE_MINUS_SRC_COLOR:769,SRC_ALPHA:770,ONE_MINUS_SRC_ALPHA:771,DST_ALPHA:772,ONE_MINUS_DST_ALPHA:773,DST_COLOR:774,ONE_MINUS_DST_COLOR:775,SRC_ALPHA_SATURATE:776,FUNC_ADD:32774,BLEND_EQUATION:32777,BLEND_EQUATION_RGB:32777,BLEND_EQUATION_ALPHA:34877,FUNC_SUBTRACT:32778,FUNC_REVERSE_SUBTRACT:32779,BLEND_DST_RGB:32968,BLEND_SRC_RGB:32969,BLEND_DST_ALPHA:32970,BLEND_SRC_ALPHA:32971,CONSTANT_COLOR:32769,ONE_MINUS_CONSTANT_COLOR:32770,CONSTANT_ALPHA:32771,ONE_MINUS_CONSTANT_ALPHA:32772,BLEND_COLOR:32773,ARRAY_BUFFER:34962,ELEMENT_ARRAY_BUFFER:34963,ARRAY_BUFFER_BINDING:34964,ELEMENT_ARRAY_BUFFER_BINDING:34965,STREAM_DRAW:35040,STATIC_DRAW:35044,DYNAMIC_DRAW:35048,BUFFER_SIZE:34660,BUFFER_USAGE:34661,CURRENT_VERTEX_ATTRIB:34342,FRONT:1028,BACK:1029,FRONT_AND_BACK:1032,CULL_FACE:2884,BLEND:3042,DITHER:3024,STENCIL_TEST:2960,DEPTH_TEST:2929,SCISSOR_TEST:3089,POLYGON_OFFSET_FILL:32823,SAMPLE_ALPHA_TO_COVERAGE:32926,SAMPLE_COVERAGE:32928,NO_ERROR:0,INVALID_ENUM:1280,INVALID_VALUE:1281,INVALID_OPERATION:1282,OUT_OF_MEMORY:1285,CW:2304,CCW:2305,LINE_WIDTH:2849,ALIASED_POINT_SIZE_RANGE:33901,ALIASED_LINE_WIDTH_RANGE:33902,CULL_FACE_MODE:2885,FRONT_FACE:2886,DEPTH_RANGE:2928,DEPTH_WRITEMASK:2930,DEPTH_CLEAR_VALUE:2931,DEPTH_FUNC:2932,STENCIL_CLEAR_VALUE:2961,STENCIL_FUNC:2962,STENCIL_FAIL:2964,STENCIL_PASS_DEPTH_FAIL:2965,STENCIL_PASS_DEPTH_PASS:2966,STENCIL_REF:2967,STENCIL_VALUE_MASK:2963,STENCIL_WRITEMASK:2968,STENCIL_BACK_FUNC:34816,STENCIL_BACK_FAIL:34817,STENCIL_BACK_PASS_DEPTH_FAIL:34818,STENCIL_BACK_PASS_DEPTH_PASS:34819,STENCIL_BACK_REF:36003,STENCIL_BACK_VALUE_MASK:36004,STENCIL_BACK_WRITEMASK:36005,VIEWPORT:2978,SCISSOR_BOX:3088,COLOR_CLEAR_VALUE:3106,COLOR_WRITEMASK:3107,UNPACK_ALIGNMENT:3317,PACK_ALIGNMENT:3333,MAX_TEXTURE_SIZE:3379,MAX_VIEWPORT_DIMS:3386,SUBPIXEL_BITS:3408,RED_BITS:3410,GREEN_BITS:3411,BLUE_BITS:3412,ALPHA_BITS:3413,DEPTH_BITS:3414,STENCIL_BITS:3415,POLYGON_OFFSET_UNITS:10752,POLYGON_OFFSET_FACTOR:32824,TEXTURE_BINDING_2D:32873,SAMPLE_BUFFERS:32936,SAMPLES:32937,SAMPLE_COVERAGE_VALUE:32938,SAMPLE_COVERAGE_INVERT:32939,COMPRESSED_TEXTURE_FORMATS:34467,DONT_CARE:4352,FASTEST:4353,NICEST:4354,GENERATE_MIPMAP_HINT:33170,BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DEPTH_COMPONENT:6402,ALPHA:6406,RGB:6407,RGBA:6408,LUMINANCE:6409,LUMINANCE_ALPHA:6410,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,FRAGMENT_SHADER:35632,VERTEX_SHADER:35633,MAX_VERTEX_ATTRIBS:34921,MAX_VERTEX_UNIFORM_VECTORS:36347,MAX_VARYING_VECTORS:36348,MAX_COMBINED_TEXTURE_IMAGE_UNITS:35661,MAX_VERTEX_TEXTURE_IMAGE_UNITS:35660,MAX_TEXTURE_IMAGE_UNITS:34930,MAX_FRAGMENT_UNIFORM_VECTORS:36349,SHADER_TYPE:35663,DELETE_STATUS:35712,LINK_STATUS:35714,VALIDATE_STATUS:35715,ATTACHED_SHADERS:35717,ACTIVE_UNIFORMS:35718,ACTIVE_ATTRIBUTES:35721,SHADING_LANGUAGE_VERSION:35724,CURRENT_PROGRAM:35725,NEVER:512,LESS:513,EQUAL:514,LEQUAL:515,GREATER:516,NOTEQUAL:517,GEQUAL:518,ALWAYS:519,KEEP:7680,REPLACE:7681,INCR:7682,DECR:7683,INVERT:5386,INCR_WRAP:34055,DECR_WRAP:34056,VENDOR:7936,RENDERER:7937,VERSION:7938,NEAREST:9728,LINEAR:9729,NEAREST_MIPMAP_NEAREST:9984,LINEAR_MIPMAP_NEAREST:9985,NEAREST_MIPMAP_LINEAR:9986,LINEAR_MIPMAP_LINEAR:9987,TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,TEXTURE_2D:3553,TEXTURE:5890,TEXTURE_CUBE_MAP:34067,TEXTURE_BINDING_CUBE_MAP:34068,TEXTURE_CUBE_MAP_POSITIVE_X:34069,TEXTURE_CUBE_MAP_NEGATIVE_X:34070,TEXTURE_CUBE_MAP_POSITIVE_Y:34071,TEXTURE_CUBE_MAP_NEGATIVE_Y:34072,TEXTURE_CUBE_MAP_POSITIVE_Z:34073,TEXTURE_CUBE_MAP_NEGATIVE_Z:34074,MAX_CUBE_MAP_TEXTURE_SIZE:34076,TEXTURE0:33984,TEXTURE1:33985,TEXTURE2:33986,TEXTURE3:33987,TEXTURE4:33988,TEXTURE5:33989,TEXTURE6:33990,TEXTURE7:33991,TEXTURE8:33992,TEXTURE9:33993,TEXTURE10:33994,TEXTURE11:33995,TEXTURE12:33996,TEXTURE13:33997,TEXTURE14:33998,TEXTURE15:33999,TEXTURE16:34e3,TEXTURE17:34001,TEXTURE18:34002,TEXTURE19:34003,TEXTURE20:34004,TEXTURE21:34005,TEXTURE22:34006,TEXTURE23:34007,TEXTURE24:34008,TEXTURE25:34009,TEXTURE26:34010,TEXTURE27:34011,TEXTURE28:34012,TEXTURE29:34013,TEXTURE30:34014,TEXTURE31:34015,ACTIVE_TEXTURE:34016,REPEAT:10497,CLAMP_TO_EDGE:33071,MIRRORED_REPEAT:33648,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,INT_VEC2:35667,INT_VEC3:35668,INT_VEC4:35669,BOOL:35670,BOOL_VEC2:35671,BOOL_VEC3:35672,BOOL_VEC4:35673,FLOAT_MAT2:35674,FLOAT_MAT3:35675,FLOAT_MAT4:35676,SAMPLER_2D:35678,SAMPLER_CUBE:35680,VERTEX_ATTRIB_ARRAY_ENABLED:34338,VERTEX_ATTRIB_ARRAY_SIZE:34339,VERTEX_ATTRIB_ARRAY_STRIDE:34340,VERTEX_ATTRIB_ARRAY_TYPE:34341,VERTEX_ATTRIB_ARRAY_NORMALIZED:34922,VERTEX_ATTRIB_ARRAY_POINTER:34373,VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:34975,COMPILE_STATUS:35713,LOW_FLOAT:36336,MEDIUM_FLOAT:36337,HIGH_FLOAT:36338,LOW_INT:36339,MEDIUM_INT:36340,HIGH_INT:36341,FRAMEBUFFER:36160,RENDERBUFFER:36161,RGBA4:32854,RGB5_A1:32855,RGB565:36194,DEPTH_COMPONENT16:33189,STENCIL_INDEX:6401,STENCIL_INDEX8:36168,DEPTH_STENCIL:34041,RENDERBUFFER_WIDTH:36162,RENDERBUFFER_HEIGHT:36163,RENDERBUFFER_INTERNAL_FORMAT:36164,RENDERBUFFER_RED_SIZE:36176,RENDERBUFFER_GREEN_SIZE:36177,RENDERBUFFER_BLUE_SIZE:36178,RENDERBUFFER_ALPHA_SIZE:36179,RENDERBUFFER_DEPTH_SIZE:36180,RENDERBUFFER_STENCIL_SIZE:36181,FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:36048,FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:36049,FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:36050,FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:36051,COLOR_ATTACHMENT0:36064,DEPTH_ATTACHMENT:36096,STENCIL_ATTACHMENT:36128,DEPTH_STENCIL_ATTACHMENT:33306,NONE:0,FRAMEBUFFER_COMPLETE:36053,FRAMEBUFFER_INCOMPLETE_ATTACHMENT:36054,FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:36055,FRAMEBUFFER_INCOMPLETE_DIMENSIONS:36057,FRAMEBUFFER_UNSUPPORTED:36061,FRAMEBUFFER_BINDING:36006,RENDERBUFFER_BINDING:36007,MAX_RENDERBUFFER_SIZE:34024,INVALID_FRAMEBUFFER_OPERATION:1286,UNPACK_FLIP_Y_WEBGL:37440,UNPACK_PREMULTIPLY_ALPHA_WEBGL:37441,CONTEXT_LOST_WEBGL:37442,UNPACK_COLORSPACE_CONVERSION_WEBGL:37443,BROWSER_DEFAULT_WEBGL:37444}},function(K,O){var E={"[object Function]":1,"[object RegExp]":1,"[object Date]":1,"[object Error]":1,"[object CanvasGradient]":1,"[object CanvasPattern]":1,"[object Image]":1,"[object Canvas]":1},M={"[object Int8Array]":1,"[object Uint8Array]":1,"[object Uint8ClampedArray]":1,"[object Int16Array]":1,"[object Uint16Array]":1,"[object Int32Array]":1,"[object Uint32Array]":1,"[object Float32Array]":1,"[object Float64Array]":1},A=Object.prototype.toString,_=Array.prototype,m=_.forEach,x=_.filter,g=_.slice,c=_.map,u=_.reduce,h={};function r(V,ne){h[V]=ne}function n(V){if(V==null||typeof V!="object")return V;var ne=V,Z=A.call(V);if(Z==="[object Array]"){if(!ge(V)){ne=[];for(var $=0,se=V.length;$<se;$++)ne[$]=n(V[$])}}else if(M[Z]){if(!ge(V)){var q=V.constructor;if(V.constructor.from)ne=q.from(V);else{ne=new q(V.length);for(var $=0,se=V.length;$<se;$++)ne[$]=n(V[$])}}}else if(!E[Z]&&!ge(V)&&!G(V)){ne={};for(var ie in V)V.hasOwnProperty(ie)&&(ne[ie]=n(V[ie]))}return ne}function a(V,ne,Z){if(!B(ne)||!B(V))return Z?n(ne):V;for(var $ in ne)if(ne.hasOwnProperty($)){var se=V[$],q=ne[$];B(q)&&B(se)&&!P(q)&&!P(se)&&!G(q)&&!G(se)&&!F(q)&&!F(se)&&!ge(q)&&!ge(se)?a(se,q,Z):(Z||!($ in V))&&(V[$]=n(ne[$],!0))}return V}function f(V,ne){for(var Z=V[0],$=1,se=V.length;$<se;$++)Z=a(Z,V[$],ne);return Z}function s(V,ne){for(var Z in ne)ne.hasOwnProperty(Z)&&(V[Z]=ne[Z]);return V}function l(V,ne,Z){for(var $ in ne)ne.hasOwnProperty($)&&(Z?ne[$]!=null:V[$]==null)&&(V[$]=ne[$]);return V}var d=function(){return h.createCanvas()};h.createCanvas=function(){return document.createElement("canvas")};var e;function t(){return e||(e=d().getContext("2d")),e}function i(V,ne){if(V){if(V.indexOf)return V.indexOf(ne);for(var Z=0,$=V.length;Z<$;Z++)if(V[Z]===ne)return Z}return-1}function o(V,ne){var Z=V.prototype;function $(){}$.prototype=ne.prototype,V.prototype=new $;for(var se in Z)V.prototype[se]=Z[se];V.prototype.constructor=V,V.superClass=ne}function v(V,ne,Z){V="prototype"in V?V.prototype:V,ne="prototype"in ne?ne.prototype:ne,l(V,ne,Z)}function y(V){if(V)return typeof V=="string"?!1:typeof V.length=="number"}function p(V,ne,Z){if(V&&ne)if(V.forEach&&V.forEach===m)V.forEach(ne,Z);else if(V.length===+V.length)for(var $=0,se=V.length;$<se;$++)ne.call(Z,V[$],$,V);else for(var q in V)V.hasOwnProperty(q)&&ne.call(Z,V[q],q,V)}function C(V,ne,Z){if(V&&ne){if(V.map&&V.map===c)return V.map(ne,Z);for(var $=[],se=0,q=V.length;se<q;se++)$.push(ne.call(Z,V[se],se,V));return $}}function D(V,ne,Z,$){if(V&&ne){if(V.reduce&&V.reduce===u)return V.reduce(ne,Z,$);for(var se=0,q=V.length;se<q;se++)Z=ne.call($,Z,V[se],se,V);return Z}}function b(V,ne,Z){if(V&&ne){if(V.filter&&V.filter===x)return V.filter(ne,Z);for(var $=[],se=0,q=V.length;se<q;se++)ne.call(Z,V[se],se,V)&&$.push(V[se]);return $}}function S(V,ne,Z){if(V&&ne){for(var $=0,se=V.length;$<se;$++)if(ne.call(Z,V[$],$,V))return V[$]}}function L(V,ne){var Z=g.call(arguments,2);return function(){return V.apply(ne,Z.concat(g.call(arguments)))}}function w(V){var ne=g.call(arguments,1);return function(){return V.apply(this,ne.concat(g.call(arguments)))}}function P(V){return A.call(V)==="[object Array]"}function I(V){return typeof V=="function"}function R(V){return A.call(V)==="[object String]"}function B(V){var ne=typeof V;return ne==="function"||!!V&&ne=="object"}function F(V){return!!E[A.call(V)]}function W(V){return!!M[A.call(V)]}function G(V){return typeof V=="object"&&typeof V.nodeType=="number"&&typeof V.ownerDocument=="object"}function j(V){return V!==V}function Y(V){for(var ne=0,Z=arguments.length;ne<Z;ne++)if(arguments[ne]!=null)return arguments[ne]}function ee(V,ne){return V!=null?V:ne}function ae(V,ne,Z){return V!=null?V:ne!=null?ne:Z}function le(){return Function.call.apply(g,arguments)}function _e(V){if(typeof V=="number")return[V,V,V,V];var ne=V.length;return ne===2?[V[0],V[1],V[0],V[1]]:ne===3?[V[0],V[1],V[2],V[1]]:V}function he(V,ne){if(!V)throw new Error(ne)}var ve="__ec_primitive__";function Ae(V){V[ve]=!0}function ge(V){return V[ve]}function fe(V){var ne=P(V);V&&p(V,function(Z,$){ne?this.set(Z,1):this.set($,Z)},this)}var Ee="_ec_",ue=4;fe.prototype={constructor:fe,get:function(V){return this[Ee+V]},set:function(V,ne){return this[Ee+V]=ne,ne},each:function(V,ne){ne!==void 0&&(V=L(V,ne));for(var Z in this)this.hasOwnProperty(Z)&&V(this[Z],Z.slice(ue))},removeKey:function(V){delete this[Ee+V]}};function oe(V){return new fe(V)}function X(V,ne){for(var Z=new V.constructor(V.length+ne.length),$=0;$<V.length;$++)Z[$]=V[$];var se=V.length;for($=0;$<ne.length;$++)Z[$+se]=ne[$];return Z}function re(){}O.$override=r,O.clone=n,O.merge=a,O.mergeAll=f,O.extend=s,O.defaults=l,O.createCanvas=d,O.getContext=t,O.indexOf=i,O.inherits=o,O.mixin=v,O.isArrayLike=y,O.each=p,O.map=C,O.reduce=D,O.filter=b,O.find=S,O.bind=L,O.curry=w,O.isArray=P,O.isFunction=I,O.isString=R,O.isObject=B,O.isBuiltInObject=F,O.isTypedArray=W,O.isDom=G,O.eqNaN=j,O.retrieve=Y,O.retrieve2=ee,O.retrieve3=ae,O.slice=le,O.normalizeCssArray=_e,O.assert=he,O.setAsPrimitive=Ae,O.isPrimitive=ge,O.createHashMap=oe,O.concatArray=X,O.noop=re},function(K,O,E){"use strict";var M=E(8),A=E(11),_=E(48),m=E(18),x=E(1),g=E.n(x),c=E(15),u=g.a.vec3,h=g.a.mat4,r=u.create,n=u.add,a=u.set;function f(i){return{byte:m.a.Int8Array,ubyte:m.a.Uint8Array,short:m.a.Int16Array,ushort:m.a.Uint16Array}[i]||m.a.Float32Array}function s(i){return"attr_"+i}function l(i,o,v,y){switch(this.name=i,this.type=o,this.size=v,this.semantic=y||"",this.value=null,v){case 1:this.get=function(p){return this.value[p]},this.set=function(p,C){this.value[p]=C},this.copy=function(p,C){this.value[p]=this.value[p]};break;case 2:this.get=function(p,C){var D=this.value;return C[0]=D[p*2],C[1]=D[p*2+1],C},this.set=function(p,C){var D=this.value;D[p*2]=C[0],D[p*2+1]=C[1]},this.copy=function(p,C){var D=this.value;C*=2,p*=2,D[p]=D[C],D[p+1]=D[C+1]};break;case 3:this.get=function(p,C){var D=p*3,b=this.value;return C[0]=b[D],C[1]=b[D+1],C[2]=b[D+2],C},this.set=function(p,C){var D=p*3,b=this.value;b[D]=C[0],b[D+1]=C[1],b[D+2]=C[2]},this.copy=function(p,C){var D=this.value;C*=3,p*=3,D[p]=D[C],D[p+1]=D[C+1],D[p+2]=D[C+2]};break;case 4:this.get=function(p,C){var D=this.value,b=p*4;return C[0]=D[b],C[1]=D[b+1],C[2]=D[b+2],C[3]=D[b+3],C},this.set=function(p,C){var D=this.value,b=p*4;D[b]=C[0],D[b+1]=C[1],D[b+2]=C[2],D[b+3]=C[3]},this.copy=function(p,C){var D=this.value;C*=4,p*=4,D[p]=D[C],D[p+1]=D[C+1],D[p+2]=D[C+2],D[p+3]=D[C+3]}}}l.prototype.init=function(i){if(!this.value||this.value.length!=i*this.size){var o=f(this.type);this.value=new o(i*this.size)}},l.prototype.fromArray=function(i){var o=f(this.type),v;if(i[0]&&i[0].length){var y=0,p=this.size;v=new o(i.length*p);for(var C=0;C<i.length;C++)for(var D=0;D<p;D++)v[y++]=i[C][D]}else v=new o(i);this.value=v},l.prototype.clone=function(i){var o=new l(this.name,this.type,this.size,this.semantic);return i&&console.warn("todo"),o};function d(i,o,v,y,p){this.name=i,this.type=o,this.buffer=v,this.size=y,this.semantic=p,this.symbol="",this.needsRemove=!1}function e(i){this.buffer=i,this.count=0}var t=M.a.extend(function(){return{attributes:{position:new l("position","float",3,"POSITION"),texcoord0:new l("texcoord0","float",2,"TEXCOORD_0"),texcoord1:new l("texcoord1","float",2,"TEXCOORD_1"),normal:new l("normal","float",3,"NORMAL"),tangent:new l("tangent","float",4,"TANGENT"),color:new l("color","float",4,"COLOR"),weight:new l("weight","float",3,"WEIGHT"),joint:new l("joint","float",4,"JOINT"),barycentric:new l("barycentric","float",3,null)},boundingBox:null,indices:null,dynamic:!0,_enabledAttributes:null}},function(){this._cache=new _.a,this._attributeList=Object.keys(this.attributes)},{mainAttribute:"position",pick:null,pickByRay:null,updateBoundingBox:function(){var i=this.boundingBox;i||(i=this.boundingBox=new c.a);var o=this.attributes.position.value;if(o&&o.length){var v=i.min,y=i.max,p=v.array,C=y.array;u.set(p,o[0],o[1],o[2]),u.set(C,o[0],o[1],o[2]);for(var D=3;D<o.length;){var b=o[D++],S=o[D++],L=o[D++];b<p[0]&&(p[0]=b),S<p[1]&&(p[1]=S),L<p[2]&&(p[2]=L),b>C[0]&&(C[0]=b),S>C[1]&&(C[1]=S),L>C[2]&&(C[2]=L)}v._dirty=!0,y._dirty=!0}},dirty:function(){for(var i=this.getEnabledAttributes(),o=0;o<i.length;o++)this.dirtyAttribute(i[o]);this.dirtyIndices(),this._enabledAttributes=null,this._cache.dirty("any")},dirtyIndices:function(){this._cache.dirtyAll("indices")},dirtyAttribute:function(i){this._cache.dirtyAll(s(i)),this._cache.dirtyAll("attributes")},getTriangleIndices:function(i,o){if(i<this.triangleCount&&i>=0){o||(o=r());var v=this.indices;return o[0]=v[i*3],o[1]=v[i*3+1],o[2]=v[i*3+2],o}},setTriangleIndices:function(i,o){var v=this.indices;v[i*3]=o[0],v[i*3+1]=o[1],v[i*3+2]=o[2]},isUseIndices:function(){return!!this.indices},initIndicesFromArray:function(i){var o,v=this.vertexCount>65535?m.a.Uint32Array:m.a.Uint16Array;if(i[0]&&i[0].length){var y=0,p=3;o=new v(i.length*p);for(var C=0;C<i.length;C++)for(var D=0;D<p;D++)o[y++]=i[C][D]}else o=new v(i);this.indices=o},createAttribute:function(i,o,v,y){var p=new l(i,o,v,y);return this.attributes[i]&&this.removeAttribute(i),this.attributes[i]=p,this._attributeList.push(i),p},removeAttribute:function(i){var o=this._attributeList,v=o.indexOf(i);return v>=0?(o.splice(v,1),delete this.attributes[i],!0):!1},getAttribute:function(i){return this.attributes[i]},getEnabledAttributes:function(){var i=this._enabledAttributes,o=this._attributeList;if(i)return i;for(var v=[],y=this.vertexCount,p=0;p<o.length;p++){var C=o[p],D=this.attributes[C];D.value&&D.value.length===y*D.size&&v.push(C)}return this._enabledAttributes=v,v},getBufferChunks:function(i){var o=this._cache;o.use(i.__uid__);var v=o.isDirty("attributes"),y=o.isDirty("indices");if(v||y){this._updateBuffer(i.gl,v,y);for(var p=this.getEnabledAttributes(),C=0;C<p.length;C++)o.fresh(s(p[C]));o.fresh("attributes"),o.fresh("indices")}return o.fresh("any"),o.get("chunks")},_updateBuffer:function(i,o,v){var y=this._cache,p=y.get("chunks"),C=!1;p||(p=[],p[0]={attributeBuffers:[],indicesBuffer:null},y.put("chunks",p),C=!0);var D=p[0],b=D.attributeBuffers,S=D.indicesBuffer;if(o||C){var L=this.getEnabledAttributes(),w={};if(!C)for(var P=0;P<b.length;P++)w[b[P].name]=b[P];for(var I=0;I<L.length;I++){var R=L[I],B=this.attributes[R],F;C||(F=w[R]);var W;F?W=F.buffer:W=i.createBuffer(),y.isDirty(s(R))&&(i.bindBuffer(i.ARRAY_BUFFER,W),i.bufferData(i.ARRAY_BUFFER,B.value,this.dynamic?A.a.DYNAMIC_DRAW:A.a.STATIC_DRAW)),b[I]=new d(R,B.type,W,B.size,B.semantic)}for(var P=I;P<b.length;P++)i.deleteBuffer(b[P].buffer);b.length=I}this.isUseIndices()&&(v||C)&&(S||(S=new e(i.createBuffer()),D.indicesBuffer=S),S.count=this.indices.length,i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,S.buffer),i.bufferData(i.ELEMENT_ARRAY_BUFFER,this.indices,this.dynamic?A.a.DYNAMIC_DRAW:A.a.STATIC_DRAW))},generateVertexNormals:function(){if(this.vertexCount){var i=this.indices,o=this.attributes,v=o.position.value,y=o.normal.value;if(!y||y.length!==v.length)y=o.normal.value=new m.a.Float32Array(v.length);else for(var p=0;p<y.length;p++)y[p]=0;for(var C=r(),D=r(),b=r(),S=r(),L=r(),w=r(),P=i?i.length:this.vertexCount,I,R,B,F=0;F<P;){i?(I=i[F++],R=i[F++],B=i[F++]):(I=F++,R=F++,B=F++),a(C,v[I*3],v[I*3+1],v[I*3+2]),a(D,v[R*3],v[R*3+1],v[R*3+2]),a(b,v[B*3],v[B*3+1],v[B*3+2]),u.sub(S,C,D),u.sub(L,D,b),u.cross(w,S,L);for(var p=0;p<3;p++)y[I*3+p]=y[I*3+p]+w[p],y[R*3+p]=y[R*3+p]+w[p],y[B*3+p]=y[B*3+p]+w[p]}for(var p=0;p<y.length;)a(w,y[p],y[p+1],y[p+2]),u.normalize(w,w),y[p++]=w[0],y[p++]=w[1],y[p++]=w[2];this.dirty()}},generateFaceNormals:function(){if(this.vertexCount){this.isUniqueVertex()||this.generateUniqueVertex();var i=this.indices,o=this.attributes,v=o.position.value,y=o.normal.value,p=r(),C=r(),D=r(),b=r(),S=r(),L=r();y||(y=o.normal.value=new Float32Array(v.length));for(var w=i?i.length:this.vertexCount,P,I,R,B=0;B<w;){i?(P=i[B++],I=i[B++],R=i[B++]):(P=B++,I=B++,R=B++),a(p,v[P*3],v[P*3+1],v[P*3+2]),a(C,v[I*3],v[I*3+1],v[I*3+2]),a(D,v[R*3],v[R*3+1],v[R*3+2]),u.sub(b,p,C),u.sub(S,C,D),u.cross(L,b,S),u.normalize(L,L);for(var F=0;F<3;F++)y[P*3+F]=L[F],y[I*3+F]=L[F],y[R*3+F]=L[F]}this.dirty()}},generateTangents:function(){if(this.vertexCount){var i=this.vertexCount,o=this.attributes;o.tangent.value||(o.tangent.value=new Float32Array(i*4));var v=o.texcoord0.value,y=o.position.value,p=o.tangent.value,C=o.normal.value;if(!v){console.warn("Geometry without texcoords can't generate tangents.");return}for(var D=[],b=[],S=0;S<i;S++)D[S]=[0,0,0],b[S]=[0,0,0];for(var L=[0,0,0],w=[0,0,0],P=this.indices,I=P?P.length:this.vertexCount,R,B,F,S=0;S<I;){P?(R=P[S++],B=P[S++],F=P[S++]):(R=S++,B=S++,F=S++);var W=v[R*2],G=v[B*2],j=v[F*2],Y=v[R*2+1],ee=v[B*2+1],ae=v[F*2+1],le=y[R*3],_e=y[B*3],he=y[F*3],ve=y[R*3+1],Ae=y[B*3+1],ge=y[F*3+1],fe=y[R*3+2],Ee=y[B*3+2],ue=y[F*3+2],oe=_e-le,X=he-le,re=Ae-ve,V=ge-ve,ne=Ee-fe,Z=ue-fe,$=G-W,se=j-W,q=ee-Y,ie=ae-Y,de=1/($*ie-q*se);L[0]=(ie*oe-q*X)*de,L[1]=(ie*re-q*V)*de,L[2]=(ie*ne-q*Z)*de,w[0]=($*X-se*oe)*de,w[1]=($*V-se*re)*de,w[2]=($*Z-se*ne)*de,n(D[R],D[R],L),n(D[B],D[B],L),n(D[F],D[F],L),n(b[R],b[R],w),n(b[B],b[B],w),n(b[F],b[F],w)}for(var me=r(),Ce=r(),Oe=r(),S=0;S<i;S++){Oe[0]=C[S*3],Oe[1]=C[S*3+1],Oe[2]=C[S*3+2];var Ne=D[S];u.scale(me,Oe,u.dot(Oe,Ne)),u.sub(me,Ne,me),u.normalize(me,me),u.cross(Ce,Oe,Ne),p[S*4]=me[0],p[S*4+1]=me[1],p[S*4+2]=me[2],p[S*4+3]=u.dot(Ce,b[S])<0?-1:1}this.dirty()}},isUniqueVertex:function(){return this.isUseIndices()?this.vertexCount===this.indices.length:!0},generateUniqueVertex:function(){if(!(!this.vertexCount||!this.indices)){this.indices.length>65535&&(this.indices=new m.a.Uint32Array(this.indices));for(var i=this.attributes,o=this.indices,v=this.getEnabledAttributes(),y={},p=0;p<v.length;p++){var C=v[p];y[C]=i[C].value,i[C].init(this.indices.length)}for(var D=0,b=0;b<o.length;b++){for(var S=o[b],p=0;p<v.length;p++)for(var C=v[p],L=i[C].value,w=i[C].size,P=0;P<w;P++)L[D*w+P]=y[C][S*w+P];o[b]=D,D++}this.dirty()}},generateBarycentric:function(){if(this.vertexCount){this.isUniqueVertex()||this.generateUniqueVertex();var i=this.attributes,o=i.barycentric.value,v=this.indices;if(!(o&&o.length===v.length*3)){o=i.barycentric.value=new Float32Array(v.length*3);for(var y=0;y<(v?v.length:this.vertexCount/3);)for(var p=0;p<3;p++){var C=v?v[y++]:y*3+p;o[C*3+p]=1}this.dirty()}}},applyTransform:function(i){var o=this.attributes,v=o.position.value,y=o.normal.value,p=o.tangent.value;i=i.array;var C=h.create();h.invert(C,i),h.transpose(C,C);var D=u.transformMat4,b=u.forEach;b(v,3,0,null,D,i),y&&b(y,3,0,null,D,C),p&&b(p,4,0,null,D,C),this.boundingBox&&this.updateBoundingBox()},dispose:function(i){var o=this._cache;o.use(i.__uid__);var v=o.get("chunks");if(v)for(var y=0;y<v.length;y++){for(var p=v[y],C=0;C<p.attributeBuffers.length;C++){var D=p.attributeBuffers[C];i.gl.deleteBuffer(D.buffer)}p.indicesBuffer&&i.gl.deleteBuffer(p.indicesBuffer.buffer)}o.deleteContext(i.__uid__)}});Object.defineProperty&&(Object.defineProperty(t.prototype,"vertexCount",{enumerable:!1,get:function(){var i=this.attributes[this.mainAttribute];return!i||!i.value?0:i.value.length/i.size}}),Object.defineProperty(t.prototype,"triangleCount",{enumerable:!1,get:function(){var i=this.indices;return i?i.length/3:0}})),t.STATIC_DRAW=A.a.STATIC_DRAW,t.DYNAMIC_DRAW=A.a.DYNAMIC_DRAW,t.STREAM_DRAW=A.a.STREAM_DRAW,t.AttributeBuffer=d,t.IndicesBuffer=e,t.Attribute=l,O.a=t},function(K,O,E){"use strict";var M=E(8),A=E(30),_=E(37),m=E(7),x=E(17),g=E(24),c=E(11),u=E(109);m.a.import(u.a);var h=new _.a,r=new g.a({geometry:h,frustumCulling:!1}),n=new A.a,a=M.a.extend(function(){return{fragment:"",outputs:null,material:null,blendWithPrevious:!1,clearColor:!1,clearDepth:!0}},function(){var f=new m.a(m.a.source("clay.compositor.vertex"),this.fragment),s=new x.a({shader:f});s.enableTexturesAll(),this.material=s},{setUniform:function(f,s){this.material.setUniform(f,s)},getUniform:function(f){var s=this.material.uniforms[f];if(s)return s.value},attachOutput:function(f,s){this.outputs||(this.outputs={}),s=s||c.a.COLOR_ATTACHMENT0,this.outputs[s]=f},detachOutput:function(f){for(var s in this.outputs)this.outputs[s]===f&&(this.outputs[s]=null)},bind:function(f,s){if(this.outputs)for(var l in this.outputs){var d=this.outputs[l];d&&s.attach(d,l)}s&&s.bind(f)},unbind:function(f,s){s.unbind(f)},render:function(f,s){var l=f.gl;if(s){this.bind(f,s);var d=f.getGLExtension("EXT_draw_buffers");if(d&&this.outputs){var e=[];for(var t in this.outputs)t=+t,t>=l.COLOR_ATTACHMENT0&&t<=l.COLOR_ATTACHMENT0+8&&e.push(t);d.drawBuffersEXT(e)}}this.trigger("beforerender",this,f);var i=this.clearDepth?l.DEPTH_BUFFER_BIT:0;if(l.depthMask(!0),this.clearColor){i=i|l.COLOR_BUFFER_BIT,l.colorMask(!0,!0,!0,!0);var o=this.clearColor;Array.isArray(o)&&l.clearColor(o[0],o[1],o[2],o[3])}l.clear(i),this.blendWithPrevious?(l.enable(l.BLEND),this.material.transparent=!0):(l.disable(l.BLEND),this.material.transparent=!1),this.renderQuad(f),this.trigger("afterrender",this,f),s&&this.unbind(f,s)},renderQuad:function(f){r.material=this.material,f.renderPass([r],n)},dispose:function(f){}});O.a=a},function(K,O,E){"use strict";var M=E(4),A=E(1),_=E.n(A),m=_.a.vec3,x=m.copy,g=m.set,c=function(u,h){this.min=u||new M.a(1/0,1/0,1/0),this.max=h||new M.a(-1/0,-1/0,-1/0)};c.prototype={constructor:c,updateFromVertices:function(u){if(u.length>0){var h=this.min,r=this.max,n=h.array,a=r.array;x(n,u[0]),x(a,u[0]);for(var f=1;f<u.length;f++){var s=u[f];s[0]<n[0]&&(n[0]=s[0]),s[1]<n[1]&&(n[1]=s[1]),s[2]<n[2]&&(n[2]=s[2]),s[0]>a[0]&&(a[0]=s[0]),s[1]>a[1]&&(a[1]=s[1]),s[2]>a[2]&&(a[2]=s[2])}h._dirty=!0,r._dirty=!0}},union:function(u){var h=this.min,r=this.max;return m.min(h.array,h.array,u.min.array),m.max(r.array,r.array,u.max.array),h._dirty=!0,r._dirty=!0,this},intersection:function(u){var h=this.min,r=this.max;return m.max(h.array,h.array,u.min.array),m.min(r.array,r.array,u.max.array),h._dirty=!0,r._dirty=!0,this},intersectBoundingBox:function(u){var h=this.min.array,r=this.max.array,n=u.min.array,a=u.max.array;return!(h[0]>a[0]||h[1]>a[1]||h[2]>a[2]||r[0]<n[0]||r[1]<n[1]||r[2]<n[2])},containBoundingBox:function(u){var h=this.min.array,r=this.max.array,n=u.min.array,a=u.max.array;return h[0]<=n[0]&&h[1]<=n[1]&&h[2]<=n[2]&&r[0]>=a[0]&&r[1]>=a[1]&&r[2]>=a[2]},containPoint:function(u){var h=this.min.array,r=this.max.array,n=u.array;return h[0]<=n[0]&&h[1]<=n[1]&&h[2]<=n[2]&&r[0]>=n[0]&&r[1]>=n[1]&&r[2]>=n[2]},isFinite:function(){var u=this.min.array,h=this.max.array;return isFinite(u[0])&&isFinite(u[1])&&isFinite(u[2])&&isFinite(h[0])&&isFinite(h[1])&&isFinite(h[2])},applyTransform:function(){var u=m.create(),h=m.create(),r=m.create(),n=m.create(),a=m.create(),f=m.create();return function(s){var l=this.min.array,d=this.max.array,e=s.array;return u[0]=e[0]*l[0],u[1]=e[1]*l[0],u[2]=e[2]*l[0],h[0]=e[0]*d[0],h[1]=e[1]*d[0],h[2]=e[2]*d[0],r[0]=e[4]*l[1],r[1]=e[5]*l[1],r[2]=e[6]*l[1],n[0]=e[4]*d[1],n[1]=e[5]*d[1],n[2]=e[6]*d[1],a[0]=e[8]*l[2],a[1]=e[9]*l[2],a[2]=e[10]*l[2],f[0]=e[8]*d[2],f[1]=e[9]*d[2],f[2]=e[10]*d[2],l[0]=Math.min(u[0],h[0])+Math.min(r[0],n[0])+Math.min(a[0],f[0])+e[12],l[1]=Math.min(u[1],h[1])+Math.min(r[1],n[1])+Math.min(a[1],f[1])+e[13],l[2]=Math.min(u[2],h[2])+Math.min(r[2],n[2])+Math.min(a[2],f[2])+e[14],d[0]=Math.max(u[0],h[0])+Math.max(r[0],n[0])+Math.max(a[0],f[0])+e[12],d[1]=Math.max(u[1],h[1])+Math.max(r[1],n[1])+Math.max(a[1],f[1])+e[13],d[2]=Math.max(u[2],h[2])+Math.max(r[2],n[2])+Math.max(a[2],f[2])+e[14],this.min._dirty=!0,this.max._dirty=!0,this}}(),applyProjection:function(u){var h=this.min.array,r=this.max.array,n=u.array,a=h[0],f=h[1],s=h[2],l=r[0],d=r[1],e=h[2],t=r[0],i=r[1],o=r[2];if(n[15]===1)h[0]=n[0]*a+n[12],h[1]=n[5]*f+n[13],r[2]=n[10]*s+n[14],r[0]=n[0]*t+n[12],r[1]=n[5]*i+n[13],h[2]=n[10]*o+n[14];else{var v=-1/s;h[0]=n[0]*a*v,h[1]=n[5]*f*v,r[2]=(n[10]*s+n[14])*v,v=-1/e,r[0]=n[0]*l*v,r[1]=n[5]*d*v,v=-1/o,h[2]=(n[10]*o+n[14])*v}return this.min._dirty=!0,this.max._dirty=!0,this},updateVertices:function(){var u=this.vertices;if(!u){for(var u=[],h=0;h<8;h++)u[h]=m.fromValues(0,0,0);this.vertices=u}var r=this.min.array,n=this.max.array;return g(u[0],r[0],r[1],r[2]),g(u[1],r[0],n[1],r[2]),g(u[2],n[0],r[1],r[2]),g(u[3],n[0],n[1],r[2]),g(u[4],r[0],r[1],n[2]),g(u[5],r[0],n[1],n[2]),g(u[6],n[0],r[1],n[2]),g(u[7],n[0],n[1],n[2]),this},copy:function(u){var h=this.min,r=this.max;return x(h.array,u.min.array),x(r.array,u.max.array),h._dirty=!0,r._dirty=!0,this},clone:function(){var u=new c;return u.copy(this),u}},O.a=c},function(K,O,E){"use strict";O.a=function(M,A,_){return{seriesType:M,reset:function(m,x){var g=m.getData(),c=m.visualColorAccessPath.split(".");c[c.length-1]="opacity";var u=m.get(c);g.setVisual("opacity",u==null?1:u);function h(r){var n=g.getItemModel(r),a=n.get(c);a!=null&&g.setItemVisual(r,"opacity",a)}return{dataEach:g.hasItemOption?h:null}}}}},function(K,O,E){"use strict";var M=E(8),A=E(6),_=E(21),m=E(93),x=m.a.parseToFloat,g={};function c(r,n,a){var f=Object.keys(r);f.sort();for(var s=[],l=0;l<f.length;l++){var d=f[l],e=r[d];e===null?s.push(d):s.push(d+" "+e.toString())}return s.join(`
|
|
`)}function u(r,n,a){a.sort();for(var f=[],s=0;s<a.length;s++){var l=a[s];f.push(l)}var d=c(r)+`
|
|
`+c(n)+`
|
|
`+f.join(`
|
|
`);if(g[d])return g[d];var e=_.a.genGUID();return g[d]=e,e}var h=M.a.extend(function(){return{name:"",depthTest:!0,depthMask:!0,transparent:!1,blend:null,autoUpdateTextureStatus:!0,uniforms:{},vertexDefines:{},fragmentDefines:{},_textureStatus:{},_enabledUniforms:null}},function(){this.name||(this.name="MATERIAL_"+this.__uid__),this.shader&&this.attachShader(this.shader,!0)},{precision:"highp",bind:function(r,n,a,f){for(var s=r.gl,l=n.currentTextureSlot(),d=0;d<this._enabledUniforms.length;d++){var e=this._enabledUniforms[d],t=this.uniforms[e].value;if(t instanceof A.a)t.__slot=-1;else if(Array.isArray(t))for(var i=0;i<t.length;i++)t[i]instanceof A.a&&(t[i].__slot=-1)}for(var d=0;d<this._enabledUniforms.length;d++){var e=this._enabledUniforms[d],o=this.uniforms[e],t=o.value;if(t===null){if(o.type==="t"){var v=n.currentTextureSlot(),y=n.setUniform(s,"1i",e,v);y&&n.takeCurrentTextureSlot(r,null)}continue}else if(t instanceof A.a)if(t.__slot<0){var v=n.currentTextureSlot(),y=n.setUniform(s,"1i",e,v);if(!y)continue;n.takeCurrentTextureSlot(r,t),t.__slot=v}else n.setUniform(s,"1i",e,t.__slot);else if(Array.isArray(t)){if(t.length===0)continue;var p=t[0];if(p instanceof A.a){if(!n.hasUniform(e))continue;for(var C=[],i=0;i<t.length;i++){var D=t[i];if(D.__slot<0){var v=n.currentTextureSlot();C.push(v),n.takeCurrentTextureSlot(r,D),D.__slot=v}else C.push(D.__slot)}n.setUniform(s,"1iv",e,C)}else n.setUniform(s,o.type,e,t)}else n.setUniform(s,o.type,e,t)}n.resetTextureSlot(l)},setUniform:function(r,n){n===void 0&&console.warn('Uniform value "'+r+'" is undefined');var a=this.uniforms[r];a&&(typeof n=="string"&&(n=x(n)||n),a.value=n,this.autoUpdateTextureStatus&&a.type==="t"&&(n?this.enableTexture(r):this.disableTexture(r)))},setUniforms:function(r){for(var n in r){var a=r[n];this.setUniform(n,a)}},isUniformEnabled:function(r){return this._enabledUniforms.indexOf(r)>=0},getEnabledUniforms:function(){return this._enabledUniforms},getTextureUniforms:function(){return this._textureUniforms},set:function(r,n){if(typeof r=="object")for(var a in r){var f=r[a];this.setUniform(a,f)}else this.setUniform(r,n)},get:function(r){var n=this.uniforms[r];if(n)return n.value},attachShader:function(r,n){var a=this.uniforms;this.uniforms=r.createUniforms(),this.shader=r;var f=this.uniforms;this._enabledUniforms=Object.keys(f),this._enabledUniforms.sort(),this._textureUniforms=this._enabledUniforms.filter(function(i){var o=this.uniforms[i].type;return o==="t"||o==="tv"},this);var s=this.vertexDefines,l=this.fragmentDefines;if(this.vertexDefines=_.a.clone(r.vertexDefines),this.fragmentDefines=_.a.clone(r.fragmentDefines),n){for(var d in a)f[d]&&(f[d].value=a[d].value);_.a.defaults(this.vertexDefines,s),_.a.defaults(this.fragmentDefines,l)}var e={};for(var t in r.textures)e[t]={shaderType:r.textures[t].shaderType,type:r.textures[t].type,enabled:n&&this._textureStatus[t]?this._textureStatus[t].enabled:!1};this._textureStatus=e,this._programKey=""},clone:function(){var r=new this.constructor({name:this.name,shader:this.shader});for(var n in this.uniforms)r.uniforms[n].value=this.uniforms[n].value;return r.depthTest=this.depthTest,r.depthMask=this.depthMask,r.transparent=this.transparent,r.blend=this.blend,r.vertexDefines=_.a.clone(this.vertexDefines),r.fragmentDefines=_.a.clone(this.fragmentDefines),r.enableTexture(this.getEnabledTextures()),r.precision=this.precision,r},define:function(r,n,a){var f=this.vertexDefines,s=this.fragmentDefines;r!=="vertex"&&r!=="fragment"&&r!=="both"&&arguments.length<3&&(a=n,n=r,r="both"),a=a!=null?a:null,(r==="vertex"||r==="both")&&f[n]!==a&&(f[n]=a,this._programKey=""),(r==="fragment"||r==="both")&&s[n]!==a&&(s[n]=a,r!=="both"&&(this._programKey=""))},undefine:function(r,n){r!=="vertex"&&r!=="fragment"&&r!=="both"&&arguments.length<2&&(n=r,r="both"),(r==="vertex"||r==="both")&&this.isDefined("vertex",n)&&(delete this.vertexDefines[n],this._programKey=""),(r==="fragment"||r==="both")&&this.isDefined("fragment",n)&&(delete this.fragmentDefines[n],r!=="both"&&(this._programKey=""))},isDefined:function(r,n){switch(r){case"vertex":return this.vertexDefines[n]!==void 0;case"fragment":return this.fragmentDefines[n]!==void 0}},getDefine:function(r,n){switch(r){case"vertex":return this.vertexDefines[n];case"fragment":return this.fragmentDefines[n]}},enableTexture:function(r){if(Array.isArray(r)){for(var n=0;n<r.length;n++)this.enableTexture(r[n]);return}var a=this._textureStatus[r];if(a){var f=a.enabled;f||(a.enabled=!0,this._programKey="")}},enableTexturesAll:function(){var r=this._textureStatus;for(var n in r)r[n].enabled=!0;this._programKey=""},disableTexture:function(r){if(Array.isArray(r)){for(var n=0;n<r.length;n++)this.disableTexture(r[n]);return}var a=this._textureStatus[r];if(a){var f=!a.enabled;f||(a.enabled=!1,this._programKey="")}},disableTexturesAll:function(){var r=this._textureStatus;for(var n in r)r[n].enabled=!1;this._programKey=""},isTextureEnabled:function(r){var n=this._textureStatus;return!!n[r]&&n[r].enabled},getEnabledTextures:function(){var r=[],n=this._textureStatus;for(var a in n)n[a].enabled&&r.push(a);return r},dirtyDefines:function(){this._programKey=""}});Object.defineProperty&&(Object.defineProperty(h.prototype,"shader",{get:function(){return this._shader||null},set:function(r){this._shader=r}}),Object.defineProperty(h.prototype,"programKey",{get:function(){return this._programKey||(this._programKey=u(this.vertexDefines,this.fragmentDefines,this.getEnabledTextures())),this._programKey}})),O.a=h},function(K,O,E){"use strict";var M=!0;try{var A=document.createElement("canvas"),_=A.getContext("webgl")||A.getContext("experimental-webgl");if(!_)throw new Error}catch(x){M=!1}var m={};m.supportWebGL=function(){return M},m.Int8Array=typeof Int8Array=="undefined"?Array:Int8Array,m.Uint8Array=typeof Uint8Array=="undefined"?Array:Uint8Array,m.Uint16Array=typeof Uint16Array=="undefined"?Array:Uint16Array,m.Uint32Array=typeof Uint32Array=="undefined"?Array:Uint32Array,m.Int16Array=typeof Int16Array=="undefined"?Array:Int16Array,m.Float32Array=typeof Float32Array=="undefined"?Array:Float32Array,m.Float64Array=typeof Float64Array=="undefined"?Array:Float64Array,O.a=m},function(K,O,E){"use strict";var M=E(28),A=M.a.extend(function(){return{color:[1,1,1],intensity:1,castShadow:!0,shadowResolution:512,group:0}},{type:"",clone:function(){var _=M.a.prototype.clone.call(this);return _.color=Array.prototype.slice.call(this.color),_.intensity=this.intensity,_.castShadow=this.castShadow,_.shadowResolution=this.shadowResolution,_}});O.a=A},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(29),m=E(152),x=E(36),g=E(30),c=E(9),u=E(4),h=E(23),r=E(47),n=E(155),a=E(182),f=E(43);function s(d){d=d||"perspective",this.layer=null,this.scene=new _.a,this.rootNode=this.scene,this.viewport={x:0,y:0,width:0,height:0},this.setProjection(d),this._compositor=new n.a,this._temporalSS=new a.a,this._shadowMapPass=new m.a;for(var e=[],t=0,i=0;i<30;i++){for(var o=[],v=0;v<6;v++)o.push(Object(f.a)(t,2)*4-2),o.push(Object(f.a)(t,3)*4-2),t++;e.push(o)}this._pcfKernels=e,this.scene.on("beforerender",function(y,p,C){this.needsTemporalSS()&&this._temporalSS.jitterProjection(y,C)},this)}s.prototype.setProjection=function(d){var e=this.camera;e&&e.update(),d==="perspective"?this.camera instanceof x.a||(this.camera=new x.a,e&&this.camera.setLocalTransform(e.localTransform)):this.camera instanceof g.a||(this.camera=new g.a,e&&this.camera.setLocalTransform(e.localTransform)),this.camera.near=.1,this.camera.far=2e3},s.prototype.setViewport=function(d,e,t,i,o){this.camera instanceof x.a&&(this.camera.aspect=t/i),o=o||1,this.viewport.x=d,this.viewport.y=e,this.viewport.width=t,this.viewport.height=i,this.viewport.devicePixelRatio=o,this._compositor.resize(t*o,i*o),this._temporalSS.resize(t*o,i*o)},s.prototype.containPoint=function(d,e){var t=this.viewport,i=this.layer.renderer.getHeight();return e=i-e,d>=t.x&&e>=t.y&&d<=t.x+t.width&&e<=t.y+t.height};var l=new h.a;s.prototype.castRay=function(d,e,t){var i=this.layer.renderer,o=i.viewport;return i.viewport=this.viewport,i.screenToNDC(d,e,l),this.camera.castRay(l,t),i.viewport=o,t},s.prototype.prepareRender=function(){this.scene.update(),this.camera.update(),this._needsSortProgressively=!1;for(var d=0;d<this.scene.transparentList.length;d++){var e=this.scene.transparentList[d],t=e.geometry;t.needsSortVerticesProgressively&&t.needsSortVerticesProgressively()&&(this._needsSortProgressively=!0),t.needsSortTrianglesProgressively&&t.needsSortTrianglesProgressively()&&(this._needsSortProgressively=!0)}this._frame=0,this._temporalSS.resetFrame()},s.prototype.render=function(d,e){this._doRender(d,e,this._frame),this._frame++},s.prototype.needsAccumulate=function(){return this.needsTemporalSS()||this._needsSortProgressively},s.prototype.needsTemporalSS=function(){var d=this._enableTemporalSS;return d=="auto"&&(d=this._enablePostEffect),d},s.prototype.hasDOF=function(){return this._enableDOF},s.prototype.isAccumulateFinished=function(){return this.needsTemporalSS()?this._temporalSS.isFinished():this._frame>30},s.prototype._doRender=function(d,e,t){var i=this.scene,o=this.camera;if(t=t||0,this._updateTransparent(d,i,o,t),e||(this._shadowMapPass.kernelPCF=this._pcfKernels[0],this._shadowMapPass.render(d,i,o,!0)),this._updateShadowPCFKernel(t),d.gl.clearColor(0,0,0,0),this._enablePostEffect&&(this.needsTemporalSS()&&this._temporalSS.jitterProjection(d,o),this._compositor.updateNormal(d,i,o,this._temporalSS.getFrame())),this._updateSSAO(d,i,o,this._temporalSS.getFrame()),this._enablePostEffect){var v=this._compositor.getSourceFrameBuffer();v.bind(d),d.gl.clear(d.gl.DEPTH_BUFFER_BIT|d.gl.COLOR_BUFFER_BIT),d.render(i,o,!0,!0),v.unbind(d),this.needsTemporalSS()&&e?(this._compositor.composite(d,o,this._temporalSS.getSourceFrameBuffer(),this._temporalSS.getFrame()),d.setViewport(this.viewport),this._temporalSS.render(d)):(d.setViewport(this.viewport),this._compositor.composite(d,o,null,0))}else if(this.needsTemporalSS()&&e){var v=this._temporalSS.getSourceFrameBuffer();v.bind(d),d.saveClear(),d.clearBit=d.gl.DEPTH_BUFFER_BIT|d.gl.COLOR_BUFFER_BIT,d.render(i,o,!0,!0),d.restoreClear(),v.unbind(d),d.setViewport(this.viewport),this._temporalSS.render(d)}else d.setViewport(this.viewport),d.render(i,o,!0,!0)},s.prototype._updateTransparent=function(d,e,t,i){for(var o=new u.a,v=new c.a,y=t.getWorldPosition(),p=0;p<e.transparentList.length;p++){var C=e.transparentList[p],D=C.geometry;c.a.invert(v,C.worldTransform),u.a.transformMat4(o,y,v),D.needsSortTriangles&&D.needsSortTriangles()&&D.doSortTriangles(o,i),D.needsSortVertices&&D.needsSortVertices()&&D.doSortVertices(o,i)}},s.prototype._updateSSAO=function(d,e,t,i){var o=this._enableSSAO&&this._enablePostEffect;o&&this._compositor.updateSSAO(d,e,t,this._temporalSS.getFrame());for(var v=0;v<e.opaqueList.length;v++){var y=e.opaqueList[v];y.renderNormal&&y.material[o?"enableTexture":"disableTexture"]("ssaoMap"),o&&y.material.set("ssaoMap",this._compositor.getSSAOTexture())}},s.prototype._updateShadowPCFKernel=function(d){for(var e=this._pcfKernels[d%this._pcfKernels.length],t=this.scene.opaqueList,i=0;i<t.length;i++)t[i].receiveShadow&&(t[i].material.set("pcfKernel",e),t[i].material.define("fragment","PCF_KERNEL_SIZE",e.length/2))},s.prototype.dispose=function(d){this._compositor.dispose(d.gl),this._temporalSS.dispose(d.gl),this._shadowMapPass.dispose(d)},s.prototype.setPostEffect=function(d,e){var t=this._compositor;this._enablePostEffect=d.get("enable");var i=d.getModel("bloom"),o=d.getModel("edge"),v=d.getModel("DOF",d.getModel("depthOfField")),y=d.getModel("SSAO",d.getModel("screenSpaceAmbientOcclusion")),p=d.getModel("SSR",d.getModel("screenSpaceReflection")),C=d.getModel("FXAA"),D=d.getModel("colorCorrection");i.get("enable")?t.enableBloom():t.disableBloom(),v.get("enable")?t.enableDOF():t.disableDOF(),p.get("enable")?t.enableSSR():t.disableSSR(),D.get("enable")?t.enableColorCorrection():t.disableColorCorrection(),o.get("enable")?t.enableEdge():t.disableEdge(),C.get("enable")?t.enableFXAA():t.disableFXAA(),this._enableDOF=v.get("enable"),this._enableSSAO=y.get("enable"),this._enableSSAO?t.enableSSAO():t.disableSSAO(),t.setBloomIntensity(i.get("intensity")),t.setEdgeColor(o.get("color")),t.setColorLookupTexture(D.get("lookupTexture"),e),t.setExposure(D.get("exposure")),["radius","quality","intensity"].forEach(function(b){t.setSSAOParameter(b,y.get(b))}),["quality","maxRoughness"].forEach(function(b){t.setSSRParameter(b,p.get(b))}),["quality","focalDistance","focalRange","blurRadius","fstop"].forEach(function(b){t.setDOFParameter(b,v.get(b))}),["brightness","contrast","saturation"].forEach(function(b){t.setColorCorrection(b,D.get(b))})},s.prototype.setDOFFocusOnPoint=function(d){if(this._enablePostEffect)return d>this.camera.far||d<this.camera.near?void 0:(this._compositor.setDOFParameter("focalDistance",d),!0)},s.prototype.setTemporalSuperSampling=function(d){this._enableTemporalSS=d.get("enable")},s.prototype.isLinearSpace=function(){return this._enablePostEffect},s.prototype.setRootNode=function(d){if(this.rootNode!==d){for(var e=this.rootNode.children(),t=0;t<e.length;t++)d.add(e[t]);d!==this.scene&&this.scene.add(d),this.rootNode=d}},s.prototype.add=function(d){this.rootNode.add(d)},s.prototype.remove=function(d){this.rootNode.remove(d)},s.prototype.removeAll=function(d){this.rootNode.removeAll(d)},A.a.util.extend(s.prototype,r.a),O.a=s},function(K,O,E){"use strict";var M=0,A=Array.prototype,_=A.forEach,m={genGUID:function(){return++M},relative2absolute:function(x,g){if(!g||x.match(/^\//))return x;for(var c=x.split("/"),u=g.split("/"),h=c[0];h==="."||h==="..";)h===".."&&u.pop(),c.shift(),h=c[0];return u.join("/")+"/"+c.join("/")},extend:function(x,g){if(g)for(var c in g)g.hasOwnProperty(c)&&(x[c]=g[c]);return x},defaults:function(x,g){if(g)for(var c in g)x[c]===void 0&&(x[c]=g[c]);return x},extendWithPropList:function(x,g,c){if(g)for(var u=0;u<c.length;u++){var h=c[u];x[h]=g[h]}return x},defaultsWithPropList:function(x,g,c){if(g)for(var u=0;u<c.length;u++){var h=c[u];x[h]==null&&(x[h]=g[h])}return x},each:function(x,g,c){if(x&&g)if(x.forEach&&x.forEach===_)x.forEach(g,c);else if(x.length===+x.length)for(var u=0,h=x.length;u<h;u++)g.call(c,x[u],u,x);else for(var r in x)x.hasOwnProperty(r)&&g.call(c,x[r],r,x)},isObject:function(x){return x===Object(x)},isArray:function(x){return Array.isArray(x)},isArrayLike:function(x){return x?x.length===+x.length:!1},clone:function(x){if(m.isObject(x)){if(m.isArray(x))return x.slice();if(m.isArrayLike(x)){for(var g=new x.constructor(x.length),c=0;c<x.length;c++)g[c]=x[c];return g}else return m.extend({},x)}else return x}};O.a=m},function(K,O,E){"use strict";var M=E(13),A=E(0),_=E.n(A),m=E(33),x=E(1),g=E.n(x),c=g.a.vec3,u=[[0,0],[1,1]],h=M.a.extend(function(){return{segmentScale:1,dynamic:!0,useNativeLine:!0,attributes:{position:new M.a.Attribute("position","float",3,"POSITION"),positionPrev:new M.a.Attribute("positionPrev","float",3),positionNext:new M.a.Attribute("positionNext","float",3),prevPositionPrev:new M.a.Attribute("prevPositionPrev","float",3),prevPosition:new M.a.Attribute("prevPosition","float",3),prevPositionNext:new M.a.Attribute("prevPositionNext","float",3),offset:new M.a.Attribute("offset","float",1),color:new M.a.Attribute("color","float",4,"COLOR")}}},{resetOffset:function(){this._vertexOffset=0,this._triangleOffset=0,this._itemVertexOffsets=[]},setVertexCount:function(r){var n=this.attributes;this.vertexCount!==r&&(n.position.init(r),n.color.init(r),this.useNativeLine||(n.positionPrev.init(r),n.positionNext.init(r),n.offset.init(r)),r>65535?this.indices instanceof Uint16Array&&(this.indices=new Uint32Array(this.indices)):this.indices instanceof Uint32Array&&(this.indices=new Uint16Array(this.indices)))},setTriangleCount:function(r){this.triangleCount!==r&&(r===0?this.indices=null:this.indices=this.vertexCount>65535?new Uint32Array(r*3):new Uint16Array(r*3))},_getCubicCurveApproxStep:function(r,n,a,f){var s=c.dist(r,n)+c.dist(a,n)+c.dist(f,a),l=1/(s+1)*this.segmentScale;return l},getCubicCurveVertexCount:function(r,n,a,f){var s=this._getCubicCurveApproxStep(r,n,a,f),l=Math.ceil(1/s);return this.useNativeLine?l*2:l*2+2},getCubicCurveTriangleCount:function(r,n,a,f){var s=this._getCubicCurveApproxStep(r,n,a,f),l=Math.ceil(1/s);return this.useNativeLine?0:l*2},getLineVertexCount:function(){return this.getPolylineVertexCount(u)},getLineTriangleCount:function(){return this.getPolylineTriangleCount(u)},getPolylineVertexCount:function(r){var n;if(typeof r=="number")n=r;else{var a=typeof r[0]!="number";n=a?r.length:r.length/3}return this.useNativeLine?(n-1)*2:(n-1)*2+2},getPolylineTriangleCount:function(r){var n;if(typeof r=="number")n=r;else{var a=typeof r[0]!="number";n=a?r.length:r.length/3}return this.useNativeLine?0:Math.max(n-1,0)*2},addCubicCurve:function(r,n,a,f,s,l){l==null&&(l=1);for(var d=r[0],e=r[1],t=r[2],i=n[0],o=n[1],v=n[2],y=a[0],p=a[1],C=a[2],D=f[0],b=f[1],S=f[2],L=this._getCubicCurveApproxStep(r,n,a,f),w=L*L,P=w*L,I=3*L,R=3*w,B=6*w,F=6*P,W=d-i*2+y,G=e-o*2+p,j=t-v*2+C,Y=(i-y)*3-d+D,ee=(o-p)*3-e+b,ae=(v-C)*3-t+S,le=d,_e=e,he=t,ve=(i-d)*I+W*R+Y*P,Ae=(o-e)*I+G*R+ee*P,ge=(v-t)*I+j*R+ae*P,fe=W*B+Y*F,Ee=G*B+ee*F,ue=j*B+ae*F,oe=Y*F,X=ee*F,re=ae*F,V=0,ne=0,Z=Math.ceil(1/L),$=new Float32Array((Z+1)*3),$=[],se=0,ne=0;ne<Z+1;ne++)$[se++]=le,$[se++]=_e,$[se++]=he,le+=ve,_e+=Ae,he+=ge,ve+=fe,Ae+=Ee,ge+=ue,fe+=oe,Ee+=X,ue+=re,V+=L,V>1&&(le=ve>0?Math.min(le,D):Math.max(le,D),_e=Ae>0?Math.min(_e,b):Math.max(_e,b),he=ge>0?Math.min(he,S):Math.max(he,S));return this.addPolyline($,s,l)},addLine:function(r,n,a,f){return this.addPolyline([r,n],a,f)},addPolyline:function(r,n,a,f,s){if(r.length){var l=typeof r[0]!="number";if(s==null&&(s=l?r.length:r.length/3),!(s<2)){f==null&&(f=0),a==null&&(a=1),this._itemVertexOffsets.push(this._vertexOffset);var l=typeof r[0]!="number",d=l?typeof n[0]!="number":n.length/4===s,e=this.attributes.position,t=this.attributes.positionPrev,i=this.attributes.positionNext,o=this.attributes.color,v=this.attributes.offset,y=this.indices,p=this._vertexOffset,C,D;a=Math.max(a,.01);for(var b=f;b<s;b++){if(l)C=r[b],d?D=n[b]:D=n;else{var S=b*3;if(C=C||[],C[0]=r[S],C[1]=r[S+1],C[2]=r[S+2],d){var L=b*4;D=D||[],D[0]=n[L],D[1]=n[L+1],D[2]=n[L+2],D[3]=n[L+3]}else D=n}if(this.useNativeLine?b>1&&(e.copy(p,p-1),o.copy(p,p-1),p++):(b<s-1&&(t.set(p+2,C),t.set(p+3,C)),b>0&&(i.set(p-2,C),i.set(p-1,C)),e.set(p,C),e.set(p+1,C),o.set(p,D),o.set(p+1,D),v.set(p,a/2),v.set(p+1,-a/2),p+=2),this.useNativeLine)o.set(p,D),e.set(p,C),p++;else if(b>0){var w=this._triangleOffset*3,y=this.indices;y[w]=p-4,y[w+1]=p-3,y[w+2]=p-2,y[w+3]=p-3,y[w+4]=p-1,y[w+5]=p-2,this._triangleOffset+=2}}if(!this.useNativeLine){var P=this._vertexOffset,I=this._vertexOffset+s*2;t.copy(P,P+2),t.copy(P+1,P+3),i.copy(I-1,I-3),i.copy(I-2,I-4)}return this._vertexOffset=p,this._vertexOffset}}},setItemColor:function(r,n){for(var a=this._itemVertexOffsets[r],f=r<this._itemVertexOffsets.length-1?this._itemVertexOffsets[r+1]:this._vertexOffset,s=a;s<f;s++)this.attributes.color.set(s,n);this.dirty("color")},currentTriangleOffset:function(){return this._triangleOffset},currentVertexOffset:function(){return this._vertexOffset}});_.a.util.defaults(h.prototype,m.a),O.a=h},function(K,O,E){"use strict";var M=E(1),A=E.n(M),_=A.a.vec2,m=function(g,c){g=g||0,c=c||0,this.array=_.fromValues(g,c),this._dirty=!0};if(m.prototype={constructor:m,add:function(g){return _.add(this.array,this.array,g.array),this._dirty=!0,this},set:function(g,c){return this.array[0]=g,this.array[1]=c,this._dirty=!0,this},setArray:function(g){return this.array[0]=g[0],this.array[1]=g[1],this._dirty=!0,this},clone:function(){return new m(this.x,this.y)},copy:function(g){return _.copy(this.array,g.array),this._dirty=!0,this},cross:function(g,c){return _.cross(g.array,this.array,c.array),g._dirty=!0,this},dist:function(g){return _.dist(this.array,g.array)},distance:function(g){return _.distance(this.array,g.array)},div:function(g){return _.div(this.array,this.array,g.array),this._dirty=!0,this},divide:function(g){return _.divide(this.array,this.array,g.array),this._dirty=!0,this},dot:function(g){return _.dot(this.array,g.array)},len:function(){return _.len(this.array)},length:function(){return _.length(this.array)},lerp:function(g,c,u){return _.lerp(this.array,g.array,c.array,u),this._dirty=!0,this},min:function(g){return _.min(this.array,this.array,g.array),this._dirty=!0,this},max:function(g){return _.max(this.array,this.array,g.array),this._dirty=!0,this},mul:function(g){return _.mul(this.array,this.array,g.array),this._dirty=!0,this},multiply:function(g){return _.multiply(this.array,this.array,g.array),this._dirty=!0,this},negate:function(){return _.negate(this.array,this.array),this._dirty=!0,this},normalize:function(){return _.normalize(this.array,this.array),this._dirty=!0,this},random:function(g){return _.random(this.array,g),this._dirty=!0,this},scale:function(g){return _.scale(this.array,this.array,g),this._dirty=!0,this},scaleAndAdd:function(g,c){return _.scaleAndAdd(this.array,this.array,g.array,c),this._dirty=!0,this},sqrDist:function(g){return _.sqrDist(this.array,g.array)},squaredDistance:function(g){return _.squaredDistance(this.array,g.array)},sqrLen:function(){return _.sqrLen(this.array)},squaredLength:function(){return _.squaredLength(this.array)},sub:function(g){return _.sub(this.array,this.array,g.array),this._dirty=!0,this},subtract:function(g){return _.subtract(this.array,this.array,g.array),this._dirty=!0,this},transformMat2:function(g){return _.transformMat2(this.array,this.array,g.array),this._dirty=!0,this},transformMat2d:function(g){return _.transformMat2d(this.array,this.array,g.array),this._dirty=!0,this},transformMat3:function(g){return _.transformMat3(this.array,this.array,g.array),this._dirty=!0,this},transformMat4:function(g){return _.transformMat4(this.array,this.array,g.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}},Object.defineProperty){var x=m.prototype;Object.defineProperty(x,"x",{get:function(){return this.array[0]},set:function(g){this.array[0]=g,this._dirty=!0}}),Object.defineProperty(x,"y",{get:function(){return this.array[1]},set:function(g){this.array[1]=g,this._dirty=!0}})}m.add=function(g,c,u){return _.add(g.array,c.array,u.array),g._dirty=!0,g},m.set=function(g,c,u){return _.set(g.array,c,u),g._dirty=!0,g},m.copy=function(g,c){return _.copy(g.array,c.array),g._dirty=!0,g},m.cross=function(g,c,u){return _.cross(g.array,c.array,u.array),g._dirty=!0,g},m.dist=function(g,c){return _.distance(g.array,c.array)},m.distance=m.dist,m.div=function(g,c,u){return _.divide(g.array,c.array,u.array),g._dirty=!0,g},m.divide=m.div,m.dot=function(g,c){return _.dot(g.array,c.array)},m.len=function(g){return _.length(g.array)},m.lerp=function(g,c,u,h){return _.lerp(g.array,c.array,u.array,h),g._dirty=!0,g},m.min=function(g,c,u){return _.min(g.array,c.array,u.array),g._dirty=!0,g},m.max=function(g,c,u){return _.max(g.array,c.array,u.array),g._dirty=!0,g},m.mul=function(g,c,u){return _.multiply(g.array,c.array,u.array),g._dirty=!0,g},m.multiply=m.mul,m.negate=function(g,c){return _.negate(g.array,c.array),g._dirty=!0,g},m.normalize=function(g,c){return _.normalize(g.array,c.array),g._dirty=!0,g},m.random=function(g,c){return _.random(g.array,c),g._dirty=!0,g},m.scale=function(g,c,u){return _.scale(g.array,c.array,u),g._dirty=!0,g},m.scaleAndAdd=function(g,c,u,h){return _.scaleAndAdd(g.array,c.array,u.array,h),g._dirty=!0,g},m.sqrDist=function(g,c){return _.sqrDist(g.array,c.array)},m.squaredDistance=m.sqrDist,m.sqrLen=function(g){return _.sqrLen(g.array)},m.squaredLength=m.sqrLen,m.sub=function(g,c,u){return _.subtract(g.array,c.array,u.array),g._dirty=!0,g},m.subtract=m.sub,m.transformMat2=function(g,c,u){return _.transformMat2(g.array,c.array,u.array),g._dirty=!0,g},m.transformMat2d=function(g,c,u){return _.transformMat2d(g.array,c.array,u.array),g._dirty=!0,g},m.transformMat3=function(g,c,u){return _.transformMat3(g.array,c.array,u.array),g._dirty=!0,g},m.transformMat4=function(g,c,u){return _.transformMat4(g.array,c.array,u.array),g._dirty=!0,g},O.a=m},function(K,O,E){"use strict";var M=E(64),A=E(11),_=E(5),m=M.a.extend({skeleton:null,joints:null,useSkinMatricesTexture:!1},function(){this.joints||(this.joints=[])},{isSkinnedMesh:function(){return!!(this.skeleton&&this.joints&&this.joints.length>0)},render:function(x,g,c){var u=x.gl;if(this.skeleton){this.skeleton.update();var h=this.skeleton.getSubSkinMatrices(this.__uid__,this.joints);c.setUniformOfSemantic(u,"SKIN_MATRIX",h)}return M.a.prototype.render.call(this,x,g,c)},getSkinMatricesTexture:function(){return this._skinMatricesTexture=this._skinMatricesTexture||new _.a({type:A.a.FLOAT,minFilter:A.a.NEAREST,magFilter:A.a.NEAREST,useMipmap:!1,flipY:!1}),this._skinMatricesTexture}});m.POINTS=A.a.POINTS,m.LINES=A.a.LINES,m.LINE_LOOP=A.a.LINE_LOOP,m.LINE_STRIP=A.a.LINE_STRIP,m.TRIANGLES=A.a.TRIANGLES,m.TRIANGLE_STRIP=A.a.TRIANGLE_STRIP,m.TRIANGLE_FAN=A.a.TRIANGLE_FAN,m.BACK=A.a.BACK,m.FRONT=A.a.FRONT,m.FRONT_AND_BACK=A.a.FRONT_AND_BACK,m.CW=A.a.CW,m.CCW=A.a.CCW,O.a=m},function(K,O,E){"use strict";var M=E(6),A=E(11),_=E(21),m=E(66),x=m.a.isPowerOfTwo,g=["px","nx","py","ny","pz","nz"],c=M.a.extend(function(){return{image:{px:null,nx:null,py:null,ny:null,pz:null,nz:null},pixels:{px:null,nx:null,py:null,ny:null,pz:null,nz:null},mipmaps:[]}},{update:function(h){var r=h.gl;r.bindTexture(r.TEXTURE_CUBE_MAP,this._cache.get("webgl_texture")),this.updateCommon(h);var n=this.format,a=this.type;r.texParameteri(r.TEXTURE_CUBE_MAP,r.TEXTURE_WRAP_S,this.getAvailableWrapS()),r.texParameteri(r.TEXTURE_CUBE_MAP,r.TEXTURE_WRAP_T,this.getAvailableWrapT()),r.texParameteri(r.TEXTURE_CUBE_MAP,r.TEXTURE_MAG_FILTER,this.getAvailableMagFilter()),r.texParameteri(r.TEXTURE_CUBE_MAP,r.TEXTURE_MIN_FILTER,this.getAvailableMinFilter());var f=h.getGLExtension("EXT_texture_filter_anisotropic");if(f&&this.anisotropic>1&&r.texParameterf(r.TEXTURE_CUBE_MAP,f.TEXTURE_MAX_ANISOTROPY_EXT,this.anisotropic),a===36193){var s=h.getGLExtension("OES_texture_half_float");s||(a=A.a.FLOAT)}if(this.mipmaps.length)for(var l=this.width,d=this.height,e=0;e<this.mipmaps.length;e++){var t=this.mipmaps[e];this._updateTextureData(r,t,e,l,d,n,a),l/=2,d/=2}else this._updateTextureData(r,this,0,this.width,this.height,n,a),!this.NPOT&&this.useMipmap&&r.generateMipmap(r.TEXTURE_CUBE_MAP);r.bindTexture(r.TEXTURE_CUBE_MAP,null)},_updateTextureData:function(h,r,n,a,f,s,l){for(var d=0;d<6;d++){var e=g[d],t=r.image&&r.image[e];t?h.texImage2D(h.TEXTURE_CUBE_MAP_POSITIVE_X+d,n,s,s,l,t):h.texImage2D(h.TEXTURE_CUBE_MAP_POSITIVE_X+d,n,s,a,f,0,s,l,r.pixels&&r.pixels[e])}},generateMipmap:function(h){var r=h.gl;this.useMipmap&&!this.NPOT&&(r.bindTexture(r.TEXTURE_CUBE_MAP,this._cache.get("webgl_texture")),r.generateMipmap(r.TEXTURE_CUBE_MAP))},bind:function(h){h.gl.bindTexture(h.gl.TEXTURE_CUBE_MAP,this.getWebGLTexture(h))},unbind:function(h){h.gl.bindTexture(h.gl.TEXTURE_CUBE_MAP,null)},isPowerOfTwo:function(){return this.image.px?x(this.image.px.width)&&x(this.image.px.height):x(this.width)&&x(this.height)},isRenderable:function(){return this.image.px?u(this.image.px)&&u(this.image.nx)&&u(this.image.py)&&u(this.image.ny)&&u(this.image.pz)&&u(this.image.nz):!!(this.width&&this.height)},load:function(h,r){var n=0,a=this;return _.a.each(h,function(f,s){var l=new Image;r&&(l.crossOrigin=r),l.onload=function(){n--,n===0&&(a.dirty(),a.trigger("success",a)),l.onload=null},l.onerror=function(){n--,l.onerror=null},n++,l.src=f,a.image[s]=l}),this}});Object.defineProperty(c.prototype,"width",{get:function(){return this.image&&this.image.px?this.image.px.width:this._width},set:function(h){this.image&&this.image.px?console.warn("Texture from image can't set width"):(this._width!==h&&this.dirty(),this._width=h)}}),Object.defineProperty(c.prototype,"height",{get:function(){return this.image&&this.image.px?this.image.px.height:this._height},set:function(h){this.image&&this.image.px?console.warn("Texture from image can't set height"):(this._height!==h&&this.dirty(),this._height=h)}});function u(h){return h.nodeName==="CANVAS"||h.nodeName==="VIDEO"||h.complete}O.a=c},function(K,O,E){"use strict";O.a={defaultOption:{shading:null,realisticMaterial:{textureTiling:1,textureOffset:0,detailTexture:null},lambertMaterial:{textureTiling:1,textureOffset:0,detailTexture:null},colorMaterial:{textureTiling:1,textureOffset:0,detailTexture:null},hatchingMaterial:{textureTiling:1,textureOffset:0,paperColor:"#fff"}}}},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_={};_.getFormattedLabel=function(m,x,g,c,u){g=g||"normal";var h=m.getData(c),r=h.getItemModel(x),n=m.getDataParams(x,c);u!=null&&n.value instanceof Array&&(n.value=n.value[u]);var a=r.get(g==="normal"?["label","formatter"]:["emphasis","label","formatter"]);a==null&&(a=r.get(["label","formatter"]));var f;return typeof a=="function"?(n.status=g,f=a(n)):typeof a=="string"&&(f=A.a.format.formatTpl(a,n)),f},_.normalizeToArray=function(m){return m instanceof Array?m:m==null?[]:[m]},O.a=_},function(K,O,E){"use strict";var M=E(8),A=E(4),_=E(50),m=E(9),x=E(1),g=E.n(x),c=E(15),u=g.a.mat4,h=0,r=M.a.extend({name:"",position:null,rotation:null,scale:null,worldTransform:null,localTransform:null,autoUpdateLocalTransform:!0,_parent:null,_scene:null,_needsUpdateWorldTransform:!0,_inIterating:!1,__depth:0},function(){this.name||(this.name=(this.type||"NODE")+"_"+h++),this.position||(this.position=new A.a),this.rotation||(this.rotation=new _.a),this.scale||(this.scale=new A.a(1,1,1)),this.worldTransform=new m.a,this.localTransform=new m.a,this._children=[]},{target:null,invisible:!1,isSkinnedMesh:function(){return!1},isRenderable:function(){return!1},setName:function(n){var a=this._scene;if(a){var f=a._nodeRepository;delete f[this.name],f[n]=this}this.name=n},add:function(n){this._inIterating&&console.warn("Add operation can cause unpredictable error when in iterating");var a=n._parent;if(a!==this){a&&a.remove(n),n._parent=this,this._children.push(n);var f=this._scene;f&&f!==n.scene&&n.traverse(this._addSelfToScene,this),n._needsUpdateWorldTransform=!0}},remove:function(n){this._inIterating&&console.warn("Remove operation can cause unpredictable error when in iterating");var a=this._children,f=a.indexOf(n);f<0||(a.splice(f,1),n._parent=null,this._scene&&n.traverse(this._removeSelfFromScene,this))},removeAll:function(){for(var n=this._children,a=0;a<n.length;a++)n[a]._parent=null,this._scene&&n[a].traverse(this._removeSelfFromScene,this);this._children=[]},getScene:function(){return this._scene},getParent:function(){return this._parent},_removeSelfFromScene:function(n){n._scene.removeFromScene(n),n._scene=null},_addSelfToScene:function(n){this._scene.addToScene(n),n._scene=this._scene},isAncestor:function(n){for(var a=n._parent;a;){if(a===this)return!0;a=a._parent}return!1},children:function(){return this._children.slice()},childAt:function(n){return this._children[n]},getChildByName:function(n){for(var a=this._children,f=0;f<a.length;f++)if(a[f].name===n)return a[f]},getDescendantByName:function(n){for(var a=this._children,f=0;f<a.length;f++){var s=a[f];if(s.name===n)return s;var l=s.getDescendantByName(n);if(l)return l}},queryNode:function(n){if(n){for(var a=n.split("/"),f=this,s=0;s<a.length;s++){var l=a[s];if(l){for(var d=!1,e=f._children,t=0;t<e.length;t++){var i=e[t];if(i.name===l){f=i,d=!0;break}}if(!d)return}}return f}},getPath:function(n){if(!this._parent)return"/";for(var a=this._parent,f=this.name;a._parent&&(f=a.name+"/"+f,a._parent!=n);)a=a._parent;return!a._parent&&n?null:f},traverse:function(n,a,f){this._inIterating=!0,(!f||f.call(a,this))&&n.call(a,this);for(var s=this._children,l=0,d=s.length;l<d;l++)s[l].traverse(n,a,f);this._inIterating=!1},eachChild:function(n,a,f){this._inIterating=!0;for(var s=this._children,l=f==null,d=0,e=s.length;d<e;d++){var t=s[d];(l||t.constructor===f)&&n.call(a,t,d)}this._inIterating=!1},setLocalTransform:function(n){u.copy(this.localTransform.array,n.array),this.decomposeLocalTransform()},decomposeLocalTransform:function(n){var a=n?null:this.scale;this.localTransform.decomposeMatrix(a,this.rotation,this.position)},setWorldTransform:function(n){u.copy(this.worldTransform.array,n.array),this.decomposeWorldTransform()},decomposeWorldTransform:function(){var n=u.create();return function(a){var f=this.localTransform,s=this.worldTransform;this._parent?(u.invert(n,this._parent.worldTransform.array),u.multiply(f.array,n,s.array)):u.copy(f.array,s.array);var l=a?null:this.scale;f.decomposeMatrix(l,this.rotation,this.position)}}(),transformNeedsUpdate:function(){return this.position._dirty||this.rotation._dirty||this.scale._dirty},updateLocalTransform:function(){var n=this.position,a=this.rotation,f=this.scale;if(this.transformNeedsUpdate()){var s=this.localTransform.array;u.fromRotationTranslation(s,a.array,n.array),u.scale(s,s,f.array),a._dirty=!1,f._dirty=!1,n._dirty=!1,this._needsUpdateWorldTransform=!0}},_updateWorldTransformTopDown:function(){var n=this.localTransform.array,a=this.worldTransform.array;this._parent?u.multiplyAffine(a,this._parent.worldTransform.array,n):u.copy(a,n)},updateWorldTransform:function(){for(var n=this;n&&n.getParent()&&n.getParent().transformNeedsUpdate();)n=n.getParent();n.update()},update:function(n){this.autoUpdateLocalTransform?this.updateLocalTransform():n=!0,(n||this._needsUpdateWorldTransform)&&(this._updateWorldTransformTopDown(),n=!0,this._needsUpdateWorldTransform=!1);for(var a=this._children,f=0,s=a.length;f<s;f++)a[f].update(n)},getBoundingBox:function(){function n(l){return!l.invisible&&l.geometry}var a=new c.a,f=new m.a,s=new m.a;return function(l,d){return d=d||new c.a,l=l||n,this._parent?m.a.invert(s,this._parent.worldTransform):m.a.identity(s),this.traverse(function(e){e.geometry&&e.geometry.boundingBox&&(a.copy(e.geometry.boundingBox),m.a.multiply(f,s,e.worldTransform),a.applyTransform(f),d.union(a))},this,n),d}}(),getWorldPosition:function(n){this.transformNeedsUpdate()&&this.updateWorldTransform();var a=this.worldTransform.array;if(n){var f=n.array;return f[0]=a[12],f[1]=a[13],f[2]=a[14],n}else return new A.a(a[12],a[13],a[14])},clone:function(){var n=new this.constructor,a=this._children;n.setName(this.name),n.position.copy(this.position),n.rotation.copy(this.rotation),n.scale.copy(this.scale);for(var f=0;f<a.length;f++)n.add(a[f].clone());return n},rotateAround:function(){var n=new A.a,a=new m.a;return function(f,s,l){n.copy(this.position).subtract(f);var d=this.localTransform;d.identity(),d.translate(f),d.rotate(l,s),a.fromRotationTranslation(this.rotation,n),d.multiply(a),d.scale(this.scale),this.decomposeLocalTransform(),this._needsUpdateWorldTransform=!0}}(),lookAt:function(){var n=new m.a;return function(a,f){n.lookAt(this.position,a,f||this.localTransform.y).invert(),this.setLocalTransform(n),this.target=a}}()});O.a=r},function(K,O,E){"use strict";var M=E(28),A=E(19),_=E(51),m=E(15),x=E(21),g={};function c(r){var n=[],a=Object.keys(r);a.sort();for(var f=0;f<a.length;f++){var s=r[f];n.push(s+" "+r[s])}var l=n.join(`
|
|
`);if(g[l])return g[l];var d=x.a.genGUID();return g[l]=d,d}var u=M.a.extend(function(){return{material:null,autoUpdate:!0,opaqueList:[],transparentList:[],lights:[],viewBoundingBoxLastFrame:new m.a,shadowUniforms:{},_cameraList:[],_lightUniforms:{},_previousLightNumber:{},_lightNumber:{},_lightProgramKeys:{},_opaqueObjectCount:0,_transparentObjectCount:0,_nodeRepository:{}}},function(){this._scene=this},{addToScene:function(r){r instanceof _.a&&(this._cameraList.length>0&&console.warn("Found multiple camera in one scene. Use the fist one."),this._cameraList.push(r)),r.name&&(this._nodeRepository[r.name]=r)},removeFromScene:function(r){if(r instanceof _.a){var n=this._cameraList.indexOf(r);n>=0&&this._cameraList.splice(n,1)}r.name&&delete this._nodeRepository[r.name]},getNode:function(r){return this._nodeRepository[r]},cloneNode:function(r){var n=r.clone(),a={},f=function(l,d){l.skeleton&&(d.skeleton=l.skeleton.clone(r,n),d.joints=l.joints.slice()),l.material&&(a[l.material.__uid__]={oldMat:l.material});for(var e=0;e<l._children.length;e++)f(l._children[e],d._children[e])};f(r,n);for(var s in a)a[s].newMat=a[s].oldMat.clone();return n.traverse(function(l){l.material&&(l.material=a[l.material.__uid__].newMat)}),n},update:function(r,n){if(this.autoUpdate||r){M.a.prototype.update.call(this,r);var a=this.lights,f=this.material&&this.material.transparent;if(this._opaqueObjectCount=0,this._transparentObjectCount=0,a.length=0,this._updateRenderList(this,f),this.opaqueList.length=this._opaqueObjectCount,this.transparentList.length=this._transparentObjectCount,!n){this._previousLightNumber=this._lightNumber;for(var s={},l=0;l<a.length;l++){var d=a[l],e=d.group;s[e]||(s[e]={}),s[e][d.type]=s[e][d.type]||0,s[e][d.type]++}this._lightNumber=s;for(var t in s)this._lightProgramKeys[t]=c(s[t]);this._updateLightUniforms()}}},getMainCamera:function(){return this._cameraList[0]},_updateRenderList:function(r,n){if(!r.invisible)for(var a=0;a<r._children.length;a++){var f=r._children[a];f instanceof A.a?this.lights.push(f):f.isRenderable()&&(f.material.transparent||n?this.transparentList[this._transparentObjectCount++]=f:this.opaqueList[this._opaqueObjectCount++]=f),f._children.length>0&&this._updateRenderList(f)}},_updateLightUniforms:function(){var r=this.lights;r.sort(h);var n=this._lightUniforms;for(var a in n)for(var f in n[a])n[a][f].value.length=0;for(var s=0;s<r.length;s++){var l=r[s],a=l.group;for(var f in l.uniformTemplates){var d=l.uniformTemplates[f],e=d.value(l);if(e!=null){n[a]||(n[a]={}),n[a][f]||(n[a][f]={type:"",value:[]});var t=n[a][f];switch(t.type=d.type+"v",d.type){case"1i":case"1f":case"t":t.value.push(e);break;case"2f":case"3f":case"4f":for(var i=0;i<e.length;i++)t.value.push(e[i]);break;default:console.error("Unkown light uniform type "+d.type)}}}}},getLightGroups:function(){var r=[];for(var n in this._lightNumber)r.push(n);return r},getNumberChangedLightGroups:function(){var r=[];for(var n in this._lightNumber)this.isLightNumberChanged(n)&&r.push(n);return r},isLightNumberChanged:function(r){var n=this._previousLightNumber,a=this._lightNumber;for(var f in a[r])if(!n[r]||a[r][f]!==n[r][f])return!0;for(var f in n[r])if(!a[r]||a[r][f]!==n[r][f])return!0;return!1},getLightsNumbers:function(r){return this._lightNumber[r]},getProgramKey:function(r){return this._lightProgramKeys[r]},setLightUniforms:function(){function r(n,a,f){for(var s in n){var l=n[s];if(l.type==="tv"){if(!a.hasUniform(s))continue;for(var d=[],e=0;e<l.value.length;e++){var t=l.value[e],i=a.takeCurrentTextureSlot(f,t);d.push(i)}a.setUniform(f.gl,"1iv",s,d)}else a.setUniform(f.gl,l.type,s,l.value)}}return function(n,a,f){r(this._lightUniforms[a],n,f),r(this.shadowUniforms,n,f)}}(),dispose:function(){this.material=null,this.opaqueList=[],this.transparentList=[],this.lights=[],this._lightUniforms={},this._lightNumber={},this._nodeRepository={}}});function h(r,n){if(n.castShadow&&!r.castShadow)return!0}O.a=u},function(K,O,E){"use strict";var M=E(51),A=M.a.extend({left:-1,right:1,near:-1,far:1,top:1,bottom:-1},{updateProjectionMatrix:function(){this.projectionMatrix.ortho(this.left,this.right,this.bottom,this.top,this.near,this.far)},decomposeProjectionMatrix:function(){var _=this.projectionMatrix.array;this.left=(-1-_[12])/_[0],this.right=(1-_[12])/_[0],this.top=(1-_[13])/_[5],this.bottom=(-1-_[13])/_[5],this.near=-(-1-_[14])/_[10],this.far=-(1-_[14])/_[10]},clone:function(){var _=M.a.prototype.clone.call(this);return _.left=this.left,_.right=this.right,_.near=this.near,_.far=this.far,_.top=this.top,_.bottom=this.bottom,_}});O.a=A},function(K,O,E){"use strict";O.a={defaultOption:{postEffect:{enable:!1,bloom:{enable:!0,intensity:.1},depthOfField:{enable:!1,focalRange:20,focalDistance:50,blurRadius:10,fstop:2.8,quality:"medium"},screenSpaceAmbientOcclusion:{enable:!1,radius:2,quality:"medium",intensity:1},screenSpaceReflection:{enable:!1,quality:"medium",maxRoughness:.8},colorCorrection:{enable:!0,exposure:0,brightness:0,contrast:1,saturation:1,lookupTexture:""},edge:{enable:!1},FXAA:{enable:!1}},temporalSuperSampling:{enable:"auto"}}}},function(K,O,E){"use strict";O.a={defaultOption:{light:{main:{shadow:!1,shadowQuality:"high",color:"#fff",intensity:1,alpha:0,beta:0},ambient:{color:"#fff",intensity:.2},ambientCubemap:{texture:null,exposure:1,diffuseIntensity:.5,specularIntensity:.5}}}}},function(K,O,E){"use strict";O.a={convertToDynamicArray:function(M){M&&this.resetOffset();var A=this.attributes;for(var _ in A)M||!A[_].value?A[_].value=[]:A[_].value=Array.prototype.slice.call(A[_].value);M||!this.indices?this.indices=[]:this.indices=Array.prototype.slice.call(this.indices)},convertToTypedArray:function(){var M=this.attributes;for(var A in M)M[A].value&&M[A].value.length>0?M[A].value=new Float32Array(M[A].value):M[A].value=null;this.indices&&this.indices.length>0&&(this.indices=this.vertexCount>65535?new Uint32Array(this.indices):new Uint16Array(this.indices)),this.dirty()}}},function(K,O,E){"use strict";var M=E(2),A=E(57),_=E(56),m=E(0),x=E.n(m);function g(){}g.prototype={constructor:g,setScene:function(c){this._scene=c,this._skybox&&this._skybox.attachScene(this._scene)},initLight:function(c){this._lightRoot=c,this.mainLight=new M.a.DirectionalLight({shadowBias:.005}),this.ambientLight=new M.a.AmbientLight,c.add(this.mainLight),c.add(this.ambientLight)},dispose:function(){this._lightRoot&&(this._lightRoot.remove(this.mainLight),this._lightRoot.remove(this.ambientLight))},updateLight:function(c){var u=this.mainLight,h=this.ambientLight,r=c.getModel("light"),n=r.getModel("main"),a=r.getModel("ambient");u.intensity=n.get("intensity"),h.intensity=a.get("intensity"),u.color=M.a.parseColor(n.get("color")).slice(0,3),h.color=M.a.parseColor(a.get("color")).slice(0,3);var f=n.get("alpha")||0,s=n.get("beta")||0;u.position.setArray(M.a.directionFromAlphaBeta(f,s)),u.lookAt(M.a.Vector3.ZERO),u.castShadow=n.get("shadow"),u.shadowResolution=M.a.getShadowResolution(n.get("shadowQuality"))},updateAmbientCubemap:function(c,u,h){var r=u.getModel("light.ambientCubemap"),n=r.get("texture");if(n){this._cubemapLightsCache=this._cubemapLightsCache||{};var a=this._cubemapLightsCache[n];if(!a){var f=this;a=this._cubemapLightsCache[n]=M.a.createAmbientCubemap(r.option,c,h,function(){f._skybox instanceof A.a&&f._skybox.setEnvironmentMap(a.specular.cubemap),h.getZr().refresh()})}this._lightRoot.add(a.diffuse),this._lightRoot.add(a.specular),this._currentCubemapLights=a}else this._currentCubemapLights&&(this._lightRoot.remove(this._currentCubemapLights.diffuse),this._lightRoot.remove(this._currentCubemapLights.specular),this._currentCubemapLights=null)},updateSkybox:function(c,u,h){var r=u.get("environment"),n=this;function a(){return n._skybox instanceof A.a||(n._skybox&&n._skybox.dispose(c),n._skybox=new A.a),n._skybox}function f(){return n._skybox instanceof _.a||(n._skybox&&n._skybox.dispose(c),n._skybox=new _.a),n._skybox}if(r&&r!=="none")if(r==="auto")if(this._currentCubemapLights){var s=a(),l=this._currentCubemapLights.specular.cubemap;s.setEnvironmentMap(l),this._scene&&s.attachScene(this._scene),s.material.set("lod",2)}else this._skybox&&this._skybox.detachScene();else if(typeof r=="object"&&r.colorStops||typeof r=="string"&&x.a.color.parse(r)){var d=f(),e=new M.a.Texture2D({anisotropic:8,flipY:!1});d.setEnvironmentMap(e);var t=e.image=document.createElement("canvas");t.width=t.height=16;var i=t.getContext("2d"),o=new x.a.graphic.Rect({shape:{x:0,y:0,width:16,height:16},style:{fill:r}});o.brush(i),d.attachScene(this._scene)}else{var d=f(),e=M.a.loadTexture(r,h,{anisotropic:8,flipY:!1});d.setEnvironmentMap(e),d.attachScene(this._scene)}else this._skybox&&this._skybox.detachScene(this._scene),this._skybox=null;var v=u.coordinateSystem;if(this._skybox)if(v&&v.viewGL&&r!=="auto"&&!(r.match&&r.match(/.hdr$/))){var y=v.viewGL.isLinearSpace()?"define":"undefine";this._skybox.material[y]("fragment","SRGB_DECODE")}else this._skybox.material.undefine("fragment","SRGB_DECODE")}},O.a=g},function(K,O,E){"use strict";var M=E(0),A=E.n(M);function _(m,x){var g=[];return A.a.util.each(m.dimensions,function(c){var u=m.getDimensionInfo(c),h=u.otherDims,r=h[x];r!=null&&r!==!1&&(g[r]=u.name)}),g}O.a=function(m,x,g){function c(l){var d=!0,e=[],t=_(u,"tooltip");t.length?A.a.util.each(t,function(o){i(u.get(o,x),o)}):A.a.util.each(l,i);function i(o,v){var y=u.getDimensionInfo(v);if(!(!y||y.otherDims.tooltip===!1)){var p=y.type,C=(d?"- "+(y.tooltipName||y.name)+": ":"")+(p==="ordinal"?o+"":p==="time"?g?"":A.a.format.formatTime("yyyy/MM/dd hh:mm:ss",o):A.a.format.addCommas(o));C&&e.push(A.a.format.encodeHTML(C))}}return(d?"<br/>":"")+e.join(d?"<br/>":", ")}var u=m.getData(),h=m.getRawValue(x),r=A.a.util.isArray(h)?c(h):A.a.format.encodeHTML(A.a.format.addCommas(h)),n=u.getName(x),a=u.getItemVisual(x,"color");A.a.util.isObject(a)&&a.colorStops&&(a=(a.colorStops[0]||{}).color),a=a||"transparent";var f=A.a.format.getTooltipMarker(a),s=m.name;return s==="\0-"&&(s=""),s=s?A.a.format.encodeHTML(s)+(g?": ":"<br/>"):"",g?f+s+r:s+f+(n?A.a.format.encodeHTML(n)+": "+r:r)}},function(K,O,E){"use strict";var M=E(51),A=M.a.extend({fov:50,aspect:1,near:.1,far:2e3},{updateProjectionMatrix:function(){var _=this.fov/180*Math.PI;this.projectionMatrix.perspective(_,this.aspect,this.near,this.far)},decomposeProjectionMatrix:function(){var _=this.projectionMatrix.array,m=Math.atan(1/_[5])*2;this.fov=m/Math.PI*180,this.aspect=_[5]/_[0],this.near=_[14]/(_[10]-1),this.far=_[14]/(_[10]+1)},clone:function(){var _=M.a.prototype.clone.call(this);return _.fov=this.fov,_.aspect=this.aspect,_.near=this.near,_.far=this.far,_}});O.a=A},function(K,O,E){"use strict";var M=E(13),A=E(15),_=M.a.extend({dynamic:!1,widthSegments:1,heightSegments:1},function(){this.build()},{build:function(){for(var m=this.heightSegments,x=this.widthSegments,g=this.attributes,c=[],u=[],h=[],r=[],n=0;n<=m;n++)for(var a=n/m,f=0;f<=x;f++){var s=f/x;if(c.push([2*s-1,2*a-1,0]),u&&u.push([s,a]),h&&h.push([0,0,1]),f<x&&n<m){var l=f+n*(x+1);r.push([l,l+1,l+x+1]),r.push([l+x+1,l+1,l+x+2])}}g.position.fromArray(c),g.texcoord0.fromArray(u),g.normal.fromArray(h),this.initIndicesFromArray(r),this.boundingBox=new A.a,this.boundingBox.min.set(-1,-1,0),this.boundingBox.max.set(1,1,0)}});O.a=_},function(K,O,E){"use strict";O.a={defaultOption:{viewControl:{projection:"perspective",autoRotate:!1,autoRotateDirection:"cw",autoRotateSpeed:10,autoRotateAfterStill:3,damping:.8,rotateSensitivity:1,zoomSensitivity:1,panSensitivity:1,panMouseButton:"middle",rotateMouseButton:"left",distance:150,minDistance:40,maxDistance:400,orthographicSize:150,maxOrthographicSize:400,minOrthographicSize:20,center:[0,0,0],alpha:0,beta:0,minAlpha:-90,maxAlpha:90}},setView:function(M){M=M||{},this.option.viewControl=this.option.viewControl||{},M.alpha!=null&&(this.option.viewControl.alpha=M.alpha),M.beta!=null&&(this.option.viewControl.beta=M.beta),M.distance!=null&&(this.option.viewControl.distance=M.distance),M.center!=null&&(this.option.viewControl.center=M.center)}}},function(K,O,E){"use strict";var M=E(8),A=E(23),_=E(4),m=E(50),x=E(3),g=x.a.firstNotNull,c={left:0,middle:1,right:2};function u(r){return r instanceof Array||(r=[r,r]),r}var h=M.a.extend(function(){return{zr:null,viewGL:null,_center:new _.a,minDistance:.5,maxDistance:1.5,maxOrthographicSize:300,minOrthographicSize:30,minAlpha:-90,maxAlpha:90,minBeta:-1/0,maxBeta:1/0,autoRotateAfterStill:0,autoRotateDirection:"cw",autoRotateSpeed:60,damping:.8,rotateSensitivity:1,zoomSensitivity:1,panSensitivity:1,panMouseButton:"middle",rotateMouseButton:"left",_mode:"rotate",_camera:null,_needsUpdate:!1,_rotating:!1,_phi:0,_theta:0,_mouseX:0,_mouseY:0,_rotateVelocity:new A.a,_panVelocity:new A.a,_distance:500,_zoomSpeed:0,_stillTimeout:0,_animators:[]}},function(){["_mouseDownHandler","_mouseWheelHandler","_mouseMoveHandler","_mouseUpHandler","_pinchHandler","_contextMenuHandler","_update"].forEach(function(r){this[r]=this[r].bind(this)},this)},{init:function(){var r=this.zr;r&&(r.on("mousedown",this._mouseDownHandler),r.on("globalout",this._mouseUpHandler),r.on("mousewheel",this._mouseWheelHandler),r.on("pinch",this._pinchHandler),r.animation.on("frame",this._update),r.dom.addEventListener("contextmenu",this._contextMenuHandler))},dispose:function(){var r=this.zr;r&&(r.off("mousedown",this._mouseDownHandler),r.off("mousemove",this._mouseMoveHandler),r.off("mouseup",this._mouseUpHandler),r.off("mousewheel",this._mouseWheelHandler),r.off("pinch",this._pinchHandler),r.off("globalout",this._mouseUpHandler),r.dom.removeEventListener("contextmenu",this._contextMenuHandler),r.animation.off("frame",this._update)),this.stopAllAnimation()},getDistance:function(){return this._distance},setDistance:function(r){this._distance=r,this._needsUpdate=!0},getOrthographicSize:function(){return this._orthoSize},setOrthographicSize:function(r){this._orthoSize=r,this._needsUpdate=!0},getAlpha:function(){return this._theta/Math.PI*180},getBeta:function(){return-this._phi/Math.PI*180},getCenter:function(){return this._center.toArray()},setAlpha:function(r){r=Math.max(Math.min(this.maxAlpha,r),this.minAlpha),this._theta=r/180*Math.PI,this._needsUpdate=!0},setBeta:function(r){r=Math.max(Math.min(this.maxBeta,r),this.minBeta),this._phi=-r/180*Math.PI,this._needsUpdate=!0},setCenter:function(r){this._center.setArray(r)},setViewGL:function(r){this.viewGL=r},getCamera:function(){return this.viewGL.camera},setFromViewControlModel:function(r,n){n=n||{};var a=n.baseDistance||0,f=n.baseOrthoSize||1,s=r.get("projection");s!=="perspective"&&s!=="orthographic"&&s!=="isometric"&&(console.error("Unkown projection type %s, use perspective projection instead.",s),s="perspective"),this._projection=s,this.viewGL.setProjection(s);var l=r.get("distance")+a,d=r.get("orthographicSize")+f;[["damping",.8],["autoRotate",!1],["autoRotateAfterStill",3],["autoRotateDirection","cw"],["autoRotateSpeed",10],["minDistance",30],["maxDistance",400],["minOrthographicSize",30],["maxOrthographicSize",300],["minAlpha",-90],["maxAlpha",90],["minBeta",-1/0],["maxBeta",1/0],["rotateSensitivity",1],["zoomSensitivity",1],["panSensitivity",1],["panMouseButton","left"],["rotateMouseButton","middle"]].forEach(function(y){this[y[0]]=g(r.get(y[0]),y[1])},this),this.minDistance+=a,this.maxDistance+=a,this.minOrthographicSize+=f,this.maxOrthographicSize+=f;var e=r.ecModel,t={};["animation","animationDurationUpdate","animationEasingUpdate"].forEach(function(y){t[y]=g(r.get(y),e&&e.get(y))});var i=g(n.alpha,r.get("alpha"))||0,o=g(n.beta,r.get("beta"))||0,v=g(n.center,r.get("center"))||[0,0,0];t.animation&&t.animationDurationUpdate>0&&this._notFirst?this.animateTo({alpha:i,beta:o,center:v,distance:l,targetOrthographicSize:d,easing:t.animationEasingUpdate,duration:t.animationDurationUpdate}):(this.setDistance(l),this.setAlpha(i),this.setBeta(o),this.setCenter(v),this.setOrthographicSize(d)),this._notFirst=!0,this._validateProperties()},_validateProperties:function(){c[this.panMouseButton]==null&&console.error("Unkown panMouseButton %s. It should be left|middle|right",this.panMouseButton),c[this.rotateMouseButton]==null&&console.error("Unkown rotateMouseButton %s. It should be left|middle|right",this.rotateMouseButton),this.autoRotateDirection!=="cw"&&this.autoRotateDirection!=="ccw"&&console.error("Unkown autoRotateDirection %s. It should be cw|ccw",this.autoRotateDirection)},animateTo:function(r){var n=this.zr,a=this,f={},s={};return r.distance!=null&&(f.distance=this.getDistance(),s.distance=r.distance),r.orthographicSize!=null&&(f.orthographicSize=this.getOrthographicSize(),s.orthographicSize=r.orthographicSize),r.alpha!=null&&(f.alpha=this.getAlpha(),s.alpha=r.alpha),r.beta!=null&&(f.beta=this.getBeta(),s.beta=r.beta),r.center!=null&&(f.center=this.getCenter(),s.center=r.center),this._addAnimator(n.animation.animate(f).when(r.duration||1e3,s).during(function(){f.alpha!=null&&a.setAlpha(f.alpha),f.beta!=null&&a.setBeta(f.beta),f.distance!=null&&a.setDistance(f.distance),f.center!=null&&a.setCenter(f.center),f.orthographicSize!=null&&a.setOrthographicSize(f.orthographicSize),a._needsUpdate=!0})).start(r.easing||"linear")},stopAllAnimation:function(){for(var r=0;r<this._animators.length;r++)this._animators[r].stop();this._animators.length=0},_isAnimating:function(){return this._animators.length>0},_update:function(r){if(this._rotating){var n=(this.autoRotateDirection==="cw"?1:-1)*this.autoRotateSpeed/180*Math.PI;this._phi-=n*r/1e3,this._needsUpdate=!0}else this._rotateVelocity.len()>0&&(this._needsUpdate=!0);(Math.abs(this._zoomSpeed)>.1||this._panVelocity.len()>0)&&(this._needsUpdate=!0),this._needsUpdate&&(r=Math.min(r,50),this._updateDistanceOrSize(r),this._updatePan(r),this._updateRotate(r),this._updateTransform(),this.getCamera().update(),this.zr&&this.zr.refresh(),this.trigger("update"),this._needsUpdate=!1)},_updateRotate:function(r){var n=this._rotateVelocity;this._phi=n.y*r/20+this._phi,this._theta=n.x*r/20+this._theta,this.setAlpha(this.getAlpha()),this.setBeta(this.getBeta()),this._vectorDamping(n,Math.pow(this.damping,r/16))},_updateDistanceOrSize:function(r){this._projection==="perspective"?this._setDistance(this._distance+this._zoomSpeed*r/20):this._setOrthoSize(this._orthoSize+this._zoomSpeed*r/20),this._zoomSpeed*=Math.pow(this.damping,r/16)},_setDistance:function(r){this._distance=Math.max(Math.min(r,this.maxDistance),this.minDistance)},_setOrthoSize:function(r){this._orthoSize=Math.max(Math.min(r,this.maxOrthographicSize),this.minOrthographicSize);var n=this.getCamera(),a=this._orthoSize,f=a/this.viewGL.viewport.height*this.viewGL.viewport.width;n.left=-f/2,n.right=f/2,n.top=a/2,n.bottom=-a/2},_updatePan:function(r){var n=this._panVelocity,a=this._distance,f=this.getCamera(),s=f.worldTransform.y,l=f.worldTransform.x;this._center.scaleAndAdd(l,-n.x*a/200).scaleAndAdd(s,-n.y*a/200),this._vectorDamping(n,0)},_updateTransform:function(){var r=this.getCamera(),n=new _.a,a=this._theta+Math.PI/2,f=this._phi+Math.PI/2,s=Math.sin(a);n.x=s*Math.cos(f),n.y=-Math.cos(a),n.z=s*Math.sin(f),r.position.copy(this._center).scaleAndAdd(n,this._distance),r.rotation.identity().rotateY(-this._phi).rotateX(-this._theta)},_startCountingStill:function(){clearTimeout(this._stillTimeout);var r=this.autoRotateAfterStill,n=this;!isNaN(r)&&r>0&&(this._stillTimeout=setTimeout(function(){n._rotating=!0},r*1e3))},_vectorDamping:function(r,n){var a=r.len();a=a*n,a<1e-4&&(a=0),r.normalize().scale(a)},_decomposeTransform:function(){if(this.getCamera()){this.getCamera().updateWorldTransform();var r=this.getCamera().worldTransform.z,n=Math.asin(r.y),a=Math.atan2(r.x,r.z);this._theta=n,this._phi=-a,this.setBeta(this.getBeta()),this.setAlpha(this.getAlpha()),this.getCamera().aspect?this._setDistance(this.getCamera().position.dist(this._center)):this._setOrthoSize(this.getCamera().top-this.getCamera().bottom)}},_mouseDownHandler:function(r){if(!r.target&&!this._isAnimating()){var n=r.offsetX,a=r.offsetY;this.viewGL&&!this.viewGL.containPoint(n,a)||(this.zr.on("mousemove",this._mouseMoveHandler),this.zr.on("mouseup",this._mouseUpHandler),r.event.targetTouches?r.event.targetTouches.length===1&&(this._mode="rotate"):r.event.button===c[this.rotateMouseButton]?this._mode="rotate":r.event.button===c[this.panMouseButton]?this._mode="pan":this._mode="",this._rotateVelocity.set(0,0),this._rotating=!1,this.autoRotate&&this._startCountingStill(),this._mouseX=r.offsetX,this._mouseY=r.offsetY)}},_mouseMoveHandler:function(r){if(!(r.target&&r.target.__isGLToZRProxy)&&!this._isAnimating()){var n=u(this.panSensitivity),a=u(this.rotateSensitivity);this._mode==="rotate"?(this._rotateVelocity.y=(r.offsetX-this._mouseX)/this.zr.getHeight()*2*a[0],this._rotateVelocity.x=(r.offsetY-this._mouseY)/this.zr.getWidth()*2*a[1]):this._mode==="pan"&&(this._panVelocity.x=(r.offsetX-this._mouseX)/this.zr.getWidth()*n[0]*400,this._panVelocity.y=(-r.offsetY+this._mouseY)/this.zr.getHeight()*n[1]*400),this._mouseX=r.offsetX,this._mouseY=r.offsetY,r.event.preventDefault()}},_mouseWheelHandler:function(r){if(!this._isAnimating()){var n=r.event.wheelDelta||-r.event.detail;this._zoomHandler(r,n)}},_pinchHandler:function(r){this._isAnimating()||(this._zoomHandler(r,r.pinchScale>1?1:-1),this._mode="")},_zoomHandler:function(r,n){if(n!==0){var a=r.offsetX,f=r.offsetY;if(!(this.viewGL&&!this.viewGL.containPoint(a,f))){var s;this._projection==="perspective"?s=Math.max(Math.max(Math.min(this._distance-this.minDistance,this.maxDistance-this._distance))/20,.5):s=Math.max(Math.max(Math.min(this._orthoSize-this.minOrthographicSize,this.maxOrthographicSize-this._orthoSize))/20,.5),this._zoomSpeed=(n>0?-1:1)*s*this.zoomSensitivity,this._rotating=!1,this.autoRotate&&this._mode==="rotate"&&this._startCountingStill(),r.event.preventDefault()}}},_mouseUpHandler:function(){this.zr.off("mousemove",this._mouseMoveHandler),this.zr.off("mouseup",this._mouseUpHandler)},_isRightMouseButtonUsed:function(){return this.rotateMouseButton==="right"||this.panMouseButton==="right"},_contextMenuHandler:function(r){this._isRightMouseButtonUsed()&&r.preventDefault()},_addAnimator:function(r){var n=this._animators;return n.push(r),r.done(function(){var a=n.indexOf(r);a>=0&&n.splice(a,1)}),r}});Object.defineProperty(h.prototype,"autoRotate",{get:function(r){return this._autoRotate},set:function(r){this._autoRotate=r,this._rotating=r}}),O.a=h},function(K,O,E){"use strict";O.a=`@export ecgl.lines3D.vertex
|
|
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
|
|
attribute vec3 position: POSITION;
|
|
attribute vec4 a_Color : COLOR;
|
|
varying vec4 v_Color;
|
|
|
|
void main()
|
|
{
|
|
gl_Position = worldViewProjection * vec4(position, 1.0);
|
|
v_Color = a_Color;
|
|
}
|
|
|
|
@end
|
|
|
|
@export ecgl.lines3D.fragment
|
|
|
|
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
|
|
|
|
varying vec4 v_Color;
|
|
|
|
@import clay.util.srgb
|
|
|
|
void main()
|
|
{
|
|
#ifdef SRGB_DECODE
|
|
gl_FragColor = sRGBToLinear(color * v_Color);
|
|
#else
|
|
gl_FragColor = color * v_Color;
|
|
#endif
|
|
}
|
|
@end
|
|
|
|
|
|
|
|
@export ecgl.lines3D.clipNear
|
|
|
|
vec4 clipNear(vec4 p1, vec4 p2) {
|
|
float n = (p1.w - near) / (p1.w - p2.w);
|
|
return vec4(mix(p1.xy, p2.xy, n), -near, near);
|
|
}
|
|
|
|
@end
|
|
|
|
@export ecgl.lines3D.expandLine
|
|
#ifdef VERTEX_ANIMATION
|
|
vec4 prevProj = worldViewProjection * vec4(mix(prevPositionPrev, positionPrev, percent), 1.0);
|
|
vec4 currProj = worldViewProjection * vec4(mix(prevPosition, position, percent), 1.0);
|
|
vec4 nextProj = worldViewProjection * vec4(mix(prevPositionNext, positionNext, percent), 1.0);
|
|
#else
|
|
vec4 prevProj = worldViewProjection * vec4(positionPrev, 1.0);
|
|
vec4 currProj = worldViewProjection * vec4(position, 1.0);
|
|
vec4 nextProj = worldViewProjection * vec4(positionNext, 1.0);
|
|
#endif
|
|
|
|
if (currProj.w < 0.0) {
|
|
if (nextProj.w > 0.0) {
|
|
currProj = clipNear(currProj, nextProj);
|
|
}
|
|
else if (prevProj.w > 0.0) {
|
|
currProj = clipNear(currProj, prevProj);
|
|
}
|
|
}
|
|
|
|
vec2 prevScreen = (prevProj.xy / abs(prevProj.w) + 1.0) * 0.5 * viewport.zw;
|
|
vec2 currScreen = (currProj.xy / abs(currProj.w) + 1.0) * 0.5 * viewport.zw;
|
|
vec2 nextScreen = (nextProj.xy / abs(nextProj.w) + 1.0) * 0.5 * viewport.zw;
|
|
|
|
vec2 dir;
|
|
float len = offset;
|
|
if (position == positionPrev) {
|
|
dir = normalize(nextScreen - currScreen);
|
|
}
|
|
else if (position == positionNext) {
|
|
dir = normalize(currScreen - prevScreen);
|
|
}
|
|
else {
|
|
vec2 dirA = normalize(currScreen - prevScreen);
|
|
vec2 dirB = normalize(nextScreen - currScreen);
|
|
|
|
vec2 tanget = normalize(dirA + dirB);
|
|
|
|
float miter = 1.0 / max(dot(tanget, dirA), 0.5);
|
|
len *= miter;
|
|
dir = tanget;
|
|
}
|
|
|
|
dir = vec2(-dir.y, dir.x) * len;
|
|
currScreen += dir;
|
|
|
|
currProj.xy = (currScreen / viewport.zw - 0.5) * 2.0 * abs(currProj.w);
|
|
@end
|
|
|
|
|
|
@export ecgl.meshLines3D.vertex
|
|
|
|
attribute vec3 position: POSITION;
|
|
attribute vec3 positionPrev;
|
|
attribute vec3 positionNext;
|
|
attribute float offset;
|
|
attribute vec4 a_Color : COLOR;
|
|
|
|
#ifdef VERTEX_ANIMATION
|
|
attribute vec3 prevPosition;
|
|
attribute vec3 prevPositionPrev;
|
|
attribute vec3 prevPositionNext;
|
|
uniform float percent : 1.0;
|
|
#endif
|
|
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
uniform vec4 viewport : VIEWPORT;
|
|
uniform float near : NEAR;
|
|
|
|
varying vec4 v_Color;
|
|
|
|
@import ecgl.common.wireframe.vertexHeader
|
|
|
|
@import ecgl.lines3D.clipNear
|
|
|
|
void main()
|
|
{
|
|
@import ecgl.lines3D.expandLine
|
|
|
|
gl_Position = currProj;
|
|
|
|
v_Color = a_Color;
|
|
|
|
@import ecgl.common.wireframe.vertexMain
|
|
}
|
|
@end
|
|
|
|
|
|
@export ecgl.meshLines3D.fragment
|
|
|
|
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
|
|
|
|
varying vec4 v_Color;
|
|
|
|
@import ecgl.common.wireframe.fragmentHeader
|
|
|
|
@import clay.util.srgb
|
|
|
|
void main()
|
|
{
|
|
#ifdef SRGB_DECODE
|
|
gl_FragColor = sRGBToLinear(color * v_Color);
|
|
#else
|
|
gl_FragColor = color * v_Color;
|
|
#endif
|
|
|
|
@import ecgl.common.wireframe.fragmentMain
|
|
}
|
|
|
|
@end`},function(K,O,E){var M=E(12),A=E(75),_=E(78),m=_.parsePercent,x=E(149),g=M.each,c=["left","right","top","bottom","width","height"],u=[["width","left","right"],["height","top","bottom"]];function h(o,v,y,p,C){var D=0,b=0;p==null&&(p=1/0),C==null&&(C=1/0);var S=0;v.eachChild(function(L,w){var P=L.position,I=L.getBoundingRect(),R=v.childAt(w+1),B=R&&R.getBoundingRect(),F,W;if(o==="horizontal"){var G=I.width+(B?-B.x+I.x:0);F=D+G,F>p||L.newline?(D=0,F=G,b+=S+y,S=I.height):S=Math.max(S,I.height)}else{var j=I.height+(B?-B.y+I.y:0);W=b+j,W>C||L.newline?(D+=S+y,b=0,W=j,S=I.width):S=Math.max(S,I.width)}L.newline||(P[0]=D,P[1]=b,o==="horizontal"?D=F+y:b=W+y)})}var r=h,n=M.curry(h,"vertical"),a=M.curry(h,"horizontal");function f(o,v,y){var p=v.width,C=v.height,D=m(o.x,p),b=m(o.y,C),S=m(o.x2,p),L=m(o.y2,C);return(isNaN(D)||isNaN(parseFloat(o.x)))&&(D=0),(isNaN(S)||isNaN(parseFloat(o.x2)))&&(S=p),(isNaN(b)||isNaN(parseFloat(o.y)))&&(b=0),(isNaN(L)||isNaN(parseFloat(o.y2)))&&(L=C),y=x.normalizeCssArray(y||0),{width:Math.max(S-D-y[1]-y[3],0),height:Math.max(L-b-y[0]-y[2],0)}}function s(o,v,y){y=x.normalizeCssArray(y||0);var p=v.width,C=v.height,D=m(o.left,p),b=m(o.top,C),S=m(o.right,p),L=m(o.bottom,C),w=m(o.width,p),P=m(o.height,C),I=y[2]+y[0],R=y[1]+y[3],B=o.aspect;switch(isNaN(w)&&(w=p-S-R-D),isNaN(P)&&(P=C-L-I-b),B!=null&&(isNaN(w)&&isNaN(P)&&(B>p/C?w=p*.8:P=C*.8),isNaN(w)&&(w=B*P),isNaN(P)&&(P=w/B)),isNaN(D)&&(D=p-S-w-R),isNaN(b)&&(b=C-L-P-I),o.left||o.right){case"center":D=p/2-w/2-y[3];break;case"right":D=p-w-R;break}switch(o.top||o.bottom){case"middle":case"center":b=C/2-P/2-y[0];break;case"bottom":b=C-P-I;break}D=D||0,b=b||0,isNaN(w)&&(w=p-R-D-(S||0)),isNaN(P)&&(P=C-I-b-(L||0));var F=new A(D+y[3],b+y[0],w,P);return F.margin=y,F}function l(o,v,y,p,C){var D=!C||!C.hv||C.hv[0],b=!C||!C.hv||C.hv[1],S=C&&C.boundingMode||"all";if(!(!D&&!b)){var L;if(S==="raw")L=o.type==="group"?new A(0,0,+v.width||0,+v.height||0):o.getBoundingRect();else if(L=o.getBoundingRect(),o.needLocalTransform()){var w=o.getLocalTransform();L=L.clone(),L.applyTransform(w)}v=s(M.defaults({width:L.width,height:L.height},v),y,p);var P=o.position,I=D?v.x-L.x:0,R=b?v.y-L.y:0;o.attr("position",S==="raw"?[I,R]:[P[0]+I,P[1]+R])}}function d(o,v){return o[u[v][0]]!=null||o[u[v][1]]!=null&&o[u[v][2]]!=null}function e(o,v,y){!M.isObject(y)&&(y={});var p=y.ignoreSize;!M.isArray(p)&&(p=[p,p]);var C=b(u[0],0),D=b(u[1],1);w(u[0],o,C),w(u[1],o,D);function b(P,I){var R={},B=0,F={},W=0,G=2;if(g(P,function(ee){F[ee]=o[ee]}),g(P,function(ee){S(v,ee)&&(R[ee]=F[ee]=v[ee]),L(R,ee)&&B++,L(F,ee)&&W++}),p[I])return L(v,P[1])?F[P[2]]=null:L(v,P[2])&&(F[P[1]]=null),F;if(W===G||!B)return F;if(B>=G)return R;for(var j=0;j<P.length;j++){var Y=P[j];if(!S(R,Y)&&S(o,Y)){R[Y]=o[Y];break}}return R}function S(P,I){return P.hasOwnProperty(I)}function L(P,I){return P[I]!=null&&P[I]!=="auto"}function w(P,I,R){g(P,function(B){I[B]=R[B]})}}function t(o){return i({},o)}function i(o,v){return v&&o&&g(c,function(y){v.hasOwnProperty(y)&&(o[y]=v[y])}),o}O.LOCATION_PARAMS=c,O.HV_NAMES=u,O.box=r,O.vbox=n,O.hbox=a,O.getAvailableSize=f,O.getLayoutRect=s,O.positionElement=l,O.sizeCalculable=d,O.mergeLayoutParam=e,O.getLayoutParams=t,O.copyLayoutParams=i},function(K,O,E){"use strict";var M=E(8),A=M.a.extend(function(){return{name:"",inputLinks:{},outputLinks:{},_prevOutputTextures:{},_outputTextures:{},_outputReferences:{},_rendering:!1,_rendered:!1,_compositor:null}},{updateParameter:function(_,m){var x=this.outputs[_],g=x.parameters,c=x._parametersCopy;if(c||(c=x._parametersCopy={}),g)for(var u in g)u!=="width"&&u!=="height"&&(c[u]=g[u]);var h,r;return g.width instanceof Function?h=g.width.call(this,m):h=g.width,g.height instanceof Function?r=g.height.call(this,m):r=g.height,(c.width!==h||c.height!==r)&&this._outputTextures[_]&&this._outputTextures[_].dispose(m.gl),c.width=h,c.height=r,c},setParameter:function(_,m){},getParameter:function(_){},setParameters:function(_){for(var m in _)this.setParameter(m,_[m])},render:function(){},getOutput:function(_,m){if(m==null)return m=_,this._outputTextures[m];var x=this.outputs[m];if(x)return this._rendered?x.outputLastFrame?this._prevOutputTextures[m]:this._outputTextures[m]:this._rendering?(this._prevOutputTextures[m]||(this._prevOutputTextures[m]=this._compositor.allocateTexture(x.parameters||{})),this._prevOutputTextures[m]):(this.render(_),this._outputTextures[m])},removeReference:function(_){if(this._outputReferences[_]--,this._outputReferences[_]===0){var m=this.outputs[_];m.keepLastFrame?(this._prevOutputTextures[_]&&this._compositor.releaseTexture(this._prevOutputTextures[_]),this._prevOutputTextures[_]=this._outputTextures[_]):this._compositor.releaseTexture(this._outputTextures[_])}},link:function(_,m,x){this.inputLinks[_]={node:m,pin:x},m.outputLinks[x]||(m.outputLinks[x]=[]),m.outputLinks[x].push({node:this,pin:_}),this.pass.material.enableTexture(_)},clear:function(){this.inputLinks={},this.outputLinks={}},updateReference:function(_){if(!this._rendering){this._rendering=!0;for(var m in this.inputLinks){var x=this.inputLinks[m];x.node.updateReference(x.pin)}this._rendering=!1}_&&this._outputReferences[_]++},beforeFrame:function(){this._rendered=!1;for(var _ in this.outputLinks)this._outputReferences[_]=0},afterFrame:function(){for(var _ in this.outputLinks)if(this._outputReferences[_]>0){var m=this.outputs[_];m.keepLastFrame?(this._prevOutputTextures[_]&&this._compositor.releaseTexture(this._prevOutputTextures[_]),this._prevOutputTextures[_]=this._outputTextures[_]):this._compositor.releaseTexture(this._outputTextures[_])}}});O.a=A},function(K,O,E){"use strict";function M(A,_){for(var m=0,x=1/_,g=A;g>0;)m=m+x*(g%_),g=Math.floor(g/_),x=x/_;return m}O.a=M},function(K,O,E){"use strict";var M=E(0),A=E.n(M);O.a=function(_,m,x){x=x||_.getSource();var g=m||A.a.getCoordinateSystemDimensions(_.get("coordinateSystem"))||["x","y","z"],c=A.a.helper.createDimensions(x,{dimensionsDefine:x.dimensionsDefine||_.get("dimensions"),encodeDefine:x.encodeDefine||_.get("encode"),coordDimensions:g.map(function(h){var r=_.getReferringComponents(h+"Axis3D")[0];return{type:r&&r.get("type")==="category"?"ordinal":"float",name:h,stackable:h==="z"}})});_.get("coordinateSystem")==="cartesian3D"&&c.forEach(function(h){if(g.indexOf(h.coordDim)>=0){var r=_.getReferringComponents(h.coordDim+"Axis3D")[0];r&&r.get("type")==="category"&&(h.ordinalMeta=r.getOrdinalMeta())}});var u=new A.a.List(c,_);return u.initData(x),u}},function(K,O){function E(M,A,_){return{seriesType:M,performRawSeries:!0,reset:function(m,x,g){var c=m.getData(),u=m.get("symbol")||A,h=m.get("symbolSize");if(c.setVisual({legendSymbol:_||u,symbol:u,symbolSize:h}),x.isSeriesFiltered(m))return;var r=typeof h=="function";function n(a,f){if(typeof h=="function"){var s=m.getRawValue(f),l=m.getDataParams(f);a.setItemVisual(f,"symbolSize",h(s,l))}if(a.hasItemOption){var d=a.getItemModel(f),e=d.getShallow("symbol",!0),t=d.getShallow("symbolSize",!0);e!=null&&a.setItemVisual(f,"symbol",e),t!=null&&a.setItemVisual(f,"symbolSize",t)}}return{dataEach:c.hasItemOption||r?n:null}}}}K.exports=E},function(K,O,E){"use strict";var M=E(8),A=E(92),_=E(11),m=E(18),x=E(15),g=E(9),c=E(17),u=E(23),h=E(96),r=E(7),n=E(98),a=E(63),f=E(1),s=E.n(f);r.a.import(n.a),r.a.import(a.a);var l=s.a.mat4,d=s.a.vec3,e=l.create,t={};function i(p){return p.material}function o(){}var v=M.a.extend(function(){return{canvas:null,_width:100,_height:100,devicePixelRatio:window.devicePixelRatio||1,clearColor:[0,0,0,0],clearBit:17664,alpha:!0,depth:!0,stencil:!1,antialias:!0,premultipliedAlpha:!0,preserveDrawingBuffer:!1,throwError:!0,gl:null,viewport:{},__currentFrameBuffer:null,_viewportStack:[],_clearStack:[],_sceneRendering:null}},function(){this.canvas||(this.canvas=document.createElement("canvas"));var p=this.canvas;try{var C={alpha:this.alpha,depth:this.depth,stencil:this.stencil,antialias:this.antialias,premultipliedAlpha:this.premultipliedAlpha,preserveDrawingBuffer:this.preserveDrawingBuffer};if(this.gl=p.getContext("webgl",C)||p.getContext("experimental-webgl",C),!this.gl)throw new Error;this._glinfo=new A.a(this.gl),this.gl.targetRenderer&&console.error("Already created a renderer"),this.gl.targetRenderer=this,this.resize()}catch(D){throw"Error creating WebGL Context "+D}this._programMgr=new h.a(this)},{resize:function(p,C){var D=this.canvas,b=this.devicePixelRatio;p!=null?(D.style.width=p+"px",D.style.height=C+"px",D.width=p*b,D.height=C*b,this._width=p,this._height=C):(this._width=D.width/b,this._height=D.height/b),this.setViewport(0,0,this._width,this._height)},getWidth:function(){return this._width},getHeight:function(){return this._height},getViewportAspect:function(){var p=this.viewport;return p.width/p.height},setDevicePixelRatio:function(p){this.devicePixelRatio=p,this.resize(this._width,this._height)},getDevicePixelRatio:function(){return this.devicePixelRatio},getGLExtension:function(p){return this._glinfo.getExtension(p)},getGLParameter:function(p){return this._glinfo.getParameter(p)},setViewport:function(p,C,D,b,S){if(typeof p=="object"){var L=p;p=L.x,C=L.y,D=L.width,b=L.height,S=L.devicePixelRatio}S=S||this.devicePixelRatio,this.gl.viewport(p*S,C*S,D*S,b*S),this.viewport={x:p,y:C,width:D,height:b,devicePixelRatio:S}},saveViewport:function(){this._viewportStack.push(this.viewport)},restoreViewport:function(){this._viewportStack.length>0&&this.setViewport(this._viewportStack.pop())},saveClear:function(){this._clearStack.push({clearBit:this.clearBit,clearColor:this.clearColor})},restoreClear:function(){if(this._clearStack.length>0){var p=this._clearStack.pop();this.clearColor=p.clearColor,this.clearBit=p.clearBit}},bindSceneRendering:function(p){this._sceneRendering=p},render:function(p,C,D,b){var S=this.gl,L=this.clearColor;if(this.clearBit){S.colorMask(!0,!0,!0,!0),S.depthMask(!0);var w=this.viewport,P=!1,I=w.devicePixelRatio;(w.width!==this._width||w.height!==this._height||I&&I!==this.devicePixelRatio||w.x||w.y)&&(P=!0,S.enable(S.SCISSOR_TEST),S.scissor(w.x*I,w.y*I,w.width*I,w.height*I)),S.clearColor(L[0],L[1],L[2],L[3]),S.clear(this.clearBit),P&&S.disable(S.SCISSOR_TEST)}if(D||p.update(!1),C=C||p.getMainCamera(),!C){console.error("Can't find camera in the scene.");return}C.getScene()||C.update(!0),this._sceneRendering=p,p.viewBoundingBoxLastFrame.min.set(1/0,1/0,1/0),p.viewBoundingBoxLastFrame.max.set(-1/0,-1/0,-1/0);var R=this.cullRenderList(p.opaqueList,p,C),B=this.cullRenderList(p.transparentList,p,C),F=p.material;p.trigger("beforerender",this,p,C),b?(this.renderPreZ(R,p,C),S.depthFunc(S.LEQUAL)):S.depthFunc(S.LESS);for(var W=e(),G=d.create(),j=0;j<B.length;j++){var Y=B[j];l.multiplyAffine(W,C.viewMatrix.array,Y.worldTransform.array),d.transformMat4(G,Y.position.array,W),Y.__depth=G[2]}var ee=this.renderPass(R,C,{getMaterial:function(he){return F||he.material},sortCompare:this.opaqueSortCompare}),ae=this.renderPass(B,C,{getMaterial:function(he){return F||he.material},sortCompare:this.transparentSortCompare}),le={};for(var _e in ee)le[_e]=ee[_e]+ae[_e];return p.trigger("afterrender",this,p,C,le),this._sceneRendering=null,le},getProgram:function(p,C,D){return C=C||p.material,this._programMgr.getProgram(p,C,D)},validateProgram:function(p){if(p.__error){var C=p.__error;if(t[p.__uid__])return;if(t[p.__uid__]=!0,this.throwError)throw new Error(C);this.trigger("error",C)}},updatePrograms:function(p,C,D){var b=D&&D.getMaterial||i;C=C||null;for(var S=0;S<p.length;S++){var L=p[S],w=b.call(this,L);if(S>0){var P=p[S-1],I=P.joints?P.joints.length:0,R=L.joints.length?L.joints.length:0;if(R===I&&L.material===P.material&&L.lightGroup===P.lightGroup){L.__program=P.__program;continue}}var B=this._programMgr.getProgram(L,w,C);this.validateProgram(B),L.__program=B}},cullRenderList:function(p,C,D){for(var b=[],S=0;S<p.length;S++){var L=p[S],w=L.isSkinnedMesh()?y.IDENTITY:L.worldTransform.array,P=L.geometry;l.multiplyAffine(y.WORLDVIEW,D.viewMatrix.array,w),!(P.boundingBox&&this.isFrustumCulled(L,C,D,y.WORLDVIEW,D.projectionMatrix.array))&&b.push(L)}return b},renderPass:function(p,C,D){this.trigger("beforerenderpass",this,p,C,D);var b={triangleCount:0,vertexCount:0,drawCallCount:0,meshCount:p.length,renderedMeshCount:0};D=D||{},D.getMaterial=D.getMaterial||i,D.beforeRender=D.beforeRender||o,D.afterRender=D.afterRender||o,this.updatePrograms(p,this._sceneRendering,D),D.sortCompare&&p.sort(D.sortCompare);var S=this.viewport,L=S.devicePixelRatio,w=[S.x*L,S.y*L,S.width*L,S.height*L],P=this.devicePixelRatio,I=this.__currentFrameBuffer?[this.__currentFrameBuffer.getTextureWidth(),this.__currentFrameBuffer.getTextureHeight()]:[this._width*P,this._height*P],R=[w[2],w[3]],B=Date.now();l.copy(y.VIEW,C.viewMatrix.array),l.copy(y.PROJECTION,C.projectionMatrix.array),l.multiply(y.VIEWPROJECTION,C.projectionMatrix.array,y.VIEW),l.copy(y.VIEWINVERSE,C.worldTransform.array),l.invert(y.PROJECTIONINVERSE,y.PROJECTION),l.invert(y.VIEWPROJECTIONINVERSE,y.VIEWPROJECTION);for(var F=this.gl,W=this._sceneRendering,G,j,Y,ee,ae,le,_e,he,ve=0;ve<p.length;ve++){var Ae=p[ve];if(!(D.ifRender&&!D.ifRender(Ae))){var ge=Ae.isSkinnedMesh()?y.IDENTITY:Ae.worldTransform.array,fe=D.getMaterial.call(this,Ae),Ee=Ae.__program,ue=fe.shader;l.copy(y.WORLD,ge),l.multiply(y.WORLDVIEWPROJECTION,y.VIEWPROJECTION,ge),(ue.matrixSemantics.WORLDINVERSE||ue.matrixSemantics.WORLDINVERSETRANSPOSE)&&l.invert(y.WORLDINVERSE,ge),(ue.matrixSemantics.WORLDVIEWINVERSE||ue.matrixSemantics.WORLDVIEWINVERSETRANSPOSE)&&l.invert(y.WORLDVIEWINVERSE,y.WORLDVIEW),(ue.matrixSemantics.WORLDVIEWPROJECTIONINVERSE||ue.matrixSemantics.WORLDVIEWPROJECTIONINVERSETRANSPOSE)&&l.invert(y.WORLDVIEWPROJECTIONINVERSE,y.WORLDVIEWPROJECTION),Ae.beforeRender(this),D.beforeRender.call(this,Ae,fe,G);var oe=Ee!==j;oe?(Ee.bind(this),Ee.setUniformOfSemantic(F,"VIEWPORT",w),Ee.setUniformOfSemantic(F,"WINDOW_SIZE",I),Ee.setUniformOfSemantic(F,"NEAR",C.near),Ee.setUniformOfSemantic(F,"FAR",C.far),Ee.setUniformOfSemantic(F,"DEVICEPIXELRATIO",L),Ee.setUniformOfSemantic(F,"TIME",B),Ee.setUniformOfSemantic(F,"VIEWPORT_SIZE",R),W&&W.setLightUniforms(Ee,Ae.lightGroup,this)):Ee=j,(G!==fe||oe)&&(fe.depthTest!==Y&&(fe.depthTest?F.enable(F.DEPTH_TEST):F.disable(F.DEPTH_TEST),Y=fe.depthTest),fe.depthMask!==ee&&(F.depthMask(fe.depthMask),ee=fe.depthMask),fe.transparent!==he&&(fe.transparent?F.enable(F.BLEND):F.disable(F.BLEND),he=fe.transparent),fe.transparent&&(fe.blend?fe.blend(F):(F.blendEquationSeparate(F.FUNC_ADD,F.FUNC_ADD),F.blendFuncSeparate(F.SRC_ALPHA,F.ONE_MINUS_SRC_ALPHA,F.ONE,F.ONE_MINUS_SRC_ALPHA))),fe.bind(this,Ee,G,j),G=fe);for(var X=ue.matrixSemanticKeys,re=0;re<X.length;re++){var V=X[re],ne=ue.matrixSemantics[V],Z=y[V];if(ne.isTranspose){var $=y[ne.semanticNoTranspose];l.transpose(Z,$)}Ee.setUniform(F,ne.type,ne.symbol,Z)}Ae.cullFace!==le&&(le=Ae.cullFace,F.cullFace(le)),Ae.frontFace!==_e&&(_e=Ae.frontFace,F.frontFace(_e)),Ae.culling!==ae&&(ae=Ae.culling,ae?F.enable(F.CULL_FACE):F.disable(F.CULL_FACE));var se=Ae.render(this,fe,Ee);se&&(b.triangleCount+=se.triangleCount,b.vertexCount+=se.vertexCount,b.drawCallCount+=se.drawCallCount,b.renderedMeshCount++),D.afterRender.call(this,Ae,se),Ae.afterRender(this,se),j=Ee}}for(var ve=0;ve<p.length;ve++)p[ve].__program=null;return this.trigger("afterrenderpass",this,p,C,D),b},renderPreZ:function(p,C,D){var b=this.gl,S=this._prezMaterial||new c.a({shader:new r.a(r.a.source("clay.prez.vertex"),r.a.source("clay.prez.fragment"))});this._prezMaterial=S,b.colorMask(!1,!1,!1,!1),b.depthMask(!0),this.renderPass(p,D,{ifRender:function(L){return!L.ignorePreZ},getMaterial:function(){return S},sort:this.opaqueSortCompare}),b.colorMask(!0,!0,!0,!0),b.depthMask(!0)},isFrustumCulled:function(){var p=new x.a,C=new g.a;return function(D,b,S,L,w){var P=D.boundingBox||D.geometry.boundingBox;if(C.array=L,p.copy(P),p.applyTransform(C),b&&D.isRenderable()&&D.castShadow&&b.viewBoundingBoxLastFrame.union(p),D.frustumCulling&&!D.isSkinnedMesh()){if(!p.intersectBoundingBox(S.frustum.boundingBox))return!0;C.array=w,p.max.array[2]>0&&p.min.array[2]<0&&(p.max.array[2]=-1e-20),p.applyProjection(C);var I=p.min.array,R=p.max.array;if(R[0]<-1||I[0]>1||R[1]<-1||I[1]>1||R[2]<-1||I[2]>1)return!0}return!1}}(),disposeScene:function(p){this.disposeNode(p,!0,!0),p.dispose()},disposeNode:function(p,C,D){p.getParent()&&p.getParent().remove(p),p.traverse(function(b){b.geometry&&C&&b.geometry.dispose(this),b.dispose&&b.dispose(this)},this)},disposeGeometry:function(p){p.dispose(this)},disposeTexture:function(p){p.dispose(this)},disposeFrameBuffer:function(p){p.dispose(this)},dispose:function(){},screenToNDC:function(p,C,D){D||(D=new u.a),C=this._height-C;var b=this.viewport,S=D.array;return S[0]=(p-b.x)/b.width,S[0]=S[0]*2-1,S[1]=(C-b.y)/b.height,S[1]=S[1]*2-1,D}});v.opaqueSortCompare=v.prototype.opaqueSortCompare=function(p,C){return p.renderOrder===C.renderOrder?p.__program===C.__program?p.material===C.material?p.geometry.__uid__-C.geometry.__uid__:p.material.__uid__-C.material.__uid__:p.__program&&C.__program?p.__program.__uid__-C.__program.__uid__:0:p.renderOrder-C.renderOrder},v.transparentSortCompare=v.prototype.transparentSortCompare=function(p,C){return p.renderOrder===C.renderOrder?p.__depth===C.__depth?p.__program===C.__program?p.material===C.material?p.geometry.__uid__-C.geometry.__uid__:p.material.__uid__-C.material.__uid__:p.__program&&C.__program?p.__program.__uid__-C.__program.__uid__:0:p.__depth-C.__depth:p.renderOrder-C.renderOrder};var y={IDENTITY:e(),WORLD:e(),VIEW:e(),PROJECTION:e(),WORLDVIEW:e(),VIEWPROJECTION:e(),WORLDVIEWPROJECTION:e(),WORLDINVERSE:e(),VIEWINVERSE:e(),PROJECTIONINVERSE:e(),WORLDVIEWINVERSE:e(),VIEWPROJECTIONINVERSE:e(),WORLDVIEWPROJECTIONINVERSE:e(),WORLDTRANSPOSE:e(),VIEWTRANSPOSE:e(),PROJECTIONTRANSPOSE:e(),WORLDVIEWTRANSPOSE:e(),VIEWPROJECTIONTRANSPOSE:e(),WORLDVIEWPROJECTIONTRANSPOSE:e(),WORLDINVERSETRANSPOSE:e(),VIEWINVERSETRANSPOSE:e(),PROJECTIONINVERSETRANSPOSE:e(),WORLDVIEWINVERSETRANSPOSE:e(),VIEWPROJECTIONINVERSETRANSPOSE:e(),WORLDVIEWPROJECTIONINVERSETRANSPOSE:e()};v.COLOR_BUFFER_BIT=_.a.COLOR_BUFFER_BIT,v.DEPTH_BUFFER_BIT=_.a.DEPTH_BUFFER_BIT,v.STENCIL_BUFFER_BIT=_.a.STENCIL_BUFFER_BIT,O.a=v},function(K,O,E){"use strict";function M(_,m){this.action=_,this.context=m}var A={trigger:function(_){if(this.hasOwnProperty("__handlers__")&&this.__handlers__.hasOwnProperty(_)){var m=this.__handlers__[_],x=m.length,g=-1,c=arguments;switch(c.length){case 1:for(;++g<x;)m[g].action.call(m[g].context);return;case 2:for(;++g<x;)m[g].action.call(m[g].context,c[1]);return;case 3:for(;++g<x;)m[g].action.call(m[g].context,c[1],c[2]);return;case 4:for(;++g<x;)m[g].action.call(m[g].context,c[1],c[2],c[3]);return;case 5:for(;++g<x;)m[g].action.call(m[g].context,c[1],c[2],c[3],c[4]);return;default:for(;++g<x;)m[g].action.apply(m[g].context,Array.prototype.slice.call(c,1));return}}},on:function(_,m,x){if(!(!_||!m)){var g=this.__handlers__||(this.__handlers__={});if(!g[_])g[_]=[];else if(this.has(_,m))return;var c=new M(m,x||this);return g[_].push(c),this}},once:function(_,m,x){if(!_||!m)return;var g=this;function c(){g.off(_,c),m.apply(this,arguments)}return this.on(_,c,x)},before:function(_,m,x){if(!(!_||!m))return _="before"+_,this.on(_,m,x)},after:function(_,m,x){if(!(!_||!m))return _="after"+_,this.on(_,m,x)},success:function(_,m){return this.once("success",_,m)},error:function(_,m){return this.once("error",_,m)},off:function(_,m){var x=this.__handlers__||(this.__handlers__={});if(!m){x[_]=[];return}if(x[_]){for(var g=x[_],c=[],u=0;u<g.length;u++)m&&g[u].action!==m&&c.push(g[u]);x[_]=c}return this},has:function(_,m){var x=this.__handlers__;if(!x||!x[_])return!1;for(var g=x[_],c=0;c<g.length;c++)if(g[c].action===m)return!0}};O.a=A},function(K,O,E){"use strict";var M="__dt__",A=function(){this._contextId=0,this._caches=[],this._context={}};A.prototype={use:function(_,m){var x=this._caches;x[_]||(x[_]={},m&&(x[_]=m())),this._contextId=_,this._context=x[_]},put:function(_,m){this._context[_]=m},get:function(_){return this._context[_]},dirty:function(_){_=_||"";var m=M+_;this.put(m,!0)},dirtyAll:function(_){_=_||"";for(var m=M+_,x=this._caches,g=0;g<x.length;g++)x[g]&&(x[g][m]=!0)},fresh:function(_){_=_||"";var m=M+_;this.put(m,!1)},freshAll:function(_){_=_||"";for(var m=M+_,x=this._caches,g=0;g<x.length;g++)x[g]&&(x[g][m]=!1)},isDirty:function(_){_=_||"";var m=M+_,x=this._context;return!x.hasOwnProperty(m)||x[m]===!0},deleteContext:function(_){delete this._caches[_],this._context={}},delete:function(_){delete this._context[_]},clearAll:function(){this._caches={}},getContext:function(){return this._context},eachContext:function(_,m){var x=Object.keys(this._caches);x.forEach(function(g){_&&_.call(m,g)})},miss:function(_){return!this._context.hasOwnProperty(_)}},A.prototype.constructor=A,O.a=A},function(K,O,E){"use strict";var M=E(4),A=E(1),_=E.n(A),m=_.a.vec3,x=1e-5,g=function(c,u){this.origin=c||new M.a,this.direction=u||new M.a};g.prototype={constructor:g,intersectPlane:function(c,u){var h=c.normal.array,r=c.distance,n=this.origin.array,a=this.direction.array,f=m.dot(h,a);if(f===0)return null;u||(u=new M.a);var s=(m.dot(h,n)-r)/f;return m.scaleAndAdd(u.array,n,a,-s),u._dirty=!0,u},mirrorAgainstPlane:function(c){var u=m.dot(c.normal.array,this.direction.array);m.scaleAndAdd(this.direction.array,this.direction.array,c.normal.array,-u*2),this.direction._dirty=!0},distanceToPoint:function(){var c=m.create();return function(u){m.sub(c,u,this.origin.array);var h=m.dot(c,this.direction.array);if(h<0)return m.distance(this.origin.array,u);var r=m.lenSquared(c);return Math.sqrt(r-h*h)}}(),intersectSphere:function(){var c=m.create();return function(u,h,r){var n=this.origin.array,a=this.direction.array;u=u.array,m.sub(c,u,n);var f=m.dot(c,a),s=m.squaredLength(c),l=s-f*f,d=h*h;if(!(l>d)){var e=Math.sqrt(d-l),t=f-e,i=f+e;return r||(r=new M.a),t<0?i<0?null:(m.scaleAndAdd(r.array,n,a,i),r):(m.scaleAndAdd(r.array,n,a,t),r)}}}(),intersectBoundingBox:function(c,u){var h=this.direction.array,r=this.origin.array,n=c.min.array,a=c.max.array,f=1/h[0],s=1/h[1],l=1/h[2],d,e,t,i,o,v;if(f>=0?(d=(n[0]-r[0])*f,e=(a[0]-r[0])*f):(e=(n[0]-r[0])*f,d=(a[0]-r[0])*f),s>=0?(t=(n[1]-r[1])*s,i=(a[1]-r[1])*s):(i=(n[1]-r[1])*s,t=(a[1]-r[1])*s),d>i||t>e||((t>d||d!==d)&&(d=t),(i<e||e!==e)&&(e=i),l>=0?(o=(n[2]-r[2])*l,v=(a[2]-r[2])*l):(v=(n[2]-r[2])*l,o=(a[2]-r[2])*l),d>v||o>e)||((o>d||d!==d)&&(d=o),(v<e||e!==e)&&(e=v),e<0))return null;var y=d>=0?d:e;return u||(u=new M.a),m.scaleAndAdd(u.array,r,h,y),u},intersectTriangle:function(){var c=m.create(),u=m.create(),h=m.create(),r=m.create();return function(n,a,f,s,l,d){var e=this.direction.array,t=this.origin.array;n=n.array,a=a.array,f=f.array,m.sub(c,a,n),m.sub(u,f,n),m.cross(r,u,e);var i=m.dot(c,r);if(s){if(i>-x)return null}else if(i>-x&&i<x)return null;m.sub(h,t,n);var o=m.dot(r,h)/i;if(o<0||o>1)return null;m.cross(r,c,h);var v=m.dot(e,r)/i;if(v<0||v>1||o+v>1)return null;m.cross(r,c,u);var y=-m.dot(h,r)/i;return y<0?null:(l||(l=new M.a),d&&M.a.set(d,1-o-v,o,v),m.scaleAndAdd(l.array,t,e,y),l)}}(),applyTransform:function(c){M.a.add(this.direction,this.direction,this.origin),M.a.transformMat4(this.origin,this.origin,c),M.a.transformMat4(this.direction,this.direction,c),M.a.sub(this.direction,this.direction,this.origin),M.a.normalize(this.direction,this.direction)},copy:function(c){M.a.copy(this.origin,c.origin),M.a.copy(this.direction,c.direction)},clone:function(){var c=new g;return c.copy(this),c}},O.a=g},function(K,O,E){"use strict";var M=E(1),A=E.n(M),_=A.a.quat,m=function(c,u,h,r){c=c||0,u=u||0,h=h||0,r=r===void 0?1:r,this.array=_.fromValues(c,u,h,r),this._dirty=!0};m.prototype={constructor:m,add:function(c){return _.add(this.array,this.array,c.array),this._dirty=!0,this},calculateW:function(){return _.calculateW(this.array,this.array),this._dirty=!0,this},set:function(c,u,h,r){return this.array[0]=c,this.array[1]=u,this.array[2]=h,this.array[3]=r,this._dirty=!0,this},setArray:function(c){return this.array[0]=c[0],this.array[1]=c[1],this.array[2]=c[2],this.array[3]=c[3],this._dirty=!0,this},clone:function(){return new m(this.x,this.y,this.z,this.w)},conjugate:function(){return _.conjugate(this.array,this.array),this._dirty=!0,this},copy:function(c){return _.copy(this.array,c.array),this._dirty=!0,this},dot:function(c){return _.dot(this.array,c.array)},fromMat3:function(c){return _.fromMat3(this.array,c.array),this._dirty=!0,this},fromMat4:function(){var c=A.a.mat3,u=c.create();return function(h){return c.fromMat4(u,h.array),c.transpose(u,u),_.fromMat3(this.array,u),this._dirty=!0,this}}(),identity:function(){return _.identity(this.array),this._dirty=!0,this},invert:function(){return _.invert(this.array,this.array),this._dirty=!0,this},len:function(){return _.len(this.array)},length:function(){return _.length(this.array)},lerp:function(c,u,h){return _.lerp(this.array,c.array,u.array,h),this._dirty=!0,this},mul:function(c){return _.mul(this.array,this.array,c.array),this._dirty=!0,this},mulLeft:function(c){return _.multiply(this.array,c.array,this.array),this._dirty=!0,this},multiply:function(c){return _.multiply(this.array,this.array,c.array),this._dirty=!0,this},multiplyLeft:function(c){return _.multiply(this.array,c.array,this.array),this._dirty=!0,this},normalize:function(){return _.normalize(this.array,this.array),this._dirty=!0,this},rotateX:function(c){return _.rotateX(this.array,this.array,c),this._dirty=!0,this},rotateY:function(c){return _.rotateY(this.array,this.array,c),this._dirty=!0,this},rotateZ:function(c){return _.rotateZ(this.array,this.array,c),this._dirty=!0,this},rotationTo:function(c,u){return _.rotationTo(this.array,c.array,u.array),this._dirty=!0,this},setAxes:function(c,u,h){return _.setAxes(this.array,c.array,u.array,h.array),this._dirty=!0,this},setAxisAngle:function(c,u){return _.setAxisAngle(this.array,c.array,u),this._dirty=!0,this},slerp:function(c,u,h){return _.slerp(this.array,c.array,u.array,h),this._dirty=!0,this},sqrLen:function(){return _.sqrLen(this.array)},squaredLength:function(){return _.squaredLength(this.array)},fromEuler:function(c,u){return m.fromEuler(this,c,u)},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}};var x=Object.defineProperty;if(x){var g=m.prototype;x(g,"x",{get:function(){return this.array[0]},set:function(c){this.array[0]=c,this._dirty=!0}}),x(g,"y",{get:function(){return this.array[1]},set:function(c){this.array[1]=c,this._dirty=!0}}),x(g,"z",{get:function(){return this.array[2]},set:function(c){this.array[2]=c,this._dirty=!0}}),x(g,"w",{get:function(){return this.array[3]},set:function(c){this.array[3]=c,this._dirty=!0}})}m.add=function(c,u,h){return _.add(c.array,u.array,h.array),c._dirty=!0,c},m.set=function(c,u,h,r,n){_.set(c.array,u,h,r,n),c._dirty=!0},m.copy=function(c,u){return _.copy(c.array,u.array),c._dirty=!0,c},m.calculateW=function(c,u){return _.calculateW(c.array,u.array),c._dirty=!0,c},m.conjugate=function(c,u){return _.conjugate(c.array,u.array),c._dirty=!0,c},m.identity=function(c){return _.identity(c.array),c._dirty=!0,c},m.invert=function(c,u){return _.invert(c.array,u.array),c._dirty=!0,c},m.dot=function(c,u){return _.dot(c.array,u.array)},m.len=function(c){return _.length(c.array)},m.lerp=function(c,u,h,r){return _.lerp(c.array,u.array,h.array,r),c._dirty=!0,c},m.slerp=function(c,u,h,r){return _.slerp(c.array,u.array,h.array,r),c._dirty=!0,c},m.mul=function(c,u,h){return _.multiply(c.array,u.array,h.array),c._dirty=!0,c},m.multiply=m.mul,m.rotateX=function(c,u,h){return _.rotateX(c.array,u.array,h),c._dirty=!0,c},m.rotateY=function(c,u,h){return _.rotateY(c.array,u.array,h),c._dirty=!0,c},m.rotateZ=function(c,u,h){return _.rotateZ(c.array,u.array,h),c._dirty=!0,c},m.setAxisAngle=function(c,u,h){return _.setAxisAngle(c.array,u.array,h),c._dirty=!0,c},m.normalize=function(c,u){return _.normalize(c.array,u.array),c._dirty=!0,c},m.sqrLen=function(c){return _.sqrLen(c.array)},m.squaredLength=m.sqrLen,m.fromMat3=function(c,u){return _.fromMat3(c.array,u.array),c._dirty=!0,c},m.setAxes=function(c,u,h,r){return _.setAxes(c.array,u.array,h.array,r.array),c._dirty=!0,c},m.rotationTo=function(c,u,h){return _.rotationTo(c.array,u.array,h.array),c._dirty=!0,c},m.fromEuler=function(c,u,e){c._dirty=!0,u=u.array;var r=c.array,n=Math.cos(u[0]/2),a=Math.cos(u[1]/2),f=Math.cos(u[2]/2),s=Math.sin(u[0]/2),l=Math.sin(u[1]/2),d=Math.sin(u[2]/2),e=(e||"XYZ").toUpperCase();switch(e){case"XYZ":r[0]=s*a*f+n*l*d,r[1]=n*l*f-s*a*d,r[2]=n*a*d+s*l*f,r[3]=n*a*f-s*l*d;break;case"YXZ":r[0]=s*a*f+n*l*d,r[1]=n*l*f-s*a*d,r[2]=n*a*d-s*l*f,r[3]=n*a*f+s*l*d;break;case"ZXY":r[0]=s*a*f-n*l*d,r[1]=n*l*f+s*a*d,r[2]=n*a*d+s*l*f,r[3]=n*a*f-s*l*d;break;case"ZYX":r[0]=s*a*f-n*l*d,r[1]=n*l*f+s*a*d,r[2]=n*a*d-s*l*f,r[3]=n*a*f+s*l*d;break;case"YZX":r[0]=s*a*f+n*l*d,r[1]=n*l*f+s*a*d,r[2]=n*a*d-s*l*f,r[3]=n*a*f-s*l*d;break;case"XZY":r[0]=s*a*f-n*l*d,r[1]=n*l*f-s*a*d,r[2]=n*a*d+s*l*f,r[3]=n*a*f+s*l*d;break}},O.a=m},function(K,O,E){"use strict";var M=E(28),A=E(9),_=E(52),m=E(49),x=E(1),g=E.n(x),c=g.a.vec3,u=g.a.vec4,h=M.a.extend(function(){return{projectionMatrix:new A.a,invProjectionMatrix:new A.a,viewMatrix:new A.a,frustum:new _.a}},function(){this.update(!0)},{update:function(r){M.a.prototype.update.call(this,r),A.a.invert(this.viewMatrix,this.worldTransform),this.updateProjectionMatrix(),A.a.invert(this.invProjectionMatrix,this.projectionMatrix),this.frustum.setFromProjection(this.projectionMatrix)},setViewMatrix:function(r){A.a.copy(this.viewMatrix,r),A.a.invert(this.worldTransform,r),this.decomposeWorldTransform()},decomposeProjectionMatrix:function(){},setProjectionMatrix:function(r){A.a.copy(this.projectionMatrix,r),A.a.invert(this.invProjectionMatrix,r),this.decomposeProjectionMatrix()},updateProjectionMatrix:function(){},castRay:function(){var r=u.create();return function(n,a){var f=a!==void 0?a:new m.a,s=n.array[0],l=n.array[1];return u.set(r,s,l,-1,1),u.transformMat4(r,r,this.invProjectionMatrix.array),u.transformMat4(r,r,this.worldTransform.array),c.scale(f.origin.array,r,1/r[3]),u.set(r,s,l,1,1),u.transformMat4(r,r,this.invProjectionMatrix.array),u.transformMat4(r,r,this.worldTransform.array),c.scale(r,r,1/r[3]),c.sub(f.direction.array,r,f.origin.array),c.normalize(f.direction.array,f.direction.array),f.direction._dirty=!0,f.origin._dirty=!0,f}}()});O.a=h},function(K,O,E){"use strict";var M=E(4),A=E(15),_=E(67),m=E(1),x=E.n(m),g=x.a.vec3,c=g.set,u=g.copy,h=g.transformMat4,r=Math.min,n=Math.max,a=function(){this.planes=[];for(var f=0;f<6;f++)this.planes.push(new _.a);this.boundingBox=new A.a,this.vertices=[];for(var f=0;f<8;f++)this.vertices[f]=g.fromValues(0,0,0)};a.prototype={setFromProjection:function(f){var s=this.planes,l=f.array,d=l[0],e=l[1],t=l[2],i=l[3],o=l[4],v=l[5],y=l[6],p=l[7],C=l[8],D=l[9],b=l[10],S=l[11],L=l[12],w=l[13],P=l[14],I=l[15];c(s[0].normal.array,i-d,p-o,S-C),s[0].distance=-(I-L),s[0].normalize(),c(s[1].normal.array,i+d,p+o,S+C),s[1].distance=-(I+L),s[1].normalize(),c(s[2].normal.array,i+e,p+v,S+D),s[2].distance=-(I+w),s[2].normalize(),c(s[3].normal.array,i-e,p-v,S-D),s[3].distance=-(I-w),s[3].normalize(),c(s[4].normal.array,i-t,p-y,S-b),s[4].distance=-(I-P),s[4].normalize(),c(s[5].normal.array,i+t,p+y,S+b),s[5].distance=-(I+P),s[5].normalize();var R=this.boundingBox;if(I===0){var B=v/d,F=-P/(b-1),W=-P/(b+1),G=-W/v,j=-F/v;R.min.set(-G*B,-G,W),R.max.set(G*B,G,F);var Y=this.vertices;c(Y[0],-G*B,-G,W),c(Y[1],-G*B,G,W),c(Y[2],G*B,-G,W),c(Y[3],G*B,G,W),c(Y[4],-j*B,-j,F),c(Y[5],-j*B,j,F),c(Y[6],j*B,-j,F),c(Y[7],j*B,j,F)}else{var ee=(-1-L)/d,ae=(1-L)/d,le=(1-w)/v,_e=(-1-w)/v,he=(-1-P)/b,ve=(1-P)/b;R.min.set(Math.min(ee,ae),Math.min(_e,le),Math.min(ve,he)),R.max.set(Math.max(ae,ee),Math.max(le,_e),Math.max(he,ve));var Ae=R.min.array,ge=R.max.array,Y=this.vertices;c(Y[0],Ae[0],Ae[1],Ae[2]),c(Y[1],Ae[0],ge[1],Ae[2]),c(Y[2],ge[0],Ae[1],Ae[2]),c(Y[3],ge[0],ge[1],Ae[2]),c(Y[4],Ae[0],Ae[1],ge[2]),c(Y[5],Ae[0],ge[1],ge[2]),c(Y[6],ge[0],Ae[1],ge[2]),c(Y[7],ge[0],ge[1],ge[2])}},getTransformedBoundingBox:function(){var f=g.create();return function(s,l){var d=this.vertices,e=l.array,t=s.min,i=s.max,o=t.array,v=i.array,y=d[0];h(f,y,e),u(o,f),u(v,f);for(var p=1;p<8;p++)y=d[p],h(f,y,e),o[0]=r(f[0],o[0]),o[1]=r(f[1],o[1]),o[2]=r(f[2],o[2]),v[0]=n(f[0],v[0]),v[1]=n(f[1],v[1]),v[2]=n(f[2],v[2]);return t._dirty=!0,i._dirty=!0,s}}()},O.a=a},function(K,O){var E=function(){this.head=null,this.tail=null,this._len=0},M=E.prototype;M.insert=function(g){var c=new A(g);return this.insertEntry(c),c},M.insertEntry=function(g){this.head?(this.tail.next=g,g.prev=this.tail,g.next=null,this.tail=g):this.head=this.tail=g,this._len++},M.remove=function(g){var c=g.prev,u=g.next;c?c.next=u:this.head=u,u?u.prev=c:this.tail=c,g.next=g.prev=null,this._len--},M.len=function(){return this._len},M.clear=function(){this.head=this.tail=null,this._len=0};var A=function(g){this.value=g,this.next,this.prev},_=function(g){this._list=new E,this._map={},this._maxSize=g||10,this._lastRemovedEntry=null},m=_.prototype;m.put=function(g,c){var u=this._list,h=this._map,r=null;if(h[g]==null){var n=u.len(),a=this._lastRemovedEntry;if(n>=this._maxSize&&n>0){var f=u.head;u.remove(f),delete h[f.key],r=f.value,this._lastRemovedEntry=f}a?a.value=c:a=new A(c),a.key=g,u.insertEntry(a),h[g]=a}return r},m.get=function(g){var c=this._map[g],u=this._list;if(c!=null)return c!==u.tail&&(u.remove(c),u.insertEntry(c)),c.value},m.clear=function(){this._list.clear(),this._map={}};var x=_;K.exports=x},function(K,O,E){"use strict";var M=E(5),A=E(25),_=E(102),m=E(55),x=E(56),g=E(29),c=E(104),u=E(105),h={loadTexture:function(r,n,a,f){var s;if(typeof n=="function"?(a=n,f=a,n={}):n=n||{},typeof r=="string"){if(r.match(/.hdr$/)||n.fileType==="hdr")return s=new M.a({width:0,height:0,sRGB:!1}),h._fetchTexture(r,function(l){u.a.parseRGBE(l,s,n.exposure),s.dirty(),a&&a(s)},f),s;r.match(/.dds$/)||n.fileType==="dds"?(s=new M.a({width:0,height:0}),h._fetchTexture(r,function(l){c.a.parse(l,s),s.dirty(),a&&a(s)},f)):(s=new M.a,s.load(r),s.success(a),s.error(f))}else if(typeof r=="object"&&typeof r.px!="undefined"){var s=new A.a;s.load(r),s.success(a),s.error(f)}return s},loadPanorama:function(r,n,a,f,s,l){var d=this;typeof f=="function"?(s=f,l=s,f={}):f=f||{},h.loadTexture(n,f,function(e){e.flipY=f.flipY||!1,d.panoramaToCubeMap(r,e,a,f),e.dispose(r),s&&s(a)},l)},panoramaToCubeMap:function(r,n,a,f){var s=new m.a,l=new x.a({scene:new g.a});return l.material.set("diffuseMap",n),f=f||{},f.encodeRGBM&&l.material.define("fragment","RGBM_ENCODE"),a.sRGB=n.sRGB,s.texture=a,s.render(r,l.scene),s.texture=null,s.dispose(r),a},heightToNormal:function(r,n){var a=document.createElement("canvas"),f=a.width=r.width,s=a.height=r.height,l=a.getContext("2d");l.drawImage(r,0,0,f,s),n=n||!1;for(var d=l.getImageData(0,0,f,s),e=l.createImageData(f,s),t=0;t<d.data.length;t+=4){if(n){var i=d.data[t],o=d.data[t+1],v=d.data[t+2],y=Math.abs(i-o)+Math.abs(o-v);if(y>20)return console.warn("Given image is not a height map"),r}var p,C,D,b;t%(f*4)===0?(p=d.data[t],D=d.data[t+4]):t%(f*4)===(f-1)*4?(p=d.data[t-4],D=d.data[t]):(p=d.data[t-4],D=d.data[t+4]),t<f*4?(C=d.data[t],b=d.data[t+f*4]):t>f*(s-1)*4?(C=d.data[t-f*4],b=d.data[t]):(C=d.data[t-f*4],b=d.data[t+f*4]),e.data[t]=p-D+127,e.data[t+1]=C-b+127,e.data[t+2]=255,e.data[t+3]=255}return l.putImageData(e,0,0),a},isHeightImage:function(r,n,a){if(!r||!r.width||!r.height)return!1;var f=document.createElement("canvas"),s=f.getContext("2d"),l=n||32;a=a||20,f.width=f.height=l,s.drawImage(r,0,0,l,l);for(var d=s.getImageData(0,0,l,l),e=0;e<d.data.length;e+=4){var t=d.data[e],i=d.data[e+1],o=d.data[e+2],v=Math.abs(t-i)+Math.abs(i-o);if(v>a)return!1}return!0},_fetchTexture:function(r,n,a){_.a.get({url:r,responseType:"arraybuffer",onload:n,onerror:a})},createChessboard:function(r,n,a,f){r=r||512,n=n||64,a=a||"black",f=f||"white";var s=Math.ceil(r/n),l=document.createElement("canvas");l.width=r,l.height=r;var d=l.getContext("2d");d.fillStyle=f,d.fillRect(0,0,r,r),d.fillStyle=a;for(var e=0;e<s;e++)for(var t=0;t<s;t++){var i=t%2?e%2:e%2-1;i&&d.fillRect(e*n,t*n,n,n)}var o=new M.a({image:l,anisotropic:8});return o},createBlank:function(r){var n=document.createElement("canvas");n.width=1,n.height=1;var a=n.getContext("2d");a.fillStyle=r,a.fillRect(0,0,1,1);var f=new M.a({image:n});return f}};O.a=h},function(K,O,E){"use strict";var M=E(8),A=E(4),_=E(36),m=E(10),x=["px","nx","py","ny","pz","nz"],g=M.a.extend(function(){var c={position:new A.a,far:1e3,near:.1,texture:null,shadowMapPass:null},u=c._cameras={px:new _.a({fov:90}),nx:new _.a({fov:90}),py:new _.a({fov:90}),ny:new _.a({fov:90}),pz:new _.a({fov:90}),nz:new _.a({fov:90})};return u.px.lookAt(A.a.POSITIVE_X,A.a.NEGATIVE_Y),u.nx.lookAt(A.a.NEGATIVE_X,A.a.NEGATIVE_Y),u.py.lookAt(A.a.POSITIVE_Y,A.a.POSITIVE_Z),u.ny.lookAt(A.a.NEGATIVE_Y,A.a.NEGATIVE_Z),u.pz.lookAt(A.a.POSITIVE_Z,A.a.NEGATIVE_Y),u.nz.lookAt(A.a.NEGATIVE_Z,A.a.NEGATIVE_Y),c._frameBuffer=new m.a,c},{getCamera:function(c){return this._cameras[c]},render:function(c,u,h){var r=c.gl;h||u.update();for(var n=this.texture.width,a=2*Math.atan(n/(n-.5))/Math.PI*180,f=0;f<6;f++){var s=x[f],l=this._cameras[s];if(A.a.copy(l.position,this.position),l.far=this.far,l.near=this.near,l.fov=a,this.shadowMapPass){l.update();var d=u.getBoundingBox();d.applyTransform(l.viewMatrix),u.viewBoundingBoxLastFrame.copy(d),this.shadowMapPass.render(c,u,l,!0)}this._frameBuffer.attach(this.texture,r.COLOR_ATTACHMENT0,r.TEXTURE_CUBE_MAP_POSITIVE_X+f),this._frameBuffer.bind(c),c.render(u,l,!0),this._frameBuffer.unbind(c)}},dispose:function(c){this._frameBuffer.dispose(c)}});O.a=g},function(K,O,E){"use strict";var M=E(24),A=E(68),_=E(7),m=E(17),x=E(103);_.a.import(x.a);var g=M.a.extend(function(){var c=new _.a(_.a.source("clay.basic.vertex"),_.a.source("clay.basic.fragment")),u=new m.a({shader:c,depthMask:!1});return u.enableTexture("diffuseMap"),{scene:null,geometry:new A.a({widthSegments:30,heightSegments:30}),material:u,environmentMap:null,culling:!1}},function(){var c=this.scene;c&&this.attachScene(c),this.environmentMap&&this.setEnvironmentMap(this.environmentMap)},{attachScene:function(c){this.scene&&this.detachScene(),c.skydome=this,this.scene=c,c.on("beforerender",this._beforeRenderScene,this)},detachScene:function(){this.scene&&(this.scene.off("beforerender",this._beforeRenderScene),this.scene.skydome=null),this.scene=null},_beforeRenderScene:function(c,u,h){this.position.copy(h.getWorldPosition()),this.update(),c.renderPass([this],h)},setEnvironmentMap:function(c){this.material.set("diffuseMap",c)},getEnvironmentMap:function(){return this.material.get("diffuseMap")},dispose:function(c){this.detachScene(),this.geometry.dispose(c)}});O.a=g},function(K,O,E){"use strict";var M=E(24),A=E(69),_=E(7),m=E(17),x=E(110);_.a.import(x.a);var g=M.a.extend(function(){var c=new _.a({vertex:_.a.source("clay.skybox.vertex"),fragment:_.a.source("clay.skybox.fragment")}),u=new m.a({shader:c,depthMask:!1});return{scene:null,geometry:new A.a,material:u,environmentMap:null,culling:!1}},function(){var c=this.scene;c&&this.attachScene(c),this.environmentMap&&this.setEnvironmentMap(this.environmentMap)},{attachScene:function(c){this.scene&&this.detachScene(),c.skybox=this,this.scene=c,c.on("beforerender",this._beforeRenderScene,this)},detachScene:function(){this.scene&&(this.scene.off("beforerender",this._beforeRenderScene),this.scene.skybox=null),this.scene=null},dispose:function(c){this.detachScene(),this.geometry.dispose(c)},setEnvironmentMap:function(c){this.material.set("environmentMap",c)},getEnvironmentMap:function(){return this.material.get("environmentMap")},_beforeRenderScene:function(c,u,h){this.renderSkybox(c,h)},renderSkybox:function(c,u){this.position.copy(u.getWorldPosition()),this.update(),c.gl.disable(c.gl.BLEND),this.material.get("lod")>0?this.material.define("fragment","LOD"):this.material.undefine("fragment","LOD"),c.renderPass([this],u)}});O.a=g},function(K,O,E){"use strict";var M=E(2),A=E(143),_=E(144);M.a.Shader.import(_.a),O.a=M.a.Mesh.extend(function(){var m=new A.a({dynamic:!0}),x=new M.a.Material({shader:M.a.createShader("ecgl.labels"),transparent:!0,depthMask:!1});return{geometry:m,material:x,culling:!1,castShadow:!1,ignorePicking:!0}})},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(2),m=E(186),x=E(22),g=E(3),c=E(1),u=E.n(c),h=E(60),r=E(61),n=E(40),a=u.a.vec3;_.a.Shader.import(n.a);function f(s){this.rootNode=new _.a.Node,this._triangulationResults={},this._shadersMap=_.a.COMMON_SHADERS.reduce(function(d,e){return d[e]=_.a.createShader("ecgl."+e),d},{}),this._linesShader=_.a.createShader("ecgl.meshLines3D");var l={};_.a.COMMON_SHADERS.forEach(function(d){l[d]=new _.a.Material({shader:_.a.createShader("ecgl."+d)})}),this._groundMaterials=l,this._groundMesh=new _.a.Mesh({geometry:new _.a.PlaneGeometry({dynamic:!0}),castShadow:!1,renderNormal:!0,$ignorePicking:!0}),this._groundMesh.rotation.rotateX(-Math.PI/2),this._labelsBuilder=new r.a(512,512,s),this._labelsBuilder.getMesh().renderOrder=100,this._labelsBuilder.getMesh().material.depthTest=!1,this.rootNode.add(this._labelsBuilder.getMesh()),this._initMeshes(),this._api=s}f.prototype={constructor:f,extrudeY:!0,update:function(s,l,d,e,t){var i=s.getData();e==null&&(e=0),t==null&&(t=i.count()),this._startIndex=e,this._endIndex=t-1,this._triangulation(s,e,t);var o=this._getShader(s.get("shading"));this._prepareMesh(s,o,d,e,t),this.rootNode.updateWorldTransform(),this._updateRegionMesh(s,d,e,t);var v=s.coordinateSystem;v.type==="geo3D"&&this._updateGroundPlane(s,v,d);var y=this;this._labelsBuilder.updateData(i,e,t),this._labelsBuilder.getLabelPosition=function(p,C,D){var b=i.getName(p),S,L=D;if(v.type==="geo3D"){var w=v.getRegion(b);return S=w.center,v.dataToPoint([S[0],S[1],L])}else var P=y._triangulationResults[p-y._startIndex],S=y.extrudeY?[(P.max[0]+P.min[0])/2,P.max[1]+L,(P.max[2]+P.min[2])/2]:[(P.max[0]+P.min[0])/2,(P.max[1]+P.min[1])/2,P.max[2]+L]},this._data=i,this._labelsBuilder.updateLabels(),this._updateDebugWireframe(s),this._lastHoverDataIndex=0},_initMeshes:function(){this.rootNode.removeAll();var s=this;function l(){var t=new _.a.Mesh({name:"Polygon",material:new _.a.Material({shader:s._shadersMap.lambert}),culling:!1,geometry:new _.a.Geometry({sortTriangles:!0,dynamic:!0}),ignorePicking:!0,renderNormal:!0});return A.a.util.extend(t.geometry,h.a),t}var d=l(),e=new _.a.Mesh({material:new _.a.Material({shader:this._linesShader}),castShadow:!1,ignorePicking:!0,$ignorePicking:!0,geometry:new x.a({useNativeLine:!1})});this.rootNode.add(d),this.rootNode.add(e),d.material.define("both","VERTEX_COLOR"),d.material.define("fragment","DOUBLE_SIDED"),this._polygonMesh=d,this._linesMesh=e,this.rootNode.add(this._groundMesh)},_getShader:function(s){var l=this._shadersMap[s];return l||(console.warn("Unkown shading "+s),l=this._shadersMap.lambert),l.__shading=s,l},_prepareMesh:function(s,l,d,e,t){for(var i=0,o=0,v=0,y=0,p=e;p<t;p++){var C=this._getRegionPolygonInfo(p),D=this._getRegionLinesInfo(p,s,this._linesMesh.geometry);i+=C.vertexCount,o+=C.triangleCount,v+=D.vertexCount,y+=D.triangleCount}var b=this._polygonMesh,S=b.geometry;["position","normal","texcoord0","color"].forEach(function(L){S.attributes[L].init(i)}),S.indices=i>65535?new Uint32Array(o*3):new Uint16Array(o*3),b.material.shader!==l&&b.material.attachShader(l,!0),_.a.setMaterialFromModel(l.__shading,b.material,s,d),v>0&&(this._linesMesh.geometry.resetOffset(),this._linesMesh.geometry.setVertexCount(v),this._linesMesh.geometry.setTriangleCount(y)),this._dataIndexOfVertex=new Uint32Array(i),this._vertexRangeOfDataIndex=new Uint32Array((t-e)*2)},_updateRegionMesh:function(s,l,d,e){for(var t=s.getData(),i=0,o=0,v=!1,G=this._polygonMesh,y=this._linesMesh,p=d;p<e;p++){var C=s.getRegionModel(p),D=C.getModel("itemStyle"),b=D.get("color"),S=g.a.firstNotNull(D.get("opacity"),1),L=t.getItemVisual(p,"color",!0);L!=null&&t.hasValue(p)&&(b=L),t.setItemVisual(p,"color",b),t.setItemVisual(p,"opacity",S),b=_.a.parseColor(b);var w=_.a.parseColor(D.get("borderColor"));b[3]*=S,w[3]*=S;var P=b[3]<.99;G.material.set("color",[1,1,1,1]),v=v||P;for(var I=g.a.firstNotNull(C.get("height",!0),s.get("regionHeight")),R=this._updatePolygonGeometry(s,G.geometry,p,I,i,o,b),B=i;B<R.vertexOffset;B++)this._dataIndexOfVertex[B]=p;this._vertexRangeOfDataIndex[(p-d)*2]=i,this._vertexRangeOfDataIndex[(p-d)*2+1]=R.vertexOffset,i=R.vertexOffset,o=R.triangleOffset;var F=D.get("borderWidth"),W=F>0;W&&(F*=l.getDevicePixelRatio(),this._updateLinesGeometry(y.geometry,s,p,I,F,s.coordinateSystem.transform)),y.invisible=!W,y.material.set({color:w})}var G=this._polygonMesh;G.material.transparent=v,G.material.depthMask=!v,G.geometry.updateBoundingBox(),G.material.get("normalMap")&&G.geometry.generateTangents(),G.seriesIndex=s.seriesIndex,G.on("mousemove",this._onmousemove,this),G.on("mouseout",this._onmouseout,this)},_updateDebugWireframe:function(s){var l=s.getModel("debug.wireframe");if(l.get("show")){var d=_.a.parseColor(l.get("lineStyle.color")||"rgba(0,0,0,0.5)"),e=g.a.firstNotNull(l.get("lineStyle.width"),1),t=this._polygonMesh;t.geometry.generateBarycentric(),t.material.define("both","WIREFRAME_TRIANGLE"),t.material.set("wireframeLineColor",d),t.material.set("wireframeLineWidth",e)}},_onmousemove:function(s){var l=this._dataIndexOfVertex[s.triangle[0]];l==null&&(l=-1),l!==this._lastHoverDataIndex&&(this.downplay(this._lastHoverDataIndex),this.highlight(l)),this._lastHoverDataIndex=l,this._polygonMesh.dataIndex=l},_onmouseover:function(s){if(s.target){var l=s.target.eventData?this._data.indexOfName(s.target.eventData.name):s.target.dataIndex;l!=null&&(this.highlight(l),this._labelsBuilder.updateLabels([l]))}},_onmouseout:function(s){s.target&&(this.downplay(this._lastHoverDataIndex),this._lastHoverDataIndex=-1,this._polygonMesh.dataIndex=-1)},_updateGroundPlane:function(s,l,d){var e=s.getModel("groundPlane",s);if(this._groundMesh.invisible=!e.get("show",!0),!this._groundMesh.invisible){var t=s.get("shading"),i=this._groundMaterials[t];i||(console.warn("Unkown shading "+t),i=this._groundMaterials.lambert),_.a.setMaterialFromModel(t,i,e,d),i.get("normalMap")&&this._groundMesh.geometry.generateTangents(),this._groundMesh.material=i,this._groundMesh.material.set("color",_.a.parseColor(e.get("color"))),this._groundMesh.scale.set(l.size[0],l.size[2],1)}},_triangulation:function(s,l,d){this._triangulationResults=[];for(var e=[1/0,1/0,1/0],t=[-1/0,-1/0,-1/0],i=s.coordinateSystem,o=l;o<d;o++){for(var v=[],y=s.getRegionPolygonCoords(o),p=0;p<y.length;p++){var C=y[p].exterior,D=y[p].interiors,b=[],S=[];if(!(C.length<3)){for(var L=0,w=0;w<C.length;w++){var P=C[w];b[L++]=P[0],b[L++]=P[1]}for(var w=0;w<D.length;w++)if(!(D[w].length<3)){for(var I=b.length/2,R=0;R<D[w].length;R++){var P=D[w][R];b.push(P[0]),b.push(P[1])}S.push(I)}for(var B=Object(m.a)(b,S),F=new Float64Array(b.length/2*3),W=[],G=[1/0,1/0,1/0],j=[-1/0,-1/0,-1/0],Y=0,w=0;w<b.length;)a.set(W,b[w++],0,b[w++]),i&&i.transform&&a.transformMat4(W,W,i.transform),a.min(G,G,W),a.max(j,j,W),F[Y++]=W[0],F[Y++]=W[1],F[Y++]=W[2];a.min(e,e,G),a.max(t,t,j),v.push({points:F,indices:B,min:G,max:j})}}this._triangulationResults.push(v)}this._geoBoundingBox=[e,t]},_getRegionPolygonInfo:function(s){for(var l=this._triangulationResults[s-this._startIndex],d=0,e=0,t=0;t<l.length;t++)d+=l[t].points.length/3,e+=l[t].indices.length/3;var i=d*2+d*4,o=e*2+d*2;return{vertexCount:i,triangleCount:o}},_updatePolygonGeometry:function(s,l,d,e,t,i,o){var v=s.get("projectUVOnGround"),y=l.attributes.position,p=l.attributes.normal,C=l.attributes.texcoord0,D=l.attributes.color,b=this._triangulationResults[d-this._startIndex],S=D.value&&o,L=l.indices,w=this.extrudeY?1:2,P=this.extrudeY?2:1,I=[this.rootNode.worldTransform.x.len(),this.rootNode.worldTransform.y.len(),this.rootNode.worldTransform.z.len()],R=a.mul([],this._geoBoundingBox[0],I),B=a.mul([],this._geoBoundingBox[1],I),F=Math.max(B[0]-R[0],B[2]-R[2]);function W(q,ie,de){for(var me=q.points,Ce=me.length,Oe=[],Ne=[],we=0;we<Ce;we+=3)Oe[0]=me[we],Oe[w]=ie,Oe[P]=me[we+2],Ne[0]=(me[we]*I[0]-R[0])/F,Ne[1]=(me[we+2]*I[P]-R[2])/F,y.set(t,Oe),S&&D.set(t,o),C.set(t++,Ne)}function G(q,ie,de){var me=t;W(q,ie,de);for(var Ce=0;Ce<q.indices.length;Ce++)L[i*3+Ce]=q.indices[Ce]+me;i+=q.indices.length/3}for(var j=this.extrudeY?[0,1,0]:[0,0,1],Y=a.negate([],j),ee=0;ee<b.length;ee++){var ae=t,le=b[ee];G(le,0,0),G(le,e,0);for(var _e=le.points.length/3,he=0;he<_e;he++)p.set(ae+he,Y),p.set(ae+he+_e,j);for(var ve=[0,3,1,1,3,2],Ae=[[],[],[],[]],ge=[],fe=[],Ee=[],ue=[],oe=0,he=0;he<_e;he++){for(var X=(he+1)%_e,re=(le.points[X*3]-le.points[he*3])*I[0],V=(le.points[X*3+2]-le.points[he*3+2])*I[P],ne=Math.sqrt(re*re+V*V),Z=0;Z<4;Z++){var $=Z===0||Z===3,se=($?he:X)*3;Ae[Z][0]=le.points[se],Ae[Z][w]=Z>1?e:0,Ae[Z][P]=le.points[se+2],y.set(t+Z,Ae[Z]),v?(ue[0]=(le.points[se]*I[0]-R[0])/F,ue[1]=(le.points[se+2]*I[P]-R[P])/F):(ue[0]=($?oe:oe+ne)/F,ue[1]=(Ae[Z][w]*I[w]-R[w])/F),C.set(t+Z,ue)}a.sub(ge,Ae[1],Ae[0]),a.sub(fe,Ae[3],Ae[0]),a.cross(Ee,ge,fe),a.normalize(Ee,Ee);for(var Z=0;Z<4;Z++)p.set(t+Z,Ee),S&&D.set(t+Z,o);for(var Z=0;Z<6;Z++)L[i*3+Z]=ve[Z]+t;t+=4,i+=2,oe+=ne}}return l.dirty(),{vertexOffset:t,triangleOffset:i}},_getRegionLinesInfo:function(s,l,d){var e=0,t=0,i=l.getRegionModel(s),o=i.getModel("itemStyle"),v=o.get("borderWidth");if(v>0){var y=l.getRegionPolygonCoords(s);y.forEach(function(p){var C=p.exterior,D=p.interiors;e+=d.getPolylineVertexCount(C),t+=d.getPolylineTriangleCount(C);for(var b=0;b<D.length;b++)e+=d.getPolylineVertexCount(D[b]),t+=d.getPolylineTriangleCount(D[b])},this)}return{vertexCount:e,triangleCount:t}},_updateLinesGeometry:function(s,l,d,e,t,i){function o(p){for(var C=new Float64Array(p.length*3),D=0,b=[],S=0;S<p.length;S++)b[0]=p[S][0],b[1]=e+.1,b[2]=p[S][1],i&&a.transformMat4(b,b,i),C[D++]=b[0],C[D++]=b[1],C[D++]=b[2];return C}var v=[1,1,1,1],y=l.getRegionPolygonCoords(d);y.forEach(function(p){var C=p.exterior,D=p.interiors;s.addPolyline(o(C),v,t);for(var b=0;b<D.length;b++)s.addPolyline(o(D[b]),v,t)})},highlight:function(s){var l=this._data;if(l){var d=l.getItemModel(s),e=d.getModel("emphasis.itemStyle"),t=e.get("color"),i=g.a.firstNotNull(e.get("opacity"),l.getItemVisual(s,"opacity"),1);if(t==null){var o=l.getItemVisual(s,"color");t=A.a.color.lift(o,-.4)}i==null&&(i=l.getItemVisual(s,"opacity"));var v=_.a.parseColor(t);v[3]*=i,this._setColorOfDataIndex(l,s,v)}},downplay:function(s){var l=this._data;if(l){var d=l.getItemVisual(s,"color"),e=g.a.firstNotNull(l.getItemVisual(s,"opacity"),1),t=_.a.parseColor(d);t[3]*=e,this._setColorOfDataIndex(l,s,t)}},_setColorOfDataIndex:function(s,l,d){if(!(l<this._startIndex&&l>this._endIndex)){l-=this._startIndex;for(var e=this._vertexRangeOfDataIndex[l*2];e<this._vertexRangeOfDataIndex[l*2+1];e++)this._polygonMesh.geometry.attributes.color.set(e,d);this._polygonMesh.geometry.dirty(),this._api.getZr().refresh()}}},O.a=f},function(K,O,E){"use strict";var M=E(81),A=E(1),_=E.n(A),m=_.a.vec3,x=m.create(),g=m.create(),c=m.create();O.a={needsSortTriangles:function(){return this.indices&&this.sortTriangles},needsSortTrianglesProgressively:function(){return this.needsSortTriangles()&&this.triangleCount>=2e4},doSortTriangles:function(u,h){var r=this.indices;if(h===0){var n=this.attributes.position,u=u.array;(!this._triangleZList||this._triangleZList.length!==this.triangleCount)&&(this._triangleZList=new Float32Array(this.triangleCount),this._sortedTriangleIndices=new Uint32Array(this.triangleCount),this._indicesTmp=new r.constructor(r.length),this._triangleZListTmp=new Float32Array(this.triangleCount));for(var a=0,f,s=0;s<r.length;){n.get(r[s++],x),n.get(r[s++],g),n.get(r[s++],c);var l=m.sqrDist(x,u),d=m.sqrDist(g,u),e=m.sqrDist(c,u),t=Math.min(l,d);t=Math.min(t,e),s===3?(f=t,t=0):t=t-f,this._triangleZList[a++]=t}}for(var i=this._sortedTriangleIndices,s=0;s<i.length;s++)i[s]=s;if(this.triangleCount<2e4)h===0&&this._simpleSort(!0);else for(var s=0;s<3;s++)this._progressiveQuickSort(h*3+s);for(var o=this._indicesTmp,v=this._triangleZListTmp,y=this._triangleZList,s=0;s<this.triangleCount;s++){var p=i[s]*3,C=s*3;o[C++]=r[p++],o[C++]=r[p++],o[C]=r[p],v[s]=y[i[s]]}var D=this._indicesTmp;this._indicesTmp=this.indices,this.indices=D;var D=this._triangleZListTmp;this._triangleZListTmp=this._triangleZList,this._triangleZList=D,this.dirtyIndices()},_simpleSort:function(u){var h=this._triangleZList,r=this._sortedTriangleIndices;function n(a,f){return h[f]-h[a]}u?Array.prototype.sort.call(r,n):M.a.sort(r,n,0,r.length-1)},_progressiveQuickSort:function(u){var h=this._triangleZList,r=this._sortedTriangleIndices;this._quickSort=this._quickSort||new M.a,this._quickSort.step(r,function(n,a){return h[a]-h[n]},u)}}},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(73),m=E(58),x=E(3),g=1,c=2;function u(h,r,n){this._labelsMesh=new m.a,this._labelTextureSurface=new _.a({width:512,height:512,devicePixelRatio:n.getDevicePixelRatio(),onupdate:function(){n.getZr().refresh()}}),this._api=n,this._labelsMesh.material.set("textureAtlas",this._labelTextureSurface.getTexture())}u.prototype.getLabelPosition=function(h,r,n){return[0,0,0]},u.prototype.getLabelDistance=function(h,r,n){return 0},u.prototype.getMesh=function(){return this._labelsMesh},u.prototype.updateData=function(h,r,n){r==null&&(r=0),n==null&&(n=h.count()),(!this._labelsVisibilitiesBits||this._labelsVisibilitiesBits.length!==n-r)&&(this._labelsVisibilitiesBits=new Uint8Array(n-r));for(var a=["label","show"],f=["emphasis","label","show"],s=r;s<n;s++){var l=h.getItemModel(s),d=l.get(a),e=l.get(f);e==null&&(e=d);var t=(d?g:0)|(e?c:0);this._labelsVisibilitiesBits[s-r]=t}this._start=r,this._end=n,this._data=h},u.prototype.updateLabels=function(h){if(this._data){h=h||[];for(var r=h.length>0,n={},a=0;a<h.length;a++)n[h[a]]=!0;this._labelsMesh.geometry.convertToDynamicArray(!0),this._labelTextureSurface.clear();for(var f=["label"],s=["emphasis","label"],l=this._data.hostModel,d=this._data,e=l.getModel(f),t=l.getModel(s,e),i={left:"right",right:"left",top:"center",bottom:"center"},o={left:"middle",right:"middle",top:"bottom",bottom:"top"},v=this._start;v<this._end;v++){var y=!1;r&&n[v]&&(y=!0);var p=this._labelsVisibilitiesBits[v-this._start]&(y?c:g);if(p){var C=d.getItemModel(v),D=C.getModel(y?s:f,y?t:e),b=D.get("distance")||0,S=D.get("position"),L=D.getModel("textStyle"),w=this._api.getDevicePixelRatio(),P=l.getFormattedLabel(v,y?"emphasis":"normal");if(P==null||P==="")return;var I=new A.a.graphic.Text;A.a.graphic.setTextStyle(I.style,L,{text:P,textFill:L.get("color")||d.getItemVisual(v,"color")||"#000",textAlign:"left",textVerticalAlign:"top",opacity:x.a.firstNotNull(L.get("opacity"),d.getItemVisual(v,"opacity"),1)});var R=I.getBoundingRect(),B=1.2;R.height*=B;var F=this._labelTextureSurface.add(I),W=i[S]||"center",G=o[S]||"bottom";this._labelsMesh.geometry.addSprite(this.getLabelPosition(v,S,b),[R.width*w,R.height*w],F,W,G,this.getLabelDistance(v,S,b)*w)}}this._labelsMesh.material.set("uvScale",this._labelTextureSurface.getCoordsScale()),this._labelTextureSurface.getZr().refreshImmediately(),this._labelsMesh.geometry.convertToTypedArray(),this._labelsMesh.geometry.dirty()}},O.a=u},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(2),m=E(216),x=E(217),g=E(61),c=E(9),u=E(3),h=20,r=-10;function n(f,s){return f&&s&&f[0]===s[0]&&f[1]===s[1]}function a(f,s){this.rootNode=new _.a.Node,this.is2D=f,this._labelsBuilder=new g.a(256,256,s),this._labelsBuilder.getMesh().renderOrder=100,this.rootNode.add(this._labelsBuilder.getMesh()),this._api=s,this._spriteImageCanvas=document.createElement("canvas"),this._startDataIndex=0,this._endDataIndex=0,this._sizeScale=1}a.prototype={constructor:a,highlightOnMouseover:!0,update:function(f,s,l,d,e){var t=this._prevMesh;this._prevMesh=this._mesh,this._mesh=t;var i=f.getData();if(d==null&&(d=0),e==null&&(e=i.count()),this._startDataIndex=d,this._endDataIndex=e-1,!this._mesh){var o=this._prevMesh&&this._prevMesh.material;this._mesh=new x.a({renderOrder:10,frustumCulling:!1}),o&&(this._mesh.material=o)}var o=this._mesh.material,v=this._mesh.geometry,y=v.attributes;this.rootNode.remove(this._prevMesh),this.rootNode.add(this._mesh),this._setPositionTextureToMesh(this._mesh,this._positionTexture);var p=this._getSymbolInfo(f,d,e),C=l.getDevicePixelRatio(),D=f.getModel("itemStyle").getItemStyle(),b=f.get("large"),S=1;p.maxSize>2?(S=this._updateSymbolSprite(f,D,p,C),o.enableTexture("sprite")):o.disableTexture("sprite"),y.position.init(e-d);var L=[];if(b){o.undefine("VERTEX_SIZE"),o.undefine("VERTEX_COLOR");var w=i.getVisual("color"),P=i.getVisual("opacity");_.a.parseColor(w,L),L[3]*=P,o.set({color:L,u_Size:p.maxSize*this._sizeScale})}else o.set({color:[1,1,1,1]}),o.define("VERTEX_SIZE"),o.define("VERTEX_COLOR"),y.size.init(e-d),y.color.init(e-d),this._originalOpacity=new Float32Array(e-d);for(var I=i.getLayout("points"),R=y.position.value,B=!1,F=0;F<e-d;F++){var W=F*3,G=F*2;if(this.is2D?(R[W]=I[G],R[W+1]=I[G+1],R[W+2]=r):(R[W]=I[W],R[W+1]=I[W+1],R[W+2]=I[W+2]),!b){var w=i.getItemVisual(F,"color"),P=i.getItemVisual(F,"opacity");_.a.parseColor(w,L),L[3]*=P,y.color.set(F,L),L[3]<.99&&(B=!0);var j=i.getItemVisual(F,"symbolSize");j=j instanceof Array?Math.max(j[0],j[1]):j,isNaN(j)&&(j=0),y.size.value[F]=j*S*this._sizeScale,this._originalOpacity[F]=L[3]}}this._mesh.sizeScale=S,v.updateBoundingBox(),v.dirty(),this._updateMaterial(f,D);var Y=f.coordinateSystem;if(Y&&Y.viewGL){var ee=Y.viewGL.isLinearSpace()?"define":"undefine";o[ee]("fragment","SRGB_DECODE")}b||this._updateLabelBuilder(f,d,e),this._updateHandler(f,s,l),this._updateAnimation(f),this._api=l},getPointsMesh:function(){return this._mesh},updateLabels:function(f){this._labelsBuilder.updateLabels(f)},hideLabels:function(){this.rootNode.remove(this._labelsBuilder.getMesh())},showLabels:function(){this.rootNode.add(this._labelsBuilder.getMesh())},_updateSymbolSprite:function(f,s,l,d){l.maxSize=Math.min(l.maxSize*2,200);var e=[];return l.aspect>1?(e[0]=l.maxSize,e[1]=l.maxSize/l.aspect):(e[1]=l.maxSize,e[0]=l.maxSize*l.aspect),e[0]=e[0]||1,e[1]=e[1]||1,(this._symbolType!==l.type||!n(this._symbolSize,e)||this._lineWidth!==s.lineWidth)&&(m.a.createSymbolSprite(l.type,e,{fill:"#fff",lineWidth:s.lineWidth,stroke:"transparent",shadowColor:"transparent",minMargin:Math.min(e[0]/2,10)},this._spriteImageCanvas),m.a.createSDFFromCanvas(this._spriteImageCanvas,Math.min(this._spriteImageCanvas.width,32),h,this._mesh.material.get("sprite").image),this._symbolType=l.type,this._symbolSize=e,this._lineWidth=s.lineWidth),this._spriteImageCanvas.width/l.maxSize*d},_updateMaterial:function(f,s){var l=f.get("blendMode")==="lighter"?_.a.additiveBlend:null,d=this._mesh.material;d.blend=l,d.set("lineWidth",s.lineWidth/h);var e=_.a.parseColor(s.stroke);d.set("strokeColor",e),d.transparent=!0,d.depthMask=!1,d.depthTest=!this.is2D,d.sortVertices=!this.is2D},_updateLabelBuilder:function(f,i,l){var d=f.getData(),e=this._mesh.geometry,t=e.attributes.position.value,i=this._startDataIndex,o=this._mesh.sizeScale;this._labelsBuilder.updateData(d,i,l),this._labelsBuilder.getLabelPosition=function(v,y,p){var C=(v-i)*3;return[t[C],t[C+1],t[C+2]]},this._labelsBuilder.getLabelDistance=function(v,y,p){var C=e.attributes.size.get(v-i)/o;return C/2+p},this._labelsBuilder.updateLabels()},_updateAnimation:function(f){_.a.updateVertexAnimation([["prevPosition","position"],["prevSize","size"]],this._prevMesh,this._mesh,f)},_updateHandler:function(f,s,l){var d=f.getData(),e=this._mesh,t=this,i=-1,o=f.coordinateSystem&&f.coordinateSystem.type==="cartesian3D",v;o&&(v=f.coordinateSystem.model),e.seriesIndex=f.seriesIndex,e.off("mousemove"),e.off("mouseout"),e.on("mousemove",function(y){var p=y.vertexIndex+t._startDataIndex;p!==i&&(this.highlightOnMouseover&&(this.downplay(d,i),this.highlight(d,p),this._labelsBuilder.updateLabels([p])),o&&l.dispatchAction({type:"grid3DShowAxisPointer",value:[d.get(f.coordDimToDataDim("x")[0],p),d.get(f.coordDimToDataDim("y")[0],p),d.get(f.coordDimToDataDim("z")[0],p)],grid3DIndex:v.componentIndex})),e.dataIndex=p,i=p},this),e.on("mouseout",function(y){var p=y.vertexIndex+t._startDataIndex;this.highlightOnMouseover&&(this.downplay(d,p),this._labelsBuilder.updateLabels()),i=-1,e.dataIndex=-1,o&&l.dispatchAction({type:"grid3DHideAxisPointer",grid3DIndex:v.componentIndex})},this)},updateLayout:function(f,s,l){var d=f.getData();if(this._mesh){var e=this._mesh.geometry.attributes.position.value,t=d.getLayout("points");if(this.is2D)for(var i=0;i<t.length/2;i++){var o=i*3,v=i*2;e[o]=t[v],e[o+1]=t[v+1],e[o+2]=r}else for(var i=0;i<t.length;i++)e[i]=t[i];this._mesh.geometry.dirty(),l.getZr().refresh()}},updateView:function(f){if(this._mesh){var s=new c.a;c.a.mul(s,f.viewMatrix,this._mesh.worldTransform),c.a.mul(s,f.projectionMatrix,s),this._mesh.updateNDCPosition(s,this.is2D,this._api)}},highlight:function(f,s){if(!(s>this._endDataIndex||s<this._startDataIndex)){var l=f.getItemModel(s),d=l.getModel("emphasis.itemStyle"),e=d.get("color"),t=d.get("opacity");if(e==null){var i=f.getItemVisual(s,"color");e=A.a.color.lift(i,-.4)}t==null&&(t=f.getItemVisual(s,"opacity"));var o=_.a.parseColor(e);o[3]*=t,this._mesh.geometry.attributes.color.set(s-this._startDataIndex,o),this._mesh.geometry.dirtyAttribute("color"),this._api.getZr().refresh()}},downplay:function(f,s){if(!(s>this._endDataIndex||s<this._startDataIndex)){var l=f.getItemVisual(s,"color"),d=f.getItemVisual(s,"opacity"),e=_.a.parseColor(l);e[3]*=d,this._mesh.geometry.attributes.color.set(s-this._startDataIndex,e),this._mesh.geometry.dirtyAttribute("color"),this._api.getZr().refresh()}},fadeOutAll:function(f){if(this._originalOpacity){for(var s=this._mesh.geometry,l=0;l<s.vertexCount;l++){var d=this._originalOpacity[l]*f;s.attributes.color.value[l*4+3]=d}s.dirtyAttribute("color"),this._api.getZr().refresh()}},fadeInAll:function(){this.fadeOutAll(1)},setPositionTexture:function(f){this._mesh&&this._setPositionTextureToMesh(this._mesh,f),this._positionTexture=f},removePositionTexture:function(){this._positionTexture=null,this._mesh&&this._setPositionTextureToMesh(this._mesh,null)},setSizeScale:function(f){if(f!==this._sizeScale){if(this._mesh){var s=this._mesh.material.get("u_Size");this._mesh.material.set("u_Size",s/this._sizeScale*f);var l=this._mesh.geometry.attributes;if(l.size.value)for(var d=0;d<l.size.value.length;d++)l.size.value[d]=l.size.value[d]/this._sizeScale*f}this._sizeScale=f}},_setPositionTextureToMesh:function(f,s){s&&f.material.set("positionTexture",s),f.material[s?"enableTexture":"disableTexture"]("positionTexture")},_getSymbolInfo:function(f,s,l){if(f.get("large")){var d=u.a.firstNotNull(f.get("symbolSize"),1),y,t;return d instanceof Array?(y=Math.max(d[0],d[1]),t=d[0]/d[1]):(y=d,t=1),{maxSize:d,type:f.get("symbol"),aspect:t}}for(var e=f.getData(),t,i=!1,o=e.getItemVisual(0,"symbol")||"circle",v=!1,y=0,p=s;p<l;p++){var d=e.getItemVisual(p,"symbolSize"),C=e.getItemVisual(p,"symbol"),D;if(d instanceof Array)D=d[0]/d[1],y=Math.max(Math.max(d[0],d[1]),y);else{if(isNaN(d))return;D=1,y=Math.max(d,y)}t!=null&&Math.abs(D-t)>.05&&(i=!0),C!==o&&(v=!0),o=C,t=D}return i&&console.warn("Different symbol width / height ratio will be ignored."),v&&console.warn("Different symbol type will be ignored."),{maxSize:y,type:o,aspect:t}}},O.a=a},function(K,O,E){"use strict";O.a=`@export clay.prez.vertex
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
attribute vec3 position : POSITION;
|
|
@import clay.chunk.skinning_header
|
|
void main()
|
|
{
|
|
vec3 skinnedPosition = position;
|
|
#ifdef SKINNING
|
|
@import clay.chunk.skin_matrix
|
|
skinnedPosition = (skinMatrixWS * vec4(position, 1.0)).xyz;
|
|
#endif
|
|
gl_Position = worldViewProjection * vec4(skinnedPosition, 1.0);
|
|
}
|
|
@end
|
|
@export clay.prez.fragment
|
|
void main()
|
|
{
|
|
gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);
|
|
}
|
|
@end`},function(K,O,E){"use strict";var M=E(28),A=E(11),_=0,m=null,x=!0,g,c=function(){this.triangleCount=0,this.vertexCount=0,this.drawCallCount=0};function u(r,n,a){this.availableAttributes=r,this.availableAttributeSymbols=n,this.indicesBuffer=a,this.vao=null}var h=M.a.extend({material:null,geometry:null,mode:A.a.TRIANGLES,_drawCache:null,_renderInfo:null},function(){this._drawCache={},this._renderInfo=new c},{__program:null,lightGroup:0,renderOrder:0,lineWidth:1,culling:!0,cullFace:A.a.BACK,frontFace:A.a.CCW,frustumCulling:!0,receiveShadow:!0,castShadow:!0,ignorePicking:!1,ignorePreZ:!1,ignoreGBuffer:!1,isRenderable:function(){return this.geometry&&this.material&&this.material.shader&&!this.invisible&&this.geometry.vertexCount>0},beforeRender:function(r){},afterRender:function(r,n){},getBoundingBox:function(r,n){return n=M.a.prototype.getBoundingBox.call(this,r,n),this.geometry&&this.geometry.boundingBox&&n.union(this.geometry.boundingBox),n},render:function(r,n,a){var f=r.gl;n=n||this.material;var s=n.shader,l=this.geometry,d=this.mode,e=l.vertexCount,t=l.isUseIndices(),i=r.getGLExtension("OES_element_index_uint"),o=i&&e>65535,v=o?f.UNSIGNED_INT:f.UNSIGNED_SHORT,y=r.getGLExtension("OES_vertex_array_object"),p=!l.dynamic,C=this._renderInfo;C.vertexCount=e,C.triangleCount=0,C.drawCallCount=0;var D=!1;if(g=r.__uid__+"-"+l.__uid__+"-"+a.__uid__,(g!==_||y&&p||l._cache.isDirty("any"))&&(D=!0),_=g,!D)x?(f.drawElements(d,m.count,v,0),C.triangleCount=m.count/3):f.drawArrays(d,0,e),C.drawCallCount=1;else{var b=this._drawCache[g];if(!b){var S=l.getBufferChunks(r);if(!S)return;b=[];for(var L=0;L<S.length;L++){for(var w=S[L],P=w.attributeBuffers,I=w.indicesBuffer,R=[],B=[],F=0;F<P.length;F++){var W=P[F],G=W.name,j=W.semantic,Y;if(j){var ee=s.attributeSemantics[j];Y=ee&&ee.symbol}else Y=G;Y&&a.attributes[Y]&&(R.push(W),B.push(Y))}var ae=new u(R,B,I);b.push(ae)}p&&(this._drawCache[g]=b)}for(var le=0;le<b.length;le++){var ae=b[le],_e=!0;y&&p&&(ae.vao==null?ae.vao=y.createVertexArrayOES():_e=!1,y.bindVertexArrayOES(ae.vao));var R=ae.availableAttributes,I=ae.indicesBuffer;if(_e)for(var he=a.enableAttributes(r,ae.availableAttributeSymbols,y&&p&&ae.vao),F=0;F<R.length;F++){var ve=he[F];if(ve!==-1){var W=R[F],Ae=W.buffer,ge=W.size,fe;switch(W.type){case"float":fe=f.FLOAT;break;case"byte":fe=f.BYTE;break;case"ubyte":fe=f.UNSIGNED_BYTE;break;case"short":fe=f.SHORT;break;case"ushort":fe=f.UNSIGNED_SHORT;break;default:fe=f.FLOAT;break}f.bindBuffer(f.ARRAY_BUFFER,Ae),f.vertexAttribPointer(ve,ge,fe,!1,0,0)}}(d==A.a.LINES||d==A.a.LINE_STRIP||d==A.a.LINE_LOOP)&&f.lineWidth(this.lineWidth),m=I,x=l.isUseIndices(),x?(_e&&f.bindBuffer(f.ELEMENT_ARRAY_BUFFER,I.buffer),f.drawElements(d,I.count,v,0),C.triangleCount+=I.count/3):f.drawArrays(d,0,e),y&&p&&y.bindVertexArrayOES(null),C.drawCallCount++}}return C},clone:function(){var r=["castShadow","receiveShadow","mode","culling","cullFace","frontFace","frustumCulling","renderOrder","lineWidth","ignorePicking","ignorePreZ","ignoreGBuffer"];return function(){var n=M.a.prototype.clone.call(this);n.geometry=this.geometry,n.material=this.material;for(var a=0;a<r.length;a++){var f=r[a];n[f]!==this[f]&&(n[f]=this[f])}return n}}()});h.POINTS=A.a.POINTS,h.LINES=A.a.LINES,h.LINE_LOOP=A.a.LINE_LOOP,h.LINE_STRIP=A.a.LINE_STRIP,h.TRIANGLES=A.a.TRIANGLES,h.TRIANGLE_STRIP=A.a.TRIANGLE_STRIP,h.TRIANGLE_FAN=A.a.TRIANGLE_FAN,h.BACK=A.a.BACK,h.FRONT=A.a.FRONT,h.FRONT_AND_BACK=A.a.FRONT_AND_BACK,h.CW=A.a.CW,h.CCW=A.a.CCW,h.RenderInfo=c,O.a=h},function(K,O){var E=typeof window!="undefined"&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(M){setTimeout(M,16)};K.exports=E},function(K,O,E){"use strict";var M={};M.isPowerOfTwo=function(A){return(A&A-1)===0},M.nextPowerOfTwo=function(A){return A--,A|=A>>1,A|=A>>2,A|=A>>4,A|=A>>8,A|=A>>16,A++,A},M.nearestPowerOfTwo=function(A){return Math.pow(2,Math.round(Math.log(A)/Math.LN2))},O.a=M},function(K,O,E){"use strict";var M=E(4),A=E(1),_=E.n(A),m=_.a.vec3,x=_.a.mat4,g=_.a.vec4,c=function(u,h){this.normal=u||new M.a(0,1,0),this.distance=h||0};c.prototype={constructor:c,distanceToPoint:function(u){return m.dot(u.array,this.normal.array)-this.distance},projectPoint:function(u,h){h||(h=new M.a);var r=this.distanceToPoint(u);return m.scaleAndAdd(h.array,u.array,this.normal.array,-r),h._dirty=!0,h},normalize:function(){var u=1/m.len(this.normal.array);m.scale(this.normal.array,u),this.distance*=u},intersectFrustum:function(u){for(var h=u.vertices,r=this.normal.array,n=m.dot(h[0].array,r)>this.distance,a=1;a<8;a++)if(m.dot(h[a].array,r)>this.distance!=n)return!0},intersectLine:function(){var u=m.create();return function(h,r,n){var a=this.distanceToPoint(h),f=this.distanceToPoint(r);if(a>0&&f>0||a<0&&f<0)return null;var s=this.normal.array,l=this.distance,d=h.array;m.sub(u,r.array,h.array),m.normalize(u,u);var e=m.dot(s,u);if(e===0)return null;n||(n=new M.a);var t=(m.dot(s,d)-l)/e;return m.scaleAndAdd(n.array,d,u,-t),n._dirty=!0,n}}(),applyTransform:function(){var u=x.create(),h=g.create(),r=g.create();return r[3]=1,function(n){n=n.array,m.scale(r,this.normal.array,this.distance),g.transformMat4(r,r,n),this.distance=m.dot(r,this.normal.array),x.invert(u,n),x.transpose(u,u),h[3]=0,m.copy(h,this.normal.array),g.transformMat4(h,h,u),m.copy(this.normal.array,h)}}(),copy:function(u){m.copy(this.normal.array,u.normal.array),this.normal._dirty=!0,this.distance=u.distance},clone:function(){var u=new c;return u.copy(this),u}},O.a=c},function(K,O,E){"use strict";var M=E(13),A=E(15),_=M.a.extend({dynamic:!1,widthSegments:40,heightSegments:20,phiStart:0,phiLength:Math.PI*2,thetaStart:0,thetaLength:Math.PI,radius:1},function(){this.build()},{build:function(){var m=this.heightSegments,x=this.widthSegments,g=this.attributes.position,c=this.attributes.texcoord0,u=this.attributes.normal,h=(x+1)*(m+1);g.init(h),c.init(h),u.init(h);var r=h>65535?Uint32Array:Uint16Array,n=this.indices=new r(x*m*6),a,f,s,l,d,e,t,p=this.radius,i=this.phiStart,o=this.phiLength,v=this.thetaStart,y=this.thetaLength,p=this.radius,C=[],D=[],b=0,S=1/p;for(t=0;t<=m;t++)for(e=0;e<=x;e++)l=e/x,d=t/m,a=-p*Math.cos(i+l*o)*Math.sin(v+d*y),f=p*Math.cos(v+d*y),s=p*Math.sin(i+l*o)*Math.sin(v+d*y),C[0]=a,C[1]=f,C[2]=s,D[0]=l,D[1]=d,g.set(b,C),c.set(b,D),C[0]*=S,C[1]*=S,C[2]*=S,u.set(b,C),b++;var L,w,P,I,R=x+1,B=0;for(t=0;t<m;t++)for(e=0;e<x;e++)w=t*R+e,L=t*R+e+1,I=(t+1)*R+e+1,P=(t+1)*R+e,n[B++]=L,n[B++]=w,n[B++]=I,n[B++]=w,n[B++]=P,n[B++]=I;this.boundingBox=new A.a,this.boundingBox.max.set(p,p,p),this.boundingBox.min.set(-p,-p,-p)}});O.a=_},function(K,O,E){"use strict";var M=E(13),A=E(37),_=E(9),m=E(4),x=E(15),g=E(18),c=new _.a,u=M.a.extend({dynamic:!1,widthSegments:1,heightSegments:1,depthSegments:1,inside:!1},function(){this.build()},{build:function(){var r={px:h("px",this.depthSegments,this.heightSegments),nx:h("nx",this.depthSegments,this.heightSegments),py:h("py",this.widthSegments,this.depthSegments),ny:h("ny",this.widthSegments,this.depthSegments),pz:h("pz",this.widthSegments,this.heightSegments),nz:h("nz",this.widthSegments,this.heightSegments)},n=["position","texcoord0","normal"],a=0,f=0;for(var s in r)a+=r[s].vertexCount,f+=r[s].indices.length;for(var l=0;l<n.length;l++)this.attributes[n[l]].init(a);this.indices=new g.a.Uint16Array(f);var d=0,e=0;for(var s in r){for(var t=r[s],l=0;l<n.length;l++)for(var i=n[l],o=t.attributes[i].value,v=t.attributes[i].size,y=i==="normal",p=0;p<o.length;p++){var C=o[p];this.inside&&y&&(C=-C),this.attributes[i].value[p+v*e]=C}for(var D=t.indices.length,p=0;p<t.indices.length;p++)this.indices[p+d]=e+t.indices[this.inside?D-p-1:p];d+=t.indices.length,e+=t.vertexCount}this.boundingBox=new x.a,this.boundingBox.max.set(1,1,1),this.boundingBox.min.set(-1,-1,-1)}});function h(r,n,a){c.identity();var f=new A.a({widthSegments:n,heightSegments:a});switch(r){case"px":_.a.translate(c,c,m.a.POSITIVE_X),_.a.rotateY(c,c,Math.PI/2);break;case"nx":_.a.translate(c,c,m.a.NEGATIVE_X),_.a.rotateY(c,c,-Math.PI/2);break;case"py":_.a.translate(c,c,m.a.POSITIVE_Y),_.a.rotateX(c,c,-Math.PI/2);break;case"ny":_.a.translate(c,c,m.a.NEGATIVE_Y),_.a.rotateX(c,c,Math.PI/2);break;case"pz":_.a.translate(c,c,m.a.POSITIVE_Z);break;case"nz":_.a.translate(c,c,m.a.NEGATIVE_Z),_.a.rotateY(c,c,Math.PI);break}return f.applyTransform(c),f}O.a=u},function(K,O,E){"use strict";var M=E(19),A=E(4),_=M.a.extend({shadowBias:.001,shadowSlopeScale:2,shadowCascade:1,cascadeSplitLogFactor:.2},{type:"DIRECTIONAL_LIGHT",uniformTemplates:{directionalLightDirection:{type:"3f",value:function(m){return m.__dir=m.__dir||new A.a,m.__dir.copy(m.worldTransform.z).normalize().negate().array}},directionalLightColor:{type:"3f",value:function(m){var x=m.color,g=m.intensity;return[x[0]*g,x[1]*g,x[2]*g]}}},clone:function(){var m=M.a.prototype.clone.call(this);return m.shadowBias=this.shadowBias,m.shadowSlopeScale=this.shadowSlopeScale,m}});O.a=_},function(K,O,E){"use strict";var M=E(19),A=M.a.extend({range:100,castShadow:!1},{type:"POINT_LIGHT",uniformTemplates:{pointLightPosition:{type:"3f",value:function(_){return _.getWorldPosition().array}},pointLightRange:{type:"1f",value:function(_){return _.range}},pointLightColor:{type:"3f",value:function(_){var m=_.color,x=_.intensity;return[m[0]*x,m[1]*x,m[2]*x]}}},clone:function(){var _=M.a.prototype.clone.call(this);return _.range=this.range,_}});O.a=A},function(K,O,E){"use strict";var M=E(19),A=E(4),_=M.a.extend({range:20,umbraAngle:30,penumbraAngle:45,falloffFactor:2,shadowBias:2e-4,shadowSlopeScale:2},{type:"SPOT_LIGHT",uniformTemplates:{spotLightPosition:{type:"3f",value:function(m){return m.getWorldPosition().array}},spotLightRange:{type:"1f",value:function(m){return m.range}},spotLightUmbraAngleCosine:{type:"1f",value:function(m){return Math.cos(m.umbraAngle*Math.PI/180)}},spotLightPenumbraAngleCosine:{type:"1f",value:function(m){return Math.cos(m.penumbraAngle*Math.PI/180)}},spotLightFalloffFactor:{type:"1f",value:function(m){return m.falloffFactor}},spotLightDirection:{type:"3f",value:function(m){return m.__dir=m.__dir||new A.a,m.__dir.copy(m.worldTransform.z).negate().array}},spotLightColor:{type:"3f",value:function(m){var x=m.color,g=m.intensity;return[x[0]*g,x[1]*g,x[2]*g]}}},clone:function(){var m=M.a.prototype.clone.call(this);return m.range=this.range,m.umbraAngle=this.umbraAngle,m.penumbraAngle=this.penumbraAngle,m.falloffFactor=this.falloffFactor,m.shadowBias=this.shadowBias,m.shadowSlopeScale=this.shadowSlopeScale,m}});O.a=_},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(5);function m(g,c,u,h,r,n,a){this._zr=g,this._x=0,this._y=0,this._rowHeight=0,this.width=h,this.height=r,this.offsetX=c,this.offsetY=u,this.dpr=a,this.gap=n}m.prototype={constructor:m,clear:function(){this._x=0,this._y=0,this._rowHeight=0},add:function(g,c,u){var h=g.getBoundingRect();c==null&&(c=h.width),u==null&&(u=h.height),c*=this.dpr,u*=this.dpr,this._fitElement(g,c,u);var r=this._x,n=this._y,a=this.width*this.dpr,f=this.height*this.dpr,s=this.gap;if(r+c+s>a&&(r=this._x=0,n+=this._rowHeight+s,this._y=n,this._rowHeight=0),this._x+=c+s,this._rowHeight=Math.max(this._rowHeight,u),n+u+s>f)return null;g.position[0]+=this.offsetX*this.dpr+r,g.position[1]+=this.offsetY*this.dpr+n,this._zr.add(g);var l=[this.offsetX/this.width,this.offsetY/this.height],d=[[r/a+l[0],n/f+l[1]],[(r+c)/a+l[0],(n+u)/f+l[1]]];return d},_fitElement:function(g,c,u){var h=g.getBoundingRect(),r=c/h.width,n=u/h.height;g.position=[-h.x*r,-h.y*n],g.scale=[r,n],g.update()}};function x(g){g=g||{},g.width=g.width||512,g.height=g.height||512,g.devicePixelRatio=g.devicePixelRatio||1,g.gap=g.gap==null?2:g.gap;var c=document.createElement("canvas");c.width=g.width*g.devicePixelRatio,c.height=g.height*g.devicePixelRatio,this._canvas=c,this._texture=new _.a({image:c,flipY:!1});var u=this;this._zr=A.a.zrender.init(c);var h=this._zr.refreshImmediately;this._zr.refreshImmediately=function(){h.call(this),u._texture.dirty(),u.onupdate&&u.onupdate()},this._dpr=g.devicePixelRatio,this._coords={},this.onupdate=g.onupdate,this._gap=g.gap,this._textureAtlasNodes=[new m(this._zr,0,0,g.width,g.height,this._gap,this._dpr)],this._nodeWidth=g.width,this._nodeHeight=g.height,this._currentNodeIdx=0}x.prototype={clear:function(){for(var g=0;g<this._textureAtlasNodes.length;g++)this._textureAtlasNodes[g].clear();this._currentNodeIdx=0,this._zr.clear(),this._coords={}},getWidth:function(){return this._width},getHeight:function(){return this._height},getTexture:function(){return this._texture},getDevicePixelRatio:function(){return this._dpr},getZr:function(){return this._zr},_getCurrentNode:function(){return this._textureAtlasNodes[this._currentNodeIdx]},_expand:function(){if(this._currentNodeIdx++,this._textureAtlasNodes[this._currentNodeIdx])return this._textureAtlasNodes[this._currentNodeIdx];var g=4096/this._dpr,c=this._textureAtlasNodes,u=c.length,h=u*this._nodeWidth%g,r=Math.floor(u*this._nodeWidth/g)*this._nodeHeight;if(r>=g){console.error("Too much labels. Some will be ignored.");return}var n=(h+this._nodeWidth)*this._dpr,a=(r+this._nodeHeight)*this._dpr;try{this._zr.resize({width:n,height:a})}catch(s){this._canvas.width=n,this._canvas.height=a}var f=new m(this._zr,h,r,this._nodeWidth,this._nodeHeight,this._gap,this._dpr);return this._textureAtlasNodes.push(f),f},add:function(g,c,u){if(this._coords[g.id])return console.warn("Element already been add"),this._coords[g.id];var h=this._getCurrentNode().add(g,c,u);if(!h){var r=this._expand();if(!r)return;h=r.add(g,c,u)}return this._coords[g.id]=h,h},getCoordsScale:function(){var g=this._dpr;return[this._nodeWidth/this._canvas.width*g,this._nodeHeight/this._canvas.height*g]},getCoords:function(g){return this._coords[g]}},O.a=x},function(K,O,E){"use strict";O.a=M;function M(A,_,m){var x,g=A.scale;return g.type==="ordinal"&&(typeof m=="function"?(x=g.getTicks()[_],!m(x,g.getLabel(x))):_%(m+1))}},function(K,O,E){var M=E(76),A=E(77),_=M.applyTransform,m=Math.min,x=Math.max;function g(u,h,r,n){r<0&&(u=u+r,r=-r),n<0&&(h=h+n,n=-n),this.x=u,this.y=h,this.width=r,this.height=n}g.prototype={constructor:g,union:function(u){var h=m(u.x,this.x),r=m(u.y,this.y);this.width=x(u.x+u.width,this.x+this.width)-h,this.height=x(u.y+u.height,this.y+this.height)-r,this.x=h,this.y=r},applyTransform:function(){var u=[],h=[],r=[],n=[];return function(a){if(a){u[0]=r[0]=this.x,u[1]=n[1]=this.y,h[0]=n[0]=this.x+this.width,h[1]=r[1]=this.y+this.height,_(u,u,a),_(h,h,a),_(r,r,a),_(n,n,a),this.x=m(u[0],h[0],r[0],n[0]),this.y=m(u[1],h[1],r[1],n[1]);var f=x(u[0],h[0],r[0],n[0]),s=x(u[1],h[1],r[1],n[1]);this.width=f-this.x,this.height=s-this.y}}}(),calculateTransform:function(u){var h=this,r=u.width/h.width,n=u.height/h.height,a=A.create();return A.translate(a,a,[-h.x,-h.y]),A.scale(a,a,[r,n]),A.translate(a,a,[u.x,u.y]),a},intersect:function(u){if(!u)return!1;u instanceof g||(u=g.create(u));var h=this,r=h.x,n=h.x+h.width,a=h.y,f=h.y+h.height,s=u.x,l=u.x+u.width,d=u.y,e=u.y+u.height;return!(n<s||l<r||f<d||e<a)},contain:function(u,h){var r=this;return u>=r.x&&u<=r.x+r.width&&h>=r.y&&h<=r.y+r.height},clone:function(){return new g(this.x,this.y,this.width,this.height)},copy:function(u){this.x=u.x,this.y=u.y,this.width=u.width,this.height=u.height},plain:function(){return{x:this.x,y:this.y,width:this.width,height:this.height}}},g.create=function(u){return new g(u.x,u.y,u.width,u.height)};var c=g;K.exports=c},function(K,O){var E=typeof Float32Array=="undefined"?Array:Float32Array;function M(b,S){var L=new E(2);return b==null&&(b=0),S==null&&(S=0),L[0]=b,L[1]=S,L}function A(b,S){return b[0]=S[0],b[1]=S[1],b}function _(b){var S=new E(2);return S[0]=b[0],S[1]=b[1],S}function m(b,S,L){return b[0]=S,b[1]=L,b}function x(b,S,L){return b[0]=S[0]+L[0],b[1]=S[1]+L[1],b}function g(b,S,L,w){return b[0]=S[0]+L[0]*w,b[1]=S[1]+L[1]*w,b}function c(b,S,L){return b[0]=S[0]-L[0],b[1]=S[1]-L[1],b}function u(b){return Math.sqrt(r(b))}var h=u;function r(b){return b[0]*b[0]+b[1]*b[1]}var n=r;function a(b,S,L){return b[0]=S[0]*L[0],b[1]=S[1]*L[1],b}function f(b,S,L){return b[0]=S[0]/L[0],b[1]=S[1]/L[1],b}function s(b,S){return b[0]*S[0]+b[1]*S[1]}function l(b,S,L){return b[0]=S[0]*L,b[1]=S[1]*L,b}function d(b,S){var L=u(S);return L===0?(b[0]=0,b[1]=0):(b[0]=S[0]/L,b[1]=S[1]/L),b}function e(b,S){return Math.sqrt((b[0]-S[0])*(b[0]-S[0])+(b[1]-S[1])*(b[1]-S[1]))}var t=e;function i(b,S){return(b[0]-S[0])*(b[0]-S[0])+(b[1]-S[1])*(b[1]-S[1])}var o=i;function v(b,S){return b[0]=-S[0],b[1]=-S[1],b}function y(b,S,L,w){return b[0]=S[0]+w*(L[0]-S[0]),b[1]=S[1]+w*(L[1]-S[1]),b}function p(b,S,L){var w=S[0],P=S[1];return b[0]=L[0]*w+L[2]*P+L[4],b[1]=L[1]*w+L[3]*P+L[5],b}function C(b,S,L){return b[0]=Math.min(S[0],L[0]),b[1]=Math.min(S[1],L[1]),b}function D(b,S,L){return b[0]=Math.max(S[0],L[0]),b[1]=Math.max(S[1],L[1]),b}O.create=M,O.copy=A,O.clone=_,O.set=m,O.add=x,O.scaleAndAdd=g,O.sub=c,O.len=u,O.length=h,O.lenSquare=r,O.lengthSquare=n,O.mul=a,O.div=f,O.dot=s,O.scale=l,O.normalize=d,O.distance=e,O.dist=t,O.distanceSquare=i,O.distSquare=o,O.negate=v,O.lerp=y,O.applyTransform=p,O.min=C,O.max=D},function(K,O){var E=typeof Float32Array=="undefined"?Array:Float32Array;function M(){var r=new E(6);return A(r),r}function A(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=1,r[4]=0,r[5]=0,r}function _(r,n){return r[0]=n[0],r[1]=n[1],r[2]=n[2],r[3]=n[3],r[4]=n[4],r[5]=n[5],r}function m(r,n,a){var f=n[0]*a[0]+n[2]*a[1],s=n[1]*a[0]+n[3]*a[1],l=n[0]*a[2]+n[2]*a[3],d=n[1]*a[2]+n[3]*a[3],e=n[0]*a[4]+n[2]*a[5]+n[4],t=n[1]*a[4]+n[3]*a[5]+n[5];return r[0]=f,r[1]=s,r[2]=l,r[3]=d,r[4]=e,r[5]=t,r}function x(r,n,a){return r[0]=n[0],r[1]=n[1],r[2]=n[2],r[3]=n[3],r[4]=n[4]+a[0],r[5]=n[5]+a[1],r}function g(r,n,a){var f=n[0],s=n[2],l=n[4],d=n[1],e=n[3],t=n[5],i=Math.sin(a),o=Math.cos(a);return r[0]=f*o+d*i,r[1]=-f*i+d*o,r[2]=s*o+e*i,r[3]=-s*i+o*e,r[4]=o*l+i*t,r[5]=o*t-i*l,r}function c(r,n,a){var f=a[0],s=a[1];return r[0]=n[0]*f,r[1]=n[1]*s,r[2]=n[2]*f,r[3]=n[3]*s,r[4]=n[4]*f,r[5]=n[5]*s,r}function u(r,n){var a=n[0],f=n[2],s=n[4],l=n[1],d=n[3],e=n[5],t=a*d-l*f;return t?(t=1/t,r[0]=d*t,r[1]=-l*t,r[2]=-f*t,r[3]=a*t,r[4]=(f*e-d*s)*t,r[5]=(l*s-a*e)*t,r):null}function h(r){var n=M();return _(n,r),n}O.create=M,O.identity=A,O.copy=_,O.mul=m,O.translate=x,O.rotate=g,O.scale=c,O.invert=u,O.clone=h},function(K,O,E){var M=E(12),A=1e-4;function _(y){return y.replace(/^\s+/,"").replace(/\s+$/,"")}function m(y,p,C,D){var b=p[1]-p[0],S=C[1]-C[0];if(b===0)return S===0?C[0]:(C[0]+C[1])/2;if(D)if(b>0){if(y<=p[0])return C[0];if(y>=p[1])return C[1]}else{if(y>=p[0])return C[0];if(y<=p[1])return C[1]}else{if(y===p[0])return C[0];if(y===p[1])return C[1]}return(y-p[0])/b*S+C[0]}function x(y,p){switch(y){case"center":case"middle":y="50%";break;case"left":case"top":y="0%";break;case"right":case"bottom":y="100%";break}return typeof y=="string"?_(y).match(/%$/)?parseFloat(y)/100*p:parseFloat(y):y==null?NaN:+y}function g(y,p,C){return p==null&&(p=10),p=Math.min(Math.max(0,p),20),y=(+y).toFixed(p),C?y:+y}function c(y){return y.sort(function(p,C){return p-C}),y}function u(y){if(y=+y,isNaN(y))return 0;for(var p=1,C=0;Math.round(y*p)/p!==y;)p*=10,C++;return C}function h(y){var p=y.toString(),C=p.indexOf("e");if(C>0){var D=+p.slice(C+1);return D<0?-D:0}else{var b=p.indexOf(".");return b<0?0:p.length-1-b}}function r(y,p){var C=Math.log,D=Math.LN10,b=Math.floor(C(y[1]-y[0])/D),S=Math.round(C(Math.abs(p[1]-p[0]))/D),L=Math.min(Math.max(-b+S,0),20);return isFinite(L)?L:20}function n(y,p,C){if(!y[p])return 0;var D=M.reduce(y,function(G,j){return G+(isNaN(j)?0:j)},0);if(D===0)return 0;for(var b=Math.pow(10,C),S=M.map(y,function(G){return(isNaN(G)?0:G)/D*b*100}),L=b*100,w=M.map(S,function(G){return Math.floor(G)}),P=M.reduce(w,function(G,j){return G+j},0),I=M.map(S,function(G,j){return G-w[j]});P<L;){for(var R=Number.NEGATIVE_INFINITY,B=null,F=0,W=I.length;F<W;++F)I[F]>R&&(R=I[F],B=F);++w[B],I[B]=0,++P}return w[p]/b}var a=9007199254740991;function f(y){var p=Math.PI*2;return(y%p+p)%p}function s(y){return y>-A&&y<A}var l=/^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d\d)(?::(\d\d)(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/;function d(y){if(y instanceof Date)return y;if(typeof y=="string"){var p=l.exec(y);if(!p)return new Date(NaN);if(p[8]){var C=+p[4]||0;return p[8].toUpperCase()!=="Z"&&(C-=p[8].slice(0,3)),new Date(Date.UTC(+p[1],+(p[2]||1)-1,+p[3]||1,C,+(p[5]||0),+p[6]||0,+p[7]||0))}else return new Date(+p[1],+(p[2]||1)-1,+p[3]||1,+p[4]||0,+(p[5]||0),+p[6]||0,+p[7]||0)}else if(y==null)return new Date(NaN);return new Date(Math.round(y))}function e(y){return Math.pow(10,t(y))}function t(y){return Math.floor(Math.log(y)/Math.LN10)}function i(y,p){var C=t(y),D=Math.pow(10,C),b=y/D,S;return p?b<1.5?S=1:b<2.5?S=2:b<4?S=3:b<7?S=5:S=10:b<1?S=1:b<2?S=2:b<3?S=3:b<5?S=5:S=10,y=S*D,C>=-20?+y.toFixed(C<0?-C:0):y}function o(y){y.sort(function(P,I){return w(P,I,0)?-1:1});for(var p=-1/0,C=1,D=0;D<y.length;){for(var b=y[D].interval,S=y[D].close,L=0;L<2;L++)b[L]<=p&&(b[L]=p,S[L]=L?1:1-C),p=b[L],C=S[L];b[0]===b[1]&&S[0]*S[1]!==1?y.splice(D,1):D++}return y;function w(P,I,R){return P.interval[R]<I.interval[R]||P.interval[R]===I.interval[R]&&(P.close[R]-I.close[R]===(R?-1:1)||!R&&w(P,I,1))}}function v(y){return y-parseFloat(y)>=0}O.linearMap=m,O.parsePercent=x,O.round=g,O.asc=c,O.getPrecision=u,O.getPrecisionSafe=h,O.getPixelPrecision=r,O.getPercentWithPrecision=n,O.MAX_SAFE_INTEGER=a,O.remRadian=f,O.isRadianAroundZero=s,O.parseDate=d,O.quantity=e,O.nice=i,O.reformIntervals=o,O.isNumeric=v},function(K,O,E){"use strict";var M=E(5),A=E(11),_=E(21),m=function(){this._pool={},this._allocatedTextures=[]};m.prototype={constructor:m,get:function(r){var n=c(r);this._pool.hasOwnProperty(n)||(this._pool[n]=[]);var a=this._pool[n];if(!a.length){var f=new M.a(r);return this._allocatedTextures.push(f),f}return a.pop()},put:function(r){var n=c(r);this._pool.hasOwnProperty(n)||(this._pool[n]=[]);var a=this._pool[n];a.push(r)},clear:function(r){for(var n=0;n<this._allocatedTextures.length;n++)this._allocatedTextures[n].dispose(r);this._pool={},this._allocatedTextures=[]}};var x={width:512,height:512,type:A.a.UNSIGNED_BYTE,format:A.a.RGBA,wrapS:A.a.CLAMP_TO_EDGE,wrapT:A.a.CLAMP_TO_EDGE,minFilter:A.a.LINEAR_MIPMAP_LINEAR,magFilter:A.a.LINEAR,useMipmap:!0,anisotropic:1,flipY:!0,unpackAlignment:4,premultiplyAlpha:!1},g=Object.keys(x);function c(r){_.a.defaultsWithPropList(r,x,g),u(r);for(var n="",a=0;a<g.length;a++){var f=g[a],s=r[f].toString();n+=s}return n}function u(r){var n=h(r.width,r.height);r.format===A.a.DEPTH_COMPONENT&&(r.useMipmap=!1),(!n||!r.useMipmap)&&(r.minFilter==A.a.NEAREST_MIPMAP_NEAREST||r.minFilter==A.a.NEAREST_MIPMAP_LINEAR?r.minFilter=A.a.NEAREST:(r.minFilter==A.a.LINEAR_MIPMAP_LINEAR||r.minFilter==A.a.LINEAR_MIPMAP_NEAREST)&&(r.minFilter=A.a.LINEAR)),n||(r.wrapS=A.a.CLAMP_TO_EDGE,r.wrapT=A.a.CLAMP_TO_EDGE)}function h(r,n){return(r&r-1)===0&&(n&n-1)===0}O.a=m},function(K,O,E){"use strict";var M=E(0),A=E.n(M);O.a={getFilledRegions:function(_,m){var x=(_||[]).slice(),g;if(typeof m=="string"?(m=A.a.getMap(m),g=m&&m.geoJson):m&&m.features&&(g=m),!g)return console.error("Map "+m+" not exists. You can download map file on http://echarts.baidu.com/download-map.html"),g.features||console.error("Invalid GeoJSON for map3D"),[];for(var c={},u=g.features,h=0;h<x.length;h++)c[x[h].name]=x[h];for(var h=0;h<u.length;h++){var r=u[h].properties.name;c[r]||x.push({name:r})}return x},defaultOption:{show:!0,zlevel:-10,map:"",left:0,top:0,width:"100%",height:"100%",boxWidth:100,boxHeight:10,boxDepth:"auto",regionHeight:3,environment:"auto",groundPlane:{show:!1,color:"#aaa"},shading:"lambert",light:{main:{alpha:40,beta:30}},viewControl:{alpha:40,beta:0,distance:100,orthographicSize:60,minAlpha:5,minBeta:-80,maxBeta:80},label:{show:!1,distance:2,textStyle:{fontSize:20,color:"#000",backgroundColor:"rgba(255,255,255,0.7)",padding:3,borderRadius:4}},itemStyle:{color:"#fff",borderWidth:0,borderColor:"#333"},emphasis:{itemStyle:{color:"#639fc0"},label:{show:!0}}}}},function(K,O,E){"use strict";function M(x,g,c){var u=x[g];x[g]=x[c],x[c]=u}function A(x,g,c,u,h){var r=c,n=x[g];M(x,g,u);for(var a=c;a<u;a++)h(x[a],n)<0&&(M(x,a,r),r++);return M(x,u,r),r}function _(x,g,c,u){if(c<u){var h=Math.floor((c+u)/2),r=A(x,h,c,u,g);_(x,g,c,r-1),_(x,g,r+1,u)}}function m(){this._parts=[]}m.prototype.step=function(x,g,c){var u=x.length;if(c===0){this._parts=[],this._sorted=!1;var h=Math.floor(u/2);this._parts.push({pivot:h,left:0,right:u-1}),this._currentSortPartIdx=0}if(!this._sorted){var r=this._parts;if(r.length===0)return this._sorted=!0,!0;if(r.length<512){for(var n=0;n<r.length;n++)r[n].pivot=A(x,r[n].pivot,r[n].left,r[n].right,g);for(var a=[],n=0;n<r.length;n++){var f=r[n].left,s=r[n].pivot-1;s>f&&a.push({pivot:Math.floor((s+f)/2),left:f,right:s});var f=r[n].pivot+1,s=r[n].right;s>f&&a.push({pivot:Math.floor((s+f)/2),left:f,right:s})}r=this._parts=a}else for(var n=0;n<Math.floor(r.length/10);n++){var l=r.length-1-this._currentSortPartIdx;if(_(x,g,r[l].left,r[l].right),this._currentSortPartIdx++,this._currentSortPartIdx===r.length)return this._sorted=!0,!0}return!1}},m.sort=_,O.a=m},function(K,O,E){"use strict";var M=E(83),A=E(0),_=E.n(A),m=E(41),x=E.n(m),g=E(20),c=E(3);function u(f,s){var l=f.getBoxLayoutParams(),d=x.a.getLayoutRect(l,{width:s.getWidth(),height:s.getHeight()});d.y=s.getHeight()-d.y-d.height,this.viewGL.setViewport(d.x,d.y,d.width,d.height,s.getDevicePixelRatio());var e=this.getGeoBoundingRect(),t=e.width/e.height*(f.get("aspectScale")||.75),i=f.get("boxWidth"),o=f.get("boxDepth"),v=f.get("boxHeight");v==null&&(v=5),isNaN(i)&&isNaN(o)&&(i=100),isNaN(o)?o=i/t:isNaN(i)&&(i=o/t),this.setSize(i,v,o),this.regionHeight=f.get("regionHeight"),this.altitudeAxis&&this.altitudeAxis.setExtent(0,Math.max(v-this.regionHeight,0))}function h(f,s){var l=[1/0,-1/0];if(f.eachSeries(function(e){if(e.coordinateSystem===this&&e.type!=="series.map3D"){var t=e.getData(),i=e.coordDimToDataDim("alt")[0];if(i){var o=t.getDataExtent(i,!0);l[0]=Math.min(l[0],o[0]),l[1]=Math.max(l[1],o[1])}}},this),l&&isFinite(l[1]-l[0])){var d=_.a.helper.createScale(l,{type:"value",min:"dataMin",max:"dataMax"});this.altitudeAxis=new _.a.Axis("altitude",d),this.resize(this.model,s)}}var r=function(f){console.error("Map "+f+" not exists. You can download map file on http://echarts.baidu.com/download-map.html")},n=0,a={dimensions:M.a.prototype.dimensions,create:function(f,s){var l=[];if(!_.a.getMap)throw new Error("geo3D component depends on geo component");function d(e,t){var i=a.createGeo3D(e);e.__viewGL=e.__viewGL||new g.a,i.viewGL=e.__viewGL,e.coordinateSystem=i,i.model=e,l.push(i),i.resize=u,i.resize(e,s),i.update=h}return f.eachComponent("geo3D",function(e,t){d(e,t)}),f.eachSeriesByType("map3D",function(e,t){var i=e.get("coordinateSystem");i==null&&(i="geo3D"),i==="geo3D"&&d(e,t)}),f.eachSeries(function(e){if(e.get("coordinateSystem")==="geo3D"){if(e.type==="series.map3D")return;var t=e.getReferringComponents("geo3D")[0];if(t||(t=f.getComponent("geo3D")),!t)throw new Error('geo "'+c.a.firstNotNull(e.get("geo3DIndex"),e.get("geo3DId"),0)+'" not found');e.coordinateSystem=t.coordinateSystem}}),l},createGeo3D:function(f){var s=f.get("map"),l;if(typeof s=="string"?(l=s,s=_.a.getMap(s)):s&&s.features&&(s={geoJson:s}),s||r(s),!s.geoJson.features)throw new Error("Invalid GeoJSON for map3D");return l==null&&(l="GEO_ANONYMOUS_"+n++),new M.a(l+n++,l,s&&s.geoJson,s&&s.specialAreas,f.get("nameMap"))}};_.a.registerCoordinateSystem("geo3D",a),O.a=a},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(1),m=E.n(_),x=E(187),g=E.n(x),c=E(188),u=E.n(c),h=m.a.vec3,r=m.a.mat4,n=[g.a,u.a];function a(f,s,l,d,e){this.name=f,this.map=s,this.regionHeight=0,this.regions=[],this._nameCoordMap={},this.loadGeoJson(l,d,e),this.transform=r.identity(new Float64Array(16)),this.invTransform=r.identity(new Float64Array(16)),this.extrudeY=!0,this.altitudeAxis}a.prototype={constructor:a,type:"geo3D",dimensions:["lng","lat","alt"],containPoint:function(){},loadGeoJson:function(f,s,l){var d=A.a.parseGeoJSON||A.a.parseGeoJson;try{this.regions=f?d(f):[]}catch(y){throw`Invalid geoJson format
|
|
`+y}s=s||{},l=l||{};for(var e=this.regions,t={},i=0;i<e.length;i++){var o=e[i].name;o=l[o]||o,e[i].name=o,t[o]=e[i],this.addGeoCoord(o,e[i].center);var v=s[o];v&&e[i].transformTo(v.left,v.top,v.width,v.height)}this._regionsMap=t,this._geoRect=null,n.forEach(function(y){y(this)},this)},getGeoBoundingRect:function(){if(this._geoRect)return this._geoRect;for(var f,s=this.regions,l=0;l<s.length;l++){var d=s[l].getBoundingRect();f=f||d.clone(),f.union(d)}return this._geoRect=f||new A.a.graphic.BoundingRect(0,0,0,0)},addGeoCoord:function(f,s){this._nameCoordMap[f]=s},getRegion:function(f){return this._regionsMap[f]},getRegionByCoord:function(f){for(var s=this.regions,l=0;l<s.length;l++)if(s[l].contain(f))return s[l]},setSize:function(f,s,l){this.size=[f,s,l];var d=this.getGeoBoundingRect(),e=f/d.width,t=-l/d.height,i=-f/2-d.x*e,o=l/2-d.y*t,v=this.extrudeY?[i,0,o]:[i,o,0],y=this.extrudeY?[e,1,t]:[e,t,1],p=this.transform;r.identity(p),r.translate(p,p,v),r.scale(p,p,y),r.invert(this.invTransform,p)},dataToPoint:function(f,s){s=s||[];var l=this.extrudeY?1:2,d=this.extrudeY?2:1,e=f[2];return isNaN(e)&&(e=0),s[0]=f[0],s[d]=f[1],this.altitudeAxis?s[l]=this.altitudeAxis.dataToCoord(e):s[l]=0,s[l]+=this.regionHeight,h.transformMat4(s,s,this.transform),s},pointToData:function(f,s){}},O.a=a},function(K,O,E){"use strict";var M=E(77),A=E.n(M),_=E(76),m=E.n(_);function x(g){this.viewGL=g}x.prototype.reset=function(g,c){this._updateCamera(c.getWidth(),c.getHeight(),c.getDevicePixelRatio()),this._viewTransform=A.a.create(),this.updateTransform(g,c)},x.prototype.updateTransform=function(g,c){var u=g.coordinateSystem;u.getRoamTransform&&(A.a.invert(this._viewTransform,u.getRoamTransform()),this._setCameraTransform(this._viewTransform),c.getZr().refresh())},x.prototype.dataToPoint=function(g,c,u){u=g.dataToPoint(c,null,u);var h=this._viewTransform;h&&m.a.applyTransform(u,u,h)},x.prototype.removeTransformInPoint=function(g){return this._viewTransform&&m.a.applyTransform(g,g,this._viewTransform),g},x.prototype.getZoom=function(){if(this._viewTransform){var g=this._viewTransform;return 1/Math.max(Math.sqrt(g[0]*g[0]+g[1]*g[1]),Math.sqrt(g[2]*g[2]+g[3]*g[3]))}return 1},x.prototype._setCameraTransform=function(g){var c=this.viewGL.camera;c.position.set(g[4],g[5],0),c.scale.set(Math.sqrt(g[0]*g[0]+g[1]*g[1]),Math.sqrt(g[2]*g[2]+g[3]*g[3]),1)},x.prototype._updateCamera=function(g,c,u){this.viewGL.setViewport(0,0,g,c,u);var h=this.viewGL.camera;h.left=h.top=0,h.bottom=c,h.right=g,h.near=0,h.far=100},O.a=x},function(K,O,E){(function(M){var A;typeof window!="undefined"?A=window.__DEV__:typeof M!="undefined"&&(A=M.__DEV__),typeof A=="undefined"&&(A=!0);var _=A;O.__DEV__=_}).call(O,E(243))},function(K,O,E){"use strict";var M=E(13),A=E(0),_=E.n(A),m=E(33),x=E(1),g=E.n(x),c=g.a.vec2,u=[[0,0],[1,1]],h=M.a.extend(function(){return{segmentScale:4,dynamic:!0,useNativeLine:!0,attributes:{position:new M.a.Attribute("position","float",2,"POSITION"),normal:new M.a.Attribute("normal","float",2),offset:new M.a.Attribute("offset","float",1),color:new M.a.Attribute("color","float",4,"COLOR")}}},{resetOffset:function(){this._vertexOffset=0,this._faceOffset=0,this._itemVertexOffsets=[]},setVertexCount:function(r){var n=this.attributes;this.vertexCount!==r&&(n.position.init(r),n.color.init(r),this.useNativeLine||(n.offset.init(r),n.normal.init(r)),r>65535?this.indices instanceof Uint16Array&&(this.indices=new Uint32Array(this.indices)):this.indices instanceof Uint32Array&&(this.indices=new Uint16Array(this.indices)))},setTriangleCount:function(r){this.triangleCount!==r&&(r===0?this.indices=null:this.indices=this.vertexCount>65535?new Uint32Array(r*3):new Uint16Array(r*3))},_getCubicCurveApproxStep:function(r,n,a,f){var s=c.dist(r,n)+c.dist(a,n)+c.dist(f,a),l=1/(s+1)*this.segmentScale;return l},getCubicCurveVertexCount:function(r,n,a,f){var s=this._getCubicCurveApproxStep(r,n,a,f),l=Math.ceil(1/s);return this.useNativeLine?l*2:l*2+2},getCubicCurveTriangleCount:function(r,n,a,f){var s=this._getCubicCurveApproxStep(r,n,a,f),l=Math.ceil(1/s);return this.useNativeLine?0:l*2},getLineVertexCount:function(){return this.getPolylineVertexCount(u)},getLineTriangleCount:function(){return this.getPolylineTriangleCount(u)},getPolylineVertexCount:function(r){var n;if(typeof r=="number")n=r;else{var a=typeof r[0]!="number";n=a?r.length:r.length/2}return this.useNativeLine?(n-1)*2:(n-1)*2+2},getPolylineTriangleCount:function(r){var n;if(typeof r=="number")n=r;else{var a=typeof r[0]!="number";n=a?r.length:r.length/2}return this.useNativeLine?0:(n-1)*2},addCubicCurve:function(r,n,a,f,s,l){l==null&&(l=1);for(var d=r[0],e=r[1],t=n[0],i=n[1],o=a[0],v=a[1],y=f[0],p=f[1],C=this._getCubicCurveApproxStep(r,n,a,f),D=C*C,b=D*C,S=3*C,L=3*D,w=6*D,P=6*b,I=d-t*2+o,R=e-i*2+v,B=(t-o)*3-d+y,F=(i-v)*3-e+p,W=d,G=e,j=(t-d)*S+I*L+B*b,Y=(i-e)*S+R*L+F*b,ee=I*w+B*P,ae=R*w+F*P,le=B*P,_e=F*P,he=0,ve=0,Ae=Math.ceil(1/C),ge=new Float32Array((Ae+1)*3),ge=[],fe=0,ve=0;ve<Ae+1;ve++)ge[fe++]=W,ge[fe++]=G,W+=j,G+=Y,j+=ee,Y+=ae,ee+=le,ae+=_e,he+=C,he>1&&(W=j>0?Math.min(W,y):Math.max(W,y),G=Y>0?Math.min(G,p):Math.max(G,p));this.addPolyline(ge,s,l)},addLine:function(r,n,a,f){this.addPolyline([r,n],a,f)},addPolyline:function(){var r=c.create(),n=c.create(),a=c.create(),f=c.create(),s=[],l=[],d=[];return function(e,t,i,o,v){if(e.length){var y=typeof e[0]!="number";if(v==null&&(v=y?e.length:e.length/2),!(v<2)){o==null&&(o=0),i==null&&(i=1),this._itemVertexOffsets.push(this._vertexOffset);for(var p=y?typeof t[0]!="number":t.length/4===v,C=this.attributes.position,D=this.attributes.color,b=this.attributes.offset,S=this.attributes.normal,L=this.indices,w=this._vertexOffset,P,I=0;I<v;I++){if(y)s=e[I+o],p?P=t[I+o]:P=t;else{var R=I*2+o;if(s=s||[],s[0]=e[R],s[1]=e[R+1],p){var B=I*4+o;P=P||[],P[0]=t[B],P[1]=t[B+1],P[2]=t[B+2],P[3]=t[B+3]}else P=t}if(this.useNativeLine)I>1&&(C.copy(w,w-1),D.copy(w,w-1),w++);else{var F;if(I<v-1){if(y)c.copy(l,e[I+1]);else{var R=(I+1)*2+o;l=l||[],l[0]=e[R],l[1]=e[R+1]}if(I>0){c.sub(r,s,d),c.sub(n,l,s),c.normalize(r,r),c.normalize(n,n),c.add(f,r,n),c.normalize(f,f);var W=i/2*Math.min(1/c.dot(r,f),2);a[0]=-f[1],a[1]=f[0],F=W}else c.sub(r,l,s),c.normalize(r,r),a[0]=-r[1],a[1]=r[0],F=i/2}else c.sub(r,s,d),c.normalize(r,r),a[0]=-r[1],a[1]=r[0],F=i/2;S.set(w,a),S.set(w+1,a),b.set(w,F),b.set(w+1,-F),c.copy(d,s),C.set(w,s),C.set(w+1,s),D.set(w,P),D.set(w+1,P),w+=2}if(this.useNativeLine)D.set(w,P),C.set(w,s),w++;else if(I>0){var G=this._faceOffset*3,L=this.indices;L[G]=w-4,L[G+1]=w-3,L[G+2]=w-2,L[G+3]=w-3,L[G+4]=w-1,L[G+5]=w-2,this._faceOffset+=2}}this._vertexOffset=w}}}}(),setItemColor:function(r,n){for(var a=this._itemVertexOffsets[r],f=r<this._itemVertexOffsets.length-1?this._itemVertexOffsets[r+1]:this._vertexOffset,s=a;s<f;s++)this.attributes.color.set(s,n);this.dirty("color")}});_.a.util.defaults(h.prototype,m.a),O.a=h},function(K,O,E){"use strict";Object.defineProperty(O,"__esModule",{value:!0});var M=E(88),A=E(133),_=E(183),m=E(189),x=E(195),g=E(202),c=E(209),u=E(213),h=E(220),r=E(226),n=E(229),a=E(233),f=E(236),s=E(239),l=E(253),d=E(259)},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(89),m=E(90),x=E(101),g=E(2),c={version:"1.0.0",dependencies:{echarts:"4.0.0",claygl:"1.0.0"}},u=c.dependencies;function h(s){throw new Error(s+" version is too old, needs "+u[s]+" or higher")}function r(s,l){s.replace(".","")-0<u[l].replace(".","")-0&&h(l),console.log("Loaded "+l+", version "+s)}r(_.a,"claygl"),r(A.a.version,"echarts");function n(s){this._layers={},this._zr=s}n.prototype.update=function(s,l){var d=this,e=l.getZr();if(!e.getWidth()||!e.getHeight()){console.warn("Dom has no width or height");return}function t(v){var y;v.coordinateSystem&&v.coordinateSystem.model,y=v.get("zlevel");var p=d._layers,C=p[y];if(!C){if(C=p[y]=new m.a("gl-"+y,e),e.painter.isSingleCanvas()){C.virtual=!0;var D=new A.a.graphic.Image({z:1e4,style:{image:C.renderer.canvas},silent:!0});C.__hostImage=D,e.add(D)}e.painter.insertLayer(y,C)}return C.__hostImage&&C.__hostImage.setStyle({width:C.renderer.getWidth(),height:C.renderer.getHeight()}),C}function i(v,y){v&&v.traverse(function(p){p.isRenderable&&p.isRenderable()&&(p.ignorePicking=p.$ignorePicking!=null?p.$ignorePicking:y)})}for(var o in this._layers)this._layers[o].removeViewsAll();s.eachComponent(function(v,y){if(v!=="series"){var p=l.getViewOfComponentModel(y),C=y.coordinateSystem;if(p.__ecgl__){var D;if(C){if(!C.viewGL){console.error("Can't find viewGL in coordinateSystem of component "+y.id);return}D=C.viewGL}else{if(!y.viewGL){console.error("Can't find viewGL of component "+y.id);return}D=C.viewGL}var D=C.viewGL,b=t(y);b.addView(D),p.afterRender&&p.afterRender(y,s,l,b),i(p.groupGL,y.get("silent"))}}}),s.eachSeries(function(v){var y=l.getViewOfSeriesModel(v),p=v.coordinateSystem;if(y.__ecgl__){if(p&&!p.viewGL&&!y.viewGL){console.error("Can't find viewGL of series "+y.id);return}var C=p&&p.viewGL||y.viewGL,D=t(v);D.addView(C),y.afterRender&&y.afterRender(v,s,l,D),i(y.groupGL,v.get("silent"))}})};var a=A.a.init;A.a.init=function(){var s=a.apply(this,arguments);return s.getZr().painter.getRenderedCanvas=function(l){if(l=l||{},this._singleCanvas)return this._layers[0].dom;var d=document.createElement("canvas"),e=l.pixelRatio||this.dpr;d.width=this.getWidth()*e,d.height=this.getHeight()*e;var t=d.getContext("2d");t.dpr=e,t.clearRect(0,0,d.width,d.height),l.backgroundColor&&(t.fillStyle=l.backgroundColor,t.fillRect(0,0,d.width,d.height));var i=this.storage.getDisplayList(!0),o={},v,y=this;function p(S,L){var w=y._zlevelList;S==null&&(S=-1/0);for(var P,I=0;I<w.length;I++){var R=w[I],B=y._layers[R];if(!B.__builtin__&&R>S&&R<L){P=B;break}}P&&P.renderToCanvas&&(t.save(),P.renderToCanvas(t),t.restore())}for(var C={ctx:t},D=0;D<i.length;D++){var b=i[D];b.zlevel!==v&&(p(v,b.zlevel),v=b.zlevel),this._doPaintEl(b,C,!0,o)}return p(v,1/0),d},s},A.a.registerPostUpdate(function(s,l){var d=l.getZr(),e=d.__egl=d.__egl||new n(d);e.update(s,l)}),A.a.registerPreprocessor(x.a),A.a.graphicGL=g.a;var f=n},function(K,O,E){"use strict";O.a="1.0.0"},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(46),m=E(100),x=E(6),g=E(47),c=E(65),u=E.n(c),h=function(d,e){this.id=d,this.zr=e;try{this.renderer=new _.a({clearBit:0,devicePixelRatio:e.painter.dpr,preserveDrawingBuffer:!0,premultipliedAlpha:!0}),this.renderer.resize(e.painter.getWidth(),e.painter.getHeight())}catch(i){this.renderer=null,this.dom=document.createElement("div"),this.dom.style.cssText="position:absolute; left: 0; top: 0; right: 0; bottom: 0;",this.dom.className="ecgl-nowebgl",this.dom.innerHTML="Sorry, your browser does support WebGL",console.error(i);return}this.onglobalout=this.onglobalout.bind(this),e.on("globalout",this.onglobalout),this.dom=this.renderer.canvas;var t=this.dom.style;t.position="absolute",t.left="0",t.top="0",this.views=[],this._picking=new m.a({renderer:this.renderer}),this._viewsToDispose=[],this._accumulatingId=0,this._zrEventProxy=new A.a.graphic.Rect({shape:{x:-1,y:-1,width:2,height:2},__isGLToZRProxy:!0})};h.prototype.addView=function(d){if(d.layer!==this){var e=this._viewsToDispose.indexOf(d);e>=0&&this._viewsToDispose.splice(e,1),this.views.push(d),d.layer=this;var t=this.zr;d.scene.traverse(function(i){i.__zr=t,i.addAnimatorsToZr&&i.addAnimatorsToZr(t)})}};function r(d){var e=d.__zr;d.__zr=null,e&&d.removeAnimatorsFromZr&&d.removeAnimatorsFromZr(e)}h.prototype.removeView=function(d){if(d.layer===this){var e=this.views.indexOf(d);e>=0&&(this.views.splice(e,1),d.scene.traverse(r,this),d.layer=null,this._viewsToDispose.push(d))}},h.prototype.removeViewsAll=function(){this.views.forEach(function(d){d.scene.traverse(r,this),d.layer=null,this._viewsToDispose.push(d)},this),this.views.length=0},h.prototype.resize=function(d,e){var t=this.renderer;t.resize(d,e)},h.prototype.clear=function(){var d=this.renderer.gl;d.clearColor(0,0,0,0),d.depthMask(!0),d.colorMask(!0,!0,!0,!0),d.clear(d.DEPTH_BUFFER_BIT|d.COLOR_BUFFER_BIT)},h.prototype.clearDepth=function(){var d=this.renderer.gl;d.clear(d.DEPTH_BUFFER_BIT)},h.prototype.clearColor=function(){var d=this.renderer.gl;d.clearColor(0,0,0,0),d.clear(d.COLOR_BUFFER_BIT)},h.prototype.needsRefresh=function(){this.zr.refresh()},h.prototype.refresh=function(){for(var d=0;d<this.views.length;d++)this.views[d].prepareRender();this._doRender(!1),this._trackAndClean();for(var d=0;d<this._viewsToDispose.length;d++)this._viewsToDispose[d].dispose(this.renderer);this._viewsToDispose.length=0,this._startAccumulating()},h.prototype.renderToCanvas=function(d){this._startAccumulating(!0),d.drawImage(this.dom,0,0,d.canvas.width,d.canvas.height)},h.prototype._doRender=function(d){this.clear(),this.renderer.saveViewport();for(var e=0;e<this.views.length;e++)this.views[e].render(this.renderer,d);this.renderer.restoreViewport()},h.prototype._stopAccumulating=function(){this._accumulatingId=0,clearTimeout(this._accumulatingTimeout)};var n=1;h.prototype._startAccumulating=function(d){var e=this;this._stopAccumulating();for(var t=!1,i=0;i<this.views.length;i++)t=this.views[i].needsAccumulate()||t;if(!t)return;function o(v){if(!(!e._accumulatingId||v!==e._accumulatingId)){for(var y=!0,p=0;p<e.views.length;p++)y=e.views[p].isAccumulateFinished()&&t;y||(e._doRender(!0),d?o(v):u()(function(){o(v)}))}}this._accumulatingId=n++,d?o(e._accumulatingId):this._accumulatingTimeout=setTimeout(function(){o(e._accumulatingId)},50)},h.prototype._trackAndClean=function(){var d=[],e=[];this._textureList&&(a(this._textureList),a(this._geometriesList));for(var t=0;t<this.views.length;t++)l(this.views[t].scene,d,e);this._textureList&&(f(this.renderer,this._textureList),f(this.renderer,this._geometriesList)),this._textureList=d,this._geometriesList=e};function a(d){for(var e=0;e<d.length;e++)d[e].__used__=0}function f(d,e){for(var t=0;t<e.length;t++)e[t].__used__||e[t].dispose(d)}function s(d,e){d.__used__=d.__used__||0,d.__used__++,d.__used__===1&&e.push(d)}function l(d,e,t){function i(v){for(var y,p,C=0;C<v.length;C++){var D=v[C],b=D.geometry,S=D.material;if(S!==y)for(var L=S.getTextureUniforms(),w=0;w<L.length;w++){var P=L[w],I=S.uniforms[P].value;if(I){if(I instanceof x.a)s(I,e);else if(I instanceof Array)for(var R=0;R<I.length;R++)I[R]instanceof x.a&&s(I[R],e)}}b!==p&&s(b,t),y=S,p=b}}i(d.opaqueList),i(d.transparentList);for(var o=0;o<d.lights.length;o++)d.lights[o].cubemap&&s(d.lights[o].cubemap,e)}h.prototype.dispose=function(){this._stopAccumulating(),this.renderer.disposeScene(this.scene),this.zr.off("globalout",this.onglobalout)},h.prototype.onmousedown=function(d){if(!(d.target&&d.target.__isGLToZRProxy)){d=d.event;var e=this.pickObject(d.offsetX,d.offsetY);e&&(this._dispatchEvent("mousedown",d,e),this._dispatchDataEvent("mousedown",d,e)),this._downX=d.offsetX,this._downY=d.offsetY}},h.prototype.onmousemove=function(d){if(!(d.target&&d.target.__isGLToZRProxy)){d=d.event;var e=this.pickObject(d.offsetX,d.offsetY),t=e&&e.target,i=this._hovered;this._hovered=e,i&&t!==i.target&&(i.relatedTarget=t,this._dispatchEvent("mouseout",d,i),this.zr.setCursorStyle("default")),this._dispatchEvent("mousemove",d,e),e&&(this.zr.setCursorStyle("pointer"),(!i||t!==i.target)&&this._dispatchEvent("mouseover",d,e)),this._dispatchDataEvent("mousemove",d,e)}},h.prototype.onmouseup=function(d){if(!(d.target&&d.target.__isGLToZRProxy)){d=d.event;var e=this.pickObject(d.offsetX,d.offsetY);e&&(this._dispatchEvent("mouseup",d,e),this._dispatchDataEvent("mouseup",d,e)),this._upX=d.offsetX,this._upY=d.offsetY}},h.prototype.onclick=h.prototype.dblclick=function(d){if(!(d.target&&d.target.__isGLToZRProxy)){var e=this._upX-this._downX,t=this._upY-this._downY;if(!(Math.sqrt(e*e+t*t)>20)){d=d.event;var i=this.pickObject(d.offsetX,d.offsetY);i&&(this._dispatchEvent(d.type,d,i),this._dispatchDataEvent(d.type,d,i));var o=this._clickToSetFocusPoint(d);if(o){var v=o.view.setDOFFocusOnPoint(o.distance);v&&this.zr.refresh()}}}},h.prototype._clickToSetFocusPoint=function(d){for(var e=this.renderer,t=e.viewport,i=this.views.length-1;i>=0;i--){var o=this.views[i];if(o.hasDOF()&&o.containPoint(d.offsetX,d.offsetY)){this._picking.scene=o.scene,this._picking.camera=o.camera,e.viewport=o.viewport;var v=this._picking.pick(d.offsetX,d.offsetY,!0);if(v)return v.view=o,v}}e.viewport=t},h.prototype.onglobalout=function(d){var e=this._hovered;e&&this._dispatchEvent("mouseout",d,{target:e.target})},h.prototype.pickObject=function(d,e){for(var t=[],i=this.renderer,o=i.viewport,v=0;v<this.views.length;v++){var y=this.views[v];y.containPoint(d,e)&&(this._picking.scene=y.scene,this._picking.camera=y.camera,i.viewport=y.viewport,this._picking.pickAll(d,e,t))}return i.viewport=o,t.sort(function(p,C){return p.distance-C.distance}),t[0]},h.prototype._dispatchEvent=function(d,e,t){t||(t={});var i=t.target;for(t.cancelBubble=!1,t.event=e,t.type=d,t.offsetX=e.offsetX,t.offsetY=e.offsetY;i&&(i.trigger(d,t),i=i.getParent(),!t.cancelBubble););this._dispatchToView(d,t)},h.prototype._dispatchDataEvent=function(d,e,t){var i=t&&t.target,o=i&&i.dataIndex,v=i&&i.seriesIndex,y=i&&i.eventData,p=!1,C=this._zrEventProxy;C.position=[e.offsetX,e.offsetY],C.update();var D={target:C};d==="mousemove"&&(o!=null?o!==this._lastDataIndex&&(parseInt(this._lastDataIndex,10)>=0&&(C.dataIndex=this._lastDataIndex,C.seriesIndex=this._lastSeriesIndex,this.zr.handler.dispatchToElement(D,"mouseout",e)),p=!0):y!=null&&y!==this._lastEventData&&(this._lastEventData!=null&&(C.eventData=this._lastEventData,this.zr.handler.dispatchToElement(D,"mouseout",e)),p=!0),this._lastEventData=y,this._lastDataIndex=o,this._lastSeriesIndex=v),C.eventData=y,C.dataIndex=o,C.seriesIndex=v,(y!=null||parseInt(o,10)>=0)&&(this.zr.handler.dispatchToElement(D,d,e),p&&this.zr.handler.dispatchToElement(D,"mouseover",e))},h.prototype._dispatchToView=function(d,e){for(var t=0;t<this.views.length;t++)this.views[t].containPoint(e.offsetX,e.offsetY)&&this.views[t].trigger(d,e)},A.a.util.extend(h.prototype,g.a),O.a=h},function(K,O,E){"use strict";function M(m,x,g){typeof x=="object"&&(g=x,x=null);var c=this,u;if(!(m instanceof Function)){u=[];for(var h in m)m.hasOwnProperty(h)&&u.push(h)}var r=function(a){if(c.apply(this,arguments),m instanceof Function?A(this,m.call(this,a)):_(this,m,u),this.constructor===r)for(var f=r.__initializers__,s=0;s<f.length;s++)f[s].apply(this,arguments)};r.__super__=c,c.__initializers__?r.__initializers__=c.__initializers__.slice():r.__initializers__=[],x&&r.__initializers__.push(x);var n=function(){};return n.prototype=c.prototype,r.prototype=new n,r.prototype.constructor=r,A(r.prototype,g),r.extend=c.extend,r.derive=c.extend,r}function A(m,x){if(x)for(var g in x)x.hasOwnProperty(g)&&(m[g]=x[g])}function _(m,x,g){for(var c=0;c<g.length;c++){var u=g[c];m[u]=x[u]}}O.a={extend:M,derive:M}},function(K,O,E){"use strict";var M=["OES_texture_float","OES_texture_half_float","OES_texture_float_linear","OES_texture_half_float_linear","OES_standard_derivatives","OES_vertex_array_object","OES_element_index_uint","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","EXT_texture_filter_anisotropic","EXT_shader_texture_lod","WEBGL_draw_buffers","EXT_frag_depth","EXT_sRGB"],A=["MAX_TEXTURE_SIZE","MAX_CUBE_MAP_TEXTURE_SIZE"];function _(m){for(var x={},g={},c=0;c<M.length;c++){var u=M[c];r(u)}for(var c=0;c<A.length;c++){var h=A[c];g[h]=m.getParameter(m[h])}this.getExtension=function(n){return n in x||r(n),x[n]},this.getParameter=function(n){return g[n]};function r(n){var a=m.getExtension(n);a||(a=m.getExtension("MOZ_"+n)),a||(a=m.getExtension("WEBKIT_"+n)),x[n]=a}}O.a=_},function(K,O,E){"use strict";var M=E(94),A={},_={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function m(t){return t=Math.round(t),t<0?0:t>255?255:t}function x(t){return t=Math.round(t),t<0?0:t>360?360:t}function g(t){return t<0?0:t>1?1:t}function c(t){return t.length&&t.charAt(t.length-1)==="%"?m(parseFloat(t)/100*255):m(parseInt(t,10))}function u(t){return t.length&&t.charAt(t.length-1)==="%"?g(parseFloat(t)/100):g(parseFloat(t))}function h(t,i,o){return o<0?o+=1:o>1&&(o-=1),o*6<1?t+(i-t)*o*6:o*2<1?i:o*3<2?t+(i-t)*(2/3-o)*6:t}function r(t,i,o){return t+(i-t)*o}function n(t,i,o,v,y){return t[0]=i,t[1]=o,t[2]=v,t[3]=y,t}function a(t,i){return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t}var f=new M.a(20),s=null;function l(t,i){s&&a(s,i),s=f.put(t,s||i.slice())}A.parse=function(t,i){if(t){i=i||[];var o=f.get(t);if(o)return a(i,o);t=t+"";var v=t.replace(/ /g,"").toLowerCase();if(v in _)return a(i,_[v]),l(t,i),i;if(v.charAt(0)==="#"){if(v.length===4){var y=parseInt(v.substr(1),16);if(!(y>=0&&y<=4095)){n(i,0,0,0,1);return}return n(i,(y&3840)>>4|(y&3840)>>8,y&240|(y&240)>>4,y&15|(y&15)<<4,1),l(t,i),i}else if(v.length===7){var y=parseInt(v.substr(1),16);if(!(y>=0&&y<=16777215)){n(i,0,0,0,1);return}return n(i,(y&16711680)>>16,(y&65280)>>8,y&255,1),l(t,i),i}return}var p=v.indexOf("("),C=v.indexOf(")");if(p!==-1&&C+1===v.length){var D=v.substr(0,p),b=v.substr(p+1,C-(p+1)).split(","),S=1;switch(D){case"rgba":if(b.length!==4){n(i,0,0,0,1);return}S=u(b.pop());case"rgb":if(b.length!==3){n(i,0,0,0,1);return}return n(i,c(b[0]),c(b[1]),c(b[2]),S),l(t,i),i;case"hsla":if(b.length!==4){n(i,0,0,0,1);return}return b[3]=u(b[3]),d(b,i),l(t,i),i;case"hsl":if(b.length!==3){n(i,0,0,0,1);return}return d(b,i),l(t,i),i;default:return}}n(i,0,0,0,1)}},A.parseToFloat=function(t,i){if(i=A.parse(t,i),!!i)return i[0]/=255,i[1]/=255,i[2]/=255,i};function d(t,i){var o=(parseFloat(t[0])%360+360)%360/360,v=u(t[1]),y=u(t[2]),p=y<=.5?y*(v+1):y+v-y*v,C=y*2-p;return i=i||[],n(i,m(h(C,p,o+1/3)*255),m(h(C,p,o)*255),m(h(C,p,o-1/3)*255),1),t.length===4&&(i[3]=t[3]),i}function e(t){if(t){var i=t[0]/255,o=t[1]/255,v=t[2]/255,y=Math.min(i,o,v),p=Math.max(i,o,v),C=p-y,D=(p+y)/2,b,S;if(C===0)b=0,S=0;else{D<.5?S=C/(p+y):S=C/(2-p-y);var L=((p-i)/6+C/2)/C,w=((p-o)/6+C/2)/C,P=((p-v)/6+C/2)/C;i===p?b=P-w:o===p?b=1/3+L-P:v===p&&(b=2/3+w-L),b<0&&(b+=1),b>1&&(b-=1)}var I=[b*360,S,D];return t[3]!=null&&I.push(t[3]),I}}A.lift=function(t,i){var o=A.parse(t);if(o){for(var v=0;v<3;v++)i<0?o[v]=o[v]*(1-i)|0:o[v]=(255-o[v])*i+o[v]|0;return A.stringify(o,o.length===4?"rgba":"rgb")}},A.toHex=function(t){var i=A.parse(t);if(i)return((1<<24)+(i[0]<<16)+(i[1]<<8)+ +i[2]).toString(16).slice(1)},A.fastLerp=function(t,i,o){if(!(!(i&&i.length)||!(t>=0&&t<=1))){o=o||[];var v=t*(i.length-1),y=Math.floor(v),p=Math.ceil(v),C=i[y],D=i[p],b=v-y;return o[0]=m(r(C[0],D[0],b)),o[1]=m(r(C[1],D[1],b)),o[2]=m(r(C[2],D[2],b)),o[3]=g(r(C[3],D[3],b)),o}},A.fastMapToColor=A.fastLerp,A.lerp=function(t,i,o){if(!(!(i&&i.length)||!(t>=0&&t<=1))){var v=t*(i.length-1),y=Math.floor(v),p=Math.ceil(v),C=A.parse(i[y]),D=A.parse(i[p]),b=v-y,S=A.stringify([m(r(C[0],D[0],b)),m(r(C[1],D[1],b)),m(r(C[2],D[2],b)),g(r(C[3],D[3],b))],"rgba");return o?{color:S,leftIndex:y,rightIndex:p,value:v}:S}},A.mapToColor=A.lerp,A.modifyHSL=function(t,i,o,v){if(t=A.parse(t),t)return t=e(t),i!=null&&(t[0]=x(i)),o!=null&&(t[1]=u(o)),v!=null&&(t[2]=u(v)),A.stringify(d(t),"rgba")},A.modifyAlpha=function(t,i){if(t=A.parse(t),t&&i!=null)return t[3]=g(i),A.stringify(t,"rgba")},A.stringify=function(t,i){if(!(!t||!t.length)){var o=t[0]+","+t[1]+","+t[2];return(i==="rgba"||i==="hsva"||i==="hsla")&&(o+=","+t[3]),i+"("+o+")"}},O.a=A},function(K,O,E){"use strict";var M=E(95),A=function(_){this._list=new M.a,this._map={},this._maxSize=_||10};A.prototype.setMaxSize=function(_){this._maxSize=_},A.prototype.put=function(_,m){if(typeof this._map[_]=="undefined"){var x=this._list.length();if(x>=this._maxSize&&x>0){var g=this._list.head;this._list.remove(g),delete this._map[g.key]}var c=this._list.insert(m);c.key=_,this._map[_]=c}},A.prototype.get=function(_){var m=this._map[_];if(typeof m!="undefined")return m!==this._list.tail&&(this._list.remove(m),this._list.insertEntry(m)),m.value},A.prototype.remove=function(_){var m=this._map[_];typeof m!="undefined"&&(delete this._map[_],this._list.remove(m))},A.prototype.clear=function(){this._list.clear(),this._map={}},O.a=A},function(K,O,E){"use strict";var M=function(){this.head=null,this.tail=null,this._length=0};M.prototype.insert=function(A){var _=new M.Entry(A);return this.insertEntry(_),_},M.prototype.insertAt=function(A,_){if(!(A<0)){for(var m=this.head,x=0;m&&x!=A;)m=m.next,x++;if(m){var g=new M.Entry(_),c=m.prev;c?(c.next=g,g.prev=c):this.head=g,g.next=m,m.prev=g}else this.insert(_)}},M.prototype.insertBeforeEntry=function(A,_){var m=new M.Entry(A),x=_.prev;x?(x.next=m,m.prev=x):this.head=m,m.next=_,_.prev=m,this._length++},M.prototype.insertEntry=function(A){this.head?(this.tail.next=A,A.prev=this.tail,this.tail=A):this.head=this.tail=A,this._length++},M.prototype.remove=function(A){var _=A.prev,m=A.next;_?_.next=m:this.head=m,m?m.prev=_:this.tail=_,A.next=A.prev=null,this._length--},M.prototype.removeAt=function(A){if(!(A<0)){for(var _=this.head,m=0;_&&m!=A;)_=_.next,m++;if(_)return this.remove(_),_.value}},M.prototype.getHead=function(){if(this.head)return this.head.value},M.prototype.getTail=function(){if(this.tail)return this.tail.value},M.prototype.getAt=function(A){if(!(A<0)){for(var _=this.head,m=0;_&&m!=A;)_=_.next,m++;return _.value}},M.prototype.indexOf=function(A){for(var _=this.head,m=0;_;){if(_.value===A)return m;_=_.next,m++}},M.prototype.length=function(){return this._length},M.prototype.isEmpty=function(){return this._length===0},M.prototype.forEach=function(A,_){for(var m=this.head,x=0,g=typeof _!="undefined";m;)g?A.call(_,m.value,x):A(m.value,x),m=m.next,x++},M.prototype.clear=function(){this.tail=this.head=null,this._length=0},M.Entry=function(A){this.value=A,this.next=null,this.prev=null},O.a=M},function(K,O,E){"use strict";var M=E(97),A=/for\s*?\(int\s*?_idx_\s*\=\s*([\w-]+)\;\s*_idx_\s*<\s*([\w-]+);\s*_idx_\s*\+\+\s*\)\s*\{\{([\s\S]+?)(?=\}\})\}\}/g;function _(u,h,r){function n(s,l,d,e){var t="";isNaN(l)&&(l in h?l=h[l]:l=a[l]),isNaN(d)&&(d in h?d=h[d]:d=a[d]);for(var i=parseInt(l);i<parseInt(d);i++)t+="{"+e.replace(/float\s*\(\s*_idx_\s*\)/g,i.toFixed(1)).replace(/_idx_/g,i)+"}";return t}var a={};for(var f in r)a[f+"_COUNT"]=r[f];return u.replace(A,n)}function m(u,h,r){var n=[];if(h)for(var a in h){var f=h[a];f>0&&n.push("#define "+a.toUpperCase()+"_COUNT "+f)}if(r)for(var s=0;s<r.length;s++){var l=r[s];n.push("#define "+l.toUpperCase()+"_ENABLED")}for(var l in u){var d=u[l];d===null?n.push("#define "+l):n.push("#define "+l+" "+d.toString())}return n.join(`
|
|
`)}function x(u){for(var h=[],r=0;r<u.length;r++)h.push("#extension GL_"+u[r]+" : enable");return h.join(`
|
|
`)}function g(u){return["precision",u,"float"].join(" ")+`;
|
|
`+["precision",u,"int"].join(" ")+`;
|
|
`+["precision",u,"sampler2D"].join(" ")+`;
|
|
`}function c(u){this._renderer=u,this._cache={}}c.prototype.getProgram=function(u,h,r){var n=this._cache,a="s"+h.shader.shaderID+"m"+h.programKey;r&&(a+="se"+r.getProgramKey(u.lightGroup)),u.isSkinnedMesh()&&(a+=","+u.joints.length);var C=n[a];if(C)return C;var f=r?r.getLightsNumbers(u.lightGroup):{},s=this._renderer,l=s.gl,d=h.getEnabledTextures(),e="";u.isSkinnedMesh()&&(e=`
|
|
`+m({SKINNING:null,JOINT_COUNT:u.joints.length})+`
|
|
`);var t=e+m(h.vertexDefines,f,d),i=e+m(h.fragmentDefines,f,d),o=t+`
|
|
`+h.shader.vertex,v=x(["OES_standard_derivatives","EXT_shader_texture_lod"])+`
|
|
`+g(h.precision)+`
|
|
`+i+`
|
|
`+h.shader.fragment,y=_(o,h.vertexDefines,f),p=_(v,h.fragmentDefines,f),C=new M.a;C.uniformSemantics=h.shader.uniformSemantics,C.attributes=h.shader.attributes;var D=C.buildProgram(l,h.shader,y,p);return C.__error=D,n[a]=C,C},O.a=c},function(K,O,E){"use strict";var M=E(18),A=E(8),_=1,m=2,x=3,g={};function c(r){for(var n=r.split(`
|
|
`),a=0,f=n.length;a<f;a++)n[a]=a+1+": "+n[a];return n.join(`
|
|
`)}function u(r,n,a){if(!r.getShaderParameter(n,r.COMPILE_STATUS))return[r.getShaderInfoLog(n),c(a)].join(`
|
|
`)}var h=A.a.extend({uniformSemantics:{},attributes:{}},function(){this._locations={},this._textureSlot=0,this._program=null},{bind:function(r){this._textureSlot=0,r.gl.useProgram(this._program)},hasUniform:function(r){var n=this._locations[r];return n!=null},useTextureSlot:function(r,n,a){n&&(r.gl.activeTexture(r.gl.TEXTURE0+a),n.isRenderable()?n.bind(r):n.unbind(r))},currentTextureSlot:function(){return this._textureSlot},resetTextureSlot:function(r){this._textureSlot=r||0},takeCurrentTextureSlot:function(r,n){var a=this._textureSlot;return this.useTextureSlot(r,n,a),this._textureSlot++,a},setUniform:function(r,n,a,f){var s=this._locations,l=s[a];if(l==null)return!1;switch(n){case"m4":r.uniformMatrix4fv(l,!1,f);break;case"2i":r.uniform2i(l,f[0],f[1]);break;case"2f":r.uniform2f(l,f[0],f[1]);break;case"3i":r.uniform3i(l,f[0],f[1],f[2]);break;case"3f":r.uniform3f(l,f[0],f[1],f[2]);break;case"4i":r.uniform4i(l,f[0],f[1],f[2],f[3]);break;case"4f":r.uniform4f(l,f[0],f[1],f[2],f[3]);break;case"1i":r.uniform1i(l,f);break;case"1f":r.uniform1f(l,f);break;case"1fv":r.uniform1fv(l,f);break;case"1iv":r.uniform1iv(l,f);break;case"2iv":r.uniform2iv(l,f);break;case"2fv":r.uniform2fv(l,f);break;case"3iv":r.uniform3iv(l,f);break;case"3fv":r.uniform3fv(l,f);break;case"4iv":r.uniform4iv(l,f);break;case"4fv":r.uniform4fv(l,f);break;case"m2":case"m2v":r.uniformMatrix2fv(l,!1,f);break;case"m3":case"m3v":r.uniformMatrix3fv(l,!1,f);break;case"m4v":if(Array.isArray(f)){for(var d=new M.a.Float32Array(f.length*16),e=0,t=0;t<f.length;t++)for(var i=f[t],o=0;o<16;o++)d[e++]=i[o];r.uniformMatrix4fv(l,!1,d)}else f instanceof M.a.Float32Array&&r.uniformMatrix4fv(l,!1,f);break}return!0},setUniformOfSemantic:function(r,n,a){var f=this.uniformSemantics[n];return f?this.setUniform(r,f.type,f.symbol,a):!1},enableAttributes:function(r,n,a){var f=r.gl,s=this._program,l=this._locations,d;a?d=a.__enabledAttributeList:d=g[r.__uid__],d||(a?d=a.__enabledAttributeList=[]:d=g[r.__uid__]=[]);for(var e=[],t=0;t<n.length;t++){var i=n[t];if(!this.attributes[i]){e[t]=-1;continue}var o=l[i];if(o==null){if(o=f.getAttribLocation(s,i),o===-1){e[t]=-1;continue}l[i]=o}e[t]=o,d[o]?d[o]=m:d[o]=_}for(var t=0;t<d.length;t++)switch(d[t]){case _:f.enableVertexAttribArray(t),d[t]=x;break;case m:d[t]=x;break;case x:f.disableVertexAttribArray(t),d[t]=0;break}return e},buildProgram:function(r,n,a,f){var s=r.createShader(r.VERTEX_SHADER),l=r.createProgram();r.shaderSource(s,a),r.compileShader(s);var d=r.createShader(r.FRAGMENT_SHADER);r.shaderSource(d,f),r.compileShader(d);var e=u(r,s,a);if(e||(e=u(r,d,f),e))return e;if(r.attachShader(l,s),r.attachShader(l,d),n.attributeSemantics.POSITION)r.bindAttribLocation(l,0,n.attributeSemantics.POSITION.symbol);else{var t=Object.keys(this.attributes);r.bindAttribLocation(l,0,t[0])}if(r.linkProgram(l),!r.getProgramParameter(l,r.LINK_STATUS))return`Could not link program
|
|
VALIDATE_STATUS: `+r.getProgramParameter(l,r.VALIDATE_STATUS)+", gl error ["+r.getError()+"]";for(var i=0;i<n.uniforms.length;i++){var o=n.uniforms[i];this._locations[o]=r.getUniformLocation(l,o)}r.deleteShader(s),r.deleteShader(d),this._program=l,this.vertexCode=a,this.fragmentCode=f}});O.a=h},function(K,O,E){"use strict";var M=E(99),A="uniform vec3 ",_="uniform float ",m="@export clay.header.",x="@end",g=":unconfigurable;";O.a=[m+"directional_light",A+"directionalLightDirection[DIRECTIONAL_LIGHT_COUNT]"+g,A+"directionalLightColor[DIRECTIONAL_LIGHT_COUNT]"+g,x,m+"ambient_light",A+"ambientLightColor[AMBIENT_LIGHT_COUNT]"+g,x,m+"ambient_sh_light",A+"ambientSHLightColor[AMBIENT_SH_LIGHT_COUNT]"+g,A+"ambientSHLightCoefficients[AMBIENT_SH_LIGHT_COUNT * 9]"+g,M.a,x,m+"ambient_cubemap_light",A+"ambientCubemapLightColor[AMBIENT_CUBEMAP_LIGHT_COUNT]"+g,"uniform samplerCube ambientCubemapLightCubemap[AMBIENT_CUBEMAP_LIGHT_COUNT]"+g,"uniform sampler2D ambientCubemapLightBRDFLookup[AMBIENT_CUBEMAP_LIGHT_COUNT]"+g,x,m+"point_light",A+"pointLightPosition[POINT_LIGHT_COUNT]"+g,_+"pointLightRange[POINT_LIGHT_COUNT]"+g,A+"pointLightColor[POINT_LIGHT_COUNT]"+g,x,m+"spot_light",A+"spotLightPosition[SPOT_LIGHT_COUNT]"+g,A+"spotLightDirection[SPOT_LIGHT_COUNT]"+g,_+"spotLightRange[SPOT_LIGHT_COUNT]"+g,_+"spotLightUmbraAngleCosine[SPOT_LIGHT_COUNT]"+g,_+"spotLightPenumbraAngleCosine[SPOT_LIGHT_COUNT]"+g,_+"spotLightFalloffFactor[SPOT_LIGHT_COUNT]"+g,A+"spotLightColor[SPOT_LIGHT_COUNT]"+g,x].join(`
|
|
`)},function(K,O,E){"use strict";O.a=`vec3 calcAmbientSHLight(int idx, vec3 N) {
|
|
int offset = 9 * idx;
|
|
return ambientSHLightCoefficients[0]
|
|
+ ambientSHLightCoefficients[1] * N.x
|
|
+ ambientSHLightCoefficients[2] * N.y
|
|
+ ambientSHLightCoefficients[3] * N.z
|
|
+ ambientSHLightCoefficients[4] * N.x * N.z
|
|
+ ambientSHLightCoefficients[5] * N.z * N.y
|
|
+ ambientSHLightCoefficients[6] * N.y * N.x
|
|
+ ambientSHLightCoefficients[7] * (3.0 * N.z * N.z - 1.0)
|
|
+ ambientSHLightCoefficients[8] * (N.x * N.x - N.y * N.y);
|
|
}`},function(K,O,E){"use strict";var M=E(8),A=E(49),_=E(23),m=E(4),x=E(9),g=E(64),c=E(11),u=E(1),h=E.n(u),r=h.a.vec3,n=M.a.extend({scene:null,camera:null,renderer:null},function(){this._ray=new A.a,this._ndc=new _.a},{pick:function(a,f,s){var l=this.pickAll(a,f,[],s);return l[0]||null},pickAll:function(a,f,s,l){return this.renderer.screenToNDC(a,f,this._ndc),this.camera.castRay(this._ndc,this._ray),s=s||[],this._intersectNode(this.scene,s,l||!1),s.sort(this._intersectionCompareFunc),s},_intersectNode:function(a,f,s){a instanceof g.a&&a.isRenderable()&&(!a.ignorePicking||s)&&(a.mode===c.a.TRIANGLES&&a.geometry.isUseIndices()||a.geometry.pickByRay||a.geometry.pick)&&this._intersectRenderable(a,f);for(var l=0;l<a._children.length;l++)this._intersectNode(a._children[l],f,s)},_intersectRenderable:function(){var a=new m.a,f=new m.a,s=new m.a,l=new A.a,d=new x.a;return function(e,t){var i=e.isSkinnedMesh();l.copy(this._ray),x.a.invert(d,e.worldTransform),i||l.applyTransform(d);var o=e.geometry;if(!(!i&&o.boundingBox&&!l.intersectBoundingBox(o.boundingBox))){if(o.pick){o.pick(this._ndc.x,this._ndc.y,this.renderer,this.camera,e,t);return}else if(o.pickByRay){o.pickByRay(l,e,t);return}var v=e.cullFace===c.a.BACK&&e.frontFace===c.a.CCW||e.cullFace===c.a.FRONT&&e.frontFace===c.a.CW,y,p=o.indices,C=o.attributes.position,D=o.attributes.weight,b=o.attributes.joint,S,L=[];if(!(!C||!C.value||!p)){if(i){S=e.skeleton.getSubSkinMatrices(e.__uid__,e.joints);for(var w=0;w<e.joints.length;w++){L[w]=L[w]||[];for(var P=0;P<16;P++)L[w][P]=S[w*16+P]}var I=[],R=[],B=[],F=[],W=[],G=o.attributes.skinnedPosition;(!G||!G.value)&&(o.createAttribute("skinnedPosition","f",3),G=o.attributes.skinnedPosition,G.init(o.vertexCount));for(var w=0;w<o.vertexCount;w++){C.get(w,I),D.get(w,R),b.get(w,B),R[3]=1-R[0]-R[1]-R[2],r.set(F,0,0,0);for(var P=0;P<4;P++)B[P]>=0&&R[P]>1e-4&&(r.transformMat4(W,I,L[B[P]]),r.scaleAndAdd(F,F,W,R[P]));G.set(w,F)}}for(var w=0;w<p.length;w+=3){var j=p[w],Y=p[w+1],ee=p[w+2],ae=i?o.attributes.skinnedPosition:C;if(ae.get(j,a.array),ae.get(Y,f.array),ae.get(ee,s.array),v?y=l.intersectTriangle(a,f,s,e.culling):y=l.intersectTriangle(a,s,f,e.culling),y){var le=new m.a;i?m.a.copy(le,y):m.a.transformMat4(le,y,e.worldTransform),t.push(new n.Intersection(y,le,e,[j,Y,ee],w/3,m.a.dist(le,this._ray.origin)))}}}}}}(),_intersectionCompareFunc:function(a,f){return a.distance-f.distance}});n.Intersection=function(a,f,s,l,d,e){this.point=a,this.pointWorld=f,this.target=s,this.triangle=l,this.triangleIndex=d,this.distance=e},O.a=n},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=["bar3D","line3D","map3D","scatter3D","surface","lines3D","scatterGL","scatter3D"];function m(c,u){if(c&&c[u]&&(c[u].normal||c[u].emphasis)){var h=c[u].normal,r=c[u].emphasis;h&&(c[u]=h),r&&(c.emphasis=c.emphasis||{},c.emphasis[u]=r)}}function x(c){m(c,"itemStyle"),m(c,"lineStyle"),m(c,"areaStyle"),m(c,"label")}function g(c){c&&(c instanceof Array||(c=[c]),A.a.util.each(c,function(u){if(u.axisLabel){var h=u.axisLabel;A.a.util.extend(h,h.textStyle),h.textStyle=null}}))}O.a=function(c){A.a.util.each(c.series,function(u){A.a.util.indexOf(_,u.type)>=0&&(x(u),u.coordinateSystem==="mapbox"&&(u.coordinateSystem="mapbox3D",c.mapbox3D=c.mapbox))}),g(c.xAxis3D),g(c.yAxis3D),g(c.zAxis3D),g(c.grid3D),m(c.geo3D)}},function(K,O,E){"use strict";function M(A){var _=new XMLHttpRequest;_.open("get",A.url),_.responseType=A.responseType||"text",A.onprogress&&(_.onprogress=function(m){if(m.lengthComputable){var x=m.loaded/m.total;A.onprogress(x,m.loaded,m.total)}else A.onprogress(null)}),_.onload=function(m){_.status>=400?A.onerror&&A.onerror():A.onload&&A.onload(_.response)},A.onerror&&(_.onerror=A.onerror),_.send(null)}O.a={get:M}},function(K,O,E){"use strict";O.a=`@export clay.basic.vertex
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
uniform vec2 uvRepeat : [1.0, 1.0];
|
|
uniform vec2 uvOffset : [0.0, 0.0];
|
|
attribute vec2 texcoord : TEXCOORD_0;
|
|
attribute vec3 position : POSITION;
|
|
attribute vec3 barycentric;
|
|
@import clay.chunk.skinning_header
|
|
varying vec2 v_Texcoord;
|
|
varying vec3 v_Barycentric;
|
|
#ifdef VERTEX_COLOR
|
|
attribute vec4 a_Color : COLOR;
|
|
varying vec4 v_Color;
|
|
#endif
|
|
void main()
|
|
{
|
|
vec3 skinnedPosition = position;
|
|
#ifdef SKINNING
|
|
@import clay.chunk.skin_matrix
|
|
skinnedPosition = (skinMatrixWS * vec4(position, 1.0)).xyz;
|
|
#endif
|
|
v_Texcoord = texcoord * uvRepeat + uvOffset;
|
|
v_Barycentric = barycentric;
|
|
gl_Position = worldViewProjection * vec4(skinnedPosition, 1.0);
|
|
#ifdef VERTEX_COLOR
|
|
v_Color = a_Color;
|
|
#endif
|
|
}
|
|
@end
|
|
@export clay.basic.fragment
|
|
varying vec2 v_Texcoord;
|
|
uniform sampler2D diffuseMap;
|
|
uniform vec3 color : [1.0, 1.0, 1.0];
|
|
uniform vec3 emission : [0.0, 0.0, 0.0];
|
|
uniform float alpha : 1.0;
|
|
#ifdef ALPHA_TEST
|
|
uniform float alphaCutoff: 0.9;
|
|
#endif
|
|
#ifdef VERTEX_COLOR
|
|
varying vec4 v_Color;
|
|
#endif
|
|
uniform float lineWidth : 0.0;
|
|
uniform vec4 lineColor : [0.0, 0.0, 0.0, 0.6];
|
|
varying vec3 v_Barycentric;
|
|
@import clay.util.edge_factor
|
|
@import clay.util.rgbm
|
|
@import clay.util.srgb
|
|
@import clay.util.ACES
|
|
void main()
|
|
{
|
|
#ifdef RENDER_TEXCOORD
|
|
gl_FragColor = vec4(v_Texcoord, 1.0, 1.0);
|
|
return;
|
|
#endif
|
|
gl_FragColor = vec4(color, alpha);
|
|
#ifdef VERTEX_COLOR
|
|
gl_FragColor *= v_Color;
|
|
#endif
|
|
#ifdef DIFFUSEMAP_ENABLED
|
|
vec4 tex = decodeHDR(texture2D(diffuseMap, v_Texcoord));
|
|
#ifdef SRGB_DECODE
|
|
tex = sRGBToLinear(tex);
|
|
#endif
|
|
#if defined(DIFFUSEMAP_ALPHA_ALPHA)
|
|
gl_FragColor.a = tex.a;
|
|
#endif
|
|
gl_FragColor.rgb *= tex.rgb;
|
|
#endif
|
|
gl_FragColor.rgb += emission;
|
|
if( lineWidth > 0.)
|
|
{
|
|
gl_FragColor.rgb = mix(gl_FragColor.rgb, lineColor.rgb, (1.0 - edgeFactor(lineWidth)) * lineColor.a);
|
|
}
|
|
#ifdef ALPHA_TEST
|
|
if (gl_FragColor.a < alphaCutoff) {
|
|
discard;
|
|
}
|
|
#endif
|
|
#ifdef TONEMAPPING
|
|
gl_FragColor.rgb = ACESToneMapping(gl_FragColor.rgb);
|
|
#endif
|
|
#ifdef SRGB_ENCODE
|
|
gl_FragColor = linearTosRGB(gl_FragColor);
|
|
#endif
|
|
gl_FragColor = encodeHDR(gl_FragColor);
|
|
}
|
|
@end`},function(K,O,E){"use strict";var M=E(6),A=E(5),_=E(25),m=542327876,x=1,g=2,c=4,u=8,h=4096,r=131072,n=524288,a=8388608,f=8,s=4194304,l=4096,d=512,e=1024,t=2048,i=4096,o=8192,v=16384,y=32768,p=2097152,C=1,D=2,b=4,S=64,L=512,w=131072;function P(ue){return ue.charCodeAt(0)+(ue.charCodeAt(1)<<8)+(ue.charCodeAt(2)<<16)+(ue.charCodeAt(3)<<24)}function I(ue){return String.fromCharCode(ue&255,ue>>8&255,ue>>16&255,ue>>24&255)}var R=31,B=P("DXT1"),F=P("DXT3"),W=P("DXT5"),G=0,j=1,Y=2,ee=3,ae=4,le=7,_e=20,he=21,ve=27,Ae=28,ge=29,fe=30,Ee={parse:function(ue,oe){var X=new Int32Array(ue,0,R);if(X[G]!==m||!X(_e)&b)return null;var re=X(he),V=X[ae],ne=X[ee],Z=X[Ae]&d,$=X[Y]&r,se,q;switch(re){case B:se=8,q=M.a.COMPRESSED_RGB_S3TC_DXT1_EXT;break;case F:se=16,q=M.a.COMPRESSED_RGBA_S3TC_DXT3_EXT;break;case W:se=16,q=M.a.COMPRESSED_RGBA_S3TC_DXT5_EXT;break;default:return null}var ie=X[j]+4,de=Z?6:1,me=1;$&&(me=Math.max(1,X[le]));for(var Ce=[],Oe=0;Oe<de;Oe++){var Ne=V,we=ne;Ce[Oe]=new A.a({width:Ne,height:we,format:q});for(var ce=[],ye=0;ye<me;ye++){var Se=Math.max(4,Ne)/4*Math.max(4,we)/4*se,xe=new Uint8Array(ue,ie,Se);ie+=Se,Ne*=.5,we*=.5,ce[ye]=xe}Ce[Oe].pixels=ce[0],$&&(Ce[Oe].mipmaps=ce)}if(oe)oe.width=Ce[0].width,oe.height=Ce[0].height,oe.format=Ce[0].format,oe.pixels=Ce[0].pixels,oe.mipmaps=Ce[0].mipmaps;else return Ce[0]}};O.a=Ee},function(K,O,E){"use strict";var M=E(6),A=E(5),_=String.fromCharCode,m=8,x=32767;function g(a,f,s,l){if(a[3]>0){var d=Math.pow(2,a[3]-128-8+l);f[s+0]=a[0]*d,f[s+1]=a[1]*d,f[s+2]=a[2]*d}else f[s+0]=0,f[s+1]=0,f[s+2]=0;return f[s+3]=1,f}function c(a,f,s){for(var l="",d=f;d<s;d++)l+=_(a[d]);return l}function u(a,f){f[0]=a[0],f[1]=a[1],f[2]=a[2],f[3]=a[3]}function h(a,f,s,l){for(var d=0,e=0,t=l;t>0;)if(a[e][0]=f[s++],a[e][1]=f[s++],a[e][2]=f[s++],a[e][3]=f[s++],a[e][0]===1&&a[e][1]===1&&a[e][2]===1){for(var i=a[e][3]<<d>>>0;i>0;i--)u(a[e-1],a[e]),e++,t--;d+=8}else e++,t--,d=0;return s}function r(a,f,s,l){if(l<m|l>x)return h(a,f,s,l);var d=f[s++];if(d!=2)return h(a,f,s-1,l);if(a[0][1]=f[s++],a[0][2]=f[s++],d=f[s++],(a[0][2]<<8>>>0|d)>>>0!==l)return null;for(var d=0;d<4;d++)for(var e=0;e<l;){var t=f[s++];if(t>128){t=(t&127)>>>0;for(var i=f[s++];t--;)a[e++][d]=i}else for(;t--;)a[e++][d]=f[s++]}return s}var n={parseRGBE:function(a,f,s){s==null&&(s=0);var l=new Uint8Array(a),d=l.length;if(c(l,0,2)==="#?"){for(var e=2;e<d&&!(_(l[e])===`
|
|
`&&_(l[e+1])===`
|
|
`);e++);if(!(e>=d)){e+=2;for(var t="";e<d;e++){var i=_(l[e]);if(i===`
|
|
`)break;t+=i}var o=t.split(" "),v=parseInt(o[1]),y=parseInt(o[3]);if(!(!y||!v)){for(var p=e+1,C=[],D=0;D<y;D++){C[D]=[];for(var b=0;b<4;b++)C[D][b]=0}for(var S=new Float32Array(y*v*4),L=0,w=0;w<v;w++){var p=r(C,l,p,y);if(!p)return null;for(var D=0;D<y;D++)g(C[D],S,L,s),L+=4}return f||(f=new A.a),f.width=y,f.height=v,f.pixels=S,f.type=M.a.FLOAT,f}}}},parseRGBEFromPNG:function(a){}};O.a=n},function(K,O,E){"use strict";var M=E(5),A=E(4),_=E(23),m=["mousedown","mouseup","mousemove","mouseover","mouseout","click","dblclick","contextmenu"];function x(c){return"_on"+c}var g=function(c){var u=this;this._texture=new M.a({anisotropic:32,flipY:!1,surface:this,dispose:function(h){u.dispose(),M.a.prototype.dispose.call(this,h)}}),m.forEach(function(h){this[x(h)]=function(r){r.triangle&&this._meshes.forEach(function(n){this.dispatchEvent(h,n,r.triangle,r.point)},this)}},this),this._meshes=[],c&&this.setECharts(c),this.onupdate=null};g.prototype={constructor:g,getTexture:function(){return this._texture},setECharts:function(c){this._chart=c;var u=c.getDom();if(!(u instanceof HTMLCanvasElement))console.error("ECharts must init on canvas if it is used as texture."),u=document.createElement("canvas");else{var h=this,r=c.getZr(),n=r.__oldRefreshImmediately||r.refreshImmediately;r.refreshImmediately=function(){n.call(this),h._texture.dirty(),h.onupdate&&h.onupdate()},r.__oldRefreshImmediately=n}this._texture.image=u,this._texture.dirty(),this.onupdate&&this.onupdate()},dispatchEvent:function(){var c=new A.a,u=new A.a,h=new A.a,r=new _.a,n=new _.a,a=new _.a,f=new _.a,s=new A.a;return function(l,d,e,t){var i=d.geometry,o=i.attributes.position,v=i.attributes.texcoord0,y=A.a.dot,p=A.a.cross;o.get(e[0],c.array),o.get(e[1],u.array),o.get(e[2],h.array),v.get(e[0],r.array),v.get(e[1],n.array),v.get(e[2],a.array),p(s,u,h);var C=y(c,s),D=y(t,s)/C;p(s,h,c);var b=y(t,s)/C;p(s,c,u);var S=y(t,s)/C;_.a.scale(f,r,D),_.a.scaleAndAdd(f,f,n,b),_.a.scaleAndAdd(f,f,a,S);var L=f.x*this._chart.getWidth(),w=f.y*this._chart.getHeight();this._chart.getZr().handler.dispatch(l,{zrX:L,zrY:w})}}(),attachToMesh:function(c){this._meshes.indexOf(c)>=0||(m.forEach(function(u){c.on(u,this[x(u)],this)},this),this._meshes.push(c))},detachFromMesh:function(c){var u=this._meshes.indexOf(c);u>=0&&this._meshes.splice(u,1),m.forEach(function(h){c.off(h,this[x(h)])},this)},dispose:function(){this._meshes.forEach(function(c){this.detachFromMesh(c)},this)}},O.a=g},function(K,O,E){"use strict";var M=E(19),A=E(108),_=M.a.extend({cubemap:null,castShadow:!1,_normalDistribution:null,_brdfLookup:null},{type:"AMBIENT_CUBEMAP_LIGHT",prefilter:function(m,x){this._brdfLookup||(this._normalDistribution=A.a.generateNormalDistribution(),this._brdfLookup=A.a.integrateBRDF(m,this._normalDistribution));var g=this.cubemap;if(!g.__prefiltered){var c=A.a.prefilterEnvironmentMap(m,g,{encodeRGBM:!0,width:x,height:x},this._normalDistribution,this._brdfLookup);this.cubemap=c.environmentMap,this.cubemap.__prefiltered=!0,g.dispose(m)}},uniformTemplates:{ambientCubemapLightColor:{type:"3f",value:function(m){var x=m.color,g=m.intensity;return[x[0]*g,x[1]*g,x[2]*g]}},ambientCubemapLightCubemap:{type:"t",value:function(m){return m.cubemap}},ambientCubemapLightBRDFLookup:{type:"t",value:function(m){return m._brdfLookup}}}});O.a=_},function(K,O,E){"use strict";var M=E(5),A=E(25),_=E(6),m=E(10),x=E(14),g=E(17),c=E(7),u=E(57),h=E(29),r=E(55),n=E(18),a=E(54),f=E(111),s=E(112),l={},d=["px","nx","py","ny","pz","nz"];l.prefilterEnvironmentMap=function(e,t,i,o,v){(!v||!o)&&(o=l.generateNormalDistribution(),v=l.integrateBRDF(e,o)),i=i||{};var y=i.width||64,p=i.height||64,C=i.type||t.type,D=new A.a({width:y,height:p,type:C,flipY:!1,mipmaps:[]});D.isPowerOfTwo()||console.warn("Width and height must be power of two to enable mipmap.");var b=Math.min(y,p),S=Math.log(b)/Math.log(2)+1,L=new g.a({shader:new c.a({vertex:c.a.source("clay.skybox.vertex"),fragment:s.a})});L.set("normalDistribution",o),i.encodeRGBM&&L.define("fragment","RGBM_ENCODE"),i.decodeRGBM&&L.define("fragment","RGBM_DECODE");var w=new h.a,P;if(t instanceof M.a){var I=new A.a({width:y,height:p,type:C===_.a.FLOAT?_.a.HALF_FLOAT:C});a.a.panoramaToCubeMap(e,t,I,{encodeRGBM:i.decodeRGBM}),t=I}P=new u.a({scene:w,material:L}),P.material.set("environmentMap",t);var R=new r.a({texture:D});i.encodeRGBM&&(C=D.type=_.a.UNSIGNED_BYTE);for(var B=new M.a({width:y,height:p,type:C}),F=new m.a({depthBuffer:!1}),W=n.a[C===_.a.UNSIGNED_BYTE?"Uint8Array":"Float32Array"],G=0;G<S;G++){D.mipmaps[G]={pixels:{}},P.material.set("roughness",G/(d.length-1));for(var j=B.width,Y=2*Math.atan(j/(j-.5))/Math.PI*180,ee=0;ee<d.length;ee++){var ae=new W(B.width*B.height*4);F.attach(B),F.bind(e);var le=R.getCamera(d[ee]);le.fov=Y,e.render(w,le),e.gl.readPixels(0,0,B.width,B.height,_.a.RGBA,C,ae),F.unbind(e),D.mipmaps[G].pixels[d[ee]]=ae}B.width/=2,B.height/=2,B.dirty()}return F.dispose(e),B.dispose(e),P.dispose(e),o.dispose(e),{environmentMap:D,brdfLookup:v,normalDistribution:o,maxMipmapLevel:S}},l.integrateBRDF=function(e,t){t=t||l.generateNormalDistribution();var i=new m.a({depthBuffer:!1}),o=new x.a({fragment:f.a}),v=new M.a({width:512,height:256,type:_.a.HALF_FLOAT,minFilter:_.a.NEAREST,magFilter:_.a.NEAREST,useMipmap:!1});return o.setUniform("normalDistribution",t),o.setUniform("viewportSize",[512,256]),o.attachOutput(v),o.render(e,i),i.dispose(e),v},l.generateNormalDistribution=function(i,o){for(var i=i||256,o=o||1024,v=new M.a({width:i,height:o,type:_.a.FLOAT,minFilter:_.a.NEAREST,magFilter:_.a.NEAREST,useMipmap:!1}),y=new Float32Array(o*i*4),p=0;p<o;p++){var C=p/o,D=(p<<16|p>>>16)>>>0;D=((D&1431655765)<<1|(D&2863311530)>>>1)>>>0,D=((D&858993459)<<2|(D&3435973836)>>>2)>>>0,D=((D&252645135)<<4|(D&4042322160)>>>4)>>>0,D=(((D&16711935)<<8|(D&4278255360)>>>8)>>>0)/4294967296;for(var b=0;b<i;b++){var S=b/i,L=S*S,w=2*Math.PI*C,P=Math.sqrt((1-D)/(1+(L*L-1)*D)),I=Math.sqrt(1-P*P),R=(p*i+b)*4;y[R]=I*Math.cos(w),y[R+1]=I*Math.sin(w),y[R+2]=P,y[R+3]=1}}return v.pixels=y,v},O.a=l},function(K,O,E){"use strict";O.a=`
|
|
@export clay.compositor.vertex
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
attribute vec3 position : POSITION;
|
|
attribute vec2 texcoord : TEXCOORD_0;
|
|
varying vec2 v_Texcoord;
|
|
void main()
|
|
{
|
|
v_Texcoord = texcoord;
|
|
gl_Position = worldViewProjection * vec4(position, 1.0);
|
|
}
|
|
@end`},function(K,O,E){"use strict";O.a=`@export clay.skybox.vertex
|
|
uniform mat4 world : WORLD;
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
attribute vec3 position : POSITION;
|
|
varying vec3 v_WorldPosition;
|
|
void main()
|
|
{
|
|
v_WorldPosition = (world * vec4(position, 1.0)).xyz;
|
|
gl_Position = worldViewProjection * vec4(position, 1.0);
|
|
}
|
|
@end
|
|
@export clay.skybox.fragment
|
|
uniform mat4 viewInverse : VIEWINVERSE;
|
|
uniform samplerCube environmentMap;
|
|
uniform float lod: 0.0;
|
|
varying vec3 v_WorldPosition;
|
|
@import clay.util.rgbm
|
|
@import clay.util.srgb
|
|
@import clay.util.ACES
|
|
void main()
|
|
{
|
|
vec3 eyePos = viewInverse[3].xyz;
|
|
vec3 viewDirection = normalize(v_WorldPosition - eyePos);
|
|
#ifdef LOD
|
|
vec4 texel = decodeHDR(textureCubeLodEXT(environmentMap, viewDirection, lod));
|
|
#else
|
|
vec4 texel = decodeHDR(textureCube(environmentMap, viewDirection));
|
|
#endif
|
|
#ifdef SRGB_DECODE
|
|
texel = sRGBToLinear(texel);
|
|
#endif
|
|
#ifdef TONEMAPPING
|
|
texel.rgb = ACESToneMapping(texel.rgb);
|
|
#endif
|
|
#ifdef SRGB_ENCODE
|
|
texel = linearTosRGB(texel);
|
|
#endif
|
|
gl_FragColor = encodeHDR(vec4(texel.rgb, 1.0));
|
|
}
|
|
@end`},function(K,O,E){"use strict";O.a=`#define SAMPLE_NUMBER 1024
|
|
#define PI 3.14159265358979
|
|
uniform sampler2D normalDistribution;
|
|
uniform vec2 viewportSize : [512, 256];
|
|
const vec3 N = vec3(0.0, 0.0, 1.0);
|
|
const float fSampleNumber = float(SAMPLE_NUMBER);
|
|
vec3 importanceSampleNormal(float i, float roughness, vec3 N) {
|
|
vec3 H = texture2D(normalDistribution, vec2(roughness, i)).rgb;
|
|
vec3 upVector = abs(N.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0);
|
|
vec3 tangentX = normalize(cross(upVector, N));
|
|
vec3 tangentY = cross(N, tangentX);
|
|
return tangentX * H.x + tangentY * H.y + N * H.z;
|
|
}
|
|
float G_Smith(float roughness, float NoV, float NoL) {
|
|
float k = roughness * roughness / 2.0;
|
|
float G1V = NoV / (NoV * (1.0 - k) + k);
|
|
float G1L = NoL / (NoL * (1.0 - k) + k);
|
|
return G1L * G1V;
|
|
}
|
|
void main() {
|
|
vec2 uv = gl_FragCoord.xy / viewportSize;
|
|
float NoV = uv.x;
|
|
float roughness = uv.y;
|
|
vec3 V;
|
|
V.x = sqrt(1.0 - NoV * NoV);
|
|
V.y = 0.0;
|
|
V.z = NoV;
|
|
float A = 0.0;
|
|
float B = 0.0;
|
|
for (int i = 0; i < SAMPLE_NUMBER; i++) {
|
|
vec3 H = importanceSampleNormal(float(i) / fSampleNumber, roughness, N);
|
|
vec3 L = reflect(-V, H);
|
|
float NoL = clamp(L.z, 0.0, 1.0);
|
|
float NoH = clamp(H.z, 0.0, 1.0);
|
|
float VoH = clamp(dot(V, H), 0.0, 1.0);
|
|
if (NoL > 0.0) {
|
|
float G = G_Smith(roughness, NoV, NoL);
|
|
float G_Vis = G * VoH / (NoH * NoV);
|
|
float Fc = pow(1.0 - VoH, 5.0);
|
|
A += (1.0 - Fc) * G_Vis;
|
|
B += Fc * G_Vis;
|
|
}
|
|
}
|
|
gl_FragColor = vec4(vec2(A, B) / fSampleNumber, 0.0, 1.0);
|
|
}
|
|
`},function(K,O,E){"use strict";O.a=`#define SAMPLE_NUMBER 1024
|
|
#define PI 3.14159265358979
|
|
uniform mat4 viewInverse : VIEWINVERSE;
|
|
uniform samplerCube environmentMap;
|
|
uniform sampler2D normalDistribution;
|
|
uniform float roughness : 0.5;
|
|
varying vec2 v_Texcoord;
|
|
varying vec3 v_WorldPosition;
|
|
const float fSampleNumber = float(SAMPLE_NUMBER);
|
|
@import clay.util.rgbm
|
|
vec3 importanceSampleNormal(float i, float roughness, vec3 N) {
|
|
vec3 H = texture2D(normalDistribution, vec2(roughness, i)).rgb;
|
|
vec3 upVector = abs(N.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0);
|
|
vec3 tangentX = normalize(cross(upVector, N));
|
|
vec3 tangentY = cross(N, tangentX);
|
|
return tangentX * H.x + tangentY * H.y + N * H.z;
|
|
}
|
|
void main() {
|
|
vec3 eyePos = viewInverse[3].xyz;
|
|
vec3 V = normalize(v_WorldPosition - eyePos);
|
|
vec3 N = V;
|
|
vec3 R = V;
|
|
vec3 prefilteredColor = vec3(0.0);
|
|
float totalWeight = 0.0;
|
|
for (int i = 0; i < SAMPLE_NUMBER; i++) {
|
|
vec3 H = importanceSampleNormal(float(i) / fSampleNumber, roughness, N);
|
|
vec3 L = reflect(-V, H);
|
|
float NoL = clamp(dot(N, L), 0.0, 1.0);
|
|
if (NoL > 0.0) {
|
|
prefilteredColor += decodeHDR(textureCube(environmentMap, L)).rgb * NoL;
|
|
totalWeight += NoL;
|
|
}
|
|
}
|
|
gl_FragColor = encodeHDR(vec4(prefilteredColor / totalWeight, 1.0));
|
|
}
|
|
`},function(K,O,E){"use strict";var M=E(19),A=E(18),_=M.a.extend({castShadow:!1,coefficients:[]},function(){this._coefficientsTmpArr=new A.a.Float32Array(9*3)},{type:"AMBIENT_SH_LIGHT",uniformTemplates:{ambientSHLightColor:{type:"3f",value:function(m){var x=m.color,g=m.intensity;return[x[0]*g,x[1]*g,x[2]*g]}},ambientSHLightCoefficients:{type:"3f",value:function(m){for(var x=m._coefficientsTmpArr,g=0;g<m.coefficients.length;g++)x[g]=m.coefficients[g];return x}}}});O.a=_},function(K,O,E){"use strict";var M=E(6),A=E(10),_=E(5),m=E(14),x=E(18),g=E(57),c=E(56),u=E(55),h=E(29),r=E(1),n=E.n(r),a=E(115),f=n.a.vec3,s={},l=["px","nx","py","ny","pz","nz"];function d(o,v){var y=new _.a({width:9,height:1,type:M.a.FLOAT}),p=new m.a({fragment:a.a});p.material.define("fragment","TEXTURE_SIZE",v.width),p.setUniform("environmentMap",v);var C=new A.a;C.attach(y),p.render(o,C),C.bind(o);var D=new x.a.Float32Array(9*4);o.gl.readPixels(0,0,9,1,M.a.RGBA,M.a.FLOAT,D);for(var b=new x.a.Float32Array(9*3),S=0;S<9;S++)b[S*3]=D[S*4],b[S*3+1]=D[S*4+1],b[S*3+2]=D[S*4+2];return C.unbind(o),C.dispose(o),p.dispose(o),b}function e(o,v){var y=o[0],p=o[1],C=o[2];return v===0?1:v===1?y:v===2?p:v===3?C:v===4?y*C:v===5?p*C:v===6?y*p:v===7?3*C*C-1:y*y-p*p}var t={px:[2,1,0,-1,-1,1],nx:[2,1,0,1,-1,-1],py:[0,2,1,1,-1,-1],ny:[0,2,1,1,1,1],pz:[0,1,2,-1,-1,-1],nz:[0,1,2,1,-1,1]};function i(o,v,y,p){for(var C=new x.a.Float32Array(27),D=f.create(),b=f.create(),S=f.create(),L=0;L<9;L++){for(var w=f.create(),P=0;P<l.length;P++){for(var I=v[l[P]],R=f.create(),B=0,F=0,W=t[l[P]],G=0;G<p;G++)for(var j=0;j<y;j++){D[0]=j/(y-1)*2-1,D[1]=G/(p-1)*2-1,D[2]=-1,f.normalize(D,D),S[0]=D[W[0]]*W[3],S[1]=D[W[1]]*W[4],S[2]=D[W[2]]*W[5],b[0]=I[F++]/255,b[1]=I[F++]/255,b[2]=I[F++]/255;var Y=I[F++]/255*51.5;b[0]*=Y,b[1]*=Y,b[2]*=Y,f.scaleAndAdd(R,R,b,e(S,L)*-D[2]),B+=-D[2]}f.scaleAndAdd(w,w,R,1/B)}C[L*3]=w[0]/6,C[L*3+1]=w[1]/6,C[L*3+2]=w[2]/6}return C}s.projectEnvironmentMap=function(o,v,y){y=y||{},y.lod=y.lod||0;var p,C=new h.a,D=64;v instanceof _.a?p=new c.a({scene:C,environmentMap:v}):(D=v.image&&v.image.px?v.image.px.width:v.width,p=new g.a({scene:C,environmentMap:v}));var b=Math.ceil(D/Math.pow(2,y.lod)),S=Math.ceil(D/Math.pow(2,y.lod)),L=new _.a({width:b,height:S}),w=new A.a;p.material.define("fragment","RGBM_ENCODE"),y.decodeRGBM&&p.material.define("fragment","RGBM_DECODE"),p.material.set("lod",y.lod);for(var P=new u.a({texture:L}),I={},R=0;R<l.length;R++){I[l[R]]=new Uint8Array(b*S*4);var B=P.getCamera(l[R]);B.fov=90,w.attach(L),w.bind(o),o.render(C,B),o.gl.readPixels(0,0,b,S,M.a.RGBA,M.a.UNSIGNED_BYTE,I[l[R]]),w.unbind(o)}return p.dispose(o),w.dispose(o),L.dispose(o),i(o,I,b,S)},O.a=s},function(K,O,E){"use strict";O.a=`uniform samplerCube environmentMap;
|
|
varying vec2 v_Texcoord;
|
|
#define TEXTURE_SIZE 16
|
|
mat3 front = mat3(
|
|
1.0, 0.0, 0.0,
|
|
0.0, 1.0, 0.0,
|
|
0.0, 0.0, 1.0
|
|
);
|
|
mat3 back = mat3(
|
|
-1.0, 0.0, 0.0,
|
|
0.0, 1.0, 0.0,
|
|
0.0, 0.0, -1.0
|
|
);
|
|
mat3 left = mat3(
|
|
0.0, 0.0, -1.0,
|
|
0.0, 1.0, 0.0,
|
|
1.0, 0.0, 0.0
|
|
);
|
|
mat3 right = mat3(
|
|
0.0, 0.0, 1.0,
|
|
0.0, 1.0, 0.0,
|
|
-1.0, 0.0, 0.0
|
|
);
|
|
mat3 up = mat3(
|
|
1.0, 0.0, 0.0,
|
|
0.0, 0.0, 1.0,
|
|
0.0, -1.0, 0.0
|
|
);
|
|
mat3 down = mat3(
|
|
1.0, 0.0, 0.0,
|
|
0.0, 0.0, -1.0,
|
|
0.0, 1.0, 0.0
|
|
);
|
|
float harmonics(vec3 normal){
|
|
int index = int(gl_FragCoord.x);
|
|
float x = normal.x;
|
|
float y = normal.y;
|
|
float z = normal.z;
|
|
if(index==0){
|
|
return 1.0;
|
|
}
|
|
else if(index==1){
|
|
return x;
|
|
}
|
|
else if(index==2){
|
|
return y;
|
|
}
|
|
else if(index==3){
|
|
return z;
|
|
}
|
|
else if(index==4){
|
|
return x*z;
|
|
}
|
|
else if(index==5){
|
|
return y*z;
|
|
}
|
|
else if(index==6){
|
|
return x*y;
|
|
}
|
|
else if(index==7){
|
|
return 3.0*z*z - 1.0;
|
|
}
|
|
else{
|
|
return x*x - y*y;
|
|
}
|
|
}
|
|
vec3 sampleSide(mat3 rot)
|
|
{
|
|
vec3 result = vec3(0.0);
|
|
float divider = 0.0;
|
|
for (int i = 0; i < TEXTURE_SIZE * TEXTURE_SIZE; i++) {
|
|
float x = mod(float(i), float(TEXTURE_SIZE));
|
|
float y = float(i / TEXTURE_SIZE);
|
|
vec2 sidecoord = ((vec2(x, y) + vec2(0.5, 0.5)) / vec2(TEXTURE_SIZE)) * 2.0 - 1.0;
|
|
vec3 normal = normalize(vec3(sidecoord, -1.0));
|
|
vec3 fetchNormal = rot * normal;
|
|
vec3 texel = textureCube(environmentMap, fetchNormal).rgb;
|
|
result += harmonics(fetchNormal) * texel * -normal.z;
|
|
divider += -normal.z;
|
|
}
|
|
return result / divider;
|
|
}
|
|
void main()
|
|
{
|
|
vec3 result = (
|
|
sampleSide(front) +
|
|
sampleSide(back) +
|
|
sampleSide(left) +
|
|
sampleSide(right) +
|
|
sampleSide(up) +
|
|
sampleSide(down)
|
|
) / 6.0;
|
|
gl_FragColor = vec4(result, 1.0);
|
|
}`},function(K,O,E){"use strict";var M=E(19),A=M.a.extend({castShadow:!1},{type:"AMBIENT_LIGHT",uniformTemplates:{ambientLightColor:{type:"3f",value:function(_){var m=_.color,x=_.intensity;return[m[0]*x,m[1]*x,m[2]*x]}}}});O.a=A},function(K,O,E){"use strict";var M=E(1),A=E.n(M),_=A.a.vec4,m=function(c,u,h,r){c=c||0,u=u||0,h=h||0,r=r||0,this.array=_.fromValues(c,u,h,r),this._dirty=!0};m.prototype={constructor:m,add:function(c){return _.add(this.array,this.array,c.array),this._dirty=!0,this},set:function(c,u,h,r){return this.array[0]=c,this.array[1]=u,this.array[2]=h,this.array[3]=r,this._dirty=!0,this},setArray:function(c){return this.array[0]=c[0],this.array[1]=c[1],this.array[2]=c[2],this.array[3]=c[3],this._dirty=!0,this},clone:function(){return new m(this.x,this.y,this.z,this.w)},copy:function(c){return _.copy(this.array,c.array),this._dirty=!0,this},dist:function(c){return _.dist(this.array,c.array)},distance:function(c){return _.distance(this.array,c.array)},div:function(c){return _.div(this.array,this.array,c.array),this._dirty=!0,this},divide:function(c){return _.divide(this.array,this.array,c.array),this._dirty=!0,this},dot:function(c){return _.dot(this.array,c.array)},len:function(){return _.len(this.array)},length:function(){return _.length(this.array)},lerp:function(c,u,h){return _.lerp(this.array,c.array,u.array,h),this._dirty=!0,this},min:function(c){return _.min(this.array,this.array,c.array),this._dirty=!0,this},max:function(c){return _.max(this.array,this.array,c.array),this._dirty=!0,this},mul:function(c){return _.mul(this.array,this.array,c.array),this._dirty=!0,this},multiply:function(c){return _.multiply(this.array,this.array,c.array),this._dirty=!0,this},negate:function(){return _.negate(this.array,this.array),this._dirty=!0,this},normalize:function(){return _.normalize(this.array,this.array),this._dirty=!0,this},random:function(c){return _.random(this.array,c),this._dirty=!0,this},scale:function(c){return _.scale(this.array,this.array,c),this._dirty=!0,this},scaleAndAdd:function(c,u){return _.scaleAndAdd(this.array,this.array,c.array,u),this._dirty=!0,this},sqrDist:function(c){return _.sqrDist(this.array,c.array)},squaredDistance:function(c){return _.squaredDistance(this.array,c.array)},sqrLen:function(){return _.sqrLen(this.array)},squaredLength:function(){return _.squaredLength(this.array)},sub:function(c){return _.sub(this.array,this.array,c.array),this._dirty=!0,this},subtract:function(c){return _.subtract(this.array,this.array,c.array),this._dirty=!0,this},transformMat4:function(c){return _.transformMat4(this.array,this.array,c.array),this._dirty=!0,this},transformQuat:function(c){return _.transformQuat(this.array,this.array,c.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}};var x=Object.defineProperty;if(x){var g=m.prototype;x(g,"x",{get:function(){return this.array[0]},set:function(c){this.array[0]=c,this._dirty=!0}}),x(g,"y",{get:function(){return this.array[1]},set:function(c){this.array[1]=c,this._dirty=!0}}),x(g,"z",{get:function(){return this.array[2]},set:function(c){this.array[2]=c,this._dirty=!0}}),x(g,"w",{get:function(){return this.array[3]},set:function(c){this.array[3]=c,this._dirty=!0}})}m.add=function(c,u,h){return _.add(c.array,u.array,h.array),c._dirty=!0,c},m.set=function(c,u,h,r,n){_.set(c.array,u,h,r,n),c._dirty=!0},m.copy=function(c,u){return _.copy(c.array,u.array),c._dirty=!0,c},m.dist=function(c,u){return _.distance(c.array,u.array)},m.distance=m.dist,m.div=function(c,u,h){return _.divide(c.array,u.array,h.array),c._dirty=!0,c},m.divide=m.div,m.dot=function(c,u){return _.dot(c.array,u.array)},m.len=function(c){return _.length(c.array)},m.lerp=function(c,u,h,r){return _.lerp(c.array,u.array,h.array,r),c._dirty=!0,c},m.min=function(c,u,h){return _.min(c.array,u.array,h.array),c._dirty=!0,c},m.max=function(c,u,h){return _.max(c.array,u.array,h.array),c._dirty=!0,c},m.mul=function(c,u,h){return _.multiply(c.array,u.array,h.array),c._dirty=!0,c},m.multiply=m.mul,m.negate=function(c,u){return _.negate(c.array,u.array),c._dirty=!0,c},m.normalize=function(c,u){return _.normalize(c.array,u.array),c._dirty=!0,c},m.random=function(c,u){return _.random(c.array,u),c._dirty=!0,c},m.scale=function(c,u,h){return _.scale(c.array,u.array,h),c._dirty=!0,c},m.scaleAndAdd=function(c,u,h,r){return _.scaleAndAdd(c.array,u.array,h.array,r),c._dirty=!0,c},m.sqrDist=function(c,u){return _.sqrDist(c.array,u.array)},m.squaredDistance=m.sqrDist,m.sqrLen=function(c){return _.sqrLen(c.array)},m.squaredLength=m.sqrLen,m.sub=function(c,u,h){return _.subtract(c.array,u.array,h.array),c._dirty=!0,c},m.subtract=m.sub,m.transformMat4=function(c,u,h){return _.transformMat4(c.array,u.array,h.array),c._dirty=!0,c},m.transformQuat=function(c,u,h){return _.transformQuat(c.array,u.array,h.array),c._dirty=!0,c},O.a=m},function(K,O,E){"use strict";var M=E(1),A=E.n(M),_=A.a.mat2,m=function(){this.array=_.create(),this._dirty=!0};m.prototype={constructor:m,setArray:function(x){for(var g=0;g<this.array.length;g++)this.array[g]=x[g];return this._dirty=!0,this},clone:function(){return new m().copy(this)},copy:function(x){return _.copy(this.array,x.array),this._dirty=!0,this},adjoint:function(){return _.adjoint(this.array,this.array),this._dirty=!0,this},determinant:function(){return _.determinant(this.array)},identity:function(){return _.identity(this.array),this._dirty=!0,this},invert:function(){return _.invert(this.array,this.array),this._dirty=!0,this},mul:function(x){return _.mul(this.array,this.array,x.array),this._dirty=!0,this},mulLeft:function(x){return _.mul(this.array,x.array,this.array),this._dirty=!0,this},multiply:function(x){return _.multiply(this.array,this.array,x.array),this._dirty=!0,this},multiplyLeft:function(x){return _.multiply(this.array,x.array,this.array),this._dirty=!0,this},rotate:function(x){return _.rotate(this.array,this.array,x),this._dirty=!0,this},scale:function(x){return _.scale(this.array,this.array,x.array),this._dirty=!0,this},transpose:function(){return _.transpose(this.array,this.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}},m.adjoint=function(x,g){return _.adjoint(x.array,g.array),x._dirty=!0,x},m.copy=function(x,g){return _.copy(x.array,g.array),x._dirty=!0,x},m.determinant=function(x){return _.determinant(x.array)},m.identity=function(x){return _.identity(x.array),x._dirty=!0,x},m.invert=function(x,g){return _.invert(x.array,g.array),x._dirty=!0,x},m.mul=function(x,g,c){return _.mul(x.array,g.array,c.array),x._dirty=!0,x},m.multiply=m.mul,m.rotate=function(x,g,c){return _.rotate(x.array,g.array,c),x._dirty=!0,x},m.scale=function(x,g,c){return _.scale(x.array,g.array,c.array),x._dirty=!0,x},m.transpose=function(x,g){return _.transpose(x.array,g.array),x._dirty=!0,x},O.a=m},function(K,O,E){"use strict";var M=E(1),A=E.n(M),_=A.a.mat2d,m=function(){this.array=_.create(),this._dirty=!0};m.prototype={constructor:m,setArray:function(x){for(var g=0;g<this.array.length;g++)this.array[g]=x[g];return this._dirty=!0,this},clone:function(){return new m().copy(this)},copy:function(x){return _.copy(this.array,x.array),this._dirty=!0,this},determinant:function(){return _.determinant(this.array)},identity:function(){return _.identity(this.array),this._dirty=!0,this},invert:function(){return _.invert(this.array,this.array),this._dirty=!0,this},mul:function(x){return _.mul(this.array,this.array,x.array),this._dirty=!0,this},mulLeft:function(x){return _.mul(this.array,x.array,this.array),this._dirty=!0,this},multiply:function(x){return _.multiply(this.array,this.array,x.array),this._dirty=!0,this},multiplyLeft:function(x){return _.multiply(this.array,x.array,this.array),this._dirty=!0,this},rotate:function(x){return _.rotate(this.array,this.array,x),this._dirty=!0,this},scale:function(x){return _.scale(this.array,this.array,x.array),this._dirty=!0,this},translate:function(x){return _.translate(this.array,this.array,x.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}},m.copy=function(x,g){return _.copy(x.array,g.array),x._dirty=!0,x},m.determinant=function(x){return _.determinant(x.array)},m.identity=function(x){return _.identity(x.array),x._dirty=!0,x},m.invert=function(x,g){return _.invert(x.array,g.array),x._dirty=!0,x},m.mul=function(x,g,c){return _.mul(x.array,g.array,c.array),x._dirty=!0,x},m.multiply=m.mul,m.rotate=function(x,g,c){return _.rotate(x.array,g.array,c),x._dirty=!0,x},m.scale=function(x,g,c){return _.scale(x.array,g.array,c.array),x._dirty=!0,x},m.translate=function(x,g,c){return _.translate(x.array,g.array,c.array),x._dirty=!0,x},O.a=m},function(K,O,E){"use strict";var M=E(1),A=E.n(M),_=A.a.mat3,m=function(){this.array=_.create(),this._dirty=!0};m.prototype={constructor:m,setArray:function(x){for(var g=0;g<this.array.length;g++)this.array[g]=x[g];return this._dirty=!0,this},adjoint:function(){return _.adjoint(this.array,this.array),this._dirty=!0,this},clone:function(){return new m().copy(this)},copy:function(x){return _.copy(this.array,x.array),this._dirty=!0,this},determinant:function(){return _.determinant(this.array)},fromMat2d:function(x){return _.fromMat2d(this.array,x.array),this._dirty=!0,this},fromMat4:function(x){return _.fromMat4(this.array,x.array),this._dirty=!0,this},fromQuat:function(x){return _.fromQuat(this.array,x.array),this._dirty=!0,this},identity:function(){return _.identity(this.array),this._dirty=!0,this},invert:function(){return _.invert(this.array,this.array),this._dirty=!0,this},mul:function(x){return _.mul(this.array,this.array,x.array),this._dirty=!0,this},mulLeft:function(x){return _.mul(this.array,x.array,this.array),this._dirty=!0,this},multiply:function(x){return _.multiply(this.array,this.array,x.array),this._dirty=!0,this},multiplyLeft:function(x){return _.multiply(this.array,x.array,this.array),this._dirty=!0,this},rotate:function(x){return _.rotate(this.array,this.array,x),this._dirty=!0,this},scale:function(x){return _.scale(this.array,this.array,x.array),this._dirty=!0,this},translate:function(x){return _.translate(this.array,this.array,x.array),this._dirty=!0,this},normalFromMat4:function(x){return _.normalFromMat4(this.array,x.array),this._dirty=!0,this},transpose:function(){return _.transpose(this.array,this.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}},m.adjoint=function(x,g){return _.adjoint(x.array,g.array),x._dirty=!0,x},m.copy=function(x,g){return _.copy(x.array,g.array),x._dirty=!0,x},m.determinant=function(x){return _.determinant(x.array)},m.identity=function(x){return _.identity(x.array),x._dirty=!0,x},m.invert=function(x,g){return _.invert(x.array,g.array),x},m.mul=function(x,g,c){return _.mul(x.array,g.array,c.array),x._dirty=!0,x},m.multiply=m.mul,m.fromMat2d=function(x,g){return _.fromMat2d(x.array,g.array),x._dirty=!0,x},m.fromMat4=function(x,g){return _.fromMat4(x.array,g.array),x._dirty=!0,x},m.fromQuat=function(x,g){return _.fromQuat(x.array,g.array),x._dirty=!0,x},m.normalFromMat4=function(x,g){return _.normalFromMat4(x.array,g.array),x._dirty=!0,x},m.rotate=function(x,g,c){return _.rotate(x.array,g.array,c),x._dirty=!0,x},m.scale=function(x,g,c){return _.scale(x.array,g.array,c.array),x._dirty=!0,x},m.transpose=function(x,g){return _.transpose(x.array,g.array),x._dirty=!0,x},m.translate=function(x,g,c){return _.translate(x.array,g.array,c.array),x._dirty=!0,x},O.a=m},function(K,O,E){"use strict";var M=E(122),A=E.n(M),_={_animators:null,getAnimators:function(){return this._animators=this._animators||[],this._animators},animate:function(m,x){this._animators=this._animators||[];var g=this,c;if(m){for(var u=m.split("."),h=g,r=0,n=u.length;r<n;r++)h&&(h=h[u[r]]);h&&(c=h)}else c=g;if(c==null)throw new Error("Target "+m+" not exists");var a=this._animators,f=new A.a(c,x),s=this;return f.during(function(){s.__zr&&s.__zr.refresh()}).done(function(){var l=a.indexOf(f);l>=0&&a.splice(l,1)}),a.push(f),this.__zr&&this.__zr.animation.addAnimator(f),f},stopAnimation:function(m){this._animators=this._animators||[];for(var x=this._animators,g=x.length,c=0;c<g;c++)x[c].stop(m);return x.length=0,this},addAnimatorsToZr:function(m){if(this._animators)for(var x=0;x<this._animators.length;x++)m.animation.addAnimator(this._animators[x])},removeAnimatorsFromZr:function(m){if(this._animators)for(var x=0;x<this._animators.length;x++)m.animation.removeAnimator(this._animators[x])}};O.a=_},function(K,O,E){var M=E(123),A=E(125),_=E(12),m=_.isArrayLike,x=Array.prototype.slice;function g(v,y){return v[y]}function c(v,y,p){v[y]=p}function u(v,y,p){return(y-v)*p+v}function h(v,y,p){return p>.5?y:v}function r(v,y,p,C,D){var b=v.length;if(D==1)for(var S=0;S<b;S++)C[S]=u(v[S],y[S],p);else for(var L=b&&v[0].length,S=0;S<b;S++)for(var w=0;w<L;w++)C[S][w]=u(v[S][w],y[S][w],p)}function n(v,y,p){var C=v.length,D=y.length;if(C!==D){var b=C>D;if(b)v.length=D;else for(var S=C;S<D;S++)v.push(p===1?y[S]:x.call(y[S]))}for(var L=v[0]&&v[0].length,S=0;S<v.length;S++)if(p===1)isNaN(v[S])&&(v[S]=y[S]);else for(var w=0;w<L;w++)isNaN(v[S][w])&&(v[S][w]=y[S][w])}function a(v,y,p){if(v===y)return!0;var C=v.length;if(C!==y.length)return!1;if(p===1){for(var D=0;D<C;D++)if(v[D]!==y[D])return!1}else for(var b=v[0].length,D=0;D<C;D++)for(var S=0;S<b;S++)if(v[D][S]!==y[D][S])return!1;return!0}function f(v,y,p,C,D,b,S,L,w){var P=v.length;if(w==1)for(var I=0;I<P;I++)L[I]=s(v[I],y[I],p[I],C[I],D,b,S);else for(var R=v[0].length,I=0;I<P;I++)for(var B=0;B<R;B++)L[I][B]=s(v[I][B],y[I][B],p[I][B],C[I][B],D,b,S)}function s(v,y,p,C,D,b,S){var L=(p-v)*.5,w=(C-y)*.5;return(2*(y-p)+L+w)*S+(-3*(y-p)-2*L-w)*b+L*D+y}function l(v){if(m(v)){var y=v.length;if(m(v[0])){for(var p=[],C=0;C<y;C++)p.push(x.call(v[C]));return p}return x.call(v)}return v}function d(v){return v[0]=Math.floor(v[0]),v[1]=Math.floor(v[1]),v[2]=Math.floor(v[2]),"rgba("+v.join(",")+")"}function e(v){var y=v[v.length-1].value;return m(y&&y[0])?2:1}function t(v,y,p,C,D,b){var S=v._getter,L=v._setter,w=y==="spline",P=C.length;if(P){var I=C[0].value,R=m(I),B=!1,F=!1,W=R?e(C):0,G;C.sort(function($,se){return $.time-se.time}),G=C[P-1].time;for(var j=[],Y=[],ee=C[0].value,ae=!0,le=0;le<P;le++){j.push(C[le].time/G);var _e=C[le].value;if(R&&a(_e,ee,W)||!R&&_e===ee||(ae=!1),ee=_e,typeof _e=="string"){var he=A.parse(_e);he?(_e=he,B=!0):F=!0}Y.push(_e)}if(!(!b&&ae)){for(var ve=Y[P-1],le=0;le<P-1;le++)R?n(Y[le],ve,W):isNaN(Y[le])&&!isNaN(ve)&&!F&&!B&&(Y[le]=ve);R&&n(S(v._target,D),ve,W);var Ae=0,ge=0,fe,Ee,ue,oe,X,re;if(B)var V=[0,0,0,0];var ne=function($,se){var q;if(se<0)q=0;else if(se<ge){for(fe=Math.min(Ae+1,P-1),q=fe;q>=0&&!(j[q]<=se);q--);q=Math.min(q,P-2)}else{for(q=Ae;q<P&&!(j[q]>se);q++);q=Math.min(q-1,P-2)}Ae=q,ge=se;var ie=j[q+1]-j[q];if(ie!==0)if(Ee=(se-j[q])/ie,w)if(oe=Y[q],ue=Y[q===0?q:q-1],X=Y[q>P-2?P-1:q+1],re=Y[q>P-3?P-1:q+2],R)f(ue,oe,X,re,Ee,Ee*Ee,Ee*Ee*Ee,S($,D),W);else{var de;if(B)de=f(ue,oe,X,re,Ee,Ee*Ee,Ee*Ee*Ee,V,1),de=d(V);else{if(F)return h(oe,X,Ee);de=s(ue,oe,X,re,Ee,Ee*Ee,Ee*Ee*Ee)}L($,D,de)}else if(R)r(Y[q],Y[q+1],Ee,S($,D),W);else{var de;if(B)r(Y[q],Y[q+1],Ee,V,1),de=d(V);else{if(F)return h(Y[q],Y[q+1],Ee);de=u(Y[q],Y[q+1],Ee)}L($,D,de)}},Z=new M({target:v._target,life:G,loop:v._loop,delay:v._delay,onframe:ne,ondestroy:p});return y&&y!=="spline"&&(Z.easing=y),Z}}}var i=function(v,y,p,C){this._tracks={},this._target=v,this._loop=y||!1,this._getter=p||g,this._setter=C||c,this._clipCount=0,this._delay=0,this._doneList=[],this._onframeList=[],this._clipList=[]};i.prototype={when:function(v,y){var p=this._tracks;for(var C in y)if(y.hasOwnProperty(C)){if(!p[C]){p[C]=[];var D=this._getter(this._target,C);if(D==null)continue;v!==0&&p[C].push({time:0,value:l(D)})}p[C].push({time:v,value:y[C]})}return this},during:function(v){return this._onframeList.push(v),this},pause:function(){for(var v=0;v<this._clipList.length;v++)this._clipList[v].pause();this._paused=!0},resume:function(){for(var v=0;v<this._clipList.length;v++)this._clipList[v].resume();this._paused=!1},isPaused:function(){return!!this._paused},_doneCallback:function(){this._tracks={},this._clipList.length=0;for(var v=this._doneList,y=v.length,p=0;p<y;p++)v[p].call(this)},start:function(v,y){var p=this,C=0,D=function(){C--,C||p._doneCallback()},b;for(var S in this._tracks)if(this._tracks.hasOwnProperty(S)){var L=t(this,v,D,this._tracks[S],S,y);L&&(this._clipList.push(L),C++,this.animation&&this.animation.addClip(L),b=L)}if(b){var w=b.onframe;b.onframe=function(P,I){w(P,I);for(var R=0;R<p._onframeList.length;R++)p._onframeList[R](P,I)}}return C||this._doneCallback(),this},stop:function(v){for(var y=this._clipList,p=this.animation,C=0;C<y.length;C++){var D=y[C];v&&D.onframe(this._target,1),p&&p.removeClip(D)}y.length=0},delay:function(v){return this._delay=v,this},done:function(v){return v&&this._doneList.push(v),this},getClips:function(){return this._clipList}};var o=i;K.exports=o},function(K,O,E){var M=E(124);function A(m){this._target=m.target,this._life=m.life||1e3,this._delay=m.delay||0,this._initialized=!1,this.loop=m.loop==null?!1:m.loop,this.gap=m.gap||0,this.easing=m.easing||"Linear",this.onframe=m.onframe,this.ondestroy=m.ondestroy,this.onrestart=m.onrestart,this._pausedTime=0,this._paused=!1}A.prototype={constructor:A,step:function(m,x){if(this._initialized||(this._startTime=m+this._delay,this._initialized=!0),this._paused){this._pausedTime+=x;return}var g=(m-this._startTime-this._pausedTime)/this._life;if(!(g<0)){g=Math.min(g,1);var c=this.easing,u=typeof c=="string"?M[c]:c,h=typeof u=="function"?u(g):g;return this.fire("frame",h),g==1?this.loop?(this.restart(m),"restart"):(this._needsRemove=!0,"destroy"):null}},restart:function(m){var x=(m-this._startTime-this._pausedTime)%this._life;this._startTime=m-x+this.gap,this._pausedTime=0,this._needsRemove=!1},fire:function(m,x){m="on"+m,this[m]&&this[m](this._target,x)},pause:function(){this._paused=!0},resume:function(){this._paused=!1}};var _=A;K.exports=_},function(K,O){var E={linear:function(A){return A},quadraticIn:function(A){return A*A},quadraticOut:function(A){return A*(2-A)},quadraticInOut:function(A){return(A*=2)<1?.5*A*A:-.5*(--A*(A-2)-1)},cubicIn:function(A){return A*A*A},cubicOut:function(A){return--A*A*A+1},cubicInOut:function(A){return(A*=2)<1?.5*A*A*A:.5*((A-=2)*A*A+2)},quarticIn:function(A){return A*A*A*A},quarticOut:function(A){return 1- --A*A*A*A},quarticInOut:function(A){return(A*=2)<1?.5*A*A*A*A:-.5*((A-=2)*A*A*A-2)},quinticIn:function(A){return A*A*A*A*A},quinticOut:function(A){return--A*A*A*A*A+1},quinticInOut:function(A){return(A*=2)<1?.5*A*A*A*A*A:.5*((A-=2)*A*A*A*A+2)},sinusoidalIn:function(A){return 1-Math.cos(A*Math.PI/2)},sinusoidalOut:function(A){return Math.sin(A*Math.PI/2)},sinusoidalInOut:function(A){return .5*(1-Math.cos(Math.PI*A))},exponentialIn:function(A){return A===0?0:Math.pow(1024,A-1)},exponentialOut:function(A){return A===1?1:1-Math.pow(2,-10*A)},exponentialInOut:function(A){return A===0?0:A===1?1:(A*=2)<1?.5*Math.pow(1024,A-1):.5*(-Math.pow(2,-10*(A-1))+2)},circularIn:function(A){return 1-Math.sqrt(1-A*A)},circularOut:function(A){return Math.sqrt(1- --A*A)},circularInOut:function(A){return(A*=2)<1?-.5*(Math.sqrt(1-A*A)-1):.5*(Math.sqrt(1-(A-=2)*A)+1)},elasticIn:function(A){var _,m=.1,x=.4;return A===0?0:A===1?1:(!m||m<1?(m=1,_=x/4):_=x*Math.asin(1/m)/(2*Math.PI),-(m*Math.pow(2,10*(A-=1))*Math.sin((A-_)*(2*Math.PI)/x)))},elasticOut:function(A){var _,m=.1,x=.4;return A===0?0:A===1?1:(!m||m<1?(m=1,_=x/4):_=x*Math.asin(1/m)/(2*Math.PI),m*Math.pow(2,-10*A)*Math.sin((A-_)*(2*Math.PI)/x)+1)},elasticInOut:function(A){var _,m=.1,x=.4;return A===0?0:A===1?1:(!m||m<1?(m=1,_=x/4):_=x*Math.asin(1/m)/(2*Math.PI),(A*=2)<1?-.5*(m*Math.pow(2,10*(A-=1))*Math.sin((A-_)*(2*Math.PI)/x)):m*Math.pow(2,-10*(A-=1))*Math.sin((A-_)*(2*Math.PI)/x)*.5+1)},backIn:function(A){var _=1.70158;return A*A*((_+1)*A-_)},backOut:function(A){var _=1.70158;return--A*A*((_+1)*A+_)+1},backInOut:function(A){var _=2.5949095;return(A*=2)<1?.5*(A*A*((_+1)*A-_)):.5*((A-=2)*A*((_+1)*A+_)+2)},bounceIn:function(A){return 1-E.bounceOut(1-A)},bounceOut:function(A){return A<.36363636363636365?7.5625*A*A:A<.7272727272727273?7.5625*(A-=.5454545454545454)*A+.75:A<.9090909090909091?7.5625*(A-=.8181818181818182)*A+.9375:7.5625*(A-=.9545454545454546)*A+.984375},bounceInOut:function(A){return A<.5?E.bounceIn(A*2)*.5:E.bounceOut(A*2-1)*.5+.5}},M=E;K.exports=M},function(K,O,E){var M=E(53),A={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function _(S){return S=Math.round(S),S<0?0:S>255?255:S}function m(S){return S=Math.round(S),S<0?0:S>360?360:S}function x(S){return S<0?0:S>1?1:S}function g(S){return S.length&&S.charAt(S.length-1)==="%"?_(parseFloat(S)/100*255):_(parseInt(S,10))}function c(S){return S.length&&S.charAt(S.length-1)==="%"?x(parseFloat(S)/100):x(parseFloat(S))}function u(S,L,w){return w<0?w+=1:w>1&&(w-=1),w*6<1?S+(L-S)*w*6:w*2<1?L:w*3<2?S+(L-S)*(2/3-w)*6:S}function h(S,L,w){return S+(L-S)*w}function r(S,L,w,P,I){return S[0]=L,S[1]=w,S[2]=P,S[3]=I,S}function n(S,L){return S[0]=L[0],S[1]=L[1],S[2]=L[2],S[3]=L[3],S}var a=new M(20),f=null;function s(S,L){f&&n(f,L),f=a.put(S,f||L.slice())}function l(S,L){if(S){L=L||[];var w=a.get(S);if(w)return n(L,w);S=S+"";var P=S.replace(/ /g,"").toLowerCase();if(P in A)return n(L,A[P]),s(S,L),L;if(P.charAt(0)==="#"){if(P.length===4){var I=parseInt(P.substr(1),16);if(!(I>=0&&I<=4095)){r(L,0,0,0,1);return}return r(L,(I&3840)>>4|(I&3840)>>8,I&240|(I&240)>>4,I&15|(I&15)<<4,1),s(S,L),L}else if(P.length===7){var I=parseInt(P.substr(1),16);if(!(I>=0&&I<=16777215)){r(L,0,0,0,1);return}return r(L,(I&16711680)>>16,(I&65280)>>8,I&255,1),s(S,L),L}return}var R=P.indexOf("("),B=P.indexOf(")");if(R!==-1&&B+1===P.length){var F=P.substr(0,R),W=P.substr(R+1,B-(R+1)).split(","),G=1;switch(F){case"rgba":if(W.length!==4){r(L,0,0,0,1);return}G=c(W.pop());case"rgb":if(W.length!==3){r(L,0,0,0,1);return}return r(L,g(W[0]),g(W[1]),g(W[2]),G),s(S,L),L;case"hsla":if(W.length!==4){r(L,0,0,0,1);return}return W[3]=c(W[3]),d(W,L),s(S,L),L;case"hsl":if(W.length!==3){r(L,0,0,0,1);return}return d(W,L),s(S,L),L;default:return}}r(L,0,0,0,1)}}function d(S,L){var w=(parseFloat(S[0])%360+360)%360/360,P=c(S[1]),I=c(S[2]),R=I<=.5?I*(P+1):I+P-I*P,B=I*2-R;return L=L||[],r(L,_(u(B,R,w+1/3)*255),_(u(B,R,w)*255),_(u(B,R,w-1/3)*255),1),S.length===4&&(L[3]=S[3]),L}function e(S){if(S){var L=S[0]/255,w=S[1]/255,P=S[2]/255,I=Math.min(L,w,P),R=Math.max(L,w,P),B=R-I,F=(R+I)/2,W,G;if(B===0)W=0,G=0;else{F<.5?G=B/(R+I):G=B/(2-R-I);var j=((R-L)/6+B/2)/B,Y=((R-w)/6+B/2)/B,ee=((R-P)/6+B/2)/B;L===R?W=ee-Y:w===R?W=1/3+j-ee:P===R&&(W=2/3+Y-j),W<0&&(W+=1),W>1&&(W-=1)}var ae=[W*360,G,F];return S[3]!=null&&ae.push(S[3]),ae}}function t(S,L){var w=l(S);if(w){for(var P=0;P<3;P++)L<0?w[P]=w[P]*(1-L)|0:w[P]=(255-w[P])*L+w[P]|0;return b(w,w.length===4?"rgba":"rgb")}}function i(S){var L=l(S);if(L)return((1<<24)+(L[0]<<16)+(L[1]<<8)+ +L[2]).toString(16).slice(1)}function o(S,L,w){if(!(!(L&&L.length)||!(S>=0&&S<=1))){w=w||[];var P=S*(L.length-1),I=Math.floor(P),R=Math.ceil(P),B=L[I],F=L[R],W=P-I;return w[0]=_(h(B[0],F[0],W)),w[1]=_(h(B[1],F[1],W)),w[2]=_(h(B[2],F[2],W)),w[3]=x(h(B[3],F[3],W)),w}}var v=o;function y(S,L,w){if(!(!(L&&L.length)||!(S>=0&&S<=1))){var P=S*(L.length-1),I=Math.floor(P),R=Math.ceil(P),B=l(L[I]),F=l(L[R]),W=P-I,G=b([_(h(B[0],F[0],W)),_(h(B[1],F[1],W)),_(h(B[2],F[2],W)),x(h(B[3],F[3],W))],"rgba");return w?{color:G,leftIndex:I,rightIndex:R,value:P}:G}}var p=y;function C(S,L,w,P){if(S=l(S),S)return S=e(S),L!=null&&(S[0]=m(L)),w!=null&&(S[1]=c(w)),P!=null&&(S[2]=c(P)),b(d(S),"rgba")}function D(S,L){if(S=l(S),S&&L!=null)return S[3]=x(L),b(S,"rgba")}function b(S,L){if(!(!S||!S.length)){var w=S[0]+","+S[1]+","+S[2];return(L==="rgba"||L==="hsva"||L==="hsla")&&(w+=","+S[3]),L+"("+w+")"}}O.parse=l,O.lift=t,O.toHex=i,O.fastLerp=o,O.fastMapToColor=v,O.lerp=y,O.mapToColor=p,O.modifyHSL=C,O.modifyAlpha=D,O.stringify=b},function(K,O,E){"use strict";O.a=`
|
|
@export clay.util.rand
|
|
highp float rand(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, 3.141592653589793);
|
|
return fract(sin(sn) * c);
|
|
}
|
|
@end
|
|
@export clay.util.calculate_attenuation
|
|
uniform float attenuationFactor : 5.0;
|
|
float lightAttenuation(float dist, float range)
|
|
{
|
|
float attenuation = 1.0;
|
|
attenuation = dist*dist/(range*range+1.0);
|
|
float att_s = attenuationFactor;
|
|
attenuation = 1.0/(attenuation*att_s+1.0);
|
|
att_s = 1.0/(att_s+1.0);
|
|
attenuation = attenuation - att_s;
|
|
attenuation /= 1.0 - att_s;
|
|
return clamp(attenuation, 0.0, 1.0);
|
|
}
|
|
@end
|
|
@export clay.util.edge_factor
|
|
float edgeFactor(float width)
|
|
{
|
|
vec3 d = fwidth(v_Barycentric);
|
|
vec3 a3 = smoothstep(vec3(0.0), d * width, v_Barycentric);
|
|
return min(min(a3.x, a3.y), a3.z);
|
|
}
|
|
@end
|
|
@export clay.util.encode_float
|
|
vec4 encodeFloat(const in float depth)
|
|
{
|
|
const vec4 bitShifts = vec4(256.0*256.0*256.0, 256.0*256.0, 256.0, 1.0);
|
|
const vec4 bit_mask = vec4(0.0, 1.0/256.0, 1.0/256.0, 1.0/256.0);
|
|
vec4 res = fract(depth * bitShifts);
|
|
res -= res.xxyz * bit_mask;
|
|
return res;
|
|
}
|
|
@end
|
|
@export clay.util.decode_float
|
|
float decodeFloat(const in vec4 color)
|
|
{
|
|
const vec4 bitShifts = vec4(1.0/(256.0*256.0*256.0), 1.0/(256.0*256.0), 1.0/256.0, 1.0);
|
|
return dot(color, bitShifts);
|
|
}
|
|
@end
|
|
@export clay.util.float
|
|
@import clay.util.encode_float
|
|
@import clay.util.decode_float
|
|
@end
|
|
@export clay.util.rgbm_decode
|
|
vec3 RGBMDecode(vec4 rgbm, float range) {
|
|
return range * rgbm.rgb * rgbm.a;
|
|
}
|
|
@end
|
|
@export clay.util.rgbm_encode
|
|
vec4 RGBMEncode(vec3 color, float range) {
|
|
if (dot(color, color) == 0.0) {
|
|
return vec4(0.0);
|
|
}
|
|
vec4 rgbm;
|
|
color /= range;
|
|
rgbm.a = clamp(max(max(color.r, color.g), max(color.b, 1e-6)), 0.0, 1.0);
|
|
rgbm.a = ceil(rgbm.a * 255.0) / 255.0;
|
|
rgbm.rgb = color / rgbm.a;
|
|
return rgbm;
|
|
}
|
|
@end
|
|
@export clay.util.rgbm
|
|
@import clay.util.rgbm_decode
|
|
@import clay.util.rgbm_encode
|
|
vec4 decodeHDR(vec4 color)
|
|
{
|
|
#if defined(RGBM_DECODE) || defined(RGBM)
|
|
return vec4(RGBMDecode(color, 51.5), 1.0);
|
|
#else
|
|
return color;
|
|
#endif
|
|
}
|
|
vec4 encodeHDR(vec4 color)
|
|
{
|
|
#if defined(RGBM_ENCODE) || defined(RGBM)
|
|
return RGBMEncode(color.xyz, 51.5);
|
|
#else
|
|
return color;
|
|
#endif
|
|
}
|
|
@end
|
|
@export clay.util.srgb
|
|
vec4 sRGBToLinear(in vec4 value) {
|
|
return vec4(mix(pow(value.rgb * 0.9478672986 + vec3(0.0521327014), vec3(2.4)), value.rgb * 0.0773993808, vec3(lessThanEqual(value.rgb, vec3(0.04045)))), value.w);
|
|
}
|
|
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.w);
|
|
}
|
|
@end
|
|
@export clay.chunk.skinning_header
|
|
#ifdef SKINNING
|
|
attribute vec3 weight : WEIGHT;
|
|
attribute vec4 joint : JOINT;
|
|
uniform mat4 skinMatrix[JOINT_COUNT] : SKIN_MATRIX;
|
|
mat4 getSkinMatrix(float idx) {
|
|
return skinMatrix[int(idx)];
|
|
}
|
|
#endif
|
|
@end
|
|
@export clay.chunk.skin_matrix
|
|
mat4 skinMatrixWS = getSkinMatrix(joint.x) * weight.x;
|
|
if (weight.y > 1e-4)
|
|
{
|
|
skinMatrixWS += getSkinMatrix(joint.y) * weight.y;
|
|
}
|
|
if (weight.z > 1e-4)
|
|
{
|
|
skinMatrixWS += getSkinMatrix(joint.z) * weight.z;
|
|
}
|
|
float weightW = 1.0-weight.x-weight.y-weight.z;
|
|
if (weightW > 1e-4)
|
|
{
|
|
skinMatrixWS += getSkinMatrix(joint.w) * weightW;
|
|
}
|
|
@end
|
|
@export clay.util.parallax_correct
|
|
vec3 parallaxCorrect(in vec3 dir, in vec3 pos, in vec3 boxMin, in vec3 boxMax) {
|
|
vec3 first = (boxMax - pos) / dir;
|
|
vec3 second = (boxMin - pos) / dir;
|
|
vec3 further = max(first, second);
|
|
float dist = min(further.x, min(further.y, further.z));
|
|
vec3 fixedPos = pos + dir * dist;
|
|
vec3 boxCenter = (boxMax + boxMin) * 0.5;
|
|
return normalize(fixedPos - boxCenter);
|
|
}
|
|
@end
|
|
@export clay.util.clamp_sample
|
|
vec4 clampSample(const in sampler2D texture, const in vec2 coord)
|
|
{
|
|
#ifdef STEREO
|
|
float eye = step(0.5, coord.x) * 0.5;
|
|
vec2 coordClamped = clamp(coord, vec2(eye, 0.0), vec2(0.5 + eye, 1.0));
|
|
#else
|
|
vec2 coordClamped = clamp(coord, vec2(0.0), vec2(1.0));
|
|
#endif
|
|
return texture2D(texture, coordClamped);
|
|
}
|
|
@end
|
|
@export clay.util.ACES
|
|
vec3 ACESToneMapping(vec3 color)
|
|
{
|
|
const float A = 2.51;
|
|
const float B = 0.03;
|
|
const float C = 2.43;
|
|
const float D = 0.59;
|
|
const float E = 0.14;
|
|
return (color * (A * color + B)) / (color * (C * color + D) + E);
|
|
}
|
|
@end`},function(K,O,E){"use strict";O.a=`
|
|
@export ecgl.common.transformUniforms
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
uniform mat4 worldInverseTranspose : WORLDINVERSETRANSPOSE;
|
|
uniform mat4 world : WORLD;
|
|
@end
|
|
|
|
@export ecgl.common.attributes
|
|
attribute vec3 position : POSITION;
|
|
attribute vec2 texcoord : TEXCOORD_0;
|
|
attribute vec3 normal : NORMAL;
|
|
@end
|
|
|
|
@export ecgl.common.uv.header
|
|
uniform vec2 uvRepeat : [1.0, 1.0];
|
|
uniform vec2 uvOffset : [0.0, 0.0];
|
|
uniform vec2 detailUvRepeat : [1.0, 1.0];
|
|
uniform vec2 detailUvOffset : [0.0, 0.0];
|
|
|
|
varying vec2 v_Texcoord;
|
|
varying vec2 v_DetailTexcoord;
|
|
@end
|
|
|
|
@export ecgl.common.uv.main
|
|
v_Texcoord = texcoord * uvRepeat + uvOffset;
|
|
v_DetailTexcoord = texcoord * detailUvRepeat + detailUvOffset;
|
|
@end
|
|
|
|
@export ecgl.common.uv.fragmentHeader
|
|
varying vec2 v_Texcoord;
|
|
varying vec2 v_DetailTexcoord;
|
|
@end
|
|
|
|
|
|
@export ecgl.common.albedo.main
|
|
|
|
vec4 albedoTexel = vec4(1.0);
|
|
#ifdef DIFFUSEMAP_ENABLED
|
|
albedoTexel = texture2D(diffuseMap, v_Texcoord);
|
|
#ifdef SRGB_DECODE
|
|
albedoTexel = sRGBToLinear(albedoTexel);
|
|
#endif
|
|
#endif
|
|
|
|
#ifdef DETAILMAP_ENABLED
|
|
vec4 detailTexel = texture2D(detailMap, v_DetailTexcoord);
|
|
#ifdef SRGB_DECODE
|
|
detailTexel = sRGBToLinear(detailTexel);
|
|
#endif
|
|
albedoTexel.rgb = mix(albedoTexel.rgb, detailTexel.rgb, detailTexel.a);
|
|
albedoTexel.a = detailTexel.a + (1.0 - detailTexel.a) * albedoTexel.a;
|
|
#endif
|
|
|
|
@end
|
|
|
|
@export ecgl.common.wireframe.vertexHeader
|
|
|
|
#ifdef WIREFRAME_QUAD
|
|
attribute vec4 barycentric;
|
|
varying vec4 v_Barycentric;
|
|
#elif defined(WIREFRAME_TRIANGLE)
|
|
attribute vec3 barycentric;
|
|
varying vec3 v_Barycentric;
|
|
#endif
|
|
|
|
@end
|
|
|
|
@export ecgl.common.wireframe.vertexMain
|
|
|
|
#if defined(WIREFRAME_QUAD) || defined(WIREFRAME_TRIANGLE)
|
|
v_Barycentric = barycentric;
|
|
#endif
|
|
|
|
@end
|
|
|
|
|
|
@export ecgl.common.wireframe.fragmentHeader
|
|
|
|
uniform float wireframeLineWidth : 1;
|
|
uniform vec4 wireframeLineColor: [0, 0, 0, 0.5];
|
|
|
|
#ifdef WIREFRAME_QUAD
|
|
varying vec4 v_Barycentric;
|
|
float edgeFactor () {
|
|
vec4 d = fwidth(v_Barycentric);
|
|
vec4 a4 = smoothstep(vec4(0.0), d * wireframeLineWidth, v_Barycentric);
|
|
return min(min(min(a4.x, a4.y), a4.z), a4.w);
|
|
}
|
|
#elif defined(WIREFRAME_TRIANGLE)
|
|
varying vec3 v_Barycentric;
|
|
float edgeFactor () {
|
|
vec3 d = fwidth(v_Barycentric);
|
|
vec3 a3 = smoothstep(vec3(0.0), d * wireframeLineWidth, v_Barycentric);
|
|
return min(min(a3.x, a3.y), a3.z);
|
|
}
|
|
#endif
|
|
|
|
@end
|
|
|
|
|
|
@export ecgl.common.wireframe.fragmentMain
|
|
|
|
#if defined(WIREFRAME_QUAD) || defined(WIREFRAME_TRIANGLE)
|
|
if (wireframeLineWidth > 0.) {
|
|
vec4 lineColor = wireframeLineColor;
|
|
#ifdef SRGB_DECODE
|
|
lineColor = sRGBToLinear(lineColor);
|
|
#endif
|
|
|
|
gl_FragColor.rgb = mix(gl_FragColor.rgb, lineColor.rgb, (1.0 - edgeFactor()) * lineColor.a);
|
|
}
|
|
#endif
|
|
@end
|
|
|
|
|
|
|
|
|
|
@export ecgl.common.bumpMap.header
|
|
|
|
#ifdef BUMPMAP_ENABLED
|
|
uniform sampler2D bumpMap;
|
|
uniform float bumpScale : 1.0;
|
|
|
|
|
|
vec3 bumpNormal(vec3 surfPos, vec3 surfNormal, vec3 baseNormal)
|
|
{
|
|
vec2 dSTdx = dFdx(v_Texcoord);
|
|
vec2 dSTdy = dFdy(v_Texcoord);
|
|
|
|
float Hll = bumpScale * texture2D(bumpMap, v_Texcoord).x;
|
|
float dHx = bumpScale * texture2D(bumpMap, v_Texcoord + dSTdx).x - Hll;
|
|
float dHy = bumpScale * texture2D(bumpMap, v_Texcoord + dSTdy).x - Hll;
|
|
|
|
vec3 vSigmaX = dFdx(surfPos);
|
|
vec3 vSigmaY = dFdy(surfPos);
|
|
vec3 vN = surfNormal;
|
|
|
|
vec3 R1 = cross(vSigmaY, vN);
|
|
vec3 R2 = cross(vN, vSigmaX);
|
|
|
|
float fDet = dot(vSigmaX, R1);
|
|
|
|
vec3 vGrad = sign(fDet) * (dHx * R1 + dHy * R2);
|
|
return normalize(abs(fDet) * baseNormal - vGrad);
|
|
|
|
}
|
|
#endif
|
|
|
|
@end
|
|
|
|
@export ecgl.common.normalMap.vertexHeader
|
|
|
|
#ifdef NORMALMAP_ENABLED
|
|
attribute vec4 tangent : TANGENT;
|
|
varying vec3 v_Tangent;
|
|
varying vec3 v_Bitangent;
|
|
#endif
|
|
|
|
@end
|
|
|
|
@export ecgl.common.normalMap.vertexMain
|
|
|
|
#ifdef NORMALMAP_ENABLED
|
|
if (dot(tangent, tangent) > 0.0) {
|
|
v_Tangent = normalize((worldInverseTranspose * vec4(tangent.xyz, 0.0)).xyz);
|
|
v_Bitangent = normalize(cross(v_Normal, v_Tangent) * tangent.w);
|
|
}
|
|
#endif
|
|
|
|
@end
|
|
|
|
|
|
@export ecgl.common.normalMap.fragmentHeader
|
|
|
|
#ifdef NORMALMAP_ENABLED
|
|
uniform sampler2D normalMap;
|
|
varying vec3 v_Tangent;
|
|
varying vec3 v_Bitangent;
|
|
#endif
|
|
|
|
@end
|
|
|
|
@export ecgl.common.normalMap.fragmentMain
|
|
#ifdef NORMALMAP_ENABLED
|
|
if (dot(v_Tangent, v_Tangent) > 0.0) {
|
|
vec3 normalTexel = texture2D(normalMap, v_DetailTexcoord).xyz;
|
|
if (dot(normalTexel, normalTexel) > 0.0) { N = normalTexel * 2.0 - 1.0;
|
|
mat3 tbn = mat3(v_Tangent, v_Bitangent, v_Normal);
|
|
N = normalize(tbn * N);
|
|
}
|
|
}
|
|
#endif
|
|
@end
|
|
|
|
|
|
|
|
@export ecgl.common.vertexAnimation.header
|
|
|
|
#ifdef VERTEX_ANIMATION
|
|
attribute vec3 prevPosition;
|
|
attribute vec3 prevNormal;
|
|
uniform float percent;
|
|
#endif
|
|
|
|
@end
|
|
|
|
@export ecgl.common.vertexAnimation.main
|
|
|
|
#ifdef VERTEX_ANIMATION
|
|
vec3 pos = mix(prevPosition, position, percent);
|
|
vec3 norm = mix(prevNormal, normal, percent);
|
|
#else
|
|
vec3 pos = position;
|
|
vec3 norm = normal;
|
|
#endif
|
|
|
|
@end
|
|
|
|
|
|
@export ecgl.common.ssaoMap.header
|
|
#ifdef SSAOMAP_ENABLED
|
|
uniform sampler2D ssaoMap;
|
|
uniform vec4 viewport : VIEWPORT;
|
|
#endif
|
|
@end
|
|
|
|
@export ecgl.common.ssaoMap.main
|
|
float ao = 1.0;
|
|
#ifdef SSAOMAP_ENABLED
|
|
ao = texture2D(ssaoMap, (gl_FragCoord.xy - viewport.xy) / viewport.zw).r;
|
|
#endif
|
|
@end
|
|
|
|
|
|
|
|
|
|
@export ecgl.common.diffuseLayer.header
|
|
|
|
#if (LAYER_DIFFUSEMAP_COUNT > 0)
|
|
uniform float layerDiffuseIntensity[LAYER_DIFFUSEMAP_COUNT];
|
|
uniform sampler2D layerDiffuseMap[LAYER_DIFFUSEMAP_COUNT];
|
|
#endif
|
|
|
|
@end
|
|
|
|
@export ecgl.common.emissiveLayer.header
|
|
|
|
#if (LAYER_EMISSIVEMAP_COUNT > 0)
|
|
uniform float layerEmissionIntensity[LAYER_EMISSIVEMAP_COUNT];
|
|
uniform sampler2D layerEmissiveMap[LAYER_EMISSIVEMAP_COUNT];
|
|
#endif
|
|
|
|
@end
|
|
|
|
@export ecgl.common.layers.header
|
|
@import ecgl.common.diffuseLayer.header
|
|
@import ecgl.common.emissiveLayer.header
|
|
@end
|
|
|
|
@export ecgl.common.diffuseLayer.main
|
|
|
|
#if (LAYER_DIFFUSEMAP_COUNT > 0)
|
|
for (int _idx_ = 0; _idx_ < LAYER_DIFFUSEMAP_COUNT; _idx_++) {{
|
|
float intensity = layerDiffuseIntensity[_idx_];
|
|
vec4 texel2 = texture2D(layerDiffuseMap[_idx_], v_Texcoord);
|
|
#ifdef SRGB_DECODE
|
|
texel2 = sRGBToLinear(texel2);
|
|
#endif
|
|
albedoTexel.rgb = mix(albedoTexel.rgb, texel2.rgb * intensity, texel2.a);
|
|
albedoTexel.a = texel2.a + (1.0 - texel2.a) * albedoTexel.a;
|
|
}}
|
|
#endif
|
|
|
|
@end
|
|
|
|
@export ecgl.common.emissiveLayer.main
|
|
|
|
#if (LAYER_EMISSIVEMAP_COUNT > 0)
|
|
for (int _idx_ = 0; _idx_ < LAYER_EMISSIVEMAP_COUNT; _idx_++)
|
|
{{
|
|
vec4 texel2 = texture2D(layerEmissiveMap[_idx_], v_Texcoord) * layerEmissionIntensity[_idx_];
|
|
#ifdef SRGB_DECODE
|
|
texel2 = sRGBToLinear(texel2);
|
|
#endif
|
|
float intensity = layerEmissionIntensity[_idx_];
|
|
gl_FragColor.rgb += texel2.rgb * texel2.a * intensity;
|
|
}}
|
|
#endif
|
|
|
|
@end
|
|
`},function(K,O,E){"use strict";O.a=`@export ecgl.color.vertex
|
|
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
|
|
@import ecgl.common.uv.header
|
|
|
|
attribute vec2 texcoord : TEXCOORD_0;
|
|
attribute vec3 position: POSITION;
|
|
|
|
@import ecgl.common.wireframe.vertexHeader
|
|
|
|
#ifdef VERTEX_COLOR
|
|
attribute vec4 a_Color : COLOR;
|
|
varying vec4 v_Color;
|
|
#endif
|
|
|
|
#ifdef VERTEX_ANIMATION
|
|
attribute vec3 prevPosition;
|
|
uniform float percent : 1.0;
|
|
#endif
|
|
|
|
void main()
|
|
{
|
|
#ifdef VERTEX_ANIMATION
|
|
vec3 pos = mix(prevPosition, position, percent);
|
|
#else
|
|
vec3 pos = position;
|
|
#endif
|
|
|
|
gl_Position = worldViewProjection * vec4(pos, 1.0);
|
|
|
|
@import ecgl.common.uv.main
|
|
|
|
#ifdef VERTEX_COLOR
|
|
v_Color = a_Color;
|
|
#endif
|
|
|
|
@import ecgl.common.wireframe.vertexMain
|
|
|
|
}
|
|
|
|
@end
|
|
|
|
@export ecgl.color.fragment
|
|
|
|
#define LAYER_DIFFUSEMAP_COUNT 0
|
|
#define LAYER_EMISSIVEMAP_COUNT 0
|
|
|
|
uniform sampler2D diffuseMap;
|
|
uniform sampler2D detailMap;
|
|
|
|
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
|
|
|
|
#ifdef VERTEX_COLOR
|
|
varying vec4 v_Color;
|
|
#endif
|
|
|
|
@import ecgl.common.layers.header
|
|
|
|
@import ecgl.common.uv.fragmentHeader
|
|
|
|
@import ecgl.common.wireframe.fragmentHeader
|
|
|
|
@import clay.util.srgb
|
|
|
|
void main()
|
|
{
|
|
#ifdef SRGB_DECODE
|
|
gl_FragColor = sRGBToLinear(color);
|
|
#else
|
|
gl_FragColor = color;
|
|
#endif
|
|
|
|
#ifdef VERTEX_COLOR
|
|
gl_FragColor *= v_Color;
|
|
#endif
|
|
|
|
@import ecgl.common.albedo.main
|
|
|
|
@import ecgl.common.diffuseLayer.main
|
|
|
|
gl_FragColor *= albedoTexel;
|
|
|
|
@import ecgl.common.emissiveLayer.main
|
|
|
|
@import ecgl.common.wireframe.fragmentMain
|
|
|
|
}
|
|
@end`},function(K,O,E){"use strict";O.a=`/**
|
|
* http: */
|
|
|
|
@export ecgl.lambert.vertex
|
|
|
|
@import ecgl.common.transformUniforms
|
|
|
|
@import ecgl.common.uv.header
|
|
|
|
|
|
@import ecgl.common.attributes
|
|
|
|
@import ecgl.common.wireframe.vertexHeader
|
|
|
|
#ifdef VERTEX_COLOR
|
|
attribute vec4 a_Color : COLOR;
|
|
varying vec4 v_Color;
|
|
#endif
|
|
|
|
|
|
@import ecgl.common.vertexAnimation.header
|
|
|
|
|
|
varying vec3 v_Normal;
|
|
varying vec3 v_WorldPosition;
|
|
|
|
void main()
|
|
{
|
|
@import ecgl.common.uv.main
|
|
|
|
@import ecgl.common.vertexAnimation.main
|
|
|
|
|
|
gl_Position = worldViewProjection * vec4(pos, 1.0);
|
|
|
|
v_Normal = normalize((worldInverseTranspose * vec4(norm, 0.0)).xyz);
|
|
v_WorldPosition = (world * vec4(pos, 1.0)).xyz;
|
|
|
|
#ifdef VERTEX_COLOR
|
|
v_Color = a_Color;
|
|
#endif
|
|
|
|
@import ecgl.common.wireframe.vertexMain
|
|
}
|
|
|
|
@end
|
|
|
|
|
|
@export ecgl.lambert.fragment
|
|
|
|
#define LAYER_DIFFUSEMAP_COUNT 0
|
|
#define LAYER_EMISSIVEMAP_COUNT 0
|
|
|
|
#define NORMAL_UP_AXIS 1
|
|
#define NORMAL_FRONT_AXIS 2
|
|
|
|
@import ecgl.common.uv.fragmentHeader
|
|
|
|
varying vec3 v_Normal;
|
|
varying vec3 v_WorldPosition;
|
|
|
|
uniform sampler2D diffuseMap;
|
|
uniform sampler2D detailMap;
|
|
|
|
@import ecgl.common.layers.header
|
|
|
|
uniform float emissionIntensity: 1.0;
|
|
|
|
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
|
|
|
|
uniform mat4 viewInverse : VIEWINVERSE;
|
|
|
|
#ifdef AMBIENT_LIGHT_COUNT
|
|
@import clay.header.ambient_light
|
|
#endif
|
|
#ifdef AMBIENT_SH_LIGHT_COUNT
|
|
@import clay.header.ambient_sh_light
|
|
#endif
|
|
|
|
#ifdef DIRECTIONAL_LIGHT_COUNT
|
|
@import clay.header.directional_light
|
|
#endif
|
|
|
|
#ifdef VERTEX_COLOR
|
|
varying vec4 v_Color;
|
|
#endif
|
|
|
|
|
|
@import ecgl.common.ssaoMap.header
|
|
|
|
@import ecgl.common.bumpMap.header
|
|
|
|
@import clay.util.srgb
|
|
|
|
@import ecgl.common.wireframe.fragmentHeader
|
|
|
|
@import clay.plugin.compute_shadow_map
|
|
|
|
void main()
|
|
{
|
|
#ifdef SRGB_DECODE
|
|
gl_FragColor = sRGBToLinear(color);
|
|
#else
|
|
gl_FragColor = color;
|
|
#endif
|
|
|
|
#ifdef VERTEX_COLOR
|
|
#ifdef SRGB_DECODE
|
|
gl_FragColor *= sRGBToLinear(v_Color);
|
|
#else
|
|
gl_FragColor *= v_Color;
|
|
#endif
|
|
#endif
|
|
|
|
@import ecgl.common.albedo.main
|
|
|
|
@import ecgl.common.diffuseLayer.main
|
|
|
|
gl_FragColor *= albedoTexel;
|
|
|
|
vec3 N = v_Normal;
|
|
#ifdef DOUBLE_SIDED
|
|
vec3 eyePos = viewInverse[3].xyz;
|
|
vec3 V = normalize(eyePos - v_WorldPosition);
|
|
|
|
if (dot(N, V) < 0.0) {
|
|
N = -N;
|
|
}
|
|
#endif
|
|
|
|
float ambientFactor = 1.0;
|
|
|
|
#ifdef BUMPMAP_ENABLED
|
|
N = bumpNormal(v_WorldPosition, v_Normal, N);
|
|
ambientFactor = dot(v_Normal, N);
|
|
#endif
|
|
|
|
vec3 N2 = vec3(N.x, N[NORMAL_UP_AXIS], N[NORMAL_FRONT_AXIS]);
|
|
|
|
vec3 diffuseColor = vec3(0.0, 0.0, 0.0);
|
|
|
|
@import ecgl.common.ssaoMap.main
|
|
|
|
#ifdef AMBIENT_LIGHT_COUNT
|
|
for(int i = 0; i < AMBIENT_LIGHT_COUNT; i++)
|
|
{
|
|
diffuseColor += ambientLightColor[i] * ambientFactor * ao;
|
|
}
|
|
#endif
|
|
#ifdef AMBIENT_SH_LIGHT_COUNT
|
|
for(int _idx_ = 0; _idx_ < AMBIENT_SH_LIGHT_COUNT; _idx_++)
|
|
{{
|
|
diffuseColor += calcAmbientSHLight(_idx_, N2) * ambientSHLightColor[_idx_] * ao;
|
|
}}
|
|
#endif
|
|
#ifdef DIRECTIONAL_LIGHT_COUNT
|
|
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
|
|
float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];
|
|
if(shadowEnabled)
|
|
{
|
|
computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);
|
|
}
|
|
#endif
|
|
for(int i = 0; i < DIRECTIONAL_LIGHT_COUNT; i++)
|
|
{
|
|
vec3 lightDirection = -directionalLightDirection[i];
|
|
vec3 lightColor = directionalLightColor[i];
|
|
|
|
float shadowContrib = 1.0;
|
|
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
|
|
if (shadowEnabled)
|
|
{
|
|
shadowContrib = shadowContribsDir[i];
|
|
}
|
|
#endif
|
|
|
|
float ndl = dot(N, normalize(lightDirection)) * shadowContrib;
|
|
|
|
diffuseColor += lightColor * clamp(ndl, 0.0, 1.0);
|
|
}
|
|
#endif
|
|
|
|
gl_FragColor.rgb *= diffuseColor;
|
|
|
|
@import ecgl.common.emissiveLayer.main
|
|
|
|
@import ecgl.common.wireframe.fragmentMain
|
|
}
|
|
|
|
@end`},function(K,O,E){"use strict";O.a=`@export ecgl.realistic.vertex
|
|
|
|
@import ecgl.common.transformUniforms
|
|
|
|
@import ecgl.common.uv.header
|
|
|
|
@import ecgl.common.attributes
|
|
|
|
|
|
@import ecgl.common.wireframe.vertexHeader
|
|
|
|
#ifdef VERTEX_COLOR
|
|
attribute vec4 a_Color : COLOR;
|
|
varying vec4 v_Color;
|
|
#endif
|
|
|
|
#ifdef NORMALMAP_ENABLED
|
|
attribute vec4 tangent : TANGENT;
|
|
varying vec3 v_Tangent;
|
|
varying vec3 v_Bitangent;
|
|
#endif
|
|
|
|
@import ecgl.common.vertexAnimation.header
|
|
|
|
varying vec3 v_Normal;
|
|
varying vec3 v_WorldPosition;
|
|
|
|
void main()
|
|
{
|
|
|
|
@import ecgl.common.uv.main
|
|
|
|
@import ecgl.common.vertexAnimation.main
|
|
|
|
gl_Position = worldViewProjection * vec4(pos, 1.0);
|
|
|
|
v_Normal = normalize((worldInverseTranspose * vec4(norm, 0.0)).xyz);
|
|
v_WorldPosition = (world * vec4(pos, 1.0)).xyz;
|
|
|
|
#ifdef VERTEX_COLOR
|
|
v_Color = a_Color;
|
|
#endif
|
|
|
|
#ifdef NORMALMAP_ENABLED
|
|
v_Tangent = normalize((worldInverseTranspose * vec4(tangent.xyz, 0.0)).xyz);
|
|
v_Bitangent = normalize(cross(v_Normal, v_Tangent) * tangent.w);
|
|
#endif
|
|
|
|
@import ecgl.common.wireframe.vertexMain
|
|
|
|
}
|
|
|
|
@end
|
|
|
|
|
|
|
|
@export ecgl.realistic.fragment
|
|
|
|
#define LAYER_DIFFUSEMAP_COUNT 0
|
|
#define LAYER_EMISSIVEMAP_COUNT 0
|
|
#define PI 3.14159265358979
|
|
#define ROUGHNESS_CHANEL 0
|
|
#define METALNESS_CHANEL 1
|
|
|
|
#define NORMAL_UP_AXIS 1
|
|
#define NORMAL_FRONT_AXIS 2
|
|
|
|
#ifdef VERTEX_COLOR
|
|
varying vec4 v_Color;
|
|
#endif
|
|
|
|
@import ecgl.common.uv.fragmentHeader
|
|
|
|
varying vec3 v_Normal;
|
|
varying vec3 v_WorldPosition;
|
|
|
|
uniform sampler2D diffuseMap;
|
|
|
|
uniform sampler2D detailMap;
|
|
uniform sampler2D metalnessMap;
|
|
uniform sampler2D roughnessMap;
|
|
|
|
@import ecgl.common.layers.header
|
|
|
|
uniform float emissionIntensity: 1.0;
|
|
|
|
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
|
|
|
|
uniform float metalness : 0.0;
|
|
uniform float roughness : 0.5;
|
|
|
|
uniform mat4 viewInverse : VIEWINVERSE;
|
|
|
|
#ifdef AMBIENT_LIGHT_COUNT
|
|
@import clay.header.ambient_light
|
|
#endif
|
|
|
|
#ifdef AMBIENT_SH_LIGHT_COUNT
|
|
@import clay.header.ambient_sh_light
|
|
#endif
|
|
|
|
#ifdef AMBIENT_CUBEMAP_LIGHT_COUNT
|
|
@import clay.header.ambient_cubemap_light
|
|
#endif
|
|
|
|
#ifdef DIRECTIONAL_LIGHT_COUNT
|
|
@import clay.header.directional_light
|
|
#endif
|
|
|
|
@import ecgl.common.normalMap.fragmentHeader
|
|
|
|
@import ecgl.common.ssaoMap.header
|
|
|
|
@import ecgl.common.bumpMap.header
|
|
|
|
@import clay.util.srgb
|
|
|
|
@import clay.util.rgbm
|
|
|
|
@import ecgl.common.wireframe.fragmentHeader
|
|
|
|
@import clay.plugin.compute_shadow_map
|
|
|
|
vec3 F_Schlick(float ndv, vec3 spec) {
|
|
return spec + (1.0 - spec) * pow(1.0 - ndv, 5.0);
|
|
}
|
|
|
|
float D_Phong(float g, float ndh) {
|
|
float a = pow(8192.0, g);
|
|
return (a + 2.0) / 8.0 * pow(ndh, a);
|
|
}
|
|
|
|
void main()
|
|
{
|
|
vec4 albedoColor = color;
|
|
|
|
vec3 eyePos = viewInverse[3].xyz;
|
|
vec3 V = normalize(eyePos - v_WorldPosition);
|
|
#ifdef VERTEX_COLOR
|
|
#ifdef SRGB_DECODE
|
|
albedoColor *= sRGBToLinear(v_Color);
|
|
#else
|
|
albedoColor *= v_Color;
|
|
#endif
|
|
#endif
|
|
|
|
@import ecgl.common.albedo.main
|
|
|
|
@import ecgl.common.diffuseLayer.main
|
|
|
|
albedoColor *= albedoTexel;
|
|
|
|
float m = metalness;
|
|
|
|
#ifdef METALNESSMAP_ENABLED
|
|
float m2 = texture2D(metalnessMap, v_DetailTexcoord)[METALNESS_CHANEL];
|
|
m = clamp(m2 + (m - 0.5) * 2.0, 0.0, 1.0);
|
|
#endif
|
|
|
|
vec3 baseColor = albedoColor.rgb;
|
|
albedoColor.rgb = baseColor * (1.0 - m);
|
|
vec3 specFactor = mix(vec3(0.04), baseColor, m);
|
|
|
|
float g = 1.0 - roughness;
|
|
|
|
#ifdef ROUGHNESSMAP_ENABLED
|
|
float g2 = 1.0 - texture2D(roughnessMap, v_DetailTexcoord)[ROUGHNESS_CHANEL];
|
|
g = clamp(g2 + (g - 0.5) * 2.0, 0.0, 1.0);
|
|
#endif
|
|
|
|
vec3 N = v_Normal;
|
|
|
|
#ifdef DOUBLE_SIDED
|
|
if (dot(N, V) < 0.0) {
|
|
N = -N;
|
|
}
|
|
#endif
|
|
|
|
float ambientFactor = 1.0;
|
|
|
|
#ifdef BUMPMAP_ENABLED
|
|
N = bumpNormal(v_WorldPosition, v_Normal, N);
|
|
ambientFactor = dot(v_Normal, N);
|
|
#endif
|
|
|
|
@import ecgl.common.normalMap.fragmentMain
|
|
|
|
vec3 N2 = vec3(N.x, N[NORMAL_UP_AXIS], N[NORMAL_FRONT_AXIS]);
|
|
|
|
vec3 diffuseTerm = vec3(0.0);
|
|
vec3 specularTerm = vec3(0.0);
|
|
|
|
float ndv = clamp(dot(N, V), 0.0, 1.0);
|
|
vec3 fresnelTerm = F_Schlick(ndv, specFactor);
|
|
|
|
@import ecgl.common.ssaoMap.main
|
|
|
|
#ifdef AMBIENT_LIGHT_COUNT
|
|
for(int _idx_ = 0; _idx_ < AMBIENT_LIGHT_COUNT; _idx_++)
|
|
{{
|
|
diffuseTerm += ambientLightColor[_idx_] * ambientFactor * ao;
|
|
}}
|
|
#endif
|
|
|
|
#ifdef AMBIENT_SH_LIGHT_COUNT
|
|
for(int _idx_ = 0; _idx_ < AMBIENT_SH_LIGHT_COUNT; _idx_++)
|
|
{{
|
|
diffuseTerm += calcAmbientSHLight(_idx_, N2) * ambientSHLightColor[_idx_] * ao;
|
|
}}
|
|
#endif
|
|
|
|
#ifdef DIRECTIONAL_LIGHT_COUNT
|
|
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
|
|
float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];
|
|
if(shadowEnabled)
|
|
{
|
|
computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);
|
|
}
|
|
#endif
|
|
for(int _idx_ = 0; _idx_ < DIRECTIONAL_LIGHT_COUNT; _idx_++)
|
|
{{
|
|
vec3 L = -directionalLightDirection[_idx_];
|
|
vec3 lc = directionalLightColor[_idx_];
|
|
|
|
vec3 H = normalize(L + V);
|
|
float ndl = clamp(dot(N, normalize(L)), 0.0, 1.0);
|
|
float ndh = clamp(dot(N, H), 0.0, 1.0);
|
|
|
|
float shadowContrib = 1.0;
|
|
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
|
|
if (shadowEnabled)
|
|
{
|
|
shadowContrib = shadowContribsDir[_idx_];
|
|
}
|
|
#endif
|
|
|
|
vec3 li = lc * ndl * shadowContrib;
|
|
|
|
diffuseTerm += li;
|
|
specularTerm += li * fresnelTerm * D_Phong(g, ndh);
|
|
}}
|
|
#endif
|
|
|
|
|
|
#ifdef AMBIENT_CUBEMAP_LIGHT_COUNT
|
|
vec3 L = reflect(-V, N);
|
|
L = vec3(L.x, L[NORMAL_UP_AXIS], L[NORMAL_FRONT_AXIS]);
|
|
float rough2 = clamp(1.0 - g, 0.0, 1.0);
|
|
float bias2 = rough2 * 5.0;
|
|
vec2 brdfParam2 = texture2D(ambientCubemapLightBRDFLookup[0], vec2(rough2, ndv)).xy;
|
|
vec3 envWeight2 = specFactor * brdfParam2.x + brdfParam2.y;
|
|
vec3 envTexel2;
|
|
for(int _idx_ = 0; _idx_ < AMBIENT_CUBEMAP_LIGHT_COUNT; _idx_++)
|
|
{{
|
|
envTexel2 = RGBMDecode(textureCubeLodEXT(ambientCubemapLightCubemap[_idx_], L, bias2), 51.5);
|
|
specularTerm += ambientCubemapLightColor[_idx_] * envTexel2 * envWeight2 * ao;
|
|
}}
|
|
#endif
|
|
|
|
gl_FragColor.rgb = albedoColor.rgb * diffuseTerm + specularTerm;
|
|
gl_FragColor.a = albedoColor.a;
|
|
|
|
#ifdef SRGB_ENCODE
|
|
gl_FragColor = linearTosRGB(gl_FragColor);
|
|
#endif
|
|
|
|
@import ecgl.common.emissiveLayer.main
|
|
|
|
@import ecgl.common.wireframe.fragmentMain
|
|
}
|
|
|
|
@end`},function(K,O,E){"use strict";O.a=`@export ecgl.hatching.vertex
|
|
|
|
@import ecgl.realistic.vertex
|
|
|
|
@end
|
|
|
|
|
|
@export ecgl.hatching.fragment
|
|
|
|
#define NORMAL_UP_AXIS 1
|
|
#define NORMAL_FRONT_AXIS 2
|
|
|
|
@import ecgl.common.uv.fragmentHeader
|
|
|
|
varying vec3 v_Normal;
|
|
varying vec3 v_WorldPosition;
|
|
|
|
uniform vec4 color : [0.0, 0.0, 0.0, 1.0];
|
|
uniform vec4 paperColor : [1.0, 1.0, 1.0, 1.0];
|
|
|
|
uniform mat4 viewInverse : VIEWINVERSE;
|
|
|
|
#ifdef AMBIENT_LIGHT_COUNT
|
|
@import clay.header.ambient_light
|
|
#endif
|
|
#ifdef AMBIENT_SH_LIGHT_COUNT
|
|
@import clay.header.ambient_sh_light
|
|
#endif
|
|
|
|
#ifdef DIRECTIONAL_LIGHT_COUNT
|
|
@import clay.header.directional_light
|
|
#endif
|
|
|
|
#ifdef VERTEX_COLOR
|
|
varying vec4 v_Color;
|
|
#endif
|
|
|
|
|
|
@import ecgl.common.ssaoMap.header
|
|
|
|
@import ecgl.common.bumpMap.header
|
|
|
|
@import clay.util.srgb
|
|
|
|
@import ecgl.common.wireframe.fragmentHeader
|
|
|
|
@import clay.plugin.compute_shadow_map
|
|
|
|
uniform sampler2D hatch1;
|
|
uniform sampler2D hatch2;
|
|
uniform sampler2D hatch3;
|
|
uniform sampler2D hatch4;
|
|
uniform sampler2D hatch5;
|
|
uniform sampler2D hatch6;
|
|
|
|
float shade(in float tone) {
|
|
vec4 c = vec4(1. ,1., 1., 1.);
|
|
float step = 1. / 6.;
|
|
vec2 uv = v_DetailTexcoord;
|
|
if (tone <= step / 2.0) {
|
|
c = mix(vec4(0.), texture2D(hatch6, uv), 12. * tone);
|
|
}
|
|
else if (tone <= step) {
|
|
c = mix(texture2D(hatch6, uv), texture2D(hatch5, uv), 6. * tone);
|
|
}
|
|
if(tone > step && tone <= 2. * step){
|
|
c = mix(texture2D(hatch5, uv), texture2D(hatch4, uv) , 6. * (tone - step));
|
|
}
|
|
if(tone > 2. * step && tone <= 3. * step){
|
|
c = mix(texture2D(hatch4, uv), texture2D(hatch3, uv), 6. * (tone - 2. * step));
|
|
}
|
|
if(tone > 3. * step && tone <= 4. * step){
|
|
c = mix(texture2D(hatch3, uv), texture2D(hatch2, uv), 6. * (tone - 3. * step));
|
|
}
|
|
if(tone > 4. * step && tone <= 5. * step){
|
|
c = mix(texture2D(hatch2, uv), texture2D(hatch1, uv), 6. * (tone - 4. * step));
|
|
}
|
|
if(tone > 5. * step){
|
|
c = mix(texture2D(hatch1, uv), vec4(1.), 6. * (tone - 5. * step));
|
|
}
|
|
|
|
return c.r;
|
|
}
|
|
|
|
const vec3 w = vec3(0.2125, 0.7154, 0.0721);
|
|
|
|
void main()
|
|
{
|
|
#ifdef SRGB_DECODE
|
|
vec4 inkColor = sRGBToLinear(color);
|
|
#else
|
|
vec4 inkColor = color;
|
|
#endif
|
|
|
|
#ifdef VERTEX_COLOR
|
|
#ifdef SRGB_DECODE
|
|
inkColor *= sRGBToLinear(v_Color);
|
|
#else
|
|
inkColor *= v_Color;
|
|
#endif
|
|
#endif
|
|
|
|
vec3 N = v_Normal;
|
|
#ifdef DOUBLE_SIDED
|
|
vec3 eyePos = viewInverse[3].xyz;
|
|
vec3 V = normalize(eyePos - v_WorldPosition);
|
|
|
|
if (dot(N, V) < 0.0) {
|
|
N = -N;
|
|
}
|
|
#endif
|
|
|
|
float tone = 0.0;
|
|
|
|
float ambientFactor = 1.0;
|
|
|
|
#ifdef BUMPMAP_ENABLED
|
|
N = bumpNormal(v_WorldPosition, v_Normal, N);
|
|
ambientFactor = dot(v_Normal, N);
|
|
#endif
|
|
|
|
vec3 N2 = vec3(N.x, N[NORMAL_UP_AXIS], N[NORMAL_FRONT_AXIS]);
|
|
|
|
@import ecgl.common.ssaoMap.main
|
|
|
|
#ifdef AMBIENT_LIGHT_COUNT
|
|
for(int i = 0; i < AMBIENT_LIGHT_COUNT; i++)
|
|
{
|
|
tone += dot(ambientLightColor[i], w) * ambientFactor * ao;
|
|
}
|
|
#endif
|
|
#ifdef AMBIENT_SH_LIGHT_COUNT
|
|
for(int _idx_ = 0; _idx_ < AMBIENT_SH_LIGHT_COUNT; _idx_++)
|
|
{{
|
|
tone += dot(calcAmbientSHLight(_idx_, N2) * ambientSHLightColor[_idx_], w) * ao;
|
|
}}
|
|
#endif
|
|
#ifdef DIRECTIONAL_LIGHT_COUNT
|
|
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
|
|
float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];
|
|
if(shadowEnabled)
|
|
{
|
|
computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);
|
|
}
|
|
#endif
|
|
for(int i = 0; i < DIRECTIONAL_LIGHT_COUNT; i++)
|
|
{
|
|
vec3 lightDirection = -directionalLightDirection[i];
|
|
float lightTone = dot(directionalLightColor[i], w);
|
|
|
|
float shadowContrib = 1.0;
|
|
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
|
|
if (shadowEnabled)
|
|
{
|
|
shadowContrib = shadowContribsDir[i];
|
|
}
|
|
#endif
|
|
|
|
float ndl = dot(N, normalize(lightDirection)) * shadowContrib;
|
|
|
|
tone += lightTone * clamp(ndl, 0.0, 1.0);
|
|
}
|
|
#endif
|
|
|
|
gl_FragColor = mix(inkColor, paperColor, shade(clamp(tone, 0.0, 1.0)));
|
|
}
|
|
@end
|
|
`},function(K,O,E){"use strict";O.a=`@export ecgl.sm.depth.vertex
|
|
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
|
|
attribute vec3 position : POSITION;
|
|
|
|
#ifdef VERTEX_ANIMATION
|
|
attribute vec3 prevPosition;
|
|
uniform float percent : 1.0;
|
|
#endif
|
|
|
|
varying vec4 v_ViewPosition;
|
|
|
|
void main(){
|
|
|
|
#ifdef VERTEX_ANIMATION
|
|
vec3 pos = mix(prevPosition, position, percent);
|
|
#else
|
|
vec3 pos = position;
|
|
#endif
|
|
|
|
v_ViewPosition = worldViewProjection * vec4(pos, 1.0);
|
|
gl_Position = v_ViewPosition;
|
|
|
|
}
|
|
@end
|
|
|
|
|
|
|
|
@export ecgl.sm.depth.fragment
|
|
|
|
@import clay.sm.depth.fragment
|
|
|
|
@end`},function(K,O,E){"use strict";var M=E(134),A=E(138),_=E(139),m=E(145),x=E(0),g=E.n(x);g.a.registerAction({type:"grid3DChangeCamera",event:"grid3dcamerachanged",update:"series:updateCamera"},function(c,u){u.eachComponent({mainType:"grid3D",query:c},function(h){h.setView(c)})}),g.a.registerAction({type:"grid3DShowAxisPointer",event:"grid3dshowaxispointer",update:"grid3D:showAxisPointer"},function(c,u){}),g.a.registerAction({type:"grid3DHideAxisPointer",event:"grid3dhideaxispointer",update:"grid3D:hideAxisPointer"},function(c,u){})},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(135),m=A.a.extendComponentModel({type:"cartesian3DAxis",axis:null,getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"grid3D",index:this.option.gridIndex,id:this.option.gridId})[0]}});A.a.helper.mixinAxisModelCommonMethods(m);function x(g,c){return c.type||(c.data?"category":"value")}Object(_.a)("x",m,x,{name:"X"}),Object(_.a)("y",m,x,{name:"Y"}),Object(_.a)("z",m,x,{name:"Z"})},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(136),m=E(137),x=E.n(m),g=["value","category","time","log"];O.a=function(c,u,h,r){A.a.util.each(g,function(n){u.extend({type:c+"Axis3D."+n,__ordinalMeta:null,mergeDefaultAndTheme:function(a,f){var s=f.getTheme();A.a.util.merge(a,s.get(n+"Axis3D")),A.a.util.merge(a,this.getDefaultOption()),a.type=h(c,a)},optionUpdated:function(){var a=this.option;a.type==="category"&&(this.__ordinalMeta=x.a.createByAxisModel(this))},getCategories:function(){if(this.option.type==="category")return this.__ordinalMeta.categories},getOrdinalMeta:function(){return this.__ordinalMeta},defaultOption:A.a.util.merge(A.a.util.clone(_.a[n+"Axis3D"]),r||{},!0)})}),u.superClass.registerSubTypeDefaulter(c+"Axis3D",A.a.util.curry(h,c))}},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_={show:!0,grid3DIndex:0,inverse:!1,name:"",nameLocation:"middle",nameTextStyle:{fontSize:16},nameGap:20,axisPointer:{},axisLine:{},axisTick:{},axisLabel:{},splitArea:{}},m=A.a.util.merge({boundaryGap:!0,axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"},axisPointer:{label:{show:!1}}},_),x=A.a.util.merge({boundaryGap:[0,0],splitNumber:5,axisPointer:{label:{}}},_),g=A.a.util.defaults({scale:!0,min:"dataMin",max:"dataMax"},x),c=A.a.util.defaults({logBase:10},x);c.scale=!0,O.a={categoryAxis3D:m,valueAxis3D:x,timeAxis3D:g,logAxis3D:c}},function(K,O,E){var M=E(12),A=M.createHashMap,_=M.isObject,m=M.map;function x(r){this.categories=r.categories||[],this._needCollect=r.needCollect,this._deduplication=r.deduplication,this._map}x.createByAxisModel=function(r){var n=r.option,a=n.data,f=a&&m(a,u);return new x({categories:f,needCollect:!f,deduplication:n.dedplication!==!1})};var g=x.prototype;g.getOrdinal=function(r){return c(this).get(r)},g.parseAndCollect=function(r){var n,a=this._needCollect;if(typeof r!="string"&&!a)return r;if(a&&!this._deduplication)return n=this.categories.length,this.categories[n]=r,n;var f=c(this);return n=f.get(r),n==null&&(a?(n=this.categories.length,this.categories[n]=r,f.set(r,n)):n=NaN),n};function c(r){return r._map||(r._map=A(r.categories))}function u(r){return _(r)&&r.value!=null?r.value:r+""}var h=x;K.exports=h},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(38),m=E(31),x=E(32),g=A.a.extendComponentModel({type:"grid3D",dependencies:["xAxis3D","yAxis3D","zAxis3D"],defaultOption:{show:!0,zlevel:-10,left:0,top:0,width:"100%",height:"100%",environment:"auto",boxWidth:100,boxHeight:100,boxDepth:100,axisPointer:{show:!0,lineStyle:{color:"rgba(0, 0, 0, 0.8)",width:1},label:{show:!0,formatter:null,margin:8,textStyle:{fontSize:14,color:"#fff",backgroundColor:"rgba(0,0,0,0.5)",padding:3,borderRadius:3}}},axisLine:{show:!0,lineStyle:{color:"#333",width:2,type:"solid"}},axisTick:{show:!0,inside:!1,length:3,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,margin:8,textStyle:{fontSize:12}},splitLine:{show:!0,lineStyle:{color:["#ccc"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.3)","rgba(200,200,200,0.3)"]}},light:{main:{alpha:30,beta:40},ambient:{intensity:.4}},viewControl:{alpha:20,beta:40,autoRotate:!1,distance:200,minDistance:40,maxDistance:400}}});A.a.util.merge(g.prototype,_.a),A.a.util.merge(g.prototype,m.a),A.a.util.merge(g.prototype,x.a);var c=g},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(2),m=E(39),x=E(22),g=E(3),c=E(73),u=E(34),h=E(140),r=E(142),n=E(58),a=E(40),f=g.a.firstNotNull;_.a.Shader.import(a.a),["x","y","z"].forEach(function(d){A.a.extendComponentView({type:d+"Axis3D"})});var s={x:0,y:2,z:1},l=A.a.extendComponentView({type:"grid3D",__ecgl__:!0,init:function(d,e){var t=[["y","z","x",-1,"left"],["y","z","x",1,"right"],["x","y","z",-1,"bottom"],["x","y","z",1,"top"],["x","z","y",-1,"far"],["x","z","y",1,"near"]],i=["x","y","z"],o=new _.a.Material({shader:_.a.createShader("ecgl.color"),depthMask:!1,transparent:!0}),v=new _.a.Material({shader:_.a.createShader("ecgl.meshLines3D"),depthMask:!1,transparent:!0});o.define("fragment","DOUBLE_SIDED"),o.define("both","VERTEX_COLOR"),this.groupGL=new _.a.Node,this._control=new m.a({zr:e.getZr()}),this._control.init(),this._faces=t.map(function(p){var C=new h.a(p,v,o);return this.groupGL.add(C.rootNode),C},this),this._axes=i.map(function(p){var C=new r.a(p,v);return this.groupGL.add(C.rootNode),C},this);var y=e.getDevicePixelRatio();this._axisLabelSurface=new c.a({width:256,height:256,devicePixelRatio:y}),this._axisLabelSurface.onupdate=function(){e.getZr().refresh()},this._axisPointerLineMesh=new _.a.Mesh({geometry:new x.a({useNativeLine:!1}),material:v,castShadow:!1,ignorePicking:!0,renderOrder:3}),this.groupGL.add(this._axisPointerLineMesh),this._axisPointerLabelsSurface=new c.a({width:128,height:128,devicePixelRatio:y}),this._axisPointerLabelsMesh=new n.a({ignorePicking:!0,renderOrder:4,castShadow:!1}),this._axisPointerLabelsMesh.material.set("textureAtlas",this._axisPointerLabelsSurface.getTexture()),this.groupGL.add(this._axisPointerLabelsMesh),this._lightRoot=new _.a.Node,this._sceneHelper=new u.a,this._sceneHelper.initLight(this._lightRoot)},render:function(d,e,t){this._model=d,this._api=t;var i=d.coordinateSystem;i.viewGL.add(this._lightRoot),d.get("show")?i.viewGL.add(this.groupGL):i.viewGL.remove(this.groupGL);var o=this._control;o.setViewGL(i.viewGL);var v=d.getModel("viewControl");o.setFromViewControlModel(v,0),this._axisLabelSurface.clear();var y=["x","y","z"].reduce(function(p,C){var D=i.getAxis(C),b=D.model;return p[C]=f(b.get("axisLabel.interval"),d.get("axisLabel.interval")),D.scale.type==="ordinal"&&(p[C]==null||p[C]=="auto")&&(p[C]=Math.floor(D.scale.getTicks().length/8)),p},{});o.off("update"),d.get("show")&&(this._faces.forEach(function(p){p.update(y,d,e,t)},this),this._axes.forEach(function(p){p.update(d,y,this._axisLabelSurface,t)},this)),o.on("update",this._onCameraChange.bind(this,d,t),this),this._sceneHelper.setScene(i.viewGL.scene),this._sceneHelper.updateLight(d),i.viewGL.setPostEffect(d.getModel("postEffect"),t),i.viewGL.setTemporalSuperSampling(d.getModel("temporalSuperSampling")),this._initMouseHandler(d)},afterRender:function(d,e,t,i){var o=i.renderer;this._sceneHelper.updateAmbientCubemap(o,d,t),this._sceneHelper.updateSkybox(o,d,t)},showAxisPointer:function(d,e,t,i){this._doShowAxisPointer(),this._updateAxisPointer(i.value)},hideAxisPointer:function(d,e,t,i){this._doHideAxisPointer()},_initMouseHandler:function(d){var e=d.coordinateSystem,t=e.viewGL;d.get("show")&&d.get("axisPointer.show")?t.on("mousemove",this._updateAxisPointerOnMousePosition,this):t.off("mousemove",this._updateAxisPointerOnMousePosition)},_updateAxisPointerOnMousePosition:function(d){if(!d.target){for(var e=this._model,t=e.coordinateSystem,i=t.viewGL,o=i.castRay(d.offsetX,d.offsetY,new _.a.Ray),v,y=0;y<this._faces.length;y++){var p=this._faces[y];if(!p.rootNode.invisible){p.plane.normal.dot(i.camera.worldTransform.z)<0&&p.plane.normal.negate();var C=o.intersectPlane(p.plane);if(C){var D=t.getAxis(p.faceInfo[0]),b=t.getAxis(p.faceInfo[1]),S=s[p.faceInfo[0]],L=s[p.faceInfo[1]];D.contain(C.array[S])&&b.contain(C.array[L])&&(v=C)}}}if(v){var w=t.pointToData(v.array,[],!0);this._updateAxisPointer(w),this._doShowAxisPointer()}else this._doHideAxisPointer()}},_onCameraChange:function(d,e){d.get("show")&&(this._updateFaceVisibility(),this._updateAxisLinePosition());var t=this._control;e.dispatchAction({type:"grid3DChangeCamera",alpha:t.getAlpha(),beta:t.getBeta(),distance:t.getDistance(),center:t.getCenter(),from:this.uid,grid3DId:d.id})},_updateFaceVisibility:function(){var d=this._control.getCamera(),e=new _.a.Vector3;d.update();for(var t=0;t<this._faces.length/2;t++){for(var i=[],o=0;o<2;o++){var v=this._faces[t*2+o];v.rootNode.getWorldPosition(e),e.transformMat4(d.viewMatrix),i[o]=e.z}var y=i[0]>i[1]?0:1,p=this._faces[t*2+y],C=this._faces[t*2+1-y];p.rootNode.invisible=!0,C.rootNode.invisible=!1}},_updateAxisLinePosition:function(){var d=this._model.coordinateSystem,e=d.getAxis("x"),t=d.getAxis("y"),i=d.getAxis("z"),o=i.getExtentMax(),v=i.getExtentMin(),y=e.getExtentMin(),p=e.getExtentMax(),C=t.getExtentMax(),D=t.getExtentMin(),b=this._axes[0].rootNode,S=this._axes[1].rootNode,L=this._axes[2].rootNode,w=this._faces,P=w[4].rootNode.invisible?D:C,I=w[2].rootNode.invisible?o:v,R=w[0].rootNode.invisible?y:p,B=w[2].rootNode.invisible?o:v,F=w[0].rootNode.invisible?p:y,W=w[4].rootNode.invisible?D:C;b.rotation.identity(),S.rotation.identity(),L.rotation.identity(),w[4].rootNode.invisible&&(this._axes[0].flipped=!0,b.rotation.rotateX(Math.PI)),w[0].rootNode.invisible&&(this._axes[1].flipped=!0,S.rotation.rotateZ(Math.PI)),w[4].rootNode.invisible&&(this._axes[2].flipped=!0,L.rotation.rotateY(Math.PI)),b.position.set(0,I,P),S.position.set(R,B,0),L.position.set(F,0,W),b.update(),S.update(),L.update(),this._updateAxisLabelAlign()},_updateAxisLabelAlign:function(){var d=this._control.getCamera(),e=[new _.a.Vector4,new _.a.Vector4],t=new _.a.Vector4;this.groupGL.getWorldPosition(t),t.w=1,t.transformMat4(d.viewMatrix).transformMat4(d.projectionMatrix),t.x/=t.w,t.y/=t.w,this._axes.forEach(function(i){for(var o=i.axisLineCoords,v=i.labelsMesh.geometry,y=0;y<e.length;y++)e[y].setArray(o[y]),e[y].w=1,e[y].transformMat4(i.rootNode.worldTransform).transformMat4(d.viewMatrix).transformMat4(d.projectionMatrix),e[y].x/=e[y].w,e[y].y/=e[y].w;var p=e[1].x-e[0].x,C=e[1].y-e[0].y,D=(e[1].x+e[0].x)/2,b=(e[1].y+e[0].y)/2,S,L;Math.abs(C/p)<.5?(S="center",L=b>t.y?"bottom":"top"):(L="middle",S=D>t.x?"left":"right"),i.setSpriteAlign(S,L,this._api)},this)},_doShowAxisPointer:function(){this._axisPointerLineMesh.invisible&&(this._axisPointerLineMesh.invisible=!1,this._axisPointerLabelsMesh.invisible=!1,this._api.getZr().refresh())},_doHideAxisPointer:function(){this._axisPointerLineMesh.invisible||(this._axisPointerLineMesh.invisible=!0,this._axisPointerLabelsMesh.invisible=!0,this._api.getZr().refresh())},_updateAxisPointer:function(d){var e=this._model.coordinateSystem,t=e.dataToPoint(d),i=this._axisPointerLineMesh,o=i.geometry,v=this._model.getModel("axisPointer"),y=this._api.getDevicePixelRatio();o.convertToDynamicArray(!0);function p(ae){return g.a.firstNotNull(ae.model.get("axisPointer.show"),v.get("show"))}function C(ae){var le=ae.model.getModel("axisPointer",v),_e=le.getModel("lineStyle"),he=_.a.parseColor(_e.get("color")),ve=f(_e.get("width"),1),Ae=f(_e.get("opacity"),1);return he[3]*=Ae,{color:he,lineWidth:ve}}for(var D=0;D<this._faces.length;D++){var b=this._faces[D];if(!b.rootNode.invisible){for(var S=b.faceInfo,L=S[3]<0?e.getAxis(S[2]).getExtentMin():e.getAxis(S[2]).getExtentMax(),w=s[S[2]],P=0;P<2;P++){var I=S[P],R=S[1-P],B=e.getAxis(I),F=e.getAxis(R);if(p(B)){var W=[0,0,0],G=[0,0,0],j=s[I],Y=s[R];W[j]=G[j]=t[j],W[w]=G[w]=L,W[Y]=F.getExtentMin(),G[Y]=F.getExtentMax();var ee=C(B);o.addLine(W,G,ee.color,ee.lineWidth*y)}}if(p(e.getAxis(S[2]))){var W=t.slice(),G=t.slice();G[w]=L;var ee=C(e.getAxis(S[2]));o.addLine(W,G,ee.color,ee.lineWidth*y)}}}o.convertToTypedArray(),this._updateAxisPointerLabelsMesh(d),this._api.getZr().refresh()},_updateAxisPointerLabelsMesh:function(d){var e=this._model,t=this._axisPointerLabelsMesh,i=this._axisPointerLabelsSurface,o=e.coordinateSystem,v=e.getModel("axisPointer");t.geometry.convertToDynamicArray(!0),i.clear();var y={x:"y",y:"x",z:"y"};this._axes.forEach(function(p,C){var D=o.getAxis(p.dim),b=D.model,S=b.getModel("axisPointer",v),L=S.getModel("label"),w=S.get("lineStyle.color");if(!(!L.get("show")||!S.get("show"))){var P=d[C],I=L.get("formatter"),R=D.scale.getLabel(P);if(I!=null)R=I(R,d);else if(D.scale.type==="interval"||D.scale.type==="log"){var B=A.a.number.getPrecisionSafe(D.scale.getTicks()[0]);R=P.toFixed(B+2)}var F=L.getModel("textStyle"),W=F.get("color"),G=new A.a.graphic.Text;A.a.graphic.setTextStyle(G.style,F,{text:R,textFill:W||w,textAlign:"left",textVerticalAlign:"top"});var j=i.add(G),Y=G.getBoundingRect(),ee=this._api.getDevicePixelRatio(),ae=p.rootNode.position.toArray(),le=s[y[p.dim]];ae[le]+=(p.flipped?-1:1)*L.get("margin"),ae[s[p.dim]]=D.dataToCoord(d[C]),t.geometry.addSprite(ae,[Y.width*ee,Y.height*ee],j,p.textAlign,p.textVerticalAlign)}},this),i.getZr().refreshImmediately(),t.material.set("uvScale",i.getCoordsScale()),t.geometry.convertToTypedArray()},dispose:function(){this.groupGL.removeAll(),this._control.dispose()}})},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(2),m=E(3),x=E(22),g=E(141),c=E(74),u=m.a.firstNotNull,h={x:0,y:2,z:1};function r(a,f,s,l){var d=[0,0,0],e=l<0?s.getExtentMin():s.getExtentMax();d[h[s.dim]]=e,a.position.setArray(d),a.rotation.identity(),f.distance=-Math.abs(e),f.normal.set(0,0,0),s.dim==="x"?(a.rotation.rotateY(l*Math.PI/2),f.normal.x=-l):s.dim==="z"?(a.rotation.rotateX(-l*Math.PI/2),f.normal.y=-l):(l>0&&a.rotation.rotateY(Math.PI),f.normal.z=-l)}function n(a,f,s){this.rootNode=new _.a.Node;var l=new _.a.Mesh({geometry:new x.a({useNativeLine:!1}),material:f,castShadow:!1,ignorePicking:!0,renderOrder:1}),d=new _.a.Mesh({geometry:new g.a,material:s,castShadow:!1,culling:!1,ignorePicking:!0,renderOrder:0});this.rootNode.add(d),this.rootNode.add(l),this.faceInfo=a,this.plane=new _.a.Plane,this.linesMesh=l,this.quadsMesh=d}n.prototype.update=function(a,f,s,l){var d=f.coordinateSystem,e=[d.getAxis(this.faceInfo[0]),d.getAxis(this.faceInfo[1])],t=this.linesMesh.geometry,i=this.quadsMesh.geometry;t.convertToDynamicArray(!0),i.convertToDynamicArray(!0),this._updateSplitLines(t,e,f,a,l),this._udpateSplitAreas(i,e,f,a,l),t.convertToTypedArray(),i.convertToTypedArray();var o=d.getAxis(this.faceInfo[2]);r(this.rootNode,this.plane,o,this.faceInfo[3])},n.prototype._updateSplitLines=function(a,f,s,l,d){var e=d.getDevicePixelRatio();f.forEach(function(t,i){var o=t.model,v=f[1-i].getExtent();if(!t.scale.isBlank()){var y=o.getModel("splitLine",s.getModel("splitLine"));if(y.get("show")){var p=y.getModel("lineStyle"),C=p.get("color"),D=u(p.get("opacity"),1),b=u(p.get("width"),1),S=y.get("interval");(S==null||S==="auto")&&(S=l[t.dim]),C=A.a.util.isArray(C)?C:[C];for(var L=t.getTicksCoords(),w=0,P=0;P<L.length;P++)if(!Object(c.a)(t,P,S)){var I=L[P],R=_.a.parseColor(C[w%C.length]);R[3]*=D;var B=[0,0,0],F=[0,0,0];B[i]=F[i]=I,B[1-i]=v[0],F[1-i]=v[1],a.addLine(B,F,R,b*e),w++}}}})},n.prototype._udpateSplitAreas=function(a,f,s,l,d){f.forEach(function(e,t){var i=e.model,o=f[1-t].getExtent();if(!e.scale.isBlank()){var v=i.getModel("splitArea",s.getModel("splitArea"));if(v.get("show")){var y=v.getModel("areaStyle"),p=y.get("color"),C=u(y.get("opacity"),1),D=v.get("interval");(D==null||D==="auto")&&(D=l[e.dim]),p=A.a.util.isArray(p)?p:[p];for(var b=e.getTicksCoords(),S=0,L=[0,0,0],w=[0,0,0],P=0;P<b.length;P++){var I=b[P],R=[0,0,0],B=[0,0,0];if(R[t]=B[t]=I,R[1-t]=o[0],B[1-t]=o[1],P===0){L=R,w=B;continue}if(!Object(c.a)(e,P,D)){var F=_.a.parseColor(p[S%p.length]);F[3]*=C,a.addQuad([L,R,B,w],F),L=R,w=B,S++}}}}})},O.a=n},function(K,O,E){"use strict";var M=E(13),A=E(0),_=E.n(A),m=E(33),x=E(1),g=E.n(x),c=g.a.vec3,u=M.a.extend(function(){return{segmentScale:1,useNativeLine:!0,attributes:{position:new M.a.Attribute("position","float",3,"POSITION"),normal:new M.a.Attribute("normal","float",3,"NORMAL"),color:new M.a.Attribute("color","float",4,"COLOR")}}},{resetOffset:function(){this._vertexOffset=0,this._faceOffset=0},setQuadCount:function(h){var r=this.attributes,n=this.getQuadVertexCount()*h,a=this.getQuadTriangleCount()*h;this.vertexCount!==n&&(r.position.init(n),r.normal.init(n),r.color.init(n)),this.triangleCount!==a&&(this.indices=n>65535?new Uint32Array(a*3):new Uint16Array(a*3))},getQuadVertexCount:function(){return 4},getQuadTriangleCount:function(){return 2},addQuad:function(){var h=c.create(),r=c.create(),n=c.create(),a=[0,3,1,3,2,1];return function(f,s){var l=this.attributes.position,d=this.attributes.normal,e=this.attributes.color;c.sub(h,f[1],f[0]),c.sub(r,f[2],f[1]),c.cross(n,h,r),c.normalize(n,n);for(var t=0;t<4;t++)l.set(this._vertexOffset+t,f[t]),e.set(this._vertexOffset+t,s),d.set(this._vertexOffset+t,n);for(var i=this._faceOffset*3,t=0;t<6;t++)this.indices[i+t]=a[t]+this._vertexOffset;this._vertexOffset+=4,this._faceOffset+=2}}()});_.a.util.defaults(u.prototype,m.a),O.a=u},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(2),m=E(22),x=E(3),g=E(58),c=E(74),u=x.a.firstNotNull,h={x:0,y:2,z:1};function r(a,f){var s=new _.a.Mesh({geometry:new m.a({useNativeLine:!1}),material:f,castShadow:!1,ignorePicking:!0,renderOrder:2}),l=new g.a;l.material.depthMask=!1;var d=new _.a.Node;d.add(s),d.add(l),this.rootNode=d,this.dim=a,this.linesMesh=s,this.labelsMesh=l,this.axisLineCoords=null,this.labelElements=[]}var n={x:"y",y:"x",z:"y"};r.prototype.update=function(a,f,s,l){var d=a.coordinateSystem,e=d.getAxis(this.dim),t=f[this.dim],i=this.linesMesh.geometry,o=this.labelsMesh.geometry;i.convertToDynamicArray(!0),o.convertToDynamicArray(!0);var v=e.model,y=e.getExtent(),_e=l.getDevicePixelRatio(),p=v.getModel("axisLine",a.getModel("axisLine")),C=v.getModel("axisTick",a.getModel("axisTick")),D=v.getModel("axisLabel",a.getModel("axisLabel")),b=p.get("lineStyle.color");if(p.get("show")){var S=p.getModel("lineStyle"),L=[0,0,0],w=[0,0,0],P=h[e.dim];L[P]=y[0],w[P]=y[1],this.axisLineCoords=[L,w];var I=_.a.parseColor(b),R=u(S.get("width"),1),B=u(S.get("opacity"),1);I[3]*=B,i.addLine(L,w,I,R*_e)}if(C.get("show")){var F=C.getModel("lineStyle"),W=_.a.parseColor(u(F.get("color"),b)),R=u(F.get("width"),1);W[3]*=u(F.get("opacity"),1);var G=e.getTicksCoords(),j=C.get("interval");(j==null||j==="auto")&&(j=t);for(var Y=C.get("length"),ee=0;ee<G.length;ee++)if(!Object(c.a)(e,ee,j)){var ae=G[ee],L=[0,0,0],w=[0,0,0],P=h[e.dim],le=h[n[e.dim]];L[P]=w[P]=ae,w[le]=Y,i.addLine(L,w,W,R*_e)}}this.labelElements=[];var _e=l.getDevicePixelRatio();if(D.get("show")){for(var he=e.getLabelsCoords(),ve=v.get("data"),j=t,Ae=D.get("margin"),ge=v.getFormattedLabels(),fe=e.scale.getTicks(),ee=0;ee<he.length;ee++)if(!Object(c.a)(e,ee,j)){var ae=he[ee],Ee=[0,0,0],P=h[e.dim],le=h[n[e.dim]];Ee[P]=Ee[P]=ae,Ee[le]=Ae;var ue=D;ve&&ve[fe[ee]]&&ve[fe[ee]].textStyle&&(ue=new A.a.Model(ve[fe[ee]].textStyle,D,v.ecModel));var oe=u(ue.get("color"),b),X=new A.a.graphic.Text;A.a.graphic.setTextStyle(X.style,ue,{text:ge[ee],textFill:typeof oe=="function"?oe(e.type==="category"?ge[ee]:e.type==="value"?fe[ee]+"":fe[ee],ee):oe,textVerticalAlign:"top",textAlign:"left"});var re=s.add(X),V=X.getBoundingRect();o.addSprite(Ee,[V.width*_e,V.height*_e],re),this.labelElements.push(X)}}if(v.get("name")){var ne=v.getModel("nameTextStyle"),Ee=[0,0,0],P=h[e.dim],le=h[n[e.dim]],Z=u(ne.get("color"),b),$=ne.get("borderColor"),R=ne.get("borderWidth");Ee[P]=Ee[P]=(y[0]+y[1])/2,Ee[le]=v.get("nameGap");var X=new A.a.graphic.Text;A.a.graphic.setTextStyle(X.style,ne,{text:v.get("name"),textFill:Z,textStroke:$,lineWidth:R});var re=s.add(X),V=X.getBoundingRect();o.addSprite(Ee,[V.width*_e,V.height*_e],re),X.__idx=this.labelElements.length,this.nameLabelElement=X}this.labelsMesh.material.set("textureAtlas",s.getTexture()),this.labelsMesh.material.set("uvScale",s.getCoordsScale()),i.convertToTypedArray(),o.convertToTypedArray()},r.prototype.setSpriteAlign=function(a,f,s){for(var l=s.getDevicePixelRatio(),d=this.labelsMesh.geometry,e=0;e<this.labelElements.length;e++){var t=this.labelElements[e],i=t.getBoundingRect();d.setSpriteAlign(e,[i.width*l,i.height*l],a,f)}var o=this.nameLabelElement;if(o){var i=o.getBoundingRect();d.setSpriteAlign(o.__idx,[i.width*l,i.height*l],a,f),d.dirty()}this.textAlign=a,this.textVerticalAlign=f},O.a=r},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(13),m=E(33),x=[0,1,2,0,2,3],g=_.a.extend(function(){return{attributes:{position:new _.a.Attribute("position","float",3,"POSITION"),texcoord:new _.a.Attribute("texcoord","float",2,"TEXCOORD_0"),offset:new _.a.Attribute("offset","float",2),color:new _.a.Attribute("color","float",4,"COLOR")}}},{resetOffset:function(){this._vertexOffset=0,this._faceOffset=0},setSpriteCount:function(c){this._spriteCount=c;var u=c*4,h=c*2;this.vertexCount!==u&&(this.attributes.position.init(u),this.attributes.offset.init(u),this.attributes.color.init(u)),this.triangleCount!==h&&(this.indices=u>65535?new Uint32Array(h*3):new Uint16Array(h*3))},setSpriteAlign:function(c,u,h,r,n){h==null&&(h="left"),r==null&&(r="top");var a,f,s,l;switch(n=n||0,h){case"left":a=n,s=u[0]+n;break;case"center":case"middle":a=-u[0]/2,s=u[0]/2;break;case"right":a=-u[0]-n,s=-n;break}switch(r){case"bottom":f=n,l=u[1]+n;break;case"middle":f=-u[1]/2,l=u[1]/2;break;case"top":f=-u[1]-n,l=-n;break}var d=c*4,e=this.attributes.offset;e.set(d,[a,l]),e.set(d+1,[s,l]),e.set(d+2,[s,f]),e.set(d+3,[a,f])},addSprite:function(c,u,h,r,n,a){var f=this._vertexOffset;this.setSprite(this._vertexOffset/4,c,u,h,r,n,a);for(var s=0;s<x.length;s++)this.indices[this._faceOffset*3+s]=x[s]+f;return this._faceOffset+=2,this._vertexOffset+=4,f/4},setSprite:function(c,u,h,r,n,a,f){for(var s=c*4,l=this.attributes,d=0;d<4;d++)l.position.set(s+d,u);var e=l.texcoord;e.set(s,[r[0][0],r[0][1]]),e.set(s+1,[r[1][0],r[0][1]]),e.set(s+2,[r[1][0],r[1][1]]),e.set(s+3,[r[0][0],r[1][1]]),this.setSpriteAlign(c,h,n,a,f)}});A.a.util.defaults(g.prototype,m.a),O.a=g},function(K,O,E){"use strict";O.a=`@export ecgl.labels.vertex
|
|
|
|
attribute vec3 position: POSITION;
|
|
attribute vec2 texcoord: TEXCOORD_0;
|
|
attribute vec2 offset;
|
|
#ifdef VERTEX_COLOR
|
|
attribute vec4 a_Color : COLOR;
|
|
varying vec4 v_Color;
|
|
#endif
|
|
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
uniform vec4 viewport : VIEWPORT;
|
|
|
|
varying vec2 v_Texcoord;
|
|
|
|
void main()
|
|
{
|
|
vec4 proj = worldViewProjection * vec4(position, 1.0);
|
|
|
|
vec2 screen = (proj.xy / abs(proj.w) + 1.0) * 0.5 * viewport.zw;
|
|
|
|
screen += offset;
|
|
|
|
proj.xy = (screen / viewport.zw - 0.5) * 2.0 * abs(proj.w);
|
|
gl_Position = proj;
|
|
#ifdef VERTEX_COLOR
|
|
v_Color = a_Color;
|
|
#endif
|
|
v_Texcoord = texcoord;
|
|
}
|
|
@end
|
|
|
|
|
|
@export ecgl.labels.fragment
|
|
|
|
uniform vec3 color : [1.0, 1.0, 1.0];
|
|
uniform float alpha : 1.0;
|
|
uniform sampler2D textureAtlas;
|
|
uniform vec2 uvScale: [1.0, 1.0];
|
|
|
|
#ifdef VERTEX_COLOR
|
|
varying vec4 v_Color;
|
|
#endif
|
|
varying float v_Miter;
|
|
|
|
varying vec2 v_Texcoord;
|
|
|
|
void main()
|
|
{
|
|
gl_FragColor = vec4(color, alpha) * texture2D(textureAtlas, v_Texcoord * uvScale);
|
|
#ifdef VERTEX_COLOR
|
|
gl_FragColor *= v_Color;
|
|
#endif
|
|
}
|
|
|
|
@end`},function(K,O,E){"use strict";var M=E(146),A=E(148),_=E(0),m=E.n(_),x=E(41),g=E.n(x),c=E(20),u=E(3);function h(f,s){var l=f.getBoxLayoutParams(),d=g.a.getLayoutRect(l,{width:s.getWidth(),height:s.getHeight()});d.y=s.getHeight()-d.y-d.height,this.viewGL.setViewport(d.x,d.y,d.width,d.height,s.getDevicePixelRatio());var e=f.get("boxWidth"),t=f.get("boxHeight"),i=f.get("boxDepth");["x","y","z"].forEach(function(o){if(!this.getAxis(o))throw new Error("Grid"+f.id+" don't have "+o+"Axis")},this),this.getAxis("x").setExtent(-e/2,e/2),this.getAxis("y").setExtent(i/2,-i/2),this.getAxis("z").setExtent(-t/2,t/2),this.size=[e,t,i]}function r(f,s){var l={};function d(e,t){l[e]=l[e]||[1/0,-1/0],l[e][0]=Math.min(t[0],l[e][0]),l[e][1]=Math.max(t[1],l[e][1])}f.eachSeries(function(e){if(e.coordinateSystem===this){var t=e.getData();["x","y","z"].forEach(function(i){d(i,t.getDataExtent(e.coordDimToDataDim(i)[0],!0))})}},this),["xAxis3D","yAxis3D","zAxis3D"].forEach(function(e){f.eachComponent(e,function(t){var i=e.charAt(0),o=t.getReferringComponents("grid3D")[0],v=o.coordinateSystem;if(v===this){var y=v.getAxis(i);if(y){console.warn("Can't have two %s in one grid3D",e);return}var p=m.a.helper.createScale(l[i]||[1/0,-1/0],t);y=new A.a(i,p),y.type=t.get("type");var C=y.type==="category";y.onBand=C&&t.get("boundaryGap"),y.inverse=t.get("inverse"),t.axis=y,y.model=t,v.addAxis(y)}},this)},this),this.resize(this.model,s)}var n={dimensions:M.a.prototype.dimensions,create:function(f,s){var l=[];f.eachComponent("grid3D",function(t){t.__viewGL=t.__viewGL||new c.a;var i=new M.a;i.model=t,i.viewGL=t.__viewGL,t.coordinateSystem=i,l.push(i),i.resize=h,i.update=r});var d=["xAxis3D","yAxis3D","zAxis3D"];function e(t,i){return d.map(function(o){var v=t.getReferringComponents(o)[0];if(v==null&&(v=i.getComponent(o)),!v)throw new Error(o+' "'+u.a.firstNotNull(t.get(o+"Index"),t.get(o+"Id"),0)+'" not found');return v})}return f.eachSeries(function(t){if(t.get("coordinateSystem")==="cartesian3D"){var i=t.getReferringComponents("grid3D")[0];if(i==null){var o=e(t,f),i=o[0].getCoordSysModel();o.forEach(function(p){var C=p.getCoordSysModel();if(!C)throw new Error('grid3D "'+u.a.firstNotNull(p.get("gridIndex"),p.get("gridId"),0)+'" not found');if(C!==i)throw new Error("xAxis3D, yAxis3D, zAxis3D must use the same grid")})}var v=i.coordinateSystem;t.coordinateSystem=v}}),l}};m.a.registerCoordinateSystem("grid3D",n);var a=n},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(147),m=E.n(_);function x(g){m.a.call(this,g),this.size=[0,0,0]}x.prototype={constructor:x,type:"cartesian3D",dimensions:["x","y","z"],model:null,containPoint:function(g){return this.getAxis("x").contain(g[0])&&this.getAxis("y").contain(g[2])&&this.getAxis("z").contain(g[1])},containData:function(g){return this.getAxis("x").containData(g[0])&&this.getAxis("y").containData(g[1])&&this.getAxis("z").containData(g[2])},dataToPoint:function(g,c,u){return c=c||[],c[0]=this.getAxis("x").dataToCoord(g[0],u),c[2]=this.getAxis("y").dataToCoord(g[1],u),c[1]=this.getAxis("z").dataToCoord(g[2],u),c},pointToData:function(g,c,u){return c=c||[],c[0]=this.getAxis("x").coordToData(g[0],u),c[1]=this.getAxis("y").coordToData(g[2],u),c[2]=this.getAxis("z").coordToData(g[1],u),c}},A.a.util.inherits(x,m.a),O.a=x},function(K,O,E){var M=E(12);function A(x){return this._axes[x]}var _=function(x){this._axes={},this._dimList=[],this.name=x||""};_.prototype={constructor:_,type:"cartesian",getAxis:function(x){return this._axes[x]},getAxes:function(){return M.map(this._dimList,A,this)},getAxesByScale:function(x){return x=x.toLowerCase(),M.filter(this.getAxes(),function(g){return g.scale.type===x})},addAxis:function(x){var g=x.dim;this._axes[g]=x,this._dimList.push(g)},dataToCoord:function(x){return this._dataCoordConvert(x,"dataToCoord")},coordToData:function(x){return this._dataCoordConvert(x,"coordToData")},_dataCoordConvert:function(x,g){for(var c=this._dimList,u=x instanceof Array?[]:{},h=0;h<c.length;h++){var r=c[h],n=this._axes[r];u[r]=n[g](x[r])}return u}};var m=_;K.exports=m},function(K,O,E){"use strict";var M=E(0),A=E.n(M);function _(m,x,g){A.a.Axis.call(this,m,x,g)}_.prototype={constructor:_,getExtentMin:function(){var m=this._extent;return Math.min(m[0],m[1])},getExtentMax:function(){var m=this._extent;return Math.max(m[0],m[1])}},A.a.util.inherits(_,A.a.Axis),O.a=_},function(K,O,E){var M=E(12),A=E(150),_=E(78);function m(t){return isNaN(t)?"-":(t=(t+"").split("."),t[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(t.length>1?"."+t[1]:""))}function x(t,i){return t=(t||"").toLowerCase().replace(/-(.)/g,function(o,v){return v.toUpperCase()}),i&&t&&(t=t.charAt(0).toUpperCase()+t.slice(1)),t}var g=M.normalizeCssArray;function c(t){return String(t).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}var u=["a","b","c","d","e","f","g"],h=function(t,i){return"{"+t+(i==null?"":i)+"}"};function r(t,i,o){M.isArray(i)||(i=[i]);var v=i.length;if(!v)return"";for(var y=i[0].$vars||[],p=0;p<y.length;p++){var C=u[p];t=t.replace(h(C),h(C,0))}for(var D=0;D<v;D++)for(var b=0;b<y.length;b++){var S=i[D][y[b]];t=t.replace(h(u[b],D),o?c(S):S)}return t}function n(t,i,o){return M.each(i,function(v,y){t=t.replace("{"+y+"}",o?c(v):v)}),t}function a(t,y){t=M.isString(t)?{color:t,extraCssText:y}:t||{};var o=t.color,v=t.type,y=t.extraCssText;return o?v==="subItem"?'<span style="display:inline-block;vertical-align:middle;margin-right:8px;margin-left:3px;border-radius:4px;width:4px;height:4px;background-color:'+c(o)+";"+(y||"")+'"></span>':'<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:'+c(o)+";"+(y||"")+'"></span>':""}var f=function(t){return t<10?"0"+t:t};function s(t,i,o){(t==="week"||t==="month"||t==="quarter"||t==="half-year"||t==="year")&&(t=`MM-dd
|
|
yyyy`);var v=_.parseDate(i),y=o?"UTC":"",p=v["get"+y+"FullYear"](),C=v["get"+y+"Month"]()+1,D=v["get"+y+"Date"](),b=v["get"+y+"Hours"](),S=v["get"+y+"Minutes"](),L=v["get"+y+"Seconds"]();return t=t.replace("MM",f(C)).replace("M",C).replace("yyyy",p).replace("yy",p%100).replace("dd",f(D)).replace("d",D).replace("hh",f(b)).replace("h",b).replace("mm",f(S)).replace("m",S).replace("ss",f(L)).replace("s",L),t}function l(t){return t&&t.charAt(0).toUpperCase()+t.substr(1)}var d=A.truncateText,e=A.getBoundingRect;O.addCommas=m,O.toCamelCase=x,O.normalizeCssArray=g,O.encodeHTML=c,O.formatTpl=r,O.formatTplSimple=n,O.getTooltipMarker=a,O.formatTime=s,O.capitalFirst=l,O.truncateText=d,O.getTextRect=e},function(K,O,E){var M=E(75),A=E(151),_=E(12),m=_.getContext,x=_.extend,g=_.retrieve2,c=_.retrieve3,u={},h=0,r=5e3,n=/\{([a-zA-Z0-9_]+)\|([^}]*)\}/g,a="12px sans-serif",f={};function s(R,B){f[R]=B}function l(R,B){B=B||a;var F=R+":"+B;if(u[F])return u[F];for(var W=(R+"").split(`
|
|
`),G=0,j=0,Y=W.length;j<Y;j++)G=Math.max(S(W[j],B).width,G);return h>r&&(h=0,u={}),h++,u[F]=G,G}function d(R,B,F,W,G,j,Y){return j?t(R,B,F,W,G,j,Y):e(R,B,F,W,G,Y)}function e(R,B,F,W,G,j){var Y=L(R,B,G,j),ee=l(R,B);G&&(ee+=G[1]+G[3]);var ae=Y.outerHeight,le=i(0,ee,F),_e=o(0,ae,W),he=new M(le,_e,ee,ae);return he.lineHeight=Y.lineHeight,he}function t(R,B,F,W,G,j,Y){var ee=w(R,{rich:j,truncate:Y,font:B,textAlign:F,textPadding:G}),ae=ee.outerWidth,le=ee.outerHeight,_e=i(0,ae,F),he=o(0,le,W);return new M(_e,he,ae,le)}function i(R,B,F){return F==="right"?R-=B:F==="center"&&(R-=B/2),R}function o(R,B,F){return F==="middle"?R-=B/2:F==="bottom"&&(R-=B),R}function v(R,B,F){var W=B.x,G=B.y,j=B.height,Y=B.width,ee=j/2,ae="left",le="top";switch(R){case"left":W-=F,G+=ee,ae="right",le="middle";break;case"right":W+=F+Y,G+=ee,le="middle";break;case"top":W+=Y/2,G-=F,ae="center",le="bottom";break;case"bottom":W+=Y/2,G+=j+F,ae="center";break;case"inside":W+=Y/2,G+=ee,ae="center",le="middle";break;case"insideLeft":W+=F,G+=ee,le="middle";break;case"insideRight":W+=Y-F,G+=ee,ae="right",le="middle";break;case"insideTop":W+=Y/2,G+=F,ae="center";break;case"insideBottom":W+=Y/2,G+=j-F,ae="center",le="bottom";break;case"insideTopLeft":W+=F,G+=F;break;case"insideTopRight":W+=Y-F,G+=F,ae="right";break;case"insideBottomLeft":W+=F,G+=j-F,le="bottom";break;case"insideBottomRight":W+=Y-F,G+=j-F,ae="right",le="bottom";break}return{x:W,y:G,textAlign:ae,textVerticalAlign:le}}function y(R,B,F,W,G){if(!B)return"";var j=(R+"").split(`
|
|
`);G=p(B,F,W,G);for(var Y=0,ee=j.length;Y<ee;Y++)j[Y]=C(j[Y],G);return j.join(`
|
|
`)}function p(R,B,G,W){W=x({},W),W.font=B;var G=g(G,"...");W.maxIterations=g(W.maxIterations,2);var j=W.minChar=g(W.minChar,0);W.cnCharWidth=l("\u56FD",B);var Y=W.ascCharWidth=l("a",B);W.placeholder=g(W.placeholder,"");for(var ee=R=Math.max(0,R-1),ae=0;ae<j&&ee>=Y;ae++)ee-=Y;var le=l(G);return le>ee&&(G="",le=0),ee=R-le,W.ellipsis=G,W.ellipsisWidth=le,W.contentWidth=ee,W.containerWidth=R,W}function C(R,B){var F=B.containerWidth,W=B.font,G=B.contentWidth;if(!F)return"";var j=l(R,W);if(j<=F)return R;for(var Y=0;;Y++){if(j<=G||Y>=B.maxIterations){R+=B.ellipsis;break}var ee=Y===0?D(R,G,B.ascCharWidth,B.cnCharWidth):j>0?Math.floor(R.length*G/j):0;R=R.substr(0,ee),j=l(R,W)}return R===""&&(R=B.placeholder),R}function D(R,B,F,W){for(var G=0,j=0,Y=R.length;j<Y&&G<B;j++){var ee=R.charCodeAt(j);G+=0<=ee&&ee<=127?F:W}return j}function b(R){return l("\u56FD",R)}function S(R,B){return f.measureText(R,B)}f.measureText=function(R,B){var F=m();return F.font=B||a,F.measureText(R)};function L(R,B,F,W){R!=null&&(R+="");var G=b(B),j=R?R.split(`
|
|
`):[],Y=j.length*G,ee=Y;if(F&&(ee+=F[0]+F[2]),R&&W){var ae=W.outerHeight,le=W.outerWidth;if(ae!=null&&ee>ae)R="",j=[];else if(le!=null)for(var _e=p(le-(F?F[1]+F[3]:0),B,W.ellipsis,{minChar:W.minChar,placeholder:W.placeholder}),he=0,ve=j.length;he<ve;he++)j[he]=C(j[he],_e)}return{lines:j,height:Y,outerHeight:ee,lineHeight:G}}function w(R,B){var F={lines:[],width:0,height:0};if(R!=null&&(R+=""),!R)return F;for(var W=n.lastIndex=0,G;(G=n.exec(R))!=null;){var j=G.index;j>W&&P(F,R.substring(W,j)),P(F,G[2],G[1]),W=n.lastIndex}W<R.length&&P(F,R.substring(W,R.length));var Y=F.lines,ee=0,ae=0,le=[],_e=B.textPadding,he=B.truncate,ve=he&&he.outerWidth,Ae=he&&he.outerHeight;_e&&(ve!=null&&(ve-=_e[1]+_e[3]),Ae!=null&&(Ae-=_e[0]+_e[2]));for(var ge=0;ge<Y.length;ge++){for(var fe=Y[ge],Ee=0,ue=0,oe=0;oe<fe.tokens.length;oe++){var X=fe.tokens[oe],re=X.styleName&&B.rich[X.styleName]||{},V=X.textPadding=re.textPadding,ne=X.font=re.font||B.font,Z=X.textHeight=g(re.textHeight,b(ne));if(V&&(Z+=V[0]+V[2]),X.height=Z,X.lineHeight=c(re.textLineHeight,B.textLineHeight,Z),X.textAlign=re&&re.textAlign||B.textAlign,X.textVerticalAlign=re&&re.textVerticalAlign||"middle",Ae!=null&&ee+X.lineHeight>Ae)return{lines:[],width:0,height:0};X.textWidth=l(X.text,ne);var $=re.textWidth,se=$==null||$==="auto";if(typeof $=="string"&&$.charAt($.length-1)==="%")X.percentWidth=$,le.push(X),$=0;else{if(se){$=X.textWidth;var q=re.textBackgroundColor,ie=q&&q.image;ie&&(ie=A.findExistImage(ie),A.isImageReady(ie)&&($=Math.max($,ie.width*Z/ie.height)))}var de=V?V[1]+V[3]:0;$+=de;var me=ve!=null?ve-ue:null;me!=null&&me<$&&(!se||me<de?(X.text="",X.textWidth=$=0):(X.text=y(X.text,me-de,ne,he.ellipsis,{minChar:he.minChar}),X.textWidth=l(X.text,ne),$=X.textWidth+de))}ue+=X.width=$,re&&(Ee=Math.max(Ee,X.lineHeight))}fe.width=ue,fe.lineHeight=Ee,ee+=Ee,ae=Math.max(ae,ue)}F.outerWidth=F.width=g(B.textWidth,ae),F.outerHeight=F.height=g(B.textHeight,ee),_e&&(F.outerWidth+=_e[1]+_e[3],F.outerHeight+=_e[0]+_e[2]);for(var ge=0;ge<le.length;ge++){var X=le[ge],Ce=X.percentWidth;X.width=parseInt(Ce,10)/100*ae}return F}function P(R,B,F){for(var W=B==="",G=B.split(`
|
|
`),j=R.lines,Y=0;Y<G.length;Y++){var ee=G[Y],ae={styleName:F,text:ee,isLineHolder:!ee&&!W};if(Y)j.push({tokens:[ae]});else{var le=(j[j.length-1]||(j[0]={tokens:[]})).tokens,_e=le.length;_e===1&&le[0].isLineHolder?le[0]=ae:(ee||!_e||W)&&le.push(ae)}}}function I(R){return(R.fontSize||R.fontFamily)&&[R.fontStyle,R.fontWeight,(R.fontSize||12)+"px",R.fontFamily||"sans-serif"].join(" ")||R.textFont||R.font}O.DEFAULT_FONT=a,O.$override=s,O.getWidth=l,O.getBoundingRect=d,O.adjustTextX=i,O.adjustTextY=o,O.adjustTextPositionOnRect=v,O.truncateText=y,O.getLineHeight=b,O.measureText=S,O.parsePlainText=L,O.parseRichText=w,O.makeFont=I},function(K,O,E){var M=E(53),A=new M(50);function _(c){if(typeof c=="string"){var u=A.get(c);return u&&u.image}else return c}function m(c,u,h,r,n){if(c)if(typeof c=="string"){if(u&&u.__zrImageSrc===c||!h)return u;var a=A.get(c),f={hostEl:h,cb:r,cbPayload:n};return a?(u=a.image,!g(u)&&a.pending.push(f)):(!u&&(u=new Image),u.onload=x,A.put(c,u.__cachedImgObj={image:u,pending:[f]}),u.src=u.__zrImageSrc=c),u}else return c;else return u}function x(){var c=this.__cachedImgObj;this.onload=this.__cachedImgObj=null;for(var u=0;u<c.pending.length;u++){var h=c.pending[u],r=h.cb;r&&r(this,h.cbPayload),h.hostEl.dirty()}c.pending.length=0}function g(c){return c&&c.width&&c.height}O.findExistImage=_,O.createOrUpdateImage=m,O.isImageReady=g},function(K,O,E){"use strict";var M=E(8),A=E(11),_=E(4),m=E(15),x=E(52),g=E(9),c=E(46),u=E(7),h=E(19),r=E(24),n=E(72),a=E(70),f=E(71),s=E(153),l=E(17),d=E(10),e=E(6),t=E(5),i=E(25),o=E(36),v=E(30),y=E(14),p=E(79),C=E(1),D=E.n(C),b=E(154),S=D.a.mat4,L=D.a.vec3,w=["px","nx","py","ny","pz","nz"];u.a.import(b.a);var P=M.a.extend(function(){return{softShadow:P.PCF,shadowBlur:1,lightFrustumBias:"auto",kernelPCF:new Float32Array([1,0,1,1,-1,1,0,1,-1,0,-1,-1,1,-1,0,-1]),precision:"mediump",_lastRenderNotCastShadow:!1,_frameBuffer:new d.a,_textures:{},_shadowMapNumber:{POINT_LIGHT:0,DIRECTIONAL_LIGHT:0,SPOT_LIGHT:0},_depthMaterials:{},_distanceMaterials:{},_opaqueCasters:[],_receivers:[],_lightsCastShadow:[],_lightCameras:{},_lightMaterials:{},_texturePool:new p.a}},function(){this._gaussianPassH=new y.a({fragment:u.a.source("clay.compositor.gaussian_blur")}),this._gaussianPassV=new y.a({fragment:u.a.source("clay.compositor.gaussian_blur")}),this._gaussianPassH.setUniform("blurSize",this.shadowBlur),this._gaussianPassH.setUniform("blurDir",0),this._gaussianPassV.setUniform("blurSize",this.shadowBlur),this._gaussianPassV.setUniform("blurDir",1),this._outputDepthPass=new y.a({fragment:u.a.source("clay.sm.debug_depth")})},{render:function(I,R,B,F){B||(B=R.getMainCamera()),this.trigger("beforerender",this,I,R,B),this._renderShadowPass(I,R,B,F),this.trigger("afterrender",this,I,R,B)},renderDebug:function(I,R){I.saveClear();var B=I.viewport,F=0,W=0,G=R||B.width/4,j=G;this.softShadow===P.VSM?this._outputDepthPass.material.define("fragment","USE_VSM"):this._outputDepthPass.material.undefine("fragment","USE_VSM");for(var Y in this._textures){var ee=this._textures[Y];I.setViewport(F,W,G*ee.width/ee.height,j),this._outputDepthPass.setUniform("depthMap",ee),this._outputDepthPass.render(I),F+=G*ee.width/ee.height}I.setViewport(B),I.restoreClear()},_updateCasterAndReceiver:function(I,R){if(R.castShadow&&this._opaqueCasters.push(R),R.receiveShadow?(this._receivers.push(R),R.material.set("shadowEnabled",1),R.material.set("pcfKernel",this.kernelPCF)):R.material.set("shadowEnabled",0),!R.material.shader&&R.material.updateShader&&R.material.updateShader(I),this.softShadow===P.VSM)R.material.define("fragment","USE_VSM"),R.material.undefine("fragment","PCF_KERNEL_SIZE");else{R.material.undefine("fragment","USE_VSM");var B=this.kernelPCF;B&&B.length?R.material.define("fragment","PCF_KERNEL_SIZE",B.length/2):R.material.undefine("fragment","PCF_KERNEL_SIZE")}},_update:function(I,R){for(var B=0;B<R.opaqueList.length;B++)this._updateCasterAndReceiver(I,R.opaqueList[B]);for(var B=0;B<R.transparentList.length;B++)this._updateCasterAndReceiver(I,R.transparentList[B]);for(var B=0;B<R.lights.length;B++){var F=R.lights[B];F.castShadow&&this._lightsCastShadow.push(F)}},_renderShadowPass:function(I,R,B,F){for(var W in this._shadowMapNumber)this._shadowMapNumber[W]=0;this._lightsCastShadow.length=0,this._opaqueCasters.length=0,this._receivers.length=0;var G=I.gl;if(F||R.update(),B&&B.update(),this._update(I,R),!this._lightsCastShadow.length&&this._lastRenderNotCastShadow)return;this._lastRenderNotCastShadow=this._lightsCastShadow===0,G.enable(G.DEPTH_TEST),G.depthMask(!0),G.disable(G.BLEND),G.clearColor(1,1,1,1);for(var j=[],Y=[],ee=[],ae=[],le=[],_e=[],he,ve=0;ve<this._lightsCastShadow.length;ve++){var Ae=this._lightsCastShadow[ve];if(Ae instanceof a.a){if(he){console.warn("Only one direectional light supported with shadow cascade");continue}if(Ae.shadowCascade>4){console.warn("Support at most 4 cascade");continue}Ae.shadowCascade>1&&(he=Ae.shadowCascade),this.renderDirectionalLightShadow(I,R,B,Ae,this._opaqueCasters,le,ae,ee)}else Ae instanceof n.a?this.renderSpotLightShadow(I,R,Ae,this._opaqueCasters,Y,j):Ae instanceof f.a&&this.renderPointLightShadow(I,R,Ae,this._opaqueCasters,_e);this._shadowMapNumber[Ae.type]++}for(var ge in this._shadowMapNumber)for(var fe=this._shadowMapNumber[ge],Ee=ge+"_SHADOWMAP_COUNT",ve=0;ve<this._receivers.length;ve++){var ue=this._receivers[ve],oe=ue.material;oe.fragmentDefines[Ee]!==fe&&(fe>0?oe.define("fragment",Ee,fe):oe.isDefined("fragment",Ee)&&oe.undefine("fragment",Ee))}for(var ve=0;ve<this._receivers.length;ve++){var ue=this._receivers[ve],oe=ue.material;he?oe.define("fragment","SHADOW_CASCADE",he.shadowCascade):oe.undefine("fragment","SHADOW_CASCADE")}var X=R.shadowUniforms;function re(se){return se.height}if(ee.length>0){var V=ee.map(re);if(X.directionalLightShadowMaps={value:ee,type:"tv"},X.directionalLightMatrices={value:ae,type:"m4v"},X.directionalLightShadowMapSizes={value:V,type:"1fv"},he){var ne=le.slice(),Z=le.slice();ne.pop(),Z.shift(),ne.reverse(),Z.reverse(),ae.reverse(),X.shadowCascadeClipsNear={value:ne,type:"1fv"},X.shadowCascadeClipsFar={value:Z,type:"1fv"}}}if(j.length>0){var $=j.map(re),X=R.shadowUniforms;X.spotLightShadowMaps={value:j,type:"tv"},X.spotLightMatrices={value:Y,type:"m4v"},X.spotLightShadowMapSizes={value:$,type:"1fv"}}_e.length>0&&(X.pointLightShadowMaps={value:_e,type:"tv"})},renderDirectionalLightShadow:function(){var I=new x.a,R=new g.a,B=new m.a,F=new g.a,W=new g.a,G=new g.a,j=new g.a;return function(Y,ee,ae,le,_e,he,ve,Ae){var ge=this._getDepthMaterial(le),fe={getMaterial:function(je){return je.shadowDepthMaterial||ge},sortCompare:c.a.opaqueSortCompare};if(!ee.viewBoundingBoxLastFrame.isFinite()){var Ee=ee.getBoundingBox();ee.viewBoundingBoxLastFrame.copy(Ee).applyTransform(ae.viewMatrix)}var ue=Math.min(-ee.viewBoundingBoxLastFrame.min.z,ae.far),oe=Math.max(-ee.viewBoundingBoxLastFrame.max.z,ae.near),X=this._getDirectionalLightCamera(le,ee,ae),re=G.array;j.copy(X.projectionMatrix),S.invert(W.array,X.worldTransform.array),S.multiply(W.array,W.array,ae.worldTransform.array),S.multiply(re,j.array,W.array);for(var V=[],ne=ae instanceof o.a,Z=(ae.near+ae.far)/(ae.near-ae.far),$=2*ae.near*ae.far/(ae.near-ae.far),se=0;se<=le.shadowCascade;se++){var q=oe*Math.pow(ue/oe,se/le.shadowCascade),ie=oe+(ue-oe)*se/le.shadowCascade,de=q*le.cascadeSplitLogFactor+ie*(1-le.cascadeSplitLogFactor);V.push(de),he.push(-(-de*Z+$)/-de)}var me=this._getTexture(le,le.shadowCascade);Ae.push(me);var Ce=Y.viewport,Oe=Y.gl;this._frameBuffer.attach(me),this._frameBuffer.bind(Y),Oe.clear(Oe.COLOR_BUFFER_BIT|Oe.DEPTH_BUFFER_BIT);for(var se=0;se<le.shadowCascade;se++){var Ne=V[se],we=V[se+1];ne?S.perspective(R.array,ae.fov/180*Math.PI,ae.aspect,Ne,we):S.ortho(R.array,ae.left,ae.right,ae.bottom,ae.top,Ne,we),I.setFromProjection(R),I.getTransformedBoundingBox(B,W),B.applyProjection(j);var ce=B.min.array,ye=B.max.array;ce[0]=Math.max(ce[0],-1),ce[1]=Math.max(ce[1],-1),ye[0]=Math.min(ye[0],1),ye[1]=Math.min(ye[1],1),F.ortho(ce[0],ye[0],ce[1],ye[1],1,-1),X.projectionMatrix.multiplyLeft(F);var Se=le.shadowResolution||512;Y.setViewport((le.shadowCascade-se-1)*Se,0,Se,Se,1),Y.renderPass(_e,X,fe),this.softShadow===P.VSM&&this._gaussianFilter(Y,me,me.width);var xe=new g.a;xe.copy(X.viewMatrix).multiplyLeft(X.projectionMatrix),ve.push(xe.array),X.projectionMatrix.copy(j)}this._frameBuffer.unbind(Y),Y.setViewport(Ce)}}(),renderSpotLightShadow:function(I,R,B,F,W,G){var j=this._getTexture(B),Y=this._getSpotLightCamera(B),ee=I.gl;this._frameBuffer.attach(j),this._frameBuffer.bind(I),ee.clear(ee.COLOR_BUFFER_BIT|ee.DEPTH_BUFFER_BIT);var ae=this._getDepthMaterial(B),le={getMaterial:function(he){return he.shadowDepthMaterial||ae},sortCompare:c.a.opaqueSortCompare};I.renderPass(I.cullRenderList(F,null,Y),Y,le),this._frameBuffer.unbind(I),this.softShadow===P.VSM&&this._gaussianFilter(I,j,j.width);var _e=new g.a;_e.copy(Y.worldTransform).invert().multiplyLeft(Y.projectionMatrix),G.push(j),W.push(_e.array)},renderPointLightShadow:function(I,R,B,F,W){var G=this._getTexture(B),j=I.gl;W.push(G);for(var Y=this._getDepthMaterial(B),ee={getMaterial:function(he){return he.shadowDepthMaterial||Y},sortCompare:c.a.opaqueSortCompare},ae=0;ae<6;ae++){var le=w[ae],_e=this._getPointLightCamera(B,le);this._frameBuffer.attach(G,j.COLOR_ATTACHMENT0,j.TEXTURE_CUBE_MAP_POSITIVE_X+ae),this._frameBuffer.bind(I),j.clear(j.COLOR_BUFFER_BIT|j.DEPTH_BUFFER_BIT),I.renderPass(I.cullRenderList(F,null,_e),_e,ee)}this._frameBuffer.unbind(I)},_getDepthMaterial:function(I){var R=this._lightMaterials[I.__uid__],B=I instanceof f.a;if(!R){var F=B?"clay.sm.distance.":"clay.sm.depth.";R=new l.a({precision:this.precision,shader:new u.a(u.a.source(F+"vertex"),u.a.source(F+"fragment"))}),this._lightMaterials[I.__uid__]=R}return I.shadowSlopeScale!=null&&R.setUniform("slopeScale",I.shadowSlopeScale),I.shadowBias!=null&&R.setUniform("shadowBias",I.shadowBias),this.softShadow===P.VSM?R.define("fragment","USE_VSM"):R.undefine("fragment","USE_VSM"),B&&(R.set("lightPosition",I.getWorldPosition().array),R.set("range",I.range)),R},_gaussianFilter:function(I,R,B){var F={width:B,height:B,type:e.a.FLOAT},W=this._texturePool.get(F);this._frameBuffer.attach(W),this._frameBuffer.bind(I),this._gaussianPassH.setUniform("texture",R),this._gaussianPassH.setUniform("textureWidth",B),this._gaussianPassH.render(I),this._frameBuffer.attach(R),this._gaussianPassV.setUniform("texture",W),this._gaussianPassV.setUniform("textureHeight",B),this._gaussianPassV.render(I),this._frameBuffer.unbind(I),this._texturePool.put(W)},_getTexture:function(I,R){var B=I.__uid__,F=this._textures[B],W=I.shadowResolution||512;return R=R||1,F||(I instanceof f.a?F=new i.a:F=new t.a,F.width=W*R,F.height=W,this.softShadow===P.VSM?(F.type=e.a.FLOAT,F.anisotropic=4):(F.minFilter=A.a.NEAREST,F.magFilter=A.a.NEAREST,F.useMipmap=!1),this._textures[B]=F),F},_getPointLightCamera:function(I,R){this._lightCameras.point||(this._lightCameras.point={px:new o.a,nx:new o.a,py:new o.a,ny:new o.a,pz:new o.a,nz:new o.a});var B=this._lightCameras.point[R];switch(B.far=I.range,B.fov=90,B.position.set(0,0,0),R){case"px":B.lookAt(_.a.POSITIVE_X,_.a.NEGATIVE_Y);break;case"nx":B.lookAt(_.a.NEGATIVE_X,_.a.NEGATIVE_Y);break;case"py":B.lookAt(_.a.POSITIVE_Y,_.a.POSITIVE_Z);break;case"ny":B.lookAt(_.a.NEGATIVE_Y,_.a.NEGATIVE_Z);break;case"pz":B.lookAt(_.a.POSITIVE_Z,_.a.NEGATIVE_Y);break;case"nz":B.lookAt(_.a.NEGATIVE_Z,_.a.NEGATIVE_Y);break}return I.getWorldPosition(B.position),B.update(),B},_getDirectionalLightCamera:function(){var I=new g.a,R=new m.a,B=new m.a;return function(F,W,G){this._lightCameras.directional||(this._lightCameras.directional=new v.a);var j=this._lightCameras.directional;R.copy(W.viewBoundingBoxLastFrame),R.intersection(G.frustum.boundingBox),j.position.copy(R.min).add(R.max).scale(.5).transformMat4(G.worldTransform),j.rotation.copy(F.rotation),j.scale.copy(F.scale),j.updateWorldTransform(),g.a.invert(I,j.worldTransform),g.a.multiply(I,I,G.worldTransform),B.copy(R).applyTransform(I);var Y=B.min.array,ee=B.max.array;return j.position.set((Y[0]+ee[0])/2,(Y[1]+ee[1])/2,ee[2]).transformMat4(j.worldTransform),j.near=0,j.far=-Y[2]+ee[2],isNaN(this.lightFrustumBias)?j.far*=4:j.far+=this.lightFrustumBias,j.left=Y[0],j.right=ee[0],j.top=ee[1],j.bottom=Y[1],j.update(!0),j}}(),_getSpotLightCamera:function(I){this._lightCameras.spot||(this._lightCameras.spot=new o.a);var R=this._lightCameras.spot;return R.fov=I.penumbraAngle*2,R.far=I.range,R.worldTransform.copy(I.worldTransform),R.updateProjectionMatrix(),S.invert(R.viewMatrix.array,R.worldTransform.array),R},dispose:function(I){var R=I.gl||I;this._frameBuffer&&this._frameBuffer.dispose(R);for(var B in this._textures)this._textures[B].dispose(R);this._texturePool.clear(I.gl),this._depthMaterials={},this._distanceMaterials={},this._textures={},this._lightCameras={},this._shadowMapNumber={POINT_LIGHT:0,DIRECTIONAL_LIGHT:0,SPOT_LIGHT:0},this._meshMaterials={};for(var F=0;F<this._receivers.length;F++){var W=this._receivers[F];if(W.material&&W.material.shader){var G=W.material,j=G.shader;j.undefine("fragment","POINT_LIGHT_SHADOW_COUNT"),j.undefine("fragment","DIRECTIONAL_LIGHT_SHADOW_COUNT"),j.undefine("fragment","AMBIENT_LIGHT_SHADOW_COUNT"),G.set("shadowEnabled",0)}}this._opaqueCasters=[],this._receivers=[],this._lightsCastShadow=[]}});P.VSM=1,P.PCF=2,O.a=P},function(K,O,E){"use strict";var M=E(7),A={};function _(){this._pool={}}_.prototype.get=function(c){var u=c;if(this._pool[u])return this._pool[u];var h=A[c];if(!h){console.error('Shader "'+c+'" is not in the library');return}var r=new M.a(h.vertex,h.fragment);return this._pool[u]=r,r},_.prototype.clear=function(){this._pool={}};function m(c,u,h){A[c]={vertex:u,fragment:h}}var x=new _,g={createLibrary:function(){return new _},get:function(){return x.get.apply(x,arguments)},template:m,clear:function(){return x.clear()}}},function(K,O,E){"use strict";O.a=`@export clay.sm.depth.vertex
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
attribute vec3 position : POSITION;
|
|
#ifdef SHADOW_TRANSPARENT
|
|
attribute vec2 texcoord : TEXCOORD_0;
|
|
#endif
|
|
@import clay.chunk.skinning_header
|
|
varying vec4 v_ViewPosition;
|
|
#ifdef SHADOW_TRANSPARENT
|
|
varying vec2 v_Texcoord;
|
|
#endif
|
|
void main(){
|
|
vec3 skinnedPosition = position;
|
|
#ifdef SKINNING
|
|
@import clay.chunk.skin_matrix
|
|
skinnedPosition = (skinMatrixWS * vec4(position, 1.0)).xyz;
|
|
#endif
|
|
v_ViewPosition = worldViewProjection * vec4(skinnedPosition, 1.0);
|
|
gl_Position = v_ViewPosition;
|
|
#ifdef SHADOW_TRANSPARENT
|
|
v_Texcoord = texcoord;
|
|
#endif
|
|
}
|
|
@end
|
|
@export clay.sm.depth.fragment
|
|
varying vec4 v_ViewPosition;
|
|
#ifdef SHADOW_TRANSPARENT
|
|
varying vec2 v_Texcoord;
|
|
#endif
|
|
uniform float bias : 0.001;
|
|
uniform float slopeScale : 1.0;
|
|
#ifdef SHADOW_TRANSPARENT
|
|
uniform sampler2D transparentMap;
|
|
#endif
|
|
@import clay.util.encode_float
|
|
void main(){
|
|
float depth = v_ViewPosition.z / v_ViewPosition.w;
|
|
#ifdef USE_VSM
|
|
depth = depth * 0.5 + 0.5;
|
|
float moment1 = depth;
|
|
float moment2 = depth * depth;
|
|
float dx = dFdx(depth);
|
|
float dy = dFdy(depth);
|
|
moment2 += 0.25*(dx*dx+dy*dy);
|
|
gl_FragColor = vec4(moment1, moment2, 0.0, 1.0);
|
|
#else
|
|
float dx = dFdx(depth);
|
|
float dy = dFdy(depth);
|
|
depth += sqrt(dx*dx + dy*dy) * slopeScale + bias;
|
|
#ifdef SHADOW_TRANSPARENT
|
|
if (texture2D(transparentMap, v_Texcoord).a <= 0.1) {
|
|
gl_FragColor = encodeFloat(0.9999);
|
|
return;
|
|
}
|
|
#endif
|
|
gl_FragColor = encodeFloat(depth * 0.5 + 0.5);
|
|
#endif
|
|
}
|
|
@end
|
|
@export clay.sm.debug_depth
|
|
uniform sampler2D depthMap;
|
|
varying vec2 v_Texcoord;
|
|
@import clay.util.decode_float
|
|
void main() {
|
|
vec4 tex = texture2D(depthMap, v_Texcoord);
|
|
#ifdef USE_VSM
|
|
gl_FragColor = vec4(tex.rgb, 1.0);
|
|
#else
|
|
float depth = decodeFloat(tex);
|
|
gl_FragColor = vec4(depth, depth, depth, 1.0);
|
|
#endif
|
|
}
|
|
@end
|
|
@export clay.sm.distance.vertex
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
uniform mat4 world : WORLD;
|
|
attribute vec3 position : POSITION;
|
|
@import clay.chunk.skinning_header
|
|
varying vec3 v_WorldPosition;
|
|
void main (){
|
|
vec3 skinnedPosition = position;
|
|
#ifdef SKINNING
|
|
@import clay.chunk.skin_matrix
|
|
skinnedPosition = (skinMatrixWS * vec4(position, 1.0)).xyz;
|
|
#endif
|
|
gl_Position = worldViewProjection * vec4(skinnedPosition , 1.0);
|
|
v_WorldPosition = (world * vec4(skinnedPosition, 1.0)).xyz;
|
|
}
|
|
@end
|
|
@export clay.sm.distance.fragment
|
|
uniform vec3 lightPosition;
|
|
uniform float range : 100;
|
|
varying vec3 v_WorldPosition;
|
|
@import clay.util.encode_float
|
|
void main(){
|
|
float dist = distance(lightPosition, v_WorldPosition);
|
|
#ifdef USE_VSM
|
|
gl_FragColor = vec4(dist, dist * dist, 0.0, 0.0);
|
|
#else
|
|
dist = dist / range;
|
|
gl_FragColor = encodeFloat(dist);
|
|
#endif
|
|
}
|
|
@end
|
|
@export clay.plugin.shadow_map_common
|
|
@import clay.util.decode_float
|
|
float tapShadowMap(sampler2D map, vec2 uv, float z){
|
|
vec4 tex = texture2D(map, uv);
|
|
return step(z, decodeFloat(tex) * 2.0 - 1.0);
|
|
}
|
|
float pcf(sampler2D map, vec2 uv, float z, float textureSize, vec2 scale) {
|
|
float shadowContrib = tapShadowMap(map, uv, z);
|
|
vec2 offset = vec2(1.0 / textureSize) * scale;
|
|
#ifdef PCF_KERNEL_SIZE
|
|
for (int _idx_ = 0; _idx_ < PCF_KERNEL_SIZE; _idx_++) {{
|
|
shadowContrib += tapShadowMap(map, uv + offset * pcfKernel[_idx_], z);
|
|
}}
|
|
return shadowContrib / float(PCF_KERNEL_SIZE + 1);
|
|
#else
|
|
shadowContrib += tapShadowMap(map, uv+vec2(offset.x, 0.0), z);
|
|
shadowContrib += tapShadowMap(map, uv+vec2(offset.x, offset.y), z);
|
|
shadowContrib += tapShadowMap(map, uv+vec2(-offset.x, offset.y), z);
|
|
shadowContrib += tapShadowMap(map, uv+vec2(0.0, offset.y), z);
|
|
shadowContrib += tapShadowMap(map, uv+vec2(-offset.x, 0.0), z);
|
|
shadowContrib += tapShadowMap(map, uv+vec2(-offset.x, -offset.y), z);
|
|
shadowContrib += tapShadowMap(map, uv+vec2(offset.x, -offset.y), z);
|
|
shadowContrib += tapShadowMap(map, uv+vec2(0.0, -offset.y), z);
|
|
return shadowContrib / 9.0;
|
|
#endif
|
|
}
|
|
float pcf(sampler2D map, vec2 uv, float z, float textureSize) {
|
|
return pcf(map, uv, z, textureSize, vec2(1.0));
|
|
}
|
|
float chebyshevUpperBound(vec2 moments, float z){
|
|
float p = 0.0;
|
|
z = z * 0.5 + 0.5;
|
|
if (z <= moments.x) {
|
|
p = 1.0;
|
|
}
|
|
float variance = moments.y - moments.x * moments.x;
|
|
variance = max(variance, 0.0000001);
|
|
float mD = moments.x - z;
|
|
float pMax = variance / (variance + mD * mD);
|
|
pMax = clamp((pMax-0.4)/(1.0-0.4), 0.0, 1.0);
|
|
return max(p, pMax);
|
|
}
|
|
float computeShadowContrib(
|
|
sampler2D map, mat4 lightVPM, vec3 position, float textureSize, vec2 scale, vec2 offset
|
|
) {
|
|
vec4 posInLightSpace = lightVPM * vec4(position, 1.0);
|
|
posInLightSpace.xyz /= posInLightSpace.w;
|
|
float z = posInLightSpace.z;
|
|
if(all(greaterThan(posInLightSpace.xyz, vec3(-0.99, -0.99, -1.0))) &&
|
|
all(lessThan(posInLightSpace.xyz, vec3(0.99, 0.99, 1.0)))){
|
|
vec2 uv = (posInLightSpace.xy+1.0) / 2.0;
|
|
#ifdef USE_VSM
|
|
vec2 moments = texture2D(map, uv * scale + offset).xy;
|
|
return chebyshevUpperBound(moments, z);
|
|
#else
|
|
return pcf(map, uv * scale + offset, z, textureSize, scale);
|
|
#endif
|
|
}
|
|
return 1.0;
|
|
}
|
|
float computeShadowContrib(sampler2D map, mat4 lightVPM, vec3 position, float textureSize) {
|
|
return computeShadowContrib(map, lightVPM, position, textureSize, vec2(1.0), vec2(0.0));
|
|
}
|
|
float computeShadowContribOmni(samplerCube map, vec3 direction, float range)
|
|
{
|
|
float dist = length(direction);
|
|
vec4 shadowTex = textureCube(map, direction);
|
|
#ifdef USE_VSM
|
|
vec2 moments = shadowTex.xy;
|
|
float variance = moments.y - moments.x * moments.x;
|
|
float mD = moments.x - dist;
|
|
float p = variance / (variance + mD * mD);
|
|
if(moments.x + 0.001 < dist){
|
|
return clamp(p, 0.0, 1.0);
|
|
}else{
|
|
return 1.0;
|
|
}
|
|
#else
|
|
return step(dist, (decodeFloat(shadowTex) + 0.0002) * range);
|
|
#endif
|
|
}
|
|
@end
|
|
@export clay.plugin.compute_shadow_map
|
|
#if defined(SPOT_LIGHT_SHADOWMAP_COUNT) || defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT) || defined(POINT_LIGHT_SHADOWMAP_COUNT)
|
|
#ifdef SPOT_LIGHT_SHADOWMAP_COUNT
|
|
uniform sampler2D spotLightShadowMaps[SPOT_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
|
|
uniform mat4 spotLightMatrices[SPOT_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
|
|
uniform float spotLightShadowMapSizes[SPOT_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
|
|
#endif
|
|
#ifdef DIRECTIONAL_LIGHT_SHADOWMAP_COUNT
|
|
#if defined(SHADOW_CASCADE)
|
|
uniform sampler2D directionalLightShadowMaps[1]:unconfigurable;
|
|
uniform mat4 directionalLightMatrices[SHADOW_CASCADE]:unconfigurable;
|
|
uniform float directionalLightShadowMapSizes[1]:unconfigurable;
|
|
uniform float shadowCascadeClipsNear[SHADOW_CASCADE]:unconfigurable;
|
|
uniform float shadowCascadeClipsFar[SHADOW_CASCADE]:unconfigurable;
|
|
#else
|
|
uniform sampler2D directionalLightShadowMaps[DIRECTIONAL_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
|
|
uniform mat4 directionalLightMatrices[DIRECTIONAL_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
|
|
uniform float directionalLightShadowMapSizes[DIRECTIONAL_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
|
|
#endif
|
|
#endif
|
|
#ifdef POINT_LIGHT_SHADOWMAP_COUNT
|
|
uniform samplerCube pointLightShadowMaps[POINT_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
|
|
#endif
|
|
uniform bool shadowEnabled : true;
|
|
#ifdef PCF_KERNEL_SIZE
|
|
uniform vec2 pcfKernel[PCF_KERNEL_SIZE];
|
|
#endif
|
|
@import clay.plugin.shadow_map_common
|
|
#if defined(SPOT_LIGHT_SHADOWMAP_COUNT)
|
|
void computeShadowOfSpotLights(vec3 position, inout float shadowContribs[SPOT_LIGHT_COUNT] ) {
|
|
float shadowContrib;
|
|
for(int _idx_ = 0; _idx_ < SPOT_LIGHT_SHADOWMAP_COUNT; _idx_++) {{
|
|
shadowContrib = computeShadowContrib(
|
|
spotLightShadowMaps[_idx_], spotLightMatrices[_idx_], position,
|
|
spotLightShadowMapSizes[_idx_]
|
|
);
|
|
shadowContribs[_idx_] = shadowContrib;
|
|
}}
|
|
for(int _idx_ = SPOT_LIGHT_SHADOWMAP_COUNT; _idx_ < SPOT_LIGHT_COUNT; _idx_++){{
|
|
shadowContribs[_idx_] = 1.0;
|
|
}}
|
|
}
|
|
#endif
|
|
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
|
|
#ifdef SHADOW_CASCADE
|
|
void computeShadowOfDirectionalLights(vec3 position, inout float shadowContribs[DIRECTIONAL_LIGHT_COUNT]){
|
|
float depth = (2.0 * gl_FragCoord.z - gl_DepthRange.near - gl_DepthRange.far)
|
|
/ (gl_DepthRange.far - gl_DepthRange.near);
|
|
float shadowContrib;
|
|
shadowContribs[0] = 1.0;
|
|
for (int _idx_ = 0; _idx_ < SHADOW_CASCADE; _idx_++) {{
|
|
if (
|
|
depth >= shadowCascadeClipsNear[_idx_] &&
|
|
depth <= shadowCascadeClipsFar[_idx_]
|
|
) {
|
|
shadowContrib = computeShadowContrib(
|
|
directionalLightShadowMaps[0], directionalLightMatrices[_idx_], position,
|
|
directionalLightShadowMapSizes[0],
|
|
vec2(1.0 / float(SHADOW_CASCADE), 1.0),
|
|
vec2(float(_idx_) / float(SHADOW_CASCADE), 0.0)
|
|
);
|
|
shadowContribs[0] = shadowContrib;
|
|
}
|
|
}}
|
|
for(int _idx_ = DIRECTIONAL_LIGHT_SHADOWMAP_COUNT; _idx_ < DIRECTIONAL_LIGHT_COUNT; _idx_++) {{
|
|
shadowContribs[_idx_] = 1.0;
|
|
}}
|
|
}
|
|
#else
|
|
void computeShadowOfDirectionalLights(vec3 position, inout float shadowContribs[DIRECTIONAL_LIGHT_COUNT]){
|
|
float shadowContrib;
|
|
for(int _idx_ = 0; _idx_ < DIRECTIONAL_LIGHT_SHADOWMAP_COUNT; _idx_++) {{
|
|
shadowContrib = computeShadowContrib(
|
|
directionalLightShadowMaps[_idx_], directionalLightMatrices[_idx_], position,
|
|
directionalLightShadowMapSizes[_idx_]
|
|
);
|
|
shadowContribs[_idx_] = shadowContrib;
|
|
}}
|
|
for(int _idx_ = DIRECTIONAL_LIGHT_SHADOWMAP_COUNT; _idx_ < DIRECTIONAL_LIGHT_COUNT; _idx_++) {{
|
|
shadowContribs[_idx_] = 1.0;
|
|
}}
|
|
}
|
|
#endif
|
|
#endif
|
|
#if defined(POINT_LIGHT_SHADOWMAP_COUNT)
|
|
void computeShadowOfPointLights(vec3 position, inout float shadowContribs[POINT_LIGHT_COUNT] ){
|
|
vec3 lightPosition;
|
|
vec3 direction;
|
|
for(int _idx_ = 0; _idx_ < POINT_LIGHT_SHADOWMAP_COUNT; _idx_++) {{
|
|
lightPosition = pointLightPosition[_idx_];
|
|
direction = position - lightPosition;
|
|
shadowContribs[_idx_] = computeShadowContribOmni(pointLightShadowMaps[_idx_], direction, pointLightRange[_idx_]);
|
|
}}
|
|
for(int _idx_ = POINT_LIGHT_SHADOWMAP_COUNT; _idx_ < POINT_LIGHT_COUNT; _idx_++) {{
|
|
shadowContribs[_idx_] = 1.0;
|
|
}}
|
|
}
|
|
#endif
|
|
#endif
|
|
@end`},function(K,O,E){"use strict";var M=E(7),A=E(5),_=E(6),m=E(10),x=E(156),g=E(162),c=E(164),u=E(166),h=E(2),r=E(167),n=E(169),a=E(9),f=E(170),s=E(171),l=E(172),d=E(173),e=E(174),t=E(175),i=E(176),o=E(177),v=E(178),y=E(179),p=E(180),C=E(181);M.a.import(s.a),M.a.import(l.a),M.a.import(d.a),M.a.import(e.a),M.a.import(t.a),M.a.import(i.a),M.a.import(o.a),M.a.import(v.a),M.a.import(y.a),M.a.import(p.a),M.a.import(C.a);var D={color:{parameters:{width:function(L){return L.getWidth()},height:function(L){return L.getHeight()}}}},b=["composite","FXAA"];function S(){this._sourceTexture=new A.a({type:_.a.HALF_FLOAT}),this._depthTexture=new A.a({format:_.a.DEPTH_COMPONENT,type:_.a.UNSIGNED_INT}),this._framebuffer=new m.a,this._framebuffer.attach(this._sourceTexture),this._framebuffer.attach(this._depthTexture,m.a.DEPTH_ATTACHMENT),this._normalPass=new r.a,this._compositor=Object(x.a)(f.a);var L=this._compositor.getNodeByName("source");L.texture=this._sourceTexture;var w=this._compositor.getNodeByName("coc");this._sourceNode=L,this._cocNode=w,this._compositeNode=this._compositor.getNodeByName("composite"),this._fxaaNode=this._compositor.getNodeByName("FXAA"),this._dofBlurNodes=["dof_far_blur","dof_near_blur","dof_coc_blur"].map(function(I){return this._compositor.getNodeByName(I)},this),this._dofBlurKernel=0,this._dofBlurKernelSize=new Float32Array(0),this._finalNodesChain=b.map(function(I){return this._compositor.getNodeByName(I)},this);var P={normalTexture:this._normalPass.getNormalTexture(),depthTexture:this._normalPass.getDepthTexture()};this._ssaoPass=new g.a(P),this._ssrPass=new c.a(P),this._edgePass=new n.a(P)}S.prototype.resize=function(I,R,P){P=P||1;var I=I*P,R=R*P,B=this._sourceTexture,F=this._depthTexture;B.width=I,B.height=R,F.width=I,F.height=R},S.prototype._ifRenderNormalPass=function(){return this._enableSSAO||this._enableEdge||this._enableSSR},S.prototype._getPrevNode=function(L){for(var w=b.indexOf(L.name)-1,P=this._finalNodesChain[w];P&&!this._compositor.getNodeByName(P.name);)w-=1,P=this._finalNodesChain[w];return P},S.prototype._getNextNode=function(L){for(var w=b.indexOf(L.name)+1,P=this._finalNodesChain[w];P&&!this._compositor.getNodeByName(P.name);)w+=1,P=this._finalNodesChain[w];return P},S.prototype._addChainNode=function(L){var w=this._getPrevNode(L),P=this._getNextNode(L);w&&(w.outputs=D,L.inputs.texture=w.name,P?(L.outputs=D,P.inputs.texture=L.name):L.outputs=null,this._compositor.addNode(L))},S.prototype._removeChainNode=function(L){var w=this._getPrevNode(L),P=this._getNextNode(L);w&&(P?(w.outputs=D,P.inputs.texture=w.name):w.outputs=null,this._compositor.removeNode(L))},S.prototype.updateNormal=function(L,w,P,I){this._ifRenderNormalPass()&&this._normalPass.update(L,w,P)},S.prototype.updateSSAO=function(L,w,P,I){this._ssaoPass.update(L,P,I)},S.prototype.enableSSAO=function(){this._enableSSAO=!0},S.prototype.disableSSAO=function(){this._enableSSAO=!1},S.prototype.enableSSR=function(){this._enableSSR=!0},S.prototype.disableSSR=function(){this._enableSSR=!1},S.prototype.getSSAOTexture=function(L,w,P,I){return this._ssaoPass.getTargetTexture()},S.prototype.getSourceFrameBuffer=function(){return this._framebuffer},S.prototype.getSourceTexture=function(){return this._sourceTexture},S.prototype.disableFXAA=function(){this._removeChainNode(this._fxaaNode)},S.prototype.enableFXAA=function(){this._addChainNode(this._fxaaNode)},S.prototype.enableBloom=function(){this._compositeNode.inputs.bloom="bloom_composite",this._compositor.dirty()},S.prototype.disableBloom=function(){this._compositeNode.inputs.bloom=null,this._compositor.dirty()},S.prototype.enableDOF=function(){this._compositeNode.inputs.texture="dof_composite",this._compositor.dirty()},S.prototype.disableDOF=function(){this._compositeNode.inputs.texture="source",this._compositor.dirty()},S.prototype.enableColorCorrection=function(){this._compositeNode.define("COLOR_CORRECTION"),this._enableColorCorrection=!0},S.prototype.disableColorCorrection=function(){this._compositeNode.undefine("COLOR_CORRECTION"),this._enableColorCorrection=!1},S.prototype.enableEdge=function(){this._enableEdge=!0},S.prototype.disableEdge=function(){this._enableEdge=!1},S.prototype.setBloomIntensity=function(L){this._compositeNode.setParameter("bloomIntensity",L)},S.prototype.setSSAOParameter=function(L,w){switch(L){case"quality":var P={low:6,medium:12,high:32,ultra:62}[w]||12;this._ssaoPass.setParameter("kernelSize",P);break;case"radius":this._ssaoPass.setParameter(L,w),this._ssaoPass.setParameter("bias",w/200);break;case"intensity":this._ssaoPass.setParameter(L,w);break;default:console.warn("Unkown SSAO parameter "+L)}},S.prototype.setDOFParameter=function(L,w){switch(L){case"focalDistance":case"focalRange":case"fstop":this._cocNode.setParameter(L,w);break;case"blurRadius":for(var P=0;P<this._dofBlurNodes.length;P++)this._dofBlurNodes[P].setParameter("blurRadius",w);break;case"quality":var I={low:4,medium:8,high:16,ultra:32}[w]||8;this._dofBlurKernelSize=I;for(var P=0;P<this._dofBlurNodes.length;P++)this._dofBlurNodes[P].pass.material.define("POISSON_KERNEL_SIZE",I);this._dofBlurKernel=new Float32Array(I*2);break;default:console.warn("Unkown DOF parameter "+L)}},S.prototype.setSSRParameter=function(L,w){switch(L){case"quality":var P={low:10,medium:20,high:40,ultra:80}[w]||20,I={low:32,medium:16,high:8,ultra:4}[w]||16;this._ssrPass.setParameter("maxIteration",P),this._ssrPass.setParameter("pixelStride",I);break;case"maxRoughness":this._ssrPass.setParameter("minGlossiness",Math.max(Math.min(1-w,1),0));break;default:console.warn("Unkown SSR parameter "+L)}},S.prototype.setEdgeColor=function(L){var w=h.a.parseColor(L);this._edgePass.setParameter("edgeColor",w)},S.prototype.setExposure=function(L){this._compositeNode.setParameter("exposure",Math.pow(2,L))},S.prototype.setColorLookupTexture=function(L,w){this._compositeNode.pass.material.setTextureImage("lut",this._enableColorCorrection?L:"none",w,{minFilter:h.a.Texture.NEAREST,magFilter:h.a.Texture.NEAREST,flipY:!1})},S.prototype.setColorCorrection=function(L,w){this._compositeNode.setParameter(L,w)},S.prototype.composite=function(L,w,P,I){var R=this._sourceTexture,B=R;this._enableEdge&&(this._edgePass.update(L,w,R,I),R=B=this._edgePass.getTargetTexture()),this._enableSSR&&(this._ssrPass.update(L,w,R,I),B=this._ssrPass.getTargetTexture(),this._ssrPass.setSSAOTexture(this._enableSSAO?this._ssaoPass.getTargetTexture():null)),this._sourceNode.texture=B,this._cocNode.setParameter("depth",this._depthTexture);for(var F=this._dofBlurKernel,W=this._dofBlurKernelSize,G=Math.floor(u.a.length/2/W),j=I%G,Y=0;Y<W*2;Y++)F[Y]=u.a[Y+j*W*2];for(var Y=0;Y<this._dofBlurNodes.length;Y++)this._dofBlurNodes[Y].setParameter("percent",I/30),this._dofBlurNodes[Y].setParameter("poissonKernel",F);this._cocNode.setParameter("zNear",w.near),this._cocNode.setParameter("zFar",w.far),this._compositor.render(L,P)},S.prototype.dispose=function(L){this._sourceTexture.dispose(L),this._depthTexture.dispose(L),this._framebuffer.dispose(L),this._compositor.dispose(L),this._normalPass.dispose(L),this._ssaoPass.dispose(L)},O.a=S},function(K,O,E){"use strict";var M=E(21),A=E(157),_=E(159),m=E(160),x=E(161),g=E(7),c=E(6),u=E(5),h=E(25),r=/^#source\((.*?)\)/;function n(t,i){var o=new A.a;i=i||{};var v={textures:{},parameters:{}},y=function(D,b){for(var S=0;S<t.nodes.length;S++){var L=t.nodes[S],w=a(L,v,i);w&&o.addNode(w)}};for(var p in t.parameters){var C=t.parameters[p];v.parameters[p]=f(C)}return s(t,v,i,function(D){v.textures=D,y()}),o}function a(t,i,o){var v=t.type||"filter",y,p,C;if(v==="filter"){var D=t.shader.trim(),b=r.exec(D);if(b?y=g.a.source(b[1].trim()):D.charAt(0)==="#"&&(y=i.shaders[D.substr(1)]),y||(y=D),!y)return}if(t.inputs){p={};for(var S in t.inputs)typeof t.inputs[S]=="string"?p[S]=t.inputs[S]:p[S]={node:t.inputs[S].node,pin:t.inputs[S].pin}}if(t.outputs){C={};for(var S in t.outputs){var L=t.outputs[S];C[S]={},L.attachment!=null&&(C[S].attachment=L.attachment),L.keepLastFrame!=null&&(C[S].keepLastFrame=L.keepLastFrame),L.outputLastFrame!=null&&(C[S].outputLastFrame=L.outputLastFrame),L.parameters&&(C[S].parameters=f(L.parameters))}}var w;if(v==="scene"?w=new _.a({name:t.name,scene:o.scene,camera:o.camera,outputs:C}):v==="texture"?w=new m.a({name:t.name,outputs:C}):w=new x.a({name:t.name,shader:y,inputs:p,outputs:C}),w){if(t.parameters)for(var S in t.parameters){var P=t.parameters[S];typeof P=="string"&&(P=P.trim(),P.charAt(0)==="#"?P=i.textures[P.substr(1)]:w.on("beforerender",l(S,e(P)))),w.setParameter(S,P)}if(t.defines&&w.pass)for(var S in t.defines){var P=t.defines[S];w.pass.material.define("fragment",S,P)}}return w}function f(t){var i={};return t&&(["type","minFilter","magFilter","wrapS","wrapT","flipY","useMipmap"].forEach(function(o){var v=t[o];v!=null&&(typeof v=="string"&&(v=c.a[v]),i[o]=v)}),["width","height"].forEach(function(o){if(t[o]!=null){var v=t[o];typeof v=="string"?(v=v.trim(),i[o]=d(o,e(v))):i[o]=v}}),t.useMipmap!=null&&(i.useMipmap=t.useMipmap)),i}function s(t,i,o,v){if(!t.textures){v({});return}var y={},p=0,C=!1,D=o.textureRootPath;M.a.each(t.textures,function(b,S){var L,w=b.path,P=f(b.parameters);if(Array.isArray(w)&&w.length===6)D&&(w=w.map(function(I){return M.a.relative2absolute(I,D)})),L=new h.a(P);else if(typeof w=="string")D&&(w=M.a.relative2absolute(w,D)),L=new u.a(P);else return;L.load(w),p++,L.once("success",function(){y[S]=L,p--,p===0&&(v(y),C=!0)})}),p===0&&!C&&v(y)}function l(t,i){return function(o){var v=o.getDevicePixelRatio(),y=o.getWidth(),p=o.getHeight(),C=i(y,p,v);this.setParameter(t,C)}}function d(t,i){return function(o){var v=o.getDevicePixelRatio(),y=o.getWidth(),p=o.getHeight();return i(y,p,v)}}function e(t){var i=/^expr\((.*)\)$/.exec(t);if(i)try{var o=new Function("width","height","dpr","return "+i[1]);return o(1,1),o}catch(v){throw new Error("Invalid expression.")}}O.a=n},function(K,O,E){"use strict";var M=E(158),A=E(79),_=E(10),m=M.a.extend(function(){return{_outputs:[],_texturePool:new A.a,_frameBuffer:new _.a({depthBuffer:!1})}},{addNode:function(x){M.a.prototype.addNode.call(this,x),x._compositor=this},render:function(x,g){if(this._dirty){this.update(),this._dirty=!1,this._outputs.length=0;for(var c=0;c<this.nodes.length;c++)this.nodes[c].outputs||this._outputs.push(this.nodes[c])}for(var c=0;c<this.nodes.length;c++)this.nodes[c].beforeFrame();for(var c=0;c<this._outputs.length;c++)this._outputs[c].updateReference();for(var c=0;c<this._outputs.length;c++)this._outputs[c].render(x,g);for(var c=0;c<this.nodes.length;c++)this.nodes[c].afterFrame()},allocateTexture:function(x){return this._texturePool.get(x)},releaseTexture:function(x){this._texturePool.put(x)},getFrameBuffer:function(){return this._frameBuffer},dispose:function(x){this._texturePool.clear(x)}});O.a=m},function(K,O,E){"use strict";var M=E(8),A=E(42),_=M.a.extend(function(){return{nodes:[]}},{dirty:function(){this._dirty=!0},addNode:function(m){this.nodes.indexOf(m)>=0||(this.nodes.push(m),this._dirty=!0)},removeNode:function(m){typeof m=="string"&&(m=this.getNodeByName(m));var x=this.nodes.indexOf(m);x>=0&&(this.nodes.splice(x,1),this._dirty=!0)},getNodeByName:function(m){for(var x=0;x<this.nodes.length;x++)if(this.nodes[x].name===m)return this.nodes[x]},update:function(){for(var m=0;m<this.nodes.length;m++)this.nodes[m].clear();for(var m=0;m<this.nodes.length;m++){var x=this.nodes[m];if(x.inputs){for(var g in x.inputs)if(x.inputs[g]){if(x.pass&&!x.pass.material.isUniformEnabled(g)){console.warn("Pin "+x.name+"."+g+" not used.");continue}var c=x.inputs[g],u=this.findPin(c);u?x.link(g,u.node,u.pin):console.warn(typeof c=="string"?"Node "+c+" not exist":"Pin of "+c.node+"."+c.pin+" not exist")}}}},findPin:function(m){var x;if((typeof m=="string"||m instanceof A.a)&&(m={node:m}),typeof m.node=="string")for(var g=0;g<this.nodes.length;g++){var c=this.nodes[g];c.name===m.node&&(x=c)}else x=m.node;if(x){var u=m.pin;if(u||x.outputs&&(u=Object.keys(x.outputs)[0]),x.outputs[u])return{node:x,pin:u}}}});O.a=_},function(K,O,E){"use strict";var M=E(42),A=E(11),_=E(10),m=M.a.extend({name:"scene",scene:null,camera:null,autoUpdateScene:!0,preZ:!1},function(){this.frameBuffer=new _.a},{render:function(x){this._rendering=!0;var g=x.gl;this.trigger("beforerender");var c;if(!this.outputs)c=x.render(this.scene,this.camera,!this.autoUpdateScene,this.preZ);else{var u=this.frameBuffer;for(var h in this.outputs){var r=this.updateParameter(h,x),n=this.outputs[h],a=this._compositor.allocateTexture(r);this._outputTextures[h]=a;var f=n.attachment||g.COLOR_ATTACHMENT0;typeof f=="string"&&(f=g[f]),u.attach(a,f)}u.bind(x);var s=x.getGLExtension("EXT_draw_buffers");if(s){var l=[];for(var f in this.outputs)f=parseInt(f),f>=g.COLOR_ATTACHMENT0&&f<=g.COLOR_ATTACHMENT0+8&&l.push(f);s.drawBuffersEXT(l)}x.saveClear(),x.clearBit=A.a.DEPTH_BUFFER_BIT|A.a.COLOR_BUFFER_BIT,c=x.render(this.scene,this.camera,!this.autoUpdateScene,this.preZ),x.restoreClear(),u.unbind(x)}this.trigger("afterrender",c),this._rendering=!1,this._rendered=!0}});O.a=m},function(K,O,E){"use strict";var M=E(42),A=M.a.extend(function(){return{texture:null,outputs:{color:{}}}},function(){},{getOutput:function(_,m){return this.texture},beforeFrame:function(){},afterFrame:function(){}});O.a=A},function(K,O,E){"use strict";var M=E(14),A=E(42),_=A.a.extend(function(){return{name:"",inputs:{},outputs:null,shader:"",inputLinks:{},outputLinks:{},pass:null,_prevOutputTextures:{},_outputTextures:{},_outputReferences:{},_rendering:!1,_rendered:!1,_compositor:null}},function(){var m=new M.a({fragment:this.shader});this.pass=m},{render:function(m,x){this.trigger("beforerender",m),this._rendering=!0;var g=m.gl;for(var c in this.inputLinks){var u=this.inputLinks[c],h=u.node.getOutput(m,u.pin);this.pass.setUniform(c,h)}if(!this.outputs)this.pass.outputs=null,this._compositor.getFrameBuffer().unbind(m),this.pass.render(m,x);else{this.pass.outputs={};var r={};for(var n in this.outputs){var a=this.updateParameter(n,m);isNaN(a.width)&&this.updateParameter(n,m);var f=this.outputs[n],s=this._compositor.allocateTexture(a);this._outputTextures[n]=s;var l=f.attachment||g.COLOR_ATTACHMENT0;typeof l=="string"&&(l=g[l]),r[l]=s}this._compositor.getFrameBuffer().bind(m);for(var l in r)this._compositor.getFrameBuffer().attach(r[l],l);this.pass.render(m),this._compositor.getFrameBuffer().updateMipmap(m.gl)}for(var c in this.inputLinks){var u=this.inputLinks[c];u.node.removeReference(u.pin)}this._rendering=!1,this._rendered=!0,this.trigger("afterrender",m)},updateParameter:function(m,x){var g=this.outputs[m],c=g.parameters,u=g._parametersCopy;if(u||(u=g._parametersCopy={}),c)for(var h in c)h!=="width"&&h!=="height"&&(u[h]=c[h]);var r,n;return c.width instanceof Function?r=c.width.call(this,x):r=c.width,c.height instanceof Function?n=c.height.call(this,x):n=c.height,(u.width!==r||u.height!==n)&&this._outputTextures[m]&&this._outputTextures[m].dispose(x),u.width=r,u.height=n,u},setParameter:function(m,x){this.pass.setUniform(m,x)},getParameter:function(m){return this.pass.getUniform(m)},setParameters:function(m){for(var x in m)this.setParameter(x,m[x])},define:function(m,x){this.pass.material.define("fragment",m,x)},undefine:function(m){this.pass.material.undefine("fragment",m)},removeReference:function(m){if(this._outputReferences[m]--,this._outputReferences[m]===0){var x=this.outputs[m];x.keepLastFrame?(this._prevOutputTextures[m]&&this._compositor.releaseTexture(this._prevOutputTextures[m]),this._prevOutputTextures[m]=this._outputTextures[m]):this._compositor.releaseTexture(this._outputTextures[m])}},clear:function(){A.a.prototype.clear.call(this),this.pass.material.disableTexturesAll()}});O.a=_},function(K,O,E){"use strict";var M=E(9),A=E(4),_=E(5),m=E(6),x=E(14),g=E(7),c=E(10),u=E(43),h=E(163);g.a.import(h.a);function r(s){for(var l=new Uint8Array(s*s*4),d=0,e=new A.a,t=0;t<s;t++)for(var i=0;i<s;i++)e.set(Math.random()*2-1,Math.random()*2-1,0).normalize(),l[d++]=(e.x*.5+.5)*255,l[d++]=(e.y*.5+.5)*255,l[d++]=0,l[d++]=255;return l}function n(s){return new _.a({pixels:r(s),wrapS:m.a.REPEAT,wrapT:m.a.REPEAT,width:s,height:s})}function a(s,l,d){var e=new Float32Array(s*3);l=l||0;for(var t=0;t<s;t++){var i=Object(u.a)(t+l,2)*(d?1:2)*Math.PI,o=Object(u.a)(t+l,3)*Math.PI,v=Math.random(),y=Math.cos(i)*Math.sin(o)*v,p=Math.cos(o)*v,C=Math.sin(i)*Math.sin(o)*v;e[t*3]=y,e[t*3+1]=p,e[t*3+2]=C}return e}function f(s){s=s||{},this._ssaoPass=new x.a({fragment:g.a.source("ecgl.ssao.estimate")}),this._blurPass=new x.a({fragment:g.a.source("ecgl.ssao.blur")}),this._framebuffer=new c.a({depthBuffer:!1}),this._ssaoTexture=new _.a,this._blurTexture=new _.a,this._blurTexture2=new _.a,this._depthTex=s.depthTexture,this._normalTex=s.normalTexture,this.setNoiseSize(4),this.setKernelSize(s.kernelSize||12),s.radius!=null&&this.setParameter("radius",s.radius),s.power!=null&&this.setParameter("power",s.power),this._normalTex||(this._ssaoPass.material.disableTexture("normalTex"),this._blurPass.material.disableTexture("normalTex")),this._depthTex||this._blurPass.material.disableTexture("depthTex"),this._blurPass.material.setUniform("normalTex",this._normalTex),this._blurPass.material.setUniform("depthTex",this._depthTex)}f.prototype.setDepthTexture=function(s){this._depthTex=s},f.prototype.setNormalTexture=function(s){this._normalTex=s,this._ssaoPass.material[s?"enableTexture":"disableTexture"]("normalTex"),this.setKernelSize(this._kernelSize)},f.prototype.update=function(s,l,d){var e=s.getWidth(),t=s.getHeight(),i=this._ssaoPass,o=this._blurPass;i.setUniform("kernel",this._kernels[d%this._kernels.length]),i.setUniform("depthTex",this._depthTex),this._normalTex!=null&&i.setUniform("normalTex",this._normalTex),i.setUniform("depthTexSize",[this._depthTex.width,this._depthTex.height]);var v=new M.a;M.a.transpose(v,l.worldTransform),i.setUniform("projection",l.projectionMatrix.array),i.setUniform("projectionInv",l.invProjectionMatrix.array),i.setUniform("viewInverseTranspose",v.array);var y=this._ssaoTexture,p=this._blurTexture,C=this._blurTexture2;y.width=e/2,y.height=t/2,p.width=e,p.height=t,C.width=e,C.height=t,this._framebuffer.attach(y),this._framebuffer.bind(s),s.gl.clearColor(1,1,1,1),s.gl.clear(s.gl.COLOR_BUFFER_BIT),i.render(s),o.setUniform("textureSize",[e/2,t/2]),o.setUniform("projection",l.projectionMatrix.array),this._framebuffer.attach(p),o.setUniform("direction",0),o.setUniform("ssaoTexture",y),o.render(s),this._framebuffer.attach(C),o.setUniform("textureSize",[e,t]),o.setUniform("direction",1),o.setUniform("ssaoTexture",p),o.render(s),this._framebuffer.unbind(s);var D=s.clearColor;s.gl.clearColor(D[0],D[1],D[2],D[3])},f.prototype.getTargetTexture=function(){return this._blurTexture2},f.prototype.setParameter=function(s,l){s==="noiseTexSize"?this.setNoiseSize(l):s==="kernelSize"?this.setKernelSize(l):s==="intensity"?this._ssaoPass.material.set("intensity",l):this._ssaoPass.setUniform(s,l)},f.prototype.setKernelSize=function(s){this._kernelSize=s,this._ssaoPass.material.define("fragment","KERNEL_SIZE",s),this._kernels=this._kernels||[];for(var l=0;l<30;l++)this._kernels[l]=a(s,l*s,!!this._normalTex)},f.prototype.setNoiseSize=function(s){var l=this._ssaoPass.getUniform("noiseTex");l?(l.data=r(s),l.width=l.height=s,l.dirty()):(l=n(s),this._ssaoPass.setUniform("noiseTex",n(s))),this._ssaoPass.setUniform("noiseTexSize",[s,s])},f.prototype.dispose=function(s){this._blurTexture.dispose(s),this._ssaoTexture.dispose(s),this._blurTexture2.dispose(s)},O.a=f},function(K,O,E){"use strict";O.a=`@export ecgl.ssao.estimate
|
|
|
|
uniform sampler2D depthTex;
|
|
|
|
uniform sampler2D normalTex;
|
|
|
|
uniform sampler2D noiseTex;
|
|
|
|
uniform vec2 depthTexSize;
|
|
|
|
uniform vec2 noiseTexSize;
|
|
|
|
uniform mat4 projection;
|
|
|
|
uniform mat4 projectionInv;
|
|
|
|
uniform mat4 viewInverseTranspose;
|
|
|
|
uniform vec3 kernel[KERNEL_SIZE];
|
|
|
|
uniform float radius : 1;
|
|
|
|
uniform float power : 1;
|
|
|
|
uniform float bias: 1e-2;
|
|
|
|
uniform float intensity: 1.0;
|
|
|
|
varying vec2 v_Texcoord;
|
|
|
|
float ssaoEstimator(in vec3 originPos, in mat3 kernelBasis) {
|
|
float occlusion = 0.0;
|
|
|
|
for (int i = 0; i < KERNEL_SIZE; i++) {
|
|
vec3 samplePos = kernel[i];
|
|
#ifdef NORMALTEX_ENABLED
|
|
samplePos = kernelBasis * samplePos;
|
|
#endif
|
|
samplePos = samplePos * radius + originPos;
|
|
|
|
vec4 texCoord = projection * vec4(samplePos, 1.0);
|
|
texCoord.xy /= texCoord.w;
|
|
|
|
vec4 depthTexel = texture2D(depthTex, texCoord.xy * 0.5 + 0.5);
|
|
|
|
float sampleDepth = depthTexel.r * 2.0 - 1.0;
|
|
if (projection[3][3] == 0.0) {
|
|
sampleDepth = projection[3][2] / (sampleDepth * projection[2][3] - projection[2][2]);
|
|
}
|
|
else {
|
|
sampleDepth = (sampleDepth - projection[3][2]) / projection[2][2];
|
|
}
|
|
|
|
float rangeCheck = smoothstep(0.0, 1.0, radius / abs(originPos.z - sampleDepth));
|
|
occlusion += rangeCheck * step(samplePos.z, sampleDepth - bias);
|
|
}
|
|
#ifdef NORMALTEX_ENABLED
|
|
occlusion = 1.0 - occlusion / float(KERNEL_SIZE);
|
|
#else
|
|
occlusion = 1.0 - clamp((occlusion / float(KERNEL_SIZE) - 0.6) * 2.5, 0.0, 1.0);
|
|
#endif
|
|
return pow(occlusion, power);
|
|
}
|
|
|
|
void main()
|
|
{
|
|
|
|
vec4 depthTexel = texture2D(depthTex, v_Texcoord);
|
|
|
|
#ifdef NORMALTEX_ENABLED
|
|
vec4 tex = texture2D(normalTex, v_Texcoord);
|
|
if (dot(tex.rgb, tex.rgb) == 0.0) {
|
|
gl_FragColor = vec4(1.0);
|
|
return;
|
|
}
|
|
vec3 N = tex.rgb * 2.0 - 1.0;
|
|
N = (viewInverseTranspose * vec4(N, 0.0)).xyz;
|
|
|
|
vec2 noiseTexCoord = depthTexSize / vec2(noiseTexSize) * v_Texcoord;
|
|
vec3 rvec = texture2D(noiseTex, noiseTexCoord).rgb * 2.0 - 1.0;
|
|
vec3 T = normalize(rvec - N * dot(rvec, N));
|
|
vec3 BT = normalize(cross(N, T));
|
|
mat3 kernelBasis = mat3(T, BT, N);
|
|
#else
|
|
if (depthTexel.r > 0.99999) {
|
|
gl_FragColor = vec4(1.0);
|
|
return;
|
|
}
|
|
mat3 kernelBasis;
|
|
#endif
|
|
|
|
float z = depthTexel.r * 2.0 - 1.0;
|
|
|
|
vec4 projectedPos = vec4(v_Texcoord * 2.0 - 1.0, z, 1.0);
|
|
vec4 p4 = projectionInv * projectedPos;
|
|
|
|
vec3 position = p4.xyz / p4.w;
|
|
|
|
float ao = ssaoEstimator(position, kernelBasis);
|
|
ao = clamp(1.0 - (1.0 - ao) * intensity, 0.0, 1.0);
|
|
gl_FragColor = vec4(vec3(ao), 1.0);
|
|
}
|
|
|
|
@end
|
|
|
|
|
|
@export ecgl.ssao.blur
|
|
#define SHADER_NAME SSAO_BLUR
|
|
|
|
uniform sampler2D ssaoTexture;
|
|
|
|
#ifdef NORMALTEX_ENABLED
|
|
uniform sampler2D normalTex;
|
|
#endif
|
|
|
|
varying vec2 v_Texcoord;
|
|
|
|
uniform vec2 textureSize;
|
|
uniform float blurSize : 1.0;
|
|
|
|
uniform int direction: 0.0;
|
|
|
|
#ifdef DEPTHTEX_ENABLED
|
|
uniform sampler2D depthTex;
|
|
uniform mat4 projection;
|
|
uniform float depthRange : 0.5;
|
|
|
|
float getLinearDepth(vec2 coord)
|
|
{
|
|
float depth = texture2D(depthTex, coord).r * 2.0 - 1.0;
|
|
return projection[3][2] / (depth * projection[2][3] - projection[2][2]);
|
|
}
|
|
#endif
|
|
|
|
void main()
|
|
{
|
|
float kernel[5];
|
|
kernel[0] = 0.122581;
|
|
kernel[1] = 0.233062;
|
|
kernel[2] = 0.288713;
|
|
kernel[3] = 0.233062;
|
|
kernel[4] = 0.122581;
|
|
|
|
vec2 off = vec2(0.0);
|
|
if (direction == 0) {
|
|
off[0] = blurSize / textureSize.x;
|
|
}
|
|
else {
|
|
off[1] = blurSize / textureSize.y;
|
|
}
|
|
|
|
vec2 coord = v_Texcoord;
|
|
|
|
float sum = 0.0;
|
|
float weightAll = 0.0;
|
|
|
|
#ifdef NORMALTEX_ENABLED
|
|
vec3 centerNormal = texture2D(normalTex, v_Texcoord).rgb * 2.0 - 1.0;
|
|
#endif
|
|
#if defined(DEPTHTEX_ENABLED)
|
|
float centerDepth = getLinearDepth(v_Texcoord);
|
|
#endif
|
|
|
|
for (int i = 0; i < 5; i++) {
|
|
vec2 coord = clamp(v_Texcoord + vec2(float(i) - 2.0) * off, vec2(0.0), vec2(1.0));
|
|
|
|
float w = kernel[i];
|
|
#ifdef NORMALTEX_ENABLED
|
|
vec3 normal = texture2D(normalTex, coord).rgb * 2.0 - 1.0;
|
|
w *= clamp(dot(normal, centerNormal), 0.0, 1.0);
|
|
#endif
|
|
#ifdef DEPTHTEX_ENABLED
|
|
float d = getLinearDepth(coord);
|
|
w *= (1.0 - smoothstep(abs(centerDepth - d) / depthRange, 0.0, 1.0));
|
|
#endif
|
|
|
|
weightAll += w;
|
|
sum += texture2D(ssaoTexture, coord).r * w;
|
|
}
|
|
|
|
gl_FragColor = vec4(vec3(sum / weightAll), 1.0);
|
|
}
|
|
|
|
@end
|
|
`},function(K,O,E){"use strict";var M=E(9),A=E(4),_=E(5),m=E(6),x=E(14),g=E(7),c=E(10),u=E(43),h=E(165);g.a.import(h.a);function r(n){n=n||{},this._ssrPass=new x.a({fragment:g.a.source("ecgl.ssr.main"),clearColor:[0,0,0,0]}),this._blurPass1=new x.a({fragment:g.a.source("ecgl.ssr.blur"),clearColor:[0,0,0,0]}),this._blurPass2=new x.a({fragment:g.a.source("ecgl.ssr.blur"),clearColor:[0,0,0,0]}),this._ssrPass.setUniform("gBufferTexture1",n.normalTexture),this._ssrPass.setUniform("gBufferTexture2",n.depthTexture),this._blurPass1.setUniform("gBufferTexture1",n.normalTexture),this._blurPass1.setUniform("gBufferTexture2",n.depthTexture),this._blurPass2.setUniform("gBufferTexture1",n.normalTexture),this._blurPass2.setUniform("gBufferTexture2",n.depthTexture),this._blurPass2.material.define("fragment","VERTICAL"),this._blurPass2.material.define("fragment","BLEND"),this._texture1=new _.a({type:m.a.HALF_FLOAT}),this._texture2=new _.a({type:m.a.HALF_FLOAT}),this._texture3=new _.a({type:m.a.HALF_FLOAT}),this._frameBuffer=new c.a({depthBuffer:!1})}r.prototype.update=function(n,a,f,s){var l=n.getWidth(),d=n.getHeight(),e=n.getDevicePixelRatio(),t=this._texture1,i=this._texture2,o=this._texture3;i.width=l/2,i.height=d/2,t.width=l,t.height=d,o.width=l*e,o.height=d*e;var v=this._frameBuffer,y=this._ssrPass,p=this._blurPass1,C=this._blurPass2,D=new M.a;M.a.transpose(D,a.worldTransform),y.setUniform("sourceTexture",f),y.setUniform("projection",a.projectionMatrix.array),y.setUniform("projectionInv",a.invProjectionMatrix.array),y.setUniform("viewInverseTranspose",D.array),y.setUniform("nearZ",a.near),y.setUniform("jitterOffset",s/30),p.setUniform("textureSize",[l/2,d/2]),C.setUniform("textureSize",[l,d]),C.setUniform("sourceTexture",f),p.setUniform("projection",a.projectionMatrix.array),C.setUniform("projection",a.projectionMatrix.array),v.attach(t),v.bind(n),y.render(n),v.attach(i),p.setUniform("texture",t),p.render(n),v.attach(o),C.setUniform("texture",i),C.render(n),v.unbind(n)},r.prototype.getTargetTexture=function(){return this._texture3},r.prototype.setParameter=function(n,a){n==="maxIteration"?this._ssrPass.material.define("fragment","MAX_ITERATION",a):this._ssrPass.setUniform(n,a)},r.prototype.setSSAOTexture=function(n){var a=this._blurPass2;n?(a.material.enableTexture("ssaoTex"),a.material.set("ssaoTex",n)):a.material.disableTexture("ssaoTex")},r.prototype.dispose=function(n){this._texture1.dispose(n),this._texture2.dispose(n),this._texture3.dispose(n),this._frameBuffer.dispose(n)},O.a=r},function(K,O,E){"use strict";O.a=`@export ecgl.ssr.main
|
|
|
|
#define MAX_ITERATION 20;
|
|
|
|
uniform sampler2D sourceTexture;
|
|
uniform sampler2D gBufferTexture1;
|
|
uniform sampler2D gBufferTexture2;
|
|
|
|
uniform mat4 projection;
|
|
uniform mat4 projectionInv;
|
|
uniform mat4 viewInverseTranspose;
|
|
|
|
uniform float maxRayDistance: 50;
|
|
|
|
uniform float pixelStride: 16;
|
|
uniform float pixelStrideZCutoff: 50;
|
|
uniform float screenEdgeFadeStart: 0.9;
|
|
uniform float eyeFadeStart : 0.2; uniform float eyeFadeEnd: 0.8;
|
|
uniform float minGlossiness: 0.2; uniform float zThicknessThreshold: 10;
|
|
|
|
uniform float nearZ;
|
|
uniform vec2 viewportSize : VIEWPORT_SIZE;
|
|
|
|
uniform float jitterOffset: 0;
|
|
|
|
varying vec2 v_Texcoord;
|
|
|
|
#ifdef DEPTH_DECODE
|
|
@import clay.util.decode_float
|
|
#endif
|
|
|
|
float fetchDepth(sampler2D depthTexture, vec2 uv)
|
|
{
|
|
vec4 depthTexel = texture2D(depthTexture, uv);
|
|
return depthTexel.r * 2.0 - 1.0;
|
|
}
|
|
|
|
float linearDepth(float depth)
|
|
{
|
|
if (projection[3][3] == 0.0) {
|
|
return projection[3][2] / (depth * projection[2][3] - projection[2][2]);
|
|
}
|
|
else {
|
|
return (depth - projection[3][2]) / projection[2][2];
|
|
}
|
|
}
|
|
|
|
bool rayIntersectDepth(float rayZNear, float rayZFar, vec2 hitPixel)
|
|
{
|
|
if (rayZFar > rayZNear)
|
|
{
|
|
float t = rayZFar; rayZFar = rayZNear; rayZNear = t;
|
|
}
|
|
float cameraZ = linearDepth(fetchDepth(gBufferTexture2, hitPixel));
|
|
return rayZFar <= cameraZ && rayZNear >= cameraZ - zThicknessThreshold;
|
|
}
|
|
|
|
|
|
bool traceScreenSpaceRay(
|
|
vec3 rayOrigin, vec3 rayDir, float jitter,
|
|
out vec2 hitPixel, out vec3 hitPoint, out float iterationCount
|
|
)
|
|
{
|
|
float rayLength = ((rayOrigin.z + rayDir.z * maxRayDistance) > -nearZ)
|
|
? (-nearZ - rayOrigin.z) / rayDir.z : maxRayDistance;
|
|
|
|
vec3 rayEnd = rayOrigin + rayDir * rayLength;
|
|
|
|
vec4 H0 = projection * vec4(rayOrigin, 1.0);
|
|
vec4 H1 = projection * vec4(rayEnd, 1.0);
|
|
|
|
float k0 = 1.0 / H0.w, k1 = 1.0 / H1.w;
|
|
|
|
vec3 Q0 = rayOrigin * k0, Q1 = rayEnd * k1;
|
|
|
|
vec2 P0 = (H0.xy * k0 * 0.5 + 0.5) * viewportSize;
|
|
vec2 P1 = (H1.xy * k1 * 0.5 + 0.5) * viewportSize;
|
|
|
|
P1 += dot(P1 - P0, P1 - P0) < 0.0001 ? 0.01 : 0.0;
|
|
vec2 delta = P1 - P0;
|
|
|
|
bool permute = false;
|
|
if (abs(delta.x) < abs(delta.y)) {
|
|
permute = true;
|
|
delta = delta.yx;
|
|
P0 = P0.yx;
|
|
P1 = P1.yx;
|
|
}
|
|
float stepDir = sign(delta.x);
|
|
float invdx = stepDir / delta.x;
|
|
|
|
vec3 dQ = (Q1 - Q0) * invdx;
|
|
float dk = (k1 - k0) * invdx;
|
|
|
|
vec2 dP = vec2(stepDir, delta.y * invdx);
|
|
|
|
float strideScaler = 1.0 - min(1.0, -rayOrigin.z / pixelStrideZCutoff);
|
|
float pixStride = 1.0 + strideScaler * pixelStride;
|
|
|
|
dP *= pixStride; dQ *= pixStride; dk *= pixStride;
|
|
|
|
vec4 pqk = vec4(P0, Q0.z, k0);
|
|
vec4 dPQK = vec4(dP, dQ.z, dk);
|
|
|
|
pqk += dPQK * jitter;
|
|
float rayZFar = (dPQK.z * 0.5 + pqk.z) / (dPQK.w * 0.5 + pqk.w);
|
|
float rayZNear;
|
|
|
|
bool intersect = false;
|
|
|
|
vec2 texelSize = 1.0 / viewportSize;
|
|
|
|
iterationCount = 0.0;
|
|
|
|
for (int i = 0; i < MAX_ITERATION; i++)
|
|
{
|
|
pqk += dPQK;
|
|
|
|
rayZNear = rayZFar;
|
|
rayZFar = (dPQK.z * 0.5 + pqk.z) / (dPQK.w * 0.5 + pqk.w);
|
|
|
|
hitPixel = permute ? pqk.yx : pqk.xy;
|
|
hitPixel *= texelSize;
|
|
|
|
intersect = rayIntersectDepth(rayZNear, rayZFar, hitPixel);
|
|
|
|
iterationCount += 1.0;
|
|
|
|
if (intersect) {
|
|
break;
|
|
}
|
|
}
|
|
|
|
|
|
Q0.xy += dQ.xy * iterationCount;
|
|
Q0.z = pqk.z;
|
|
hitPoint = Q0 / pqk.w;
|
|
|
|
return intersect;
|
|
}
|
|
|
|
float calculateAlpha(
|
|
float iterationCount, float reflectivity,
|
|
vec2 hitPixel, vec3 hitPoint, float dist, vec3 rayDir
|
|
)
|
|
{
|
|
float alpha = clamp(reflectivity, 0.0, 1.0);
|
|
alpha *= 1.0 - (iterationCount / float(MAX_ITERATION));
|
|
vec2 hitPixelNDC = hitPixel * 2.0 - 1.0;
|
|
float maxDimension = min(1.0, max(abs(hitPixelNDC.x), abs(hitPixelNDC.y)));
|
|
alpha *= 1.0 - max(0.0, maxDimension - screenEdgeFadeStart) / (1.0 - screenEdgeFadeStart);
|
|
|
|
float _eyeFadeStart = eyeFadeStart;
|
|
float _eyeFadeEnd = eyeFadeEnd;
|
|
if (_eyeFadeStart > _eyeFadeEnd) {
|
|
float tmp = _eyeFadeEnd;
|
|
_eyeFadeEnd = _eyeFadeStart;
|
|
_eyeFadeStart = tmp;
|
|
}
|
|
|
|
float eyeDir = clamp(rayDir.z, _eyeFadeStart, _eyeFadeEnd);
|
|
alpha *= 1.0 - (eyeDir - _eyeFadeStart) / (_eyeFadeEnd - _eyeFadeStart);
|
|
|
|
alpha *= 1.0 - clamp(dist / maxRayDistance, 0.0, 1.0);
|
|
|
|
return alpha;
|
|
}
|
|
|
|
@import clay.util.rand
|
|
|
|
@import clay.util.rgbm
|
|
|
|
void main()
|
|
{
|
|
vec4 normalAndGloss = texture2D(gBufferTexture1, v_Texcoord);
|
|
|
|
if (dot(normalAndGloss.rgb, vec3(1.0)) == 0.0) {
|
|
discard;
|
|
}
|
|
|
|
float g = normalAndGloss.a;
|
|
if (g <= minGlossiness) {
|
|
discard;
|
|
}
|
|
|
|
float reflectivity = (g - minGlossiness) / (1.0 - minGlossiness);
|
|
|
|
vec3 N = normalAndGloss.rgb * 2.0 - 1.0;
|
|
N = normalize((viewInverseTranspose * vec4(N, 0.0)).xyz);
|
|
|
|
vec4 projectedPos = vec4(v_Texcoord * 2.0 - 1.0, fetchDepth(gBufferTexture2, v_Texcoord), 1.0);
|
|
vec4 pos = projectionInv * projectedPos;
|
|
vec3 rayOrigin = pos.xyz / pos.w;
|
|
|
|
vec3 rayDir = normalize(reflect(normalize(rayOrigin), N));
|
|
vec2 hitPixel;
|
|
vec3 hitPoint;
|
|
float iterationCount;
|
|
|
|
vec2 uv2 = v_Texcoord * viewportSize;
|
|
float jitter = rand(fract(v_Texcoord + jitterOffset));
|
|
|
|
bool intersect = traceScreenSpaceRay(rayOrigin, rayDir, jitter, hitPixel, hitPoint, iterationCount);
|
|
|
|
float dist = distance(rayOrigin, hitPoint);
|
|
|
|
float alpha = calculateAlpha(iterationCount, reflectivity, hitPixel, hitPoint, dist, rayDir) * float(intersect);
|
|
|
|
vec3 hitNormal = texture2D(gBufferTexture1, hitPixel).rgb * 2.0 - 1.0;
|
|
hitNormal = normalize((viewInverseTranspose * vec4(hitNormal, 0.0)).xyz);
|
|
|
|
if (dot(hitNormal, rayDir) >= 0.0) {
|
|
discard;
|
|
}
|
|
|
|
|
|
if (!intersect) {
|
|
discard;
|
|
}
|
|
vec4 color = decodeHDR(texture2D(sourceTexture, hitPixel));
|
|
gl_FragColor = encodeHDR(vec4(color.rgb * alpha, color.a));
|
|
}
|
|
@end
|
|
|
|
@export ecgl.ssr.blur
|
|
|
|
uniform sampler2D texture;
|
|
uniform sampler2D gBufferTexture1;
|
|
uniform sampler2D gBufferTexture2;
|
|
uniform mat4 projection;
|
|
uniform float depthRange : 0.05;
|
|
|
|
varying vec2 v_Texcoord;
|
|
|
|
uniform vec2 textureSize;
|
|
uniform float blurSize : 4.0;
|
|
|
|
#ifdef BLEND
|
|
#ifdef SSAOTEX_ENABLED
|
|
uniform sampler2D ssaoTex;
|
|
#endif
|
|
uniform sampler2D sourceTexture;
|
|
#endif
|
|
|
|
float getLinearDepth(vec2 coord)
|
|
{
|
|
float depth = texture2D(gBufferTexture2, coord).r * 2.0 - 1.0;
|
|
return projection[3][2] / (depth * projection[2][3] - projection[2][2]);
|
|
}
|
|
|
|
@import clay.util.rgbm
|
|
|
|
|
|
void main()
|
|
{
|
|
@import clay.compositor.kernel.gaussian_9
|
|
|
|
vec4 centerNTexel = texture2D(gBufferTexture1, v_Texcoord);
|
|
float g = centerNTexel.a;
|
|
float maxBlurSize = clamp(1.0 - g + 0.1, 0.0, 1.0) * blurSize;
|
|
#ifdef VERTICAL
|
|
vec2 off = vec2(0.0, maxBlurSize / textureSize.y);
|
|
#else
|
|
vec2 off = vec2(maxBlurSize / textureSize.x, 0.0);
|
|
#endif
|
|
|
|
vec2 coord = v_Texcoord;
|
|
|
|
vec4 sum = vec4(0.0);
|
|
float weightAll = 0.0;
|
|
|
|
vec3 cN = centerNTexel.rgb * 2.0 - 1.0;
|
|
float cD = getLinearDepth(v_Texcoord);
|
|
for (int i = 0; i < 9; i++) {
|
|
vec2 coord = clamp((float(i) - 4.0) * off + v_Texcoord, vec2(0.0), vec2(1.0));
|
|
float w = gaussianKernel[i]
|
|
* clamp(dot(cN, texture2D(gBufferTexture1, coord).rgb * 2.0 - 1.0), 0.0, 1.0);
|
|
float d = getLinearDepth(coord);
|
|
w *= (1.0 - smoothstep(abs(cD - d) / depthRange, 0.0, 1.0));
|
|
|
|
weightAll += w;
|
|
sum += decodeHDR(texture2D(texture, coord)) * w;
|
|
}
|
|
|
|
#ifdef BLEND
|
|
float aoFactor = 1.0;
|
|
#ifdef SSAOTEX_ENABLED
|
|
aoFactor = texture2D(ssaoTex, v_Texcoord).r;
|
|
#endif
|
|
gl_FragColor = encodeHDR(
|
|
sum / weightAll * aoFactor + decodeHDR(texture2D(sourceTexture, v_Texcoord))
|
|
);
|
|
#else
|
|
gl_FragColor = encodeHDR(sum / weightAll);
|
|
#endif
|
|
}
|
|
|
|
@end`},function(K,O,E){"use strict";O.a=[0,0,-.321585265978,-.154972575841,.458126042375,.188473391593,.842080129861,.527766490688,.147304551086,-.659453822776,-.331943915203,-.940619700594,.0479226680259,.54812163202,.701581552186,-.709825561388,-.295436780218,.940589268233,-.901489676764,.237713156085,.973570876096,-.109899459384,-.866792314779,-.451805525005,.330975007087,.800048655954,-.344275183665,.381779221166,-.386139432542,-.437418421534,-.576478634965,-.0148463392551,.385798197415,-.262426961053,-.666302061145,.682427250835,-.628010632582,-.732836215494,.10163141741,-.987658134403,.711995289051,-.320024291314,.0296005138058,.950296523438,.0130612307608,-.351024443122,-.879596633704,-.10478487883,.435712737232,.504254490347,.779203817497,.206477676721,.388264289969,-.896736162545,-.153106280781,-.629203242522,-.245517550697,.657969239148,.126830499058,.26862328493,-.634888119007,-.302301223431,.617074219636,.779817204925]},function(K,O,E){"use strict";var M=E(5),A=E(6),_=E(7),m=E(10),x=E(17),g=E(14),c=E(54),u=E(168);_.a.import(u.a);function h(a,f,s,l,d){var e=a.gl;f.setUniform(e,"1i",s,d),e.activeTexture(e.TEXTURE0+d),l.isRenderable()?l.bind(a):l.unbind(a)}function r(a,f,s,l,d){var e,t,i,o,v=a.gl;return function(y,p,C){if(!(o&&o.material===y.material)){var D=y.material,b=y.__program,S=D.get("roughness");S==null&&(S=1);var L=D.get("normalMap")||f,w=D.get("roughnessMap"),P=D.get("bumpMap"),I=D.get("uvRepeat"),R=D.get("uvOffset"),B=D.get("detailUvRepeat"),F=D.get("detailUvOffset"),W=!!P&&D.isTextureEnabled("bumpMap"),G=!!w&&D.isTextureEnabled("roughnessMap"),j=D.isDefined("fragment","DOUBLE_SIDED");P=P||s,w=w||l,C!==p?(p.set("normalMap",L),p.set("bumpMap",P),p.set("roughnessMap",w),p.set("useBumpMap",W),p.set("useRoughnessMap",G),p.set("doubleSide",j),I!=null&&p.set("uvRepeat",I),R!=null&&p.set("uvOffset",R),B!=null&&p.set("detailUvRepeat",B),F!=null&&p.set("detailUvOffset",F),p.set("roughness",S)):(b.setUniform(v,"1f","roughness",S),e!==L&&h(a,b,"normalMap",L,0),t!==P&&P&&h(a,b,"bumpMap",P,1),i!==w&&w&&h(a,b,"roughnessMap",w,2),I!=null&&b.setUniform(v,"2f","uvRepeat",I),R!=null&&b.setUniform(v,"2f","uvOffset",R),B!=null&&b.setUniform(v,"2f","detailUvRepeat",B),F!=null&&b.setUniform(v,"2f","detailUvOffset",F),b.setUniform(v,"1i","useBumpMap",+W),b.setUniform(v,"1i","useRoughnessMap",+G),b.setUniform(v,"1i","doubleSide",+j)),e=L,t=P,i=w,o=y}}}function n(a){a=a||{},this._depthTex=new M.a({format:A.a.DEPTH_COMPONENT,type:A.a.UNSIGNED_INT}),this._normalTex=new M.a({type:A.a.HALF_FLOAT}),this._framebuffer=new m.a,this._framebuffer.attach(this._normalTex),this._framebuffer.attach(this._depthTex,m.a.DEPTH_ATTACHMENT),this._normalMaterial=new x.a({shader:new _.a(_.a.source("ecgl.normal.vertex"),_.a.source("ecgl.normal.fragment"))}),this._normalMaterial.enableTexture(["normalMap","bumpMap","roughnessMap"]),this._defaultNormalMap=c.a.createBlank("#000"),this._defaultBumpMap=c.a.createBlank("#000"),this._defaultRoughessMap=c.a.createBlank("#000"),this._debugPass=new g.a({fragment:_.a.source("clay.compositor.output")}),this._debugPass.setUniform("texture",this._normalTex),this._debugPass.material.undefine("fragment","OUTPUT_ALPHA")}n.prototype.getDepthTexture=function(){return this._depthTex},n.prototype.getNormalTexture=function(){return this._normalTex},n.prototype.update=function(a,f,s){var l=a.getWidth(),d=a.getHeight(),e=this._depthTex,t=this._normalTex,i=this._normalMaterial;e.width=l,e.height=d,t.width=l,t.height=d;var o=f.opaqueList;this._framebuffer.bind(a),a.gl.clearColor(0,0,0,0),a.gl.clear(a.gl.COLOR_BUFFER_BIT|a.gl.DEPTH_BUFFER_BIT),a.gl.disable(a.gl.BLEND),a.renderPass(o,s,{getMaterial:function(){return i},ifRender:function(v){return v.renderNormal},beforeRender:r(a,this._defaultNormalMap,this._defaultBumpMap,this._defaultRoughessMap,this._normalMaterial),sort:a.opaqueSortCompare}),this._framebuffer.unbind(a)},n.prototype.renderDebug=function(a){this._debugPass.render(a)},n.prototype.dispose=function(a){this._depthTex.dispose(a),this._normalTex.dispose(a)},O.a=n},function(K,O,E){"use strict";O.a=`@export ecgl.normal.vertex
|
|
|
|
@import ecgl.common.transformUniforms
|
|
|
|
@import ecgl.common.uv.header
|
|
|
|
@import ecgl.common.attributes
|
|
|
|
varying vec3 v_Normal;
|
|
varying vec3 v_WorldPosition;
|
|
|
|
@import ecgl.common.normalMap.vertexHeader
|
|
|
|
@import ecgl.common.vertexAnimation.header
|
|
|
|
void main()
|
|
{
|
|
|
|
@import ecgl.common.vertexAnimation.main
|
|
|
|
@import ecgl.common.uv.main
|
|
|
|
v_Normal = normalize((worldInverseTranspose * vec4(normal, 0.0)).xyz);
|
|
v_WorldPosition = (world * vec4(pos, 1.0)).xyz;
|
|
|
|
@import ecgl.common.normalMap.vertexMain
|
|
|
|
gl_Position = worldViewProjection * vec4(pos, 1.0);
|
|
|
|
}
|
|
|
|
|
|
@end
|
|
|
|
|
|
@export ecgl.normal.fragment
|
|
|
|
#define ROUGHNESS_CHANEL 0
|
|
|
|
uniform bool useBumpMap;
|
|
uniform bool useRoughnessMap;
|
|
uniform bool doubleSide;
|
|
uniform float roughness;
|
|
|
|
@import ecgl.common.uv.fragmentHeader
|
|
|
|
varying vec3 v_Normal;
|
|
varying vec3 v_WorldPosition;
|
|
|
|
uniform mat4 viewInverse : VIEWINVERSE;
|
|
|
|
@import ecgl.common.normalMap.fragmentHeader
|
|
@import ecgl.common.bumpMap.header
|
|
|
|
uniform sampler2D roughnessMap;
|
|
|
|
void main()
|
|
{
|
|
vec3 N = v_Normal;
|
|
|
|
bool flipNormal = false;
|
|
if (doubleSide) {
|
|
vec3 eyePos = viewInverse[3].xyz;
|
|
vec3 V = normalize(eyePos - v_WorldPosition);
|
|
|
|
if (dot(N, V) < 0.0) {
|
|
flipNormal = true;
|
|
}
|
|
}
|
|
|
|
@import ecgl.common.normalMap.fragmentMain
|
|
|
|
if (useBumpMap) {
|
|
N = bumpNormal(v_WorldPosition, v_Normal, N);
|
|
}
|
|
|
|
float g = 1.0 - roughness;
|
|
|
|
if (useRoughnessMap) {
|
|
float g2 = 1.0 - texture2D(roughnessMap, v_DetailTexcoord)[ROUGHNESS_CHANEL];
|
|
g = clamp(g2 + (g - 0.5) * 2.0, 0.0, 1.0);
|
|
}
|
|
|
|
if (flipNormal) {
|
|
N = -N;
|
|
}
|
|
|
|
gl_FragColor.rgb = (N.xyz + 1.0) * 0.5;
|
|
gl_FragColor.a = g;
|
|
}
|
|
@end`},function(K,O,E){"use strict";var M=E(9),A=E(4),_=E(5),m=E(6),x=E(14),g=E(7),c=E(10);function u(h){h=h||{},this._edgePass=new x.a({fragment:g.a.source("ecgl.edge")}),this._edgePass.setUniform("normalTexture",h.normalTexture),this._edgePass.setUniform("depthTexture",h.depthTexture),this._targetTexture=new _.a({type:m.a.HALF_FLOAT}),this._frameBuffer=new c.a,this._frameBuffer.attach(this._targetTexture)}u.prototype.update=function(h,r,n,a){var f=h.getWidth(),s=h.getHeight(),l=this._targetTexture;l.width=f,l.height=s;var d=this._frameBuffer;d.bind(h),this._edgePass.setUniform("projectionInv",r.invProjectionMatrix.array),this._edgePass.setUniform("textureSize",[f,s]),this._edgePass.setUniform("texture",n),this._edgePass.render(h),d.unbind(h)},u.prototype.getTargetTexture=function(){return this._targetTexture},u.prototype.setParameter=function(h,r){this._edgePass.setUniform(h,r)},u.prototype.dispose=function(h){this._targetTexture.dispose(h),this._frameBuffer.dispose(h)},O.a=u},function(K,O,E){"use strict";O.a={type:"compositor",nodes:[{name:"source",type:"texture",outputs:{color:{}}},{name:"source_half",shader:"#source(clay.compositor.downsample)",inputs:{texture:"source"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0, height * 1.0] )"}},{name:"bright",shader:"#source(clay.compositor.bright)",inputs:{texture:"source_half"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{threshold:2,scale:4,textureSize:"expr([width * 1.0 / 2, height / 2])"}},{name:"bright_downsample_4",shader:"#source(clay.compositor.downsample)",inputs:{texture:"bright"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 4)",height:"expr(height * 1.0 / 4)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0 / 2, height / 2] )"}},{name:"bright_downsample_8",shader:"#source(clay.compositor.downsample)",inputs:{texture:"bright_downsample_4"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 8)",height:"expr(height * 1.0 / 8)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0 / 4, height / 4] )"}},{name:"bright_downsample_16",shader:"#source(clay.compositor.downsample)",inputs:{texture:"bright_downsample_8"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 16)",height:"expr(height * 1.0 / 16)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0 / 8, height / 8] )"}},{name:"bright_downsample_32",shader:"#source(clay.compositor.downsample)",inputs:{texture:"bright_downsample_16"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 32)",height:"expr(height * 1.0 / 32)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0 / 16, height / 16] )"}},{name:"bright_upsample_16_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_downsample_32"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 16)",height:"expr(height * 1.0 / 16)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 32, height / 32] )"}},{name:"bright_upsample_16_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_16_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 16)",height:"expr(height * 1.0 / 16)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0 / 16, height * 1.0 / 16] )"}},{name:"bright_upsample_8_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_downsample_16"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 8)",height:"expr(height * 1.0 / 8)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 16, height * 1.0 / 16] )"}},{name:"bright_upsample_8_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_8_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 8)",height:"expr(height * 1.0 / 8)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0 / 8, height * 1.0 / 8] )"}},{name:"bright_upsample_8_blend",shader:"#source(clay.compositor.blend)",inputs:{texture1:"bright_upsample_8_blur_v",texture2:"bright_upsample_16_blur_v"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 8)",height:"expr(height * 1.0 / 8)",type:"HALF_FLOAT"}}},parameters:{weight1:.3,weight2:.7}},{name:"bright_upsample_4_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_downsample_8"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 4)",height:"expr(height * 1.0 / 4)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 8, height * 1.0 / 8] )"}},{name:"bright_upsample_4_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_4_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 4)",height:"expr(height * 1.0 / 4)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0 / 4, height * 1.0 / 4] )"}},{name:"bright_upsample_4_blend",shader:"#source(clay.compositor.blend)",inputs:{texture1:"bright_upsample_4_blur_v",texture2:"bright_upsample_8_blend"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 4)",height:"expr(height * 1.0 / 4)",type:"HALF_FLOAT"}}},parameters:{weight1:.3,weight2:.7}},{name:"bright_upsample_2_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_downsample_4"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 4, height * 1.0 / 4] )"}},{name:"bright_upsample_2_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_2_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0 / 2, height * 1.0 / 2] )"}},{name:"bright_upsample_2_blend",shader:"#source(clay.compositor.blend)",inputs:{texture1:"bright_upsample_2_blur_v",texture2:"bright_upsample_4_blend"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{weight1:.3,weight2:.7}},{name:"bright_upsample_full_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 2, height * 1.0 / 2] )"}},{name:"bright_upsample_full_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_full_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0, height * 1.0] )"}},{name:"bloom_composite",shader:"#source(clay.compositor.blend)",inputs:{texture1:"bright_upsample_full_blur_v",texture2:"bright_upsample_2_blend"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{weight1:.3,weight2:.7}},{name:"coc",shader:"#source(ecgl.dof.coc)",outputs:{color:{parameters:{minFilter:"NEAREST",magFilter:"NEAREST",width:"expr(width * 1.0)",height:"expr(height * 1.0)"}}},parameters:{focalDist:50,focalRange:30}},{name:"dof_far_blur",shader:"#source(ecgl.dof.diskBlur)",inputs:{texture:"source",coc:"coc"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0, height * 1.0] )"}},{name:"dof_near_blur",shader:"#source(ecgl.dof.diskBlur)",inputs:{texture:"source",coc:"coc"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0, height * 1.0] )"},defines:{BLUR_NEARFIELD:null}},{name:"dof_coc_blur",shader:"#source(ecgl.dof.diskBlur)",inputs:{texture:"coc"},outputs:{color:{parameters:{minFilter:"NEAREST",magFilter:"NEAREST",width:"expr(width * 1.0)",height:"expr(height * 1.0)"}}},parameters:{textureSize:"expr( [width * 1.0, height * 1.0] )"},defines:{BLUR_COC:null}},{name:"dof_composite",shader:"#source(ecgl.dof.composite)",inputs:{original:"source",blurred:"dof_far_blur",nearfield:"dof_near_blur",coc:"coc",nearcoc:"dof_coc_blur"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}}},{name:"composite",shader:"#source(clay.compositor.hdr.composite)",inputs:{texture:"source",bloom:"bloom_composite"},defines:{}},{name:"FXAA",shader:"#source(clay.compositor.fxaa)",inputs:{texture:"composite"}}]}},function(K,O,E){"use strict";O.a=`@export clay.compositor.kernel.gaussian_9
|
|
float gaussianKernel[9];
|
|
gaussianKernel[0] = 0.07;
|
|
gaussianKernel[1] = 0.09;
|
|
gaussianKernel[2] = 0.12;
|
|
gaussianKernel[3] = 0.14;
|
|
gaussianKernel[4] = 0.16;
|
|
gaussianKernel[5] = 0.14;
|
|
gaussianKernel[6] = 0.12;
|
|
gaussianKernel[7] = 0.09;
|
|
gaussianKernel[8] = 0.07;
|
|
@end
|
|
@export clay.compositor.kernel.gaussian_13
|
|
float gaussianKernel[13];
|
|
gaussianKernel[0] = 0.02;
|
|
gaussianKernel[1] = 0.03;
|
|
gaussianKernel[2] = 0.06;
|
|
gaussianKernel[3] = 0.08;
|
|
gaussianKernel[4] = 0.11;
|
|
gaussianKernel[5] = 0.13;
|
|
gaussianKernel[6] = 0.14;
|
|
gaussianKernel[7] = 0.13;
|
|
gaussianKernel[8] = 0.11;
|
|
gaussianKernel[9] = 0.08;
|
|
gaussianKernel[10] = 0.06;
|
|
gaussianKernel[11] = 0.03;
|
|
gaussianKernel[12] = 0.02;
|
|
@end
|
|
@export clay.compositor.gaussian_blur
|
|
#define SHADER_NAME gaussian_blur
|
|
uniform sampler2D texture;varying vec2 v_Texcoord;
|
|
uniform float blurSize : 2.0;
|
|
uniform vec2 textureSize : [512.0, 512.0];
|
|
uniform float blurDir : 0.0;
|
|
@import clay.util.rgbm
|
|
@import clay.util.clamp_sample
|
|
void main (void)
|
|
{
|
|
@import clay.compositor.kernel.gaussian_9
|
|
vec2 off = blurSize / textureSize;
|
|
off *= vec2(1.0 - blurDir, blurDir);
|
|
vec4 sum = vec4(0.0);
|
|
float weightAll = 0.0;
|
|
for (int i = 0; i < 9; i++) {
|
|
float w = gaussianKernel[i];
|
|
vec4 texel = decodeHDR(clampSample(texture, v_Texcoord + float(i - 4) * off));
|
|
sum += texel * w;
|
|
weightAll += w;
|
|
}
|
|
gl_FragColor = encodeHDR(sum / max(weightAll, 0.01));
|
|
}
|
|
@end
|
|
`},function(K,O,E){"use strict";O.a=`
|
|
@export clay.compositor.lut
|
|
varying vec2 v_Texcoord;
|
|
uniform sampler2D texture;
|
|
uniform sampler2D lookup;
|
|
void main()
|
|
{
|
|
vec4 tex = texture2D(texture, v_Texcoord);
|
|
float blueColor = tex.b * 63.0;
|
|
vec2 quad1;
|
|
quad1.y = floor(floor(blueColor) / 8.0);
|
|
quad1.x = floor(blueColor) - (quad1.y * 8.0);
|
|
vec2 quad2;
|
|
quad2.y = floor(ceil(blueColor) / 8.0);
|
|
quad2.x = ceil(blueColor) - (quad2.y * 8.0);
|
|
vec2 texPos1;
|
|
texPos1.x = (quad1.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * tex.r);
|
|
texPos1.y = (quad1.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * tex.g);
|
|
vec2 texPos2;
|
|
texPos2.x = (quad2.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * tex.r);
|
|
texPos2.y = (quad2.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * tex.g);
|
|
vec4 newColor1 = texture2D(lookup, texPos1);
|
|
vec4 newColor2 = texture2D(lookup, texPos2);
|
|
vec4 newColor = mix(newColor1, newColor2, fract(blueColor));
|
|
gl_FragColor = vec4(newColor.rgb, tex.w);
|
|
}
|
|
@end`},function(K,O,E){"use strict";O.a=`@export clay.compositor.output
|
|
#define OUTPUT_ALPHA
|
|
varying vec2 v_Texcoord;
|
|
uniform sampler2D texture;
|
|
@import clay.util.rgbm
|
|
void main()
|
|
{
|
|
vec4 tex = decodeHDR(texture2D(texture, v_Texcoord));
|
|
gl_FragColor.rgb = tex.rgb;
|
|
#ifdef OUTPUT_ALPHA
|
|
gl_FragColor.a = tex.a;
|
|
#else
|
|
gl_FragColor.a = 1.0;
|
|
#endif
|
|
gl_FragColor = encodeHDR(gl_FragColor);
|
|
#ifdef PREMULTIPLY_ALPHA
|
|
gl_FragColor.rgb *= gl_FragColor.a;
|
|
#endif
|
|
}
|
|
@end`},function(K,O,E){"use strict";O.a=`@export clay.compositor.bright
|
|
uniform sampler2D texture;
|
|
uniform float threshold : 1;
|
|
uniform float scale : 1.0;
|
|
uniform vec2 textureSize: [512, 512];
|
|
varying vec2 v_Texcoord;
|
|
const vec3 lumWeight = vec3(0.2125, 0.7154, 0.0721);
|
|
@import clay.util.rgbm
|
|
vec4 median(vec4 a, vec4 b, vec4 c)
|
|
{
|
|
return a + b + c - min(min(a, b), c) - max(max(a, b), c);
|
|
}
|
|
void main()
|
|
{
|
|
vec4 texel = decodeHDR(texture2D(texture, v_Texcoord));
|
|
#ifdef ANTI_FLICKER
|
|
vec3 d = 1.0 / textureSize.xyx * vec3(1.0, 1.0, 0.0);
|
|
vec4 s1 = decodeHDR(texture2D(texture, v_Texcoord - d.xz));
|
|
vec4 s2 = decodeHDR(texture2D(texture, v_Texcoord + d.xz));
|
|
vec4 s3 = decodeHDR(texture2D(texture, v_Texcoord - d.zy));
|
|
vec4 s4 = decodeHDR(texture2D(texture, v_Texcoord + d.zy));
|
|
texel = median(median(texel, s1, s2), s3, s4);
|
|
#endif
|
|
float lum = dot(texel.rgb , lumWeight);
|
|
vec4 color;
|
|
if (lum > threshold && texel.a > 0.0)
|
|
{
|
|
color = vec4(texel.rgb * scale, texel.a * scale);
|
|
}
|
|
else
|
|
{
|
|
color = vec4(0.0);
|
|
}
|
|
gl_FragColor = encodeHDR(color);
|
|
}
|
|
@end
|
|
`},function(K,O,E){"use strict";O.a=`@export clay.compositor.downsample
|
|
uniform sampler2D texture;
|
|
uniform vec2 textureSize : [512, 512];
|
|
varying vec2 v_Texcoord;
|
|
@import clay.util.rgbm
|
|
float brightness(vec3 c)
|
|
{
|
|
return max(max(c.r, c.g), c.b);
|
|
}
|
|
@import clay.util.clamp_sample
|
|
void main()
|
|
{
|
|
vec4 d = vec4(-1.0, -1.0, 1.0, 1.0) / textureSize.xyxy;
|
|
#ifdef ANTI_FLICKER
|
|
vec3 s1 = decodeHDR(clampSample(texture, v_Texcoord + d.xy)).rgb;
|
|
vec3 s2 = decodeHDR(clampSample(texture, v_Texcoord + d.zy)).rgb;
|
|
vec3 s3 = decodeHDR(clampSample(texture, v_Texcoord + d.xw)).rgb;
|
|
vec3 s4 = decodeHDR(clampSample(texture, v_Texcoord + d.zw)).rgb;
|
|
float s1w = 1.0 / (brightness(s1) + 1.0);
|
|
float s2w = 1.0 / (brightness(s2) + 1.0);
|
|
float s3w = 1.0 / (brightness(s3) + 1.0);
|
|
float s4w = 1.0 / (brightness(s4) + 1.0);
|
|
float oneDivideSum = 1.0 / (s1w + s2w + s3w + s4w);
|
|
vec4 color = vec4(
|
|
(s1 * s1w + s2 * s2w + s3 * s3w + s4 * s4w) * oneDivideSum,
|
|
1.0
|
|
);
|
|
#else
|
|
vec4 color = decodeHDR(clampSample(texture, v_Texcoord + d.xy));
|
|
color += decodeHDR(clampSample(texture, v_Texcoord + d.zy));
|
|
color += decodeHDR(clampSample(texture, v_Texcoord + d.xw));
|
|
color += decodeHDR(clampSample(texture, v_Texcoord + d.zw));
|
|
color *= 0.25;
|
|
#endif
|
|
gl_FragColor = encodeHDR(color);
|
|
}
|
|
@end`},function(K,O,E){"use strict";O.a=`
|
|
@export clay.compositor.upsample
|
|
#define HIGH_QUALITY
|
|
uniform sampler2D texture;
|
|
uniform vec2 textureSize : [512, 512];
|
|
uniform float sampleScale: 0.5;
|
|
varying vec2 v_Texcoord;
|
|
@import clay.util.rgbm
|
|
@import clay.util.clamp_sample
|
|
void main()
|
|
{
|
|
#ifdef HIGH_QUALITY
|
|
vec4 d = vec4(1.0, 1.0, -1.0, 0.0) / textureSize.xyxy * sampleScale;
|
|
vec4 s;
|
|
s = decodeHDR(clampSample(texture, v_Texcoord - d.xy));
|
|
s += decodeHDR(clampSample(texture, v_Texcoord - d.wy)) * 2.0;
|
|
s += decodeHDR(clampSample(texture, v_Texcoord - d.zy));
|
|
s += decodeHDR(clampSample(texture, v_Texcoord + d.zw)) * 2.0;
|
|
s += decodeHDR(clampSample(texture, v_Texcoord )) * 4.0;
|
|
s += decodeHDR(clampSample(texture, v_Texcoord + d.xw)) * 2.0;
|
|
s += decodeHDR(clampSample(texture, v_Texcoord + d.zy));
|
|
s += decodeHDR(clampSample(texture, v_Texcoord + d.wy)) * 2.0;
|
|
s += decodeHDR(clampSample(texture, v_Texcoord + d.xy));
|
|
gl_FragColor = encodeHDR(s / 16.0);
|
|
#else
|
|
vec4 d = vec4(-1.0, -1.0, +1.0, +1.0) / textureSize.xyxy;
|
|
vec4 s;
|
|
s = decodeHDR(clampSample(texture, v_Texcoord + d.xy));
|
|
s += decodeHDR(clampSample(texture, v_Texcoord + d.zy));
|
|
s += decodeHDR(clampSample(texture, v_Texcoord + d.xw));
|
|
s += decodeHDR(clampSample(texture, v_Texcoord + d.zw));
|
|
gl_FragColor = encodeHDR(s / 4.0);
|
|
#endif
|
|
}
|
|
@end`},function(K,O,E){"use strict";O.a=`@export clay.compositor.hdr.composite
|
|
uniform sampler2D texture;
|
|
#ifdef BLOOM_ENABLED
|
|
uniform sampler2D bloom;
|
|
#endif
|
|
#ifdef LENSFLARE_ENABLED
|
|
uniform sampler2D lensflare;
|
|
uniform sampler2D lensdirt;
|
|
#endif
|
|
#ifdef LUM_ENABLED
|
|
uniform sampler2D lum;
|
|
#endif
|
|
#ifdef LUT_ENABLED
|
|
uniform sampler2D lut;
|
|
#endif
|
|
#ifdef COLOR_CORRECTION
|
|
uniform float brightness : 0.0;
|
|
uniform float contrast : 1.0;
|
|
uniform float saturation : 1.0;
|
|
#endif
|
|
#ifdef VIGNETTE
|
|
uniform float vignetteDarkness: 1.0;
|
|
uniform float vignetteOffset: 1.0;
|
|
#endif
|
|
uniform float exposure : 1.0;
|
|
uniform float bloomIntensity : 0.25;
|
|
uniform float lensflareIntensity : 1;
|
|
varying vec2 v_Texcoord;
|
|
@import clay.util.srgb
|
|
vec3 ACESToneMapping(vec3 color)
|
|
{
|
|
const float A = 2.51;
|
|
const float B = 0.03;
|
|
const float C = 2.43;
|
|
const float D = 0.59;
|
|
const float E = 0.14;
|
|
return (color * (A * color + B)) / (color * (C * color + D) + E);
|
|
}
|
|
float eyeAdaption(float fLum)
|
|
{
|
|
return mix(0.2, fLum, 0.5);
|
|
}
|
|
#ifdef LUT_ENABLED
|
|
vec3 lutTransform(vec3 color) {
|
|
float blueColor = color.b * 63.0;
|
|
vec2 quad1;
|
|
quad1.y = floor(floor(blueColor) / 8.0);
|
|
quad1.x = floor(blueColor) - (quad1.y * 8.0);
|
|
vec2 quad2;
|
|
quad2.y = floor(ceil(blueColor) / 8.0);
|
|
quad2.x = ceil(blueColor) - (quad2.y * 8.0);
|
|
vec2 texPos1;
|
|
texPos1.x = (quad1.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * color.r);
|
|
texPos1.y = (quad1.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * color.g);
|
|
vec2 texPos2;
|
|
texPos2.x = (quad2.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * color.r);
|
|
texPos2.y = (quad2.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * color.g);
|
|
vec4 newColor1 = texture2D(lut, texPos1);
|
|
vec4 newColor2 = texture2D(lut, texPos2);
|
|
vec4 newColor = mix(newColor1, newColor2, fract(blueColor));
|
|
return newColor.rgb;
|
|
}
|
|
#endif
|
|
@import clay.util.rgbm
|
|
void main()
|
|
{
|
|
vec4 texel = vec4(0.0);
|
|
vec4 originalTexel = vec4(0.0);
|
|
#ifdef TEXTURE_ENABLED
|
|
texel = decodeHDR(texture2D(texture, v_Texcoord));
|
|
originalTexel = texel;
|
|
#endif
|
|
#ifdef BLOOM_ENABLED
|
|
vec4 bloomTexel = decodeHDR(texture2D(bloom, v_Texcoord));
|
|
texel.rgb += bloomTexel.rgb * bloomIntensity;
|
|
texel.a += bloomTexel.a * bloomIntensity;
|
|
#endif
|
|
#ifdef LENSFLARE_ENABLED
|
|
texel += decodeHDR(texture2D(lensflare, v_Texcoord)) * texture2D(lensdirt, v_Texcoord) * lensflareIntensity;
|
|
#endif
|
|
texel.a = min(texel.a, 1.0);
|
|
#ifdef LUM_ENABLED
|
|
float fLum = texture2D(lum, vec2(0.5, 0.5)).r;
|
|
float adaptedLumDest = 3.0 / (max(0.1, 1.0 + 10.0*eyeAdaption(fLum)));
|
|
float exposureBias = adaptedLumDest * exposure;
|
|
#else
|
|
float exposureBias = exposure;
|
|
#endif
|
|
texel.rgb *= exposureBias;
|
|
texel.rgb = ACESToneMapping(texel.rgb);
|
|
texel = linearTosRGB(texel);
|
|
#ifdef LUT_ENABLED
|
|
texel.rgb = lutTransform(clamp(texel.rgb,vec3(0.0),vec3(1.0)));
|
|
#endif
|
|
#ifdef COLOR_CORRECTION
|
|
texel.rgb = clamp(texel.rgb + vec3(brightness), 0.0, 1.0);
|
|
texel.rgb = clamp((texel.rgb - vec3(0.5))*contrast+vec3(0.5), 0.0, 1.0);
|
|
float lum = dot(texel.rgb, vec3(0.2125, 0.7154, 0.0721));
|
|
texel.rgb = mix(vec3(lum), texel.rgb, saturation);
|
|
#endif
|
|
#ifdef VIGNETTE
|
|
vec2 uv = (v_Texcoord - vec2(0.5)) * vec2(vignetteOffset);
|
|
texel.rgb = mix(texel.rgb, vec3(1.0 - vignetteDarkness), dot(uv, uv));
|
|
#endif
|
|
gl_FragColor = encodeHDR(texel);
|
|
#ifdef DEBUG
|
|
#if DEBUG == 1
|
|
gl_FragColor = encodeHDR(decodeHDR(texture2D(texture, v_Texcoord)));
|
|
#elif DEBUG == 2
|
|
gl_FragColor = encodeHDR(decodeHDR(texture2D(bloom, v_Texcoord)) * bloomIntensity);
|
|
#elif DEBUG == 3
|
|
gl_FragColor = encodeHDR(decodeHDR(texture2D(lensflare, v_Texcoord) * lensflareIntensity));
|
|
#endif
|
|
#endif
|
|
if (originalTexel.a <= 0.01 && gl_FragColor.a > 1e-5) {
|
|
gl_FragColor.a = dot(gl_FragColor.rgb, vec3(0.2125, 0.7154, 0.0721));
|
|
}
|
|
#ifdef PREMULTIPLY_ALPHA
|
|
gl_FragColor.rgb *= gl_FragColor.a;
|
|
#endif
|
|
}
|
|
@end`},function(K,O,E){"use strict";O.a=`@export clay.compositor.blend
|
|
#define SHADER_NAME blend
|
|
#ifdef TEXTURE1_ENABLED
|
|
uniform sampler2D texture1;
|
|
uniform float weight1 : 1.0;
|
|
#endif
|
|
#ifdef TEXTURE2_ENABLED
|
|
uniform sampler2D texture2;
|
|
uniform float weight2 : 1.0;
|
|
#endif
|
|
#ifdef TEXTURE3_ENABLED
|
|
uniform sampler2D texture3;
|
|
uniform float weight3 : 1.0;
|
|
#endif
|
|
#ifdef TEXTURE4_ENABLED
|
|
uniform sampler2D texture4;
|
|
uniform float weight4 : 1.0;
|
|
#endif
|
|
#ifdef TEXTURE5_ENABLED
|
|
uniform sampler2D texture5;
|
|
uniform float weight5 : 1.0;
|
|
#endif
|
|
#ifdef TEXTURE6_ENABLED
|
|
uniform sampler2D texture6;
|
|
uniform float weight6 : 1.0;
|
|
#endif
|
|
varying vec2 v_Texcoord;
|
|
@import clay.util.rgbm
|
|
void main()
|
|
{
|
|
vec4 tex = vec4(0.0);
|
|
#ifdef TEXTURE1_ENABLED
|
|
tex += decodeHDR(texture2D(texture1, v_Texcoord)) * weight1;
|
|
#endif
|
|
#ifdef TEXTURE2_ENABLED
|
|
tex += decodeHDR(texture2D(texture2, v_Texcoord)) * weight2;
|
|
#endif
|
|
#ifdef TEXTURE3_ENABLED
|
|
tex += decodeHDR(texture2D(texture3, v_Texcoord)) * weight3;
|
|
#endif
|
|
#ifdef TEXTURE4_ENABLED
|
|
tex += decodeHDR(texture2D(texture4, v_Texcoord)) * weight4;
|
|
#endif
|
|
#ifdef TEXTURE5_ENABLED
|
|
tex += decodeHDR(texture2D(texture5, v_Texcoord)) * weight5;
|
|
#endif
|
|
#ifdef TEXTURE6_ENABLED
|
|
tex += decodeHDR(texture2D(texture6, v_Texcoord)) * weight6;
|
|
#endif
|
|
gl_FragColor = encodeHDR(tex);
|
|
}
|
|
@end`},function(K,O,E){"use strict";O.a=`@export clay.compositor.fxaa
|
|
uniform sampler2D texture;
|
|
uniform vec4 viewport : VIEWPORT;
|
|
varying vec2 v_Texcoord;
|
|
#define FXAA_REDUCE_MIN (1.0/128.0)
|
|
#define FXAA_REDUCE_MUL (1.0/8.0)
|
|
#define FXAA_SPAN_MAX 8.0
|
|
@import clay.util.rgbm
|
|
void main()
|
|
{
|
|
vec2 resolution = 1.0 / viewport.zw;
|
|
vec3 rgbNW = decodeHDR( texture2D( texture, ( gl_FragCoord.xy + vec2( -1.0, -1.0 ) ) * resolution ) ).xyz;
|
|
vec3 rgbNE = decodeHDR( texture2D( texture, ( gl_FragCoord.xy + vec2( 1.0, -1.0 ) ) * resolution ) ).xyz;
|
|
vec3 rgbSW = decodeHDR( texture2D( texture, ( gl_FragCoord.xy + vec2( -1.0, 1.0 ) ) * resolution ) ).xyz;
|
|
vec3 rgbSE = decodeHDR( texture2D( texture, ( gl_FragCoord.xy + vec2( 1.0, 1.0 ) ) * resolution ) ).xyz;
|
|
vec4 rgbaM = decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution ) );
|
|
vec3 rgbM = rgbaM.xyz;
|
|
float opacity = rgbaM.w;
|
|
vec3 luma = vec3( 0.299, 0.587, 0.114 );
|
|
float lumaNW = dot( rgbNW, luma );
|
|
float lumaNE = dot( rgbNE, luma );
|
|
float lumaSW = dot( rgbSW, luma );
|
|
float lumaSE = dot( rgbSE, luma );
|
|
float lumaM = dot( rgbM, luma );
|
|
float lumaMin = min( lumaM, min( min( lumaNW, lumaNE ), min( lumaSW, lumaSE ) ) );
|
|
float lumaMax = max( lumaM, max( max( lumaNW, lumaNE) , max( lumaSW, lumaSE ) ) );
|
|
vec2 dir;
|
|
dir.x = -((lumaNW + lumaNE) - (lumaSW + lumaSE));
|
|
dir.y = ((lumaNW + lumaSW) - (lumaNE + lumaSE));
|
|
float dirReduce = max( ( lumaNW + lumaNE + lumaSW + lumaSE ) * ( 0.25 * FXAA_REDUCE_MUL ), FXAA_REDUCE_MIN );
|
|
float rcpDirMin = 1.0 / ( min( abs( dir.x ), abs( dir.y ) ) + dirReduce );
|
|
dir = min( vec2( FXAA_SPAN_MAX, FXAA_SPAN_MAX),
|
|
max( vec2(-FXAA_SPAN_MAX, -FXAA_SPAN_MAX),
|
|
dir * rcpDirMin)) * resolution;
|
|
vec3 rgbA = decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution + dir * ( 1.0 / 3.0 - 0.5 ) ) ).xyz;
|
|
rgbA += decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution + dir * ( 2.0 / 3.0 - 0.5 ) ) ).xyz;
|
|
rgbA *= 0.5;
|
|
vec3 rgbB = decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution + dir * -0.5 ) ).xyz;
|
|
rgbB += decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution + dir * 0.5 ) ).xyz;
|
|
rgbB *= 0.25;
|
|
rgbB += rgbA * 0.5;
|
|
float lumaB = dot( rgbB, luma );
|
|
if ( ( lumaB < lumaMin ) || ( lumaB > lumaMax ) )
|
|
{
|
|
gl_FragColor = vec4( rgbA, opacity );
|
|
}
|
|
else {
|
|
gl_FragColor = vec4( rgbB, opacity );
|
|
}
|
|
}
|
|
@end`},function(K,O,E){"use strict";O.a=`@export ecgl.dof.coc
|
|
|
|
uniform sampler2D depth;
|
|
|
|
uniform float zNear: 0.1;
|
|
uniform float zFar: 2000;
|
|
|
|
uniform float focalDistance: 3;
|
|
uniform float focalRange: 1;
|
|
uniform float focalLength: 30;
|
|
uniform float fstop: 2.8;
|
|
|
|
varying vec2 v_Texcoord;
|
|
|
|
@import clay.util.encode_float
|
|
|
|
void main()
|
|
{
|
|
float z = texture2D(depth, v_Texcoord).r * 2.0 - 1.0;
|
|
|
|
float dist = 2.0 * zNear * zFar / (zFar + zNear - z * (zFar - zNear));
|
|
|
|
float aperture = focalLength / fstop;
|
|
|
|
float coc;
|
|
|
|
float uppper = focalDistance + focalRange;
|
|
float lower = focalDistance - focalRange;
|
|
if (dist <= uppper && dist >= lower) {
|
|
coc = 0.5;
|
|
}
|
|
else {
|
|
float focalAdjusted = dist > uppper ? uppper : lower;
|
|
|
|
coc = abs(aperture * (focalLength * (dist - focalAdjusted)) / (dist * (focalAdjusted - focalLength)));
|
|
coc = clamp(coc, 0.0, 2.0) / 2.00001;
|
|
|
|
if (dist < lower) {
|
|
coc = -coc;
|
|
}
|
|
coc = coc * 0.5 + 0.5;
|
|
}
|
|
|
|
gl_FragColor = encodeFloat(coc);
|
|
}
|
|
@end
|
|
|
|
|
|
@export ecgl.dof.composite
|
|
|
|
#define DEBUG 0
|
|
|
|
uniform sampler2D original;
|
|
uniform sampler2D blurred;
|
|
uniform sampler2D nearfield;
|
|
uniform sampler2D coc;
|
|
uniform sampler2D nearcoc;
|
|
varying vec2 v_Texcoord;
|
|
|
|
@import clay.util.rgbm
|
|
@import clay.util.float
|
|
|
|
void main()
|
|
{
|
|
vec4 blurredColor = decodeHDR(texture2D(blurred, v_Texcoord));
|
|
vec4 originalColor = decodeHDR(texture2D(original, v_Texcoord));
|
|
|
|
float fCoc = decodeFloat(texture2D(coc, v_Texcoord));
|
|
|
|
fCoc = abs(fCoc * 2.0 - 1.0);
|
|
|
|
float weight = smoothstep(0.0, 1.0, fCoc);
|
|
|
|
#ifdef NEARFIELD_ENABLED
|
|
vec4 nearfieldColor = decodeHDR(texture2D(nearfield, v_Texcoord));
|
|
float fNearCoc = decodeFloat(texture2D(nearcoc, v_Texcoord));
|
|
fNearCoc = abs(fNearCoc * 2.0 - 1.0);
|
|
|
|
gl_FragColor = encodeHDR(
|
|
mix(
|
|
nearfieldColor, mix(originalColor, blurredColor, weight),
|
|
pow(1.0 - fNearCoc, 4.0)
|
|
)
|
|
);
|
|
#else
|
|
gl_FragColor = encodeHDR(mix(originalColor, blurredColor, weight));
|
|
#endif
|
|
|
|
}
|
|
|
|
@end
|
|
|
|
|
|
|
|
@export ecgl.dof.diskBlur
|
|
|
|
#define POISSON_KERNEL_SIZE 16;
|
|
|
|
uniform sampler2D texture;
|
|
uniform sampler2D coc;
|
|
varying vec2 v_Texcoord;
|
|
|
|
uniform float blurRadius : 10.0;
|
|
uniform vec2 textureSize : [512.0, 512.0];
|
|
|
|
uniform vec2 poissonKernel[POISSON_KERNEL_SIZE];
|
|
|
|
uniform float percent;
|
|
|
|
float nrand(const in vec2 n) {
|
|
return fract(sin(dot(n.xy ,vec2(12.9898,78.233))) * 43758.5453);
|
|
}
|
|
|
|
@import clay.util.rgbm
|
|
@import clay.util.float
|
|
|
|
|
|
void main()
|
|
{
|
|
vec2 offset = blurRadius / textureSize;
|
|
|
|
float rnd = 6.28318 * nrand(v_Texcoord + 0.07 * percent );
|
|
float cosa = cos(rnd);
|
|
float sina = sin(rnd);
|
|
vec4 basis = vec4(cosa, -sina, sina, cosa);
|
|
|
|
#if !defined(BLUR_NEARFIELD) && !defined(BLUR_COC)
|
|
offset *= abs(decodeFloat(texture2D(coc, v_Texcoord)) * 2.0 - 1.0);
|
|
#endif
|
|
|
|
#ifdef BLUR_COC
|
|
float cocSum = 0.0;
|
|
#else
|
|
vec4 color = vec4(0.0);
|
|
#endif
|
|
|
|
|
|
float weightSum = 0.0;
|
|
|
|
for (int i = 0; i < POISSON_KERNEL_SIZE; i++) {
|
|
vec2 ofs = poissonKernel[i];
|
|
|
|
ofs = vec2(dot(ofs, basis.xy), dot(ofs, basis.zw));
|
|
|
|
vec2 uv = v_Texcoord + ofs * offset;
|
|
vec4 texel = texture2D(texture, uv);
|
|
|
|
float w = 1.0;
|
|
#ifdef BLUR_COC
|
|
float fCoc = decodeFloat(texel) * 2.0 - 1.0;
|
|
cocSum += clamp(fCoc, -1.0, 0.0) * w;
|
|
#else
|
|
texel = decodeHDR(texel);
|
|
#if !defined(BLUR_NEARFIELD)
|
|
float fCoc = decodeFloat(texture2D(coc, uv)) * 2.0 - 1.0;
|
|
w *= abs(fCoc);
|
|
#endif
|
|
color += texel * w;
|
|
#endif
|
|
|
|
weightSum += w;
|
|
}
|
|
|
|
#ifdef BLUR_COC
|
|
gl_FragColor = encodeFloat(clamp(cocSum / weightSum, -1.0, 0.0) * 0.5 + 0.5);
|
|
#else
|
|
color /= weightSum;
|
|
gl_FragColor = encodeHDR(color);
|
|
#endif
|
|
}
|
|
|
|
@end`},function(K,O,E){"use strict";O.a=`@export ecgl.edge
|
|
|
|
uniform sampler2D texture;
|
|
|
|
uniform sampler2D normalTexture;
|
|
uniform sampler2D depthTexture;
|
|
|
|
uniform mat4 projectionInv;
|
|
|
|
uniform vec2 textureSize;
|
|
|
|
uniform vec4 edgeColor: [0,0,0,0.8];
|
|
|
|
varying vec2 v_Texcoord;
|
|
|
|
vec3 packColor(vec2 coord) {
|
|
float z = texture2D(depthTexture, coord).r * 2.0 - 1.0;
|
|
vec4 p = vec4(v_Texcoord * 2.0 - 1.0, z, 1.0);
|
|
vec4 p4 = projectionInv * p;
|
|
|
|
return vec3(
|
|
texture2D(normalTexture, coord).rg,
|
|
-p4.z / p4.w / 5.0
|
|
);
|
|
}
|
|
|
|
void main() {
|
|
vec2 cc = v_Texcoord;
|
|
vec3 center = packColor(cc);
|
|
|
|
float size = clamp(1.0 - (center.z - 10.0) / 100.0, 0.0, 1.0) * 0.5;
|
|
float dx = size / textureSize.x;
|
|
float dy = size / textureSize.y;
|
|
|
|
vec2 coord;
|
|
vec3 topLeft = packColor(cc+vec2(-dx, -dy));
|
|
vec3 top = packColor(cc+vec2(0.0, -dy));
|
|
vec3 topRight = packColor(cc+vec2(dx, -dy));
|
|
vec3 left = packColor(cc+vec2(-dx, 0.0));
|
|
vec3 right = packColor(cc+vec2(dx, 0.0));
|
|
vec3 bottomLeft = packColor(cc+vec2(-dx, dy));
|
|
vec3 bottom = packColor(cc+vec2(0.0, dy));
|
|
vec3 bottomRight = packColor(cc+vec2(dx, dy));
|
|
|
|
vec3 v = -topLeft-2.0*top-topRight+bottomLeft+2.0*bottom+bottomRight;
|
|
vec3 h = -bottomLeft-2.0*left-topLeft+bottomRight+2.0*right+topRight;
|
|
|
|
float edge = sqrt(dot(h, h) + dot(v, v));
|
|
|
|
edge = smoothstep(0.8, 1.0, edge);
|
|
|
|
gl_FragColor = mix(texture2D(texture, v_Texcoord), vec4(edgeColor.rgb, 1.0), edgeColor.a * edge);
|
|
}
|
|
@end`},function(K,O,E){"use strict";var M=E(43),A=E(14),_=E(10),m=E(5),x=E(7),g=E(9);function c(u){for(var h=[],r=0;r<30;r++)h.push([Object(M.a)(r,2),Object(M.a)(r,3)]);this._haltonSequence=h,this._frame=0,this._sourceTex=new m.a,this._sourceFb=new _.a,this._sourceFb.attach(this._sourceTex),this._prevFrameTex=new m.a,this._outputTex=new m.a;var n=this._blendPass=new A.a({fragment:x.a.source("clay.compositor.blend")});n.material.disableTexturesAll(),n.material.enableTexture(["texture1","texture2"]),this._blendFb=new _.a({depthBuffer:!1}),this._outputPass=new A.a({fragment:x.a.source("clay.compositor.output"),blendWithPrevious:!0}),this._outputPass.material.define("fragment","OUTPUT_ALPHA"),this._outputPass.material.blend=function(a){a.blendEquationSeparate(a.FUNC_ADD,a.FUNC_ADD),a.blendFuncSeparate(a.ONE,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA)}}c.prototype={constructor:c,jitterProjection:function(u,h){var r=u.viewport,n=r.devicePixelRatio||u.getDevicePixelRatio(),a=r.width*n,f=r.height*n,s=this._haltonSequence[this._frame%this._haltonSequence.length],l=new g.a;l.array[12]=(s[0]*2-1)/a,l.array[13]=(s[1]*2-1)/f,g.a.mul(h.projectionMatrix,l,h.projectionMatrix),g.a.invert(h.invProjectionMatrix,h.projectionMatrix)},resetFrame:function(){this._frame=0},getFrame:function(){return this._frame},getSourceFrameBuffer:function(){return this._sourceFb},getOutputTexture:function(){return this._outputTex},resize:function(u,h){this._prevFrameTex.width=u,this._prevFrameTex.height=h,this._outputTex.width=u,this._outputTex.height=h,this._sourceTex.width=u,this._sourceTex.height=h,this._prevFrameTex.dirty(),this._outputTex.dirty(),this._sourceTex.dirty()},isFinished:function(){return this._frame>=this._haltonSequence.length},render:function(u,h,r){var n=this._blendPass;this._frame===0?(n.setUniform("weight1",0),n.setUniform("weight2",1)):(n.setUniform("weight1",.9),n.setUniform("weight2",.1)),n.setUniform("texture1",this._prevFrameTex),n.setUniform("texture2",h||this._sourceTex),this._blendFb.attach(this._outputTex),this._blendFb.bind(u),n.render(u),this._blendFb.unbind(u),r||(this._outputPass.setUniform("texture",this._outputTex),this._outputPass.render(u));var a=this._prevFrameTex;this._prevFrameTex=this._outputTex,this._outputTex=a,this._frame++},dispose:function(u){this._sourceFb.dispose(u),this._blendFb.dispose(u),this._prevFrameTex.dispose(u),this._outputTex.dispose(u),this._sourceTex.dispose(u),this._outputPass.dispose(u),this._blendPass.dispose(u)}},O.a=c},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(184),m=E(185),x=E(82);A.a.registerAction({type:"geo3DChangeCamera",event:"geo3dcamerachanged",update:"series:updateCamera"},function(g,c){c.eachComponent({mainType:"geo3D",query:g},function(u){u.setView(g)})})},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(38),m=E(31),x=E(32),g=E(26),c=E(80),u=A.a.extendComponentModel({type:"geo3D",layoutMode:"box",coordinateSystem:null,optionUpdated:function(){var r=this.option;r.regions=this.getFilledRegions(r.regions,r.map);var n=A.a.helper.completeDimensions(["value"],r.data,{encodeDef:this.get("encode"),dimsDef:this.get("dimensions")}),a=new A.a.List(n,this);a.initData(r.regions);var f={};a.each(function(s){var l=a.getName(s),d=a.getItemModel(s);f[l]=d}),this._regionModelMap=f,this._data=a},getData:function(){return this._data},getRegionModel:function(r){var n=this.getData().getName(r);return this._regionModelMap[n]||new A.a.Model(null,this)},getRegionPolygonCoords:function(r){var n=this.getData().getName(r),a=this.coordinateSystem.getRegion(n);return a?a.geometries:[]},getFormattedLabel:function(r,n){var a=this._data.getName(r),f=this.getRegionModel(a),s=f.get(n==="normal"?["label","formatter"]:["emphasis","label","formatter"]);s==null&&(s=f.get(["label","formatter"]));var l={name:a};if(typeof s=="function")return l.status=n,s(l);if(typeof s=="string"){var d=l.seriesName;return s.replace("{a}",d!=null?d:"")}else return a},defaultOption:{regions:[]}});A.a.util.merge(u.prototype,c.a),A.a.util.merge(u.prototype,_.a),A.a.util.merge(u.prototype,m.a),A.a.util.merge(u.prototype,x.a),A.a.util.merge(u.prototype,g.a);var h=u},function(K,O,E){"use strict";var M=E(59),A=E(0),_=E.n(A),m=E(2),x=E(39),g=E(34),c=_.a.extendComponentView({type:"geo3D",__ecgl__:!0,init:function(u,h){this._geo3DBuilder=new M.a(h),this.groupGL=new m.a.Node,this._lightRoot=new m.a.Node,this._sceneHelper=new g.a(this._lightRoot),this._sceneHelper.initLight(this._lightRoot),this._control=new x.a({zr:h.getZr()}),this._control.init()},render:function(u,h,r){this.groupGL.add(this._geo3DBuilder.rootNode);var n=u.coordinateSystem;if(!(!n||!n.viewGL)){n.viewGL.add(this._lightRoot),u.get("show")?n.viewGL.add(this.groupGL):n.viewGL.remove(this.groupGL);var a=this._control;a.setViewGL(n.viewGL);var f=u.getModel("viewControl");a.setFromViewControlModel(f,0),this._sceneHelper.setScene(n.viewGL.scene),this._sceneHelper.updateLight(u),n.viewGL.setPostEffect(u.getModel("postEffect"),r),n.viewGL.setTemporalSuperSampling(u.getModel("temporalSuperSampling")),this._geo3DBuilder.update(u,h,r,0,u.getData().count());var s=n.viewGL.isLinearSpace()?"define":"undefine";this._geo3DBuilder.rootNode.traverse(function(l){l.material&&l.material[s]("fragment","SRGB_DECODE")}),a.off("update"),a.on("update",function(){r.dispatchAction({type:"geo3DChangeCamera",alpha:a.getAlpha(),beta:a.getBeta(),distance:a.getDistance(),center:a.getCenter(),from:this.uid,geo3DId:u.id})})}},afterRender:function(u,h,r,n){var a=n.renderer;this._sceneHelper.updateAmbientCubemap(a,u,r),this._sceneHelper.updateSkybox(a,u,r)},dispose:function(){this._control.dispose()}})},function(K,O,E){"use strict";O.a=M;function M(P,I,R){R=R||2;var B=I&&I.length,F=B?I[0]*R:P.length,W=A(P,0,F,R,!0),G=[];if(!W)return G;var j,Y,ee,ae,le,_e,he;if(B&&(W=h(P,I,W,R)),P.length>80*R){j=ee=P[0],Y=ae=P[1];for(var ve=R;ve<F;ve+=R)le=P[ve],_e=P[ve+1],le<j&&(j=le),_e<Y&&(Y=_e),le>ee&&(ee=le),_e>ae&&(ae=_e);he=Math.max(ee-j,ae-Y)}return m(W,G,R,j,Y,he),G}function A(P,I,R,B,F){var W,G;if(F===w(P,I,R,B)>0)for(W=I;W<R;W+=B)G=b(W,P[W],P[W+1],G);else for(W=R-B;W>=I;W-=B)G=b(W,P[W],P[W+1],G);return G&&o(G,G.next)&&(S(G),G=G.next),G}function _(P,I){if(!P)return P;I||(I=P);var R=P,B;do if(B=!1,!R.steiner&&(o(R,R.next)||i(R.prev,R,R.next)===0)){if(S(R),R=I=R.prev,R===R.next)return null;B=!0}else R=R.next;while(B||R!==I);return I}function m(P,I,R,B,F,W,G){if(P){!G&&W&&f(P,B,F,W);for(var j=P,Y,ee;P.prev!==P.next;){if(Y=P.prev,ee=P.next,W?g(P,B,F,W):x(P)){I.push(Y.i/R),I.push(P.i/R),I.push(ee.i/R),S(P),P=ee.next,j=ee.next;continue}if(P=ee,P===j){G?G===1?(P=c(P,I,R),m(P,I,R,B,F,W,2)):G===2&&u(P,I,R,B,F,W):m(_(P),I,R,B,F,W,1);break}}}}function x(P){var I=P.prev,R=P,B=P.next;if(i(I,R,B)>=0)return!1;for(var F=P.next.next;F!==P.prev;){if(e(I.x,I.y,R.x,R.y,B.x,B.y,F.x,F.y)&&i(F.prev,F,F.next)>=0)return!1;F=F.next}return!0}function g(P,I,R,B){var F=P.prev,W=P,G=P.next;if(i(F,W,G)>=0)return!1;for(var j=F.x<W.x?F.x<G.x?F.x:G.x:W.x<G.x?W.x:G.x,Y=F.y<W.y?F.y<G.y?F.y:G.y:W.y<G.y?W.y:G.y,ee=F.x>W.x?F.x>G.x?F.x:G.x:W.x>G.x?W.x:G.x,ae=F.y>W.y?F.y>G.y?F.y:G.y:W.y>G.y?W.y:G.y,le=l(j,Y,I,R,B),_e=l(ee,ae,I,R,B),he=P.nextZ;he&&he.z<=_e;){if(he!==P.prev&&he!==P.next&&e(F.x,F.y,W.x,W.y,G.x,G.y,he.x,he.y)&&i(he.prev,he,he.next)>=0)return!1;he=he.nextZ}for(he=P.prevZ;he&&he.z>=le;){if(he!==P.prev&&he!==P.next&&e(F.x,F.y,W.x,W.y,G.x,G.y,he.x,he.y)&&i(he.prev,he,he.next)>=0)return!1;he=he.prevZ}return!0}function c(P,I,R){var B=P;do{var F=B.prev,W=B.next.next;!o(F,W)&&v(F,B,B.next,W)&&p(F,W)&&p(W,F)&&(I.push(F.i/R),I.push(B.i/R),I.push(W.i/R),S(B),S(B.next),B=P=W),B=B.next}while(B!==P);return B}function u(P,I,R,B,F,W){var G=P;do{for(var j=G.next.next;j!==G.prev;){if(G.i!==j.i&&t(G,j)){var Y=D(G,j);G=_(G,G.next),Y=_(Y,Y.next),m(G,I,R,B,F,W),m(Y,I,R,B,F,W);return}j=j.next}G=G.next}while(G!==P)}function h(P,I,R,B){var F=[],W,G,j,Y,ee;for(W=0,G=I.length;W<G;W++)j=I[W]*B,Y=W<G-1?I[W+1]*B:P.length,ee=A(P,j,Y,B,!1),ee===ee.next&&(ee.steiner=!0),F.push(d(ee));for(F.sort(r),W=0;W<F.length;W++)n(F[W],R),R=_(R,R.next);return R}function r(P,I){return P.x-I.x}function n(P,I){if(I=a(P,I),I){var R=D(I,P);_(R,R.next)}}function a(P,I){var R=I,B=P.x,F=P.y,W=-1/0,G;do{if(F<=R.y&&F>=R.next.y&&R.next.y!==R.y){var j=R.x+(F-R.y)*(R.next.x-R.x)/(R.next.y-R.y);if(j<=B&&j>W){if(W=j,j===B){if(F===R.y)return R;if(F===R.next.y)return R.next}G=R.x<R.next.x?R:R.next}}R=R.next}while(R!==I);if(!G)return null;if(B===W)return G.prev;var Y=G,ee=G.x,ae=G.y,le=1/0,_e;for(R=G.next;R!==Y;)B>=R.x&&R.x>=ee&&B!==R.x&&e(F<ae?B:W,F,ee,ae,F<ae?W:B,F,R.x,R.y)&&(_e=Math.abs(F-R.y)/(B-R.x),(_e<le||_e===le&&R.x>G.x)&&p(R,P)&&(G=R,le=_e)),R=R.next;return G}function f(P,I,R,B){var F=P;do F.z===null&&(F.z=l(F.x,F.y,I,R,B)),F.prevZ=F.prev,F.nextZ=F.next,F=F.next;while(F!==P);F.prevZ.nextZ=null,F.prevZ=null,s(F)}function s(P){var I,R,B,F,W,G,j,Y,ee=1;do{for(R=P,P=null,W=null,G=0;R;){for(G++,B=R,j=0,I=0;I<ee&&(j++,B=B.nextZ,!!B);I++);for(Y=ee;j>0||Y>0&&B;)j!==0&&(Y===0||!B||R.z<=B.z)?(F=R,R=R.nextZ,j--):(F=B,B=B.nextZ,Y--),W?W.nextZ=F:P=F,F.prevZ=W,W=F;R=B}W.nextZ=null,ee*=2}while(G>1);return P}function l(P,I,R,B,F){return P=32767*(P-R)/F,I=32767*(I-B)/F,P=(P|P<<8)&16711935,P=(P|P<<4)&252645135,P=(P|P<<2)&858993459,P=(P|P<<1)&1431655765,I=(I|I<<8)&16711935,I=(I|I<<4)&252645135,I=(I|I<<2)&858993459,I=(I|I<<1)&1431655765,P|I<<1}function d(P){var I=P,R=P;do I.x<R.x&&(R=I),I=I.next;while(I!==P);return R}function e(P,I,R,B,F,W,G,j){return(F-G)*(I-j)-(P-G)*(W-j)>=0&&(P-G)*(B-j)-(R-G)*(I-j)>=0&&(R-G)*(W-j)-(F-G)*(B-j)>=0}function t(P,I){return P.next.i!==I.i&&P.prev.i!==I.i&&!y(P,I)&&p(P,I)&&p(I,P)&&C(P,I)}function i(P,I,R){return(I.y-P.y)*(R.x-I.x)-(I.x-P.x)*(R.y-I.y)}function o(P,I){return P.x===I.x&&P.y===I.y}function v(P,I,R,B){return o(P,I)&&o(R,B)||o(P,B)&&o(R,I)?!0:i(P,I,R)>0!=i(P,I,B)>0&&i(R,B,P)>0!=i(R,B,I)>0}function y(P,I){var R=P;do{if(R.i!==P.i&&R.next.i!==P.i&&R.i!==I.i&&R.next.i!==I.i&&v(R,R.next,P,I))return!0;R=R.next}while(R!==P);return!1}function p(P,I){return i(P.prev,P,P.next)<0?i(P,I,P.next)>=0&&i(P,P.prev,I)>=0:i(P,I,P.prev)<0||i(P,P.next,I)<0}function C(P,I){var R=P,B=!1,F=(P.x+I.x)/2,W=(P.y+I.y)/2;do R.y>W!=R.next.y>W&&R.next.y!==R.y&&F<(R.next.x-R.x)*(W-R.y)/(R.next.y-R.y)+R.x&&(B=!B),R=R.next;while(R!==P);return B}function D(P,I){var R=new L(P.i,P.x,P.y),B=new L(I.i,I.x,I.y),F=P.next,W=I.prev;return P.next=I,I.prev=P,R.next=F,F.prev=R,B.next=R,R.prev=B,W.next=B,B.prev=W,B}function b(P,I,R,B){var F=new L(P,I,R);return B?(F.next=B.next,F.prev=B,B.next.prev=F,B.next=F):(F.prev=F,F.next=F),F}function S(P){P.next.prev=P.prev,P.prev.next=P.next,P.prevZ&&(P.prevZ.nextZ=P.nextZ),P.nextZ&&(P.nextZ.prevZ=P.prevZ)}function L(P,I,R){this.i=P,this.x=I,this.y=R,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}M.deviation=function(P,I,R,B){var F=I&&I.length,W=F?I[0]*R:P.length,G=Math.abs(w(P,0,W,R));if(F)for(var j=0,Y=I.length;j<Y;j++){var ee=I[j]*R,ae=j<Y-1?I[j+1]*R:P.length;G-=Math.abs(w(P,ee,ae,R))}var le=0;for(j=0;j<B.length;j+=3){var _e=B[j]*R,he=B[j+1]*R,ve=B[j+2]*R;le+=Math.abs((P[_e]-P[ve])*(P[he+1]-P[_e+1])-(P[_e]-P[he])*(P[ve+1]-P[_e+1]))}return G===0&&le===0?0:Math.abs((le-G)/G)};function w(P,I,R,B){for(var F=0,W=I,G=R-B;W<R;W+=B)F+=(P[G]-P[W])*(P[W+1]+P[G+1]),G=W;return F}},function(K,O,E){var M=E(12),A={\u5357\u6D77\u8BF8\u5C9B:[32,80],\u5E7F\u4E1C:[0,-10],\u9999\u6E2F:[10,5],\u6FB3\u95E8:[-10,10],\u5929\u6D25:[5,5]};function _(m){M.each(m.regions,function(x){var g=A[x.name];if(g){var c=x.center;c[0]+=g[0]/10.5,c[1]+=-g[1]/(10.5/.75)}})}K.exports=_},function(K,O,E){var M=E(12),A={Russia:[100,60],"United States":[-99,38],"United States of America":[-99,38]};function _(m){M.each(m.regions,function(x){var g=A[x.name];if(g){var c=x.center;c[0]=g[0],c[1]=g[1]}})}K.exports=_},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(190),m=E(191),x=E(193);A.a.registerAction({type:"globeChangeCamera",event:"globecamerachanged",update:"series:updateCamera"},function(g,c){c.eachComponent({mainType:"globe",query:g},function(u){u.setView(g)})}),A.a.registerAction({type:"globeUpdateDisplacment",event:"globedisplacementupdated",update:"update"},function(g,c){})},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(38),m=E(31),x=E(32),g=E(26);function c(r,n){r.id=r.id||r.name||n+""}var u=A.a.extendComponentModel({type:"globe",layoutMode:"box",coordinateSystem:null,init:function(){u.superApply(this,"init",arguments),A.a.util.each(this.option.layers,function(r,n){A.a.util.merge(r,this.defaultLayerOption),c(r,n)},this)},mergeOption:function(r){var n=this.option.layers;this.option.layers=null,u.superApply(this,"mergeOption",arguments);function a(d){return A.a.util.reduce(d,function(e,t,i){return c(t,i),e[t.id]=t,e},{})}if(n&&n.length){var f=a(r.layers),s=a(n);for(var l in f)s[l]?A.a.util.merge(s[l],f[l],!0):n.push(r.layers[l]);this.option.layers=n}A.a.util.each(this.option.layers,function(d){A.a.util.merge(d,this.defaultLayerOption)},this)},optionUpdated:function(){this.updateDisplacementHash()},defaultLayerOption:{show:!0,type:"overlay"},defaultOption:{show:!0,zlevel:-10,left:0,top:0,width:"100%",height:"100%",environment:"auto",baseColor:"#fff",baseTexture:"",heightTexture:"",displacementTexture:"",displacementScale:0,displacementQuality:"medium",globeRadius:100,globeOuterRadius:150,shading:"lambert",light:{main:{time:""}},viewControl:{autoRotate:!0,panSensitivity:0,targetCoord:null},layers:[]},setDisplacementData:function(r,n,a){this.displacementData=r,this.displacementWidth=n,this.displacementHeight=a},getDisplacementTexture:function(){return this.get("displacementTexture")||this.get("heightTexture")},getDisplacemenScale:function(){var r=this.getDisplacementTexture(),n=this.get("displacementScale");return(!r||r==="none")&&(n=0),n},hasDisplacement:function(){return this.getDisplacemenScale()>0},_displacementChanged:!0,_displacementScale:0,updateDisplacementHash:function(){var r=this.getDisplacementTexture(),n=this.getDisplacemenScale();this._displacementChanged=this._displacementTexture!==r||this._displacementScale!==n,this._displacementTexture=r,this._displacementScale=n},isDisplacementChanged:function(){return this._displacementChanged}});A.a.util.merge(u.prototype,_.a),A.a.util.merge(u.prototype,m.a),A.a.util.merge(u.prototype,x.a),A.a.util.merge(u.prototype,g.a);var h=u},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(2),m=E(39),x=E(34),g=E(192),c=E(3),u=A.a.extendComponentView({type:"globe",__ecgl__:!0,_displacementScale:0,init:function(h,r){this.groupGL=new _.a.Node,this._sphereGeometry=new _.a.SphereGeometry({widthSegments:200,heightSegments:100,dynamic:!0}),this._overlayGeometry=new _.a.SphereGeometry({widthSegments:80,heightSegments:40}),this._planeGeometry=new _.a.PlaneGeometry,this._earthMesh=new _.a.Mesh({renderNormal:!0}),this._lightRoot=new _.a.Node,this._sceneHelper=new x.a,this._sceneHelper.initLight(this._lightRoot),this.groupGL.add(this._earthMesh),this._control=new m.a({zr:r.getZr()}),this._control.init(),this._layerMeshes={}},render:function(h,r,n){var a=h.coordinateSystem,f=h.get("shading");a.viewGL.add(this._lightRoot),h.get("show")?a.viewGL.add(this.groupGL):a.viewGL.remove(this.groupGL),this._sceneHelper.setScene(a.viewGL.scene),a.viewGL.setPostEffect(h.getModel("postEffect"),n),a.viewGL.setTemporalSuperSampling(h.getModel("temporalSuperSampling"));var s=this._earthMesh;s.geometry=this._sphereGeometry;var l="ecgl."+f;(!s.material||s.material.shader.name!==l)&&(s.material=_.a.createMaterial(l)),_.a.setMaterialFromModel(f,s.material,h,n),["roughnessMap","metalnessMap","detailMap","normalMap"].forEach(function(i){var o=s.material.get(i);o&&(o.flipY=!1)}),s.material.set("color",_.a.parseColor(h.get("baseColor")));var d=a.radius*.99;s.scale.set(d,d,d);var e=s.material.setTextureImage("diffuseMap",h.get("baseTexture"),n,{flipY:!1,anisotropic:8});e&&e.surface&&e.surface.attachToMesh(s);var t=s.material.setTextureImage("bumpMap",h.get("heightTexture"),n,{flipY:!1,anisotropic:8});t&&t.surface&&t.surface.attachToMesh(s),s.material[h.get("postEffect.enable")?"define":"undefine"]("fragment","SRGB_DECODE"),this._updateLight(h,n),this._displaceVertices(h,n),this._updateViewControl(h,n),this._updateLayers(h,n)},afterRender:function(h,r,n,a){var f=a.renderer;this._sceneHelper.updateAmbientCubemap(f,h,n),this._sceneHelper.updateSkybox(f,h,n)},_updateLayers:function(h,r){var n=h.coordinateSystem,a=h.get("layers"),f=n.radius,s=[],l=[],d=[],e=[];A.a.util.each(a,function(y){var p=new A.a.Model(y),C=p.get("type"),D=_.a.loadTexture(p.get("texture"),r,{flipY:!1,anisotropic:8});if(D.surface&&D.surface.attachToMesh(this._earthMesh),C==="blend"){var b=p.get("blendTo"),S=c.a.firstNotNull(p.get("intensity"),1);b==="emission"?(d.push(D),e.push(S)):(s.push(D),l.push(S))}else{var L=p.get("id"),w=this._layerMeshes[L];w||(w=this._layerMeshes[L]=new _.a.Mesh({geometry:this._overlayGeometry,castShadow:!1,ignorePicking:!0}));var P=p.get("shading");P==="lambert"?(w.material=w.__lambertMaterial||new _.a.Material({autoUpdateTextureStatus:!1,shader:_.a.createShader("ecgl.lambert"),transparent:!0,depthMask:!1}),w.__lambertMaterial=w.material):(w.material=w.__colorMaterial||new _.a.Material({autoUpdateTextureStatus:!1,shader:_.a.createShader("ecgl.color"),transparent:!0,depthMask:!1}),w.__colorMaterial=w.material),w.material.enableTexture("diffuseMap");var I=p.get("distance"),R=f+(I==null?n.radius/100:I);w.scale.set(R,R,R),f=R;var B=this._blankTexture||(this._blankTexture=_.a.createBlankTexture("rgba(255, 255, 255, 0)"));w.material.set("diffuseMap",B),_.a.loadTexture(p.get("texture"),r,{flipY:!1,anisotropic:8},function(F){F.surface&&F.surface.attachToMesh(w),w.material.set("diffuseMap",F),r.getZr().refresh()}),p.get("show")?this.groupGL.add(w):this.groupGL.remove(w)}},this);var t=this._earthMesh.material;t.define("fragment","LAYER_DIFFUSEMAP_COUNT",s.length),t.define("fragment","LAYER_EMISSIVEMAP_COUNT",d.length),t.set("layerDiffuseMap",s),t.set("layerDiffuseIntensity",l),t.set("layerEmissiveMap",d),t.set("layerEmissionIntensity",e);var i=h.getModel("debug.wireframe");if(i.get("show")){t.define("both","WIREFRAME_TRIANGLE");var o=_.a.parseColor(i.get("lineStyle.color")||"rgba(0,0,0,0.5)"),v=c.a.firstNotNull(i.get("lineStyle.width"),1);t.set("wireframeLineWidth",v),t.set("wireframeLineColor",o)}else t.undefine("both","WIREFRAME_TRIANGLE")},_updateViewControl:function(h,r){var n=h.coordinateSystem,a=h.getModel("viewControl"),f=n.viewGL.camera,s=this;function l(){return{type:"globeChangeCamera",alpha:d.getAlpha(),beta:d.getBeta(),distance:d.getDistance()-n.radius,center:d.getCenter(),from:s.uid,globeId:h.id}}var d=this._control;d.setViewGL(n.viewGL);var e=a.get("targetCoord"),t,i;e!=null&&(i=e[0]+90,t=e[1]),d.setFromViewControlModel(a,{baseDistance:n.radius,alpha:t,beta:i}),d.off("update"),d.on("update",function(){r.dispatchAction(l())})},_displaceVertices:function(h,r){var n=h.get("displacementQuality"),a=h.get("debug.wireframe.show"),f=h.coordinateSystem;if(!(!h.isDisplacementChanged()&&n===this._displacementQuality&&a===this._showDebugWireframe)){this._displacementQuality=n,this._showDebugWireframe=a;var s=this._sphereGeometry,l={low:100,medium:200,high:400,ultra:800}[n]||200,d=l/2;(s.widthSegments!==l||a)&&(s.widthSegments=l,s.heightSegments=d,s.build()),this._doDisplaceVertices(s,f),a&&s.generateBarycentric()}},_doDisplaceVertices:function(h,r){var n=h.attributes.position.value,a=h.attributes.texcoord0.value,f=h.__originalPosition;(!f||f.length!==n.length)&&(f=new Float32Array(n.length),f.set(n),h.__originalPosition=f);for(var s=r.displacementWidth,l=r.displacementHeight,d=r.displacementData,e=0;e<h.vertexCount;e++){var t=e*3,i=e*2,o=f[t+1],v=f[t+2],y=f[t+3],p=a[i++],C=a[i++],D=Math.round(p*(s-1)),b=Math.round(C*(l-1)),S=b*s+D,L=d?d[S]:0;n[t+1]=o+o*L,n[t+2]=v+v*L,n[t+3]=y+y*L}h.generateVertexNormals(),h.dirty(),h.updateBoundingBox()},_updateLight:function(h,r){var n=this._earthMesh;this._sceneHelper.updateLight(h);var a=this._sceneHelper.mainLight,f=h.get("light.main.time")||new Date,s=g.a.getPosition(A.a.number.parseDate(f),0,0),l=Math.cos(s.altitude);a.position.y=-l*Math.cos(s.azimuth),a.position.x=Math.sin(s.altitude),a.position.z=l*Math.sin(s.azimuth),a.lookAt(n.getWorldPosition())},dispose:function(h,r){this.groupGL.removeAll(),this._control.dispose()}})},function(K,O,E){"use strict";var M=Math.PI,A=Math.sin,_=Math.cos,m=Math.tan,x=Math.asin,g=Math.atan2,c=M/180,u=1e3*60*60*24,h=2440588,r=2451545;function n(p){return p.valueOf()/u-.5+h}function a(p){return n(p)-r}var f=c*23.4397;function s(p,C){return g(A(p)*_(f)-m(C)*A(f),_(p))}function l(p,C){return x(A(C)*_(f)+_(C)*A(f)*A(p))}function d(p,C,D){return g(A(p),_(p)*A(C)-m(D)*_(C))}function e(p,C,D){return x(A(C)*A(D)+_(C)*_(D)*_(p))}function t(p,C){return c*(280.16+360.9856235*p)-C}function i(p){return c*(357.5291+.98560028*p)}function o(p){var C=c*(1.9148*A(p)+.02*A(2*p)+3e-4*A(3*p)),D=c*102.9372;return p+C+D+M}function v(p){var C=i(p),D=o(C);return{dec:l(D,0),ra:s(D,0)}}var y={};y.getPosition=function(p,C,D){var b=c*-D,S=c*C,L=a(p),w=v(L),P=t(L,b)-w.ra;return{azimuth:d(P,S,w.dec),altitude:e(P,S,w.dec)}},O.a=y},function(K,O,E){"use strict";var M=E(194),A=E(0),_=E.n(A),m=E(41),x=E.n(m),g=E(20),c=E(3),u=E(2);function h(s,l){var d=document.createElement("canvas"),e=d.getContext("2d"),t=s.width,i=s.height;d.width=t,d.height=i,e.drawImage(s,0,0,t,i);for(var o=e.getImageData(0,0,t,i).data,v=new Float32Array(o.length/4),y=0;y<o.length/4;y++){var p=o[y*4];v[y]=p/255*l}return{data:v,width:t,height:i}}function r(s,l){var d=s.getBoxLayoutParams(),e=x.a.getLayoutRect(d,{width:l.getWidth(),height:l.getHeight()});e.y=l.getHeight()-e.y-e.height,this.viewGL.setViewport(e.x,e.y,e.width,e.height,l.getDevicePixelRatio()),this.radius=s.get("globeRadius");var t=s.get("globeOuterRadius");this.altitudeAxis&&this.altitudeAxis.setExtent(0,t-this.radius)}function n(s,l){var d=[1/0,-1/0];if(s.eachSeries(function(t){if(t.coordinateSystem===this){var i=t.getData(),o=t.coordDimToDataDim("alt")[0];if(o){var v=i.getDataExtent(o,!0);d[0]=Math.min(d[0],v[0]),d[1]=Math.max(d[1],v[1])}}},this),d&&isFinite(d[1]-d[0])){var e=_.a.helper.createScale(d,{type:"value",min:"dataMin",max:"dataMax"});this.altitudeAxis=new _.a.Axis("altitude",e),this.resize(this.model,l)}}var a={dimensions:M.a.prototype.dimensions,create:function(s,l){var d=[];return s.eachComponent("globe",function(e){e.__viewGL=e.__viewGL||new g.a;var t=new M.a;t.viewGL=e.__viewGL,e.coordinateSystem=t,t.model=e,d.push(t),t.resize=r,t.resize(e,l),t.update=n}),s.eachSeries(function(e){if(e.get("coordinateSystem")==="globe"){var t=e.getReferringComponents("globe")[0];if(t||(t=s.getComponent("globe")),!t)throw new Error('globe "'+c.a.firstNotNull(e.get("globe3DIndex"),e.get("globe3DId"),0)+'" not found');var i=t.coordinateSystem;e.coordinateSystem=i}}),s.eachComponent("globe",function(e,t){var i=e.coordinateSystem,o=e.getDisplacementTexture(),v=e.getDisplacemenScale();if(e.isDisplacementChanged()){if(e.hasDisplacement()){var y=!0;u.a.loadTexture(o,l,function(p){var C=p.image,D=h(C,v);e.setDisplacementData(D.data,D.width,D.height),y||l.dispatchAction({type:"globeUpdateDisplacment"})}),y=!1}else i.setDisplacementData(null,0,0);i.setDisplacementData(e.displacementData,e.displacementWidth,e.displacementHeight)}}),d}};_.a.registerCoordinateSystem("globe",a);var f=a},function(K,O,E){"use strict";var M=E(1),A=E.n(M),_=A.a.vec3;function m(x){this.radius=x,this.viewGL=null,this.altitudeAxis,this.displacementData=null,this.displacementWidth,this.displacementHeight}m.prototype={constructor:m,dimensions:["lng","lat","alt"],type:"globe",containPoint:function(){},setDisplacementData:function(x,g,c){this.displacementData=x,this.displacementWidth=g,this.displacementHeight=c},_getDisplacementScale:function(x,g){var c=(x+180)/360*(this.displacementWidth-1),u=(90-g)/180*(this.displacementHeight-1),h=Math.round(c)+Math.round(u)*this.displacementWidth;return this.displacementData[h]},dataToPoint:function(x,g){var c=x[0],u=x[1],h=x[2]||0,r=this.radius;this.displacementData&&(r*=1+this._getDisplacementScale(c,u)),this.altitudeAxis&&(r+=this.altitudeAxis.dataToCoord(h)),c=c*Math.PI/180,u=u*Math.PI/180;var n=Math.cos(u)*r;return g=g||[],g[0]=-n*Math.cos(c+Math.PI),g[1]=Math.sin(u)*r,g[2]=n*Math.sin(c+Math.PI),g},pointToData:function(x,g){var c=x[0],u=x[1],h=x[2],r=_.len(x);c/=r,u/=r,h/=r;var n=Math.asin(u),a=Math.atan2(h,-c);a<0&&(a=Math.PI*2+a);var f=n*180/Math.PI,s=a*180/Math.PI-180;return g=g||[],g[0]=s,g[1]=f,g[2]=r-this.radius,this.altitudeAxis&&(g[2]=this.altitudeAxis.coordToData(g[2])),g}},O.a=m},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(196),m=E(198),x=E(199);A.a.registerAction({type:"mapbox3DChangeCamera",event:"mapbox3dcamerachanged",update:"mapbox3D:updateCamera"},function(g,c){c.eachComponent({mainType:"mapbox3D",query:g},function(u){u.setMapboxCameraOption(g)})})},function(K,O,E){"use strict";var M=E(197),A=E(0),_=E.n(A),m=E(3),x=E(2),g=E(20);function c(n,a){var f=a.getWidth(),s=a.getHeight(),l=a.getDevicePixelRatio();this.viewGL.setViewport(0,0,f,s,l),this.width=f,this.height=s,this.altitudeScale=n.get("altitudeScale"),this.boxHeight=n.get("boxHeight")}function u(n,a){if(this.model.get("boxHeight")!=="auto"){var f=[1/0,-1/0];n.eachSeries(function(s){if(s.coordinateSystem===this){var l=s.getData(),d=s.coordDimToDataDim("alt")[0];if(d){var e=l.getDataExtent(d,!0);f[0]=Math.min(f[0],e[0]),f[1]=Math.max(f[1],e[1])}}},this),f&&isFinite(f[1]-f[0])&&(this.altitudeExtent=f)}}var h={dimensions:M.a.prototype.dimensions,create:function(n,a){var f=[];return n.eachComponent("mapbox3D",function(s){var l=s.__viewGL;l||(l=s.__viewGL=new g.a,l.setRootNode(new x.a.Node));var d=new M.a;d.viewGL=s.__viewGL,d.resize=c,d.resize(s,a),f.push(d),s.coordinateSystem=d,d.model=s,d.setCameraOption(s.getMapboxCameraOption()),d.update=u}),n.eachSeries(function(s){if(s.get("coordinateSystem")==="mapbox3D"){var l=s.getReferringComponents("mapbox3D")[0];if(l||(l=n.getComponent("mapbox3D")),!l)throw new Error('mapbox3D "'+m.a.firstNotNull(s.get("mapbox3DIndex"),s.get("mapbox3DId"),0)+'" not found');s.coordinateSystem=l.coordinateSystem}}),f}};_.a.registerCoordinateSystem("mapbox3D",h);var r=h},function(K,O,E){"use strict";var M=E(1),A=E.n(M),_=A.a.mat4,m=512,x=.6435011087932844,g=Math.PI,c=1/10;function u(){this.width=0,this.height=0,this.altitudeScale=1,this.boxHeight="auto",this.altitudeExtent,this.bearing=0,this.pitch=0,this.center=[0,0],this._origin,this.zoom=0,this._initialZoom}u.prototype={constructor:u,type:"mapbox3D",dimensions:["lng","lat","alt"],containPoint:function(){},setCameraOption:function(h){this.bearing=h.bearing,this.pitch=h.pitch,this.center=h.center,this.zoom=h.zoom,this._origin||(this._origin=this.projectOnTileWithScale(this.center,m)),this._initialZoom==null&&(this._initialZoom=this.zoom),this.updateTransform()},updateTransform:function(){if(this.height){var h=.5/Math.tan(x/2)*this.height*c,r=Math.max(Math.min(this.pitch,60),0)/180*Math.PI,n=x/2,a=Math.PI/2+r,f=Math.sin(n)*h/Math.sin(Math.PI-a-n),s=Math.cos(Math.PI/2-r)*f+h,l=s*1.1,d=new Float64Array(16);_.perspective(d,x,this.width/this.height,1,l),this.viewGL.camera.projectionMatrix.setArray(d),this.viewGL.camera.decomposeProjectionMatrix();var d=_.identity(new Float64Array(16)),e=this.dataToPoint(this.center);_.scale(d,d,[1,-1,1]),_.translate(d,d,[0,0,-h]),_.rotateX(d,d,r),_.rotateZ(d,d,-this.bearing/180*Math.PI),_.translate(d,d,[-e[0]*this.getScale()*c,-e[1]*this.getScale()*c,0]),this.viewGL.camera.viewMatrix.array=d;var t=new Float64Array(16);_.invert(t,d),this.viewGL.camera.worldTransform.array=t,this.viewGL.camera.decomposeWorldTransform();var i=m*this.getScale(),o;if(this.altitudeExtent&&!isNaN(this.boxHeight)){var v=this.altitudeExtent[1]-this.altitudeExtent[0];o=this.boxHeight/v*this.getScale()/Math.pow(2,this._initialZoom)}else o=i/(2*Math.PI*6378e3*Math.abs(Math.cos(this.center[1]*(Math.PI/180))))*this.altitudeScale*c;this.viewGL.rootNode.scale.set(this.getScale()*c,this.getScale()*c,o)}},getScale:function(){return Math.pow(2,this.zoom)},projectOnTile:function(h,r){return this.projectOnTileWithScale(h,this.getScale()*m,r)},projectOnTileWithScale:function(h,r,n){var a=h[0],f=h[1],s=a*g/180,l=f*g/180,d=r*(s+g)/(2*g),e=r*(g-Math.log(Math.tan(g/4+l*.5)))/(2*g);return n=n||[],n[0]=d,n[1]=e,n},unprojectFromTile:function(h,r){return this.unprojectOnTileWithScale(h,this.getScale()*m,r)},unprojectOnTileWithScale:function(h,r,n){var a=h[0],f=h[1],s=a/r*(2*g)-g,l=2*(Math.atan(Math.exp(g-f/r*(2*g)))-g/4);return n=n||[],n[0]=s*180/g,n[1]=l*180/g,n},dataToPoint:function(h,r){return r=this.projectOnTileWithScale(h,m,r),r[0]-=this._origin[0],r[1]-=this._origin[1],r[2]=isNaN(h[2])?0:h[2],isNaN(h[2])||(r[2]=h[2],this.altitudeExtent&&(r[2]-=this.altitudeExtent[0])),r}},O.a=u},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(31),m=E(32),x=["zoom","center","pitch","bearing"],g=A.a.extendComponentModel({type:"mapbox3D",layoutMode:"box",coordinateSystem:null,defaultOption:{zlevel:-10,style:"mapbox://styles/mapbox/light-v9",center:[0,0],zoom:0,pitch:0,bearing:0,light:{main:{alpha:20,beta:30}},altitudeScale:1,boxHeight:"auto"},getMapboxCameraOption:function(){var u=this;return x.reduce(function(h,r){return h[r]=u.get(r),h},{})},setMapboxCameraOption:function(u){u!=null&&x.forEach(function(h){u[h]!=null&&(this.option[h]=u[h])},this)},getMapbox:function(){return this._mapbox},setMapbox:function(u){this._mapbox=u}});A.a.util.merge(g.prototype,_.a),A.a.util.merge(g.prototype,m.a);var c=g},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(200),m=E(34),x=E(2),g=E(201);x.a.Shader.import(g.a);var c=512,u=A.a.extendComponentView({type:"mapbox3D",__ecgl__:!0,init:function(h,r){var n=r.getZr();this._zrLayer=new _.a("mapbox3D",n),n.painter.insertLayer(-1e3,this._zrLayer),this._lightRoot=new x.a.Node,this._sceneHelper=new m.a(this._lightRoot),this._sceneHelper.initLight(this._lightRoot);var a=this._zrLayer.getMapbox(),f=this._dispatchInteractAction.bind(this,r,a);["zoom","rotate","drag","pitch","rotate","move"].forEach(function(s){a.on(s,f)}),this._groundMesh=new x.a.Mesh({geometry:new x.a.PlaneGeometry,material:new x.a.Material({shader:new x.a.Shader({vertex:x.a.Shader.source("ecgl.displayShadow.vertex"),fragment:x.a.Shader.source("ecgl.displayShadow.fragment")}),depthMask:!1}),renderOrder:-100,culling:!1,castShadow:!1,$ignorePicking:!0,renderNormal:!0})},render:function(h,r,n){var a=this._zrLayer.getMapbox(),f=h.get("style"),s=JSON.stringify(f);s!==this._oldStyleStr&&f&&a.setStyle(f),this._oldStyleStr=s,a.setCenter(h.get("center")),a.setZoom(h.get("zoom")),a.setPitch(h.get("pitch")),a.setBearing(h.get("bearing")),h.setMapbox(a);var l=h.coordinateSystem;l.viewGL.scene.add(this._lightRoot),l.viewGL.add(this._groundMesh),this._updateGroundMesh(),this._sceneHelper.setScene(l.viewGL.scene),this._sceneHelper.updateLight(h),l.viewGL.setPostEffect(h.getModel("postEffect"),n),l.viewGL.setTemporalSuperSampling(h.getModel("temporalSuperSampling")),this._mapbox3DModel=h},afterRender:function(h,r,n,a){var f=a.renderer;this._sceneHelper.updateAmbientCubemap(f,h,n),this._sceneHelper.updateSkybox(f,h,n),h.coordinateSystem.viewGL.scene.traverse(function(s){s.material&&(s.material.define("fragment","NORMAL_UP_AXIS",2),s.material.define("fragment","NORMAL_FRONT_AXIS",1))})},updateCamera:function(h,r,n,a){h.coordinateSystem.setCameraOption(a),this._updateGroundMesh(),n.getZr().refresh()},_dispatchInteractAction:function(h,r,n){h.dispatchAction({type:"mapbox3DChangeCamera",pitch:r.getPitch(),zoom:r.getZoom(),center:r.getCenter().toArray(),bearing:r.getBearing(),mapbox3DId:this._mapbox3DModel&&this._mapbox3DModel.id})},_updateGroundMesh:function(){if(this._mapbox3DModel){var h=this._mapbox3DModel.coordinateSystem,r=h.dataToPoint(h.center);this._groundMesh.position.set(r[0],r[1],-.001);var n=new x.a.Plane(new x.a.Vector3(0,0,1),0),a=h.viewGL.camera.castRay(new x.a.Vector2(-1,-1)),f=h.viewGL.camera.castRay(new x.a.Vector2(1,1)),s=a.intersectPlane(n),l=f.intersectPlane(n),d=s.dist(l)/h.viewGL.rootNode.scale.x;this._groundMesh.scale.set(d,d,1)}},dispose:function(h,r){r.getZr().delLayer(-1e3)}})},function(K,O,E){"use strict";function M(_,m){if(this.id=_,this.zr=m,this.dom=document.createElement("div"),this.dom.style.cssText="position:absolute;left:0;right:0;top:0;bottom:0;",!mapboxgl)throw new Error("Mapbox GL library must be included. See https://www.mapbox.com/mapbox-gl-js/api/");this._mapbox=new mapboxgl.Map({container:this.dom}),this._initEvents()}M.prototype.resize=function(){this._mapbox.resize()},M.prototype.getMapbox=function(){return this._mapbox},M.prototype.clear=function(){},M.prototype.refresh=function(){this._mapbox.resize()};var A=["mousedown","mouseup","click","dblclick","mousemove","mousewheel","wheel","touchstart","touchend","touchmove","touchcancel"];M.prototype._initEvents=function(){var _=this._mapbox.getCanvasContainer();this._handlers=this._handlers||{contextmenu:function(m){return m.preventDefault(),!1}},A.forEach(function(m){this._handlers[m]=function(x){var g={};for(var c in x)g[c]=x[c];g.bubbles=!1;var u=new x.constructor(x.type,g);_.dispatchEvent(u)},this.zr.dom.addEventListener(m,this._handlers[m])},this),this.zr.dom.addEventListener("contextmenu",this._handlers.contextmenu)},M.prototype.dispose=function(){A.forEach(function(_){this.zr.dom.removeEventListener(_,this._handlers[_])},this)},O.a=M},function(K,O,E){"use strict";O.a=`
|
|
@export ecgl.displayShadow.vertex
|
|
|
|
@import ecgl.common.transformUniforms
|
|
|
|
@import ecgl.common.uv.header
|
|
|
|
@import ecgl.common.attributes
|
|
|
|
varying vec3 v_WorldPosition;
|
|
|
|
varying vec3 v_Normal;
|
|
|
|
void main()
|
|
{
|
|
@import ecgl.common.uv.main
|
|
v_Normal = normalize((worldInverseTranspose * vec4(normal, 0.0)).xyz);
|
|
|
|
v_WorldPosition = (world * vec4(position, 1.0)).xyz;
|
|
gl_Position = worldViewProjection * vec4(position, 1.0);
|
|
}
|
|
|
|
@end
|
|
|
|
|
|
@export ecgl.displayShadow.fragment
|
|
|
|
@import ecgl.common.uv.fragmentHeader
|
|
|
|
varying vec3 v_Normal;
|
|
varying vec3 v_WorldPosition;
|
|
|
|
uniform float roughness: 0.2;
|
|
|
|
#ifdef DIRECTIONAL_LIGHT_COUNT
|
|
@import clay.header.directional_light
|
|
#endif
|
|
|
|
@import ecgl.common.ssaoMap.header
|
|
|
|
@import clay.plugin.compute_shadow_map
|
|
|
|
void main()
|
|
{
|
|
float shadow = 1.0;
|
|
|
|
@import ecgl.common.ssaoMap.main
|
|
|
|
#if defined(DIRECTIONAL_LIGHT_COUNT) && defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
|
|
float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];
|
|
if(shadowEnabled)
|
|
{
|
|
computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);
|
|
}
|
|
for (int i = 0; i < DIRECTIONAL_LIGHT_COUNT; i++) {
|
|
shadow = min(shadow, shadowContribsDir[i] * 0.5 + 0.5);
|
|
}
|
|
#endif
|
|
|
|
shadow *= 0.5 + ao * 0.5;
|
|
shadow = clamp(shadow, 0.0, 1.0);
|
|
|
|
gl_FragColor = vec4(vec3(0.0), 1.0 - shadow);
|
|
}
|
|
|
|
@end`},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(203),m=E(206),x=E(208),g=E(16);A.a.registerVisual(Object(g.a)("bar3D")),A.a.registerProcessor(function(c,u){c.eachSeriesByType("bar3d",function(h){var r=h.getData();r.filterSelf(function(n){return r.hasValue(n)})})})},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(4),m=E(1),x=E.n(m),g=E(204),c=E(205),u=x.a.vec3;function h(a,f){var s=a.getData(),l=a.get("minHeight")||0,d=a.get("barSize"),e=["lng","lat","alt"].map(function(o){return a.coordDimToDataDim(o)[0]});if(d==null){var t=f.radius*Math.PI,i=Object(c.a)(s,e[0],e[1]);d=[t/Math.sqrt(s.count()/i),t/Math.sqrt(s.count()/i)]}else A.a.util.isArray(d)||(d=[d,d]);s.each(e,function(o,v,y,p){var C=s.get(e[2],p,!0),D=s.stackedOn?C-y:f.altitudeAxis.scale.getExtent()[0],b=Math.max(f.altitudeAxis.dataToCoord(y),l),S=f.dataToPoint([o,v,D]),L=f.dataToPoint([o,v,C]),w=u.sub([],L,S);u.normalize(w,w);var P=[d[0],b,d[1]];s.setItemLayout(p,[S,w,P])}),s.setLayout("orient",_.a.UP.array)}function r(a,f){var s=a.getData(),l=a.get("barSize"),d=a.get("minHeight")||0,e=["lng","lat","alt"].map(function(v){return a.coordDimToDataDim(v)[0]});if(l==null){var t=Math.min(f.size[0],f.size[2]),i=Object(c.a)(s,e[0],e[1]);l=[t/Math.sqrt(s.count()/i),t/Math.sqrt(s.count()/i)]}else A.a.util.isArray(l)||(l=[l,l]);var o=[0,1,0];s.each(e,function(v,y,p,C){var D=s.get(e[2],C,!0),b=s.stackedOn?D-p:f.altitudeAxis.scale.getExtent()[0],S=Math.max(f.altitudeAxis.dataToCoord(p),d),L=f.dataToPoint([v,y,b]),w=[l[0],S,l[1]];s.setItemLayout(C,[L,o,w])}),s.setLayout("orient",[1,0,0])}function n(a,f){var s=a.getData(),l=a.coordDimToDataDim("lng")[0],d=a.coordDimToDataDim("lat")[0],e=a.coordDimToDataDim("alt")[0],t=a.get("barSize"),i=a.get("minHeight")||0;if(t==null){var o=s.getDataExtent(l),v=s.getDataExtent(d),y=f.dataToPoint([o[0],v[0]]),p=f.dataToPoint([o[1],v[1]]),C=Math.min(Math.abs(y[0]-p[0]),Math.abs(y[1]-p[1]))||1,D=Object(c.a)(s,l,d);t=[C/Math.sqrt(s.count()/D),C/Math.sqrt(s.count()/D)]}else A.a.util.isArray(t)||(t=[t,t]),t[0]/=f.getScale()/16,t[1]/=f.getScale()/16;var b=[0,0,1];s.each([l,d,e],function(S,L,w,P){var I=s.get(e,P,!0),R=s.stackedOn?I-w:0,B=f.dataToPoint([S,L,R]),F=f.dataToPoint([S,L,I]),W=Math.max(F[2]-B[2],i),G=[t[0],W,t[1]];s.setItemLayout(P,[B,b,G])}),s.setLayout("orient",[1,0,0])}A.a.registerLayout(function(a,f){a.eachSeriesByType("bar3D",function(s){var l=s.coordinateSystem,d=l&&l.type;if(d==="globe")h(s,l);else if(d==="cartesian3D")Object(g.a)(s,l);else if(d==="geo3D")r(s,l);else if(d==="mapbox3D")n(s,l);else throw l?new Error("bar3D doesn't support coordinate system "+l.type):new Error("bar3D doesn't have coordinate system.")})})},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(1),m=E.n(_),x=m.a.vec3;function g(u){var h=u[0],r=u[1];return!(h>0&&r>0||h<0&&r<0)}function c(u,h){var r=u.getData(),n=u.get("barSize");if(n==null){var a=h.size,f,s,l=h.getAxis("x"),d=h.getAxis("y");l.type==="category"?f=l.getBandWidth()*.7:f=Math.round(a[0]/Math.sqrt(r.count()))*.6,d.type==="category"?s=d.getBandWidth()*.7:s=Math.round(a[1]/Math.sqrt(r.count()))*.6,n=[f,s]}else A.a.util.isArray(n)||(n=[n,n]);var e=h.getAxis("z").scale.getExtent(),t=g(e),i=["x","y","z"].map(function(o){return u.coordDimToDataDim(o)[0]});r.each(i,function(o,v,y,p){var C=r.get(i[2],p,!0),D=r.stackedOn?C-y:t?0:e[0],b=h.dataToPoint([o,v,D]),S=h.dataToPoint([o,v,C]),L=x.dist(b,S),w=[0,S[1]<b[1]?-1:1,0];Math.abs(L)===0&&(L=.1);var P=[n[0],L,n[1]];r.setItemLayout(p,[b,w,P])}),r.setLayout("orient",[1,0,0])}O.a=c},function(K,O,E){"use strict";O.a=function(M,A,_){for(var m=M.getDataExtent(A),x=M.getDataExtent(_),g=m[1]-m[0]||m[0],c=x[1]-x[0]||x[0],u=50,h=new Uint8Array(u*u),r=0;r<M.count();r++){var n=M.get(A,r),a=M.get(_,r),f=Math.floor((n-m[0])/g*(u-1)),s=Math.floor((a-x[0])/c*(u-1)),l=s*u+f;h[l]=h[l]||1}for(var d=0,r=0;r<h.length;r++)h[r]&&d++;return d/h.length}},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(2),m=E(3),x=E(27),g=E(207),c=E(61),u=E(1),h=E.n(u),r=h.a.vec3,n=A.a.extendChartView({type:"bar3D",__ecgl__:!0,init:function(a,f){this.groupGL=new _.a.Node,this._api=f,this._labelsBuilder=new c.a(256,256,f);var s=this;this._labelsBuilder.getLabelPosition=function(l,d,e){if(s._data){var t=s._data.getItemLayout(l),i=t[0],o=t[1],v=t[2][1];return r.scaleAndAdd([],i,o,e+v)}else return[0,0]},this._labelsBuilder.getMesh().renderOrder=100},render:function(a,f,s){var l=this._prevBarMesh;this._prevBarMesh=this._barMesh,this._barMesh=l,this._barMesh||(this._barMesh=new _.a.Mesh({geometry:new g.a,shadowDepthMaterial:new _.a.Material({shader:new _.a.Shader(_.a.Shader.source("ecgl.sm.depth.vertex"),_.a.Shader.source("ecgl.sm.depth.fragment"))}),culling:a.coordinateSystem.type==="cartesian3D",renderOrder:10,renderNormal:!0})),this.groupGL.remove(this._prevBarMesh),this.groupGL.add(this._barMesh),this.groupGL.add(this._labelsBuilder.getMesh());var d=a.coordinateSystem;if(this._doRender(a,s),d&&d.viewGL){d.viewGL.add(this.groupGL);var e=d.viewGL.isLinearSpace()?"define":"undefine";this._barMesh.material[e]("fragment","SRGB_DECODE")}this._data=a.getData(),this._labelsBuilder.updateData(this._data),this._labelsBuilder.updateLabels(),this._updateAnimation(a)},_updateAnimation:function(a){_.a.updateVertexAnimation([["prevPosition","position"],["prevNormal","normal"]],this._prevBarMesh,this._barMesh,a)},_doRender:function(a,f){var s=a.getData(),l=a.get("shading"),d=l!=="color",e=this,t=this._barMesh,i="ecgl."+l;(!t.material||t.material.shader.name!==i)&&(t.material=_.a.createMaterial(i,["VERTEX_COLOR"])),_.a.setMaterialFromModel(l,t.material,a,f),t.geometry.enableNormal=d,t.geometry.resetOffset();var o=a.get("bevelSize"),v=a.get("bevelSmoothness");t.geometry.bevelSegments=v,t.geometry.bevelSize=o;var y=[],p=new Float32Array(s.count()*4),C=0,L=0,D=!1;s.each(function(P){if(s.hasValue(P)){var I=s.getItemVisual(P,"color"),R=s.getItemVisual(P,"opacity");R==null&&(R=1),_.a.parseColor(I,y),y[3]*=R,p[C++]=y[0],p[C++]=y[1],p[C++]=y[2],p[C++]=y[3],y[3]>0&&(L++,y[3]<.99&&(D=!0))}}),t.geometry.setBarCount(L);var b=s.getLayout("orient"),S=this._barIndexOfData=new Int32Array(s.count()),L=0;s.each(function(P){if(!s.hasValue(P)){S[P]=-1;return}var I=s.getItemLayout(P),R=I[0],B=I[1],F=I[2],W=P*4;y[0]=p[W++],y[1]=p[W++],y[2]=p[W++],y[3]=p[W++],y[3]>0&&(e._barMesh.geometry.addBar(R,B,b,F,y,P),S[P]=L++)}),t.geometry.dirty(),t.geometry.updateBoundingBox();var w=t.material;w.transparent=D,w.depthMask=!D,t.geometry.sortTriangles=D,this._initHandler(a,f)},_initHandler:function(a,f){var s=a.getData(),l=this._barMesh,d=a.coordinateSystem.type==="cartesian3D";l.seriesIndex=a.seriesIndex;var e=-1;l.off("mousemove"),l.off("mouseout"),l.on("mousemove",function(t){var i=l.geometry.getDataIndexOfVertex(t.triangle[0]);i!==e&&(this._downplay(e),this._highlight(i),this._labelsBuilder.updateLabels([i]),d&&f.dispatchAction({type:"grid3DShowAxisPointer",value:[s.get("x",i),s.get("y",i),s.get("z",i,!0)]})),e=i,l.dataIndex=i},this),l.on("mouseout",function(t){this._downplay(e),this._labelsBuilder.updateLabels(),e=-1,l.dataIndex=-1,d&&f.dispatchAction({type:"grid3DHideAxisPointer"})},this)},_highlight:function(a){var f=this._data;if(f){var s=this._barIndexOfData[a];if(!(s<0)){var l=f.getItemModel(a),d=l.getModel("emphasis.itemStyle"),e=d.get("color"),t=d.get("opacity");if(e==null){var i=f.getItemVisual(a,"color");e=A.a.color.lift(i,-.4)}t==null&&(t=f.getItemVisual(a,"opacity"));var o=_.a.parseColor(e);o[3]*=t,this._barMesh.geometry.setColor(s,o),this._api.getZr().refresh()}}},_downplay:function(a){var f=this._data;if(f){var s=this._barIndexOfData[a];if(!(s<0)){var l=f.getItemVisual(a,"color"),d=f.getItemVisual(a,"opacity"),e=_.a.parseColor(l);e[3]*=d,this._barMesh.geometry.setColor(s,e),this._api.getZr().refresh()}}},highlight:function(a,f,s,l){this._toggleStatus("highlight",a,f,s,l)},downplay:function(a,f,s,l){this._toggleStatus("downplay",a,f,s,l)},_toggleStatus:function(a,f,s,l,d){var e=f.getData(),t=m.a.queryDataIndex(e,d),i=this;t!=null?A.a.util.each(x.a.normalizeToArray(t),function(o){a==="highlight"?this._highlight(o):this._downplay(o)},this):e.each(function(o){a==="highlight"?i._highlight(o):i._downplay(o)})},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(33),m=E(60),x=E(13),g=E(1),c=E.n(g),u=c.a.vec3,h=c.a.mat3,r=x.a.extend(function(){return{attributes:{position:new x.a.Attribute("position","float",3,"POSITION"),normal:new x.a.Attribute("normal","float",3,"NORMAL"),color:new x.a.Attribute("color","float",4,"COLOR"),prevPosition:new x.a.Attribute("prevPosition","float",3),prevNormal:new x.a.Attribute("prevNormal","float",3)},dynamic:!0,enableNormal:!1,bevelSize:1,bevelSegments:0,_dataIndices:null,_vertexOffset:0,_triangleOffset:0}},{resetOffset:function(){this._vertexOffset=0,this._triangleOffset=0},setBarCount:function(n){var a=this.enableNormal,f=this.getBarVertexCount()*n,s=this.getBarTriangleCount()*n;this.vertexCount!==f&&(this.attributes.position.init(f),a?this.attributes.normal.init(f):this.attributes.normal.value=null,this.attributes.color.init(f)),this.triangleCount!==s&&(this.indices=f>65535?new Uint32Array(s*3):new Uint16Array(s*3),this._dataIndices=new Uint32Array(f))},getBarVertexCount:function(){var n=this.bevelSize>0?this.bevelSegments:0;return n>0?this._getBevelBarVertexCount(n):this.enableNormal?24:8},getBarTriangleCount:function(){var n=this.bevelSize>0?this.bevelSegments:0;return n>0?this._getBevelBarTriangleCount(n):12},_getBevelBarVertexCount:function(n){return(n+1)*4*(n+1)*2},_getBevelBarTriangleCount:function(n){var a=n*4+3,f=n*2+1;return(a+1)*f*2+4},setColor:function(n,a){for(var f=this.getBarVertexCount(),s=f*n,l=f*(n+1),d=s;d<l;d++)this.attributes.color.set(d,a);this.dirtyAttribute("color")},getDataIndexOfVertex:function(n){return this._dataIndices?this._dataIndices[n]:null},addBar:function(){for(var n=u.create,a=u.scaleAndAdd,f=n(),s=n(),l=n(),d=n(),e=n(),t=n(),i=n(),o=[],v=[],y=0;y<8;y++)o[y]=n();for(var p=[[0,1,5,4],[2,3,7,6],[4,5,6,7],[3,2,1,0],[0,4,7,3],[1,2,6,5]],C=[0,1,2,0,2,3],D=[],y=0;y<p.length;y++)for(var b=p[y],S=0;S<2;S++){for(var L=[],w=0;w<3;w++)L.push(b[C[S*3+w]]);D.push(L)}return function(P,I,R,B,F,W){var G=this._vertexOffset;if(this.bevelSize>0&&this.bevelSegments>0)this._addBevelBar(P,I,R,B,this.bevelSize,this.bevelSegments,F);else{u.copy(l,I),u.normalize(l,l),u.cross(d,R,l),u.normalize(d,d),u.cross(s,l,d),u.normalize(d,d),u.negate(e,s),u.negate(t,l),u.negate(i,d),a(o[0],P,s,B[0]/2),a(o[0],o[0],d,B[2]/2),a(o[1],P,s,B[0]/2),a(o[1],o[1],i,B[2]/2),a(o[2],P,e,B[0]/2),a(o[2],o[2],i,B[2]/2),a(o[3],P,e,B[0]/2),a(o[3],o[3],d,B[2]/2),a(f,P,l,B[1]),a(o[4],f,s,B[0]/2),a(o[4],o[4],d,B[2]/2),a(o[5],f,s,B[0]/2),a(o[5],o[5],i,B[2]/2),a(o[6],f,e,B[0]/2),a(o[6],o[6],i,B[2]/2),a(o[7],f,e,B[0]/2),a(o[7],o[7],d,B[2]/2);var j=this.attributes;if(this.enableNormal){v[0]=s,v[1]=e,v[2]=l,v[3]=t,v[4]=d,v[5]=i;for(var Y=this._vertexOffset,ee=0;ee<p.length;ee++){for(var ae=this._triangleOffset*3,le=0;le<6;le++)this.indices[ae++]=Y+C[le];Y+=4,this._triangleOffset+=2}for(var ee=0;ee<p.length;ee++)for(var _e=v[ee],le=0;le<4;le++){var he=p[ee][le];j.position.set(this._vertexOffset,o[he]),j.normal.set(this._vertexOffset,_e),j.color.set(this._vertexOffset++,F)}}else{for(var ee=0;ee<D.length;ee++){for(var ae=this._triangleOffset*3,le=0;le<3;le++)this.indices[ae+le]=D[ee][le]+this._vertexOffset;this._triangleOffset++}for(var ee=0;ee<o.length;ee++)j.position.set(this._vertexOffset,o[ee]),j.color.set(this._vertexOffset++,F)}}for(var ve=this._vertexOffset,ee=G;ee<ve;ee++)this._dataIndices[ee]=W}}(),_addBevelBar:function(){var n=u.create(),a=u.create(),f=u.create(),s=h.create(),l=[],d=[1,-1,-1,1],e=[1,1,-1,-1],t=[2,0];return function(i,o,v,y,p,C,D){u.copy(a,o),u.normalize(a,a),u.cross(f,v,a),u.normalize(f,f),u.cross(n,a,f),u.normalize(f,f),s[0]=n[0],s[1]=n[1],s[2]=n[2],s[3]=a[0],s[4]=a[1],s[5]=a[2],s[6]=f[0],s[7]=f[1],s[8]=f[2],p=Math.min(y[0],y[2])/2*p;for(var b=0;b<3;b++)l[b]=Math.max(y[b]-p*2,0);for(var S=(y[0]-l[0])/2,L=(y[1]-l[1])/2,w=(y[2]-l[2])/2,P=[],I=[],R=this._vertexOffset,B=[],b=0;b<2;b++){B[b]=B[b]=[];for(var F=0;F<=C;F++)for(var W=0;W<4;W++){(F===0&&b===0||b===1&&F===C)&&B[b].push(R);for(var G=0;G<=C;G++){var j=G/C*Math.PI/2+Math.PI/2*W,Y=F/C*Math.PI/2+Math.PI/2*b;I[0]=S*Math.cos(j)*Math.sin(Y),I[1]=L*Math.cos(Y),I[2]=w*Math.sin(j)*Math.sin(Y),P[0]=I[0]+d[W]*l[0]/2,P[1]=I[1]+L+t[b]*l[1]/2,P[2]=I[2]+e[W]*l[2]/2,Math.abs(S-L)<1e-6&&Math.abs(L-w)<1e-6||(I[0]/=S*S,I[1]/=L*L,I[2]/=w*w),u.normalize(I,I),u.transformMat3(P,P,s),u.transformMat3(I,I,s),u.add(P,P,i),this.attributes.position.set(R,P),this.enableNormal&&this.attributes.normal.set(R,I),this.attributes.color.set(R,D),R++}}}for(var ee=C*4+3,ae=C*2+1,le=ee+1,W=0;W<ae;W++)for(var b=0;b<=ee;b++){var _e=W*le+b+this._vertexOffset,he=W*le+(b+1)%le+this._vertexOffset,ve=(W+1)*le+(b+1)%le+this._vertexOffset,Ae=(W+1)*le+b+this._vertexOffset;this.setTriangleIndices(this._triangleOffset++,[ve,_e,he]),this.setTriangleIndices(this._triangleOffset++,[ve,Ae,_e])}this.setTriangleIndices(this._triangleOffset++,[B[0][0],B[0][2],B[0][1]]),this.setTriangleIndices(this._triangleOffset++,[B[0][0],B[0][3],B[0][2]]),this.setTriangleIndices(this._triangleOffset++,[B[1][0],B[1][1],B[1][2]]),this.setTriangleIndices(this._triangleOffset++,[B[1][0],B[1][2],B[1][3]]),this._vertexOffset=R}}()});A.a.util.defaults(r.prototype,_.a),A.a.util.defaults(r.prototype,m.a),O.a=r},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(26),m=E(27),x=E(35),g=E(44),c=A.a.extendSeriesModel({type:"series.bar3D",dependencies:["globe"],visualColorAccessPath:"itemStyle.color",getInitialData:function(h,r){return Object(g.a)(this)},getFormattedLabel:function(h,r,n,a){var f=m.a.getFormattedLabel(this,h,r,n,a);return f==null&&(f=this.getData().get("z",h)),f},formatTooltip:function(h){return Object(x.a)(this,h)},defaultOption:{coordinateSystem:"cartesian3D",globeIndex:0,grid3DIndex:0,zlevel:-10,bevelSize:0,bevelSmoothness:2,onGridPlane:"xy",shading:"color",minHeight:0,itemStyle:{opacity:1},label:{show:!1,distance:2,textStyle:{fontSize:14,color:"#000",backgroundColor:"rgba(255,255,255,0.7)",padding:3,borderRadius:3}},emphasis:{label:{show:!0}},animationDurationUpdate:500}});A.a.util.merge(c.prototype,_.a);var u=c},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(210),m=E(211),x=E(45),g=E.n(x),c=E(16);A.a.registerVisual(g()("line3D","circle",null)),A.a.registerVisual(Object(c.a)("line3D")),A.a.registerLayout(function(u,h){u.eachSeriesByType("line3D",function(r){var n=r.getData(),a=r.coordinateSystem;if(a){if(a.type!=="cartesian3D"){console.error("line3D needs cartesian3D coordinateSystem");return}var f=new Float32Array(n.count()*3),s=[],l=[],d=a.dimensions,e=d.map(function(t){return r.coordDimToDataDim(t)[0]});a&&n.each(e,function(t,i,o,v){s[0]=t,s[1]=i,s[2]=o,a.dataToPoint(s,l),f[v*3]=l[0],f[v*3+1]=l[1],f[v*3+2]=l[2]}),n.setLayout("points",f)}})})},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(35),m=E(44),x=A.a.extendSeriesModel({type:"series.line3D",dependencies:["grid3D"],visualColorAccessPath:"lineStyle.color",getInitialData:function(c,u){return Object(m.a)(this)},formatTooltip:function(c){return Object(_.a)(this,c)},defaultOption:{coordinateSystem:"cartesian3D",zlevel:-10,grid3DIndex:0,lineStyle:{width:2},animationDurationUpdate:500}}),g=x},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(2),m=E(3),x=E(22),g=E(9),c=E(4),u=E(212),h=E.n(u),r=E(1),n=E.n(r),a=E(40),f=n.a.vec3;_.a.Shader.import(a.a);var s=A.a.extendChartView({type:"line3D",__ecgl__:!0,init:function(l,d){this.groupGL=new _.a.Node,this._api=d},render:function(l,d,e){var t=this._prevLine3DMesh;this._prevLine3DMesh=this._line3DMesh,this._line3DMesh=t,this._line3DMesh||(this._line3DMesh=new _.a.Mesh({geometry:new x.a({useNativeLine:!1,sortTriangles:!0}),material:new _.a.Material({shader:_.a.createShader("ecgl.meshLines3D")}),renderOrder:10}),this._line3DMesh.geometry.pick=this._pick.bind(this)),this.groupGL.remove(this._prevLine3DMesh),this.groupGL.add(this._line3DMesh);var i=l.coordinateSystem;if(i&&i.viewGL){i.viewGL.add(this.groupGL);var o=i.viewGL.isLinearSpace()?"define":"undefine";this._line3DMesh.material[o]("fragment","SRGB_DECODE")}this._doRender(l,e),this._data=l.getData(),this._camera=i.viewGL.camera,this.updateCamera(),this._updateAnimation(l)},updateCamera:function(){this._updateNDCPosition()},_doRender:function(l,d){var e=l.getData(),t=this._line3DMesh;t.geometry.resetOffset();var i=e.getLayout("points"),o=[],v=new Float32Array(i.length/3*4),y=0,p=!1;e.each(function(b){var S=e.getItemVisual(b,"color"),L=e.getItemVisual(b,"opacity");L==null&&(L=1),_.a.parseColor(S,o),o[3]*=L,v[y++]=o[0],v[y++]=o[1],v[y++]=o[2],v[y++]=o[3],o[3]<.99&&(p=!0)}),t.geometry.setVertexCount(t.geometry.getPolylineVertexCount(i)),t.geometry.setTriangleCount(t.geometry.getPolylineTriangleCount(i)),t.geometry.addPolyline(i,v,m.a.firstNotNull(l.get("lineStyle.width"),1)),t.geometry.dirty(),t.geometry.updateBoundingBox();var C=t.material;C.transparent=p,C.depthMask=!p;var D=l.getModel("debug.wireframe");D.get("show")?(t.geometry.createAttribute("barycentric","float",3),t.geometry.generateBarycentric(),t.material.set("both","WIREFRAME_TRIANGLE"),t.material.set("wireframeLineColor",_.a.parseColor(D.get("lineStyle.color")||"rgba(0,0,0,0.5)")),t.material.set("wireframeLineWidth",m.a.firstNotNull(D.get("lineStyle.width"),1))):t.material.set("both","WIREFRAME_TRIANGLE"),this._points=i,this._initHandler(l,d)},_updateAnimation:function(l){_.a.updateVertexAnimation([["prevPosition","position"],["prevPositionPrev","positionPrev"],["prevPositionNext","positionNext"]],this._prevLine3DMesh,this._line3DMesh,l)},_initHandler:function(l,d){var e=l.getData(),t=l.coordinateSystem,i=this._line3DMesh,o=-1;i.seriesIndex=l.seriesIndex,i.off("mousemove"),i.off("mouseout"),i.on("mousemove",function(v){var y=t.pointToData(v.point.array),p=e.indicesOfNearest("x",y[0])[0];p!==o&&(d.dispatchAction({type:"grid3DShowAxisPointer",value:[e.get("x",p),e.get("y",p),e.get("z",p)]}),i.dataIndex=p),o=p},this),i.on("mouseout",function(v){o=-1,i.dataIndex=-1,d.dispatchAction({type:"grid3DHideAxisPointer"})},this)},_updateNDCPosition:function(){var l=new g.a,d=this._camera;g.a.multiply(l,d.projectionMatrix,d.viewMatrix);var e=this._positionNDC,t=this._points,i=t.length/3;(!e||e.length/2!==i)&&(e=this._positionNDC=new Float32Array(i*2));for(var o=[],v=0;v<i;v++){var y=v*3,p=v*2;o[0]=t[y],o[1]=t[y+1],o[2]=t[y+2],o[3]=1,f.transformMat4(o,o,l.array),e[p]=o[0]/o[3],e[p+1]=o[1]/o[3]}},_pick:function(l,d,e,t,i,o){var v=this._positionNDC,y=this._data.hostModel,p=y.get("lineStyle.width"),C=-1,D=e.viewport.width,b=e.viewport.height,S=D*.5,L=b*.5;l=(l+1)*S,d=(d+1)*L;for(var w=1;w<v.length/2;w++){var P=(v[(w-1)*2]+1)*S,I=(v[(w-1)*2+1]+1)*L,R=(v[w*2]+1)*S,B=(v[w*2+1]+1)*L;if(h.a.containStroke(P,I,R,B,p,l,d)){var F=(P-l)*(P-l)+(I-d)*(I-d),W=(R-l)*(R-l)+(B-d)*(B-d);C=F<W?w-1:w}}if(C>=0){var G=C*3,j=new c.a(this._points[G],this._points[G+1],this._points[G+2]);o.push({dataIndex:C,point:j,pointWorld:j.clone(),target:this._line3DMesh,distance:this._camera.getWorldPosition().dist(j)})}},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(K,O){function E(M,A,_,m,x,g,c){if(x===0)return!1;var u=x,h=0,r=M;if(c>A+u&&c>m+u||c<A-u&&c<m-u||g>M+u&&g>_+u||g<M-u&&g<_-u)return!1;if(M!==_)h=(A-m)/(M-_),r=(M*m-_*A)/(M-_);else return Math.abs(g-M)<=u/2;var n=h*g-c+r,a=n*n/(h*h+1);return a<=u/2*u/2}O.containStroke=E},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(214),m=E(215),x=E(45),g=E.n(x),c=E(16);A.a.registerVisual(g()("scatter3D","circle",null)),A.a.registerVisual(Object(c.a)("scatter3D")),A.a.registerLayout({seriesType:"scatter3D",reset:function(u){var h=u.coordinateSystem;if(h){var r=h.dimensions;if(r.length<3){console.error("scatter3D needs 3D coordinateSystem");return}var n=r.map(function(s){return u.coordDimToDataDim(s)[0]}),a=[],f=[];return{progress:function(s,l){for(var d=new Float32Array((s.end-s.start)*3),e=s.start;e<s.end;e++){var t=(e-s.start)*3;a[0]=l.get(n[0],e),a[1]=l.get(n[1],e),a[2]=l.get(n[2],e),h.dataToPoint(a,f),d[t]=f[0],d[t+1]=f[1],d[t+2]=f[2]}l.setLayout("points",d)}}}}})},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(27),m=E(35),x=E(44);A.a.extendSeriesModel({type:"series.scatter3D",dependencies:["globe","grid3D","geo3D"],visualColorAccessPath:"itemStyle.color",getInitialData:function(g,c){return Object(x.a)(this)},getFormattedLabel:function(g,c,u,h){var r=_.a.getFormattedLabel(this,g,c,u,h);if(r==null){var n=this.getData(),a=n.dimensions[n.dimensions.length-1];r=n.get(a,g)}return r},formatTooltip:function(g){return Object(m.a)(this,g)},defaultOption:{coordinateSystem:"cartesian3D",zlevel:-10,progressive:1e5,progressiveThreshold:1e5,grid3DIndex:0,globeIndex:0,symbol:"circle",symbolSize:10,blendMode:"source-over",label:{show:!1,position:"right",distance:5,textStyle:{fontSize:14,color:"#000",backgroundColor:"rgba(255,255,255,0.7)",padding:3,borderRadius:3}},itemStyle:{opacity:.8},emphasis:{label:{show:!0}},animationDurationUpdate:500}})},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(2),m=E(3),x=E(27),g=E(62);A.a.extendChartView({type:"scatter3D",__ecgl__:!0,init:function(c,u){this.groupGL=new _.a.Node,this._pointsBuilderList=[],this._currentStep=0},render:function(c,u,h){if(this.groupGL.removeAll(),!!c.getData().count()){var r=c.coordinateSystem;if(r&&r.viewGL){r.viewGL.add(this.groupGL),this._camera=r.viewGL.camera;var n=this._pointsBuilderList[0];n||(n=this._pointsBuilderList[0]=new g.a(!1,h)),this._pointsBuilderList.length=1,this.groupGL.add(n.rootNode),n.update(c,u,h),n.updateView(r.viewGL.camera)}else throw new Error("Invalid coordinate system")}},incrementalPrepareRender:function(c,u,h){var r=c.coordinateSystem;if(r&&r.viewGL)r.viewGL.add(this.groupGL),this._camera=r.viewGL.camera;else throw new Error("Invalid coordinate system");this.groupGL.removeAll(),this._currentStep=0},incrementalRender:function(c,u,h,r){if(!(c.end<=c.start)){var n=this._pointsBuilderList[this._currentStep];n||(n=new g.a(!1,r),this._pointsBuilderList[this._currentStep]=n),this.groupGL.add(n.rootNode),n.update(u,h,r,c.start,c.end),n.updateView(u.coordinateSystem.viewGL.camera),this._currentStep++}},updateCamera:function(){this._pointsBuilderList.forEach(function(c){c.updateView(this._camera)},this)},highlight:function(c,u,h,r){this._toggleStatus("highlight",c,u,h,r)},downplay:function(c,u,h,r){this._toggleStatus("downplay",c,u,h,r)},_toggleStatus:function(c,u,h,r,n){var a=u.getData(),f=m.a.queryDataIndex(a,n),s=c==="highlight";f!=null?A.a.util.each(x.a.normalizeToArray(f),function(l){for(var d=0;d<this._pointsBuilderList.length;d++){var e=this._pointsBuilderList[d];s?e.highlight(a,l):e.downplay(a,l)}},this):a.each(function(l){for(var d=0;d<this._pointsBuilderList.length;d++){var e=this._pointsBuilderList[d];s?e.highlight(a,l):e.downplay(a,l)}})},dispose:function(){this.groupGL.removeAll()},remove:function(){this.groupGL.removeAll()}})},function(K,O,E){"use strict";var M=E(0),A=E.n(M);function _(c,r,h){var r=r||document.createElement("canvas");r.width=c,r.height=c;var n=r.getContext("2d");return h&&h(n),r}function m(c,u,h,r){A.a.util.isArray(u)||(u=[u,u]);var n=g.getMarginByStyle(h,r),a=u[0]+n.left+n.right,f=u[1]+n.top+n.bottom,s=A.a.helper.createSymbol(c,0,0,u[0],u[1]),l=Math.max(a,f);s.position=[n.left,n.top],a>f?s.position[1]+=(l-f)/2:s.position[0]+=(l-a)/2;var d=s.getBoundingRect();return s.position[0]-=d.x,s.position[1]-=d.y,s.setStyle(h),s.update(),s.__size=l,s}function x(c,u,h){var r=u.width,n=u.height,a=c.canvas.width,f=c.canvas.height,s=r/a,l=n/f;function d(C){return C<128?1:-1}function e(C,D){var b=1/0;C=Math.floor(C*s),D=Math.floor(D*l);for(var S=D*r+C,L=u.data[S*4],w=d(L),P=Math.max(D-h,0);P<Math.min(D+h,n);P++)for(var I=Math.max(C-h,0);I<Math.min(C+h,r);I++){var S=P*r+I,R=u.data[S*4],B=d(R),F=I-C,W=P-D;if(w!==B){var G=F*F+W*W;G<b&&(b=G)}}return w*Math.sqrt(b)}for(var t=c.createImageData(a,f),i=0;i<f;i++)for(var o=0;o<a;o++){var v=e(o,i),y=v/h*.5+.5,p=(i*a+o)*4;t.data[p++]=(1-y)*255,t.data[p++]=(1-y)*255,t.data[p++]=(1-y)*255,t.data[p++]=255}return t}var g={getMarginByStyle:function(c){var u=c.minMargin||0,h=0;c.stroke&&c.stroke!=="none"&&(h=c.lineWidth==null?1:c.lineWidth);var r=c.shadowBlur||0,n=c.shadowOffsetX||0,a=c.shadowOffsetY||0,f={};return f.left=Math.max(h/2,-n+r,u),f.right=Math.max(h/2,n+r,u),f.top=Math.max(h/2,-a+r,u),f.bottom=Math.max(h/2,a+r,u),f},createSymbolSprite:function(c,u,h,r){var n=m(c,u,h),a=g.getMarginByStyle(h);return{image:_(n.__size,r,function(f){n.brush(f)}),margin:a}},createSDFFromCanvas:function(c,u,h,r){return _(u,r,function(n){var a=c.getContext("2d"),f=a.getImageData(0,0,c.width,c.height);n.putImageData(x(n,f,h),0,0)})},createSimpleSprite:function(c,u){return _(c,u,function(h){var r=c/2;h.beginPath(),h.arc(r,r,60,0,Math.PI*2,!1),h.closePath();var n=h.createRadialGradient(r,r,0,r,r,r);n.addColorStop(0,"rgba(255, 255, 255, 1)"),n.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),n.addColorStop(1,"rgba(255, 255, 255, 0)"),h.fillStyle=n,h.fill()})}};O.a=g},function(K,O,E){"use strict";var M=E(2),A=E(218),_=E(0),m=E.n(_),x=E(1),g=E.n(x),c=E(219),u=g.a.vec4;M.a.Shader.import(c.a);var h=M.a.Mesh.extend(function(){var r=new M.a.Geometry({dynamic:!0,attributes:{color:new M.a.Geometry.Attribute("color","float",4,"COLOR"),position:new M.a.Geometry.Attribute("position","float",3,"POSITION"),size:new M.a.Geometry.Attribute("size","float",1),prevPosition:new M.a.Geometry.Attribute("prevPosition","float",3),prevSize:new M.a.Geometry.Attribute("prevSize","float",1)}});m.a.util.extend(r,A.a);var n=new M.a.Material({shader:M.a.createShader("ecgl.sdfSprite"),transparent:!0,depthMask:!1});n.enableTexture("sprite"),n.define("both","VERTEX_COLOR"),n.define("both","VERTEX_SIZE");var a=new M.a.Texture2D({image:document.createElement("canvas"),flipY:!1});return n.set("sprite",a),r.pick=this._pick.bind(this),{geometry:r,material:n,mode:M.a.Mesh.POINTS,sizeScale:1}},{_pick:function(r,n,a,f,s,l){var d=this._positionNDC;if(d)for(var e=a.viewport,t=2/e.width,i=2/e.height,o=this.geometry.vertexCount-1;o>=0;o--){var v;this.geometry.indices?v=this.geometry.indices[o]:v=o;var y=d[v*2],p=d[v*2+1],C=this.geometry.attributes.size.get(v)/this.sizeScale,D=C/2;if(r>y-D*t&&r<y+D*t&&n>p-D*i&&n<p+D*i){var b=new M.a.Vector3,S=new M.a.Vector3;this.geometry.attributes.position.get(v,b.array),M.a.Vector3.transformMat4(S,b,this.worldTransform),l.push({vertexIndex:v,point:b,pointWorld:S,target:this,distance:S.distance(f.getWorldPosition())})}}},updateNDCPosition:function(r,n,a){var f=this._positionNDC,s=this.geometry;(!f||f.length/2!==s.vertexCount)&&(f=this._positionNDC=new Float32Array(s.vertexCount*2));for(var l=u.create(),d=0;d<s.vertexCount;d++)s.attributes.position.get(d,l),l[3]=1,u.transformMat4(l,l,r.array),u.scale(l,l,1/l[3]),f[d*2]=l[0],f[d*2+1]=l[1]}});O.a=h},function(K,O,E){"use strict";var M=E(81),A=E(1),_=E.n(A),m=_.a.vec3;O.a={needsSortVertices:function(){return this.sortVertices},needsSortVerticesProgressively:function(){return this.needsSortVertices()&&this.vertexCount>=2e4},doSortVertices:function(x,g){var c=this.indices,u=m.create();if(!c){c=this.indices=this.vertexCount>65535?new Uint32Array(this.vertexCount):new Uint16Array(this.vertexCount);for(var h=0;h<c.length;h++)c[h]=h}if(g===0){var r=this.attributes.position,x=x.array,n=0;(!this._zList||this._zList.length!==this.vertexCount)&&(this._zList=new Float32Array(this.vertexCount));for(var a,h=0;h<this.vertexCount;h++){r.get(h,u);var f=m.sqrDist(u,x);isNaN(f)&&(f=1e7,n++),h===0?(a=f,f=0):f=f-a,this._zList[h]=f}this._noneCount=n}if(this.vertexCount<2e4)g===0&&this._simpleSort(this._noneCount/this.vertexCount>.05);else for(var h=0;h<3;h++)this._progressiveQuickSort(g*3+h);this.dirtyIndices()},_simpleSort:function(x){var g=this._zList,c=this.indices;function u(h,r){return g[r]-g[h]}x?Array.prototype.sort.call(c,u):M.a.sort(c,u,0,c.length-1)},_progressiveQuickSort:function(x){var g=this._zList,c=this.indices;this._quickSort=this._quickSort||new M.a,this._quickSort.step(c,function(u,h){return g[h]-g[u]},x)}}},function(K,O,E){"use strict";O.a=`@export ecgl.sdfSprite.vertex
|
|
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
uniform float elapsedTime : 0;
|
|
|
|
attribute vec3 position : POSITION;
|
|
|
|
#ifdef VERTEX_SIZE
|
|
attribute float size;
|
|
#else
|
|
uniform float u_Size;
|
|
#endif
|
|
|
|
#ifdef VERTEX_COLOR
|
|
attribute vec4 a_FillColor: COLOR;
|
|
varying vec4 v_Color;
|
|
#endif
|
|
|
|
#ifdef VERTEX_ANIMATION
|
|
attribute vec3 prevPosition;
|
|
attribute float prevSize;
|
|
uniform float percent : 1.0;
|
|
#endif
|
|
|
|
|
|
#ifdef POSITIONTEXTURE_ENABLED
|
|
uniform sampler2D positionTexture;
|
|
#endif
|
|
|
|
varying float v_Size;
|
|
|
|
void main()
|
|
{
|
|
|
|
#ifdef POSITIONTEXTURE_ENABLED
|
|
gl_Position = worldViewProjection * vec4(texture2D(positionTexture, position.xy).xy, -10.0, 1.0);
|
|
#else
|
|
|
|
#ifdef VERTEX_ANIMATION
|
|
vec3 pos = mix(prevPosition, position, percent);
|
|
#else
|
|
vec3 pos = position;
|
|
#endif
|
|
gl_Position = worldViewProjection * vec4(pos, 1.0);
|
|
#endif
|
|
|
|
#ifdef VERTEX_SIZE
|
|
#ifdef VERTEX_ANIMATION
|
|
v_Size = mix(prevSize, size, percent);
|
|
#else
|
|
v_Size = size;
|
|
#endif
|
|
#else
|
|
v_Size = u_Size;
|
|
#endif
|
|
|
|
#ifdef VERTEX_COLOR
|
|
v_Color = a_FillColor;
|
|
#endif
|
|
|
|
gl_PointSize = v_Size;
|
|
}
|
|
|
|
@end
|
|
|
|
@export ecgl.sdfSprite.fragment
|
|
|
|
uniform vec4 color: [1, 1, 1, 1];
|
|
uniform vec4 strokeColor: [1, 1, 1, 1];
|
|
uniform float smoothing: 0.07;
|
|
|
|
uniform float lineWidth: 0.0;
|
|
|
|
#ifdef VERTEX_COLOR
|
|
varying vec4 v_Color;
|
|
#endif
|
|
|
|
varying float v_Size;
|
|
|
|
uniform sampler2D sprite;
|
|
|
|
@import clay.util.srgb
|
|
|
|
void main()
|
|
{
|
|
gl_FragColor = color;
|
|
|
|
vec4 _strokeColor = strokeColor;
|
|
|
|
#ifdef VERTEX_COLOR
|
|
gl_FragColor *= v_Color;
|
|
#endif
|
|
|
|
#ifdef SPRITE_ENABLED
|
|
float d = texture2D(sprite, gl_PointCoord).r;
|
|
gl_FragColor.a *= smoothstep(0.5 - smoothing, 0.5 + smoothing, d);
|
|
|
|
if (lineWidth > 0.0) {
|
|
float sLineWidth = lineWidth / 2.0;
|
|
|
|
float outlineMaxValue0 = 0.5 + sLineWidth;
|
|
float outlineMaxValue1 = 0.5 + sLineWidth + smoothing;
|
|
float outlineMinValue0 = 0.5 - sLineWidth - smoothing;
|
|
float outlineMinValue1 = 0.5 - sLineWidth;
|
|
|
|
if (d <= outlineMaxValue1 && d >= outlineMinValue0) {
|
|
float a = _strokeColor.a;
|
|
if (d <= outlineMinValue1) {
|
|
a = a * smoothstep(outlineMinValue0, outlineMinValue1, d);
|
|
}
|
|
else {
|
|
a = a * smoothstep(outlineMaxValue1, outlineMaxValue0, d);
|
|
}
|
|
gl_FragColor.rgb = mix(gl_FragColor.rgb * gl_FragColor.a, _strokeColor.rgb, a);
|
|
gl_FragColor.a = gl_FragColor.a * (1.0 - a) + a;
|
|
}
|
|
}
|
|
#endif
|
|
|
|
#ifdef SRGB_DECODE
|
|
gl_FragColor = sRGBToLinear(gl_FragColor);
|
|
#endif
|
|
}
|
|
@end`},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(221),m=E(222),x=E(225),g=E(16);A.a.registerVisual(Object(g.a)("lines3D")),A.a.registerAction({type:"lines3DPauseEffect",event:"lines3deffectpaused",update:"series.lines3D:pauseEffect"},function(){}),A.a.registerAction({type:"lines3DResumeEffect",event:"lines3deffectresumed",update:"series.lines3D:resumeEffect"},function(){}),A.a.registerAction({type:"lines3DToggleEffect",event:"lines3deffectchanged",update:"series.lines3D:toggleEffect"},function(){})},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(1),m=E.n(_),x=m.a.vec3,g=m.a.vec2,c=x.normalize,u=x.cross,h=x.sub,r=x.add,n=x.create,a=n(),f=n(),s=n(),l=n(),d=[],e=[];function t(C,D){g.copy(d,C[0]),g.copy(e,C[1]);var b=[],S=b[0]=n(),L=b[1]=n(),w=b[2]=n(),P=b[3]=n();D.dataToPoint(d,S),D.dataToPoint(e,P),c(a,S),h(f,P,S),c(f,f),u(s,f,a),c(s,s),u(f,a,s),r(L,a,f),c(L,L),c(a,P),h(f,S,P),c(f,f),u(s,f,a),c(s,s),u(f,a,s),r(w,a,f),c(w,w),r(l,S,P),c(l,l);var I=x.dot(S,l),R=x.dot(l,L),B=(Math.max(x.len(S),x.len(P))-I)/R*2;return x.scaleAndAdd(L,S,L,B),x.scaleAndAdd(w,P,w,B),b}function i(C,D,b){var S=[],L=S[0]=x.create(),w=S[1]=x.create(),P=S[2]=x.create(),I=S[3]=x.create();D.dataToPoint(C[0],L),D.dataToPoint(C[1],I);var R=x.dist(L,I);return x.lerp(w,L,I,.3),x.lerp(P,L,I,.3),x.scaleAndAdd(w,w,b,Math.min(R*.1,10)),x.scaleAndAdd(P,P,b,Math.min(R*.1,10)),S}function o(C,D){for(var b=new Float32Array(C.length*3),S=0,L=[],w=0;w<C.length;w++)D.dataToPoint(C[w],L),b[S++]=L[0],b[S++]=L[1],b[S++]=L[2];return b}function v(C){var D=[];return C.each(function(b){var S=C.getItemModel(b),L=S.option instanceof Array?S.option:S.getShallow("coords",!0);if(!(L instanceof Array&&L.length>0&&L[0]instanceof Array))throw new Error("Invalid coords "+JSON.stringify(L)+". Lines must have 2d coords array in data item.");D.push(L)}),{coordsList:D}}function y(C,D){var b=C.getData(),S=C.get("polyline");b.setLayout("lineType",S?"polyline":"cubicBezier");var L=v(b);b.each(function(w){var P=L.coordsList[w],I=S?o:t;b.setItemLayout(w,I(P,D))})}function p(C,D,b){var S=C.getData(),L=C.get("polyline"),w=v(S);S.setLayout("lineType",L?"polyline":"cubicBezier"),S.each(function(P){var I=w.coordsList[P],R=L?o(I,D):i(I,D,b);S.setItemLayout(P,R)})}A.a.registerLayout(function(C,D){C.eachSeriesByType("lines3D",function(b){var S=b.coordinateSystem;S.type==="globe"?y(b,S):S.type==="geo3D"?p(b,S,[0,1,0]):S.type==="mapbox3D"&&p(b,S,[0,0,1])})})},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(2),m=E(22),x=E(223),g=E(40);_.a.Shader.import(g.a);function c(h){return h.radius!=null?h.radius:h.size!=null?Math.max(h.size[0],h.size[1],h.size[2]):100}var u=A.a.extendChartView({type:"lines3D",__ecgl__:!0,init:function(h,r){this.groupGL=new _.a.Node,this._meshLinesMaterial=new _.a.Material({shader:_.a.createShader("ecgl.meshLines3D"),transparent:!0,depthMask:!1}),this._linesMesh=new _.a.Mesh({geometry:new m.a,material:this._meshLinesMaterial,$ignorePicking:!0}),this._trailMesh=new x.a},render:function(h,r,n){this.groupGL.add(this._linesMesh);var a=h.coordinateSystem,f=h.getData();if(a&&a.viewGL){var s=a.viewGL;s.add(this.groupGL),this._updateLines(h,r,n);var l=a.viewGL.isLinearSpace()?"define":"undefine";this._linesMesh.material[l]("fragment","SRGB_DECODE"),this._trailMesh.material[l]("fragment","SRGB_DECODE")}var d=this._trailMesh;if(d.stopAnimation(),h.get("effect.show")){this.groupGL.add(d),d.updateData(f,n,this._linesMesh.geometry),d.__time=d.__time||0;var e=3600*1e3;this._curveEffectsAnimator=d.animate("",{loop:!0}).when(e,{__time:e}).during(function(){d.setAnimationTime(d.__time)}).start()}else this.groupGL.remove(d),this._curveEffectsAnimator=null;this._linesMesh.material.blend=this._trailMesh.material.blend=h.get("blendMode")==="lighter"?_.a.additiveBlend:null},pauseEffect:function(){this._curveEffectsAnimator&&this._curveEffectsAnimator.pause()},resumeEffect:function(){this._curveEffectsAnimator&&this._curveEffectsAnimator.resume()},toggleEffect:function(){var h=this._curveEffectsAnimator;h&&(h.isPaused()?h.resume():h.pause())},_updateLines:function(h,r,n){var a=h.getData(),f=h.coordinateSystem,s=this._linesMesh.geometry,l=h.get("polyline");s.expandLine=!0;var d=c(f);s.segmentScale=d/20;var e="lineStyle.width".split("."),t=n.getDevicePixelRatio(),i=0;a.each(function(p){var C=a.getItemModel(p),D=C.get(e);D==null&&(D=1),a.setItemVisual(p,"lineWidth",D),i=Math.max(D,i)}),s.useNativeLine=!1;var o=0,v=0;a.each(function(p){var C=a.getItemLayout(p);l?(o+=s.getPolylineVertexCount(C),v+=s.getPolylineTriangleCount(C)):(o+=s.getCubicCurveVertexCount(C[0],C[1],C[2],C[3]),v+=s.getCubicCurveTriangleCount(C[0],C[1],C[2],C[3]))}),s.setVertexCount(o),s.setTriangleCount(v),s.resetOffset();var y=[];a.each(function(p){var C=a.getItemLayout(p),D=a.getItemVisual(p,"color"),b=a.getItemVisual(p,"opacity"),S=a.getItemVisual(p,"lineWidth")*t;b==null&&(b=1),y=_.a.parseColor(D,y),y[3]*=b,l?s.addPolyline(C,y,S):s.addCubicCurve(C[0],C[1],C[2],C[3],y,S)}),s.dirty()},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(2),m=E(1),x=E.n(m),g=E(22),c=E(224),u=x.a.vec3;function h(r){return r>0?1:-1}_.a.Shader.import(c.a),O.a=_.a.Mesh.extend(function(){var r=new _.a.Material({shader:new _.a.Shader(_.a.Shader.source("ecgl.trail2.vertex"),_.a.Shader.source("ecgl.trail2.fragment")),transparent:!0,depthMask:!1}),n=new g.a({dynamic:!0});return n.createAttribute("dist","float",1),n.createAttribute("distAll","float",1),n.createAttribute("start","float",1),{geometry:n,material:r,culling:!1,$ignorePicking:!0}},{updateData:function(r,n,a){var f=r.hostModel,s=this.geometry,l=f.getModel("effect"),d=l.get("trailWidth")*n.getDevicePixelRatio(),e=l.get("trailLength"),t=f.get("effect.constantSpeed"),i=f.get("effect.period")*1e3,o=t!=null;this.getScene()||console.error("TrailMesh must been add to scene before updateData"),o?this.material.set("speed",t/1e3):this.material.set("period",i),this.material[o?"define":"undefine"]("vertex","CONSTANT_SPEED");var v=f.get("polyline");s.trailLength=e,this.material.set("trailLength",e),s.resetOffset(),["position","positionPrev","positionNext"].forEach(function(B){s.attributes[B].value=a.attributes[B].value});var y=["dist","distAll","start","offset","color"];y.forEach(function(B){s.attributes[B].init(s.vertexCount)}),s.indices=a.indices;var p=[],C=l.get("trailColor"),D=l.get("trailOpacity"),b=C!=null,S=D!=null;this.updateWorldTransform();var L=this.worldTransform.x.len(),w=this.worldTransform.y.len(),P=this.worldTransform.z.len(),I=0,R=0;r.each(function(B){var F=r.getItemLayout(B),W=S?D:r.getItemVisual(B,"opacity"),G=r.getItemVisual(B,"color");W==null&&(W=1),p=_.a.parseColor(b?C:G,p),p[3]*=W;for(var j=v?a.getPolylineVertexCount(F):a.getCubicCurveVertexCount(F[0],F[1],F[2],F[3]),Y=0,ee=[],ae=[],le=I;le<I+j;le++)s.attributes.position.get(le,ee),ee[0]*=L,ee[1]*=w,ee[2]*=P,le>I&&(Y+=u.dist(ee,ae)),s.attributes.dist.set(le,Y),u.copy(ae,ee);R=Math.max(R,Y);for(var _e=Math.random()*(o?Y:i),le=I;le<I+j;le++)s.attributes.distAll.set(le,Y),s.attributes.start.set(le,_e),s.attributes.offset.set(le,h(a.attributes.offset.get(le))*d/2),s.attributes.color.set(le,p);I+=j}),this.material.set("spotSize",R*.1*e),this.material.set("spotIntensity",l.get("spotIntensity")),s.dirty()},setAnimationTime:function(r){this.material.set("time",r)}})},function(K,O,E){"use strict";O.a=`@export ecgl.trail2.vertex
|
|
attribute vec3 position: POSITION;
|
|
attribute vec3 positionPrev;
|
|
attribute vec3 positionNext;
|
|
attribute float offset;
|
|
attribute float dist;
|
|
attribute float distAll;
|
|
attribute float start;
|
|
|
|
attribute vec4 a_Color : COLOR;
|
|
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
uniform vec4 viewport : VIEWPORT;
|
|
uniform float near : NEAR;
|
|
|
|
uniform float speed : 0;
|
|
uniform float trailLength: 0.3;
|
|
uniform float time;
|
|
uniform float period: 1000;
|
|
|
|
uniform float spotSize: 1;
|
|
|
|
varying vec4 v_Color;
|
|
varying float v_Percent;
|
|
varying float v_SpotPercent;
|
|
|
|
@import ecgl.common.wireframe.vertexHeader
|
|
|
|
@import ecgl.lines3D.clipNear
|
|
|
|
void main()
|
|
{
|
|
@import ecgl.lines3D.expandLine
|
|
|
|
gl_Position = currProj;
|
|
|
|
v_Color = a_Color;
|
|
|
|
@import ecgl.common.wireframe.vertexMain
|
|
|
|
#ifdef CONSTANT_SPEED
|
|
float t = mod((speed * time + start) / distAll, 1. + trailLength) - trailLength;
|
|
#else
|
|
float t = mod((time + start) / period, 1. + trailLength) - trailLength;
|
|
#endif
|
|
|
|
float trailLen = distAll * trailLength;
|
|
|
|
v_Percent = (dist - t * distAll) / trailLen;
|
|
|
|
v_SpotPercent = spotSize / distAll;
|
|
|
|
}
|
|
@end
|
|
|
|
|
|
@export ecgl.trail2.fragment
|
|
|
|
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
|
|
uniform float spotIntensity: 5;
|
|
|
|
varying vec4 v_Color;
|
|
varying float v_Percent;
|
|
varying float v_SpotPercent;
|
|
|
|
@import ecgl.common.wireframe.fragmentHeader
|
|
|
|
@import clay.util.srgb
|
|
|
|
void main()
|
|
{
|
|
if (v_Percent > 1.0 || v_Percent < 0.0) {
|
|
discard;
|
|
}
|
|
|
|
float fade = v_Percent;
|
|
|
|
#ifdef SRGB_DECODE
|
|
gl_FragColor = sRGBToLinear(color * v_Color);
|
|
#else
|
|
gl_FragColor = color * v_Color;
|
|
#endif
|
|
|
|
@import ecgl.common.wireframe.fragmentMain
|
|
|
|
if (v_Percent > (1.0 - v_SpotPercent)) {
|
|
gl_FragColor.rgb *= spotIntensity;
|
|
}
|
|
|
|
gl_FragColor.a *= fade;
|
|
}
|
|
|
|
@end`},function(K,O,E){"use strict";var M=E(0),A=E.n(M);A.a.extendSeriesModel({type:"series.lines3D",dependencies:["globe"],visualColorAccessPath:"lineStyle.color",getInitialData:function(_,m){var x=new A.a.List(["value"],this);return x.hasItemOption=!1,x.initData(_.data,[],function(g,c,u,h){if(g instanceof Array)return NaN;x.hasItemOption=!0;var r=g.value;if(r!=null)return r instanceof Array?r[h]:r}),x},defaultOption:{coordinateSystem:"globe",globeIndex:0,geo3DIndex:0,zlevel:-10,polyline:!1,effect:{show:!1,period:4,trailWidth:4,trailLength:.2,spotIntensity:6},silent:!0,blendMode:"source-over",lineStyle:{width:1,opacity:.5}}})},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(227),m=E(228),x=E(16);A.a.registerVisual(Object(x.a)("polygons3D"))},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(26);function m(c,u){for(var h=[],r=0;r<u.length;r++)h.push(c.dataToPoint(u[r]));return h}var x=A.a.extendSeriesModel({type:"series.polygons3D",getRegionModel:function(c){return this.getData().getItemModel(c)},getRegionPolygonCoords:function(c){var u=this.coordinateSystem,h=this.getData().getItemModel(c),r=h.option instanceof Array?h.option:h.getShallow("coords");h.get("multiPolygon")||(r=[r]);for(var n=[],a=0;a<r.length;a++){for(var f=[],s=1;s<r[a].length;s++)f.push(m(u,r[a][s]));n.push({exterior:m(u,r[a][0]),interiors:f})}return n},getInitialData:function(c){var u=new A.a.List(["value"],this);return u.hasItemOption=!1,u.initData(c.data,[],function(h,r,n,a){if(h instanceof Array)return NaN;u.hasItemOption=!0;var f=h.value;if(f!=null)return f instanceof Array?f[a]:f}),u},defaultOption:{show:!0,data:null,multiPolygon:!1,progressiveThreshold:1e3,progressive:1e3,zlevel:-10,label:{show:!1,distance:2,textStyle:{fontSize:20,color:"#000",backgroundColor:"rgba(255,255,255,0.7)",padding:3,borderRadius:4}},itemStyle:{color:"#fff",borderWidth:0,borderColor:"#333"},emphasis:{itemStyle:{color:"#639fc0"},label:{show:!0}}}});A.a.util.merge(x.prototype,_.a);var g=x},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(59),m=E(2);A.a.extendChartView({type:"polygons3D",__ecgl__:!0,init:function(x,g){this.groupGL=new m.a.Node,this._geo3DBuilderList=[],this._currentStep=0},render:function(x,g,c){this.groupGL.removeAll();var u=x.coordinateSystem;u&&u.viewGL&&u.viewGL.add(this.groupGL);var h=this._geo3DBuilderList[0];h||(h=new _.a(c),h.extrudeY=u.type!=="mapbox3D",this._geo3DBuilderList[0]=h),this._updateShaderDefines(u,h),h.update(x,g,c),this._geo3DBuilderList.length=1,this.groupGL.add(h.rootNode)},incrementalPrepareRender:function(x,g,c){this.groupGL.removeAll();var u=x.coordinateSystem;u&&u.viewGL&&u.viewGL.add(this.groupGL),this._currentStep=0},incrementalRender:function(x,g,c,u){var h=this._geo3DBuilderList[this._currentStep],r=g.coordinateSystem;h||(h=new _.a(u),h.extrudeY=r.type!=="mapbox3D",this._geo3DBuilderList[this._currentStep]=h),h.update(g,c,u,x.start,x.end),this.groupGL.add(h.rootNode),this._updateShaderDefines(r,h),this._currentStep++},_updateShaderDefines:function(x,g){var c=x.viewGL.isLinearSpace()?"define":"undefine";g.rootNode.traverse(function(u){u.material&&(u.material[c]("fragment","SRGB_DECODE"),x.type==="mapbox3D"&&(u.material.define("fragment","NORMAL_UP_AXIS",2),u.material.define("fragment","NORMAL_FRONT_AXIS",1)))})},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(230),m=E(231),x=E(232),g=E(16);A.a.registerVisual(Object(g.a)("surface"))},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(26),m=E(35),x=E(44),g=A.a.extendSeriesModel({type:"series.surface",dependencies:["globe","grid3D","geo3D"],visualColorAccessPath:"itemStyle.color",formatTooltip:function(u){return Object(m.a)(this,u)},getInitialData:function(u,h){var r=u.data;function n(F){return!(isNaN(F.min)||isNaN(F.max)||isNaN(F.step))}function a(F){var W=A.a.number.getPrecisionSafe;return Math.max(W(F.min),W(F.max),W(F.step))+1}if(!r)if(r=[],u.parametric){var p=u.parametricEquation||{},C=p.u||{},D=p.v||{};["u","v"].forEach(function(F){if(!n(p[F])){console.error("Invalid parametricEquation.%s",F);return}}),["x","y","z"].forEach(function(F){if(typeof p[F]!="function"){console.error("parametricEquation.%s needs to be function",F);return}});for(var b=a(C),S=a(D),L=D.min;L<D.max+D.step*.999;L+=D.step)for(var w=C.min;w<C.max+C.step*.999;w+=C.step){var P=A.a.number.round(Math.min(w,C.max),b),I=A.a.number.round(Math.min(L,D.max),S),i=p.x(P,I),t=p.y(P,I),y=p.z(P,I);r.push([i,t,y,P,I])}}else{var f=u.equation||{},s=f.x||{},l=f.y||{};if(["x","y"].forEach(function(F){if(!n(f[F])){console.error("Invalid equation.%s",F);return}}),typeof f.z!="function"){console.error("equation.z needs to be function");return}for(var d=a(s),e=a(l),t=l.min;t<l.max+l.step*.999;t+=l.step)for(var i=s.min;i<s.max+s.step*.999;i+=s.step){var o=A.a.number.round(Math.min(i,s.max),d),v=A.a.number.round(Math.min(t,l.max),e),y=f.z(o,v);r.push([o,v,y])}}var R=["x","y","z"];u.parametric&&R.push("u","v");var B=Object(x.a)(this,R,u.data||r);return B},defaultOption:{coordinateSystem:"cartesian3D",zlevel:-10,grid3DIndex:0,shading:"lambert",parametric:!1,wireframe:{show:!0,lineStyle:{color:"rgba(0,0,0,0.5)",width:1}},equation:{x:{min:-1,max:1,step:.1},y:{min:-1,max:1,step:.1},z:null},parametricEquation:{u:{min:-1,max:1,step:.1},v:{min:-1,max:1,step:.1},x:null,y:null,z:null},itemStyle:{},animationDurationUpdate:500}});A.a.util.merge(g.prototype,_.a);var c=g},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(2),m=E(3),x=E(1),g=E.n(x),c=E(60),u=g.a.vec3;function h(r){return isNaN(r[0])||isNaN(r[1])||isNaN(r[2])}A.a.extendChartView({type:"surface",__ecgl__:!0,init:function(r,n){this.groupGL=new _.a.Node},render:function(r,n,a){var f=this._prevSurfaceMesh;this._prevSurfaceMesh=this._surfaceMesh,this._surfaceMesh=f,this._surfaceMesh||(this._surfaceMesh=this._createSurfaceMesh()),this.groupGL.remove(this._prevSurfaceMesh),this.groupGL.add(this._surfaceMesh);var s=r.coordinateSystem,l=r.get("shading"),d=r.getData(),e="ecgl."+l;if((!this._surfaceMesh.material||this._surfaceMesh.material.shader.name!==e)&&(this._surfaceMesh.material=_.a.createMaterial(e,["VERTEX_COLOR","DOUBLE_SIDED"])),_.a.setMaterialFromModel(l,this._surfaceMesh.material,r,a),s&&s.viewGL){s.viewGL.add(this.groupGL);var t=s.viewGL.isLinearSpace()?"define":"undefine";this._surfaceMesh.material[t]("fragment","SRGB_DECODE")}var i=r.get("parametric"),o=this._getDataShape(d,i),v=r.getModel("wireframe"),y=v.get("lineStyle.width"),p=v.get("show")&&y>0;this._updateSurfaceMesh(this._surfaceMesh,r,o,p);var C=this._surfaceMesh.material;p?(C.define("WIREFRAME_QUAD"),C.set("wireframeLineWidth",y),C.set("wireframeLineColor",_.a.parseColor(v.get("lineStyle.color")))):C.undefine("WIREFRAME_QUAD"),this._initHandler(r,a),this._updateAnimation(r)},_updateAnimation:function(r){_.a.updateVertexAnimation([["prevPosition","position"],["prevNormal","normal"]],this._prevSurfaceMesh,this._surfaceMesh,r)},_createSurfaceMesh:function(){var r=new _.a.Mesh({geometry:new _.a.Geometry({dynamic:!0,sortTriangles:!0}),shadowDepthMaterial:new _.a.Material({shader:new _.a.Shader(_.a.Shader.source("ecgl.sm.depth.vertex"),_.a.Shader.source("ecgl.sm.depth.fragment"))}),culling:!1,renderOrder:10,renderNormal:!0});return r.geometry.createAttribute("barycentric","float",4),r.geometry.createAttribute("prevPosition","float",3),r.geometry.createAttribute("prevNormal","float",3),A.a.util.extend(r.geometry,c.a),r},_initHandler:function(r,n){var a=r.getData(),f=this._surfaceMesh,s=r.coordinateSystem;function l(e,t){for(var i=1/0,o=-1,v=[],y=0;y<e.length;y++){f.geometry.attributes.position.get(e[y],v);var p=u.dist(t.array,v);p<i&&(i=p,o=e[y])}return o}f.seriesIndex=r.seriesIndex;var d=-1;f.off("mousemove"),f.off("mouseout"),f.on("mousemove",function(e){var t=l(e.triangle,e.point);if(t>=0){var i=[];f.geometry.attributes.position.get(t,i);for(var o=s.pointToData(i),v=1/0,y=-1,p=[],C=0;C<a.count();C++){p[0]=a.get("x",C),p[1]=a.get("y",C),p[2]=a.get("z",C);var D=u.squaredDistance(p,o);D<v&&(y=C,v=D)}y!==d&&n.dispatchAction({type:"grid3DShowAxisPointer",value:o}),d=y,f.dataIndex=y}else f.dataIndex=-1},this),f.on("mouseout",function(e){d=-1,f.dataIndex=-1,n.dispatchAction({type:"grid3DHideAxisPointer"})},this)},_updateSurfaceMesh:function(r,n,a,f){var s=r.geometry,l=n.getData(),d=l.getLayout("points"),e=0;l.each(function(ie){l.hasValue(ie)||e++});var t=e||f,i=s.attributes.position,o=s.attributes.normal,v=s.attributes.texcoord0,y=s.attributes.barycentric,p=s.attributes.color,C=a.row,D=a.column,b=n.get("shading"),S=b!=="color";if(t){var L=(C-1)*(D-1)*4;i.init(L),f&&y.init(L)}else i.value=new Float32Array(d);p.init(s.vertexCount),v.init(s.vertexCount);var w=[0,3,1,1,3,2],P=[[1,1,0,0],[0,1,0,1],[1,0,0,1],[1,0,1,0]],I=s.indices=new(s.vertexCount>65535?Uint32Array:Uint16Array)((C-1)*(D-1)*6),R=function(ie,de,me){me[1]=ie*D+de,me[0]=ie*D+de+1,me[3]=(ie+1)*D+de+1,me[2]=(ie+1)*D+de},B=!1;if(t){var F=[],W=[],G=0;S?o.init(s.vertexCount):o.value=null;for(var j=[[],[],[]],Y=[],ee=[],ae=u.create(),le=function(ie,de,me){var Ce=de*3;return me[0]=ie[Ce],me[1]=ie[Ce+1],me[2]=ie[Ce+2],me},_e=new Float32Array(d.length),he=new Float32Array(d.length/3*4),ve=0;ve<l.count();ve++)if(l.hasValue(ve)){var $=_.a.parseColor(l.getItemVisual(ve,"color")),Ae=l.getItemVisual(ve,"opacity");$[3]*=Ae,$[3]<.99&&(B=!0);for(var ge=0;ge<4;ge++)he[ve*4+ge]=$[ge]}for(var fe=[1e7,1e7,1e7],ve=0;ve<C-1;ve++)for(var Ee=0;Ee<D-1;Ee++){var ue=ve*(D-1)+Ee,oe=ue*4;R(ve,Ee,F);for(var X=!1,ge=0;ge<4;ge++)le(d,F[ge],W),h(W)&&(X=!0);for(var ge=0;ge<4;ge++)X?i.set(oe+ge,fe):(le(d,F[ge],W),i.set(oe+ge,W)),f&&y.set(oe+ge,P[ge]);for(var ge=0;ge<6;ge++)I[G++]=w[ge]+oe;if(S&&!X)for(var ge=0;ge<2;ge++){for(var re=ge*3,V=0;V<3;V++){var ne=F[w[re]+V];le(d,ne,j[V])}u.sub(Y,j[0],j[1]),u.sub(ee,j[1],j[2]),u.cross(ae,Y,ee);for(var V=0;V<3;V++){var Z=F[w[re]+V]*3;_e[Z]=_e[Z]+ae[0],_e[Z+1]=_e[Z+1]+ae[1],_e[Z+2]=_e[Z+2]+ae[2]}}}if(S)for(var ve=0;ve<_e.length/3;ve++)le(_e,ve,ae),u.normalize(ae,ae),_e[ve*3]=ae[0],_e[ve*3+1]=ae[1],_e[ve*3+2]=ae[2];for(var $=[],se=[],ve=0;ve<C-1;ve++)for(var Ee=0;Ee<D-1;Ee++){var ue=ve*(D-1)+Ee,oe=ue*4;R(ve,Ee,F);for(var ge=0;ge<4;ge++){for(var V=0;V<4;V++)$[V]=he[F[ge]*4+V];p.set(oe+ge,$),S&&(le(_e,F[ge],ae),o.set(oe+ge,ae));var ne=F[ge];se[0]=ne%D/(D-1),se[1]=Math.floor(ne/D)/(C-1),v.set(oe+ge,se)}ue++}}else{for(var se=[],ve=0;ve<l.count();ve++){se[0]=ve%D/(D-1),se[1]=Math.floor(ve/D)/(C-1);var $=_.a.parseColor(l.getItemVisual(ve,"color")),Ae=l.getItemVisual(ve,"opacity");$[3]*=Ae,$[3]<.99&&(B=!0),p.set(ve,$),v.set(ve,se)}for(var F=[],q=0,ve=0;ve<C-1;ve++)for(var Ee=0;Ee<D-1;Ee++){R(ve,Ee,F);for(var ge=0;ge<6;ge++)I[q++]=F[w[ge]]}S?s.generateVertexNormals():o.value=null}r.material.get("normalMap")&&s.generateTangents(),s.updateBoundingBox(),s.dirty(),r.material.transparent=B,r.material.depthMask=!B},_getDataShape:function(r,n){for(var a=-1/0,f=0,s=0,l=0,d=n?"u":"x",e=0;e<r.count();e++){var t=r.get(d,e);if(t<a){if(l&&l!==s)throw new Error("Invalid data. data should be a row major 2d array.");l=s,s=0,f++}a=t,s++}return{row:f+1,column:s}},dispose:function(){this.groupGL.removeAll()},remove:function(){this.groupGL.removeAll()}})},function(K,O,E){"use strict";var M=E(0),A=E.n(M);A.a.registerLayout(function(_,m){_.eachSeriesByType("surface",function(x){var g=x.coordinateSystem;(!g||g.type!=="cartesian3D")&&console.error("Surface chart only support cartesian3D coordinateSystem");var c=x.getData(),u=new Float32Array(3*c.count()),h=[NaN,NaN,NaN];if(g&&g.type==="cartesian3D"){var r=g.dimensions,n=r.map(function(a){return x.coordDimToDataDim(a)[0]});c.each(n,function(a,f,s,l){var d;c.hasValue(l)?d=g.dataToPoint([a,f,s]):d=h,u[l*3]=d[0],u[l*3+1]=d[1],u[l*3+2]=d[2]})}c.setLayout("points",u)})})},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(83),m=E(234),x=E(235),g=E(16);A.a.registerVisual(Object(g.a)("map3D")),A.a.registerAction({type:"map3DChangeCamera",event:"map3dcamerachanged",update:"series:updateCamera"},function(c,u){u.eachComponent({mainType:"series",subType:"map3D",query:c},function(h){h.setView(c)})})},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(38),m=E(31),x=E(32),g=E(26),c=E(80),u=E(27),h=E(35),r=E(82);function n(s,l){for(var d=[],e=0;e<l.length;e++)d.push(s.dataToPoint(l[e]));return d}var a=A.a.extendSeriesModel({type:"series.map3D",layoutMode:"box",coordinateSystem:null,visualColorAccessPath:"itemStyle.color",optionUpdated:function(s){s=s||{};var l=this.get("coordinateSystem");if(!(l==null||l==="geo3D")){var d=["left","top","width","height","boxWidth","boxDepth","boxHeight","light","viewControl","postEffect","temporalSuperSampling","environment","groundPlane"],e=[];d.forEach(function(t){s[t]!=null&&e.push(t)}),e.length&&console.warn("Property %s in map3D series will be ignored if coordinate system is %s",e.join(", "),l),this.get("groundPlane.show")&&(this.option.groundPlane.show=!1),this._geo=null}},getInitialData:function(s){s.data=this.getFilledRegions(s.data,s.map);var l=A.a.helper.completeDimensions(["value"],s.data),d=new A.a.List(l,this);d.initData(s.data);var e={};return d.each(function(t){var i=d.getName(t),o=d.getItemModel(t);e[i]=o}),this._regionModelMap=e,d},formatTooltip:function(s){return Object(h.a)(this,s)},getRegionModel:function(s){var l=this.getData().getName(s);return this._regionModelMap[l]||new A.a.Model(null,this)},getRegionPolygonCoords:function(s){var l=this.coordinateSystem,d=this.getData().getName(s);if(l.transform){var e=l.getRegion(d);return e?e.geometries:[]}else{this._geo||(this._geo=r.a.createGeo3D(this));for(var e=this._geo.getRegion(d),t=[],i=0;i<e.geometries.length;i++){var o=e.geometries[i],v=[],y=n(l,o.exterior);if(v&&v.length)for(var p=0;p<o.interiors.length;p++)v.push(n(l,v[p]));t.push({interiors:v,exterior:y})}return t}},getFormattedLabel:function(s,l){var d=u.a.getFormattedLabel(this,s,l);return d==null&&(d=this.getData().getName(s)),d},defaultOption:{coordinateSystem:"geo3D",data:null}});A.a.util.merge(a.prototype,c.a),A.a.util.merge(a.prototype,_.a),A.a.util.merge(a.prototype,m.a),A.a.util.merge(a.prototype,x.a),A.a.util.merge(a.prototype,g.a);var f=a},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(2),m=E(39),x=E(34),g=E(59),c=A.a.extendChartView({type:"map3D",__ecgl__:!0,init:function(u,h){this._geo3DBuilder=new g.a(h),this.groupGL=new _.a.Node},render:function(u,h,r){var n=u.coordinateSystem;if(!(!n||!n.viewGL)){this.groupGL.add(this._geo3DBuilder.rootNode),n.viewGL.add(this.groupGL);var a;if(n.type==="geo3D"){a=n,this._sceneHelper||(this._sceneHelper=new x.a,this._sceneHelper.initLight(this.groupGL)),this._sceneHelper.setScene(n.viewGL.scene),this._sceneHelper.updateLight(u),n.viewGL.setPostEffect(u.getModel("postEffect"),r),n.viewGL.setTemporalSuperSampling(u.getModel("temporalSuperSampling"));var f=this._control;f||(f=this._control=new m.a({zr:r.getZr()}),this._control.init());var s=u.getModel("viewControl");f.setViewGL(n.viewGL),f.setFromViewControlModel(s,0),f.off("update"),f.on("update",function(){r.dispatchAction({type:"map3DChangeCamera",alpha:f.getAlpha(),beta:f.getBeta(),distance:f.getDistance(),from:this.uid,map3DId:u.id})}),this._geo3DBuilder.extrudeY=!0}else this._control&&(this._control.dispose(),this._control=null),this._sceneHelper&&(this._sceneHelper.dispose(),this._sceneHelper=null),a=u.getData().getLayout("geo3D"),this._geo3DBuilder.extrudeY=!1;this._geo3DBuilder.update(u,h,r,0,u.getData().count());var l=n.viewGL.isLinearSpace()?"define":"undefine";this._geo3DBuilder.rootNode.traverse(function(d){d.material&&d.material[l]("fragment","SRGB_DECODE")})}},afterRender:function(u,h,r,n){var a=n.renderer,f=u.coordinateSystem;f&&f.type==="geo3D"&&(this._sceneHelper.updateAmbientCubemap(a,u,r),this._sceneHelper.updateSkybox(a,u,r))},dispose:function(){this.groupGL.removeAll(),this._control.dispose()}})},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(237),m=E(238),x=E(45),g=E.n(x),c=E(16);A.a.registerVisual(g()("scatterGL","circle",null)),A.a.registerVisual(Object(c.a)("scatterGL")),A.a.registerLayout({seriesType:"scatterGL",reset:function(u){var h=u.coordinateSystem,r;if(h){var n=h.dimensions,a=[];n.length===1?r=function(f,s){for(var l=new Float32Array((f.end-f.start)*2),d=f.start;d<f.end;d++){var e=(d-f.start)*2,t=s.get(n[0],d),i=h.dataToPoint(t);l[e]=i[0],l[e+1]=i[1]}s.setLayout("points",l)}:n.length===2&&(r=function(f,s){for(var l=new Float32Array((f.end-f.start)*2),d=f.start;d<f.end;d++){var e=(d-f.start)*2,t=s.get(n[0],d),i=s.get(n[1],d);a[0]=t,a[1]=i,a=h.dataToPoint(a),l[e]=a[0],l[e+1]=a[1]}s.setLayout("points",l)})}return{progress:r}}})},function(K,O,E){"use strict";var M=E(0),A=E.n(M);A.a.extendSeriesModel({type:"series.scatterGL",dependencies:["grid","polar","geo","singleAxis"],visualColorAccessPath:"itemStyle.color",getInitialData:function(){return A.a.helper.createList(this)},defaultOption:{coordinateSystem:"cartesian2d",zlevel:10,progressive:1e5,progressiveThreshold:1e5,large:!1,symbol:"circle",symbolSize:10,zoomScale:0,blendMode:"source-over",itemStyle:{opacity:.8},postEffect:{enable:!1,colorCorrection:{exposure:0,brightness:0,contrast:1,saturation:1,enable:!0}}}})},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(2),m=E(20),x=E(62),g=E(84),c=E(3);A.a.extendChartView({type:"scatterGL",__ecgl__:!0,init:function(u,h){this.groupGL=new _.a.Node,this.viewGL=new m.a("orthographic"),this.viewGL.add(this.groupGL),this._pointsBuilderList=[],this._currentStep=0,this._sizeScale=1,this._glViewHelper=new g.a(this.viewGL)},render:function(u,h,r){if(this.groupGL.removeAll(),this._glViewHelper.reset(u,r),!!u.getData().count()){var n=this._pointsBuilderList[0];n||(n=this._pointsBuilderList[0]=new x.a(!0,r)),this._pointsBuilderList.length=1,this.groupGL.add(n.rootNode),this._removeTransformInPoints(u.getData().getLayout("points")),n.update(u,h,r),this.viewGL.setPostEffect(u.getModel("postEffect"),r)}},incrementalPrepareRender:function(u,h,r){this.groupGL.removeAll(),this._glViewHelper.reset(u,r),this._currentStep=0,this.viewGL.setPostEffect(u.getModel("postEffect"),r)},incrementalRender:function(u,h,r,n){if(!(u.end<=u.start)){var a=this._pointsBuilderList[this._currentStep];a||(a=new x.a(!0,n),this._pointsBuilderList[this._currentStep]=a),this.groupGL.add(a.rootNode),this._removeTransformInPoints(h.getData().getLayout("points")),a.setSizeScale(this._sizeScale),a.update(h,r,n,u.start,u.end),n.getZr().refresh(),this._currentStep++}},updateTransform:function(u,h,r){if(u.coordinateSystem.getRoamTransform){this._glViewHelper.updateTransform(u,r);var n=this._glViewHelper.getZoom(),a=Math.max((u.get("zoomScale")||0)*(n-1)+1,0);this._sizeScale=a,this._pointsBuilderList.forEach(function(f){f.setSizeScale(a)})}},_removeTransformInPoints:function(u){if(u)for(var h=[],r=0;r<u.length;r+=2)h[0]=u[r],h[1]=u[r+1],this._glViewHelper.removeTransformInPoint(h),u[r]=h[0],u[r+1]=h[1]},dispose:function(){this.groupGL.removeAll()},remove:function(){this.groupGL.removeAll()}})},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(240),m=E(246),x=E(45),g=E.n(x),c=E(16);A.a.registerVisual(g()("graphGL","circle",null)),A.a.registerVisual(Object(c.a)("graphGL")),A.a.registerVisual(function(h){var r={};h.eachSeriesByType("graphGL",function(n){var a=n.getCategoriesData(),f=n.getData(),s={};a.each(function(l){var d=a.getName(l);s[d]=l;var e=a.getItemModel(l),t=e.get("itemStyle.color")||n.getColorFromPalette(d,r);a.setItemVisual(l,"color",t)}),a.count()&&f.each(function(l){var d=f.getItemModel(l),e=d.getShallow("category");e!=null&&(typeof e=="string"&&(e=s[e]),f.getItemVisual(l,"color",!0)||f.setItemVisual(l,"color",a.getItemVisual(e,"color")))})})}),A.a.registerVisual(function(h){h.eachSeriesByType("graphGL",function(r){var n=r.getGraph(),a=r.getEdgeData(),f="lineStyle.color".split("."),s="lineStyle.opacity".split(".");a.setVisual("color",r.get(f)),a.setVisual("opacity",r.get(s)),a.each(function(l){var d=a.getItemModel(l),e=n.getEdgeByIndex(l),t=d.get(f),i=d.get(s);switch(t){case"source":t=e.node1.getVisual("color");break;case"target":t=e.node2.getVisual("color");break}e.setVisual("color",t),e.setVisual("opacity",i)})})}),A.a.registerAction({type:"graphGLRoam",event:"graphglroam",update:"series.graphGL:roam"},function(h,r){r.eachComponent({mainType:"series",query:h},function(n){n.setView(h)})});function u(){}A.a.registerAction({type:"graphGLStartLayout",event:"graphgllayoutstarted",update:"series.graphGL:startLayout"},u),A.a.registerAction({type:"graphGLStopLayout",event:"graphgllayoutstopped",update:"series.graphGL:stopLayout"},u),A.a.registerAction({type:"graphGLFocusNodeAdjacency",event:"graphGLFocusNodeAdjacency",update:"series.graphGL:focusNodeAdjacency"},u),A.a.registerAction({type:"graphGLUnfocusNodeAdjacency",event:"graphGLUnfocusNodeAdjacency",update:"series.graphGL:unfocusNodeAdjacency"},u)},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(241),m=E(27),x=A.a.extendSeriesModel({type:"series.graphGL",visualColorAccessPath:"itemStyle.color",init:function(c){x.superApply(this,"init",arguments),this.legendDataProvider=function(){return this._categoriesData},this._updateCategoriesData()},mergeOption:function(c){x.superApply(this,"mergeOption",arguments),this._updateCategoriesData()},getFormattedLabel:function(c,u,h,r){var n=m.a.getFormattedLabel(this,c,u,h,r);if(n==null){var a=this.getData(),f=a.dimensions[a.dimensions.length-1];n=a.get(f,c)}return n},getInitialData:function(c,u){var h=c.edges||c.links||[],r=c.data||c.nodes||[],n=this;if(r&&h)return Object(_.a)(r,h,this,!0,a).data;function a(f,s){f.wrapMethod("getItemModel",function(t){var i=n._categoriesModels,o=t.getShallow("category"),v=i[o];return v&&(v.parentModel=t.parentModel,t.parentModel=v),t});var l=n.getModel("edgeLabel"),d=new A.a.Model({label:l.option},l.parentModel,u);s.wrapMethod("getItemModel",function(t){return t.customizeGetParent(e),t});function e(t){return t=this.parsePath(t),t&&t[0]==="label"?d:this.parentModel}}},getGraph:function(){return this.getData().graph},getEdgeData:function(){return this.getGraph().edgeData},getCategoriesData:function(){return this._categoriesData},formatTooltip:function(c,u,h){if(h==="edge"){var r=this.getData(),n=this.getDataParams(c,h),a=r.graph.getEdgeByIndex(c),f=r.getName(a.node1.dataIndex),s=r.getName(a.node2.dataIndex),l=[];return f!=null&&l.push(f),s!=null&&l.push(s),l=A.a.format.encodeHTML(l.join(" > ")),n.value&&(l+=" : "+A.a.format.encodeHTML(n.value)),l}else return x.superApply(this,"formatTooltip",arguments)},_updateCategoriesData:function(){var c=(this.option.categories||[]).map(function(h){return h.value!=null?h:A.a.util.extend({value:0},h)}),u=new A.a.List(["value"],this);u.initData(c),this._categoriesData=u,this._categoriesModels=u.mapArray(function(h){return u.getItemModel(h,!0)})},setView:function(c){c.zoom!=null&&(this.option.zoom=c.zoom),c.offset!=null&&(this.option.offset=c.offset)},setNodePosition:function(c){for(var u=0;u<c.length/2;u++){var h=c[u*2],r=c[u*2+1],n=this.getData().getRawDataItem(u);n.x=h,n.y=r}},isAnimationEnabled:function(){return x.superCall(this,"isAnimationEnabled")&&!(this.get("layout")==="force"&&this.get("force.layoutAnimation"))},defaultOption:{zlevel:10,z:2,legendHoverLink:!0,layout:"forceAtlas2",forceAtlas2:{initLayout:null,GPU:!0,steps:1,maxSteps:1e3,repulsionByDegree:!0,linLogMode:!1,strongGravityMode:!1,gravity:1,edgeWeightInfluence:1,edgeWeight:[1,4],nodeWeight:[1,4],preventOverlap:!1,gravityCenter:null},focusNodeAdjacency:!0,focusNodeAdjacencyOn:"mouseover",left:"center",top:"center",symbol:"circle",symbolSize:5,roam:!1,center:null,zoom:1,label:{show:!1,formatter:"{b}",position:"right",distance:5,textStyle:{fontSize:14}},itemStyle:{},lineStyle:{color:"#aaa",width:1,opacity:.5},emphasis:{label:{show:!0}},animation:!1}}),g=x},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(242),m=E.n(_),x=E(245),g=E.n(x),c=E(3);O.a=function(u,h,r,n,a){for(var f=new m.a(n),s=0;s<u.length;s++)f.addNode(c.a.firstNotNull(u[s].id,u[s].name,s),s);for(var l=[],d=[],e=0,s=0;s<h.length;s++){var t=h[s],i=t.source,o=t.target;f.addEdge(i,o,e)&&(d.push(t),l.push(c.a.firstNotNull(t.id,i+" > "+o)),e++)}var v,y=A.a.helper.completeDimensions(["value"],u);v=new A.a.List(y,r),v.initData(u);var p=new A.a.List(["value"],r);return p.initData(d,l),a&&a(v,p),g()({mainData:v,struct:f,structAttr:"graph",datas:{node:v,edge:p},datasAttr:{node:"data",edge:"edgeData"}}),f.update(),f}},function(K,O,E){var M=E(85),A=M.__DEV__,_=E(12),m=E(244),x=m.enableClassCheck;function g(f){return"_EC_"+f}var c=function(f){this._directed=f||!1,this.nodes=[],this.edges=[],this._nodesMap={},this._edgesMap={},this.data,this.edgeData},u=c.prototype;u.type="graph",u.isDirected=function(){return this._directed},u.addNode=function(f,s){f=f||""+s;var l=this._nodesMap;if(!l[g(f)]){var d=new h(f,s);return d.hostGraph=this,this.nodes.push(d),l[g(f)]=d,d}},u.getNodeByIndex=function(f){var s=this.data.getRawIndex(f);return this.nodes[s]},u.getNodeById=function(f){return this._nodesMap[g(f)]},u.addEdge=function(f,s,l){var d=this._nodesMap,e=this._edgesMap;if(typeof f=="number"&&(f=this.nodes[f]),typeof s=="number"&&(s=this.nodes[s]),h.isInstance(f)||(f=d[g(f)]),h.isInstance(s)||(s=d[g(s)]),!(!f||!s)){var t=f.id+"-"+s.id;if(!e[t]){var i=new r(f,s,l);return i.hostGraph=this,this._directed&&(f.outEdges.push(i),s.inEdges.push(i)),f.edges.push(i),f!==s&&s.edges.push(i),this.edges.push(i),e[t]=i,i}}},u.getEdgeByIndex=function(f){var s=this.edgeData.getRawIndex(f);return this.edges[s]},u.getEdge=function(f,s){h.isInstance(f)&&(f=f.id),h.isInstance(s)&&(s=s.id);var l=this._edgesMap;return this._directed?l[f+"-"+s]:l[f+"-"+s]||l[s+"-"+f]},u.eachNode=function(f,s){for(var l=this.nodes,d=l.length,e=0;e<d;e++)l[e].dataIndex>=0&&f.call(s,l[e],e)},u.eachEdge=function(f,s){for(var l=this.edges,d=l.length,e=0;e<d;e++)l[e].dataIndex>=0&&l[e].node1.dataIndex>=0&&l[e].node2.dataIndex>=0&&f.call(s,l[e],e)},u.breadthFirstTraverse=function(f,s,l,d){if(h.isInstance(s)||(s=this._nodesMap[g(s)]),!!s){for(var e=l==="out"?"outEdges":l==="in"?"inEdges":"edges",t=0;t<this.nodes.length;t++)this.nodes[t].__visited=!1;if(!f.call(d,s,null))for(var i=[s];i.length;)for(var o=i.shift(),v=o[e],t=0;t<v.length;t++){var y=v[t],p=y.node1===o?y.node2:y.node1;if(!p.__visited){if(f.call(d,p,o))return;i.push(p),p.__visited=!0}}}},u.update=function(){for(var f=this.data,s=this.edgeData,l=this.nodes,d=this.edges,e=0,t=l.length;e<t;e++)l[e].dataIndex=-1;for(var e=0,t=f.count();e<t;e++)l[f.getRawIndex(e)].dataIndex=e;s.filterSelf(function(i){var o=d[s.getRawIndex(i)];return o.node1.dataIndex>=0&&o.node2.dataIndex>=0});for(var e=0,t=d.length;e<t;e++)d[e].dataIndex=-1;for(var e=0,t=s.count();e<t;e++)d[s.getRawIndex(e)].dataIndex=e},u.clone=function(){for(var f=new c(this._directed),s=this.nodes,l=this.edges,d=0;d<s.length;d++)f.addNode(s[d].id,s[d].dataIndex);for(var d=0;d<l.length;d++){var e=l[d];f.addEdge(e.node1.id,e.node2.id,e.dataIndex)}return f};function h(f,s){this.id=f==null?"":f,this.inEdges=[],this.outEdges=[],this.edges=[],this.hostGraph,this.dataIndex=s==null?-1:s}h.prototype={constructor:h,degree:function(){return this.edges.length},inDegree:function(){return this.inEdges.length},outDegree:function(){return this.outEdges.length},getModel:function(f){if(!(this.dataIndex<0)){var s=this.hostGraph,l=s.data.getItemModel(this.dataIndex);return l.getModel(f)}}};function r(f,s,l){this.node1=f,this.node2=s,this.dataIndex=l==null?-1:l}r.prototype.getModel=function(f){if(!(this.dataIndex<0)){var s=this.hostGraph,l=s.edgeData.getItemModel(this.dataIndex);return l.getModel(f)}};var n=function(f,s){return{getValue:function(l){var d=this[f][s];return d.get(d.getDimension(l||"value"),this.dataIndex)},setVisual:function(l,d){this.dataIndex>=0&&this[f][s].setItemVisual(this.dataIndex,l,d)},getVisual:function(l,d){return this[f][s].getItemVisual(this.dataIndex,l,d)},setLayout:function(l,d){this.dataIndex>=0&&this[f][s].setItemLayout(this.dataIndex,l,d)},getLayout:function(){return this[f][s].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[f][s].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[f][s].getRawIndex(this.dataIndex)}}};_.mixin(h,n("hostGraph","data")),_.mixin(r,n("hostGraph","edgeData")),c.Node=h,c.Edge=r,x(h),x(r);var a=c;K.exports=a},function(K,O){var E;E=function(){return this}();try{E=E||Function("return this")()||(0,eval)("this")}catch(M){typeof window=="object"&&(E=window)}K.exports=E},function(K,O,E){var M=E(85),A=M.__DEV__,_=E(12),m=".",x="___EC__COMPONENT__CONTAINER___";function g(l){var d={main:"",sub:""};return l&&(l=l.split(m),d.main=l[0]||"",d.sub=l[1]||""),d}function c(l){_.assert(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(l),'componentType "'+l+'" illegal')}function u(l,d){l.$constructor=l,l.extend=function(e){var t=this,i=function(){e.$constructor?e.$constructor.apply(this,arguments):t.apply(this,arguments)};return _.extend(i.prototype,e),i.extend=this.extend,i.superCall=n,i.superApply=a,_.inherits(i,this),i.superClass=t,i}}var h=0;function r(l){var d=["__\0is_clz",h++,Math.random().toFixed(3)].join("_");l.prototype[d]=!0,l.isInstance=function(e){return!!(e&&e[d])}}function n(l,d){var e=_.slice(arguments,2);return this.superClass.prototype[d].apply(l,e)}function a(l,d,e){return this.superClass.prototype[d].apply(l,e)}function f(l,d){d=d||{};var e={};l.registerClass=function(o,v){if(v){if(c(v),v=g(v),!v.sub)e[v.main]=o;else if(v.sub!==x){var y=t(v);y[v.sub]=o}}return o},l.getClass=function(o,v,y){var p=e[o];if(p&&p[x]&&(p=v?p[v]:null),y&&!p)throw new Error(v?"Component "+o+"."+(v||"")+" not exists. Load it first.":o+".type should be specified.");return p},l.getClassesByMainType=function(o){o=g(o);var v=[],y=e[o.main];return y&&y[x]?_.each(y,function(p,C){C!==x&&v.push(p)}):v.push(y),v},l.hasClass=function(o){return o=g(o),!!e[o.main]},l.getAllClassMainTypes=function(){var o=[];return _.each(e,function(v,y){o.push(y)}),o},l.hasSubTypes=function(o){o=g(o);var v=e[o.main];return v&&v[x]},l.parseClassType=g;function t(o){var v=e[o.main];return(!v||!v[x])&&(v=e[o.main]={},v[x]=!0),v}if(d.registerWhenExtend){var i=l.extend;i&&(l.extend=function(o){var v=i.call(this,o);return l.registerClass(v,o.type)})}return l}function s(l,d){}O.parseClassType=g,O.enableClassExtend=u,O.enableClassCheck=r,O.enableClassManagement=f,O.setReadOnly=s},function(K,O,E){var M=E(12),A=M.each,_="\0__link_datas",m="\0__link_mainData";function x(s){var l=s.mainData,d=s.datas;d||(d={main:l},s.datasAttr={main:"data"}),s.datas=s.mainData=null,n(l,d,s),A(d,function(e){A(l.TRANSFERABLE_METHODS,function(t){e.wrapMethod(t,M.curry(g,s))})}),l.wrapMethod("cloneShallow",M.curry(u,s)),A(l.CHANGABLE_METHODS,function(e){l.wrapMethod(e,M.curry(c,s))}),M.assert(d[l.dataType]===l)}function g(s,l){if(r(this)){var d=M.extend({},this[_]);d[this.dataType]=l,n(l,d,s)}else a(l,this.dataType,this[m],s);return l}function c(s,l){return s.struct&&s.struct.update(this),l}function u(s,l){return A(l[_],function(d,e){d!==l&&a(d.cloneShallow(),e,l,s)}),l}function h(s){var l=this[m];return s==null||l==null?l:l[_][s]}function r(s){return s[m]===s}function n(s,l,d){s[_]={},A(l,function(e,t){a(e,t,s,d)})}function a(s,l,d,e){d[_][l]=s,s[m]=d,s.dataType=l,e.struct&&(s[e.structAttr]=e.struct,e.struct[e.datasAttr[l]]=s),s.getLinkedData=h}var f=x;K.exports=f},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(41),m=E.n(_),x=E(2),g=E(20),c=E(86),u=E(3),h=E(247),r=E(249),n=E(65),a=E.n(n),f=E(1),s=E.n(f),l=E(251),d=E(62),e=E(252),t=s.a.vec2;x.a.Shader.import(e.a);var i=1;A.a.extendChartView({type:"graphGL",__ecgl__:!0,init:function(o,v){this.groupGL=new x.a.Node,this.viewGL=new g.a("orthographic"),this.viewGL.camera.left=this.viewGL.camera.right=0,this.viewGL.add(this.groupGL),this._pointsBuilder=new d.a(!0,v),this._forceEdgesMesh=new x.a.Mesh({material:new x.a.Material({shader:x.a.createShader("ecgl.forceAtlas2.edges"),transparent:!0,depthMask:!1,depthTest:!1}),$ignorePicking:!0,geometry:new x.a.Geometry({attributes:{node:new x.a.Geometry.Attribute("node","float",2),color:new x.a.Geometry.Attribute("color","float",4,"COLOR")},dynamic:!0,mainAttribute:"node"}),renderOrder:-1,mode:x.a.Mesh.LINES}),this._edgesMesh=new x.a.Mesh({material:new x.a.Material({shader:x.a.createShader("ecgl.meshLines2D"),transparent:!0,depthMask:!1,depthTest:!1}),$ignorePicking:!0,geometry:new c.a({useNativeLine:!1,dynamic:!0}),renderOrder:-1,culling:!1}),this._layoutId=0,this._control=new l.a({zr:v.getZr(),viewGL:this.viewGL}),this._control.setTarget(this.groupGL),this._control.init(),this._clickHandler=this._clickHandler.bind(this)},render:function(o,v,y){this.groupGL.add(this._pointsBuilder.rootNode),this._model=o,this._api=y,this._initLayout(o,v,y),this._pointsBuilder.update(o,v,y),this._forceLayoutInstance instanceof h.a||this.groupGL.remove(this._forceEdgesMesh),this._updateCamera(o,y),this._control.off("update"),this._control.on("update",function(){y.dispatchAction({type:"graphGLRoam",seriesId:o.id,zoom:this._control.getZoom(),offset:this._control.getOffset()}),this._pointsBuilder.updateView(this.viewGL.camera)},this),this._control.setZoom(u.a.firstNotNull(o.get("zoom"),1)),this._control.setOffset(o.get("offset")||[0,0]);var p=this._pointsBuilder.getPointsMesh();if(p.off("mousemove",this._mousemoveHandler),p.off("mouseout",this._mouseOutHandler,this),y.getZr().off("click",this._clickHandler),this._pointsBuilder.highlightOnMouseover=!0,o.get("focusNodeAdjacency")){var C=o.get("focusNodeAdjacencyOn");C==="click"?y.getZr().on("click",this._clickHandler):C==="mouseover"?(p.on("mousemove",this._mousemoveHandler,this),p.on("mouseout",this._mouseOutHandler,this),this._pointsBuilder.highlightOnMouseover=!1):console.warn("Unkown focusNodeAdjacencyOn value s"+C)}this._lastMouseOverDataIndex=-1},_clickHandler:function(o){if(!this._layouting){var v=this._pointsBuilder.getPointsMesh().dataIndex;v>=0?this._api.dispatchAction({type:"graphGLFocusNodeAdjacency",seriesId:this._model.id,dataIndex:v}):this._api.dispatchAction({type:"graphGLUnfocusNodeAdjacency",seriesId:this._model.id})}},_mousemoveHandler:function(o){if(!this._layouting){var v=this._pointsBuilder.getPointsMesh().dataIndex;v>=0?v!==this._lastMouseOverDataIndex&&this._api.dispatchAction({type:"graphGLFocusNodeAdjacency",seriesId:this._model.id,dataIndex:v}):this._mouseOutHandler(o),this._lastMouseOverDataIndex=v}},_mouseOutHandler:function(o){this._layouting||(this._api.dispatchAction({type:"graphGLUnfocusNodeAdjacency",seriesId:this._model.id}),this._lastMouseOverDataIndex=-1)},_updateForceEdgesGeometry:function(o,v){var y=this._forceEdgesMesh.geometry,p=v.getEdgeData(),C=0,D=this._forceLayoutInstance,b=p.count()*2;y.attributes.node.init(b),y.attributes.color.init(b),p.each(function(S){var L=o[S];y.attributes.node.set(C,D.getNodeUV(L.node1)),y.attributes.node.set(C+1,D.getNodeUV(L.node2));var w=p.getItemVisual(L.dataIndex,"color"),P=x.a.parseColor(w);P[3]*=u.a.firstNotNull(p.getItemVisual(L.dataIndex,"opacity"),1),y.attributes.color.set(C,P),y.attributes.color.set(C+1,P),C+=2}),y.dirty()},_updateMeshLinesGeometry:function(){var v=this._model.getEdgeData(),o=this._edgesMesh.geometry,v=this._model.getEdgeData(),y=this._model.getData().getLayout("points");o.resetOffset(),o.setVertexCount(v.count()*o.getLineVertexCount()),o.setTriangleCount(v.count()*o.getLineTriangleCount());var p=[],C=[],D=["lineStyle","width"];this._originalEdgeColors=new Float32Array(v.count()*4),this._edgeIndicesMap=new Float32Array(v.count()),v.each(function(b){var S=v.graph.getEdgeByIndex(b),L=S.node1.dataIndex*2,w=S.node2.dataIndex*2;p[0]=y[L],p[1]=y[L+1],C[0]=y[w],C[1]=y[w+1];var P=v.getItemVisual(S.dataIndex,"color"),I=x.a.parseColor(P);I[3]*=u.a.firstNotNull(v.getItemVisual(S.dataIndex,"opacity"),1);var R=v.getItemModel(S.dataIndex),B=u.a.firstNotNull(R.get(D),1)*this._api.getDevicePixelRatio();o.addLine(p,C,I,B);for(var F=0;F<4;F++)this._originalEdgeColors[S.dataIndex*4+F]=I[F];this._edgeIndicesMap[S.dataIndex]=b},!1,this),o.dirty()},_updateForceNodesGeometry:function(o){for(var v=this._pointsBuilder.getPointsMesh(),y=[],p=0;p<o.count();p++)this._forceLayoutInstance.getNodeUV(p,y),v.geometry.attributes.position.set(p,y);v.geometry.dirty("position")},_initLayout:function(o,v,y){var p=o.get("layout"),C=o.getGraph(),D=o.getBoxLayoutParams(),b=m.a.getLayoutRect(D,{width:y.getWidth(),height:y.getHeight()});p==="force"&&(console.warn("Currently only forceAtlas2 layout supported."),p="forceAtlas2"),this.stopLayout(o,v,y,{beforeLayout:!0});var S=o.getData(),L=o.getData();if(p==="forceAtlas2"){var w=o.getModel("forceAtlas2"),P=this._forceLayoutInstance,I=[],R=[],B=S.getDataExtent("value"),F=L.getDataExtent("value"),W=u.a.firstNotNull(w.get("edgeWeight"),1),G=u.a.firstNotNull(w.get("nodeWeight"),1);typeof W=="number"&&(W=[W,W]),typeof G=="number"&&(G=[G,G]);var j=0,Y={},ee=new Float32Array(S.count()*2);if(C.eachNode(function(le){var _e=le.dataIndex,he=S.get("value",_e),ve,Ae;if(S.hasItemOption){var ge=S.getItemModel(_e);ve=ge.get("x"),Ae=ge.get("y")}ve==null&&(ve=b.x+Math.random()*b.width,Ae=b.y+Math.random()*b.height),ee[j*2]=ve,ee[j*2+1]=Ae,Y[le.id]=j++;var fe=A.a.number.linearMap(he,B,G);isNaN(fe)&&(isNaN(G[0])?fe=1:fe=G[0]),I.push({x:ve,y:Ae,mass:fe,size:S.getItemVisual(_e,"symbolSize")})}),S.setLayout("points",ee),C.eachEdge(function(le){var _e=le.dataIndex,he=S.get("value",_e),ve=A.a.number.linearMap(he,F,W);isNaN(ve)&&(isNaN(W[0])?ve=1:ve=W[0]),R.push({node1:Y[le.node1.id],node2:Y[le.node2.id],weight:ve,dataIndex:_e})}),!P){var ae=w.get("GPU");this._forceLayoutInstance&&(ae&&!(this._forceLayoutInstance instanceof h.a)||!ae&&!(this._forceLayoutInstance instanceof r.a))&&(this._forceLayoutInstanceToDispose=this._forceLayoutInstance),P=this._forceLayoutInstance=ae?new h.a:new r.a}P.initData(I,R),P.updateOption(w.option),this._updateForceEdgesGeometry(P.getEdges(),o),this._updatePositionTexture(),y.dispatchAction({type:"graphGLStartLayout",from:this.uid})}else{var ee=new Float32Array(S.count()*2),j=0;C.eachNode(function(he){var ve=he.dataIndex,Ae,ge;if(S.hasItemOption){var fe=S.getItemModel(ve);Ae=fe.get("x"),ge=fe.get("y")}ee[j++]=Ae,ee[j++]=ge}),S.setLayout("points",ee),this._updateAfterLayout(o,v,y)}},_updatePositionTexture:function(){var o=this._forceLayoutInstance.getNodePositionTexture();this._pointsBuilder.setPositionTexture(o),this._forceEdgesMesh.material.set("positionTex",o)},startLayout:function(o,v,D,p){if(!(p&&p.from!=null&&p.from!==this.uid)){var C=this.viewGL,D=this._api,b=this._forceLayoutInstance,S=this._model.getData(),L=this._model.getModel("forceAtlas2");if(!b){console.error("None layout don't have startLayout action");return}if(this.groupGL.remove(this._edgesMesh),this.groupGL.add(this._forceEdgesMesh),!!this._forceLayoutInstance){this._updateForceNodesGeometry(o.getData()),this._pointsBuilder.hideLabels();var w=this,P=this._layoutId=i++,I=L.getShallow("maxSteps"),R=L.getShallow("steps"),B=0,F=Math.max(R*2,20),W=function(G){if(G===w._layoutId){if(b.isFinished(I)){D.dispatchAction({type:"graphGLStopLayout",from:w.uid}),D.dispatchAction({type:"graphGLFinishLayout",points:S.getLayout("points"),from:w.uid});return}b.update(C.layer.renderer,R,function(){w._updatePositionTexture(),B+=R,B>=F&&(w._syncNodePosition(o),B=0),D.getZr().refresh(),a()(function(){W(G)})})}};a()(function(){w._forceLayoutInstanceToDispose&&(w._forceLayoutInstanceToDispose.dispose(C.layer.renderer),w._forceLayoutInstanceToDispose=null),W(P)}),this._layouting=!0}}},stopLayout:function(o,v,y,p){p&&p.from!=null&&p.from!==this.uid||(this._layoutId=0,this.groupGL.remove(this._forceEdgesMesh),this.groupGL.add(this._edgesMesh),this._forceLayoutInstance&&this.viewGL.layer&&(p&&p.beforeLayout||(this._syncNodePosition(o),this._updateAfterLayout(o,v,y)),this._api.getZr().refresh(),this._layouting=!1))},_syncNodePosition:function(o){var v=this._forceLayoutInstance.getNodePosition(this.viewGL.layer.renderer);o.getData().setLayout("points",v),o.setNodePosition(v)},_updateAfterLayout:function(o,v,y){this._updateMeshLinesGeometry(),this._pointsBuilder.removePositionTexture(),this._pointsBuilder.updateLayout(o,v,y),this._pointsBuilder.updateView(this.viewGL.camera),this._pointsBuilder.updateLabels(),this._pointsBuilder.showLabels()},focusNodeAdjacency:function(o,v,y,p){var C=this._model.getData();this._downplayAll();var D=p.dataIndex,b=C.graph,S=[],L=b.getNodeByIndex(D);S.push(L),L.edges.forEach(function(P){P.dataIndex<0||(P.node1!==L&&S.push(P.node1),P.node2!==L&&S.push(P.node2))},this),this._pointsBuilder.fadeOutAll(.05),this._fadeOutEdgesAll(.05),S.forEach(function(P){this._pointsBuilder.highlight(C,P.dataIndex)},this),this._pointsBuilder.updateLabels(S.map(function(P){return P.dataIndex}));var w=[];L.edges.forEach(function(P){P.dataIndex>=0&&(this._highlightEdge(P.dataIndex),w.push(P))},this),this._focusNodes=S,this._focusEdges=w},unfocusNodeAdjacency:function(o,v,y,p){this._downplayAll(),this._pointsBuilder.fadeInAll(),this._fadeInEdgesAll(),this._pointsBuilder.updateLabels()},_highlightEdge:function(o){var v=this._model.getEdgeData().getItemModel(o),y=x.a.parseColor(v.get("emphasis.lineStyle.color")||v.get("lineStyle.color")),p=u.a.firstNotNull(v.get("emphasis.lineStyle.opacity"),v.get("lineStyle.opacity"),1);y[3]*=p,this._edgesMesh.geometry.setItemColor(this._edgeIndicesMap[o],y)},_downplayAll:function(){this._focusNodes&&this._focusNodes.forEach(function(o){this._pointsBuilder.downplay(this._model.getData(),o.dataIndex)},this),this._focusEdges&&this._focusEdges.forEach(function(o){this._downplayEdge(o.dataIndex)},this)},_downplayEdge:function(o){var v=this._getColor(o,[]);this._edgesMesh.geometry.setItemColor(this._edgeIndicesMap[o],v)},_setEdgeFade:function(){var o=[];return function(v,y){this._getColor(v,o),o[3]*=y,this._edgesMesh.geometry.setItemColor(this._edgeIndicesMap[v],o)}}(),_getColor:function(o,v){for(var y=0;y<4;y++)v[y]=this._originalEdgeColors[o*4+y];return v},_fadeOutEdgesAll:function(o){var v=this._model.getData().graph;v.eachEdge(function(y){this._setEdgeFade(y.dataIndex,o)},this)},_fadeInEdgesAll:function(){this._fadeOutEdgesAll(1)},_updateCamera:function(o,v){this.viewGL.setViewport(0,0,v.getWidth(),v.getHeight(),v.getDevicePixelRatio());for(var y=this.viewGL.camera,p=o.getData(),C=p.getLayout("points"),D=t.create(1/0,1/0),b=t.create(-1/0,-1/0),S=[],L=0;L<C.length;)S[0]=C[L++],S[1]=C[L++],t.min(D,D,S),t.max(b,b,S);var w=(b[1]+D[1])/2,P=(b[0]+D[0])/2;if(!(P>y.left&&P<y.right&&w<y.bottom&&w>y.top)){var I=Math.max(b[0]-D[0],10),R=I/v.getWidth()*v.getHeight();I*=1.4,R*=1.4,D[0]-=I*.2,y.left=D[0],y.top=w-R/2,y.bottom=w+R/2,y.right=I+D[0],y.near=0,y.far=100}},dispose:function(){var o=this.viewGL.layer.renderer;this._forceLayoutInstance&&this._forceLayoutInstance.dispose(o),this.groupGL.removeAll(),this._layoutId=-1},remove:function(){this.groupGL.removeAll(),this._control.dispose()}})},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(2),m=E(14),x=E(10),g=E(248);_.a.Shader.import(g.a);var c={repulsionByDegree:!0,linLogMode:!1,strongGravityMode:!1,gravity:1,scaling:1,edgeWeightInfluence:1,jitterTolerence:.1,preventOverlap:!1,dissuadeHubs:!1,gravityCenter:null};function u(h){var r={type:_.a.Texture.FLOAT,minFilter:_.a.Texture.NEAREST,magFilter:_.a.Texture.NEAREST};this._positionSourceTex=new _.a.Texture2D(r),this._positionSourceTex.flipY=!1,this._positionTex=new _.a.Texture2D(r),this._positionPrevTex=new _.a.Texture2D(r),this._forceTex=new _.a.Texture2D(r),this._forcePrevTex=new _.a.Texture2D(r),this._weightedSumTex=new _.a.Texture2D(r),this._weightedSumTex.width=this._weightedSumTex.height=1,this._globalSpeedTex=new _.a.Texture2D(r),this._globalSpeedPrevTex=new _.a.Texture2D(r),this._globalSpeedTex.width=this._globalSpeedTex.height=1,this._globalSpeedPrevTex.width=this._globalSpeedPrevTex.height=1,this._nodeRepulsionPass=new m.a({fragment:_.a.Shader.source("ecgl.forceAtlas2.updateNodeRepulsion")}),this._positionPass=new m.a({fragment:_.a.Shader.source("ecgl.forceAtlas2.updatePosition")}),this._globalSpeedPass=new m.a({fragment:_.a.Shader.source("ecgl.forceAtlas2.calcGlobalSpeed")}),this._copyPass=new m.a({fragment:_.a.Shader.source("clay.compositor.output")});var n=function(a){a.blendEquation(a.FUNC_ADD),a.blendFunc(a.ONE,a.ONE)};this._edgeForceMesh=new _.a.Mesh({geometry:new _.a.Geometry({attributes:{node1:new _.a.Geometry.Attribute("node1","float",2),node2:new _.a.Geometry.Attribute("node2","float",2),weight:new _.a.Geometry.Attribute("weight","float",1)},dynamic:!0,mainAttribute:"node1"}),material:new _.a.Material({transparent:!0,shader:_.a.createShader("ecgl.forceAtlas2.updateEdgeAttraction"),blend:n,depthMask:!1,depthText:!1}),mode:_.a.Mesh.POINTS}),this._weightedSumMesh=new _.a.Mesh({geometry:new _.a.Geometry({attributes:{node:new _.a.Geometry.Attribute("node","float",2)},dynamic:!0,mainAttribute:"node"}),material:new _.a.Material({transparent:!0,shader:_.a.createShader("ecgl.forceAtlas2.calcWeightedSum"),blend:n,depthMask:!1,depthText:!1}),mode:_.a.Mesh.POINTS}),this._framebuffer=new x.a({depthBuffer:!1}),this._dummyCamera=new _.a.OrthographicCamera({left:-1,right:1,top:1,bottom:-1,near:0,far:100}),this._globalSpeed=0}u.prototype.updateOption=function(h){for(var r in c)this[r]=c[r];var n=this._nodes.length;if(n>5e4?this.jitterTolerence=10:n>5e3?this.jitterTolerence=1:this.jitterTolerence=.1,n>100?this.scaling=2:this.scaling=10,h)for(var r in c)h[r]!=null&&(this[r]=h[r]);if(this.repulsionByDegree)for(var a=this._positionSourceTex.pixels,f=0;f<this._nodes.length;f++)a[f*4+2]=(this._nodes[f].degree||0)+1},u.prototype._updateGravityCenter=function(h){var r=this._nodes,n=this._edges;if(this.gravityCenter)this._gravityCenter=this.gravityCenter;else{for(var a=[1/0,1/0],f=[-1/0,-1/0],s=0;s<r.length;s++)a[0]=Math.min(r[s].x,a[0]),a[1]=Math.min(r[s].y,a[1]),f[0]=Math.max(r[s].x,f[0]),f[1]=Math.max(r[s].y,f[1]);this._gravityCenter=[(a[0]+f[0])*.5,(a[1]+f[1])*.5]}for(var s=0;s<n.length;s++){var l=n[s].node1,d=n[s].node2;r[l].degree=(r[l].degree||0)+1,r[d].degree=(r[d].degree||0)+1}},u.prototype.initData=function(h,r){this._nodes=h,this._edges=r,this._updateGravityCenter();var n=Math.ceil(Math.sqrt(h.length)),a=n,f=new Float32Array(n*a*4);this._resize(n,a);for(var s=0,l=0;l<h.length;l++){var d=h[l];f[s++]=d.x||0,f[s++]=d.y||0,f[s++]=d.mass||1,f[s++]=d.size||1}this._positionSourceTex.pixels=f;var e=this._edgeForceMesh.geometry,t=r.length;e.attributes.node1.init(t*2),e.attributes.node2.init(t*2),e.attributes.weight.init(t*2);for(var i=[],l=0;l<r.length;l++){var o=e.attributes,v=r[l].weight;v==null&&(v=1),o.node1.set(l,this.getNodeUV(r[l].node1,i)),o.node2.set(l,this.getNodeUV(r[l].node2,i)),o.weight.set(l,v),o.node1.set(l+t,this.getNodeUV(r[l].node2,i)),o.node2.set(l+t,this.getNodeUV(r[l].node1,i)),o.weight.set(l+t,v)}var y=this._weightedSumMesh.geometry;y.attributes.node.init(h.length);for(var l=0;l<h.length;l++)y.attributes.node.set(l,this.getNodeUV(l,i));e.dirty(),y.dirty(),this._nodeRepulsionPass.material.define("fragment","NODE_COUNT",h.length),this._nodeRepulsionPass.material.setUniform("textureSize",[n,a]),this._inited=!1,this._frame=0},u.prototype.getNodes=function(){return this._nodes},u.prototype.getEdges=function(){return this._edges},u.prototype.step=function(h){this._inited||(this._initFromSource(h),this._inited=!0),this._frame++,this._framebuffer.attach(this._forceTex),this._framebuffer.bind(h);var r=this._nodeRepulsionPass;r.setUniform("strongGravityMode",this.strongGravityMode),r.setUniform("gravity",this.gravity),r.setUniform("gravityCenter",this._gravityCenter),r.setUniform("scaling",this.scaling),r.setUniform("preventOverlap",this.preventOverlap),r.setUniform("positionTex",this._positionPrevTex),r.render(h);var n=this._edgeForceMesh;n.material.set("linLogMode",this.linLogMode),n.material.set("edgeWeightInfluence",this.edgeWeightInfluence),n.material.set("preventOverlap",this.preventOverlap),n.material.set("positionTex",this._positionPrevTex),h.gl.enable(h.gl.BLEND),h.renderPass([n],this._dummyCamera),this._framebuffer.attach(this._weightedSumTex),h.gl.clearColor(0,0,0,0),h.gl.clear(h.gl.COLOR_BUFFER_BIT),h.gl.enable(h.gl.BLEND);var a=this._weightedSumMesh;a.material.set("positionTex",this._positionPrevTex),a.material.set("forceTex",this._forceTex),a.material.set("forcePrevTex",this._forcePrevTex),h.renderPass([a],this._dummyCamera),this._framebuffer.attach(this._globalSpeedTex);var f=this._globalSpeedPass;f.setUniform("globalSpeedPrevTex",this._globalSpeedPrevTex),f.setUniform("weightedSumTex",this._weightedSumTex),f.setUniform("jitterTolerence",this.jitterTolerence),h.gl.disable(h.gl.BLEND),f.render(h);var s=this._positionPass;this._framebuffer.attach(this._positionTex),s.setUniform("globalSpeedTex",this._globalSpeedTex),s.setUniform("positionTex",this._positionPrevTex),s.setUniform("forceTex",this._forceTex),s.setUniform("forcePrevTex",this._forcePrevTex),s.render(h),this._framebuffer.unbind(h),this._swapTexture()},u.prototype.update=function(h,r,n){r==null&&(r=1),r=Math.max(r,1);for(var a=0;a<r;a++)this.step(h);n&&n()},u.prototype.getNodePositionTexture=function(){return this._inited?this._positionPrevTex:this._positionSourceTex},u.prototype.getNodeUV=function(h,r){r=r||[];var n=this._positionTex.width,a=this._positionTex.height;return r[0]=h%n/(n-1),r[1]=Math.floor(h/n)/(a-1)||0,r},u.prototype.getNodePosition=function(h,r){var n=this._positionArr,a=this._positionTex.width,f=this._positionTex.height,s=a*f;(!n||n.length!==s*4)&&(n=this._positionArr=new Float32Array(s*4)),this._framebuffer.bind(h),this._framebuffer.attach(this._positionPrevTex),h.gl.readPixels(0,0,a,f,h.gl.RGBA,h.gl.FLOAT,n),this._framebuffer.unbind(h),r||(r=new Float32Array(this._nodes.length*2));for(var l=0;l<this._nodes.length;l++)r[l*2]=n[l*4],r[l*2+1]=n[l*4+1];return r},u.prototype.getTextureData=function(h,r){var n=this["_"+r+"Tex"],a=n.width,f=n.height;this._framebuffer.bind(h),this._framebuffer.attach(n);var s=new Float32Array(a*f*4);return h.gl.readPixels(0,0,a,f,h.gl.RGBA,h.gl.FLOAT,s),this._framebuffer.unbind(h),s},u.prototype.getTextureSize=function(){return{width:this._positionTex.width,height:this._positionTex.height}},u.prototype.isFinished=function(h){return this._frame>h},u.prototype._swapTexture=function(){var h=this._positionPrevTex;this._positionPrevTex=this._positionTex,this._positionTex=h;var h=this._forcePrevTex;this._forcePrevTex=this._forceTex,this._forceTex=h;var h=this._globalSpeedPrevTex;this._globalSpeedPrevTex=this._globalSpeedTex,this._globalSpeedTex=h},u.prototype._initFromSource=function(h){this._framebuffer.attach(this._positionPrevTex),this._framebuffer.bind(h),this._copyPass.setUniform("texture",this._positionSourceTex),this._copyPass.render(h),h.gl.clearColor(0,0,0,0),this._framebuffer.attach(this._forcePrevTex),h.gl.clear(h.gl.COLOR_BUFFER_BIT),this._framebuffer.attach(this._globalSpeedPrevTex),h.gl.clear(h.gl.COLOR_BUFFER_BIT),this._framebuffer.unbind(h)},u.prototype._resize=function(h,r){["_positionSourceTex","_positionTex","_positionPrevTex","_forceTex","_forcePrevTex"].forEach(function(n){this[n].width=h,this[n].height=r,this[n].dirty()},this)},u.prototype.dispose=function(h){this._framebuffer.dispose(h),this._copyPass.dispose(h),this._nodeRepulsionPass.dispose(h),this._positionPass.dispose(h),this._globalSpeedPass.dispose(h),this._edgeForceMesh.geometry.dispose(h),this._weightedSumMesh.geometry.dispose(h),this._positionSourceTex.dispose(h),this._positionTex.dispose(h),this._positionPrevTex.dispose(h),this._forceTex.dispose(h),this._forcePrevTex.dispose(h),this._weightedSumTex.dispose(h),this._globalSpeedTex.dispose(h),this._globalSpeedPrevTex.dispose(h)},A.a.ForceAtlas2GPU=u,O.a=u},function(K,O,E){"use strict";O.a=`@export ecgl.forceAtlas2.updateNodeRepulsion
|
|
|
|
#define NODE_COUNT 0
|
|
|
|
uniform sampler2D positionTex;
|
|
|
|
uniform vec2 textureSize;
|
|
uniform float gravity;
|
|
uniform float scaling;
|
|
uniform vec2 gravityCenter;
|
|
|
|
uniform bool strongGravityMode;
|
|
uniform bool preventOverlap;
|
|
|
|
varying vec2 v_Texcoord;
|
|
|
|
void main() {
|
|
|
|
vec4 n0 = texture2D(positionTex, v_Texcoord);
|
|
|
|
vec2 force = vec2(0.0);
|
|
for (int i = 0; i < NODE_COUNT; i++) {
|
|
vec2 uv = vec2(
|
|
mod(float(i), textureSize.x) / (textureSize.x - 1.0),
|
|
floor(float(i) / textureSize.x) / (textureSize.y - 1.0)
|
|
);
|
|
vec4 n1 = texture2D(positionTex, uv);
|
|
|
|
vec2 dir = n0.xy - n1.xy;
|
|
float d2 = dot(dir, dir);
|
|
|
|
if (d2 > 0.0) {
|
|
float factor = 0.0;
|
|
if (preventOverlap) {
|
|
float d = sqrt(d2);
|
|
d = d - n0.w - n1.w;
|
|
if (d > 0.0) {
|
|
factor = scaling * n0.z * n1.z / (d * d);
|
|
}
|
|
else if (d < 0.0) {
|
|
factor = scaling * 100.0 * n0.z * n1.z;
|
|
}
|
|
}
|
|
else {
|
|
factor = scaling * n0.z * n1.z / d2;
|
|
}
|
|
force += dir * factor;
|
|
}
|
|
}
|
|
|
|
vec2 dir = gravityCenter - n0.xy;
|
|
float d = 1.0;
|
|
if (!strongGravityMode) {
|
|
d = length(dir);
|
|
}
|
|
|
|
force += dir * n0.z * gravity / (d + 1.0);
|
|
|
|
gl_FragColor = vec4(force, 0.0, 1.0);
|
|
}
|
|
@end
|
|
|
|
@export ecgl.forceAtlas2.updateEdgeAttraction.vertex
|
|
|
|
attribute vec2 node1;
|
|
attribute vec2 node2;
|
|
attribute float weight;
|
|
|
|
uniform sampler2D positionTex;
|
|
uniform float edgeWeightInfluence;
|
|
uniform bool preventOverlap;
|
|
uniform bool linLogMode;
|
|
|
|
uniform vec2 windowSize: WINDOW_SIZE;
|
|
|
|
varying vec2 v_Force;
|
|
|
|
void main() {
|
|
|
|
vec4 n0 = texture2D(positionTex, node1);
|
|
vec4 n1 = texture2D(positionTex, node2);
|
|
|
|
vec2 dir = n1.xy - n0.xy;
|
|
float d = length(dir);
|
|
float w;
|
|
if (edgeWeightInfluence == 0.0) {
|
|
w = 1.0;
|
|
}
|
|
else if (edgeWeightInfluence == 1.0) {
|
|
w = weight;
|
|
}
|
|
else {
|
|
w = pow(weight, edgeWeightInfluence);
|
|
}
|
|
vec2 offset = vec2(1.0 / windowSize.x, 1.0 / windowSize.y);
|
|
vec2 scale = vec2((windowSize.x - 1.0) / windowSize.x, (windowSize.y - 1.0) / windowSize.y);
|
|
vec2 pos = node1 * scale * 2.0 - 1.0;
|
|
gl_Position = vec4(pos + offset, 0.0, 1.0);
|
|
gl_PointSize = 1.0;
|
|
|
|
float factor;
|
|
if (preventOverlap) {
|
|
d = d - n1.w - n0.w;
|
|
}
|
|
if (d <= 0.0) {
|
|
v_Force = vec2(0.0);
|
|
return;
|
|
}
|
|
|
|
if (linLogMode) {
|
|
factor = w * log(d) / d;
|
|
}
|
|
else {
|
|
factor = w;
|
|
}
|
|
v_Force = dir * factor;
|
|
}
|
|
@end
|
|
|
|
@export ecgl.forceAtlas2.updateEdgeAttraction.fragment
|
|
|
|
varying vec2 v_Force;
|
|
|
|
void main() {
|
|
gl_FragColor = vec4(v_Force, 0.0, 0.0);
|
|
}
|
|
@end
|
|
|
|
@export ecgl.forceAtlas2.calcWeightedSum.vertex
|
|
|
|
attribute vec2 node;
|
|
|
|
varying vec2 v_NodeUv;
|
|
|
|
void main() {
|
|
|
|
v_NodeUv = node;
|
|
gl_Position = vec4(0.0, 0.0, 0.0, 1.0);
|
|
gl_PointSize = 1.0;
|
|
}
|
|
@end
|
|
|
|
@export ecgl.forceAtlas2.calcWeightedSum.fragment
|
|
|
|
varying vec2 v_NodeUv;
|
|
|
|
uniform sampler2D positionTex;
|
|
uniform sampler2D forceTex;
|
|
uniform sampler2D forcePrevTex;
|
|
|
|
void main() {
|
|
vec2 force = texture2D(forceTex, v_NodeUv).rg;
|
|
vec2 forcePrev = texture2D(forcePrevTex, v_NodeUv).rg;
|
|
|
|
float mass = texture2D(positionTex, v_NodeUv).z;
|
|
float swing = length(force - forcePrev) * mass;
|
|
float traction = length(force + forcePrev) * 0.5 * mass;
|
|
|
|
gl_FragColor = vec4(swing, traction, 0.0, 0.0);
|
|
}
|
|
@end
|
|
|
|
@export ecgl.forceAtlas2.calcGlobalSpeed
|
|
|
|
uniform sampler2D globalSpeedPrevTex;
|
|
uniform sampler2D weightedSumTex;
|
|
uniform float jitterTolerence;
|
|
|
|
void main() {
|
|
vec2 weightedSum = texture2D(weightedSumTex, vec2(0.5)).xy;
|
|
float prevGlobalSpeed = texture2D(globalSpeedPrevTex, vec2(0.5)).x;
|
|
float globalSpeed = jitterTolerence * jitterTolerence
|
|
* weightedSum.y / weightedSum.x;
|
|
if (prevGlobalSpeed > 0.0) {
|
|
globalSpeed = min(globalSpeed / prevGlobalSpeed, 1.5) * prevGlobalSpeed;
|
|
}
|
|
gl_FragColor = vec4(globalSpeed, 0.0, 0.0, 1.0);
|
|
}
|
|
@end
|
|
|
|
@export ecgl.forceAtlas2.updatePosition
|
|
|
|
uniform sampler2D forceTex;
|
|
uniform sampler2D forcePrevTex;
|
|
uniform sampler2D positionTex;
|
|
uniform sampler2D globalSpeedTex;
|
|
|
|
varying vec2 v_Texcoord;
|
|
|
|
void main() {
|
|
vec2 force = texture2D(forceTex, v_Texcoord).xy;
|
|
vec2 forcePrev = texture2D(forcePrevTex, v_Texcoord).xy;
|
|
vec4 node = texture2D(positionTex, v_Texcoord);
|
|
|
|
float globalSpeed = texture2D(globalSpeedTex, vec2(0.5)).r;
|
|
float swing = length(force - forcePrev);
|
|
float speed = 0.1 * globalSpeed / (0.1 + globalSpeed * sqrt(swing));
|
|
|
|
float df = length(force);
|
|
if (df > 0.0) {
|
|
speed = min(df * speed, 10.0) / df;
|
|
|
|
gl_FragColor = vec4(node.xy + speed * force, node.zw);
|
|
}
|
|
else {
|
|
gl_FragColor = node;
|
|
}
|
|
}
|
|
@end
|
|
|
|
@export ecgl.forceAtlas2.edges.vertex
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
|
|
attribute vec2 node;
|
|
attribute vec4 a_Color : COLOR;
|
|
varying vec4 v_Color;
|
|
|
|
uniform sampler2D positionTex;
|
|
|
|
void main()
|
|
{
|
|
gl_Position = worldViewProjection * vec4(
|
|
texture2D(positionTex, node).xy, -10.0, 1.0
|
|
);
|
|
v_Color = a_Color;
|
|
}
|
|
@end
|
|
|
|
@export ecgl.forceAtlas2.edges.fragment
|
|
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
|
|
varying vec4 v_Color;
|
|
void main() {
|
|
gl_FragColor = color * v_Color;
|
|
}
|
|
@end`},function(K,O,E){"use strict";var M=E(5),A=E(6),_=E(250),m=_.a.toString();m=m.slice(m.indexOf("{")+1,m.lastIndexOf("}"));var x={barnesHutOptimize:!0,barnesHutTheta:1.5,repulsionByDegree:!0,linLogMode:!1,strongGravityMode:!1,gravity:1,scaling:1,edgeWeightInfluence:1,jitterTolerence:.1,preventOverlap:!1,dissuadeHubs:!1,gravityCenter:null},g=function(c){for(var u in x)this[u]=x[u];if(c)for(var u in c)this[u]=c[u];this._nodes=[],this._edges=[],this._disposed=!1,this._positionTex=new M.a({type:A.a.FLOAT,flipY:!1,minFilter:A.a.NEAREST,magFilter:A.a.NEAREST})};g.prototype.initData=function(c,u){var h=new Blob([m]),r=window.URL.createObjectURL(h);this._worker=new Worker(r),this._worker.onmessage=this._$onupdate.bind(this),this._nodes=c,this._edges=u,this._frame=0;for(var n=c.length,a=u.length,f=new Float32Array(n*2),s=new Float32Array(n),l=new Float32Array(n),d=new Float32Array(a*2),e=new Float32Array(a),t=0;t<c.length;t++){var i=c[t];f[t*2]=i.x,f[t*2+1]=i.y,s[t]=i.mass==null?1:i.mass,l[t]=i.size==null?1:i.size}for(var t=0;t<u.length;t++){var o=u[t],v=o.node1,y=o.node2;d[t*2]=v,d[t*2+1]=y,e[t]=o.weight==null?1:o.weight}var p=Math.ceil(Math.sqrt(c.length)),C=p,D=new Float32Array(p*C*4),b=this._positionTex;b.width=p,b.height=C,b.pixels=D,this._worker.postMessage({cmd:"init",nodesPosition:f,nodesMass:s,nodesSize:l,edges:d,edgesWeight:e}),this._globalSpeed=1/0},g.prototype.updateOption=function(c){var u={};for(var h in x)u[h]=x[h];var r=this._nodes,n=this._edges,a=r.length;if(a>5e4?u.jitterTolerence=10:a>5e3?u.jitterTolerence=1:u.jitterTolerence=.1,a>100?u.scaling=2:u.scaling=10,a>1e3?u.barnesHutOptimize=!0:u.barnesHutOptimize=!1,c)for(var h in x)c[h]!=null&&(u[h]=c[h]);if(!u.gravityCenter){for(var f=[1/0,1/0],s=[-1/0,-1/0],l=0;l<r.length;l++)f[0]=Math.min(r[l].x,f[0]),f[1]=Math.min(r[l].y,f[1]),s[0]=Math.max(r[l].x,s[0]),s[1]=Math.max(r[l].y,s[1]);u.gravityCenter=[(f[0]+s[0])*.5,(f[1]+s[1])*.5]}for(var l=0;l<n.length;l++){var d=n[l].node1,e=n[l].node2;r[d].degree=(r[d].degree||0)+1,r[e].degree=(r[e].degree||0)+1}this._worker&&this._worker.postMessage({cmd:"updateConfig",config:u})},g.prototype.update=function(c,u,h){u==null&&(u=1),u=Math.max(u,1),this._frame+=u,this._onupdate=h,this._worker&&this._worker.postMessage({cmd:"update",steps:Math.round(u)})},g.prototype._$onupdate=function(c){if(!this._disposed){var u=new Float32Array(c.data.buffer);this._globalSpeed=c.data.globalSpeed,this._positionArr=u,this._updateTexture(u),this._onupdate&&this._onupdate()}},g.prototype.getNodePositionTexture=function(){return this._positionTex},g.prototype.getNodeUV=function(c,u){u=u||[];var h=this._positionTex.width,r=this._positionTex.height;return u[0]=c%h/(h-1),u[1]=Math.floor(c/h)/(r-1),u},g.prototype.getNodes=function(){return this._nodes},g.prototype.getEdges=function(){return this._edges},g.prototype.isFinished=function(c){return this._frame>c},g.prototype.getNodePosition=function(c,u){if(u||(u=new Float32Array(this._nodes.length*2)),this._positionArr)for(var h=0;h<this._positionArr.length;h++)u[h]=this._positionArr[h];return u},g.prototype._updateTexture=function(c){for(var u=this._positionTex.pixels,h=0,r=0;r<c.length;)u[h++]=c[r++],u[h++]=c[r++],u[h++]=1,u[h++]=1;this._positionTex.dirty()},g.prototype.dispose=function(c){this._disposed=!0,this._worker=null},O.a=g},function(K,O,E){"use strict";function M(){var A={create:function(){return new Float32Array(2)},dist:function(r,n){var a=n[0]-r[0],f=n[1]-r[1];return Math.sqrt(a*a+f*f)},len:function(r){var n=r[0],a=r[1];return Math.sqrt(n*n+a*a)},scaleAndAdd:function(r,n,a,f){return r[0]=n[0]+a[0]*f,r[1]=n[1]+a[1]*f,r},scale:function(r,n,a){return r[0]=n[0]*a,r[1]=n[1]*a,r},add:function(r,n,a){return r[0]=n[0]+a[0],r[1]=n[1]+a[1],r},sub:function(r,n,a){return r[0]=n[0]-a[0],r[1]=n[1]-a[1],r},normalize:function(r,n){var a=n[0],f=n[1],s=a*a+f*f;return s>0&&(s=1/Math.sqrt(s),r[0]=n[0]*s,r[1]=n[1]*s),r},negate:function(r,n){return r[0]=-n[0],r[1]=-n[1],r},copy:function(r,n){return r[0]=n[0],r[1]=n[1],r},set:function(r,n,a){return r[0]=n,r[1]=a,r}};function _(){this.subRegions=[],this.nSubRegions=0,this.node=null,this.mass=0,this.centerOfMass=null,this.bbox=new Float32Array(4),this.size=0}var m=_.prototype;m.beforeUpdate=function(){for(var r=0;r<this.nSubRegions;r++)this.subRegions[r].beforeUpdate();this.mass=0,this.centerOfMass&&(this.centerOfMass[0]=0,this.centerOfMass[1]=0),this.nSubRegions=0,this.node=null},m.afterUpdate=function(){this.subRegions.length=this.nSubRegions;for(var r=0;r<this.nSubRegions;r++)this.subRegions[r].afterUpdate()},m.addNode=function(r){if(this.nSubRegions===0)if(this.node==null){this.node=r;return}else this._addNodeToSubRegion(this.node),this.node=null;this._addNodeToSubRegion(r),this._updateCenterOfMass(r)},m.findSubRegion=function(r,n){for(var a=0;a<this.nSubRegions;a++){var f=this.subRegions[a];if(f.contain(r,n))return f}},m.contain=function(r,n){return this.bbox[0]<=r&&this.bbox[2]>=r&&this.bbox[1]<=n&&this.bbox[3]>=n},m.setBBox=function(r,n,a,f){this.bbox[0]=r,this.bbox[1]=n,this.bbox[2]=a,this.bbox[3]=f,this.size=(a-r+f-n)/2},m._newSubRegion=function(){var r=this.subRegions[this.nSubRegions];return r||(r=new _,this.subRegions[this.nSubRegions]=r),this.nSubRegions++,r},m._addNodeToSubRegion=function(r){var n=this.findSubRegion(r.position[0],r.position[1]),a=this.bbox;if(!n){var f=(a[0]+a[2])/2,s=(a[1]+a[3])/2,l=(a[2]-a[0])/2,d=(a[3]-a[1])/2,e=r.position[0]>=f?1:0,t=r.position[1]>=s?1:0,n=this._newSubRegion();n.setBBox(e*l+a[0],t*d+a[1],(e+1)*l+a[0],(t+1)*d+a[1])}n.addNode(r)},m._updateCenterOfMass=function(r){this.centerOfMass==null&&(this.centerOfMass=new Float32Array(2));var n=this.centerOfMass[0]*this.mass,a=this.centerOfMass[1]*this.mass;n+=r.position[0]*r.mass,a+=r.position[1]*r.mass,this.mass+=r.mass,this.centerOfMass[0]=n/this.mass,this.centerOfMass[1]=a/this.mass};function x(){this.position=new Float32Array(2),this.force=A.create(),this.forcePrev=A.create(),this.mass=1,this.inDegree=0,this.outDegree=0}function g(r,n){this.source=r,this.target=n,this.weight=1}function c(){this.autoSettings=!0,this.barnesHutOptimize=!0,this.barnesHutTheta=1.5,this.repulsionByDegree=!0,this.linLogMode=!1,this.strongGravityMode=!1,this.gravity=1,this.scaling=1,this.edgeWeightInfluence=1,this.jitterTolerence=.1,this.preventOverlap=!1,this.dissuadeHubs=!1,this.rootRegion=new _,this.rootRegion.centerOfMass=A.create(),this.nodes=[],this.edges=[],this.bbox=new Float32Array(4),this.gravityCenter=null,this._massArr=null,this._swingingArr=null,this._sizeArr=null,this._globalSpeed=0}var u=c.prototype;u.initNodes=function(r,n,a){var f=n.length;this.nodes.length=0;for(var s=typeof a!="undefined",l=0;l<f;l++){var d=new x;d.position[0]=r[l*2],d.position[1]=r[l*2+1],d.mass=n[l],s&&(d.size=a[l]),this.nodes.push(d)}this._massArr=n,this._swingingArr=new Float32Array(f),s&&(this._sizeArr=a)},u.initEdges=function(r,n){var a=r.length/2;this.edges.length=0;for(var f=0;f<a;f++){var s=r[f*2],l=r[f*2+1],d=this.nodes[s],e=this.nodes[l];if(!d||!e){console.error("Node not exists, try initNodes before initEdges");return}d.outDegree++,e.inDegree++;var t=new g(d,e);n&&(t.weight=n[f]),this.edges.push(t)}},u.updateSettings=function(){if(this.repulsionByDegree)for(var r=0;r<this.nodes.length;r++){var n=this.nodes[r];n.mass=n.inDegree+n.outDegree+1}else for(var r=0;r<this.nodes.length;r++){var n=this.nodes[r];n.mass=this._massArr[r]}},u.update=function(){var r=this.nodes.length;if(this.updateSettings(),this.updateBBox(),this.barnesHutOptimize){this.rootRegion.setBBox(this.bbox[0],this.bbox[1],this.bbox[2],this.bbox[3]),this.rootRegion.beforeUpdate();for(var n=0;n<r;n++)this.rootRegion.addNode(this.nodes[n]);this.rootRegion.afterUpdate()}for(var n=0;n<r;n++){var a=this.nodes[n];A.copy(a.forcePrev,a.force),A.set(a.force,0,0)}for(var n=0;n<r;n++){var f=this.nodes[n];if(this.barnesHutOptimize)this.applyRegionToNodeRepulsion(this.rootRegion,f);else for(var s=n+1;s<r;s++){var l=this.nodes[s];this.applyNodeToNodeRepulsion(f,l,!1)}this.gravity>0&&(this.strongGravityMode?this.applyNodeStrongGravity(f):this.applyNodeGravity(f))}for(var n=0;n<this.edges.length;n++)this.applyEdgeAttraction(this.edges[n]);for(var d=0,e=0,t=A.create(),n=0;n<r;n++){var a=this.nodes[n],i=A.dist(a.force,a.forcePrev);d+=i*a.mass,A.add(t,a.force,a.forcePrev);var o=A.len(t)*.5;e+=o*a.mass,this._swingingArr[n]=i}var v=this.jitterTolerence*this.jitterTolerence*e/d;this._globalSpeed>0&&(v=Math.min(v/this._globalSpeed,1.5)*this._globalSpeed),this._globalSpeed=v;for(var n=0;n<r;n++){var a=this.nodes[n],i=this._swingingArr[n],y=.1*v/(1+v*Math.sqrt(i)),p=A.len(a.force);p>0&&(y=Math.min(p*y,10)/p,A.scaleAndAdd(a.position,a.position,a.force,y))}},u.applyRegionToNodeRepulsion=function(){var r=A.create();return function(a,f){if(a.node)this.applyNodeToNodeRepulsion(a.node,f,!0);else{A.sub(r,f.position,a.centerOfMass);var s=r[0]*r[0]+r[1]*r[1];if(s>this.barnesHutTheta*a.size*a.size){var l=this.scaling*f.mass*a.mass/s;A.scaleAndAdd(f.force,f.force,r,l)}else for(var d=0;d<a.nSubRegions;d++)this.applyRegionToNodeRepulsion(a.subRegions[d],f)}}}(),u.applyNodeToNodeRepulsion=function(){var r=A.create();return function(a,f,s){if(a!=f){A.sub(r,a.position,f.position);var l=r[0]*r[0]+r[1]*r[1];if(l!==0){var d;if(this.preventOverlap){var e=Math.sqrt(l);if(e=e-a.size-f.size,e>0)d=this.scaling*a.mass*f.mass/(e*e);else if(e<0)d=this.scaling*100*a.mass*f.mass;else return}else d=this.scaling*a.mass*f.mass/l;A.scaleAndAdd(a.force,a.force,r,d),A.scaleAndAdd(f.force,f.force,r,-d)}}}}(),u.applyEdgeAttraction=function(){var r=A.create();return function(a){var f=a.source,s=a.target;A.sub(r,f.position,s.position);var l=A.len(r),d;this.edgeWeightInfluence===0?d=1:this.edgeWeightInfluence===1?d=a.weight:d=Math.pow(a.weight,this.edgeWeightInfluence);var e;this.preventOverlap&&(l=l-f.size-s.size,l<=0)||(this.linLogMode?e=-d*Math.log(l+1)/(l+1):e=-d,A.scaleAndAdd(f.force,f.force,r,e),A.scaleAndAdd(s.force,s.force,r,-e))}}(),u.applyNodeGravity=function(){var r=A.create();return function(n){A.sub(r,this.gravityCenter,n.position);var a=A.len(r);A.scaleAndAdd(n.force,n.force,r,this.gravity*n.mass/(a+1))}}(),u.applyNodeStrongGravity=function(){var r=A.create();return function(n){A.sub(r,this.gravityCenter,n.position),A.scaleAndAdd(n.force,n.force,r,this.gravity*n.mass)}}(),u.updateBBox=function(){for(var r=1/0,n=1/0,a=-1/0,f=-1/0,s=0;s<this.nodes.length;s++){var l=this.nodes[s].position;r=Math.min(r,l[0]),n=Math.min(n,l[1]),a=Math.max(a,l[0]),f=Math.max(f,l[1])}this.bbox[0]=r,this.bbox[1]=n,this.bbox[2]=a,this.bbox[3]=f},u.getGlobalSpeed=function(){return this._globalSpeed};var h=null;self.onmessage=function(r){switch(r.data.cmd){case"init":h=new c,h.initNodes(r.data.nodesPosition,r.data.nodesMass,r.data.nodesSize),h.initEdges(r.data.edges,r.data.edgesWeight);break;case"updateConfig":if(h)for(var n in r.data.config)h[n]=r.data.config[n];break;case"update":var a=r.data.steps;if(h){for(var f=0;f<a;f++)h.update();for(var s=h.nodes.length,l=new Float32Array(s*2),f=0;f<s;f++){var d=h.nodes[f];l[f*2]=d.position[0],l[f*2+1]=d.position[1]}self.postMessage({buffer:l.buffer,globalSpeed:h.getGlobalSpeed()},[l.buffer])}else{var e=new Float32Array;self.postMessage({buffer:e.buffer,globalSpeed:h.getGlobalSpeed()},[e.buffer])}break}}}O.a=M},function(K,O,E){"use strict";var M=E(8),A=E(3),_=M.a.extend(function(){return{zr:null,viewGL:null,minZoom:.2,maxZoom:5,_needsUpdate:!1,_dx:0,_dy:0,_zoom:1}},function(){this._mouseDownHandler=this._mouseDownHandler.bind(this),this._mouseWheelHandler=this._mouseWheelHandler.bind(this),this._mouseMoveHandler=this._mouseMoveHandler.bind(this),this._mouseUpHandler=this._mouseUpHandler.bind(this),this._update=this._update.bind(this)},{init:function(){var m=this.zr;m.on("mousedown",this._mouseDownHandler),m.on("mousewheel",this._mouseWheelHandler),m.on("globalout",this._mouseUpHandler),m.animation.on("frame",this._update)},setTarget:function(m){this._target=m},setZoom:function(m){this._zoom=Math.max(Math.min(m,this.maxZoom),this.minZoom),this._needsUpdate=!0},setOffset:function(m){this._dx=m[0],this._dy=m[1],this._needsUpdate=!0},getZoom:function(){return this._zoom},getOffset:function(){return[this._dx,this._dy]},_update:function(){if(this._target&&this._needsUpdate){var m=this._target,x=this._zoom;m.position.x=this._dx,m.position.y=this._dy,m.scale.set(x,x,x),this.zr.refresh(),this._needsUpdate=!1,this.trigger("update")}},_mouseDownHandler:function(m){if(!m.target){var x=m.offsetX,g=m.offsetY;if(!(this.viewGL&&!this.viewGL.containPoint(x,g))){this.zr.on("mousemove",this._mouseMoveHandler),this.zr.on("mouseup",this._mouseUpHandler);var c=this._convertPos(x,g);this._x=c.x,this._y=c.y}}},_convertPos:function(m,x){var g=this.viewGL.camera,c=this.viewGL.viewport;return{x:(m-c.x)/c.width*(g.right-g.left)+g.left,y:(x-c.y)/c.height*(g.bottom-g.top)+g.top}},_mouseMoveHandler:function(m){var x=this._convertPos(m.offsetX,m.offsetY);this._dx+=x.x-this._x,this._dy+=x.y-this._y,this._x=x.x,this._y=x.y,this._needsUpdate=!0},_mouseUpHandler:function(m){this.zr.off("mousemove",this._mouseMoveHandler),this.zr.off("mouseup",this._mouseUpHandler)},_mouseWheelHandler:function(m){m=m.event;var x=m.wheelDelta||-m.detail;if(x!==0){var g=m.offsetX,c=m.offsetY;if(!(this.viewGL&&!this.viewGL.containPoint(g,c))){var u=x>0?1.1:.9,h=Math.max(Math.min(this._zoom*u,this.maxZoom),this.minZoom);u=h/this._zoom;var r=this._convertPos(g,c),n=(r.x-this._dx)*(u-1),a=(r.y-this._dy)*(u-1);this._dx-=n,this._dy-=a,this._zoom=h,this._needsUpdate=!0}}},dispose:function(){var m=this.zr;m.off("mousedown",this._mouseDownHandler),m.off("mousemove",this._mouseMoveHandler),m.off("mouseup",this._mouseUpHandler),m.off("mousewheel",this._mouseWheelHandler),m.off("globalout",this._mouseUpHandler),m.animation.off("frame",this._update)}});O.a=_},function(K,O,E){"use strict";O.a=`@export ecgl.lines2D.vertex
|
|
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
|
|
attribute vec2 position: POSITION;
|
|
attribute vec4 a_Color : COLOR;
|
|
varying vec4 v_Color;
|
|
|
|
#ifdef POSITIONTEXTURE_ENABLED
|
|
uniform sampler2D positionTexture;
|
|
#endif
|
|
|
|
void main()
|
|
{
|
|
gl_Position = worldViewProjection * vec4(position, -10.0, 1.0);
|
|
|
|
v_Color = a_Color;
|
|
}
|
|
|
|
@end
|
|
|
|
@export ecgl.lines2D.fragment
|
|
|
|
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
|
|
|
|
varying vec4 v_Color;
|
|
|
|
void main()
|
|
{
|
|
gl_FragColor = color * v_Color;
|
|
}
|
|
@end
|
|
|
|
|
|
@export ecgl.meshLines2D.vertex
|
|
|
|
attribute vec2 position: POSITION;
|
|
attribute vec2 normal;
|
|
attribute float offset;
|
|
attribute vec4 a_Color : COLOR;
|
|
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
uniform vec4 viewport : VIEWPORT;
|
|
|
|
varying vec4 v_Color;
|
|
varying float v_Miter;
|
|
|
|
void main()
|
|
{
|
|
vec4 p2 = worldViewProjection * vec4(position + normal, -10.0, 1.0);
|
|
gl_Position = worldViewProjection * vec4(position, -10.0, 1.0);
|
|
|
|
p2.xy /= p2.w;
|
|
gl_Position.xy /= gl_Position.w;
|
|
|
|
vec2 N = normalize(p2.xy - gl_Position.xy);
|
|
gl_Position.xy += N * offset / viewport.zw * 2.0;
|
|
|
|
gl_Position.xy *= gl_Position.w;
|
|
|
|
v_Color = a_Color;
|
|
}
|
|
@end
|
|
|
|
|
|
@export ecgl.meshLines2D.fragment
|
|
|
|
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
|
|
|
|
varying vec4 v_Color;
|
|
varying float v_Miter;
|
|
|
|
void main()
|
|
{
|
|
gl_FragColor = color * v_Color;
|
|
}
|
|
|
|
@end`},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(254),m=E(258)},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(2),m=E(3),x=E(20),g=E(255);A.a.extendChartView({type:"flowGL",__ecgl__:!0,init:function(c,u){this.viewGL=new x.a("orthographic"),this.groupGL=new _.a.Node,this.viewGL.add(this.groupGL),this._particleSurface=new g.a;var h=new _.a.Mesh({geometry:new _.a.PlaneGeometry,material:new _.a.Material({shader:new _.a.Shader({vertex:_.a.Shader.source("ecgl.color.vertex"),fragment:_.a.Shader.source("ecgl.color.fragment")}),transparent:!0})});h.material.enableTexture("diffuseMap"),this.groupGL.add(h),this._planeMesh=h},render:function(c,u,h){var r=this._particleSurface;r.setParticleType(c.get("particleType")),r.setSupersampling(c.get("supersampling")),this._updateData(c,h),this._updateCamera(h.getWidth(),h.getHeight(),h.getDevicePixelRatio());var n=m.a.firstNotNull(c.get("particleDensity"),128);r.setParticleDensity(n,n);var a=this._planeMesh,f=+new Date,s=this,l=!0;a.__percent=0,a.stopAnimation(),a.animate("",{loop:!0}).when(1e5,{__percent:1}).during(function(){var t=+new Date,i=Math.min(t-f,20);f=f+i,s._renderer&&(r.update(s._renderer,h,i/1e3,l),a.material.set("diffuseMap",r.getSurfaceTexture())),l=!1}).start();var d=c.getModel("itemStyle"),e=_.a.parseColor(d.get("color"));e[3]*=m.a.firstNotNull(d.get("opacity"),1),a.material.set("color",e),r.setColorTextureImage(c.get("colorTexture"),h),r.setParticleSize(c.get("particleSize")),r.particleSpeedScaling=c.get("particleSpeed"),r.motionBlurFactor=1-Math.pow(.1,c.get("particleTrail"))},updateTransform:function(c,u,h){this._updateData(c,h)},afterRender:function(c,u,h,r){var n=r.renderer;this._renderer=n},_updateData:function(c,u){var h=c.coordinateSystem,r=h.dimensions.map(function(D){return c.coordDimToDataDim(D)[0]}),n=c.getData(),a=n.getDataExtent(r[0]),f=n.getDataExtent(r[1]),s=c.get("gridWidth"),l=c.get("gridHeight");if(s==null||s==="auto"){var d=(a[1]-a[0])/(f[1]-f[0]);s=Math.round(Math.sqrt(d*n.count()))}(l==null||l==="auto")&&(l=Math.ceil(n.count()/s));var e=this._particleSurface.vectorFieldTexture,t=e.pixels;if(!t||t.length!==l*s*4)t=e.pixels=new Float32Array(s*l*4);else for(var i=0;i<t.length;i++)t[i]=0;var o=0,v=1/0,y=new Float32Array(n.count()*2),p=0,C=[[1/0,1/0],[-1/0,-1/0]];n.each([r[0],r[1],"vx","vy"],function(D,b,S,L){var w=h.dataToPoint([D,b]);y[p++]=w[0],y[p++]=w[1],C[0][0]=Math.min(w[0],C[0][0]),C[0][1]=Math.min(w[1],C[0][1]),C[1][0]=Math.max(w[0],C[1][0]),C[1][1]=Math.max(w[1],C[1][1]);var P=Math.sqrt(S*S+L*L);o=Math.max(o,P),v=Math.min(v,P)}),n.each(["vx","vy"],function(D,b,S){var L=Math.round((y[S*2]-C[0][0])/(C[1][0]-C[0][0])*(s-1)),w=l-1-Math.round((y[S*2+1]-C[0][1])/(C[1][1]-C[0][1])*(l-1)),P=(w*s+L)*4;t[P]=D/o*.5+.5,t[P+1]=b/o*.5+.5,t[P+3]=1}),e.width=s,e.height=l,c.get("coordinateSystem")==="bmap"&&this._fillEmptyPixels(e),e.dirty(),this._updatePlanePosition(C[0],C[1],c,u),this._updateGradientTexture(n.getVisual("visualMeta"),[v,o])},_fillEmptyPixels:function(c){var u=c.pixels,h=c.width,r=c.height;function n(y,p,C){y=Math.max(Math.min(y,h-1),0),p=Math.max(Math.min(p,r-1),0);var D=(p*(h-1)+y)*4;return u[D+3]===0?!1:(C[0]=u[D],C[1]=u[D+1],!0)}function a(y,p,C){C[0]=y[0]+p[0],C[1]=y[1]+p[1]}for(var f=[],s=[],l=[],d=[],e=[],t=0,i=0;i<r;i++)for(var o=0;o<h;o++){var v=(i*(h-1)+o)*4;u[v+3]===0&&(t=f[0]=f[1]=0,n(o-1,i,s)&&(t++,a(s,f,f)),n(o+1,i,l)&&(t++,a(l,f,f)),n(o,i-1,d)&&(t++,a(d,f,f)),n(o,i+1,e)&&(t++,a(e,f,f)),f[0]/=t,f[1]/=t,u[v]=f[0],u[v+1]=f[1]),u[v+3]=1}},_updateGradientTexture:function(c,u){if(!c||!c.length){this._particleSurface.setGradientTexture(null);return}this._gradientTexture=this._gradientTexture||new _.a.Texture2D({image:document.createElement("canvas")});var h=this._gradientTexture,r=h.image;r.width=200,r.height=1;var n=r.getContext("2d"),a=n.createLinearGradient(0,.5,r.width,.5);c[0].stops.forEach(function(f){var s;u[1]===u[0]?s=0:(s=f.value/u[1],s=Math.min(Math.max(s,0),1)),a.addColorStop(s,f.color)}),n.fillStyle=a,n.fillRect(0,0,r.width,r.height),h.dirty(),this._particleSurface.setGradientTexture(this._gradientTexture)},_updatePlanePosition:function(c,u,h,r){var n=this._limitInViewportAndFullFill(c,u,h,r);c=n.leftTop,u=n.rightBottom,this._particleSurface.setRegion(n.region),this._planeMesh.position.set((c[0]+u[0])/2,r.getHeight()-(c[1]+u[1])/2,0);var a=u[0]-c[0],f=u[1]-c[1];this._planeMesh.scale.set(a/2,f/2,1),this._particleSurface.resize(Math.max(Math.min(a,2048),1),Math.max(Math.min(f,2048),1)),this._renderer&&this._particleSurface.clearFrame(this._renderer)},_limitInViewportAndFullFill:function(c,u,h,r){var n=[Math.max(c[0],0),Math.max(c[1],0)],a=[Math.min(u[0],r.getWidth()),Math.min(u[1],r.getHeight())];if(h.get("coordinateSystem")==="bmap"){var f=h.getData().getDataExtent(h.coordDimToDataDim("lng")[0]),s=Math.floor(f[1]-f[0])>=359;s&&(n[0]>0&&(n[0]=0),a[0]<r.getWidth()&&(a[0]=r.getWidth()))}var l=u[0]-c[0],d=u[1]-c[1],e=a[0]-n[0],t=a[1]-n[1],i=[(n[0]-c[0])/l,1-t/d-(n[1]-c[1])/d,e/l,t/d];return{leftTop:n,rightBottom:a,region:i}},_updateCamera:function(c,u,h){this.viewGL.setViewport(0,0,c,u,h);var r=this.viewGL.camera;r.left=r.bottom=0,r.top=u,r.right=c,r.near=0,r.far=100,r.position.z=10},remove:function(){this._planeMesh.stopAnimation(),this.groupGL.removeAll()},dispose:function(){this._renderer&&this._particleSurface.dispose(this._renderer),this.groupGL.removeAll()}})},function(K,O,E){"use strict";var M=E(14),A=E(13),_=E(24),m=E(17),x=E(7),g=E(5),c=E(6),u=E(30),h=E(37),r=E(10),n=E(256),a=E(257);x.a.import(a.a);function f(l){var d=document.createElement("canvas");d.width=d.height=l;var e=d.getContext("2d");return e.fillStyle="#fff",e.arc(l/2,l/2,l/2,0,Math.PI*2),e.fill(),d}var s=function(){this.motionBlurFactor=.99,this.vectorFieldTexture=new g.a({type:c.a.FLOAT,flipY:!1}),this.particleLife=[5,20],this._particleType="point",this._particleSize=1,this.particleColor=[1,1,1,1],this.particleSpeedScaling=1,this._thisFrameTexture=null,this._particlePass=null,this._spawnTexture=null,this._particleTexture0=null,this._particleTexture1=null,this._particlePointsMesh=null,this._surfaceFrameBuffer=null,this._elapsedTime=0,this._scene=null,this._camera=null,this._lastFrameTexture=null,this._supersampling=1,this._downsampleTextures=[],this._width=512,this._height=512,this.init()};s.prototype={constructor:s,init:function(){var l={type:c.a.FLOAT,minFilter:c.a.NEAREST,magFilter:c.a.NEAREST,useMipmap:!1};this._spawnTexture=new g.a(l),this._particleTexture0=new g.a(l),this._particleTexture1=new g.a(l),this._frameBuffer=new r.a({depthBuffer:!1}),this._particlePass=new M.a({fragment:x.a.source("ecgl.vfParticle.particle.fragment")}),this._particlePass.setUniform("velocityTexture",this.vectorFieldTexture),this._particlePass.setUniform("spawnTexture",this._spawnTexture),this._downsamplePass=new M.a({fragment:x.a.source("clay.compositor.downsample")});var d=new _.a({renderOrder:10,material:new m.a({shader:new x.a(x.a.source("ecgl.vfParticle.renderPoints.vertex"),x.a.source("ecgl.vfParticle.renderPoints.fragment"))}),mode:_.a.POINTS,geometry:new A.a({dynamic:!0,mainAttribute:"texcoord0"})}),e=new _.a({renderOrder:10,material:new m.a({shader:new x.a(x.a.source("ecgl.vfParticle.renderLines.vertex"),x.a.source("ecgl.vfParticle.renderLines.fragment"))}),geometry:new n.a,culling:!1}),t=new _.a({material:new m.a({shader:new x.a(x.a.source("ecgl.color.vertex"),x.a.source("ecgl.color.fragment"))}),geometry:new h.a});t.material.enableTexture("diffuseMap"),this._particlePointsMesh=d,this._particleLinesMesh=e,this._lastFrameFullQuadMesh=t,this._camera=new u.a,this._thisFrameTexture=new g.a,this._lastFrameTexture=new g.a},setParticleDensity:function(l,d){for(var e=l*d,t=new Float32Array(e*4),i=0,o=this.particleLife,v=0;v<l;v++)for(var y=0;y<d;y++,i++){t[i*4]=Math.random(),t[i*4+1]=Math.random(),t[i*4+2]=Math.random();var p=(o[1]-o[0])*Math.random()+o[0];t[i*4+3]=p}this._particleType==="line"?this._setLineGeometry(l,d):this._setPointsGeometry(l,d),this._spawnTexture.width=l,this._spawnTexture.height=d,this._spawnTexture.pixels=t,this._particleTexture0.width=this._particleTexture1.width=l,this._particleTexture0.height=this._particleTexture1.height=d,this._particlePass.setUniform("textureSize",[l,d])},_setPointsGeometry:function(l,d){var e=l*d,t=this._particlePointsMesh.geometry,i=t.attributes;i.texcoord0.init(e);for(var o=0,v=0;v<l;v++)for(var y=0;y<d;y++,o++)i.texcoord0.value[o*2]=v/l,i.texcoord0.value[o*2+1]=y/d;t.dirty()},_setLineGeometry:function(l,d){var e=l*d,t=this._getParticleMesh().geometry;t.setLineCount(e),t.resetOffset();for(var i=0;i<l;i++)for(var o=0;o<d;o++)t.addLine([i/l,o/d]);t.dirty()},_getParticleMesh:function(){return this._particleType==="line"?this._particleLinesMesh:this._particlePointsMesh},update:function(l,d,e,t){var i=this._getParticleMesh(),o=this._frameBuffer,v=this._particlePass;t&&this._updateDownsampleTextures(l,d),i.material.set("size",this._particleSize*this._supersampling),i.material.set("color",this.particleColor),v.setUniform("speedScaling",this.particleSpeedScaling),o.attach(this._particleTexture1),v.setUniform("firstFrameTime",t?(this.particleLife[1]+this.particleLife[0])/2:0),v.setUniform("particleTexture",this._particleTexture0),v.setUniform("deltaTime",e),v.setUniform("elapsedTime",this._elapsedTime),v.render(l,o),i.material.set("particleTexture",this._particleTexture1),i.material.set("prevParticleTexture",this._particleTexture0),o.attach(this._thisFrameTexture),o.bind(l),l.gl.clear(l.gl.DEPTH_BUFFER_BIT|l.gl.COLOR_BUFFER_BIT);var y=this._lastFrameFullQuadMesh;y.material.set("diffuseMap",this._lastFrameTexture),y.material.set("color",[1,1,1,this.motionBlurFactor]),this._camera.update(!0),l.renderPass([y,i],this._camera),o.unbind(l),this._downsample(l),this._swapTexture(),this._elapsedTime+=e},_downsample:function(l){var d=this._downsampleTextures;if(d.length!==0)for(var e=0,t=this._thisFrameTexture,i=d[e];i;)this._frameBuffer.attach(i),this._downsamplePass.setUniform("texture",t),this._downsamplePass.setUniform("textureSize",[t.width,t.height]),this._downsamplePass.render(l,this._frameBuffer),t=i,i=d[++e]},getSurfaceTexture:function(){var l=this._downsampleTextures;return l.length>0?l[l.length-1]:this._lastFrameTexture},setRegion:function(l){this._particlePass.setUniform("region",l)},resize:function(l,d){this._lastFrameTexture.width=l*this._supersampling,this._lastFrameTexture.height=d*this._supersampling,this._thisFrameTexture.width=l*this._supersampling,this._thisFrameTexture.height=d*this._supersampling,this._width=l,this._height=d},setParticleSize:function(l){var d=this._getParticleMesh();if(l<=2){d.material.disableTexture("spriteTexture"),d.material.transparent=!1;return}this._spriteTexture||(this._spriteTexture=new g.a),(!this._spriteTexture.image||this._spriteTexture.image.width!==l)&&(this._spriteTexture.image=f(l),this._spriteTexture.dirty()),d.material.transparent=!0,d.material.enableTexture("spriteTexture"),d.material.set("spriteTexture",this._spriteTexture),this._particleSize=l},setGradientTexture:function(l){var d=this._getParticleMesh().material;d[l?"enableTexture":"disableTexture"]("gradientTexture"),d.setUniform("gradientTexture",l)},setColorTextureImage:function(l,d){var e=this._getParticleMesh().material;e.setTextureImage("colorTexture",l,d,{flipY:!0})},setParticleType:function(l){this._particleType=l},clearFrame:function(l){var d=this._frameBuffer;d.attach(this._lastFrameTexture),d.bind(l),l.gl.clear(l.gl.DEPTH_BUFFER_BIT|l.gl.COLOR_BUFFER_BIT),d.unbind(l)},setSupersampling:function(l){this._supersampling=l,this.resize(this._width,this._height)},_updateDownsampleTextures:function(l,d){for(var e=this._downsampleTextures,t=Math.max(Math.floor(Math.log(this._supersampling/d.getDevicePixelRatio())/Math.log(2)),0),i=2,o=this._width*this._supersampling,v=this._height*this._supersampling,y=0;y<t;y++)e[y]=e[y]||new g.a,e[y].width=o/i,e[y].height=v/i,i*=2;for(;y<e.length;y++)e[y].dispose(l);e.length=t},_swapTexture:function(){var l=this._particleTexture0;this._particleTexture0=this._particleTexture1,this._particleTexture1=l;var l=this._thisFrameTexture;this._thisFrameTexture=this._lastFrameTexture,this._lastFrameTexture=l},dispose:function(l){l.disposeFrameBuffer(this._frameBuffer),l.disposeTexture(this.vectorFieldTexture),l.disposeTexture(this._spawnTexture),l.disposeTexture(this._particleTexture0),l.disposeTexture(this._particleTexture1),l.disposeTexture(this._thisFrameTexture),l.disposeTexture(this._lastFrameTexture),l.disposeGeometry(this._particleLinesMesh.geometry),l.disposeGeometry(this._particlePointsMesh.geometry),l.disposeGeometry(this._lastFrameFullQuadMesh.geometry),this._spriteTexture&&l.disposeTexture(this._spriteTexture),this._particlePass.dispose(l),this._downsamplePass.dispose(l),this._downsampleTextures.forEach(function(d){d.dispose(l)})}},O.a=s},function(K,O,E){"use strict";var M=E(13),A=E(0),_=E.n(A),m=M.a.extend(function(){return{dynamic:!0,attributes:{position:new M.a.Attribute("position","float",3,"POSITION")}}},{resetOffset:function(){this._vertexOffset=0,this._faceOffset=0},setLineCount:function(x){var g=this.attributes,c=4*x,u=2*x;this.vertexCount!==c&&g.position.init(c),this.triangleCount!==u&&(u===0?this.indices=null:this.indices=this.vertexCount>65535?new Uint32Array(u*3):new Uint16Array(u*3))},addLine:function(x){var g=this._vertexOffset;this.attributes.position.set(g,[x[0],x[1],1]),this.attributes.position.set(g+1,[x[0],x[1],-1]),this.attributes.position.set(g+2,[x[0],x[1],2]),this.attributes.position.set(g+3,[x[0],x[1],-2]),this.setTriangleIndices(this._faceOffset++,[g,g+1,g+2]),this.setTriangleIndices(this._faceOffset++,[g+1,g+2,g+3]),this._vertexOffset+=4}});O.a=m},function(K,O,E){"use strict";O.a=`@export ecgl.vfParticle.particle.fragment
|
|
|
|
uniform sampler2D particleTexture;
|
|
uniform sampler2D spawnTexture;
|
|
uniform sampler2D velocityTexture;
|
|
|
|
uniform float deltaTime;
|
|
uniform float elapsedTime;
|
|
|
|
uniform float speedScaling : 1.0;
|
|
|
|
uniform vec2 textureSize;
|
|
uniform vec4 region : [0, 0, 1, 1];
|
|
uniform float firstFrameTime;
|
|
|
|
varying vec2 v_Texcoord;
|
|
|
|
|
|
void main()
|
|
{
|
|
vec4 p = texture2D(particleTexture, v_Texcoord);
|
|
bool spawn = false;
|
|
if (p.w <= 0.0) {
|
|
p = texture2D(spawnTexture, fract(v_Texcoord + elapsedTime / 10.0));
|
|
p.w -= firstFrameTime;
|
|
spawn = true;
|
|
}
|
|
vec2 v = texture2D(velocityTexture, fract(p.xy * region.zw + region.xy)).xy;
|
|
v = (v - 0.5) * 2.0;
|
|
p.z = length(v);
|
|
p.xy += v * deltaTime / 10.0 * speedScaling;
|
|
p.w -= deltaTime;
|
|
|
|
if (spawn || p.xy != fract(p.xy)) {
|
|
p.z = 0.0;
|
|
}
|
|
p.xy = fract(p.xy);
|
|
|
|
gl_FragColor = p;
|
|
}
|
|
@end
|
|
|
|
@export ecgl.vfParticle.renderPoints.vertex
|
|
|
|
#define PI 3.1415926
|
|
|
|
attribute vec2 texcoord : TEXCOORD_0;
|
|
|
|
uniform sampler2D particleTexture;
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
|
|
uniform float size : 1.0;
|
|
|
|
varying float v_Mag;
|
|
varying vec2 v_Uv;
|
|
|
|
void main()
|
|
{
|
|
vec4 p = texture2D(particleTexture, texcoord);
|
|
|
|
if (p.w > 0.0 && p.z > 1e-5) {
|
|
gl_Position = worldViewProjection * vec4(p.xy * 2.0 - 1.0, 0.0, 1.0);
|
|
}
|
|
else {
|
|
gl_Position = vec4(100000.0, 100000.0, 100000.0, 1.0);
|
|
}
|
|
|
|
v_Mag = p.z;
|
|
v_Uv = p.xy;
|
|
|
|
gl_PointSize = size;
|
|
}
|
|
|
|
@end
|
|
|
|
@export ecgl.vfParticle.renderPoints.fragment
|
|
|
|
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
|
|
uniform sampler2D gradientTexture;
|
|
uniform sampler2D colorTexture;
|
|
uniform sampler2D spriteTexture;
|
|
|
|
varying float v_Mag;
|
|
varying vec2 v_Uv;
|
|
|
|
void main()
|
|
{
|
|
gl_FragColor = color;
|
|
#ifdef SPRITETEXTURE_ENABLED
|
|
gl_FragColor *= texture2D(spriteTexture, gl_PointCoord);
|
|
if (color.a == 0.0) {
|
|
discard;
|
|
}
|
|
#endif
|
|
#ifdef GRADIENTTEXTURE_ENABLED
|
|
gl_FragColor *= texture2D(gradientTexture, vec2(v_Mag, 0.5));
|
|
#endif
|
|
#ifdef COLORTEXTURE_ENABLED
|
|
gl_FragColor *= texture2D(colorTexture, v_Uv);
|
|
#endif
|
|
}
|
|
|
|
@end
|
|
|
|
@export ecgl.vfParticle.renderLines.vertex
|
|
|
|
#define PI 3.1415926
|
|
|
|
attribute vec3 position : POSITION;
|
|
|
|
uniform sampler2D particleTexture;
|
|
uniform sampler2D prevParticleTexture;
|
|
|
|
uniform float size : 1.0;
|
|
uniform vec4 vp: VIEWPORT;
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
|
|
varying float v_Mag;
|
|
varying vec2 v_Uv;
|
|
|
|
@import clay.util.rand
|
|
|
|
void main()
|
|
{
|
|
vec4 p = texture2D(particleTexture, position.xy);
|
|
vec4 p2 = texture2D(prevParticleTexture, position.xy);
|
|
|
|
p.xy = p.xy * 2.0 - 1.0;
|
|
p2.xy = p2.xy * 2.0 - 1.0;
|
|
|
|
if (p.w > 0.0 && p.z > 1e-5) {
|
|
vec2 dir = normalize(p.xy - p2.xy);
|
|
vec2 norm = vec2(dir.y / vp.z, -dir.x / vp.w) * sign(position.z) * size;
|
|
if (abs(position.z) == 2.0) {
|
|
gl_Position = vec4(p.xy + norm, 0.0, 1.0);
|
|
v_Uv = p.xy;
|
|
v_Mag = p.z;
|
|
}
|
|
else {
|
|
gl_Position = vec4(p2.xy + norm, 0.0, 1.0);
|
|
v_Mag = p2.z;
|
|
v_Uv = p2.xy;
|
|
}
|
|
gl_Position = worldViewProjection * gl_Position;
|
|
}
|
|
else {
|
|
gl_Position = vec4(100000.0, 100000.0, 100000.0, 1.0);
|
|
}
|
|
}
|
|
|
|
@end
|
|
|
|
@export ecgl.vfParticle.renderLines.fragment
|
|
|
|
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
|
|
uniform sampler2D gradientTexture;
|
|
uniform sampler2D colorTexture;
|
|
|
|
varying float v_Mag;
|
|
varying vec2 v_Uv;
|
|
|
|
void main()
|
|
{
|
|
gl_FragColor = color;
|
|
#ifdef GRADIENTTEXTURE_ENABLED
|
|
gl_FragColor *= texture2D(gradientTexture, vec2(v_Mag, 0.5));
|
|
#endif
|
|
#ifdef COLORTEXTURE_ENABLED
|
|
gl_FragColor *= texture2D(colorTexture, v_Uv);
|
|
#endif
|
|
}
|
|
|
|
@end
|
|
`},function(K,O,E){"use strict";var M=E(0),A=E.n(M);A.a.extendSeriesModel({type:"series.flowGL",dependencies:["geo","grid","bmap"],visualColorAccessPath:"itemStyle.color",getInitialData:function(_,m){var x=A.a.getCoordinateSystemDimensions(this.get("coordinateSystem"))||["x","y"];if(x.length>2)throw new Error("flowGL can only be used on 2d coordinate systems.");x.push("vx","vy");var g=A.a.helper.completeDimensions(x,this.getSource(),{encodeDef:this.get("encode"),dimsDef:this.get("dimensions")}),c=new A.a.List(g,this);return c.initData(this.getSource()),c},defaultOption:{coordinateSystem:"cartesian2d",zlevel:10,supersampling:1,particleType:"point",particleDensity:128,particleSize:1,particleSpeed:1,particleTrail:2,colorTexture:null,gridWidth:"auto",gridHeight:"auto",itemStyle:{color:"#fff",opacity:.8}}})},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(260),m=E(261),x=E(16);A.a.registerVisual(Object(x.a)("linesGL"))},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(12),m=E.n(_),x=A.a.extendSeriesModel({type:"series.linesGL",dependencies:["grid","geo"],visualColorAccessPath:"lineStyle.color",streamEnabled:!0,init:function(g){var c=this._processFlatCoordsArray(g.data);this._flatCoords=c.flatCoords,this._flatCoordsOffset=c.flatCoordsOffset,c.flatCoords&&(g.data=new Float32Array(c.count)),x.superApply(this,"init",arguments)},mergeOption:function(g){var c=this._processFlatCoordsArray(g.data);this._flatCoords=c.flatCoords,this._flatCoordsOffset=c.flatCoordsOffset,c.flatCoords&&(g.data=new Float32Array(c.count)),x.superApply(this,"mergeOption",arguments)},appendData:function(g){var c=this._processFlatCoordsArray(g.data);c.flatCoords&&(this._flatCoords?(this._flatCoords=Object(_.concatArray)(this._flatCoords,c.flatCoords),this._flatCoordsOffset=Object(_.concatArray)(this._flatCoordsOffset,c.flatCoordsOffset)):(this._flatCoords=c.flatCoords,this._flatCoordsOffset=c.flatCoordsOffset),g.data=new Float32Array(c.count)),this.getRawData().appendData(g.data)},_getCoordsFromItemModel:function(g){var c=this.getData().getItemModel(g),u=c.option instanceof Array?c.option:c.getShallow("coords");if(!(u instanceof Array&&u.length>0&&u[0]instanceof Array))throw new Error("Invalid coords "+JSON.stringify(u)+". Lines must have 2d coords array in data item.");return u},getLineCoordsCount:function(g){return this._flatCoordsOffset?this._flatCoordsOffset[g*2+1]:this._getCoordsFromItemModel(g).length},getLineCoords:function(g,c){if(this._flatCoordsOffset){for(var u=this._flatCoordsOffset[g*2],h=this._flatCoordsOffset[g*2+1],r=0;r<h;r++)c[r]=c[r]||[],c[r][0]=this._flatCoords[u+r*2],c[r][1]=this._flatCoords[u+r*2+1];return h}else{for(var n=this._getCoordsFromItemModel(g),r=0;r<n.length;r++)c[r]=c[r]||[],c[r][0]=n[r][0],c[r][1]=n[r][1];return n.length}},_processFlatCoordsArray:function(g){var c=0;if(this._flatCoords&&(c=this._flatCoords.length),typeof g[0]=="number"){for(var u=g.length,h=new Uint32Array(u),r=new Float64Array(u),n=0,a=0,f=0,s=0;s<u;){f++;var l=g[s++];h[a++]=n+c,h[a++]=l;for(var d=0;d<l;d++){var e=g[s++],t=g[s++];if(r[n++]=e,r[n++]=t,s>u)throw new Error("Invalid data format.")}}return{flatCoordsOffset:new Uint32Array(h.buffer,0,a),flatCoords:r,count:f}}return{flatCoordsOffset:null,flatCoords:null,count:g.length}},getInitialData:function(g,c){var u=new A.a.List(["value"],this);return u.hasItemOption=!1,u.initData(g.data,[],function(h,r,n,a){if(h instanceof Array)return NaN;u.hasItemOption=!0;var f=h.value;if(f!=null)return f instanceof Array?f[a]:f}),u},defaultOption:{coordinateSystem:"geo",zlevel:10,progressive:1e4,progressiveThreshold:5e4,blendMode:"source-over",lineStyle:{opacity:.8},postEffect:{enable:!1,colorCorrection:{exposure:0,brightness:0,contrast:1,saturation:1,enable:!0}}}})},function(K,O,E){"use strict";var M=E(0),A=E.n(M),_=E(2),m=E(20),x=E(86),g=E(84),c=E(3);A.a.extendChartView({type:"linesGL",__ecgl__:!0,init:function(u,h){this.groupGL=new _.a.Node,this.viewGL=new m.a("orthographic"),this.viewGL.add(this.groupGL),this._glViewHelper=new g.a(this.viewGL),this._nativeLinesShader=_.a.createShader("ecgl.lines3D"),this._meshLinesShader=_.a.createShader("ecgl.meshLines3D"),this._linesMeshes=[],this._currentStep=0},render:function(u,h,r){this.groupGL.removeAll(),this._glViewHelper.reset(u,r);var n=this._linesMeshes[0];n||(n=this._linesMeshes[0]=this._createLinesMesh(u)),this._linesMeshes.length=1,this.groupGL.add(n),this._updateLinesMesh(u,n,0,u.getData().count()),this.viewGL.setPostEffect(u.getModel("postEffect"),r)},incrementalPrepareRender:function(u,h,r){this.groupGL.removeAll(),this._glViewHelper.reset(u,r),this._currentStep=0,this.viewGL.setPostEffect(u.getModel("postEffect"),r)},incrementalRender:function(u,h,r,n){var a=this._linesMeshes[this._currentStep];a||(a=this._createLinesMesh(h),this._linesMeshes[this._currentStep]=a),this._updateLinesMesh(h,a,u.start,u.end),this.groupGL.add(a),n.getZr().refresh(),this._currentStep++},updateTransform:function(u,h,r){u.coordinateSystem.getRoamTransform&&this._glViewHelper.updateTransform(u,r)},_createLinesMesh:function(u){var h=new _.a.Mesh({$ignorePicking:!0,material:new _.a.Material({shader:_.a.createShader("ecgl.lines3D"),transparent:!0,depthMask:!1,depthTest:!1}),geometry:new x.a({segmentScale:10,useNativeLine:!0,dynamic:!1}),mode:_.a.Mesh.LINES,culling:!1});return h},_updateLinesMesh:function(u,h,r,n){var a=u.getData();h.material.blend=u.get("blendMode")==="lighter"?_.a.additiveBlend:null;var f=u.get("lineStyle.curveness")||0,s=u.get("polyline"),l=h.geometry,d=u.coordinateSystem,e=c.a.firstNotNull(u.get("lineStyle.width"),1);e>1?(h.material.shader!==this._meshLinesShader&&h.material.attachShader(this._meshLinesShader),h.mode=_.a.Mesh.TRIANGLES):(h.material.shader!==this._nativeLinesShader&&h.material.attachShader(this._nativeLinesShader),h.mode=_.a.Mesh.LINES),r=r||0,n=n||a.count(),l.resetOffset();var t=0,i=0,o=[],v=[],y=[],p=[],C=[],D=.3,b=.7;function S(){v[0]=o[0]*b+p[0]*D-(o[1]-p[1])*f,v[1]=o[1]*b+p[1]*D-(p[0]-o[0])*f,y[0]=o[0]*D+p[0]*b-(o[1]-p[1])*f,y[1]=o[1]*D+p[1]*b-(p[0]-o[0])*f}if(s||f!==0)for(var L=r;L<n;L++)if(s){var w=u.getLineCoordsCount(L);t+=l.getPolylineVertexCount(w),i+=l.getPolylineTriangleCount(w)}else u.getLineCoords(L,C),this._glViewHelper.dataToPoint(d,C[0],o),this._glViewHelper.dataToPoint(d,C[1],p),S(),t+=l.getCubicCurveVertexCount(o,v,y,p),i+=l.getCubicCurveTriangleCount(o,v,y,p);else{var P=n-r;t+=P*l.getLineVertexCount(),i+=P*l.getLineVertexCount()}l.setVertexCount(t),l.setTriangleCount(i);for(var I=r,R=[],L=r;L<n;L++){_.a.parseColor(a.getItemVisual(I,"color"),R);var B=c.a.firstNotNull(a.getItemVisual(I,"opacity"),1);R[3]*=B;for(var w=u.getLineCoords(L,C),F=0;F<w;F++)this._glViewHelper.dataToPoint(d,C[F],C[F]);s?l.addPolyline(C,R,e,0,w):f!==0?(o=C[0],p=C[1],S(),l.addCubicCurve(o,v,y,p,R,e)):l.addPolyline(C,R,e,0,2),I++}},dispose:function(){this.groupGL.removeAll()},remove:function(){this.groupGL.removeAll()}})}])})},3867:function(nt,Pe,z){var N=z(97671);(function(K,O){nt.exports=O()})(this,function(){"use strict";function K(Z){var $=typeof Z;return Z!==null&&($==="object"||$==="function")}function O(Z){return typeof Z=="function"}var E=void 0;Array.isArray?E=Array.isArray:E=function(Z){return Object.prototype.toString.call(Z)==="[object Array]"};var M=E,A=0,_=void 0,m=void 0,x=function($,se){t[A]=$,t[A+1]=se,A+=2,A===2&&(m?m(i):v())};function g(Z){m=Z}function c(Z){x=Z}var u=typeof window!="undefined"?window:void 0,h=u||{},r=h.MutationObserver||h.WebKitMutationObserver,n=typeof self=="undefined"&&typeof N!="undefined"&&{}.toString.call(N)==="[object process]",a=typeof Uint8ClampedArray!="undefined"&&typeof importScripts!="undefined"&&typeof MessageChannel!="undefined";function f(){return function(){return N.nextTick(i)}}function s(){return typeof _!="undefined"?function(){_(i)}:e()}function l(){var Z=0,$=new r(i),se=document.createTextNode("");return $.observe(se,{characterData:!0}),function(){se.data=Z=++Z%2}}function d(){var Z=new MessageChannel;return Z.port1.onmessage=i,function(){return Z.port2.postMessage(0)}}function e(){var Z=setTimeout;return function(){return Z(i,1)}}var t=new Array(1e3);function i(){for(var Z=0;Z<A;Z+=2){var $=t[Z],se=t[Z+1];$(se),t[Z]=void 0,t[Z+1]=void 0}A=0}function o(){try{var Z=Function("return this")().require("vertx");return _=Z.runOnLoop||Z.runOnContext,s()}catch($){return e()}}var v=void 0;n?v=f():r?v=l():a?v=d():u===void 0?v=o():v=e();function y(Z,$){var se=this,q=new this.constructor(D);q[C]===void 0&&Ae(q);var ie=se._state;if(ie){var de=arguments[ie-1];x(function(){return le(ie,q,de,se._result)})}else ee(se,q,Z,$);return q}function p(Z){var $=this;if(Z&&typeof Z=="object"&&Z.constructor===$)return Z;var se=new $(D);return W(se,Z),se}var C=Math.random().toString(36).substring(2);function D(){}var b=void 0,S=1,L=2;function w(){return new TypeError("You cannot resolve a promise with itself")}function P(){return new TypeError("A promises callback cannot return that same promise.")}function I(Z,$,se,q){try{Z.call($,se,q)}catch(ie){return ie}}function R(Z,$,se){x(function(q){var ie=!1,de=I(se,$,function(me){ie||(ie=!0,$!==me?W(q,me):j(q,me))},function(me){ie||(ie=!0,Y(q,me))},"Settle: "+(q._label||" unknown promise"));!ie&&de&&(ie=!0,Y(q,de))},Z)}function B(Z,$){$._state===S?j(Z,$._result):$._state===L?Y(Z,$._result):ee($,void 0,function(se){return W(Z,se)},function(se){return Y(Z,se)})}function F(Z,$,se){$.constructor===Z.constructor&&se===y&&$.constructor.resolve===p?B(Z,$):se===void 0?j(Z,$):O(se)?R(Z,$,se):j(Z,$)}function W(Z,$){if(Z===$)Y(Z,w());else if(K($)){var se=void 0;try{se=$.then}catch(q){Y(Z,q);return}F(Z,$,se)}else j(Z,$)}function G(Z){Z._onerror&&Z._onerror(Z._result),ae(Z)}function j(Z,$){Z._state===b&&(Z._result=$,Z._state=S,Z._subscribers.length!==0&&x(ae,Z))}function Y(Z,$){Z._state===b&&(Z._state=L,Z._result=$,x(G,Z))}function ee(Z,$,se,q){var ie=Z._subscribers,de=ie.length;Z._onerror=null,ie[de]=$,ie[de+S]=se,ie[de+L]=q,de===0&&Z._state&&x(ae,Z)}function ae(Z){var $=Z._subscribers,se=Z._state;if($.length!==0){for(var q=void 0,ie=void 0,de=Z._result,me=0;me<$.length;me+=3)q=$[me],ie=$[me+se],q?le(se,q,ie,de):ie(de);Z._subscribers.length=0}}function le(Z,$,se,q){var ie=O(se),de=void 0,me=void 0,Ce=!0;if(ie){try{de=se(q)}catch(Oe){Ce=!1,me=Oe}if($===de){Y($,P());return}}else de=q;$._state!==b||(ie&&Ce?W($,de):Ce===!1?Y($,me):Z===S?j($,de):Z===L&&Y($,de))}function _e(Z,$){try{$(function(q){W(Z,q)},function(q){Y(Z,q)})}catch(se){Y(Z,se)}}var he=0;function ve(){return he++}function Ae(Z){Z[C]=he++,Z._state=void 0,Z._result=void 0,Z._subscribers=[]}function ge(){return new Error("Array Methods must be provided an Array")}var fe=function(){function Z($,se){this._instanceConstructor=$,this.promise=new $(D),this.promise[C]||Ae(this.promise),M(se)?(this.length=se.length,this._remaining=se.length,this._result=new Array(this.length),this.length===0?j(this.promise,this._result):(this.length=this.length||0,this._enumerate(se),this._remaining===0&&j(this.promise,this._result))):Y(this.promise,ge())}return Z.prototype._enumerate=function(se){for(var q=0;this._state===b&&q<se.length;q++)this._eachEntry(se[q],q)},Z.prototype._eachEntry=function(se,q){var ie=this._instanceConstructor,de=ie.resolve;if(de===p){var me=void 0,Ce=void 0,Oe=!1;try{me=se.then}catch(we){Oe=!0,Ce=we}if(me===y&&se._state!==b)this._settledAt(se._state,q,se._result);else if(typeof me!="function")this._remaining--,this._result[q]=se;else if(ie===V){var Ne=new ie(D);Oe?Y(Ne,Ce):F(Ne,se,me),this._willSettleAt(Ne,q)}else this._willSettleAt(new ie(function(we){return we(se)}),q)}else this._willSettleAt(de(se),q)},Z.prototype._settledAt=function(se,q,ie){var de=this.promise;de._state===b&&(this._remaining--,se===L?Y(de,ie):this._result[q]=ie),this._remaining===0&&j(de,this._result)},Z.prototype._willSettleAt=function(se,q){var ie=this;ee(se,void 0,function(de){return ie._settledAt(S,q,de)},function(de){return ie._settledAt(L,q,de)})},Z}();function Ee(Z){return new fe(this,Z).promise}function ue(Z){var $=this;return M(Z)?new $(function(se,q){for(var ie=Z.length,de=0;de<ie;de++)$.resolve(Z[de]).then(se,q)}):new $(function(se,q){return q(new TypeError("You must pass an array to race."))})}function oe(Z){var $=this,se=new $(D);return Y(se,Z),se}function X(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function re(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}var V=function(){function Z($){this[C]=ve(),this._result=this._state=void 0,this._subscribers=[],D!==$&&(typeof $!="function"&&X(),this instanceof Z?_e(this,$):re())}return Z.prototype.catch=function(se){return this.then(null,se)},Z.prototype.finally=function(se){var q=this,ie=q.constructor;return O(se)?q.then(function(de){return ie.resolve(se()).then(function(){return de})},function(de){return ie.resolve(se()).then(function(){throw de})}):q.then(se,se)},Z}();V.prototype.then=y,V.all=Ee,V.race=ue,V.resolve=p,V.reject=oe,V._setScheduler=g,V._setAsap=c,V._asap=x;function ne(){var Z=void 0;if(typeof z.g!="undefined")Z=z.g;else if(typeof self!="undefined")Z=self;else try{Z=Function("return this")()}catch(q){throw new Error("polyfill failed because global object is unavailable in this environment")}var $=Z.Promise;if($){var se=null;try{se=Object.prototype.toString.call($.resolve())}catch(q){}if(se==="[object Promise]"&&!$.cast)return}Z.Promise=V}return V.polyfill=ne,V.Promise=V,V})},86204:function(nt){"use strict";var Pe=typeof Reflect=="object"?Reflect:null,z=Pe&&typeof Pe.apply=="function"?Pe.apply:function(d,e,t){return Function.prototype.apply.call(d,e,t)},N;Pe&&typeof Pe.ownKeys=="function"?N=Pe.ownKeys:Object.getOwnPropertySymbols?N=function(d){return Object.getOwnPropertyNames(d).concat(Object.getOwnPropertySymbols(d))}:N=function(d){return Object.getOwnPropertyNames(d)};function K(l){console&&console.warn&&console.warn(l)}var O=Number.isNaN||function(d){return d!==d};function E(){E.init.call(this)}nt.exports=E,nt.exports.once=a,E.EventEmitter=E,E.prototype._events=void 0,E.prototype._eventsCount=0,E.prototype._maxListeners=void 0;var M=10;function A(l){if(typeof l!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof l)}Object.defineProperty(E,"defaultMaxListeners",{enumerable:!0,get:function(){return M},set:function(l){if(typeof l!="number"||l<0||O(l))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+l+".");M=l}}),E.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},E.prototype.setMaxListeners=function(d){if(typeof d!="number"||d<0||O(d))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+d+".");return this._maxListeners=d,this};function _(l){return l._maxListeners===void 0?E.defaultMaxListeners:l._maxListeners}E.prototype.getMaxListeners=function(){return _(this)},E.prototype.emit=function(d){for(var e=[],t=1;t<arguments.length;t++)e.push(arguments[t]);var i=d==="error",o=this._events;if(o!==void 0)i=i&&o.error===void 0;else if(!i)return!1;if(i){var v;if(e.length>0&&(v=e[0]),v instanceof Error)throw v;var y=new Error("Unhandled error."+(v?" ("+v.message+")":""));throw y.context=v,y}var p=o[d];if(p===void 0)return!1;if(typeof p=="function")z(p,this,e);else for(var C=p.length,D=h(p,C),t=0;t<C;++t)z(D[t],this,e);return!0};function m(l,d,e,t){var i,o,v;if(A(e),o=l._events,o===void 0?(o=l._events=Object.create(null),l._eventsCount=0):(o.newListener!==void 0&&(l.emit("newListener",d,e.listener?e.listener:e),o=l._events),v=o[d]),v===void 0)v=o[d]=e,++l._eventsCount;else if(typeof v=="function"?v=o[d]=t?[e,v]:[v,e]:t?v.unshift(e):v.push(e),i=_(l),i>0&&v.length>i&&!v.warned){v.warned=!0;var y=new Error("Possible EventEmitter memory leak detected. "+v.length+" "+String(d)+" listeners added. Use emitter.setMaxListeners() to increase limit");y.name="MaxListenersExceededWarning",y.emitter=l,y.type=d,y.count=v.length,K(y)}return l}E.prototype.addListener=function(d,e){return m(this,d,e,!1)},E.prototype.on=E.prototype.addListener,E.prototype.prependListener=function(d,e){return m(this,d,e,!0)};function x(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function g(l,d,e){var t={fired:!1,wrapFn:void 0,target:l,type:d,listener:e},i=x.bind(t);return i.listener=e,t.wrapFn=i,i}E.prototype.once=function(d,e){return A(e),this.on(d,g(this,d,e)),this},E.prototype.prependOnceListener=function(d,e){return A(e),this.prependListener(d,g(this,d,e)),this},E.prototype.removeListener=function(d,e){var t,i,o,v,y;if(A(e),i=this._events,i===void 0)return this;if(t=i[d],t===void 0)return this;if(t===e||t.listener===e)--this._eventsCount===0?this._events=Object.create(null):(delete i[d],i.removeListener&&this.emit("removeListener",d,t.listener||e));else if(typeof t!="function"){for(o=-1,v=t.length-1;v>=0;v--)if(t[v]===e||t[v].listener===e){y=t[v].listener,o=v;break}if(o<0)return this;o===0?t.shift():r(t,o),t.length===1&&(i[d]=t[0]),i.removeListener!==void 0&&this.emit("removeListener",d,y||e)}return this},E.prototype.off=E.prototype.removeListener,E.prototype.removeAllListeners=function(d){var e,t,i;if(t=this._events,t===void 0)return this;if(t.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):t[d]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete t[d]),this;if(arguments.length===0){var o=Object.keys(t),v;for(i=0;i<o.length;++i)v=o[i],v!=="removeListener"&&this.removeAllListeners(v);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(e=t[d],typeof e=="function")this.removeListener(d,e);else if(e!==void 0)for(i=e.length-1;i>=0;i--)this.removeListener(d,e[i]);return this};function c(l,d,e){var t=l._events;if(t===void 0)return[];var i=t[d];return i===void 0?[]:typeof i=="function"?e?[i.listener||i]:[i]:e?n(i):h(i,i.length)}E.prototype.listeners=function(d){return c(this,d,!0)},E.prototype.rawListeners=function(d){return c(this,d,!1)},E.listenerCount=function(l,d){return typeof l.listenerCount=="function"?l.listenerCount(d):u.call(l,d)},E.prototype.listenerCount=u;function u(l){var d=this._events;if(d!==void 0){var e=d[l];if(typeof e=="function")return 1;if(e!==void 0)return e.length}return 0}E.prototype.eventNames=function(){return this._eventsCount>0?N(this._events):[]};function h(l,d){for(var e=new Array(d),t=0;t<d;++t)e[t]=l[t];return e}function r(l,d){for(;d+1<l.length;d++)l[d]=l[d+1];l.pop()}function n(l){for(var d=new Array(l.length),e=0;e<d.length;++e)d[e]=l[e].listener||l[e];return d}function a(l,d){return new Promise(function(e,t){function i(v){l.removeListener(d,o),t(v)}function o(){typeof l.removeListener=="function"&&l.removeListener("error",i),e([].slice.call(arguments))}s(l,d,o,{once:!0}),d!=="error"&&f(l,i,{once:!0})})}function f(l,d,e){typeof l.on=="function"&&s(l,"error",d,e)}function s(l,d,e,t){if(typeof l.on=="function")t.once?l.once(d,e):l.on(d,e);else if(typeof l.addEventListener=="function")l.addEventListener(d,function i(o){t.once&&l.removeEventListener(d,i),e(o)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof l)}},53291:function(nt){"use strict";var Pe=Array.isArray,z=Object.keys,N=Object.prototype.hasOwnProperty;nt.exports=function K(O,E){if(O===E)return!0;if(O&&E&&typeof O=="object"&&typeof E=="object"){var M=Pe(O),A=Pe(E),_,m,x;if(M&&A){if(m=O.length,m!=E.length)return!1;for(_=m;_--!==0;)if(!K(O[_],E[_]))return!1;return!0}if(M!=A)return!1;var g=O instanceof Date,c=E instanceof Date;if(g!=c)return!1;if(g&&c)return O.getTime()==E.getTime();var u=O instanceof RegExp,h=E instanceof RegExp;if(u!=h)return!1;if(u&&h)return O.toString()==E.toString();var r=z(O);if(m=r.length,m!==z(E).length)return!1;for(_=m;_--!==0;)if(!N.call(E,r[_]))return!1;for(_=m;_--!==0;)if(x=r[_],!K(O[x],E[x]))return!1;return!0}return O!==O&&E!==E}},31561:function(nt,Pe,z){"use strict";z.d(Pe,{Z:function(){return o}});var N=z(54476),K=z(20068),O=z(42978),E=z(75931),M=z(35593),A=z(92310),_=z.n(A),m=z(8654),x=z(59301),g=z(10228),c=z(16089),u=g.Z.ESC,h=g.Z.TAB;function r(v){var y=v.visible,p=v.triggerRef,C=v.onVisibleChange,D=v.autoFocus,b=v.overlayRef,S=x.useRef(!1),L=function(){if(y){var R,B;(R=p.current)===null||R===void 0||(B=R.focus)===null||B===void 0||B.call(R),C==null||C(!1)}},w=function(){var R;return(R=b.current)!==null&&R!==void 0&&R.focus?(b.current.focus(),S.current=!0,!0):!1},P=function(R){switch(R.keyCode){case u:L();break;case h:{var B=!1;S.current||(B=w()),B?R.preventDefault():L();break}}};x.useEffect(function(){return y?(window.addEventListener("keydown",P),D&&(0,c.Z)(w,3),function(){window.removeEventListener("keydown",P),S.current=!1}):function(){S.current=!1}},[y])}var n=(0,x.forwardRef)(function(v,y){var p=v.overlay,C=v.arrow,D=v.prefixCls,b=(0,x.useMemo)(function(){var L;return typeof p=="function"?L=p():L=p,L},[p]),S=(0,m.sQ)(y,b==null?void 0:b.ref);return x.createElement(x.Fragment,null,C&&x.createElement("div",{className:"".concat(D,"-arrow")}),x.cloneElement(b,{ref:(0,m.Yr)(b)?S:void 0}))}),a=n,f={adjustX:1,adjustY:1},s=[0,0],l={topLeft:{points:["bl","tl"],overflow:f,offset:[0,-4],targetOffset:s},top:{points:["bc","tc"],overflow:f,offset:[0,-4],targetOffset:s},topRight:{points:["br","tr"],overflow:f,offset:[0,-4],targetOffset:s},bottomLeft:{points:["tl","bl"],overflow:f,offset:[0,4],targetOffset:s},bottom:{points:["tc","bc"],overflow:f,offset:[0,4],targetOffset:s},bottomRight:{points:["tr","br"],overflow:f,offset:[0,4],targetOffset:s}},d=l,e=["arrow","prefixCls","transitionName","animation","align","placement","placements","getPopupContainer","showAction","hideAction","overlayClassName","overlayStyle","visible","trigger","autoFocus","overlay","children","onVisibleChange"];function t(v,y){var p,C=v.arrow,D=C===void 0?!1:C,b=v.prefixCls,S=b===void 0?"rc-dropdown":b,L=v.transitionName,w=v.animation,P=v.align,I=v.placement,R=I===void 0?"bottomLeft":I,B=v.placements,F=B===void 0?d:B,W=v.getPopupContainer,G=v.showAction,j=v.hideAction,Y=v.overlayClassName,ee=v.overlayStyle,ae=v.visible,le=v.trigger,_e=le===void 0?["hover"]:le,he=v.autoFocus,ve=v.overlay,Ae=v.children,ge=v.onVisibleChange,fe=(0,E.Z)(v,e),Ee=x.useState(),ue=(0,O.Z)(Ee,2),oe=ue[0],X=ue[1],re="visible"in v?ae:oe,V=x.useRef(null),ne=x.useRef(null),Z=x.useRef(null);x.useImperativeHandle(y,function(){return V.current});var $=function(we){X(we),ge==null||ge(we)};r({visible:re,triggerRef:Z,onVisibleChange:$,autoFocus:he,overlayRef:ne});var se=function(we){var ce=v.onOverlayClick;X(!1),ce&&ce(we)},q=function(){return x.createElement(a,{ref:ne,overlay:ve,prefixCls:S,arrow:D})},ie=function(){return typeof ve=="function"?q:q()},de=function(){var we=v.minOverlayWidthMatchTrigger,ce=v.alignPoint;return"minOverlayWidthMatchTrigger"in v?we:!ce},me=function(){var we=v.openClassName;return we!==void 0?we:"".concat(S,"-open")},Ce=x.cloneElement(Ae,{className:_()((p=Ae.props)===null||p===void 0?void 0:p.className,re&&me()),ref:(0,m.Yr)(Ae)?(0,m.sQ)(Z,Ae.ref):void 0}),Oe=j;return!Oe&&_e.indexOf("contextMenu")!==-1&&(Oe=["click"]),x.createElement(M.Z,(0,N.Z)({builtinPlacements:F},fe,{prefixCls:S,ref:V,popupClassName:_()(Y,(0,K.Z)({},"".concat(S,"-show-arrow"),D)),popupStyle:ee,action:_e,showAction:G,hideAction:Oe,popupPlacement:R,popupAlign:P,popupTransitionName:L,popupAnimation:w,popupVisible:re,stretch:de()?"minWidth":"",popup:ie(),onPopupVisibleChange:$,onPopupClick:se,getPopupContainer:W}),Ce)}var i=x.forwardRef(t),o=i},93681:function(nt,Pe,z){"use strict";z.r(Pe),z.d(Pe,{BaseInput:function(){return g},default:function(){return l}});var N=z(54476),K=z(33885),O=z(20068),E=z(76190),M=z(92310),A=z.n(M),_=z(59301),m=z(5643),x=function(e){var t,i,o=e.inputElement,v=e.prefixCls,y=e.prefix,p=e.suffix,C=e.addonBefore,D=e.addonAfter,b=e.className,S=e.style,L=e.disabled,w=e.readOnly,P=e.focused,I=e.triggerFocus,R=e.allowClear,B=e.value,F=e.handleReset,W=e.hidden,G=e.classes,j=e.classNames,Y=e.dataAttrs,ee=e.styles,ae=e.components,le=(ae==null?void 0:ae.affixWrapper)||"span",_e=(ae==null?void 0:ae.groupWrapper)||"span",he=(ae==null?void 0:ae.wrapper)||"span",ve=(ae==null?void 0:ae.groupAddon)||"span",Ae=(0,_.useRef)(null),ge=function(q){var ie;(ie=Ae.current)!==null&&ie!==void 0&&ie.contains(q.target)&&(I==null||I())},fe=function(){var q;if(!R)return null;var ie=!L&&!w&&B,de="".concat(v,"-clear-icon"),me=(0,E.Z)(R)==="object"&&R!==null&&R!==void 0&&R.clearIcon?R.clearIcon:"\u2716";return _.createElement("span",{onClick:F,onMouseDown:function(Oe){return Oe.preventDefault()},className:A()(de,(q={},(0,O.Z)(q,"".concat(de,"-hidden"),!ie),(0,O.Z)(q,"".concat(de,"-has-suffix"),!!p),q)),role:"button",tabIndex:-1},me)},Ee=(0,_.cloneElement)(o,{value:B,hidden:W,className:A()((t=o.props)===null||t===void 0?void 0:t.className,!(0,m.X3)(e)&&!(0,m.He)(e)&&b)||null,style:(0,K.Z)((0,K.Z)({},(i=o.props)===null||i===void 0?void 0:i.style),!(0,m.X3)(e)&&!(0,m.He)(e)?S:{})});if((0,m.X3)(e)){var ue,oe="".concat(v,"-affix-wrapper"),X=A()(oe,(ue={},(0,O.Z)(ue,"".concat(oe,"-disabled"),L),(0,O.Z)(ue,"".concat(oe,"-focused"),P),(0,O.Z)(ue,"".concat(oe,"-readonly"),w),(0,O.Z)(ue,"".concat(oe,"-input-with-clear-btn"),p&&R&&B),ue),!(0,m.He)(e)&&b,G==null?void 0:G.affixWrapper,j==null?void 0:j.affixWrapper),re=(p||R)&&_.createElement("span",{className:A()("".concat(v,"-suffix"),j==null?void 0:j.suffix),style:ee==null?void 0:ee.suffix},fe(),p);Ee=_.createElement(le,(0,N.Z)({className:X,style:(0,K.Z)((0,K.Z)({},(0,m.He)(e)?void 0:S),ee==null?void 0:ee.affixWrapper),hidden:!(0,m.He)(e)&&W,onClick:ge},Y==null?void 0:Y.affixWrapper,{ref:Ae}),y&&_.createElement("span",{className:A()("".concat(v,"-prefix"),j==null?void 0:j.prefix),style:ee==null?void 0:ee.prefix},y),(0,_.cloneElement)(o,{value:B,hidden:null}),re)}if((0,m.He)(e)){var V="".concat(v,"-group"),ne="".concat(V,"-addon"),Z=A()("".concat(v,"-wrapper"),V,G==null?void 0:G.wrapper),$=A()("".concat(v,"-group-wrapper"),b,G==null?void 0:G.group);return _.createElement(_e,{className:$,style:S,hidden:W},_.createElement(he,{className:Z},C&&_.createElement(ve,{className:ne},C),(0,_.cloneElement)(Ee,{hidden:null}),D&&_.createElement(ve,{className:ne},D)))}return Ee},g=x,c=z(94480),u=z(42978),h=z(75931),r=z(18929),n=z(2738),a=["autoComplete","onChange","onFocus","onBlur","onPressEnter","onKeyDown","prefixCls","disabled","htmlSize","className","maxLength","suffix","showCount","type","classes","classNames","styles"],f=(0,_.forwardRef)(function(d,e){var t=d.autoComplete,i=d.onChange,o=d.onFocus,v=d.onBlur,y=d.onPressEnter,p=d.onKeyDown,C=d.prefixCls,D=C===void 0?"rc-input":C,b=d.disabled,S=d.htmlSize,L=d.className,w=d.maxLength,P=d.suffix,I=d.showCount,R=d.type,B=R===void 0?"text":R,F=d.classes,W=d.classNames,G=d.styles,j=(0,h.Z)(d,a),Y=(0,r.Z)(d.defaultValue,{value:d.value}),ee=(0,u.Z)(Y,2),ae=ee[0],le=ee[1],_e=(0,_.useState)(!1),he=(0,u.Z)(_e,2),ve=he[0],Ae=he[1],ge=(0,_.useRef)(null),fe=function($){ge.current&&(0,m.nH)(ge.current,$)};(0,_.useImperativeHandle)(e,function(){return{focus:fe,blur:function(){var $;($=ge.current)===null||$===void 0||$.blur()},setSelectionRange:function($,se,q){var ie;(ie=ge.current)===null||ie===void 0||ie.setSelectionRange($,se,q)},select:function(){var $;($=ge.current)===null||$===void 0||$.select()},input:ge.current}}),(0,_.useEffect)(function(){Ae(function(Z){return Z&&b?!1:Z})},[b]);var Ee=function($){d.value===void 0&&le($.target.value),ge.current&&(0,m.rJ)(ge.current,$,i)},ue=function($){y&&$.key==="Enter"&&y($),p==null||p($)},oe=function($){Ae(!0),o==null||o($)},X=function($){Ae(!1),v==null||v($)},re=function($){le(""),fe(),ge.current&&(0,m.rJ)(ge.current,$,i)},V=function(){var $=(0,n.Z)(d,["prefixCls","onPressEnter","addonBefore","addonAfter","prefix","suffix","allowClear","defaultValue","showCount","classes","htmlSize","styles","classNames"]);return _.createElement("input",(0,N.Z)({autoComplete:t},$,{onChange:Ee,onFocus:oe,onBlur:X,onKeyDown:ue,className:A()(D,(0,O.Z)({},"".concat(D,"-disabled"),b),W==null?void 0:W.input),style:G==null?void 0:G.input,ref:ge,size:S,type:B}))},ne=function(){var $=Number(w)>0;if(P||I){var se=(0,m.D7)(ae),q=(0,c.Z)(se).length,ie=(0,E.Z)(I)==="object"?I.formatter({value:se,count:q,maxLength:w}):"".concat(q).concat($?" / ".concat(w):"");return _.createElement(_.Fragment,null,!!I&&_.createElement("span",{className:A()("".concat(D,"-show-count-suffix"),(0,O.Z)({},"".concat(D,"-show-count-has-suffix"),!!P),W==null?void 0:W.count),style:(0,K.Z)({},G==null?void 0:G.count)},ie),P)}return null};return _.createElement(g,(0,N.Z)({},j,{prefixCls:D,className:L,inputElement:V(),handleReset:re,value:(0,m.D7)(ae),focused:ve,triggerFocus:fe,suffix:ne(),disabled:b,classes:F,classNames:W,styles:G}))}),s=f,l=s},5643:function(nt,Pe,z){"use strict";z.d(Pe,{D7:function(){return M},He:function(){return N},X3:function(){return K},nH:function(){return E},rJ:function(){return O}});function N(A){return!!(A.addonBefore||A.addonAfter)}function K(A){return!!(A.prefix||A.suffix||A.allowClear)}function O(A,_,m,x){if(m){var g=_;if(_.type==="click"){var c=A.cloneNode(!0);g=Object.create(_,{target:{value:c},currentTarget:{value:c}}),c.value="",m(g);return}if(x!==void 0){g=Object.create(_,{target:{value:A},currentTarget:{value:A}}),A.value=x,m(g);return}m(g)}}function E(A,_){if(A){A.focus(_);var m=_||{},x=m.cursor;if(x){var g=A.value.length;switch(x){case"start":A.setSelectionRange(0,0);break;case"end":A.setSelectionRange(g,g);break;default:A.setSelectionRange(0,g)}}}}function M(A){return typeof A=="undefined"||A===null?"":String(A)}},15285:function(nt,Pe,z){"use strict";z.d(Pe,{iz:function(){return Ze},ck:function(){return dt},BW:function(){return qe},sN:function(){return dt},Wd:function(){return pe},ZP:function(){return bt},Xl:function(){return p}});var N=z(54476),K=z(20068),O=z(33885),E=z(94480),M=z(42978),A=z(75931),_=z(92310),m=z.n(_),x=z(83836),g=z(18929),c=z(13697),u=z(48736),h=z(59301),r=z(4676),n=h.createContext(null);function a(De,be){return De===void 0?null:"".concat(De,"-").concat(be)}function f(De){var be=h.useContext(n);return a(be,De)}var s=z(80547),l=["children","locked"],d=h.createContext(null);function e(De,be){var Le=(0,O.Z)({},De);return Object.keys(be).forEach(function(ze){var We=be[ze];We!==void 0&&(Le[ze]=We)}),Le}function t(De){var be=De.children,Le=De.locked,ze=(0,A.Z)(De,l),We=h.useContext(d),He=(0,s.Z)(function(){return e(We,ze)},[We,ze],function(Fe,rt){return!Le&&(Fe[0]!==rt[0]||!(0,c.Z)(Fe[1],rt[1],!0))});return h.createElement(d.Provider,{value:He},be)}var i=[],o=h.createContext(null);function v(){return h.useContext(o)}var y=h.createContext(i);function p(De){var be=h.useContext(y);return h.useMemo(function(){return De!==void 0?[].concat((0,E.Z)(be),[De]):be},[be,De])}var C=h.createContext(null),D=h.createContext({}),b=D,S=z(29194);function L(De){var be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if((0,S.Z)(De)){var Le=De.nodeName.toLowerCase(),ze=["input","select","textarea","button"].includes(Le)||De.isContentEditable||Le==="a"&&!!De.getAttribute("href"),We=De.getAttribute("tabindex"),He=Number(We),Fe=null;return We&&!Number.isNaN(He)?Fe=He:ze&&Fe===null&&(Fe=0),ze&&De.disabled&&(Fe=null),Fe!==null&&(Fe>=0||be&&Fe<0)}return!1}function w(De){var be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,Le=(0,E.Z)(De.querySelectorAll("*")).filter(function(ze){return L(ze,be)});return L(De,be)&&Le.unshift(De),Le}var P=null;function I(){P=document.activeElement}function R(){P=null}function B(){if(P)try{P.focus()}catch(De){}}function F(De,be){if(be.keyCode===9){var Le=w(De),ze=Le[be.shiftKey?0:Le.length-1],We=ze===document.activeElement||De===document.activeElement;if(We){var He=Le[be.shiftKey?Le.length-1:0];He.focus(),be.preventDefault()}}}var W=z(10228),G=z(16089),j=W.Z.LEFT,Y=W.Z.RIGHT,ee=W.Z.UP,ae=W.Z.DOWN,le=W.Z.ENTER,_e=W.Z.ESC,he=W.Z.HOME,ve=W.Z.END,Ae=[ee,ae,j,Y];function ge(De,be,Le,ze){var We,He,Fe,rt,Et="prev",yt="next",Pt="children",At="parent";if(De==="inline"&&ze===le)return{inlineTrigger:!0};var zt=(We={},(0,K.Z)(We,ee,Et),(0,K.Z)(We,ae,yt),We),Lt=(He={},(0,K.Z)(He,j,Le?yt:Et),(0,K.Z)(He,Y,Le?Et:yt),(0,K.Z)(He,ae,Pt),(0,K.Z)(He,le,Pt),He),Dt=(Fe={},(0,K.Z)(Fe,ee,Et),(0,K.Z)(Fe,ae,yt),(0,K.Z)(Fe,le,Pt),(0,K.Z)(Fe,_e,At),(0,K.Z)(Fe,j,Le?Pt:At),(0,K.Z)(Fe,Y,Le?At:Pt),Fe),Vt={inline:zt,horizontal:Lt,vertical:Dt,inlineSub:zt,horizontalSub:Dt,verticalSub:Dt},Ht=(rt=Vt["".concat(De).concat(be?"":"Sub")])===null||rt===void 0?void 0:rt[ze];switch(Ht){case Et:return{offset:-1,sibling:!0};case yt:return{offset:1,sibling:!0};case At:return{offset:-1,sibling:!1};case Pt:return{offset:1,sibling:!1};default:return null}}function fe(De){for(var be=De;be;){if(be.getAttribute("data-menu-list"))return be;be=be.parentElement}return null}function Ee(De,be){for(var Le=De||document.activeElement;Le;){if(be.has(Le))return Le;Le=Le.parentElement}return null}function ue(De,be){var Le=w(De,!0);return Le.filter(function(ze){return be.has(ze)})}function oe(De,be,Le){var ze=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1;if(!De)return null;var We=ue(De,be),He=We.length,Fe=We.findIndex(function(rt){return Le===rt});return ze<0?Fe===-1?Fe=He-1:Fe-=1:ze>0&&(Fe+=1),Fe=(Fe+He)%He,We[Fe]}var X=function(be,Le){var ze=new Set,We=new Map,He=new Map;return be.forEach(function(Fe){var rt=document.querySelector("[data-menu-id='".concat(a(Le,Fe),"']"));rt&&(ze.add(rt),He.set(rt,Fe),We.set(Fe,rt))}),{elements:ze,key2element:We,element2key:He}};function re(De,be,Le,ze,We,He,Fe,rt,Et,yt){var Pt=h.useRef(),At=h.useRef();At.current=be;var zt=function(){G.Z.cancel(Pt.current)};return h.useEffect(function(){return function(){zt()}},[]),function(Lt){var Dt=Lt.which;if([].concat(Ae,[le,_e,he,ve]).includes(Dt)){var Vt=He(),Ht=X(Vt,ze),vr=Ht,nr=vr.elements,Xt=vr.key2element,lr=vr.element2key,Qt=Xt.get(be),sr=Ee(Qt,nr),Cr=lr.get(sr),wt=ge(De,Fe(Cr,!0).length===1,Le,Dt);if(!wt&&Dt!==he&&Dt!==ve)return;(Ae.includes(Dt)||[he,ve].includes(Dt))&&Lt.preventDefault();var It=function(dr){if(dr){var Ar=dr,Ct=dr.querySelector("a");Ct!=null&&Ct.getAttribute("href")&&(Ar=Ct);var _t=lr.get(dr);rt(_t),zt(),Pt.current=(0,G.Z)(function(){At.current===_t&&Ar.focus()})}};if([he,ve].includes(Dt)||wt.sibling||!sr){var Ut;!sr||De==="inline"?Ut=We.current:Ut=fe(sr);var ur,ir=ue(Ut,nr);Dt===he?ur=ir[0]:Dt===ve?ur=ir[ir.length-1]:ur=oe(Ut,nr,sr,wt.offset),It(ur)}else if(wt.inlineTrigger)Et(Cr);else if(wt.offset>0)Et(Cr,!0),zt(),Pt.current=(0,G.Z)(function(){Ht=X(Vt,ze);var xr=sr.getAttribute("aria-controls"),dr=document.getElementById(xr),Ar=oe(dr,Ht.elements);It(Ar)},5);else if(wt.offset<0){var ar=Fe(Cr,!0),tr=ar[ar.length-2],fr=Xt.get(tr);Et(tr,!1),It(fr)}}yt==null||yt(Lt)}}function V(De){Promise.resolve().then(De)}var ne="__RC_UTIL_PATH_SPLIT__",Z=function(be){return be.join(ne)},$=function(be){return be.split(ne)},se="rc-menu-more";function q(){var De=h.useState({}),be=(0,M.Z)(De,2),Le=be[1],ze=(0,h.useRef)(new Map),We=(0,h.useRef)(new Map),He=h.useState([]),Fe=(0,M.Z)(He,2),rt=Fe[0],Et=Fe[1],yt=(0,h.useRef)(0),Pt=(0,h.useRef)(!1),At=function(){Pt.current||Le({})},zt=(0,h.useCallback)(function(Xt,lr){var Qt=Z(lr);We.current.set(Qt,Xt),ze.current.set(Xt,Qt),yt.current+=1;var sr=yt.current;V(function(){sr===yt.current&&At()})},[]),Lt=(0,h.useCallback)(function(Xt,lr){var Qt=Z(lr);We.current.delete(Qt),ze.current.delete(Xt)},[]),Dt=(0,h.useCallback)(function(Xt){Et(Xt)},[]),Vt=(0,h.useCallback)(function(Xt,lr){var Qt=ze.current.get(Xt)||"",sr=$(Qt);return lr&&rt.includes(sr[0])&&sr.unshift(se),sr},[rt]),Ht=(0,h.useCallback)(function(Xt,lr){return Xt.some(function(Qt){var sr=Vt(Qt,!0);return sr.includes(lr)})},[Vt]),vr=function(){var lr=(0,E.Z)(ze.current.keys());return rt.length&&lr.push(se),lr},nr=(0,h.useCallback)(function(Xt){var lr="".concat(ze.current.get(Xt)).concat(ne),Qt=new Set;return(0,E.Z)(We.current.keys()).forEach(function(sr){sr.startsWith(lr)&&Qt.add(We.current.get(sr))}),Qt},[]);return h.useEffect(function(){return function(){Pt.current=!0}},[]),{registerPath:zt,unregisterPath:Lt,refreshOverflowKeys:Dt,isSubPathKey:Ht,getKeyPath:Vt,getKeys:vr,getSubPathKeys:nr}}function ie(De){var be=h.useRef(De);be.current=De;var Le=h.useCallback(function(){for(var ze,We=arguments.length,He=new Array(We),Fe=0;Fe<We;Fe++)He[Fe]=arguments[Fe];return(ze=be.current)===null||ze===void 0?void 0:ze.call.apply(ze,[be].concat(He))},[]);return De?Le:void 0}var de=Math.random().toFixed(5).toString().slice(2),me=0;function Ce(De){var be=(0,g.Z)(De,{value:De}),Le=(0,M.Z)(be,2),ze=Le[0],We=Le[1];return h.useEffect(function(){me+=1;var He="".concat(de,"-").concat(me);We("rc-menu-uuid-".concat(He))},[]),ze}var Oe=z(67732),Ne=z(83652),we=z(42403),ce=z(158),ye=z(2738),Se=z(8654);function xe(De,be,Le,ze){var We=h.useContext(d),He=We.activeKey,Fe=We.onActive,rt=We.onInactive,Et={active:He===De};return be||(Et.onMouseEnter=function(yt){Le==null||Le({key:De,domEvent:yt}),Fe(De)},Et.onMouseLeave=function(yt){ze==null||ze({key:De,domEvent:yt}),rt(De)}),Et}function je(De){var be=h.useContext(d),Le=be.mode,ze=be.rtl,We=be.inlineIndent;if(Le!=="inline")return null;var He=De;return ze?{paddingRight:He*We}:{paddingLeft:He*We}}function ut(De){var be=De.icon,Le=De.props,ze=De.children,We;return be===null||be===!1?null:(typeof be=="function"?We=h.createElement(be,(0,O.Z)({},Le)):typeof be!="boolean"&&(We=be),We||ze||null)}var lt=["item"];function $e(De){var be=De.item,Le=(0,A.Z)(De,lt);return Object.defineProperty(Le,"item",{get:function(){return(0,u.ZP)(!1,"`info.item` is deprecated since we will move to function component that not provides React Node instance in future."),be}}),Le}var pt=["title","attribute","elementRef"],xt=["style","className","eventKey","warnKey","disabled","itemIcon","children","role","onMouseEnter","onMouseLeave","onClick","onKeyDown","onFocus"],St=["active"],ft=function(De){(0,we.Z)(Le,De);var be=(0,ce.Z)(Le);function Le(){return(0,Oe.Z)(this,Le),be.apply(this,arguments)}return(0,Ne.Z)(Le,[{key:"render",value:function(){var We=this.props,He=We.title,Fe=We.attribute,rt=We.elementRef,Et=(0,A.Z)(We,pt),yt=(0,ye.Z)(Et,["eventKey","popupClassName","popupOffset","onTitleClick"]);return(0,u.ZP)(!Fe,"`attribute` of Menu.Item is deprecated. Please pass attribute directly."),h.createElement(x.Z.Item,(0,N.Z)({},Fe,{title:typeof He=="string"?He:void 0},yt,{ref:rt}))}}]),Le}(h.Component),$t=h.forwardRef(function(De,be){var Le,ze=De.style,We=De.className,He=De.eventKey,Fe=De.warnKey,rt=De.disabled,Et=De.itemIcon,yt=De.children,Pt=De.role,At=De.onMouseEnter,zt=De.onMouseLeave,Lt=De.onClick,Dt=De.onKeyDown,Vt=De.onFocus,Ht=(0,A.Z)(De,xt),vr=f(He),nr=h.useContext(d),Xt=nr.prefixCls,lr=nr.onItemClick,Qt=nr.disabled,sr=nr.overflowDisabled,Cr=nr.itemIcon,wt=nr.selectedKeys,It=nr.onActive,Ut=h.useContext(b),ur=Ut._internalRenderMenuItem,ir="".concat(Xt,"-item"),ar=h.useRef(),tr=h.useRef(),fr=Qt||rt,xr=(0,Se.x1)(be,tr),dr=p(He),Ar=function(yr){return{key:He,keyPath:(0,E.Z)(dr).reverse(),item:ar.current,domEvent:yr}},Ct=Et||Cr,_t=xe(He,fr,At,zt),jt=_t.active,Jt=(0,A.Z)(_t,St),hr=wt.includes(He),Ir=je(dr.length),Tr=function(yr){if(!fr){var Pr=Ar(yr);Lt==null||Lt($e(Pr)),lr(Pr)}},Er=function(yr){if(Dt==null||Dt(yr),yr.which===W.Z.ENTER){var Pr=Ar(yr);Lt==null||Lt($e(Pr)),lr(Pr)}},Sr=function(yr){It(He),Vt==null||Vt(yr)},br={};De.role==="option"&&(br["aria-selected"]=hr);var Mr=h.createElement(ft,(0,N.Z)({ref:ar,elementRef:xr,role:Pt===null?"none":Pt||"menuitem",tabIndex:rt?null:-1,"data-menu-id":sr&&vr?null:vr},Ht,Jt,br,{component:"li","aria-disabled":rt,style:(0,O.Z)((0,O.Z)({},Ir),ze),className:m()(ir,(Le={},(0,K.Z)(Le,"".concat(ir,"-active"),jt),(0,K.Z)(Le,"".concat(ir,"-selected"),hr),(0,K.Z)(Le,"".concat(ir,"-disabled"),fr),Le),We),onClick:Tr,onKeyDown:Er,onFocus:Sr}),yt,h.createElement(ut,{props:(0,O.Z)((0,O.Z)({},De),{},{isSelected:hr}),icon:Ct}));return ur&&(Mr=ur(Mr,De,{selected:hr})),Mr});function Kt(De,be){var Le=De.eventKey,ze=v(),We=p(Le);return h.useEffect(function(){if(ze)return ze.registerPath(Le,We),function(){ze.unregisterPath(Le,We)}},[We]),ze?null:h.createElement($t,(0,N.Z)({},De,{ref:be}))}var dt=h.forwardRef(Kt),ht=["className","children"],Ot=function(be,Le){var ze=be.className,We=be.children,He=(0,A.Z)(be,ht),Fe=h.useContext(d),rt=Fe.prefixCls,Et=Fe.mode,yt=Fe.rtl;return h.createElement("ul",(0,N.Z)({className:m()(rt,yt&&"".concat(rt,"-rtl"),"".concat(rt,"-sub"),"".concat(rt,"-").concat(Et==="inline"?"inline":"vertical"),ze),role:"menu"},He,{"data-menu-list":!0,ref:Le}),We)},mt=h.forwardRef(Ot);mt.displayName="SubMenuList";var Gt=mt,er=z(11592);function ct(De,be){return(0,er.Z)(De).map(function(Le,ze){if(h.isValidElement(Le)){var We,He,Fe=Le.key,rt=(We=(He=Le.props)===null||He===void 0?void 0:He.eventKey)!==null&&We!==void 0?We:Fe,Et=rt==null;Et&&(rt="tmp_key-".concat([].concat((0,E.Z)(be),[ze]).join("-")));var yt={key:rt,eventKey:rt};return h.cloneElement(Le,yt)}return Le})}var rr=z(35593),Zt={adjustX:1,adjustY:1},Yt={topLeft:{points:["bl","tl"],overflow:Zt},topRight:{points:["br","tr"],overflow:Zt},bottomLeft:{points:["tl","bl"],overflow:Zt},bottomRight:{points:["tr","br"],overflow:Zt},leftTop:{points:["tr","tl"],overflow:Zt},leftBottom:{points:["br","bl"],overflow:Zt},rightTop:{points:["tl","tr"],overflow:Zt},rightBottom:{points:["bl","br"],overflow:Zt}},kt={topLeft:{points:["bl","tl"],overflow:Zt},topRight:{points:["br","tr"],overflow:Zt},bottomLeft:{points:["tl","bl"],overflow:Zt},bottomRight:{points:["tr","br"],overflow:Zt},rightTop:{points:["tr","tl"],overflow:Zt},rightBottom:{points:["br","bl"],overflow:Zt},leftTop:{points:["tl","tr"],overflow:Zt},leftBottom:{points:["bl","br"],overflow:Zt}},Xe=null;function T(De,be,Le){if(be)return be;if(Le)return Le[De]||Le.other}var U={horizontal:"bottomLeft",vertical:"rightTop","vertical-left":"rightTop","vertical-right":"leftTop"};function H(De){var be=De.prefixCls,Le=De.visible,ze=De.children,We=De.popup,He=De.popupStyle,Fe=De.popupClassName,rt=De.popupOffset,Et=De.disabled,yt=De.mode,Pt=De.onVisibleChange,At=h.useContext(d),zt=At.getPopupContainer,Lt=At.rtl,Dt=At.subMenuOpenDelay,Vt=At.subMenuCloseDelay,Ht=At.builtinPlacements,vr=At.triggerSubMenuAction,nr=At.forceSubMenuRender,Xt=At.rootClassName,lr=At.motion,Qt=At.defaultMotions,sr=h.useState(!1),Cr=(0,M.Z)(sr,2),wt=Cr[0],It=Cr[1],Ut=Lt?(0,O.Z)((0,O.Z)({},kt),Ht):(0,O.Z)((0,O.Z)({},Yt),Ht),ur=U[yt],ir=T(yt,lr,Qt),ar=h.useRef(ir);yt!=="inline"&&(ar.current=ir);var tr=(0,O.Z)((0,O.Z)({},ar.current),{},{leavedClassName:"".concat(be,"-hidden"),removeOnLeave:!1,motionAppear:!0}),fr=h.useRef();return h.useEffect(function(){return fr.current=(0,G.Z)(function(){It(Le)}),function(){G.Z.cancel(fr.current)}},[Le]),h.createElement(rr.Z,{prefixCls:be,popupClassName:m()("".concat(be,"-popup"),(0,K.Z)({},"".concat(be,"-rtl"),Lt),Fe,Xt),stretch:yt==="horizontal"?"minWidth":null,getPopupContainer:zt,builtinPlacements:Ut,popupPlacement:ur,popupVisible:wt,popup:We,popupStyle:He,popupAlign:rt&&{offset:rt},action:Et?[]:[vr],mouseEnterDelay:Dt,mouseLeaveDelay:Vt,onPopupVisibleChange:Pt,forceRender:nr,popupMotion:tr,fresh:!0},ze)}var k=z(77900);function te(De){var be=De.id,Le=De.open,ze=De.keyPath,We=De.children,He="inline",Fe=h.useContext(d),rt=Fe.prefixCls,Et=Fe.forceSubMenuRender,yt=Fe.motion,Pt=Fe.defaultMotions,At=Fe.mode,zt=h.useRef(!1);zt.current=At===He;var Lt=h.useState(!zt.current),Dt=(0,M.Z)(Lt,2),Vt=Dt[0],Ht=Dt[1],vr=zt.current?Le:!1;h.useEffect(function(){zt.current&&Ht(!1)},[At]);var nr=(0,O.Z)({},T(He,yt,Pt));ze.length>1&&(nr.motionAppear=!1);var Xt=nr.onVisibleChanged;return nr.onVisibleChanged=function(lr){return!zt.current&&!lr&&Ht(!0),Xt==null?void 0:Xt(lr)},Vt?null:h.createElement(t,{mode:He,locked:!zt.current},h.createElement(k.default,(0,N.Z)({visible:vr},nr,{forceRender:Et,removeOnLeave:!1,leavedClassName:"".concat(rt,"-hidden")}),function(lr){var Qt=lr.className,sr=lr.style;return h.createElement(Gt,{id:be,className:Qt,style:sr},We)}))}var J=["style","className","title","eventKey","warnKey","disabled","internalPopupClose","children","itemIcon","expandIcon","popupClassName","popupOffset","popupStyle","onClick","onMouseEnter","onMouseLeave","onTitleClick","onTitleMouseEnter","onTitleMouseLeave"],Q=["active"],Te=function(be){var Le,ze=be.style,We=be.className,He=be.title,Fe=be.eventKey,rt=be.warnKey,Et=be.disabled,yt=be.internalPopupClose,Pt=be.children,At=be.itemIcon,zt=be.expandIcon,Lt=be.popupClassName,Dt=be.popupOffset,Vt=be.popupStyle,Ht=be.onClick,vr=be.onMouseEnter,nr=be.onMouseLeave,Xt=be.onTitleClick,lr=be.onTitleMouseEnter,Qt=be.onTitleMouseLeave,sr=(0,A.Z)(be,J),Cr=f(Fe),wt=h.useContext(d),It=wt.prefixCls,Ut=wt.mode,ur=wt.openKeys,ir=wt.disabled,ar=wt.overflowDisabled,tr=wt.activeKey,fr=wt.selectedKeys,xr=wt.itemIcon,dr=wt.expandIcon,Ar=wt.onItemClick,Ct=wt.onOpenChange,_t=wt.onActive,jt=h.useContext(b),Jt=jt._internalRenderSubMenuItem,hr=h.useContext(C),Ir=hr.isSubPathKey,Tr=p(),Er="".concat(It,"-submenu"),Sr=ir||Et,br=h.useRef(),Mr=h.useRef(),Lr=At!=null?At:xr,yr=zt!=null?zt:dr,Pr=ur.includes(Fe),Br=!ar&&Pr,Xr=Ir(fr,Fe),Vr=xe(Fe,Sr,lr,Qt),Hr=Vr.active,Wr=(0,A.Z)(Vr,Q),sn=h.useState(!1),zr=(0,M.Z)(sn,2),$r=zr[0],en=zr[1],tn=function(Bt){Sr||en(Bt)},Nr=function(Bt){tn(!0),vr==null||vr({key:Fe,domEvent:Bt})},ln=function(Bt){tn(!1),nr==null||nr({key:Fe,domEvent:Bt})},Ie=h.useMemo(function(){return Hr||(Ut!=="inline"?$r||Ir([tr],Fe):!1)},[Ut,Hr,tr,$r,Fe,Ir]),Me=je(Tr.length),Ue=function(Bt){Sr||(Xt==null||Xt({key:Fe,domEvent:Bt}),Ut==="inline"&&Ct(Fe,!Pr))},et=ie(function(it){Ht==null||Ht($e(it)),Ar(it)}),Qe=function(Bt){Ut!=="inline"&&Ct(Fe,Bt)},st=function(){_t(Fe)},Re=Cr&&"".concat(Cr,"-popup"),tt=h.createElement("div",(0,N.Z)({role:"menuitem",style:Me,className:"".concat(Er,"-title"),tabIndex:Sr?null:-1,ref:br,title:typeof He=="string"?He:null,"data-menu-id":ar&&Cr?null:Cr,"aria-expanded":Br,"aria-haspopup":!0,"aria-controls":Re,"aria-disabled":Sr,onClick:Ue,onFocus:st},Wr),He,h.createElement(ut,{icon:Ut!=="horizontal"?yr:void 0,props:(0,O.Z)((0,O.Z)({},be),{},{isOpen:Br,isSubMenu:!0})},h.createElement("i",{className:"".concat(Er,"-arrow")}))),vt=h.useRef(Ut);if(Ut!=="inline"&&Tr.length>1?vt.current="vertical":vt.current=Ut,!ar){var Tt=vt.current;tt=h.createElement(H,{mode:Tt,prefixCls:Er,visible:!yt&&Br&&Ut!=="inline",popupClassName:Lt,popupOffset:Dt,popupStyle:Vt,popup:h.createElement(t,{mode:Tt==="horizontal"?"vertical":Tt},h.createElement(Gt,{id:Re,ref:Mr},Pt)),disabled:Sr,onVisibleChange:Qe},tt)}var Mt=h.createElement(x.Z.Item,(0,N.Z)({role:"none"},sr,{component:"li",style:ze,className:m()(Er,"".concat(Er,"-").concat(Ut),We,(Le={},(0,K.Z)(Le,"".concat(Er,"-open"),Br),(0,K.Z)(Le,"".concat(Er,"-active"),Ie),(0,K.Z)(Le,"".concat(Er,"-selected"),Xr),(0,K.Z)(Le,"".concat(Er,"-disabled"),Sr),Le)),onMouseEnter:Nr,onMouseLeave:ln}),tt,!ar&&h.createElement(te,{id:Re,open:Br,keyPath:Tr},Pt));return Jt&&(Mt=Jt(Mt,be,{selected:Xr,active:Ie,open:Br,disabled:Sr})),h.createElement(t,{onItemClick:et,mode:Ut==="horizontal"?"vertical":Ut,itemIcon:Lr,expandIcon:yr},Mt)};function pe(De){var be=De.eventKey,Le=De.children,ze=p(be),We=ct(Le,ze),He=v();h.useEffect(function(){if(He)return He.registerPath(be,ze),function(){He.unregisterPath(be,ze)}},[ze]);var Fe;return He?Fe=We:Fe=h.createElement(Te,De,We),h.createElement(y.Provider,{value:ze},Fe)}var Be=z(76190),ke=["className","title","eventKey","children"],Je=["children"],Ke=function(be){var Le=be.className,ze=be.title,We=be.eventKey,He=be.children,Fe=(0,A.Z)(be,ke),rt=h.useContext(d),Et=rt.prefixCls,yt="".concat(Et,"-item-group");return h.createElement("li",(0,N.Z)({role:"presentation"},Fe,{onClick:function(At){return At.stopPropagation()},className:m()(yt,Le)}),h.createElement("div",{role:"presentation",className:"".concat(yt,"-title"),title:typeof ze=="string"?ze:void 0},ze),h.createElement("ul",{role:"group",className:"".concat(yt,"-list")},He))};function qe(De){var be=De.children,Le=(0,A.Z)(De,Je),ze=p(Le.eventKey),We=ct(be,ze),He=v();return He?We:h.createElement(Ke,(0,ye.Z)(Le,["warnKey"]),We)}function Ze(De){var be=De.className,Le=De.style,ze=h.useContext(d),We=ze.prefixCls,He=v();return He?null:h.createElement("li",{role:"separator",className:m()("".concat(We,"-item-divider"),be),style:Le})}var Ge=["label","children","key","type"];function Ve(De){return(De||[]).map(function(be,Le){if(be&&(0,Be.Z)(be)==="object"){var ze=be,We=ze.label,He=ze.children,Fe=ze.key,rt=ze.type,Et=(0,A.Z)(ze,Ge),yt=Fe!=null?Fe:"tmp-".concat(Le);return He||rt==="group"?rt==="group"?h.createElement(qe,(0,N.Z)({key:yt},Et,{title:We}),Ve(He)):h.createElement(pe,(0,N.Z)({key:yt},Et,{title:We}),Ve(He)):rt==="divider"?h.createElement(Ze,(0,N.Z)({key:yt},Et)):h.createElement(dt,(0,N.Z)({key:yt},Et),We)}return null}).filter(function(be){return be})}function at(De,be,Le){var ze=De;return be&&(ze=Ve(be)),ct(ze,Le)}var Ye=["prefixCls","rootClassName","style","className","tabIndex","items","children","direction","id","mode","inlineCollapsed","disabled","disabledOverflow","subMenuOpenDelay","subMenuCloseDelay","forceSubMenuRender","defaultOpenKeys","openKeys","activeKey","defaultActiveFirst","selectable","multiple","defaultSelectedKeys","selectedKeys","onSelect","onDeselect","inlineIndent","motion","defaultMotions","triggerSubMenuAction","builtinPlacements","itemIcon","expandIcon","overflowedIndicator","overflowedIndicatorPopupClassName","getPopupContainer","onClick","onOpenChange","onKeyDown","openAnimation","openTransitionName","_internalRenderMenuItem","_internalRenderSubMenuItem"],gt=[],Rt=h.forwardRef(function(De,be){var Le,ze,We=De,He=We.prefixCls,Fe=He===void 0?"rc-menu":He,rt=We.rootClassName,Et=We.style,yt=We.className,Pt=We.tabIndex,At=Pt===void 0?0:Pt,zt=We.items,Lt=We.children,Dt=We.direction,Vt=We.id,Ht=We.mode,vr=Ht===void 0?"vertical":Ht,nr=We.inlineCollapsed,Xt=We.disabled,lr=We.disabledOverflow,Qt=We.subMenuOpenDelay,sr=Qt===void 0?.1:Qt,Cr=We.subMenuCloseDelay,wt=Cr===void 0?.1:Cr,It=We.forceSubMenuRender,Ut=We.defaultOpenKeys,ur=We.openKeys,ir=We.activeKey,ar=We.defaultActiveFirst,tr=We.selectable,fr=tr===void 0?!0:tr,xr=We.multiple,dr=xr===void 0?!1:xr,Ar=We.defaultSelectedKeys,Ct=We.selectedKeys,_t=We.onSelect,jt=We.onDeselect,Jt=We.inlineIndent,hr=Jt===void 0?24:Jt,Ir=We.motion,Tr=We.defaultMotions,Er=We.triggerSubMenuAction,Sr=Er===void 0?"hover":Er,br=We.builtinPlacements,Mr=We.itemIcon,Lr=We.expandIcon,yr=We.overflowedIndicator,Pr=yr===void 0?"...":yr,Br=We.overflowedIndicatorPopupClassName,Xr=We.getPopupContainer,Vr=We.onClick,Hr=We.onOpenChange,Wr=We.onKeyDown,sn=We.openAnimation,zr=We.openTransitionName,$r=We._internalRenderMenuItem,en=We._internalRenderSubMenuItem,tn=(0,A.Z)(We,Ye),Nr=h.useMemo(function(){return at(Lt,zt,gt)},[Lt,zt]),ln=h.useState(!1),Ie=(0,M.Z)(ln,2),Me=Ie[0],Ue=Ie[1],et=h.useRef(),Qe=Ce(Vt),st=Dt==="rtl",Re=(0,g.Z)(Ut,{value:ur,postState:function(Dr){return Dr||gt}}),tt=(0,M.Z)(Re,2),vt=tt[0],Tt=tt[1],Mt=function(Dr){var Or=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;function Jr(){Tt(Dr),Hr==null||Hr(Dr)}Or?(0,r.flushSync)(Jr):Jr()},it=h.useState(vt),Bt=(0,M.Z)(it,2),qt=Bt[0],mr=Bt[1],Ft=h.useRef(!1),Wt=h.useMemo(function(){return(vr==="inline"||vr==="vertical")&&nr?["vertical",nr]:[vr,!1]},[vr,nr]),gr=(0,M.Z)(Wt,2),or=gr[0],pr=gr[1],Ur=or==="inline",jr=h.useState(or),hn=(0,M.Z)(jr,2),Zr=hn[0],pn=hn[1],_n=h.useState(pr),En=(0,M.Z)(_n,2),Yr=En[0],fn=En[1];h.useEffect(function(){pn(or),fn(pr),Ft.current&&(Ur?Tt(qt):Mt(gt))},[or,pr]);var vn=h.useState(0),dn=(0,M.Z)(vn,2),Qr=dn[0],rn=dn[1],un=Qr>=Nr.length-1||Zr!=="horizontal"||lr;h.useEffect(function(){Ur&&mr(vt)},[vt]),h.useEffect(function(){return Ft.current=!0,function(){Ft.current=!1}},[]);var nn=q(),yn=nn.registerPath,mn=nn.unregisterPath,xn=nn.refreshOverflowKeys,An=nn.isSubPathKey,_r=nn.getKeyPath,cr=nn.getKeys,Fr=nn.getSubPathKeys,Kr=h.useMemo(function(){return{registerPath:yn,unregisterPath:mn}},[yn,mn]),Rr=h.useMemo(function(){return{isSubPathKey:An}},[An]);h.useEffect(function(){xn(un?gt:Nr.slice(Qr+1).map(function(wr){return wr.key}))},[Qr,un]);var Gr=(0,g.Z)(ir||ar&&((Le=Nr[0])===null||Le===void 0?void 0:Le.key),{value:ir}),kr=(0,M.Z)(Gr,2),on=kr[0],an=kr[1],gn=ie(function(wr){an(wr)}),cn=ie(function(){an(void 0)});(0,h.useImperativeHandle)(be,function(){return{list:et.current,focus:function(Dr){var Or,Jr=cr(),qr=X(Jr,Qe),Tn=qr.elements,Mn=qr.key2element,zn=qr.element2key,Rn=ue(et.current,Tn),wn=on!=null?on:Rn[0]?zn.get(Rn[0]):(Or=Nr.find(function(Kn){return!Kn.props.disabled}))===null||Or===void 0?void 0:Or.key,Cn=Mn.get(wn);if(wn&&Cn){var bn;Cn==null||(bn=Cn.focus)===null||bn===void 0||bn.call(Cn,Dr)}}}});var Sn=(0,g.Z)(Ar||[],{value:Ct,postState:function(Dr){return Array.isArray(Dr)?Dr:Dr==null?gt:[Dr]}}),On=(0,M.Z)(Sn,2),Dn=On[0],Ln=On[1],In=function(Dr){if(fr){var Or=Dr.key,Jr=Dn.includes(Or),qr;dr?Jr?qr=Dn.filter(function(Mn){return Mn!==Or}):qr=[].concat((0,E.Z)(Dn),[Or]):qr=[Or],Ln(qr);var Tn=(0,O.Z)((0,O.Z)({},Dr),{},{selectedKeys:qr});Jr?jt==null||jt(Tn):_t==null||_t(Tn)}!dr&&vt.length&&Zr!=="inline"&&Mt(gt)},Bn=ie(function(wr){Vr==null||Vr($e(wr)),In(wr)}),Pn=ie(function(wr,Dr){var Or=vt.filter(function(qr){return qr!==wr});if(Dr)Or.push(wr);else if(Zr!=="inline"){var Jr=Fr(wr);Or=Or.filter(function(qr){return!Jr.has(qr)})}(0,c.Z)(vt,Or,!0)||Mt(Or,!0)}),Nn=function(Dr,Or){var Jr=Or!=null?Or:!vt.includes(Dr);Pn(Dr,Jr)},Un=re(Zr,on,st,Qe,et,cr,_r,an,Nn,Wr);h.useEffect(function(){Ue(!0)},[]);var Fn=h.useMemo(function(){return{_internalRenderMenuItem:$r,_internalRenderSubMenuItem:en}},[$r,en]),Wn=Zr!=="horizontal"||lr?Nr:Nr.map(function(wr,Dr){return h.createElement(t,{key:wr.key,overflowDisabled:Dr>Qr},wr)}),Hn=h.createElement(x.Z,(0,N.Z)({id:Vt,ref:et,prefixCls:"".concat(Fe,"-overflow"),component:"ul",itemComponent:dt,className:m()(Fe,"".concat(Fe,"-root"),"".concat(Fe,"-").concat(Zr),yt,(ze={},(0,K.Z)(ze,"".concat(Fe,"-inline-collapsed"),Yr),(0,K.Z)(ze,"".concat(Fe,"-rtl"),st),ze),rt),dir:Dt,style:Et,role:"menu",tabIndex:At,data:Wn,renderRawItem:function(Dr){return Dr},renderRawRest:function(Dr){var Or=Dr.length,Jr=Or?Nr.slice(-Or):null;return h.createElement(pe,{eventKey:se,title:Pr,disabled:un,internalPopupClose:Or===0,popupClassName:Br},Jr)},maxCount:Zr!=="horizontal"||lr?x.Z.INVALIDATE:x.Z.RESPONSIVE,ssr:"full","data-menu-list":!0,onVisibleChange:function(Dr){rn(Dr)},onKeyDown:Un},tn));return h.createElement(b.Provider,{value:Fn},h.createElement(n.Provider,{value:Qe},h.createElement(t,{prefixCls:Fe,rootClassName:rt,mode:Zr,openKeys:vt,rtl:st,disabled:Xt,motion:Me?Ir:null,defaultMotions:Me?Tr:null,activeKey:on,onActive:gn,onInactive:cn,selectedKeys:Dn,inlineIndent:hr,subMenuOpenDelay:sr,subMenuCloseDelay:wt,forceSubMenuRender:It,builtinPlacements:br,triggerSubMenuAction:Sr,getPopupContainer:Xr,itemIcon:Mr,expandIcon:Lr,onItemClick:Bn,onOpenChange:Pn},h.createElement(C.Provider,{value:Rr},Hn),h.createElement("div",{style:{display:"none"},"aria-hidden":!0},h.createElement(o.Provider,{value:Kr},Nr)))))}),Nt=Rt,ot=Nt;ot.Item=dt,ot.SubMenu=pe,ot.ItemGroup=qe,ot.Divider=Ze;var bt=ot},83836:function(nt,Pe,z){"use strict";z.d(Pe,{Z:function(){return I}});var N=z(54476),K=z(33885),O=z(42978),E=z(75931),M=z(59301),A=z(92310),_=z.n(A),m=z(29301),x=z(34280),g=["prefixCls","invalidate","item","renderItem","responsive","responsiveDisabled","registerSize","itemKey","className","style","children","display","order","component"],c=void 0;function u(R,B){var F=R.prefixCls,W=R.invalidate,G=R.item,j=R.renderItem,Y=R.responsive,ee=R.responsiveDisabled,ae=R.registerSize,le=R.itemKey,_e=R.className,he=R.style,ve=R.children,Ae=R.display,ge=R.order,fe=R.component,Ee=fe===void 0?"div":fe,ue=(0,E.Z)(R,g),oe=Y&&!Ae;function X($){ae(le,$)}M.useEffect(function(){return function(){X(null)}},[]);var re=j&&G!==c?j(G,{index:ge}):ve,V;W||(V={opacity:oe?0:1,height:oe?0:c,overflowY:oe?"hidden":c,order:Y?ge:c,pointerEvents:oe?"none":c,position:oe?"absolute":c});var ne={};oe&&(ne["aria-hidden"]=!0);var Z=M.createElement(Ee,(0,N.Z)({className:_()(!W&&F,_e),style:(0,K.Z)((0,K.Z)({},V),he)},ne,ue,{ref:B}),re);return Y&&(Z=M.createElement(m.Z,{onResize:function(se){var q=se.offsetWidth;X(q)},disabled:ee},Z)),Z}var h=M.forwardRef(u);h.displayName="Item";var r=h,n=z(6089),a=z(4676),f=z(16089);function s(R){if(typeof MessageChannel=="undefined")(0,f.Z)(R);else{var B=new MessageChannel;B.port1.onmessage=function(){return R()},B.port2.postMessage(void 0)}}function l(){var R=M.useRef(null),B=function(W){R.current||(R.current=[],s(function(){(0,a.unstable_batchedUpdates)(function(){R.current.forEach(function(G){G()}),R.current=null})})),R.current.push(W)};return B}function d(R,B){var F=M.useState(B),W=(0,O.Z)(F,2),G=W[0],j=W[1],Y=(0,n.Z)(function(ee){R(function(){j(ee)})});return[G,Y]}var e=M.createContext(null),t=["component"],i=["className"],o=["className"],v=function(B,F){var W=M.useContext(e);if(!W){var G=B.component,j=G===void 0?"div":G,Y=(0,E.Z)(B,t);return M.createElement(j,(0,N.Z)({},Y,{ref:F}))}var ee=W.className,ae=(0,E.Z)(W,i),le=B.className,_e=(0,E.Z)(B,o);return M.createElement(e.Provider,{value:null},M.createElement(r,(0,N.Z)({ref:F,className:_()(ee,le)},ae,_e)))},y=M.forwardRef(v);y.displayName="RawItem";var p=y,C=["prefixCls","data","renderItem","renderRawItem","itemKey","itemWidth","ssr","style","className","maxCount","renderRest","renderRawRest","prefix","suffix","component","itemComponent","onVisibleChange"],D="responsive",b="invalidate";function S(R){return"+ ".concat(R.length," ...")}function L(R,B){var F=R.prefixCls,W=F===void 0?"rc-overflow":F,G=R.data,j=G===void 0?[]:G,Y=R.renderItem,ee=R.renderRawItem,ae=R.itemKey,le=R.itemWidth,_e=le===void 0?10:le,he=R.ssr,ve=R.style,Ae=R.className,ge=R.maxCount,fe=R.renderRest,Ee=R.renderRawRest,ue=R.prefix,oe=R.suffix,X=R.component,re=X===void 0?"div":X,V=R.itemComponent,ne=R.onVisibleChange,Z=(0,E.Z)(R,C),$=he==="full",se=l(),q=d(se,null),ie=(0,O.Z)(q,2),de=ie[0],me=ie[1],Ce=de||0,Oe=d(se,new Map),Ne=(0,O.Z)(Oe,2),we=Ne[0],ce=Ne[1],ye=d(se,0),Se=(0,O.Z)(ye,2),xe=Se[0],je=Se[1],ut=d(se,0),lt=(0,O.Z)(ut,2),$e=lt[0],pt=lt[1],xt=d(se,0),St=(0,O.Z)(xt,2),ft=St[0],$t=St[1],Kt=d(se,0),dt=(0,O.Z)(Kt,2),ht=dt[0],Ot=dt[1],mt=(0,M.useState)(null),Gt=(0,O.Z)(mt,2),er=Gt[0],ct=Gt[1],rr=(0,M.useState)(null),Zt=(0,O.Z)(rr,2),Yt=Zt[0],kt=Zt[1],Xe=M.useMemo(function(){return Yt===null&&$?Number.MAX_SAFE_INTEGER:Yt||0},[Yt,de]),T=(0,M.useState)(!1),U=(0,O.Z)(T,2),H=U[0],k=U[1],te="".concat(W,"-item"),J=Math.max(xe,$e),Q=ge===D,Te=j.length&&Q,pe=ge===b,Be=Te||typeof ge=="number"&&j.length>ge,ke=(0,M.useMemo)(function(){var He=j;return Te?de===null&&$?He=j:He=j.slice(0,Math.min(j.length,Ce/_e)):typeof ge=="number"&&(He=j.slice(0,ge)),He},[j,_e,de,ge,Te]),Je=(0,M.useMemo)(function(){return Te?j.slice(Xe+1):j.slice(ke.length)},[j,ke,Te,Xe]),Ke=(0,M.useCallback)(function(He,Fe){var rt;return typeof ae=="function"?ae(He):(rt=ae&&(He==null?void 0:He[ae]))!==null&&rt!==void 0?rt:Fe},[ae]),qe=(0,M.useCallback)(Y||function(He){return He},[Y]);function Ze(He,Fe,rt){Yt===He&&(Fe===void 0||Fe===er)||(kt(He),rt||(k(He<j.length-1),ne==null||ne(He)),Fe!==void 0&&ct(Fe))}function Ge(He,Fe){me(Fe.clientWidth)}function Ve(He,Fe){ce(function(rt){var Et=new Map(rt);return Fe===null?Et.delete(He):Et.set(He,Fe),Et})}function at(He,Fe){pt(Fe),je($e)}function Ye(He,Fe){$t(Fe)}function gt(He,Fe){Ot(Fe)}function Rt(He){return we.get(Ke(ke[He],He))}(0,x.Z)(function(){if(Ce&&typeof J=="number"&&ke){var He=ft+ht,Fe=ke.length,rt=Fe-1;if(!Fe){Ze(0,null);return}for(var Et=0;Et<Fe;Et+=1){var yt=Rt(Et);if($&&(yt=yt||0),yt===void 0){Ze(Et-1,void 0,!0);break}if(He+=yt,rt===0&&He<=Ce||Et===rt-1&&He+Rt(rt)<=Ce){Ze(rt,null);break}else if(He+J>Ce){Ze(Et-1,He-yt-ht+$e);break}}oe&&Rt(0)+ht>Ce&&ct(null)}},[Ce,we,$e,ft,ht,Ke,ke]);var Nt=H&&!!Je.length,ot={};er!==null&&Te&&(ot={position:"absolute",left:er,top:0});var bt={prefixCls:te,responsive:Te,component:V,invalidate:pe},De=ee?function(He,Fe){var rt=Ke(He,Fe);return M.createElement(e.Provider,{key:rt,value:(0,K.Z)((0,K.Z)({},bt),{},{order:Fe,item:He,itemKey:rt,registerSize:Ve,display:Fe<=Xe})},ee(He,Fe))}:function(He,Fe){var rt=Ke(He,Fe);return M.createElement(r,(0,N.Z)({},bt,{order:Fe,key:rt,item:He,renderItem:qe,itemKey:rt,registerSize:Ve,display:Fe<=Xe}))},be={order:Nt?Xe:Number.MAX_SAFE_INTEGER,className:"".concat(te,"-rest"),registerSize:at,display:Nt},Le=fe||S,ze=Ee?M.createElement(e.Provider,{value:(0,K.Z)((0,K.Z)({},bt),be)},Ee(Je)):M.createElement(r,(0,N.Z)({},bt,be),typeof Le=="function"?Le(Je):Le),We=M.createElement(re,(0,N.Z)({className:_()(!pe&&W,Ae),style:ve,ref:B},Z),ue&&M.createElement(r,(0,N.Z)({},bt,{responsive:Q,responsiveDisabled:!Te,order:-1,className:"".concat(te,"-prefix"),registerSize:Ye,display:!0}),ue),ke.map(De),Be?ze:null,oe&&M.createElement(r,(0,N.Z)({},bt,{responsive:Q,responsiveDisabled:!Te,order:Xe,className:"".concat(te,"-suffix"),registerSize:gt,display:!0,style:ot}),oe));return Q?M.createElement(m.Z,{onResize:Ge,disabled:!Te},We):We}var w=M.forwardRef(L);w.displayName="Overflow",w.Item=p,w.RESPONSIVE=D,w.INVALIDATE=b;var P=w,I=P},17115:function(nt,Pe,z){"use strict";z.d(Pe,{ZP:function(){return _}});var N=z(42978),K=z(59301),O=z(47273),E=0,M=(0,O.Z)();function A(){var m;return M?(m=E,E+=1):m="TEST_OR_SSR",m}function _(m){var x=K.useState(),g=(0,N.Z)(x,2),c=g[0],u=g[1];return K.useEffect(function(){u("rc_select_".concat(A()))},[]),m||c}},77861:function(nt,Pe,z){"use strict";z.d(Pe,{Ac:function(){return de},Xo:function(){return $e},Wx:function(){return xt},ZP:function(){return te},lk:function(){return e}});var N=z(54476),K=z(94480),O=z(20068),E=z(33885),M=z(42978),A=z(75931),_=z(76190),m=z(18929),x=z(48736),g=z(59301),c=z(92310),u=z.n(c),h=z(34280),r=z(49658),n=z(10228),a=z(8654),f=function(Q){var Te=Q.className,pe=Q.customizeIcon,Be=Q.customizeIconProps,ke=Q.onMouseDown,Je=Q.onClick,Ke=Q.children,qe;return typeof pe=="function"?qe=pe(Be):qe=pe,g.createElement("span",{className:Te,onMouseDown:function(Ge){Ge.preventDefault(),ke&&ke(Ge)},style:{userSelect:"none",WebkitUserSelect:"none"},unselectable:"on",onClick:Je,"aria-hidden":!0},qe!==void 0?qe:g.createElement("span",{className:u()(Te.split(/\s+/).map(function(Ze){return"".concat(Ze,"-icon")}))},Ke))},s=f;function l(J,Q,Te,pe,Be){var ke=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!1,Je=arguments.length>6?arguments[6]:void 0,Ke=arguments.length>7?arguments[7]:void 0,qe=g.useMemo(function(){if((0,_.Z)(pe)==="object")return pe.clearIcon;if(Be)return Be},[pe,Be]),Ze=g.useMemo(function(){return!!(!ke&&pe&&(Te.length||Je)&&!(Ke==="combobox"&&Je===""))},[pe,ke,Te.length,Je,Ke]);return{allowClear:Ze,clearIcon:g.createElement(s,{className:"".concat(J,"-clear"),onMouseDown:Q,customizeIcon:qe},"\xD7")}}var d=g.createContext(null);function e(){return g.useContext(d)}function t(){var J=arguments.length>0&&arguments[0]!==void 0?arguments[0]:10,Q=g.useState(!1),Te=(0,M.Z)(Q,2),pe=Te[0],Be=Te[1],ke=g.useRef(null),Je=function(){window.clearTimeout(ke.current)};g.useEffect(function(){return Je},[]);var Ke=function(Ze,Ge){Je(),ke.current=window.setTimeout(function(){Be(Ze),Ge&&Ge()},J)};return[pe,Ke,Je]}function i(){var J=arguments.length>0&&arguments[0]!==void 0?arguments[0]:250,Q=g.useRef(null),Te=g.useRef(null);g.useEffect(function(){return function(){window.clearTimeout(Te.current)}},[]);function pe(Be){(Be||Q.current===null)&&(Q.current=Be),window.clearTimeout(Te.current),Te.current=window.setTimeout(function(){Q.current=null},J)}return[function(){return Q.current},pe]}function o(J,Q,Te,pe){var Be=g.useRef(null);Be.current={open:Q,triggerOpen:Te,customizedTrigger:pe},g.useEffect(function(){function ke(Je){var Ke;if(!((Ke=Be.current)!==null&&Ke!==void 0&&Ke.customizedTrigger)){var qe=Je.target;qe.shadowRoot&&Je.composed&&(qe=Je.composedPath()[0]||qe),Be.current.open&&J().filter(function(Ze){return Ze}).every(function(Ze){return!Ze.contains(qe)&&Ze!==qe})&&Be.current.triggerOpen(!1)}}return window.addEventListener("mousedown",ke),function(){return window.removeEventListener("mousedown",ke)}},[])}var v=z(26112),y=z(83836),p=function(Q,Te){var pe,Be,ke=Q.prefixCls,Je=Q.id,Ke=Q.inputElement,qe=Q.disabled,Ze=Q.tabIndex,Ge=Q.autoFocus,Ve=Q.autoComplete,at=Q.editable,Ye=Q.activeDescendantId,gt=Q.value,Rt=Q.maxLength,Nt=Q.onKeyDown,ot=Q.onMouseDown,bt=Q.onChange,De=Q.onPaste,be=Q.onCompositionStart,Le=Q.onCompositionEnd,ze=Q.open,We=Q.attrs,He=Ke||g.createElement("input",null),Fe=He,rt=Fe.ref,Et=Fe.props,yt=Et.onKeyDown,Pt=Et.onChange,At=Et.onMouseDown,zt=Et.onCompositionStart,Lt=Et.onCompositionEnd,Dt=Et.style;return(0,x.Kp)(!("maxLength"in He.props),"Passing 'maxLength' to input element directly may not work because input in BaseSelect is controlled."),He=g.cloneElement(He,(0,E.Z)((0,E.Z)((0,E.Z)({type:"search"},Et),{},{id:Je,ref:(0,a.sQ)(Te,rt),disabled:qe,tabIndex:Ze,autoComplete:Ve||"off",autoFocus:Ge,className:u()("".concat(ke,"-selection-search-input"),(pe=He)===null||pe===void 0||(Be=pe.props)===null||Be===void 0?void 0:Be.className),role:"combobox","aria-label":"Search","aria-expanded":ze||!1,"aria-haspopup":"listbox","aria-owns":"".concat(Je,"_list"),"aria-autocomplete":"list","aria-controls":"".concat(Je,"_list"),"aria-activedescendant":ze?Ye:void 0},We),{},{value:at?gt:"",maxLength:Rt,readOnly:!at,unselectable:at?null:"on",style:(0,E.Z)((0,E.Z)({},Dt),{},{opacity:at?null:0}),onKeyDown:function(Ht){Nt(Ht),yt&&yt(Ht)},onMouseDown:function(Ht){ot(Ht),At&&At(Ht)},onChange:function(Ht){bt(Ht),Pt&&Pt(Ht)},onCompositionStart:function(Ht){be(Ht),zt&&zt(Ht)},onCompositionEnd:function(Ht){Le(Ht),Lt&&Lt(Ht)},onPaste:De})),He},C=g.forwardRef(p);C.displayName="Input";var D=C;function b(J){return Array.isArray(J)?J:J!==void 0?[J]:[]}var S=typeof window!="undefined"&&window.document&&window.document.documentElement,L=S;function w(J){return J!=null}function P(J){return!J&&J!==0}function I(J){return["string","number"].includes((0,_.Z)(J))}function R(J){var Q=void 0;return J&&(I(J.title)?Q=J.title.toString():I(J.label)&&(Q=J.label.toString())),Q}function B(J,Q){L?g.useLayoutEffect(J,Q):g.useEffect(J,Q)}function F(J){var Q;return(Q=J.key)!==null&&Q!==void 0?Q:J.value}var W=function(Q){Q.preventDefault(),Q.stopPropagation()},G=function(Q){var Te=Q.id,pe=Q.prefixCls,Be=Q.values,ke=Q.open,Je=Q.searchValue,Ke=Q.autoClearSearchValue,qe=Q.inputRef,Ze=Q.placeholder,Ge=Q.disabled,Ve=Q.mode,at=Q.showSearch,Ye=Q.autoFocus,gt=Q.autoComplete,Rt=Q.activeDescendantId,Nt=Q.tabIndex,ot=Q.removeIcon,bt=Q.maxTagCount,De=Q.maxTagTextLength,be=Q.maxTagPlaceholder,Le=be===void 0?function(tr){return"+ ".concat(tr.length," ...")}:be,ze=Q.tagRender,We=Q.onToggleOpen,He=Q.onRemove,Fe=Q.onInputChange,rt=Q.onInputPaste,Et=Q.onInputKeyDown,yt=Q.onInputMouseDown,Pt=Q.onInputCompositionStart,At=Q.onInputCompositionEnd,zt=g.useRef(null),Lt=(0,g.useState)(0),Dt=(0,M.Z)(Lt,2),Vt=Dt[0],Ht=Dt[1],vr=(0,g.useState)(!1),nr=(0,M.Z)(vr,2),Xt=nr[0],lr=nr[1],Qt="".concat(pe,"-selection"),sr=ke||Ve==="multiple"&&Ke===!1||Ve==="tags"?Je:"",Cr=Ve==="tags"||Ve==="multiple"&&Ke===!1||at&&(ke||Xt);B(function(){Ht(zt.current.scrollWidth)},[sr]);function wt(tr,fr,xr,dr,Ar){return g.createElement("span",{className:u()("".concat(Qt,"-item"),(0,O.Z)({},"".concat(Qt,"-item-disabled"),xr)),title:R(tr)},g.createElement("span",{className:"".concat(Qt,"-item-content")},fr),dr&&g.createElement(s,{className:"".concat(Qt,"-item-remove"),onMouseDown:W,onClick:Ar,customizeIcon:ot},"\xD7"))}function It(tr,fr,xr,dr,Ar){var Ct=function(jt){W(jt),We(!ke)};return g.createElement("span",{onMouseDown:Ct},ze({label:fr,value:tr,disabled:xr,closable:dr,onClose:Ar}))}function Ut(tr){var fr=tr.disabled,xr=tr.label,dr=tr.value,Ar=!Ge&&!fr,Ct=xr;if(typeof De=="number"&&(typeof xr=="string"||typeof xr=="number")){var _t=String(Ct);_t.length>De&&(Ct="".concat(_t.slice(0,De),"..."))}var jt=function(hr){hr&&hr.stopPropagation(),He(tr)};return typeof ze=="function"?It(dr,Ct,fr,Ar,jt):wt(tr,Ct,fr,Ar,jt)}function ur(tr){var fr=typeof Le=="function"?Le(tr):Le;return wt({title:fr},fr,!1)}var ir=g.createElement("div",{className:"".concat(Qt,"-search"),style:{width:Vt},onFocus:function(){lr(!0)},onBlur:function(){lr(!1)}},g.createElement(D,{ref:qe,open:ke,prefixCls:pe,id:Te,inputElement:null,disabled:Ge,autoFocus:Ye,autoComplete:gt,editable:Cr,activeDescendantId:Rt,value:sr,onKeyDown:Et,onMouseDown:yt,onChange:Fe,onPaste:rt,onCompositionStart:Pt,onCompositionEnd:At,tabIndex:Nt,attrs:(0,v.Z)(Q,!0)}),g.createElement("span",{ref:zt,className:"".concat(Qt,"-search-mirror"),"aria-hidden":!0},sr,"\xA0")),ar=g.createElement(y.Z,{prefixCls:"".concat(Qt,"-overflow"),data:Be,renderItem:Ut,renderRest:ur,suffix:ir,itemKey:F,maxCount:bt});return g.createElement(g.Fragment,null,ar,!Be.length&&!sr&&g.createElement("span",{className:"".concat(Qt,"-placeholder")},Ze))},j=G,Y=function(Q){var Te=Q.inputElement,pe=Q.prefixCls,Be=Q.id,ke=Q.inputRef,Je=Q.disabled,Ke=Q.autoFocus,qe=Q.autoComplete,Ze=Q.activeDescendantId,Ge=Q.mode,Ve=Q.open,at=Q.values,Ye=Q.placeholder,gt=Q.tabIndex,Rt=Q.showSearch,Nt=Q.searchValue,ot=Q.activeValue,bt=Q.maxLength,De=Q.onInputKeyDown,be=Q.onInputMouseDown,Le=Q.onInputChange,ze=Q.onInputPaste,We=Q.onInputCompositionStart,He=Q.onInputCompositionEnd,Fe=Q.title,rt=g.useState(!1),Et=(0,M.Z)(rt,2),yt=Et[0],Pt=Et[1],At=Ge==="combobox",zt=At||Rt,Lt=at[0],Dt=Nt||"";At&&ot&&!yt&&(Dt=ot),g.useEffect(function(){At&&Pt(!1)},[At,ot]);var Vt=Ge!=="combobox"&&!Ve&&!Rt?!1:!!Dt,Ht=Fe===void 0?R(Lt):Fe,vr=function(){if(Lt)return null;var Xt=Vt?{visibility:"hidden"}:void 0;return g.createElement("span",{className:"".concat(pe,"-selection-placeholder"),style:Xt},Ye)};return g.createElement(g.Fragment,null,g.createElement("span",{className:"".concat(pe,"-selection-search")},g.createElement(D,{ref:ke,prefixCls:pe,id:Be,open:Ve,inputElement:Te,disabled:Je,autoFocus:Ke,autoComplete:qe,editable:zt,activeDescendantId:Ze,value:Dt,onKeyDown:De,onMouseDown:be,onChange:function(Xt){Pt(!0),Le(Xt)},onPaste:ze,onCompositionStart:We,onCompositionEnd:He,tabIndex:gt,attrs:(0,v.Z)(Q,!0),maxLength:At?bt:void 0})),!At&&Lt?g.createElement("span",{className:"".concat(pe,"-selection-item"),title:Ht,style:Vt?{visibility:"hidden"}:void 0},Lt.label):null,vr())},ee=Y;function ae(J){return![n.Z.ESC,n.Z.SHIFT,n.Z.BACKSPACE,n.Z.TAB,n.Z.WIN_KEY,n.Z.ALT,n.Z.META,n.Z.WIN_KEY_RIGHT,n.Z.CTRL,n.Z.SEMICOLON,n.Z.EQUALS,n.Z.CAPS_LOCK,n.Z.CONTEXT_MENU,n.Z.F1,n.Z.F2,n.Z.F3,n.Z.F4,n.Z.F5,n.Z.F6,n.Z.F7,n.Z.F8,n.Z.F9,n.Z.F10,n.Z.F11,n.Z.F12].includes(J)}var le=function(Q,Te){var pe=(0,g.useRef)(null),Be=(0,g.useRef)(!1),ke=Q.prefixCls,Je=Q.open,Ke=Q.mode,qe=Q.showSearch,Ze=Q.tokenWithEnter,Ge=Q.autoClearSearchValue,Ve=Q.onSearch,at=Q.onSearchSubmit,Ye=Q.onToggleOpen,gt=Q.onInputKeyDown,Rt=Q.domRef;g.useImperativeHandle(Te,function(){return{focus:function(){pe.current.focus()},blur:function(){pe.current.blur()}}});var Nt=i(0),ot=(0,M.Z)(Nt,2),bt=ot[0],De=ot[1],be=function(Dt){var Vt=Dt.which;(Vt===n.Z.UP||Vt===n.Z.DOWN)&&Dt.preventDefault(),gt&>(Dt),Vt===n.Z.ENTER&&Ke==="tags"&&!Be.current&&!Je&&(at==null||at(Dt.target.value)),ae(Vt)&&Ye(!0)},Le=function(){De(!0)},ze=(0,g.useRef)(null),We=function(Dt){Ve(Dt,!0,Be.current)!==!1&&Ye(!0)},He=function(){Be.current=!0},Fe=function(Dt){Be.current=!1,Ke!=="combobox"&&We(Dt.target.value)},rt=function(Dt){var Vt=Dt.target.value;if(Ze&&ze.current&&/[\r\n]/.test(ze.current)){var Ht=ze.current.replace(/[\r\n]+$/,"").replace(/\r\n/g," ").replace(/[\r\n]/g," ");Vt=Vt.replace(Ht,ze.current)}ze.current=null,We(Vt)},Et=function(Dt){var Vt=Dt.clipboardData,Ht=Vt.getData("text");ze.current=Ht},yt=function(Dt){var Vt=Dt.target;if(Vt!==pe.current){var Ht=document.body.style.msTouchAction!==void 0;Ht?setTimeout(function(){pe.current.focus()}):pe.current.focus()}},Pt=function(Dt){var Vt=bt();Dt.target!==pe.current&&!Vt&&Ke!=="combobox"&&Dt.preventDefault(),(Ke!=="combobox"&&(!qe||!Vt)||!Je)&&(Je&&Ge!==!1&&Ve("",!0,!1),Ye())},At={inputRef:pe,onInputKeyDown:be,onInputMouseDown:Le,onInputChange:rt,onInputPaste:Et,onInputCompositionStart:He,onInputCompositionEnd:Fe},zt=Ke==="multiple"||Ke==="tags"?g.createElement(j,(0,N.Z)({},Q,At)):g.createElement(ee,(0,N.Z)({},Q,At));return g.createElement("div",{ref:Rt,className:"".concat(ke,"-selector"),onClick:yt,onMouseDown:Pt},zt)},_e=g.forwardRef(le);_e.displayName="Selector";var he=_e,ve=z(35593),Ae=["prefixCls","disabled","visible","children","popupElement","animation","transitionName","dropdownStyle","dropdownClassName","direction","placement","builtinPlacements","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","getPopupContainer","empty","getTriggerDOMNode","onPopupVisibleChange","onPopupMouseEnter"],ge=function(Q){var Te=Q===!0?0:1;return{bottomLeft:{points:["tl","bl"],offset:[0,4],overflow:{adjustX:Te,adjustY:1},htmlRegion:"scroll"},bottomRight:{points:["tr","br"],offset:[0,4],overflow:{adjustX:Te,adjustY:1},htmlRegion:"scroll"},topLeft:{points:["bl","tl"],offset:[0,-4],overflow:{adjustX:Te,adjustY:1},htmlRegion:"scroll"},topRight:{points:["br","tr"],offset:[0,-4],overflow:{adjustX:Te,adjustY:1},htmlRegion:"scroll"}}},fe=function(Q,Te){var pe=Q.prefixCls,Be=Q.disabled,ke=Q.visible,Je=Q.children,Ke=Q.popupElement,qe=Q.animation,Ze=Q.transitionName,Ge=Q.dropdownStyle,Ve=Q.dropdownClassName,at=Q.direction,Ye=at===void 0?"ltr":at,gt=Q.placement,Rt=Q.builtinPlacements,Nt=Q.dropdownMatchSelectWidth,ot=Q.dropdownRender,bt=Q.dropdownAlign,De=Q.getPopupContainer,be=Q.empty,Le=Q.getTriggerDOMNode,ze=Q.onPopupVisibleChange,We=Q.onPopupMouseEnter,He=(0,A.Z)(Q,Ae),Fe="".concat(pe,"-dropdown"),rt=Ke;ot&&(rt=ot(Ke));var Et=g.useMemo(function(){return Rt||ge(Nt)},[Rt,Nt]),yt=qe?"".concat(Fe,"-").concat(qe):Ze,Pt=typeof Nt=="number",At=g.useMemo(function(){return Pt?null:Nt===!1?"minWidth":"width"},[Nt,Pt]),zt=Ge;Pt&&(zt=(0,E.Z)((0,E.Z)({},zt),{},{width:Nt}));var Lt=g.useRef(null);return g.useImperativeHandle(Te,function(){return{getPopupElement:function(){return Lt.current}}}),g.createElement(ve.Z,(0,N.Z)({},He,{showAction:ze?["click"]:[],hideAction:ze?["click"]:[],popupPlacement:gt||(Ye==="rtl"?"bottomRight":"bottomLeft"),builtinPlacements:Et,prefixCls:Fe,popupTransitionName:yt,popup:g.createElement("div",{ref:Lt,onMouseEnter:We},rt),stretch:At,popupAlign:bt,popupVisible:ke,getPopupContainer:De,popupClassName:u()(Ve,(0,O.Z)({},"".concat(Fe,"-empty"),be)),popupStyle:zt,getTriggerDOMNode:Le,onPopupVisibleChange:ze}),Je)},Ee=g.forwardRef(fe);Ee.displayName="SelectTrigger";var ue=Ee,oe=z(66712);function X(J,Q){var Te=J.key,pe;return"value"in J&&(pe=J.value),Te!=null?Te:pe!==void 0?pe:"rc-index-key-".concat(Q)}function re(J,Q){var Te=J||{},pe=Te.label,Be=Te.value,ke=Te.options,Je=Te.groupLabel,Ke=pe||(Q?"children":"label");return{label:Ke,value:Be||"value",options:ke||"options",groupLabel:Je||Ke}}function V(J){var Q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Te=Q.fieldNames,pe=Q.childrenAsData,Be=[],ke=re(Te,!1),Je=ke.label,Ke=ke.value,qe=ke.options,Ze=ke.groupLabel;function Ge(Ve,at){Ve.forEach(function(Ye){if(at||!(qe in Ye)){var gt=Ye[Ke];Be.push({key:X(Ye,Be.length),groupOption:at,data:Ye,label:Ye[Je],value:gt})}else{var Rt=Ye[Ze];Rt===void 0&&pe&&(Rt=Ye.label),Be.push({key:X(Ye,Be.length),group:!0,data:Ye,label:Rt}),Ge(Ye[qe],!0)}})}return Ge(J,!1),Be}function ne(J){var Q=(0,E.Z)({},J);return"props"in Q||Object.defineProperty(Q,"props",{get:function(){return(0,x.ZP)(!1,"Return type is option instead of Option instance. Please read value directly instead of reading from `props`."),Q}}),Q}function Z(J,Q){if(!Q||!Q.length)return null;var Te=!1;function pe(ke,Je){var Ke=(0,oe.Z)(Je),qe=Ke[0],Ze=Ke.slice(1);if(!qe)return[ke];var Ge=ke.split(qe);return Te=Te||Ge.length>1,Ge.reduce(function(Ve,at){return[].concat((0,K.Z)(Ve),(0,K.Z)(pe(at,Ze)))},[]).filter(function(Ve){return Ve})}var Be=pe(J,Q);return Te?Be:null}var $=["id","prefixCls","className","showSearch","tagRender","direction","omitDomProps","displayValues","onDisplayValuesChange","emptyOptions","notFoundContent","onClear","mode","disabled","loading","getInputElement","getRawInputElement","open","defaultOpen","onDropdownVisibleChange","activeValue","onActiveValueChange","activeDescendantId","searchValue","autoClearSearchValue","onSearch","onSearchSplit","tokenSeparators","allowClear","suffixIcon","clearIcon","OptionList","animation","transitionName","dropdownStyle","dropdownClassName","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","placement","builtinPlacements","getPopupContainer","showAction","onFocus","onBlur","onKeyUp","onKeyDown","onMouseDown"],se=["value","onChange","removeIcon","placeholder","autoFocus","maxTagCount","maxTagTextLength","maxTagPlaceholder","choiceTransitionName","onInputKeyDown","onPopupScroll","tabIndex"];function q(J){return J==="tags"||J==="multiple"}var ie=g.forwardRef(function(J,Q){var Te,pe,Be=J.id,ke=J.prefixCls,Je=J.className,Ke=J.showSearch,qe=J.tagRender,Ze=J.direction,Ge=J.omitDomProps,Ve=J.displayValues,at=J.onDisplayValuesChange,Ye=J.emptyOptions,gt=J.notFoundContent,Rt=gt===void 0?"Not Found":gt,Nt=J.onClear,ot=J.mode,bt=J.disabled,De=J.loading,be=J.getInputElement,Le=J.getRawInputElement,ze=J.open,We=J.defaultOpen,He=J.onDropdownVisibleChange,Fe=J.activeValue,rt=J.onActiveValueChange,Et=J.activeDescendantId,yt=J.searchValue,Pt=J.autoClearSearchValue,At=J.onSearch,zt=J.onSearchSplit,Lt=J.tokenSeparators,Dt=J.allowClear,Vt=J.suffixIcon,Ht=J.clearIcon,vr=J.OptionList,nr=J.animation,Xt=J.transitionName,lr=J.dropdownStyle,Qt=J.dropdownClassName,sr=J.dropdownMatchSelectWidth,Cr=J.dropdownRender,wt=J.dropdownAlign,It=J.placement,Ut=J.builtinPlacements,ur=J.getPopupContainer,ir=J.showAction,ar=ir===void 0?[]:ir,tr=J.onFocus,fr=J.onBlur,xr=J.onKeyUp,dr=J.onKeyDown,Ar=J.onMouseDown,Ct=(0,A.Z)(J,$),_t=q(ot),jt=(Ke!==void 0?Ke:_t)||ot==="combobox",Jt=(0,E.Z)({},Ct);se.forEach(function(_r){delete Jt[_r]}),Ge==null||Ge.forEach(function(_r){delete Jt[_r]});var hr=g.useState(!1),Ir=(0,M.Z)(hr,2),Tr=Ir[0],Er=Ir[1];g.useEffect(function(){Er((0,r.Z)())},[]);var Sr=g.useRef(null),br=g.useRef(null),Mr=g.useRef(null),Lr=g.useRef(null),yr=g.useRef(null),Pr=t(),Br=(0,M.Z)(Pr,3),Xr=Br[0],Vr=Br[1],Hr=Br[2];g.useImperativeHandle(Q,function(){var _r,cr;return{focus:(_r=Lr.current)===null||_r===void 0?void 0:_r.focus,blur:(cr=Lr.current)===null||cr===void 0?void 0:cr.blur,scrollTo:function(Kr){var Rr;return(Rr=yr.current)===null||Rr===void 0?void 0:Rr.scrollTo(Kr)}}});var Wr=g.useMemo(function(){var _r;if(ot!=="combobox")return yt;var cr=(_r=Ve[0])===null||_r===void 0?void 0:_r.value;return typeof cr=="string"||typeof cr=="number"?String(cr):""},[yt,ot,Ve]),sn=ot==="combobox"&&typeof be=="function"&&be()||null,zr=typeof Le=="function"&&Le(),$r=(0,a.x1)(br,zr==null||(Te=zr.props)===null||Te===void 0?void 0:Te.ref),en=g.useState(!1),tn=(0,M.Z)(en,2),Nr=tn[0],ln=tn[1];(0,h.Z)(function(){ln(!0)},[]);var Ie=(0,m.Z)(!1,{defaultValue:We,value:ze}),Me=(0,M.Z)(Ie,2),Ue=Me[0],et=Me[1],Qe=Nr?Ue:!1,st=!Rt&&Ye;(bt||st&&Qe&&ot==="combobox")&&(Qe=!1);var Re=st?!1:Qe,tt=g.useCallback(function(_r){var cr=_r!==void 0?_r:!Qe;bt||(et(cr),Qe!==cr&&(He==null||He(cr)))},[bt,Qe,et,He]),vt=g.useMemo(function(){return(Lt||[]).some(function(_r){return[`
|
|
`,`\r
|
|
`].includes(_r)})},[Lt]),Tt=function(cr,Fr,Kr){var Rr=!0,Gr=cr;rt==null||rt(null);var kr=Kr?null:Z(cr,Lt);return ot!=="combobox"&&kr&&(Gr="",zt==null||zt(kr),tt(!1),Rr=!1),At&&Wr!==Gr&&At(Gr,{source:Fr?"typing":"effect"}),Rr},Mt=function(cr){!cr||!cr.trim()||At(cr,{source:"submit"})};g.useEffect(function(){!Qe&&!_t&&ot!=="combobox"&&Tt("",!1,!1)},[Qe]),g.useEffect(function(){Ue&&bt&&et(!1),bt&&Vr(!1)},[bt]);var it=i(),Bt=(0,M.Z)(it,2),qt=Bt[0],mr=Bt[1],Ft=function(cr){var Fr=qt(),Kr=cr.which;if(Kr===n.Z.ENTER&&(ot!=="combobox"&&cr.preventDefault(),Qe||tt(!0)),mr(!!Wr),Kr===n.Z.BACKSPACE&&!Fr&&_t&&!Wr&&Ve.length){for(var Rr=(0,K.Z)(Ve),Gr=null,kr=Rr.length-1;kr>=0;kr-=1){var on=Rr[kr];if(!on.disabled){Rr.splice(kr,1),Gr=on;break}}Gr&&at(Rr,{type:"remove",values:[Gr]})}for(var an=arguments.length,gn=new Array(an>1?an-1:0),cn=1;cn<an;cn++)gn[cn-1]=arguments[cn];if(Qe&&yr.current){var Sn;(Sn=yr.current).onKeyDown.apply(Sn,[cr].concat(gn))}dr==null||dr.apply(void 0,[cr].concat(gn))},Wt=function(cr){for(var Fr=arguments.length,Kr=new Array(Fr>1?Fr-1:0),Rr=1;Rr<Fr;Rr++)Kr[Rr-1]=arguments[Rr];if(Qe&&yr.current){var Gr;(Gr=yr.current).onKeyUp.apply(Gr,[cr].concat(Kr))}xr==null||xr.apply(void 0,[cr].concat(Kr))},gr=function(cr){var Fr=Ve.filter(function(Kr){return Kr!==cr});at(Fr,{type:"remove",values:[cr]})},or=g.useRef(!1),pr=function(){Vr(!0),bt||(tr&&!or.current&&tr.apply(void 0,arguments),ar.includes("focus")&&tt(!0)),or.current=!0},Ur=function(){Vr(!1,function(){or.current=!1,tt(!1)}),!bt&&(Wr&&(ot==="tags"?At(Wr,{source:"submit"}):ot==="multiple"&&At("",{source:"blur"})),fr&&fr.apply(void 0,arguments))},jr=[];g.useEffect(function(){return function(){jr.forEach(function(_r){return clearTimeout(_r)}),jr.splice(0,jr.length)}},[]);var hn=function(cr){var Fr,Kr=cr.target,Rr=(Fr=Mr.current)===null||Fr===void 0?void 0:Fr.getPopupElement();if(Rr&&Rr.contains(Kr)){var Gr=setTimeout(function(){var gn=jr.indexOf(Gr);if(gn!==-1&&jr.splice(gn,1),Hr(),!Tr&&!Rr.contains(document.activeElement)){var cn;(cn=Lr.current)===null||cn===void 0||cn.focus()}});jr.push(Gr)}for(var kr=arguments.length,on=new Array(kr>1?kr-1:0),an=1;an<kr;an++)on[an-1]=arguments[an];Ar==null||Ar.apply(void 0,[cr].concat(on))},Zr=g.useState({}),pn=(0,M.Z)(Zr,2),_n=pn[1];function En(){_n({})}var Yr;zr&&(Yr=function(cr){tt(cr)}),o(function(){var _r;return[Sr.current,(_r=Mr.current)===null||_r===void 0?void 0:_r.getPopupElement()]},Re,tt,!!zr);var fn=g.useMemo(function(){return(0,E.Z)((0,E.Z)({},J),{},{notFoundContent:Rt,open:Qe,triggerOpen:Re,id:Be,showSearch:jt,multiple:_t,toggleOpen:tt})},[J,Rt,Re,Qe,Be,jt,_t,tt]),vn=!!Vt||De,dn;vn&&(dn=g.createElement(s,{className:u()("".concat(ke,"-arrow"),(0,O.Z)({},"".concat(ke,"-arrow-loading"),De)),customizeIcon:Vt,customizeIconProps:{loading:De,searchValue:Wr,open:Qe,focused:Xr,showSearch:jt}}));var Qr=function(){var cr;Nt==null||Nt(),(cr=Lr.current)===null||cr===void 0||cr.focus(),at([],{type:"clear",values:Ve}),Tt("",!1,!1)},rn=l(ke,Qr,Ve,Dt,Ht,bt,Wr,ot),un=rn.allowClear,nn=rn.clearIcon,yn=g.createElement(vr,{ref:yr}),mn=u()(ke,Je,(pe={},(0,O.Z)(pe,"".concat(ke,"-focused"),Xr),(0,O.Z)(pe,"".concat(ke,"-multiple"),_t),(0,O.Z)(pe,"".concat(ke,"-single"),!_t),(0,O.Z)(pe,"".concat(ke,"-allow-clear"),Dt),(0,O.Z)(pe,"".concat(ke,"-show-arrow"),vn),(0,O.Z)(pe,"".concat(ke,"-disabled"),bt),(0,O.Z)(pe,"".concat(ke,"-loading"),De),(0,O.Z)(pe,"".concat(ke,"-open"),Qe),(0,O.Z)(pe,"".concat(ke,"-customize-input"),sn),(0,O.Z)(pe,"".concat(ke,"-show-search"),jt),pe)),xn=g.createElement(ue,{ref:Mr,disabled:bt,prefixCls:ke,visible:Re,popupElement:yn,animation:nr,transitionName:Xt,dropdownStyle:lr,dropdownClassName:Qt,direction:Ze,dropdownMatchSelectWidth:sr,dropdownRender:Cr,dropdownAlign:wt,placement:It,builtinPlacements:Ut,getPopupContainer:ur,empty:Ye,getTriggerDOMNode:function(){return br.current},onPopupVisibleChange:Yr,onPopupMouseEnter:En},zr?g.cloneElement(zr,{ref:$r}):g.createElement(he,(0,N.Z)({},J,{domRef:br,prefixCls:ke,inputElement:sn,ref:Lr,id:Be,showSearch:jt,autoClearSearchValue:Pt,mode:ot,activeDescendantId:Et,tagRender:qe,values:Ve,open:Qe,onToggleOpen:tt,activeValue:Fe,searchValue:Wr,onSearch:Tt,onSearchSubmit:Mt,onRemove:gr,tokenWithEnter:vt}))),An;return zr?An=xn:An=g.createElement("div",(0,N.Z)({className:mn},Jt,{ref:Sr,onMouseDown:hn,onKeyDown:Ft,onKeyUp:Wt,onFocus:pr,onBlur:Ur}),Xr&&!Qe&&g.createElement("span",{style:{width:0,height:0,position:"absolute",overflow:"hidden",opacity:0},"aria-live":"polite"},"".concat(Ve.map(function(_r){var cr=_r.label,Fr=_r.value;return["number","string"].includes((0,_.Z)(cr))?cr:Fr}).join(", "))),xn,dn,un&&nn),g.createElement(d.Provider,{value:fn},An)}),de=ie,me=function(J,Q){var Te=g.useRef({values:new Map,options:new Map}),pe=g.useMemo(function(){var ke=Te.current,Je=ke.values,Ke=ke.options,qe=J.map(function(Ve){if(Ve.label===void 0){var at;return(0,E.Z)((0,E.Z)({},Ve),{},{label:(at=Je.get(Ve.value))===null||at===void 0?void 0:at.label})}return Ve}),Ze=new Map,Ge=new Map;return qe.forEach(function(Ve){Ze.set(Ve.value,Ve),Ge.set(Ve.value,Q.get(Ve.value)||Ke.get(Ve.value))}),Te.current.values=Ze,Te.current.options=Ge,qe},[J,Q]),Be=g.useCallback(function(ke){return Q.get(ke)||Te.current.options.get(ke)},[Q]);return[pe,Be]};function Ce(J,Q){return b(J).join("").toUpperCase().includes(Q)}var Oe=function(J,Q,Te,pe,Be){return g.useMemo(function(){if(!Te||pe===!1)return J;var ke=Q.options,Je=Q.label,Ke=Q.value,qe=[],Ze=typeof pe=="function",Ge=Te.toUpperCase(),Ve=Ze?pe:function(Ye,gt){return Be?Ce(gt[Be],Ge):gt[ke]?Ce(gt[Je!=="children"?Je:"label"],Ge):Ce(gt[Ke],Ge)},at=Ze?function(Ye){return ne(Ye)}:function(Ye){return Ye};return J.forEach(function(Ye){if(Ye[ke]){var gt=Ve(Te,at(Ye));if(gt)qe.push(Ye);else{var Rt=Ye[ke].filter(function(Nt){return Ve(Te,at(Nt))});Rt.length&&qe.push((0,E.Z)((0,E.Z)({},Ye),{},(0,O.Z)({},ke,Rt)))}return}Ve(Te,at(Ye))&&qe.push(Ye)}),qe},[J,pe,Be,Te,Q])},Ne=z(17115),we=z(11592),ce=["children","value"],ye=["children"];function Se(J){var Q=J,Te=Q.key,pe=Q.props,Be=pe.children,ke=pe.value,Je=(0,A.Z)(pe,ce);return(0,E.Z)({key:Te,value:ke!==void 0?ke:Te,children:Be},Je)}function xe(J){var Q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return(0,we.Z)(J).map(function(Te,pe){if(!g.isValidElement(Te)||!Te.type)return null;var Be=Te,ke=Be.type.isSelectOptGroup,Je=Be.key,Ke=Be.props,qe=Ke.children,Ze=(0,A.Z)(Ke,ye);return Q||!ke?Se(Te):(0,E.Z)((0,E.Z)({key:"__RC_SELECT_GRP__".concat(Je===null?pe:Je,"__"),label:Je},Ze),{},{options:xe(qe)})}).filter(function(Te){return Te})}function je(J,Q,Te,pe,Be){return g.useMemo(function(){var ke=J,Je=!J;Je&&(ke=xe(Q));var Ke=new Map,qe=new Map,Ze=function(at,Ye,gt){gt&&typeof gt=="string"&&at.set(Ye[gt],Ye)};function Ge(Ve){for(var at=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,Ye=0;Ye<Ve.length;Ye+=1){var gt=Ve[Ye];!gt[Te.options]||at?(Ke.set(gt[Te.value],gt),Ze(qe,gt,Te.label),Ze(qe,gt,pe),Ze(qe,gt,Be)):Ge(gt[Te.options],!0)}}return Ge(ke),{options:ke,valueOptions:Ke,labelOptions:qe}},[J,Q,Te,pe,Be])}function ut(J){var Q=g.useRef();Q.current=J;var Te=g.useCallback(function(){return Q.current.apply(Q,arguments)},[]);return Te}var lt=function(){return null};lt.isSelectOptGroup=!0;var $e=lt,pt=function(){return null};pt.isSelectOption=!0;var xt=pt,St=z(80547),ft=z(2738),$t=z(48911),Kt=g.createContext(null),dt=Kt;function ht(){return/(mac\sos|macintosh)/i.test(navigator.appVersion)}var Ot=["disabled","title","children","style","className"];function mt(J){return typeof J=="string"||typeof J=="number"}var Gt=function(Q,Te){var pe=e(),Be=pe.prefixCls,ke=pe.id,Je=pe.open,Ke=pe.multiple,qe=pe.mode,Ze=pe.searchValue,Ge=pe.toggleOpen,Ve=pe.notFoundContent,at=pe.onPopupScroll,Ye=g.useContext(dt),gt=Ye.flattenOptions,Rt=Ye.onActiveValue,Nt=Ye.defaultActiveFirstOption,ot=Ye.onSelect,bt=Ye.menuItemSelectedIcon,De=Ye.rawValues,be=Ye.fieldNames,Le=Ye.virtual,ze=Ye.direction,We=Ye.listHeight,He=Ye.listItemHeight,Fe="".concat(Be,"-item"),rt=(0,St.Z)(function(){return gt},[Je,gt],function(wt,It){return It[0]&&wt[1]!==It[1]}),Et=g.useRef(null),yt=function(It){It.preventDefault()},Pt=function(It){Et.current&&Et.current.scrollTo(typeof It=="number"?{index:It}:It)},At=function(It){for(var Ut=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,ur=rt.length,ir=0;ir<ur;ir+=1){var ar=(It+ir*Ut+ur)%ur,tr=rt[ar],fr=tr.group,xr=tr.data;if(!fr&&!xr.disabled)return ar}return-1},zt=g.useState(function(){return At(0)}),Lt=(0,M.Z)(zt,2),Dt=Lt[0],Vt=Lt[1],Ht=function(It){var Ut=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;Vt(It);var ur={source:Ut?"keyboard":"mouse"},ir=rt[It];if(!ir){Rt(null,-1,ur);return}Rt(ir.value,It,ur)};(0,g.useEffect)(function(){Ht(Nt!==!1?At(0):-1)},[rt.length,Ze]);var vr=g.useCallback(function(wt){return De.has(wt)&&qe!=="combobox"},[qe,(0,K.Z)(De).toString(),De.size]);(0,g.useEffect)(function(){var wt=setTimeout(function(){if(!Ke&&Je&&De.size===1){var Ut=Array.from(De)[0],ur=rt.findIndex(function(ir){var ar=ir.data;return ar.value===Ut});ur!==-1&&(Ht(ur),Pt(ur))}});if(Je){var It;(It=Et.current)===null||It===void 0||It.scrollTo(void 0)}return function(){return clearTimeout(wt)}},[Je,Ze,gt.length]);var nr=function(It){It!==void 0&&ot(It,{selected:!De.has(It)}),Ke||Ge(!1)};if(g.useImperativeHandle(Te,function(){return{onKeyDown:function(It){var Ut=It.which,ur=It.ctrlKey;switch(Ut){case n.Z.N:case n.Z.P:case n.Z.UP:case n.Z.DOWN:{var ir=0;if(Ut===n.Z.UP?ir=-1:Ut===n.Z.DOWN?ir=1:ht()&&ur&&(Ut===n.Z.N?ir=1:Ut===n.Z.P&&(ir=-1)),ir!==0){var ar=At(Dt+ir,ir);Pt(ar),Ht(ar,!0)}break}case n.Z.ENTER:{var tr=rt[Dt];tr&&!tr.data.disabled?nr(tr.value):nr(void 0),Je&&It.preventDefault();break}case n.Z.ESC:Ge(!1),Je&&It.stopPropagation()}},onKeyUp:function(){},scrollTo:function(It){Pt(It)}}}),rt.length===0)return g.createElement("div",{role:"listbox",id:"".concat(ke,"_list"),className:"".concat(Fe,"-empty"),onMouseDown:yt},Ve);var Xt=Object.keys(be).map(function(wt){return be[wt]}),lr=function(It){return It.label};function Qt(wt,It){var Ut=wt.group;return{role:Ut?"presentation":"option",id:"".concat(ke,"_list_").concat(It)}}var sr=function(It){var Ut=rt[It];if(!Ut)return null;var ur=Ut.data||{},ir=ur.value,ar=Ut.group,tr=(0,v.Z)(ur,!0),fr=lr(Ut);return Ut?g.createElement("div",(0,N.Z)({"aria-label":typeof fr=="string"&&!ar?fr:null},tr,{key:It},Qt(Ut,It),{"aria-selected":vr(ir)}),ir):null},Cr={role:"listbox",id:"".concat(ke,"_list")};return g.createElement(g.Fragment,null,Le&&g.createElement("div",(0,N.Z)({},Cr,{style:{height:0,width:0,overflow:"hidden"}}),sr(Dt-1),sr(Dt),sr(Dt+1)),g.createElement($t.Z,{itemKey:"key",ref:Et,data:rt,height:We,itemHeight:He,fullHeight:!1,onMouseDown:yt,onScroll:at,virtual:Le,direction:ze,innerProps:Le?null:Cr},function(wt,It){var Ut,ur=wt.group,ir=wt.groupOption,ar=wt.data,tr=wt.label,fr=wt.value,xr=ar.key;if(ur){var dr,Ar=(dr=ar.title)!==null&&dr!==void 0?dr:mt(tr)?tr.toString():void 0;return g.createElement("div",{className:u()(Fe,"".concat(Fe,"-group")),title:Ar},tr!==void 0?tr:xr)}var Ct=ar.disabled,_t=ar.title,jt=ar.children,Jt=ar.style,hr=ar.className,Ir=(0,A.Z)(ar,Ot),Tr=(0,ft.Z)(Ir,Xt),Er=vr(fr),Sr="".concat(Fe,"-option"),br=u()(Fe,Sr,hr,(Ut={},(0,O.Z)(Ut,"".concat(Sr,"-grouped"),ir),(0,O.Z)(Ut,"".concat(Sr,"-active"),Dt===It&&!Ct),(0,O.Z)(Ut,"".concat(Sr,"-disabled"),Ct),(0,O.Z)(Ut,"".concat(Sr,"-selected"),Er),Ut)),Mr=lr(wt),Lr=!bt||typeof bt=="function"||Er,yr=typeof Mr=="number"?Mr:Mr||fr,Pr=mt(yr)?yr.toString():void 0;return _t!==void 0&&(Pr=_t),g.createElement("div",(0,N.Z)({},(0,v.Z)(Tr),Le?{}:Qt(wt,It),{"aria-selected":Er,className:br,title:Pr,onMouseMove:function(){Dt===It||Ct||Ht(It)},onClick:function(){Ct||nr(fr)},style:Jt}),g.createElement("div",{className:"".concat(Sr,"-content")},yr),g.isValidElement(bt)||Er,Lr&&g.createElement(s,{className:"".concat(Fe,"-option-state"),customizeIcon:bt,customizeIconProps:{isSelected:Er}},Er?"\u2713":null))}))},er=g.forwardRef(Gt);er.displayName="OptionList";var ct=er;function rr(J){var Q=J.mode,Te=J.options,pe=J.children,Be=J.backfill,ke=J.allowClear,Je=J.placeholder,Ke=J.getInputElement,qe=J.showSearch,Ze=J.onSearch,Ge=J.defaultOpen,Ve=J.autoFocus,at=J.labelInValue,Ye=J.value,gt=J.inputValue,Rt=J.optionLabelProp,Nt=isMultiple(Q),ot=qe!==void 0?qe:Nt||Q==="combobox",bt=Te||convertChildrenToData(pe);if(warning(Q!=="tags"||bt.every(function(ze){return!ze.disabled}),"Please avoid setting option to disabled in tags mode since user can always type text as tag."),Q==="tags"||Q==="combobox"){var De=bt.some(function(ze){return ze.options?ze.options.some(function(We){return typeof("value"in We?We.value:We.key)=="number"}):typeof("value"in ze?ze.value:ze.key)=="number"});warning(!De,"`value` of Option should not use number type when `mode` is `tags` or `combobox`.")}if(warning(Q!=="combobox"||!Rt,"`combobox` mode not support `optionLabelProp`. Please set `value` on Option directly."),warning(Q==="combobox"||!Be,"`backfill` only works with `combobox` mode."),warning(Q==="combobox"||!Ke,"`getInputElement` only work with `combobox` mode."),noteOnce(Q!=="combobox"||!Ke||!ke||!Je,"Customize `getInputElement` should customize clear and placeholder logic instead of configuring `allowClear` and `placeholder`."),Ze&&!ot&&Q!=="combobox"&&Q!=="tags"&&warning(!1,"`onSearch` should work with `showSearch` instead of use alone."),noteOnce(!Ge||Ve,"`defaultOpen` makes Select open without focus which means it will not close by click outside. You can set `autoFocus` if needed."),Ye!=null){var be=toArray(Ye);warning(!at||be.every(function(ze){return _typeof(ze)==="object"&&("key"in ze||"value"in ze)}),"`value` should in shape of `{ value: string | number, label?: ReactNode }` when you set `labelInValue` to `true`"),warning(!Nt||Array.isArray(Ye),"`value` should be array when `mode` is `multiple` or `tags`")}if(pe){var Le=null;toNodeArray(pe).some(function(ze){if(!React.isValidElement(ze)||!ze.type)return!1;var We=ze,He=We.type;if(He.isSelectOption)return!1;if(He.isSelectOptGroup){var Fe=toNodeArray(ze.props.children).every(function(rt){return!React.isValidElement(rt)||!ze.type||rt.type.isSelectOption?!0:(Le=rt.type,!1)});return!Fe}return Le=He,!0}),Le&&warning(!1,"`children` should be `Select.Option` or `Select.OptGroup` instead of `".concat(Le.displayName||Le.name||Le,"`.")),warning(gt===void 0,"`inputValue` is deprecated, please use `searchValue` instead.")}}function Zt(J,Q){if(J){var Te=function pe(Be){for(var ke=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,Je=0;Je<Be.length;Je++){var Ke=Be[Je];if(Ke[Q==null?void 0:Q.value]===null)return warning(!1,"`value` in Select options should not be `null`."),!0;if(!ke&&Array.isArray(Ke[Q==null?void 0:Q.options])&&pe(Ke[Q==null?void 0:Q.options],!0))break}};Te(J)}}var Yt=null,kt=["id","mode","prefixCls","backfill","fieldNames","inputValue","searchValue","onSearch","autoClearSearchValue","onSelect","onDeselect","dropdownMatchSelectWidth","filterOption","filterSort","optionFilterProp","optionLabelProp","options","children","defaultActiveFirstOption","menuItemSelectedIcon","virtual","direction","listHeight","listItemHeight","value","defaultValue","labelInValue","onChange"],Xe=["inputValue"];function T(J){return!J||(0,_.Z)(J)!=="object"}var U=g.forwardRef(function(J,Q){var Te=J.id,pe=J.mode,Be=J.prefixCls,ke=Be===void 0?"rc-select":Be,Je=J.backfill,Ke=J.fieldNames,qe=J.inputValue,Ze=J.searchValue,Ge=J.onSearch,Ve=J.autoClearSearchValue,at=Ve===void 0?!0:Ve,Ye=J.onSelect,gt=J.onDeselect,Rt=J.dropdownMatchSelectWidth,Nt=Rt===void 0?!0:Rt,ot=J.filterOption,bt=J.filterSort,De=J.optionFilterProp,be=J.optionLabelProp,Le=J.options,ze=J.children,We=J.defaultActiveFirstOption,He=J.menuItemSelectedIcon,Fe=J.virtual,rt=J.direction,Et=J.listHeight,yt=Et===void 0?200:Et,Pt=J.listItemHeight,At=Pt===void 0?20:Pt,zt=J.value,Lt=J.defaultValue,Dt=J.labelInValue,Vt=J.onChange,Ht=(0,A.Z)(J,kt),vr=(0,Ne.ZP)(Te),nr=q(pe),Xt=!!(!Le&&ze),lr=g.useMemo(function(){return ot===void 0&&pe==="combobox"?!1:ot},[ot,pe]),Qt=g.useMemo(function(){return re(Ke,Xt)},[JSON.stringify(Ke),Xt]),sr=(0,m.Z)("",{value:Ze!==void 0?Ze:qe,postState:function(st){return st||""}}),Cr=(0,M.Z)(sr,2),wt=Cr[0],It=Cr[1],Ut=je(Le,ze,Qt,De,be),ur=Ut.valueOptions,ir=Ut.labelOptions,ar=Ut.options,tr=g.useCallback(function(Qe){var st=b(Qe);return st.map(function(Re){var tt,vt,Tt,Mt,it;if(T(Re))tt=Re;else{var Bt;Tt=Re.key,vt=Re.label,tt=(Bt=Re.value)!==null&&Bt!==void 0?Bt:Tt}var qt=ur.get(tt);if(qt){var mr;if(vt===void 0&&(vt=qt==null?void 0:qt[be||Qt.label]),Tt===void 0&&(Tt=(mr=qt==null?void 0:qt.key)!==null&&mr!==void 0?mr:tt),Mt=qt==null?void 0:qt.disabled,it=qt==null?void 0:qt.title,0)var Ft}return{label:vt,value:tt,key:Tt,disabled:Mt,title:it}})},[Qt,be,ur]),fr=(0,m.Z)(Lt,{value:zt}),xr=(0,M.Z)(fr,2),dr=xr[0],Ar=xr[1],Ct=g.useMemo(function(){var Qe,st=tr(dr);return pe==="combobox"&&P((Qe=st[0])===null||Qe===void 0?void 0:Qe.value)?[]:st},[dr,tr,pe]),_t=me(Ct,ur),jt=(0,M.Z)(_t,2),Jt=jt[0],hr=jt[1],Ir=g.useMemo(function(){if(!pe&&Jt.length===1){var Qe=Jt[0];if(Qe.value===null&&(Qe.label===null||Qe.label===void 0))return[]}return Jt.map(function(st){var Re;return(0,E.Z)((0,E.Z)({},st),{},{label:(Re=st.label)!==null&&Re!==void 0?Re:st.value})})},[pe,Jt]),Tr=g.useMemo(function(){return new Set(Jt.map(function(Qe){return Qe.value}))},[Jt]);g.useEffect(function(){if(pe==="combobox"){var Qe,st=(Qe=Jt[0])===null||Qe===void 0?void 0:Qe.value;It(w(st)?String(st):"")}},[Jt]);var Er=ut(function(Qe,st){var Re,tt=st!=null?st:Qe;return Re={},(0,O.Z)(Re,Qt.value,Qe),(0,O.Z)(Re,Qt.label,tt),Re}),Sr=g.useMemo(function(){if(pe!=="tags")return ar;var Qe=(0,K.Z)(ar),st=function(tt){return ur.has(tt)};return(0,K.Z)(Jt).sort(function(Re,tt){return Re.value<tt.value?-1:1}).forEach(function(Re){var tt=Re.value;st(tt)||Qe.push(Er(tt,Re.label))}),Qe},[Er,ar,ur,Jt,pe]),br=Oe(Sr,Qt,wt,lr,De),Mr=g.useMemo(function(){return pe!=="tags"||!wt||br.some(function(Qe){return Qe[De||"value"]===wt})||br.some(function(Qe){return Qe[Qt.value]===wt})?br:[Er(wt)].concat((0,K.Z)(br))},[Er,De,pe,br,wt,Qt]),Lr=g.useMemo(function(){return bt?(0,K.Z)(Mr).sort(function(Qe,st){return bt(Qe,st)}):Mr},[Mr,bt]),yr=g.useMemo(function(){return V(Lr,{fieldNames:Qt,childrenAsData:Xt})},[Lr,Qt,Xt]),Pr=function(st){var Re=tr(st);if(Ar(Re),Vt&&(Re.length!==Jt.length||Re.some(function(Tt,Mt){var it;return((it=Jt[Mt])===null||it===void 0?void 0:it.value)!==(Tt==null?void 0:Tt.value)}))){var tt=Dt?Re:Re.map(function(Tt){return Tt.value}),vt=Re.map(function(Tt){return ne(hr(Tt.value))});Vt(nr?tt:tt[0],nr?vt:vt[0])}},Br=g.useState(null),Xr=(0,M.Z)(Br,2),Vr=Xr[0],Hr=Xr[1],Wr=g.useState(0),sn=(0,M.Z)(Wr,2),zr=sn[0],$r=sn[1],en=We!==void 0?We:pe!=="combobox",tn=g.useCallback(function(Qe,st){var Re=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},tt=Re.source,vt=tt===void 0?"keyboard":tt;$r(st),Je&&pe==="combobox"&&Qe!==null&&vt==="keyboard"&&Hr(String(Qe))},[Je,pe]),Nr=function(st,Re,tt){var vt=function(){var or,pr=hr(st);return[Dt?{label:pr==null?void 0:pr[Qt.label],value:st,key:(or=pr==null?void 0:pr.key)!==null&&or!==void 0?or:st}:st,ne(pr)]};if(Re&&Ye){var Tt=vt(),Mt=(0,M.Z)(Tt,2),it=Mt[0],Bt=Mt[1];Ye(it,Bt)}else if(!Re&>&&tt!=="clear"){var qt=vt(),mr=(0,M.Z)(qt,2),Ft=mr[0],Wt=mr[1];gt(Ft,Wt)}},ln=ut(function(Qe,st){var Re,tt=nr?st.selected:!0;tt?Re=nr?[].concat((0,K.Z)(Jt),[Qe]):[Qe]:Re=Jt.filter(function(vt){return vt.value!==Qe}),Pr(Re),Nr(Qe,tt),pe==="combobox"?Hr(""):(!q||at)&&(It(""),Hr(""))}),Ie=function(st,Re){Pr(st);var tt=Re.type,vt=Re.values;(tt==="remove"||tt==="clear")&&vt.forEach(function(Tt){Nr(Tt.value,!1,tt)})},Me=function(st,Re){if(It(st),Hr(null),Re.source==="submit"){var tt=(st||"").trim();if(tt){var vt=Array.from(new Set([].concat((0,K.Z)(Tr),[tt])));Pr(vt),Nr(tt,!0),It("")}return}Re.source!=="blur"&&(pe==="combobox"&&Pr(st),Ge==null||Ge(st))},Ue=function(st){var Re=st;pe!=="tags"&&(Re=st.map(function(vt){var Tt=ir.get(vt);return Tt==null?void 0:Tt.value}).filter(function(vt){return vt!==void 0}));var tt=Array.from(new Set([].concat((0,K.Z)(Tr),(0,K.Z)(Re))));Pr(tt),tt.forEach(function(vt){Nr(vt,!0)})},et=g.useMemo(function(){var Qe=Fe!==!1&&Nt!==!1;return(0,E.Z)((0,E.Z)({},Ut),{},{flattenOptions:yr,onActiveValue:tn,defaultActiveFirstOption:en,onSelect:ln,menuItemSelectedIcon:He,rawValues:Tr,fieldNames:Qt,virtual:Qe,direction:rt,listHeight:yt,listItemHeight:At,childrenAsData:Xt})},[Ut,yr,tn,en,ln,He,Tr,Qt,Fe,Nt,yt,At,Xt]);return g.createElement(dt.Provider,{value:et},g.createElement(de,(0,N.Z)({},Ht,{id:vr,prefixCls:ke,ref:Q,omitDomProps:Xe,mode:pe,displayValues:Ir,onDisplayValuesChange:Ie,direction:rt,searchValue:wt,onSearch:Me,autoClearSearchValue:at,onSearchSplit:Ue,dropdownMatchSelectWidth:Nt,OptionList:ct,emptyOptions:!yr.length,activeValue:Vr,activeDescendantId:"".concat(vr,"_list_").concat(zr)})))}),H=U;H.Option=xt,H.OptGroup=$e;var k=H,te=k},9296:function(nt,Pe,z){"use strict";z.r(Pe),z.d(Pe,{ResizableTextArea:function(){return C},default:function(){return P}});var N=z(54476),K=z(33885),O=z(20068),E=z(76190),M=z(42978),A=z(75931),_=z(94480),m=z(92310),x=z.n(m),g=z(93681),c=z(5643),u=z(18929),h=z(59301),r=z(29301),n=z(34280),a=z(16089),f=`
|
|
min-height:0 !important;
|
|
max-height:none !important;
|
|
height:0 !important;
|
|
visibility:hidden !important;
|
|
overflow:hidden !important;
|
|
position:absolute !important;
|
|
z-index:-1000 !important;
|
|
top:0 !important;
|
|
right:0 !important;
|
|
pointer-events: none !important;
|
|
`,s=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","font-variant","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break","white-space"],l={},d;function e(I){var R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,B=I.getAttribute("id")||I.getAttribute("data-reactid")||I.getAttribute("name");if(R&&l[B])return l[B];var F=window.getComputedStyle(I),W=F.getPropertyValue("box-sizing")||F.getPropertyValue("-moz-box-sizing")||F.getPropertyValue("-webkit-box-sizing"),G=parseFloat(F.getPropertyValue("padding-bottom"))+parseFloat(F.getPropertyValue("padding-top")),j=parseFloat(F.getPropertyValue("border-bottom-width"))+parseFloat(F.getPropertyValue("border-top-width")),Y=s.map(function(ae){return"".concat(ae,":").concat(F.getPropertyValue(ae))}).join(";"),ee={sizingStyle:Y,paddingSize:G,borderSize:j,boxSizing:W};return R&&B&&(l[B]=ee),ee}function t(I){var R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,B=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,F=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;d||(d=document.createElement("textarea"),d.setAttribute("tab-index","-1"),d.setAttribute("aria-hidden","true"),document.body.appendChild(d)),I.getAttribute("wrap")?d.setAttribute("wrap",I.getAttribute("wrap")):d.removeAttribute("wrap");var W=e(I,R),G=W.paddingSize,j=W.borderSize,Y=W.boxSizing,ee=W.sizingStyle;d.setAttribute("style","".concat(ee,";").concat(f)),d.value=I.value||I.placeholder||"";var ae=void 0,le=void 0,_e,he=d.scrollHeight;if(Y==="border-box"?he+=j:Y==="content-box"&&(he-=G),B!==null||F!==null){d.value=" ";var ve=d.scrollHeight-G;B!==null&&(ae=ve*B,Y==="border-box"&&(ae=ae+G+j),he=Math.max(ae,he)),F!==null&&(le=ve*F,Y==="border-box"&&(le=le+G+j),_e=he>le?"":"hidden",he=Math.min(le,he))}var Ae={height:he,overflowY:_e,resize:"none"};return ae&&(Ae.minHeight=ae),le&&(Ae.maxHeight=le),Ae}var i=["prefixCls","onPressEnter","defaultValue","value","autoSize","onResize","className","style","disabled","onChange","onInternalAutoSize"],o=0,v=1,y=2,p=h.forwardRef(function(I,R){var B=I,F=B.prefixCls,W=B.onPressEnter,G=B.defaultValue,j=B.value,Y=B.autoSize,ee=B.onResize,ae=B.className,le=B.style,_e=B.disabled,he=B.onChange,ve=B.onInternalAutoSize,Ae=(0,A.Z)(B,i),ge=(0,u.Z)(G,{value:j,postState:function($e){return $e!=null?$e:""}}),fe=(0,M.Z)(ge,2),Ee=fe[0],ue=fe[1],oe=function($e){ue($e.target.value),he==null||he($e)},X=h.useRef();h.useImperativeHandle(R,function(){return{textArea:X.current}});var re=h.useMemo(function(){return Y&&(0,E.Z)(Y)==="object"?[Y.minRows,Y.maxRows]:[]},[Y]),V=(0,M.Z)(re,2),ne=V[0],Z=V[1],$=!!Y,se=function(){try{if(document.activeElement===X.current){var $e=X.current,pt=$e.selectionStart,xt=$e.selectionEnd,St=$e.scrollTop;X.current.setSelectionRange(pt,xt),X.current.scrollTop=St}}catch(ft){}},q=h.useState(y),ie=(0,M.Z)(q,2),de=ie[0],me=ie[1],Ce=h.useState(),Oe=(0,M.Z)(Ce,2),Ne=Oe[0],we=Oe[1],ce=function(){me(o)};(0,n.Z)(function(){$&&ce()},[j,ne,Z,$]),(0,n.Z)(function(){if(de===o)me(v);else if(de===v){var lt=t(X.current,!1,ne,Z);me(y),we(lt)}else se()},[de]);var ye=h.useRef(),Se=function(){a.Z.cancel(ye.current)},xe=function($e){de===y&&(ee==null||ee($e),Y&&(Se(),ye.current=(0,a.Z)(function(){ce()})))};h.useEffect(function(){return Se},[]);var je=$?Ne:null,ut=(0,K.Z)((0,K.Z)({},le),je);return(de===o||de===v)&&(ut.overflowY="hidden",ut.overflowX="hidden"),h.createElement(r.Z,{onResize:xe,disabled:!(Y||ee)},h.createElement("textarea",(0,N.Z)({},Ae,{ref:X,style:ut,className:x()(F,ae,(0,O.Z)({},"".concat(F,"-disabled"),_e)),disabled:_e,value:Ee,onChange:oe})))}),C=p,D=["defaultValue","value","onFocus","onBlur","onChange","allowClear","maxLength","onCompositionStart","onCompositionEnd","suffix","prefixCls","classes","showCount","className","style","disabled","hidden","classNames","styles","onResize"];function b(I,R){return(0,_.Z)(I||"").slice(0,R).join("")}function S(I,R,B,F){var W=B;return I?W=b(B,F):(0,_.Z)(R||"").length<B.length&&(0,_.Z)(B||"").length>F&&(W=R),W}var L=h.forwardRef(function(I,R){var B,F=I.defaultValue,W=I.value,G=I.onFocus,j=I.onBlur,Y=I.onChange,ee=I.allowClear,ae=I.maxLength,le=I.onCompositionStart,_e=I.onCompositionEnd,he=I.suffix,ve=I.prefixCls,Ae=ve===void 0?"rc-textarea":ve,ge=I.classes,fe=I.showCount,Ee=I.className,ue=I.style,oe=I.disabled,X=I.hidden,re=I.classNames,V=I.styles,ne=I.onResize,Z=(0,A.Z)(I,D),$=(0,u.Z)(F,{value:W,defaultValue:F}),se=(0,M.Z)($,2),q=se[0],ie=se[1],de=(0,h.useRef)(null),me=h.useState(!1),Ce=(0,M.Z)(me,2),Oe=Ce[0],Ne=Ce[1],we=h.useState(!1),ce=(0,M.Z)(we,2),ye=ce[0],Se=ce[1],xe=h.useRef(),je=h.useRef(0),ut=h.useState(null),lt=(0,M.Z)(ut,2),$e=lt[0],pt=lt[1],xt=function(){var T;(T=de.current)===null||T===void 0||T.textArea.focus()};(0,h.useImperativeHandle)(R,function(){return{resizableTextArea:de.current,focus:xt,blur:function(){var T;(T=de.current)===null||T===void 0||T.textArea.blur()}}}),(0,h.useEffect)(function(){Ne(function(Xe){return!oe&&Xe})},[oe]);var St=Number(ae)>0,ft=function(T){Se(!0),xe.current=q,je.current=T.currentTarget.selectionStart,le==null||le(T)},$t=function(T){Se(!1);var U=T.currentTarget.value;if(St){var H,k=je.current>=ae+1||je.current===((H=xe.current)===null||H===void 0?void 0:H.length);U=S(k,xe.current,U,ae)}U!==q&&(ie(U),(0,c.rJ)(T.currentTarget,T,Y,U)),_e==null||_e(T)},Kt=function(T){var U=T.target.value;if(!ye&&St){var H=T.target.selectionStart>=ae+1||T.target.selectionStart===U.length||!T.target.selectionStart;U=S(H,q,U,ae)}ie(U),(0,c.rJ)(T.currentTarget,T,Y,U)},dt=function(T){var U=Z.onPressEnter,H=Z.onKeyDown;T.key==="Enter"&&U&&U(T),H==null||H(T)},ht=function(T){Ne(!0),G==null||G(T)},Ot=function(T){Ne(!1),j==null||j(T)},mt=function(T){var U;ie(""),xt(),(0,c.rJ)((U=de.current)===null||U===void 0?void 0:U.textArea,T,Y)},Gt=(0,c.D7)(q);!ye&&St&&W==null&&(Gt=b(Gt,ae));var er=he,ct;if(fe){var rr=(0,_.Z)(Gt).length;(0,E.Z)(fe)==="object"?ct=fe.formatter({value:Gt,count:rr,maxLength:ae}):ct="".concat(rr).concat(St?" / ".concat(ae):""),er=h.createElement(h.Fragment,null,er,h.createElement("span",{className:x()("".concat(Ae,"-data-count"),re==null?void 0:re.count),style:V==null?void 0:V.count},ct))}var Zt=function(T){var U;ne==null||ne(T),(U=de.current)!==null&&U!==void 0&&U.textArea.style.height&&pt(!0)},Yt=!Z.autoSize&&!fe&&!ee,kt=h.createElement(g.BaseInput,{value:Gt,allowClear:ee,handleReset:mt,suffix:er,prefixCls:Ae,classes:{affixWrapper:x()(ge==null?void 0:ge.affixWrapper,(B={},(0,O.Z)(B,"".concat(Ae,"-show-count"),fe),(0,O.Z)(B,"".concat(Ae,"-textarea-allow-clear"),ee),B))},disabled:oe,focused:Oe,className:Ee,style:(0,K.Z)((0,K.Z)({},ue),$e&&!Yt?{height:"auto"}:{}),dataAttrs:{affixWrapper:{"data-count":typeof ct=="string"?ct:void 0}},hidden:X,inputElement:h.createElement(C,(0,N.Z)({},Z,{onKeyDown:dt,onChange:Kt,onFocus:ht,onBlur:Ot,onCompositionStart:ft,onCompositionEnd:$t,className:re==null?void 0:re.textarea,style:(0,K.Z)((0,K.Z)({},V==null?void 0:V.textarea),{},{resize:ue==null?void 0:ue.resize}),disabled:oe,prefixCls:Ae,onResize:Zt,ref:de}))});return kt}),w=L,P=w},48911:function(nt,Pe,z){"use strict";z.d(Pe,{Z:function(){return ge}});var N=z(54476),K=z(76190),O=z(33885),E=z(20068),M=z(42978),A=z(75931),_=z(92310),m=z.n(_),x=z(29301),g=z(70425),c=z(34280),u=z(59301),h=z(4676),r=u.forwardRef(function(fe,Ee){var ue=fe.height,oe=fe.offsetY,X=fe.offsetX,re=fe.children,V=fe.prefixCls,ne=fe.onInnerResize,Z=fe.innerProps,$=fe.rtl,se=fe.extra,q={},ie={display:"flex",flexDirection:"column"};return oe!==void 0&&(q={height:ue,position:"relative",overflow:"hidden"},ie=(0,O.Z)((0,O.Z)({},ie),{},(0,E.Z)((0,E.Z)((0,E.Z)((0,E.Z)((0,E.Z)({transform:"translateY(".concat(oe,"px)")},$?"marginRight":"marginLeft",-X),"position","absolute"),"left",0),"right",0),"top",0))),u.createElement("div",{style:q},u.createElement(x.Z,{onResize:function(me){var Ce=me.offsetHeight;Ce&&ne&&ne()}},u.createElement("div",(0,N.Z)({style:ie,className:m()((0,E.Z)({},"".concat(V,"-holder-inner"),V)),ref:Ee},Z),re,se)))});r.displayName="Filler";var n=r;function a(fe){var Ee=fe.children,ue=fe.setRef,oe=u.useCallback(function(X){ue(X)},[]);return u.cloneElement(Ee,{ref:oe})}function f(fe,Ee,ue,oe,X,re,V,ne){var Z=ne.getKey;return fe.slice(Ee,ue+1).map(function($,se){var q=Ee+se,ie=V($,q,{style:{width:oe},offsetX:X}),de=Z($);return u.createElement(a,{key:de,setRef:function(Ce){return re($,Ce)}},ie)})}function s(fe,Ee,ue,oe){var X=ue-fe,re=Ee-ue,V=Math.min(X,re)*2;if(oe<=V){var ne=Math.floor(oe/2);return oe%2?ue+ne+1:ue-ne}return X>re?ue-(oe-re):ue+(oe-X)}function l(fe,Ee,ue){var oe=fe.length,X=Ee.length,re,V;if(oe===0&&X===0)return null;oe<X?(re=fe,V=Ee):(re=Ee,V=fe);var ne={__EMPTY_ITEM__:!0};function Z(me){return me!==void 0?ue(me):ne}for(var $=null,se=Math.abs(oe-X)!==1,q=0;q<V.length;q+=1){var ie=Z(re[q]),de=Z(V[q]);if(ie!==de){$=q,se=se||ie!==Z(V[q+1]);break}}return $===null?null:{index:$,multiple:se}}function d(fe,Ee,ue){var oe=u.useState(fe),X=(0,M.Z)(oe,2),re=X[0],V=X[1],ne=u.useState(null),Z=(0,M.Z)(ne,2),$=Z[0],se=Z[1];return u.useEffect(function(){var q=l(re||[],fe||[],Ee);(q==null?void 0:q.index)!==void 0&&(ue==null||ue(q.index),se(fe[q.index])),V(fe)},[fe]),[$]}var e=z(16089),t=(typeof navigator=="undefined"?"undefined":(0,K.Z)(navigator))==="object"&&/Firefox/i.test(navigator.userAgent),i=t,o=function(fe,Ee,ue,oe){var X=(0,u.useRef)(!1),re=(0,u.useRef)(null);function V(){clearTimeout(re.current),X.current=!0,re.current=setTimeout(function(){X.current=!1},50)}var ne=(0,u.useRef)({top:fe,bottom:Ee,left:ue,right:oe});return ne.current.top=fe,ne.current.bottom=Ee,ne.current.left=ue,ne.current.right=oe,function(Z,$){var se=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,q=Z?$<0&&ne.current.left||$>0&&ne.current.right:$<0&&ne.current.top||$>0&&ne.current.bottom;return se&&q?(clearTimeout(re.current),X.current=!1):(!q||X.current)&&V(),!X.current&&q}};function v(fe,Ee,ue,oe,X,re,V){var ne=(0,u.useRef)(0),Z=(0,u.useRef)(null),$=(0,u.useRef)(null),se=(0,u.useRef)(!1),q=o(Ee,ue,oe,X);function ie(we,ce){if(e.Z.cancel(Z.current),!q(!1,ce)){var ye=we;if(!ye._virtualHandled)ye._virtualHandled=!0;else return;ne.current+=ce,$.current=ce,i||ye.preventDefault(),Z.current=(0,e.Z)(function(){var Se=se.current?10:1;V(ne.current*Se,!1),ne.current=0})}}function de(we,ce){V(ce,!0),i||we.preventDefault()}var me=(0,u.useRef)(null),Ce=(0,u.useRef)(null);function Oe(we){if(fe){e.Z.cancel(Ce.current),Ce.current=(0,e.Z)(function(){me.current=null},2);var ce=we.deltaX,ye=we.deltaY,Se=we.shiftKey,xe=ce,je=ye;(me.current==="sx"||!me.current&&Se&&ye&&!ce)&&(xe=ye,je=0,me.current="sx");var ut=Math.abs(xe),lt=Math.abs(je);me.current===null&&(me.current=re&&ut>lt?"x":"y"),me.current==="y"?ie(we,je):de(we,xe)}}function Ne(we){fe&&(se.current=we.detail===$.current)}return[Oe,Ne]}function y(fe,Ee,ue,oe){var X=u.useMemo(function(){return[new Map,[]]},[fe,ue.id,oe]),re=(0,M.Z)(X,2),V=re[0],ne=re[1],Z=function(se){var q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:se,ie=V.get(se),de=V.get(q);if(ie===void 0||de===void 0)for(var me=fe.length,Ce=ne.length;Ce<me;Ce+=1){var Oe,Ne=fe[Ce],we=Ee(Ne);V.set(we,Ce);var ce=(Oe=ue.get(we))!==null&&Oe!==void 0?Oe:oe;if(ne[Ce]=(ne[Ce-1]||0)+ce,we===se&&(ie=Ce),we===q&&(de=Ce),ie!==void 0&&de!==void 0)break}return{top:ne[ie-1]||0,bottom:ne[de]}};return Z}var p=z(67732),C=z(83652),D=function(){function fe(){(0,p.Z)(this,fe),(0,E.Z)(this,"maps",void 0),(0,E.Z)(this,"id",0),(0,E.Z)(this,"diffRecords",new Map),this.maps=Object.create(null)}return(0,C.Z)(fe,[{key:"set",value:function(ue,oe){this.diffRecords.set(ue,this.maps[ue]),this.maps[ue]=oe,this.id+=1}},{key:"get",value:function(ue){return this.maps[ue]}},{key:"resetRecord",value:function(){this.diffRecords.clear()}},{key:"getRecord",value:function(){return this.diffRecords}}]),fe}(),b=D;function S(fe){var Ee=parseFloat(fe);return isNaN(Ee)?0:Ee}function L(fe,Ee,ue){var oe=u.useState(0),X=(0,M.Z)(oe,2),re=X[0],V=X[1],ne=(0,u.useRef)(new Map),Z=(0,u.useRef)(new b),$=(0,u.useRef)(0);function se(){$.current+=1}function q(){var de=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;se();var me=function(){var Ne=!1;ne.current.forEach(function(we,ce){if(we&&we.offsetParent){var ye=we.offsetHeight,Se=getComputedStyle(we),xe=Se.marginTop,je=Se.marginBottom,ut=S(xe),lt=S(je),$e=ye+ut+lt;Z.current.get(ce)!==$e&&(Z.current.set(ce,$e),Ne=!0)}}),Ne&&V(function(we){return we+1})};if(de)me();else{$.current+=1;var Ce=$.current;Promise.resolve().then(function(){Ce===$.current&&me()})}}function ie(de,me){var Ce=fe(de),Oe=ne.current.get(Ce);me?(ne.current.set(Ce,me),q()):ne.current.delete(Ce),!Oe!=!me&&(me?Ee==null||Ee(de):ue==null||ue(de))}return(0,u.useEffect)(function(){return se},[]),[ie,q,Z.current,re]}var w=14/15;function P(fe,Ee,ue){var oe=(0,u.useRef)(!1),X=(0,u.useRef)(0),re=(0,u.useRef)(0),V=(0,u.useRef)(null),ne=(0,u.useRef)(null),Z,$=function(de){if(oe.current){var me=Math.ceil(de.touches[0].pageX),Ce=Math.ceil(de.touches[0].pageY),Oe=X.current-me,Ne=re.current-Ce,we=Math.abs(Oe)>Math.abs(Ne);we?X.current=me:re.current=Ce;var ce=ue(we,we?Oe:Ne,!1,de);ce&&de.preventDefault(),clearInterval(ne.current),ce&&(ne.current=setInterval(function(){we?Oe*=w:Ne*=w;var ye=Math.floor(we?Oe:Ne);(!ue(we,ye,!0)||Math.abs(ye)<=.1)&&clearInterval(ne.current)},16))}},se=function(){oe.current=!1,Z()},q=function(de){Z(),de.touches.length===1&&!oe.current&&(oe.current=!0,X.current=Math.ceil(de.touches[0].pageX),re.current=Math.ceil(de.touches[0].pageY),V.current=de.target,V.current.addEventListener("touchmove",$,{passive:!1}),V.current.addEventListener("touchend",se,{passive:!0}))};Z=function(){V.current&&(V.current.removeEventListener("touchmove",$),V.current.removeEventListener("touchend",se))},(0,c.Z)(function(){return fe&&Ee.current.addEventListener("touchstart",q,{passive:!0}),function(){var ie;(ie=Ee.current)===null||ie===void 0||ie.removeEventListener("touchstart",q),Z(),clearInterval(ne.current)}},[fe])}function I(fe){return Math.floor(Math.pow(fe,.5))}function R(fe,Ee){var ue="touches"in fe?fe.touches[0]:fe;return ue[Ee?"pageX":"pageY"]-window[Ee?"scrollX":"scrollY"]}function B(fe,Ee,ue){u.useEffect(function(){var oe=Ee.current;if(fe&&oe){var X=!1,re,V,ne=function(){e.Z.cancel(re)},Z=function ie(){ne(),re=(0,e.Z)(function(){ue(V),ie()})},$=function(){X=!1,ne()},se=function(de){if(!(de.target.draggable||de.button!==0)){var me=de;me._virtualHandled||(me._virtualHandled=!0,X=!0)}},q=function(de){if(X){var me=R(de,!1),Ce=oe.getBoundingClientRect(),Oe=Ce.top,Ne=Ce.bottom;if(me<=Oe){var we=Oe-me;V=-I(we),Z()}else if(me>=Ne){var ce=me-Ne;V=I(ce),Z()}else ne()}};return oe.addEventListener("mousedown",se),oe.ownerDocument.addEventListener("mouseup",$),oe.ownerDocument.addEventListener("mousemove",q),oe.ownerDocument.addEventListener("dragend",$),function(){oe.removeEventListener("mousedown",se),oe.ownerDocument.removeEventListener("mouseup",$),oe.ownerDocument.removeEventListener("mousemove",q),oe.ownerDocument.removeEventListener("dragend",$),ne()}}},[fe])}var F=10;function W(fe,Ee,ue,oe,X,re,V,ne){var Z=u.useRef(),$=u.useState(null),se=(0,M.Z)($,2),q=se[0],ie=se[1];return(0,c.Z)(function(){if(q&&q.times<F){if(!fe.current){ie(function(Ot){return(0,O.Z)({},Ot)});return}re();var de=q.targetAlign,me=q.originAlign,Ce=q.index,Oe=q.offset,Ne=fe.current.clientHeight,we=!1,ce=de,ye=null;if(Ne){for(var Se=de||me,xe=0,je=0,ut=0,lt=Math.min(Ee.length-1,Ce),$e=0;$e<=lt;$e+=1){var pt=X(Ee[$e]);je=xe;var xt=ue.get(pt);ut=je+(xt===void 0?oe:xt),xe=ut}for(var St=Se==="top"?Oe:Ne-Oe,ft=lt;ft>=0;ft-=1){var $t=X(Ee[ft]),Kt=ue.get($t);if(Kt===void 0){we=!0;break}if(St-=Kt,St<=0)break}switch(Se){case"top":ye=je-Oe;break;case"bottom":ye=ut-Ne+Oe;break;default:{var dt=fe.current.scrollTop,ht=dt+Ne;je<dt?ce="top":ut>ht&&(ce="bottom")}}ye!==null&&V(ye),ye!==q.lastTop&&(we=!0)}we&&ie((0,O.Z)((0,O.Z)({},q),{},{times:q.times+1,targetAlign:ce,lastTop:ye}))}},[q,fe.current]),function(de){if(de==null){ne();return}if(e.Z.cancel(Z.current),typeof de=="number")V(de);else if(de&&(0,K.Z)(de)==="object"){var me,Ce=de.align;"index"in de?me=de.index:me=Ee.findIndex(function(we){return X(we)===de.key});var Oe=de.offset,Ne=Oe===void 0?0:Oe;ie({times:0,index:me,offset:Ne,originAlign:Ce})}}}var G=u.forwardRef(function(fe,Ee){var ue=fe.prefixCls,oe=fe.rtl,X=fe.scrollOffset,re=fe.scrollRange,V=fe.onStartMove,ne=fe.onStopMove,Z=fe.onScroll,$=fe.horizontal,se=fe.spinSize,q=fe.containerSize,ie=fe.style,de=fe.thumbStyle,me=fe.showScrollBar,Ce=u.useState(!1),Oe=(0,M.Z)(Ce,2),Ne=Oe[0],we=Oe[1],ce=u.useState(null),ye=(0,M.Z)(ce,2),Se=ye[0],xe=ye[1],je=u.useState(null),ut=(0,M.Z)(je,2),lt=ut[0],$e=ut[1],pt=!oe,xt=u.useRef(),St=u.useRef(),ft=u.useState(me),$t=(0,M.Z)(ft,2),Kt=$t[0],dt=$t[1],ht=u.useRef(),Ot=function(){me===!0||me===!1||(clearTimeout(ht.current),dt(!0),ht.current=setTimeout(function(){dt(!1)},3e3))},mt=re-q||0,Gt=q-se||0,er=u.useMemo(function(){if(X===0||mt===0)return 0;var H=X/mt;return H*Gt},[X,mt,Gt]),ct=function(k){k.stopPropagation(),k.preventDefault()},rr=u.useRef({top:er,dragging:Ne,pageY:Se,startTop:lt});rr.current={top:er,dragging:Ne,pageY:Se,startTop:lt};var Zt=function(k){we(!0),xe(R(k,$)),$e(rr.current.top),V(),k.stopPropagation(),k.preventDefault()};u.useEffect(function(){var H=function(Q){Q.preventDefault()},k=xt.current,te=St.current;return k.addEventListener("touchstart",H,{passive:!1}),te.addEventListener("touchstart",Zt,{passive:!1}),function(){k.removeEventListener("touchstart",H),te.removeEventListener("touchstart",Zt)}},[]);var Yt=u.useRef();Yt.current=mt;var kt=u.useRef();kt.current=Gt,u.useEffect(function(){if(Ne){var H,k=function(Q){var Te=rr.current,pe=Te.dragging,Be=Te.pageY,ke=Te.startTop;e.Z.cancel(H);var Je=xt.current.getBoundingClientRect(),Ke=q/($?Je.width:Je.height);if(pe){var qe=(R(Q,$)-Be)*Ke,Ze=ke;!pt&&$?Ze-=qe:Ze+=qe;var Ge=Yt.current,Ve=kt.current,at=Ve?Ze/Ve:0,Ye=Math.ceil(at*Ge);Ye=Math.max(Ye,0),Ye=Math.min(Ye,Ge),H=(0,e.Z)(function(){Z(Ye,$)})}},te=function(){we(!1),ne()};return window.addEventListener("mousemove",k,{passive:!0}),window.addEventListener("touchmove",k,{passive:!0}),window.addEventListener("mouseup",te,{passive:!0}),window.addEventListener("touchend",te,{passive:!0}),function(){window.removeEventListener("mousemove",k),window.removeEventListener("touchmove",k),window.removeEventListener("mouseup",te),window.removeEventListener("touchend",te),e.Z.cancel(H)}}},[Ne]),u.useEffect(function(){return Ot(),function(){clearTimeout(ht.current)}},[X]),u.useImperativeHandle(Ee,function(){return{delayHidden:Ot}});var Xe="".concat(ue,"-scrollbar"),T={position:"absolute",visibility:Kt?null:"hidden"},U={position:"absolute",borderRadius:99,background:"var(--rc-virtual-list-scrollbar-bg, rgba(0, 0, 0, 0.5))",cursor:"pointer",userSelect:"none"};return $?(Object.assign(T,{height:8,left:0,right:0,bottom:0}),Object.assign(U,(0,E.Z)({height:"100%",width:se},pt?"left":"right",er))):(Object.assign(T,(0,E.Z)({width:8,top:0,bottom:0},pt?"right":"left",0)),Object.assign(U,{width:"100%",height:se,top:er})),u.createElement("div",{ref:xt,className:m()(Xe,(0,E.Z)((0,E.Z)((0,E.Z)({},"".concat(Xe,"-horizontal"),$),"".concat(Xe,"-vertical"),!$),"".concat(Xe,"-visible"),Kt)),style:(0,O.Z)((0,O.Z)({},T),ie),onMouseDown:ct,onMouseMove:Ot},u.createElement("div",{ref:St,className:m()("".concat(Xe,"-thumb"),(0,E.Z)({},"".concat(Xe,"-thumb-moving"),Ne)),style:(0,O.Z)((0,O.Z)({},U),de),onMouseDown:Zt}))}),j=G,Y=20;function ee(){var fe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,Ee=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,ue=fe/Ee*fe;return isNaN(ue)&&(ue=0),ue=Math.max(ue,Y),Math.floor(ue)}var ae=["prefixCls","className","height","itemHeight","fullHeight","style","data","children","itemKey","virtual","direction","scrollWidth","component","onScroll","onVirtualScroll","onVisibleChange","innerProps","extraRender","styles","showScrollBar"],le=[],_e={overflowY:"auto",overflowAnchor:"none"};function he(fe,Ee){var ue=fe.prefixCls,oe=ue===void 0?"rc-virtual-list":ue,X=fe.className,re=fe.height,V=fe.itemHeight,ne=fe.fullHeight,Z=ne===void 0?!0:ne,$=fe.style,se=fe.data,q=fe.children,ie=fe.itemKey,de=fe.virtual,me=fe.direction,Ce=fe.scrollWidth,Oe=fe.component,Ne=Oe===void 0?"div":Oe,we=fe.onScroll,ce=fe.onVirtualScroll,ye=fe.onVisibleChange,Se=fe.innerProps,xe=fe.extraRender,je=fe.styles,ut=fe.showScrollBar,lt=ut===void 0?"optional":ut,$e=(0,A.Z)(fe,ae),pt=u.useCallback(function(Ct){return typeof ie=="function"?ie(Ct):Ct==null?void 0:Ct[ie]},[ie]),xt=L(pt,null,null),St=(0,M.Z)(xt,4),ft=St[0],$t=St[1],Kt=St[2],dt=St[3],ht=!!(de!==!1&&re&&V),Ot=u.useMemo(function(){return Object.values(Kt.maps).reduce(function(Ct,_t){return Ct+_t},0)},[Kt.id,Kt.maps]),mt=ht&&se&&(Math.max(V*se.length,Ot)>re||!!Ce),Gt=me==="rtl",er=m()(oe,(0,E.Z)({},"".concat(oe,"-rtl"),Gt),X),ct=se||le,rr=(0,u.useRef)(),Zt=(0,u.useRef)(),Yt=(0,u.useRef)(),kt=(0,u.useState)(0),Xe=(0,M.Z)(kt,2),T=Xe[0],U=Xe[1],H=(0,u.useState)(0),k=(0,M.Z)(H,2),te=k[0],J=k[1],Q=(0,u.useState)(!1),Te=(0,M.Z)(Q,2),pe=Te[0],Be=Te[1],ke=function(){Be(!0)},Je=function(){Be(!1)},Ke={getKey:pt};function qe(Ct){U(function(_t){var jt;typeof Ct=="function"?jt=Ct(_t):jt=Ct;var Jt=At(jt);return rr.current.scrollTop=Jt,Jt})}var Ze=(0,u.useRef)({start:0,end:ct.length}),Ge=(0,u.useRef)(),Ve=d(ct,pt),at=(0,M.Z)(Ve,1),Ye=at[0];Ge.current=Ye;var gt=u.useMemo(function(){if(!ht)return{scrollHeight:void 0,start:0,end:ct.length-1,offset:void 0};if(!mt){var Ct;return{scrollHeight:((Ct=Zt.current)===null||Ct===void 0?void 0:Ct.offsetHeight)||0,start:0,end:ct.length-1,offset:void 0}}for(var _t=0,jt,Jt,hr,Ir=ct.length,Tr=0;Tr<Ir;Tr+=1){var Er=ct[Tr],Sr=pt(Er),br=Kt.get(Sr),Mr=_t+(br===void 0?V:br);Mr>=T&&jt===void 0&&(jt=Tr,Jt=_t),Mr>T+re&&hr===void 0&&(hr=Tr),_t=Mr}return jt===void 0&&(jt=0,Jt=0,hr=Math.ceil(re/V)),hr===void 0&&(hr=ct.length-1),hr=Math.min(hr+1,ct.length-1),{scrollHeight:_t,start:jt,end:hr,offset:Jt}},[mt,ht,T,ct,dt,re]),Rt=gt.scrollHeight,Nt=gt.start,ot=gt.end,bt=gt.offset;Ze.current.start=Nt,Ze.current.end=ot,u.useLayoutEffect(function(){var Ct=Kt.getRecord();if(Ct.size===1){var _t=Array.from(Ct.keys())[0],jt=Ct.get(_t),Jt=ct[Nt];if(Jt&&jt===void 0){var hr=pt(Jt);if(hr===_t){var Ir=Kt.get(_t),Tr=Ir-V;qe(function(Er){return Er+Tr})}}}Kt.resetRecord()},[Rt]);var De=u.useState({width:0,height:re}),be=(0,M.Z)(De,2),Le=be[0],ze=be[1],We=function(_t){ze({width:_t.offsetWidth,height:_t.offsetHeight})},He=(0,u.useRef)(),Fe=(0,u.useRef)(),rt=u.useMemo(function(){return ee(Le.width,Ce)},[Le.width,Ce]),Et=u.useMemo(function(){return ee(Le.height,Rt)},[Le.height,Rt]),yt=Rt-re,Pt=(0,u.useRef)(yt);Pt.current=yt;function At(Ct){var _t=Ct;return Number.isNaN(Pt.current)||(_t=Math.min(_t,Pt.current)),_t=Math.max(_t,0),_t}var zt=T<=0,Lt=T>=yt,Dt=te<=0,Vt=te>=Ce,Ht=o(zt,Lt,Dt,Vt),vr=function(){return{x:Gt?-te:te,y:T}},nr=(0,u.useRef)(vr()),Xt=(0,g.useEvent)(function(Ct){if(ce){var _t=(0,O.Z)((0,O.Z)({},vr()),Ct);(nr.current.x!==_t.x||nr.current.y!==_t.y)&&(ce(_t),nr.current=_t)}});function lr(Ct,_t){var jt=Ct;_t?((0,h.flushSync)(function(){J(jt)}),Xt()):qe(jt)}function Qt(Ct){var _t=Ct.currentTarget.scrollTop;_t!==T&&qe(_t),we==null||we(Ct),Xt()}var sr=function(_t){var jt=_t,Jt=Ce?Ce-Le.width:0;return jt=Math.max(jt,0),jt=Math.min(jt,Jt),jt},Cr=(0,g.useEvent)(function(Ct,_t){_t?((0,h.flushSync)(function(){J(function(jt){var Jt=jt+(Gt?-Ct:Ct);return sr(Jt)})}),Xt()):qe(function(jt){var Jt=jt+Ct;return Jt})}),wt=v(ht,zt,Lt,Dt,Vt,!!Ce,Cr),It=(0,M.Z)(wt,2),Ut=It[0],ur=It[1];P(ht,rr,function(Ct,_t,jt,Jt){var hr=Jt;return Ht(Ct,_t,jt)?!1:!hr||!hr._virtualHandled?(hr&&(hr._virtualHandled=!0),Ut({preventDefault:function(){},deltaX:Ct?_t:0,deltaY:Ct?0:_t}),!0):!1}),B(mt,rr,function(Ct){qe(function(_t){return _t+Ct})}),(0,c.Z)(function(){function Ct(jt){var Jt=zt&&jt.detail<0,hr=Lt&&jt.detail>0;ht&&!Jt&&!hr&&jt.preventDefault()}var _t=rr.current;return _t.addEventListener("wheel",Ut,{passive:!1}),_t.addEventListener("DOMMouseScroll",ur,{passive:!0}),_t.addEventListener("MozMousePixelScroll",Ct,{passive:!1}),function(){_t.removeEventListener("wheel",Ut),_t.removeEventListener("DOMMouseScroll",ur),_t.removeEventListener("MozMousePixelScroll",Ct)}},[ht,zt,Lt]),(0,c.Z)(function(){if(Ce){var Ct=sr(te);J(Ct),Xt({x:Ct})}},[Le.width,Ce]);var ir=function(){var _t,jt;(_t=He.current)===null||_t===void 0||_t.delayHidden(),(jt=Fe.current)===null||jt===void 0||jt.delayHidden()},ar=W(rr,ct,Kt,V,pt,function(){return $t(!0)},qe,ir);u.useImperativeHandle(Ee,function(){return{nativeElement:Yt.current,getScrollInfo:vr,scrollTo:function(_t){function jt(Jt){return Jt&&(0,K.Z)(Jt)==="object"&&("left"in Jt||"top"in Jt)}jt(_t)?(_t.left!==void 0&&J(sr(_t.left)),ar(_t.top)):ar(_t)}}}),(0,c.Z)(function(){if(ye){var Ct=ct.slice(Nt,ot+1);ye(Ct,ct)}},[Nt,ot,ct]);var tr=y(ct,pt,Kt,V),fr=xe==null?void 0:xe({start:Nt,end:ot,virtual:mt,offsetX:te,offsetY:bt,rtl:Gt,getSize:tr}),xr=f(ct,Nt,ot,Ce,te,ft,q,Ke),dr=null;re&&(dr=(0,O.Z)((0,E.Z)({},Z?"height":"maxHeight",re),_e),ht&&(dr.overflowY="hidden",Ce&&(dr.overflowX="hidden"),pe&&(dr.pointerEvents="none")));var Ar={};return Gt&&(Ar.dir="rtl"),u.createElement("div",(0,N.Z)({ref:Yt,style:(0,O.Z)((0,O.Z)({},$),{},{position:"relative"}),className:er},Ar,$e),u.createElement(x.Z,{onResize:We},u.createElement(Ne,{className:"".concat(oe,"-holder"),style:dr,ref:rr,onScroll:Qt,onMouseEnter:ir},u.createElement(n,{prefixCls:oe,height:Rt,offsetX:te,offsetY:bt,scrollWidth:Ce,onInnerResize:$t,ref:Zt,innerProps:Se,rtl:Gt,extra:fr},xr))),mt&&Rt>re&&u.createElement(j,{ref:He,prefixCls:oe,scrollOffset:T,scrollRange:Rt,rtl:Gt,onScroll:lr,onStartMove:ke,onStopMove:Je,spinSize:Et,containerSize:Le.height,style:je==null?void 0:je.verticalScrollBar,thumbStyle:je==null?void 0:je.verticalScrollBarThumb,showScrollBar:lt}),mt&&Ce>Le.width&&u.createElement(j,{ref:Fe,prefixCls:oe,scrollOffset:te,scrollRange:Ce,rtl:Gt,onScroll:lr,onStartMove:ke,onStopMove:Je,spinSize:rt,containerSize:Le.width,horizontal:!0,style:je==null?void 0:je.horizontalScrollBar,thumbStyle:je==null?void 0:je.horizontalScrollBarThumb,showScrollBar:lt}))}var ve=u.forwardRef(he);ve.displayName="List";var Ae=ve,ge=Ae},27774:function(nt,Pe){"use strict";Object.defineProperty(Pe,"__esModule",{value:!0}),Pe.SizeSensorId=Pe.SensorTabIndex=Pe.SensorClassName=void 0;var z="size-sensor-id";Pe.SizeSensorId=z;var N="size-sensor-object";Pe.SensorClassName=N;var K="-1";Pe.SensorTabIndex=K},79301:function(nt,Pe){"use strict";Object.defineProperty(Pe,"__esModule",{value:!0}),Pe.default=void 0;var z=function(K){var O=arguments.length>1&&arguments[1]!==void 0?arguments[1]:60,E=null;return function(){for(var M=this,A=arguments.length,_=new Array(A),m=0;m<A;m++)_[m]=arguments[m];clearTimeout(E),E=setTimeout(function(){K.apply(M,_)},O)}};Pe.default=z},79789:function(nt,Pe){"use strict";Object.defineProperty(Pe,"__esModule",{value:!0}),Pe.default=void 0;var z=1,N=function(){return"".concat(z++)};Pe.default=N},47242:function(nt,Pe,z){"use strict";Object.defineProperty(Pe,"__esModule",{value:!0}),Pe.ver=Pe.clear=Pe.bind=void 0;var N=z(95270),K=function(A,_){var m=(0,N.getSensor)(A);return m.bind(_),function(){m.unbind(_)}};Pe.bind=K;var O=function(A){var _=(0,N.getSensor)(A);(0,N.removeSensor)(_)};Pe.clear=O;var E="1.0.2";Pe.ver=E},95270:function(nt,Pe,z){"use strict";Object.defineProperty(Pe,"__esModule",{value:!0}),Pe.removeSensor=Pe.getSensor=Pe.Sensors=void 0;var N=E(z(79789)),K=z(57829),O=z(27774);function E(x){return x&&x.__esModule?x:{default:x}}var M={};Pe.Sensors=M;function A(x){x&&M[x]&&delete M[x]}var _=function(g){var c=g.getAttribute(O.SizeSensorId);if(c&&M[c])return M[c];var u=(0,N.default)();g.setAttribute(O.SizeSensorId,u);var h=(0,K.createSensor)(g,function(){return A(u)});return M[u]=h,h};Pe.getSensor=_;var m=function(g){var c=g.element.getAttribute(O.SizeSensorId);g.destroy(),A(c)};Pe.removeSensor=m},57829:function(nt,Pe,z){"use strict";Object.defineProperty(Pe,"__esModule",{value:!0}),Pe.createSensor=void 0;var N=z(20953),K=z(55202),O=typeof ResizeObserver!="undefined"?K.createSensor:N.createSensor;Pe.createSensor=O},20953:function(nt,Pe,z){"use strict";Object.defineProperty(Pe,"__esModule",{value:!0}),Pe.createSensor=void 0;var N=O(z(79301)),K=z(27774);function O(M){return M&&M.__esModule?M:{default:M}}var E=function(A,_){var m=void 0,x=[],g=function(){getComputedStyle(A).position==="static"&&(A.style.position="relative");var a=document.createElement("object");return a.onload=function(){a.contentDocument.defaultView.addEventListener("resize",c),c()},a.style.display="block",a.style.position="absolute",a.style.top="0",a.style.left="0",a.style.height="100%",a.style.width="100%",a.style.overflow="hidden",a.style.pointerEvents="none",a.style.zIndex="-1",a.style.opacity="0",a.setAttribute("class",K.SensorClassName),a.setAttribute("tabindex",K.SensorTabIndex),a.type="text/html",A.appendChild(a),a.data="about:blank",a},c=(0,N.default)(function(){x.forEach(function(n){n(A)})}),u=function(a){m||(m=g()),x.indexOf(a)===-1&&x.push(a)},h=function(){m&&m.parentNode&&(m.contentDocument&&m.contentDocument.defaultView.removeEventListener("resize",c),m.parentNode.removeChild(m),A.removeAttribute(K.SizeSensorId),m=void 0,x=[],_&&_())},r=function(a){var f=x.indexOf(a);f!==-1&&x.splice(f,1),x.length===0&&m&&h()};return{element:A,bind:u,destroy:h,unbind:r}};Pe.createSensor=E},55202:function(nt,Pe,z){"use strict";Object.defineProperty(Pe,"__esModule",{value:!0}),Pe.createSensor=void 0;var N=z(27774),K=O(z(79301));function O(M){return M&&M.__esModule?M:{default:M}}var E=function(A,_){var m=void 0,x=[],g=(0,K.default)(function(){x.forEach(function(n){n(A)})}),c=function(){var a=new ResizeObserver(g);return a.observe(A),g(),a},u=function(a){m||(m=c()),x.indexOf(a)===-1&&x.push(a)},h=function(){m.disconnect(),x=[],m=void 0,A.removeAttribute(N.SizeSensorId),_&&_()},r=function(a){var f=x.indexOf(a);f!==-1&&x.splice(f,1),x.length===0&&m&&h()};return{element:A,bind:u,destroy:h,unbind:r}};Pe.createSensor=E},82059:function(nt){var Pe=arguments[3],z=arguments[4],N=arguments[5],K=JSON.stringify;nt.exports=function(O,E){for(var M,A=Object.keys(N),_=0,m=A.length;_<m;_++){var x=A[_],g=N[x].exports;if(g===O||g&&g.default===O){M=x;break}}if(!M){M=Math.floor(Math.pow(16,8)*Math.random()).toString(16);for(var c={},_=0,m=A.length;_<m;_++){var x=A[_];c[x]=x}z[M]=["function(require,module,exports){"+O+"(self); }",c]}var u=Math.floor(Math.pow(16,8)*Math.random()).toString(16),h={};h[M]=M,z[u]=["function(require,module,exports){var f = require("+K(M)+");(f.default ? f.default : f)(self);}",h];var r={};n(u);function n(e){r[e]=!0;for(var t in z[e][1]){var i=z[e][1][t];r[i]||n(i)}}var a="("+Pe+")({"+Object.keys(r).map(function(e){return K(e)+":["+z[e][0]+","+K(z[e][1])+"]"}).join(",")+"},{},["+K(u)+"])",f=window.URL||window.webkitURL||window.mozURL||window.msURL,s=new Blob([a],{type:"text/javascript"});if(E&&E.bare)return s;var l=f.createObjectURL(s),d=new Worker(l);return d.objectURL=l,d}},25365:function(nt){"use strict";nt.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAA0VJREFUOE+V03lI01EcAPD3fjucs4nmwrXNOY/VdBoe0Tqggi5NgsLaWriWZFQEEvRHBxmL+iMo/KMg6KJSCy03mbapo1vXzCvJUstjZTM1bUzZZP6uF5M0Zwr1/nsHn/d93+/7QjBn3GhuZkm5scvRJIgODWX7sKCQT0oRGIAQorlnp+cIAAhnJghhhobvWRPjQ/rJ8eEVXIxGwcFsGBYWQUTFLrN6yCB9qpjdthA2BSGEsEd1X08NOlrPSiM4PxWJCSNL+HwfSZBMp/Mbr6+vVyyVyQm+SJYrCWea5sOmoMqm4ezu9rqSrUpFjzxBPgpoCkCEwO+3IJIgWRWVpiR5cirF40crZZGc3rkYdDgQp+advUXC9YZs2rjBQRCTwK/T6E9KaJoGJEVxyw3GtNUbt11KWSYp+AuyfRlf86baVJezc0sLb1HIxGxg9mEIIaiurVXgJOiUq6WbV8KVRMD+s45hbftL082DWk0TQohaKJn+9bb3H6Ntr16hvfvU6TExMe4A6G2Xc4+ttqIkL1fXBAAIuGVORMje3BpvNRrxM8fz0xfHxY0F7Hd/HVSYjKVtGpWqI4THc2ELhIRhTHjzXlHax4Z6++3i4iwIIRkAIYQY9+9cfxHKFyVtz8ho9/l8NIbN4mgaQAYDfHI4hRf152TxAsHhK9ev3for2f6F1sZn6w0VFvMuVY43WZHYi08SOKJIP4AYTBbW7XAKCgsvx0tEQobbg1d1fXj/eN2a9Ad6vZ6eBmd+ttlQpK15/uaaLHEFR7lK6QqPiPC63GMsm80eXmN5wmNiAJKIBRjsYCAQCNFAf98lq3lvAYSqqQLNQFNVaXyuMFue6oZ/utZ5J3Chx+NBFEX3xEnEpr5+Z5b1RX2mIHIJyFbngFHXGOr93FX41GI4CSGkAqA/fdcd1N8+xKWpRUiakuLxJ/bosXxdWenDuziOw6UiMdit2Q/cY17U0/nhgtViPD8vNF/h/P2oyz1U8KSqsgDHfQyhWAyyVVow+GOUdo8MnfhnaLq5NdrcC9XmylMUSWFLRSKQuWMXaHlr7/ov6DfGOJB35LSpovw8RRAYmx1ErF27Wvff0HRku9WaA/b613lRUdKrDQ22sl+EE3lgNS3QYQAAAABJRU5ErkJggg=="},75309:function(nt){"use strict";nt.exports="data:image/png;base64,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"},19664:function(nt){"use strict";nt.exports="data:image/png;base64,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"},77882:function(nt){"use strict";nt.exports="data:image/png;base64,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"},66832:function(nt){"use strict";nt.exports="data:image/png;base64,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"},47558:function(nt){"use strict";nt.exports="data:image/png;base64,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"},71979:function(nt){"use strict";nt.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAAAqCAYAAABfjB7GAAAAAXNSR0IArs4c6QAAEy5JREFUeF7tW2l0VFW2/m4FkhBmQ5iEJEwBMcgoElwMMoOg0q20ywkJQj/1MXTjoxVlkjm0QNs2AgIapNW2gRYRbGRMCDJGmWcIUxISyASBhITUfevsM9xzb91UgM567w8lrqq6de+puvs7397fHmJcPxJvGoYBGAYMw8Of2X/sGNhb+Rm9Ecedz/w8E4BpGPDQlYDpEWuYdCl9VtbD42WriOvZivwfYJrqmR0xTfo2fpxe8uvYcfpfXsuOm16Yppc+97JndqrXBPvFpleuJc6R14tntq5BX8Ov4+uz1/J7vfy+tfP572Hr8d8oP2N3T8e03yruzro/IN0D73bDCBjfYMDUy0be4S8IIA6ExwJEgsQOww4SHaHz2T9+DfspHA8DXjeQpNXLAMkQBiFjixuSsHLDSzAskNhxbkR5zPmaGVQazG5MQwDE1y0h40sj6kZnv4sDxD/Xz5Gbxz9I/Fq/IBGY3FAemNmG4Wlt5DKAyOBslzMGcYNzO5bNJDpfMk17/r8BSRpTwKmBxHev2LGScWL32z5jTNJYA3hhehkrJDstMOR5nD12kBTL3cC7DyaRTeH92sg9tFy4OGZoO5NsIJHr4zThjBLuT7LLAabN3WnuTTm5cmOSxQzafn6ZZLk7nW3k7hT7uAsrlUnkgvlOd2OTDXwnWNpGEbtHc4PSZ1ju3AOkG7kHl5sUN8hgHCDd3dlBEu7OBSQes+yM8w8SB9nfQ3d3FEGYK+N3JrEg1+XLFHGTjrikztMAkAZlIAmri/UFSAoQ/0yyuTyfmGSxUcVP8du85J4t0BmDyTDsNzJ75hxYpkQCJ4MbkzTBIN3Y/wNIVvwRIkLFJH5T3NicUfaYJHe8ZggnS7iCUCBxF/cfgCR+m0+s0tydTSy4CgcvjNxflpoU3ZVacyg0FZMskKTCs9ydFbPcVOB/7O5IcVkP2nWuTGIgCYUl5Z9SdTqrJBusgK/UFVOczpikVJs99rjFpLtmklKaWqz0AckQAPEo7wckLsFt0ptdIoC1qbxyjkklxYW4dGgPQhs0QfWwh7lUZuRXatykjc/xYkyyZLeU2iqo26Q3O1PKZRl3JIMcIBGT7iiF5VR3EpTzB3ciMKQK6jSOFjJcqjIX1ecQDtL92t2dCSM7eYkms11AEjHJAsGDwvxcXD6yV8hsGUuk7Jbqjz8LOcjlJR3iYiOiTWcEVXuI7Cq46RqTTG8J1kyJRYPojuj0/FuKSZR9sN0umGSBJHdkaUyyhARfQoJkl89C45Ohb13Pxq5vFiDqyQGo37yt2As8/+F5Es+nfv3xS2SlnkWP2A9UbuaU/nKz2JSgi3iQG83I3r/I5OzgSarQzCoptRJVSwRkXz6LLYsmoUJgEAwPS0uFAyo7D4VZUoI7RbfRb2wcwiJaUDKbcfoQLh78mbPAZY0rJw+i4HoOGj3eXWOOlcCyS8Jbd0btJq1kcNKYxCWzHpPsSaxMakt3d8VFhfhlfTwuHd6Nlt2eQVTn/shNv4DC/DwrYfYC16+m4njSD3i023MIqVFLJKScRcFVqqNqaH2bfLeBJUAisAXw7A6NrH0LFUBSvZGIkMzRqweUiRpgAG1dPBk9RkxGWKNHuF0ZUJr0tudRbANwg15LOYaNn0xA37FxqB3Rgq45lvA9kv+1FLWbtBS+qiykrWoDuyDz7DF0eG44WnZ7Fiw+8S3uyyQ7SG4xyXJ10m3Ja9h6p/dsxKGf/oHWfV9EZspxpJ86qEVG/y/Dozshusfz7kmuTeILRkp2Zu1daPISDiNNgI1JPiAJsLIun8G2xVMJoFqRLZB18RQ3iIhlKk8SlCDpHhCAsMhHkHnuKH762/voOyaOrmX8O564Fsnff4GX531nEege8qQV455D+0GvE0DSl1vPVjLrE5P0oKyM5Mskinfi8ytnD6NWeDN4PAEqDzqe8D3OH9iBnsMnoWJwCLeFtwS5V1NRLexh38qEQ4a7uTvJJOPank9M6aacIJnS4A42MT/LAHrqjYkIa9QSq6cMRUlxkd8tVLFSCIZM/wpXBUD9xsQhNKI5udIzuzbiyKZvMXjKcqQe3SeiVVksIggQ3rIjVk2NRXSf3yGqUx8r1ukMUj6ePLusIWk1O11Y6MJBBHdvCYoLbqFicGUBlFW3y0k7h4QVcWjT72U0bBUDWTo6/2siDm9bjSeHjEKNepGlguQvJlEeyAByFkGdMcnJpGwG0JIP0f2NDxAW2RJ3igp4dUHkSDtWxNHrrsP+xJNX9sbjQWBwZVxNOa4YVDuiOaVl7PupwGoAK8cNpjh1t4/XFqxToEh1p+pdYhFeKGVGFfVVBpJQFVYQLx2kAxu+xJVTB9Hllf9RscU0S3D75nUkxM9B5ZphiBnyNs9zvV6Kd96SEuxa9QnyszPR5ZV3EFSpyj2AZCXfxtXdf+WJqowjqppgFw46SAyg7Z9NQ/fhH6BWoxaqYCrX2bZsGq3XY+RkhzQ3cDXlBDYtfB99R89BWGRzgk+CxH5FyZ3bSigU5Gbj6NY1OLt3CyLbdkG7Z2MRWKmSDbuAisG0a6VKpJRV5EmKLeRSrOoyJ5EbSFa1WZfg+TmZ2LlyHopu5aPrK+NQrXZD3LqehaS/z8ONrCskHBgghfnXcbvgBopu3iDwmIgovl2Iuk0fw+PPxPrW7/RKh5eDwpNjUT1n95K562ObzFalHgJKB8kAc3ns8xwG0NLp6D78fYoj7OZLiooVGElfzqXXXYaOF2oQqBAYDE9ABWLQpoUTCaBaEc1VUVa2Im7nZeHisb24dGg3rpw+hMrVQ1F48zoGvfc3VHmojg2c1OPJOLh+Jdo8/SoaSPkL4HZBPu1iNybJtoMCSakmWVi1qt0Vg4NV7CkqvIWk+DjcyEpH37dnIT/7KhLiZyMopCqCKldBIHsOqYLASlURyN4HV0alkKq4mXsNh7euRodBwwgoFRudBVeZo9lKS14YGT//RQGkS2qrtmaBJGNSTuo5JCybju6xExAa2QJpJ5Kx66u/+PVKXV57Bw2iO5GK2/TpJPQdPRu1Ihj7uGs7mbQB5/ZvQ9bF0yTfI9p1QbOYfqgVGYV/z3+HVCIDlW2vy8f242TiD6SiGrXvhtb9X0K1WvVFTQuIHzvobj1kqecxUfPChyu5axRGY8CnnzyAcBZrTBPeO8UoLixAhaBKjLYUpzwVAmB4KqDkTjHF5cDASji9eyPCH+uMikEhqi/lbGnoNUG5iahklbFzgYpBVqFUK5qKfo/Mk9hOz047i8RlM9Bt2HvEoKKCm8jPyRDGNnBgXTzdeNtnYpF/NRXBVWsgNDwKQZWrEoM2fzoJfUbPQlg4k9k8Rp3du5mka8PHYlA3qg0qVgxE3rU0JH+3DGknfiFG1m70CHLSLpD7qNe8DTr8ZgRq1ItQRiZN4zVxZs8mnmfa0ioeYySrRLYhkylVBRd+hjoyke26qj6SW/sh49QhJH01DwPG/BnBVatjzfQReLTHb9Dsid44s3cLTiT9QJ/pUl3GPLmevXXBE2fZ8KNEPDNpgWmKCC0B8mUSZ5E8npV2DonLZ6Dr6+8SQE5gE5bPJNMwlbdl8SRUq90AHX/7X2Sda+dPcIBGzeQuTmwAoTDIgHlZ6TiVtAEnk9ajduOW6PjCmzi2eTXOJW9HzIujkLJ/O7Gs+4iJPgyQIHGNZ5WFdHendzply9Y9JmklGpjEloTPZ6LNgFdR8+HGuHhwJ/atWYLB734KT8UgrJ4Wi0d7MoD60IY7seMH9B/7kVVt0OS66tA6+k56TZAafJk75hODvJRnWszxB1I2k5afz0QXBhDFEb1NYSDx81lkuO7DJ4K5w82LPkC/0XGoXjcC184fx+ZFk9H7v2ciLCJKMMiDmzmZuHAgCRcO7kT25XOkjNoOfA2N2nWjmLLrm48pLg2ZuRL5OdewYe5Y9BkzG3WaRPu6KRPwyADMawp8F/MAYFUZbK1zf8KBC4zzvyRi7+pFeHrcfFSqHorTMj2YsIQ+ZwBF9/otAXRmz2acSFqHAWPnKfVmdWXttT+9h6ReM9FALi5xnmo3eIUI8M8kAzlpKUj4YhYBVFx4CxmnWUYtZTaQdvIAGa1+i3Z0NDfjEmrUCUf9Fm0pmG5ZzACagTCWBwGkdtbOfJPiTETrzmjU4SnUaxINrycAKfu3IXntMkoMWbmn96iZqNO0FRKWTqf3/cfNc48jDpCkuhNRWgNLuBTVbtZ6N6L5x3H1YtvSDwnlbrETyOi/ro9HxunD6DsqjuYbVk0dhuheL1A+dnrPTzixYx2e/sN8m3q7W5BUJSMj8SNiEJdTllLzBxIDKDF+NroM/RNu5WXh0uFdVr4jo74WGWRRIKL1k6TEtiyZgl5vTxcAcfYx6V6jTkNSe0w056alIPn75cg4exQtugxEm/4v4ZsJL5G7a9a5HzFzfdwYPNbvRbQe8MpdgeRkkp1ReuNPME3rzt7MzsS6uaPw+OCRaNS+Kxl986cTUbVWPTzO3Ddj0JTXCaDmMf1xes+/cTxxHQb+cT5YLS/z3DFiO4UKW+fXZcZBqzQYVxL+LPIgORjC3Z3H2V4QUz/M2Nlp57Ejfg66vjoeD0XyagB7eKhwyqW45SJ5MVUeYy5uy5Kp6PUWA4i7OP45UHTzOs7/moRzyduQfTmFSipPvPAWajRoAm9xEb4e/zw6vzwWjTv2pO85sX0t9v9rKfl9liO5PhxMUjU65e6kvNaZpNXzBEiHN3+L4wlr8eyERbSJ8q5cwsZP3kO7gUOJ8eyxevJQtOo9BFGd+hGDWAlr4LgFKLyRgx8/fhc9Rk5ClZp1VEzSBUJpfSQjbftck7W7pUHJVXkEk0qJSTnpKdgRPxeteg1B9ToNrV4SoWMBJFsUOgi5Vy7hwPoV6PXWNNQK53lQTvp5HNn0T6QKtdYw+gk07dgLdaNaw/AEkJvMvHgSGxeMR8/fT0W9lu0UFoc2/B2HNn6Dlj0Go/1zw0sByYRHq68qSSt3qgLLPvkjWw5MWa2bMwqhDZui0+9Gg7VAmAdh9zLgD/PgqVCBjL5q8lBE9x6CFjH9cWr3RgJo0Dsf0/1tWzYDfd+egeCqNa3RK22ky2cIRcRQI3VbHDFIgsQoSPcim3Gy06oxIzv9PJJWzHU3xl0e7fnmNISFcwYV5LGs/COqFjBREFS5GiGdd+UCbmRn4lbuNZxKWo+C/Fw8P3UFAipUVDN37OuSv1tKcalhq06lf7tpgcTFlNWlJePYQKI3wpBAxpkj5Ja7D3sXdaPaklBgOVvMi6PBNpOsUqya9BrVBJmLSz26F7tXLUTj9t3JfbOKw6A/LqCSl7Ph5xzn0tlkpG2dQ0MjOkiq0aaBpHdTc69cwM9fLaASf836jcXpHj6YqNoTvAXB662iFcFaFakp2P2Pv+KpEZMQ2qCp5grtk0Ls+87u24J9az5DSPVQ1KgbThWDanXD+ZrMhGIwUhBXudrSULr7mTu7u8vPysDJnT+i7YCXqeJ/cucG+gXNYvqKFjs/P3ntUtR/pAPqNGmFkqLbOLL5n8hOPYOACoFo2OoJsBjs5tas1rlWkhKVBiN16xxiECV1GlBlgWRv5Hmo/U3ss8Ufy+hUDlVy3IpVMmbJlofv9CoHmP0+xnI533C/IDEDSXd3r0xSlWe9XeAyc8cZwGuC9lYCG4yUk6lWSUl2ZZ3gEctTt8xWlQQJki0mucwqcKFmFwIcXC4IaGf7NPwkk1zmG+T0KoFsiQa5SWR+5gRJVsBlHU81KMroJekg2ce5hNH8uDtXkLTpIuesnN5L4sCxmrtLS0O2zh2gGpc3z9Jms9kO5YrKAom7J9+pH6daEwCp1rkbSL6gKgYJBtOkEO9PqEKqPinkxiT1+6xszLV1bnN9GpOoKc7UnjjBHpPEjhesUcJBi1sqZlAwcTb8nEzSx5Bl5ZrHOznbIOpO7Fg6AWR3M0zB8f6MJZfdQbLiktXuZj6ajw+LYXk/rXOLdfy7VMvcdfRYukV3d6fmKRi03BVQ9d3vwwaSGABxBan0riwnmyUoTJSUEmesriwv80ggrfxLgSRYBBNfG5c2zbT6QZo7k000HSRXo3Or2oI9b53z425dWcp7xHyDzziXPmLscHf2DcGLrHrDj4sUbmEGkvxufyCVPr0qAjZbUBuIpLVEjPGKHo5eqiEXWKoLs4Nk/ZWEHSQRk7KDEdzauPjTDNFu4FpI5UPCwBaT7Cyyxxh5rRQCnEGcTWWApP7cRRMOkkG6IlRgSRA8YlzZP0h3wyT/IMnhE1F6dcwxcIls/6uKskCy/pRFMknLv4B0mN7twSWB40M6jbhs/Lw4djGAkaXtss6/X16Wo7jLzOfBafdjAePot1MC83IubQfMGLcFHgB0P2Ytv2uIHfsXj6xXhJJkwKznXPoBQOVn7PtZSbmvPctiY7wl2G6aCNQXegDQ/Zi1/K6xxZfdn70x0uv1spikHg8AKj9j389KPgLAKRoeAHQ/Zi2/a3wAcoqGBwCVn7HvZyVXCa2LhgcA3Y9Zy++aUnMcKRpiRi4PKr+ve7DSvVrAbxLKREOnEUuX3OuiD84vPwv8L+YNX/sKgQHCAAAAAElFTkSuQmCC"},91833:function(nt){"use strict";nt.exports="data:image/png;base64,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"},31081:function(nt){"use strict";nt.exports="data:image/png;base64,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"},96593:function(nt){"use strict";nt.exports="data:image/png;base64,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"},42922:function(nt){"use strict";nt.exports="data:image/png;base64,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"},20345:function(nt){"use strict";nt.exports="data:image/png;base64,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"},79005:function(nt){"use strict";nt.exports="data:image/png;base64,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"},39057:function(nt){"use strict";nt.exports="data:image/png;base64,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"},96908:function(nt){"use strict";nt.exports="data:image/png;base64,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"},57177:function(nt){"use strict";nt.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANQAAAA8CAYAAAAeyZT3AAAAAXNSR0IArs4c6QAAEpJJREFUeF7tXQeYFdUV/mcbS1F6UUEsoLC7IGKNJWpERbEgSoxGo7HEQFDRWCAGgdASNBbEhglqsC1rAxVBNGg0qNgLsJRddmFhe3vby3uT7393ZmfeezOv7M57W3LP9/EtM3Pn3DPn3n/uvf85c58CKdID0gOOeUBxTJNUJD0gPQAJKNkJpAcc9EALoNRpCaqt3rh4QIkDvH/jxV/zuZZjrVy8uRzvSzDdrx3HxWnnEnz1eevhOf/79HpNdrAs6wrQr9VvtiMc+/kc0HSan9Nrq8Uzt9hquuZjv8kPev26r8x16X5VPYDHDYT7Vy/L8vo94d7P8u5mcV+w+1U34GEZ7a+5Tg/vV31tbrmu36ff23JcB9VdBo9a5v2rekq14/1wN30GNXGzctPKKgf7eExVKUGBpJsSEkgWYPMHXEuH0sHlB5iW8jrAtE6sd9AW8GidVD9mR/fvxDrAzJ3Yp/ObAGL3srC1XweJnf0awHUQWgGJ52i3P+D9OyOP/QHSAjYT8Lwd3gRGH3Bp5dza34D7LUDsD04vmPzuN9cZGkSAF3xm4JttNoFWdasNlRVNta4SV21l6YHakvyPGurrNivA12kZ2B1TdLSisvAA1QrF8hbpAUsP8EWVkAwkdgMSugHxiUB8EpDcC+g1AOjeG+BciSBWPXA3NaA8Pxel+7LRXF+bCwXpShxeTX0V33ZED0tAdcRW+X+2iaN3j35Ar/7iX/e+XnCpbg9cZfkozctBrauci/9tioIlKSpeUTLg7iguk4DqKC0h7bD2QPJBQP/hUHsNhsIVv+qBq7QI+7O2w93USGDtUoEFaavxoqJ4x7Z2FQmodnW/rDxsD3Ba2PcwqL0PhaLEobmxAXnZmaiuKPOqUBRsSlBx06gM7AlbZxQKSkBFwalSZRQ9kJAEDD4GSD7Yyz6WFu5HQV4uVI+Ho1W1ouCe1NV4OooWBFUtAdVenpf1ts0DfQ6F2mcoOMurq6nCnp2Z8DAMwNEKWJEKTG+PtZUEVNuaVd7dnh5I6gF1wFFQEpJQW+1CTtYueBgeEPLuwGRcNWQVamJpogRULL0t63LeA/GJUAeNhBKXgOpqF3Kzs6Ey3iVGqs29gQnDMlDnfMXWGiWgYuVpWU/0PBCfBHXQ0VCUeLgqK7B3b67I4BDyZloKrlTmQ6AsyiIBFWUHS/Ux8kBCMtT+w70MYGlJMfILCloqVoDH0jIwMxaWSEDFwsuyjth4IKk71D7DGKzCnj05qK0zZnoKMDUtA69F2xAJqGh7WOqPrQeYvtSjL+rr65C1JxeqMfUrTkpAyrGvoCSaBklARdO7UnfsPaAAat/DocTFo7C4FMWlIvBLUYD0tAz8KppGSUBF07tSd/t4ILE71N5DoHrcyMrJQ0NjY4sd8QompazGumgZJgEVLc9Kve3rgZ79gW49UVVdg9wDhWZbMtNSMEaZDxEFdlgkoBx2qFTXQTygxHnz/gAPdu3NR2Njk9mwmWMy8Fg0LJWAioZXpU7DA/0OB479hTguyQZ2/Sdm3lF79IWS2B2llVXILylvqVcBuLAamZbh/euotA+geg0E/ponHqSpDrizj6MP1WGU8WM671eq7fhVweTFwIQ/Cpe8PRfY8NfYuue4y4BbNbb6y1eA534Tu/rjEqEeNAAejxs7cgvg4VfGmijA8rQM3Oa0Me0HqKUHxLM01gEzD3b6udpXX+9DgNNvBs64GVh0PFDj+Isw/Oe7fAlw3t2i/NoHgPVLwr/XiZLtCShGpHr29zJ++aWVKHX5pPU1Iw5jx6RjuxOP2QLUsPaUcLJG6uII1ZUBtTAb6McAI4B7BktAtdcIRf/zM/vkg9HY3IydeQxBGbMFBVifloELnezecoRy0pu6rsU5QJ/DJKDogXYeoWiCp2c/7mWF7MJy1Nb7kBNwmkaXgJKAioYHDJ0dAFBqt55Q4ruhyFWDooqArzkcpdE7HqBOuxE4aKBokE9WALUGO9PSStxc4Px7xWFzI/DhI0YDDjoGOP5ycbxjE5CzBRh/JTDiDGD4CaL83m/E+W9e8yUM+g0HTtIC6f56/bvd8JOAURp75SoAKvYDh58gStG27tq68L3FQGOtOP/TOmD/j76aOP09YSowbBww9DigtgLY9y2w7zvguzeEvf5ifsb8bcAPbwNjLwF+Pg3oPQTgubfnAcW7ASfXUAOOBH52PTB0nKiHn6UXZwFFu4DPVwEFFssRK0BRz7gpwn/0U+7XQM6XwFfpYrsxpyUhEUjqhdqGJmQXVgRoj1NwR+pqLHOi2o4HqD99DQwdK55t7mjRKfyF++4t1xIf66uAu/oZJcwNuGYOMHgkcKoNs7TtfWDltQZoOd9eshfoqel76OdA9mfWfp6+FkjTpt/vLhA79Jw1PXibrLoZ+OwFo8yIM4EbXwT6MF5iIblfASumAuUaI6oX8e+kOz4Crn3GV8HjFwLbP3AOUJfMBybO9m7eYCnuJmDjQ4L4MIu/rR8+Bty2zvCxuezuT4AVVwHVxU70bR8dao8+XsY1c38F3Ca2j4WcpNG7NqA4MiT1AJoagNwtwIFtwJBRwPATvVF0r5TmAItPBOoqxfEVDwLnapn+n/4DeHlaYONyVCHw4hPErqoPjATOvRM4Syvr3RVWE2/jaQvhF38HfP4vcYEd7ZZ0sWsu5cBPYlTiW58j6cCjxfmqYuDRCWLU0cXcSQ9sBQaOEPvcmcVJQF08F7joz4b2sr3iRcOX2eHjxT9dVl4HfPWqta0cnRmX4r58WZ8CRbsD24Mvj8UnOE7kqN16eT/t2FdWjcrawFHfKRq9awOKzVpdAjxxCcC3vS79jwBmvCs2+6CQStbfrJxOzdsqzte5gFmHAU31vp317BnAL7VpJke55ZN8r4ciJQjyedsM4uLl6cCnzxo6uDcdp42XLRDnvlsDrLjSupPqZ7duAD5+EqgqEmBkh2fHb+uUjy+eJXliI0rK6/f6TrF5ji+TK5aK65wCzh1lbyvb48nJQM4XRpkBRwHT3gIOGS3Obfw78OYsX5+29YgvnLgklNc0YH+FNgX31ekIjd71AfXU5cCP7wQ2B9/q7NScwjTUAHNGCPBR7tgIHHu2+D8DkQxImuXezcARJ4kzz14FfPuG7/VQgLpkHnDh/eIerj3+daN1d9GnlQwM862tr7/MI1QoHW0FFNdLE+8ToQ6uFTlFtpJFe4C+Q8WVmb2NdaO/rS/cCHyxyro95m4Ve9ozNsn24MvBKeHW10nd0dTsxo5C663TnaDRuzagOJ2bM9K+SWZ+ABxzlrj+1GTgx3fF/0kS3PSy+H/mv4FlFxg6zCMYG3z28MCFdChAzd4CDDte6Hz0PGDnR9Y2nvxr4IbnxbX3HwTe+pP4v7mT8mVw/5HW5A3LthVQ4XboO94Hjj1HlF403hr8ZfsEULQ9HwJUz1gHpJwnTj89RZAtTgpHW9WD3cU1qG+y/iK+rTR61wbUD+8AT2uMn1XDTH0YOEfLPsn4I7BJI3q43zZBcdAgsUZiJyjfJzSYRxcuwt+cHag5FKAerRRrO8p3bwVOKXWNJEdSzhdHHAU5GvoDas/nwINn2nc7JwHF2NrxUwCydP2PFEQMiRzulcdjfV1Ke2iXv61b14vpt52Y169v3Ad88LCTcBJ2KvEoqmpAUbUFeypqaxON3rUB9Z9ngFdn2DfK+fcAzHWjbFoOZNxplL1sIXDBfeJ47VxgvVbuLztFh6LMSwWKdgbqDwYodkpej1RIpS85ObCTfrUaWPnr6AKKDNlVy4DxUwURE0rsABWqPZhzOEXLNfz4KSD99lA1RXbd+1NCiahrdCOrzH4jpLbQ6M4Daswk4MhTxYNu32idXcxcN7JklPpq4K6+hmOcpM23vAw8f7290yc9AEyaI65v+BuwxsRkkbiYv0PM6fWF9lGnAXd/LMoza/qRc611BwMUR6ZHKgz6mbE2uymQWTsZNaspX6iE07aOUInJwO0bgKNPM9qL8bHCXUBVoRhdmxuAibOMaawdoL54EXjht/btYR791y0E3pkfGWBClSbjH0c21IPM4no0e6yTlttCozsPqEsXCOdSzOyZ+WFJs87SWJ7CncD8VOOqeX2xYByQrzFu5vsZgF2oxaeCxaHIdDGWZCfXPgucdoO4uuoW4DNtvaKX/8M7QKq2fvr7OcDJVwNn/k5cff4GYMtLkQOKd5hz/exGuWCdI5Lsg7YCimzj5EXCmrzvBYXP4LO/zPrcCGzbASrYS4j6rvuHCBxT7MiLUKAJdZ3Teag44GpCWZ39j3a0lkZ3HlCnXAdcv1I81tcZwD+vCXxEc5nMD4FlE40yv38TGHuxOF5+MbBtQ+D91z8HnKKxTcEAxSyDeaMFfewvDA4TlHrO3UNnAdmbfUsx++D3GoPH0S51oghIskPNHma/9gm1hjIvvv0pc7MF4yaLNQuF9Dzf8JRYAop0NmcdlGeuBL5fE+hL/qbT0gJjOmgHKLbHn48CXD5f0Ap9bA/67eDB4njp6SKbxWnRfjmzqr4ZuZVBszJaRaM7DygGTe/TsgsYUF0wBigx/SACpxB3fyJSbSj/Xga8pn2vw+OpjwDnaOseqynbYWOB2V+KqRglGKB4neksVlQvyQiSEhQGVJdoNLi5ARkPWpRtgE6/xnhP+h32TW1eZ5FlJNtoluMuBW59XZxhytL8NKCh2rcMR+H7vzFSmB7+BcBMAkosAWWegvPlyJekv5hBx2t2gOK1/64EXro1UMeEu4ApfxPnmYa0VJti2nu59Vfi4r27y24vaYYnyLdqraHRnQcUH/P29cAobX1RXSpAw8U7O8mp1wGHalM8bu7OEcTc4UZPAG57z3AWsxW+eEnM148+XUw/yL7pEgxQZOgIvG9eF8HC4l3A4FHAib802D3qefJS4CdTneamumgOcLFfOs0ixoR+sG9QMx1P2j3zA5EzSFZQF3MnZMYA10cMPvOzbU4zT77GyJbwZ8daCyjq58sjHPlhrfDJb1aKNqMU7gBemgZk/VdkeHCtfPliY82s6w0GKJYhkULSgdN5Zq4wTKGzrbzOGQtnLtES9gmPB/uqPKhsCL6hbFwcLkpNh03nCDQwOoBirIajlJ4gaueY95cCb2kBTnMZc0zD/16CZO0cY14fDFAEEmX8FdYWsJOvWwAwF89OOCVcmGWkCIXz9uR0lNNSf5mRLH6rlsIg6LQ1Rt6iXf1ct3B0qncZJVoLqEg6qM5sWrUlM0hIruiM386PBdj09aUdoLZtFOSGTq8HtK1bZKywX0RVvL/cBlejir2u4D9+qCjYnjoaY8Pd1CU6gKIz2BGvecpIIDU7qDRX0Nl881oJf7WOMYnTb/K9Wpkv7vtxXXjJsWTASB6Q8uVbVo/9UCunWqRlv18buunIcumZ5czt46gZSs64BTh7OjBwpJFnZwYU7+cCmTlyzB0028ZrXKcR6Jxe+mdgxxJQtOWIU4CrHzdYPP3Z2Y7fvi5GV+b7MXmWYgcopi0xiM2g+aARvh7kfhP0LUf0GAk5vu2l7qDTPpoSCY0ePUDpTunRVwzrnO6xE/NNFm5KCXcBHTJaLFT5yQWdHkrsOhs7L6co+ucCTKMJR9jRF+cCjMUwK2HW0MD1Tjh6gpVh+hPz2Q5NE+ApyBTrznDo9LbWHe79tHFIigACaXJOH/VUrXB1mMuxTbne1j+nqSltjZY235NX5UFFiGlfJDR69AHV5keOUEEkb+9wVHMac/UTouTm5wBmjEvpMh6oblKRUxnGb14reHzMaoSMNEtAheoac74HDkkRpZae4ZslHepeeb3De4DL6O1load9/JQ1nE1dJKCCNTmTPUmQUPi90kItobXDdxNpYCQe2F/tQXl96J+PUoD30jJwUdDZe7vsehTJ00Za1skpH4O6DO5SMu4CNj0eqTWyfCfwQF0zkFUR3qf3oWj0rjdCHZJqxE0YczF/PRpJ4zJyf+l8b3ayV5jrZ7W/RSQ6ZdkO6QGyfTvL3Giyye0zGx2KRu96gOqQTSaN6ugeKKpTUVQTBjkRgkaXgOroLS3ti4kH+L3hjjICKvS22cFodAmomDSXrKQzeGBPpQc1Nl/yBthvQ6NLQHWGlpY2xsQDFQ0q8qrCm/bZ0egSUDFpKllJZ/AAOYnM8GJS3sexotEloDpDS0sbY+aBAzUelNWFjknpBvnT6BJQMWsqWVFn8EC9G9hdHl5MyjtK+WWjS0B1hlaWNsbUA9mVbtQ2hWb7TKPU7anp8Eb9JaBi2lSyss7ggQjJCZ+90SWgOkMLSxtj5gGOS/zHmJQ7jMyJFsM0Gl0CKmZNJSvqTB4oqPGgJAJyQqfRJaA6UytLW2PmgcoGFfvCj0m10Oj/A9jGm+feuyEMAAAAAElFTkSuQmCC"},81378:function(nt){"use strict";nt.exports="data:image/png;base64,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"},47621:function(nt){"use strict";nt.exports="data:image/png;base64,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"},16722:function(nt,Pe,z){"use strict";z.d(Pe,{Z:function(){return m}});const N=x=>typeof x=="object"&&x!=null&&x.nodeType===1,K=(x,g)=>(!g||x!=="hidden")&&x!=="visible"&&x!=="clip",O=(x,g)=>{if(x.clientHeight<x.scrollHeight||x.clientWidth<x.scrollWidth){const c=getComputedStyle(x,null);return K(c.overflowY,g)||K(c.overflowX,g)||(u=>{const h=(r=>{if(!r.ownerDocument||!r.ownerDocument.defaultView)return null;try{return r.ownerDocument.defaultView.frameElement}catch(n){return null}})(u);return!!h&&(h.clientHeight<u.scrollHeight||h.clientWidth<u.scrollWidth)})(x)}return!1},E=(x,g,c,u,h,r,n,a)=>r<x&&n>g||r>x&&n<g?0:r<=x&&a<=c||n>=g&&a>=c?r-x-u:n>g&&a<c||r<x&&a>c?n-g+h:0,M=x=>{const g=x.parentElement;return g==null?x.getRootNode().host||null:g},A=(x,g)=>{var c,u,h,r;if(typeof document=="undefined")return[];const{scrollMode:n,block:a,inline:f,boundary:s,skipOverflowHiddenElements:l}=g,d=typeof s=="function"?s:j=>j!==s;if(!N(x))throw new TypeError("Invalid target");const e=document.scrollingElement||document.documentElement,t=[];let i=x;for(;N(i)&&d(i);){if(i=M(i),i===e){t.push(i);break}i!=null&&i===document.body&&O(i)&&!O(document.documentElement)||i!=null&&O(i,l)&&t.push(i)}const o=(u=(c=window.visualViewport)==null?void 0:c.width)!=null?u:innerWidth,v=(r=(h=window.visualViewport)==null?void 0:h.height)!=null?r:innerHeight,{scrollX:y,scrollY:p}=window,{height:C,width:D,top:b,right:S,bottom:L,left:w}=x.getBoundingClientRect(),{top:P,right:I,bottom:R,left:B}=(j=>{const Y=window.getComputedStyle(j);return{top:parseFloat(Y.scrollMarginTop)||0,right:parseFloat(Y.scrollMarginRight)||0,bottom:parseFloat(Y.scrollMarginBottom)||0,left:parseFloat(Y.scrollMarginLeft)||0}})(x);let F=a==="start"||a==="nearest"?b-P:a==="end"?L+R:b+C/2-P+R,W=f==="center"?w+D/2-B+I:f==="end"?S+I:w-B;const G=[];for(let j=0;j<t.length;j++){const Y=t[j],{height:ee,width:ae,top:le,right:_e,bottom:he,left:ve}=Y.getBoundingClientRect();if(n==="if-needed"&&b>=0&&w>=0&&L<=v&&S<=o&&(Y===e&&!O(Y)||b>=le&&L<=he&&w>=ve&&S<=_e))return G;const Ae=getComputedStyle(Y),ge=parseInt(Ae.borderLeftWidth,10),fe=parseInt(Ae.borderTopWidth,10),Ee=parseInt(Ae.borderRightWidth,10),ue=parseInt(Ae.borderBottomWidth,10);let oe=0,X=0;const re="offsetWidth"in Y?Y.offsetWidth-Y.clientWidth-ge-Ee:0,V="offsetHeight"in Y?Y.offsetHeight-Y.clientHeight-fe-ue:0,ne="offsetWidth"in Y?Y.offsetWidth===0?0:ae/Y.offsetWidth:0,Z="offsetHeight"in Y?Y.offsetHeight===0?0:ee/Y.offsetHeight:0;if(e===Y)oe=a==="start"?F:a==="end"?F-v:a==="nearest"?E(p,p+v,v,fe,ue,p+F,p+F+C,C):F-v/2,X=f==="start"?W:f==="center"?W-o/2:f==="end"?W-o:E(y,y+o,o,ge,Ee,y+W,y+W+D,D),oe=Math.max(0,oe+p),X=Math.max(0,X+y);else{oe=a==="start"?F-le-fe:a==="end"?F-he+ue+V:a==="nearest"?E(le,he,ee,fe,ue+V,F,F+C,C):F-(le+ee/2)+V/2,X=f==="start"?W-ve-ge:f==="center"?W-(ve+ae/2)+re/2:f==="end"?W-_e+Ee+re:E(ve,_e,ae,ge,Ee+re,W,W+D,D);const{scrollLeft:$,scrollTop:se}=Y;oe=Z===0?0:Math.max(0,Math.min(se+oe/Z,Y.scrollHeight-ee/Z+V)),X=ne===0?0:Math.max(0,Math.min($+X/ne,Y.scrollWidth-ae/ne+re)),F+=se-oe,W+=$-X}G.push({el:Y,top:oe,left:X})}return G},_=x=>x===!1?{block:"end",inline:"nearest"}:(g=>g===Object(g)&&Object.keys(g).length!==0)(x)?x:{block:"start",inline:"nearest"};function m(x,g){if(!x.isConnected||!(h=>{let r=h;for(;r&&r.parentNode;){if(r.parentNode===document)return!0;r=r.parentNode instanceof ShadowRoot?r.parentNode.host:r.parentNode}return!1})(x))return;const c=(h=>{const r=window.getComputedStyle(h);return{top:parseFloat(r.scrollMarginTop)||0,right:parseFloat(r.scrollMarginRight)||0,bottom:parseFloat(r.scrollMarginBottom)||0,left:parseFloat(r.scrollMarginLeft)||0}})(x);if((h=>typeof h=="object"&&typeof h.behavior=="function")(g))return g.behavior(A(x,g));const u=typeof g=="boolean"||g==null?void 0:g.behavior;for(const{el:h,top:r,left:n}of A(x,_(g))){const a=r-c.top+c.bottom,f=n-c.left+c.right;h.scroll({top:a,left:f,behavior:u})}}}}]);
|