2026-05-29 23:53:00 +08:00
import { aE as iL , bc as yr , b2 as oL , aZ as sL , b3 as lL , aA as Kt , ax as $ , a_ as mr , bk as Wt , aC as Da , ah as Ma , be as La , aB as pm , aD as me , bD as fe , at as _e , t as uL , br as fL , b4 as $t , a$ as Yh , ay as $h , bh as gm , Q as hL , bn as Vl , bm as vL , bw as ym , az as mm , b6 as cL , ab as dL , a8 as pL , an as gL , T as yL , bj as mL , b5 as Zh , am as _L , bl as SL , bB as xL , aU as bL , b7 as wL , X as TL , aw as AL , av as CL , ao as DL , aT as ML , aj as LL } from "./index-C6ULY2Si.js" ; /* empty css *//* empty css *//* empty css *//* empty css */ import { b as IL , c as PL , l as RL , a as EL } from "./projection-b1x6abrR.js" ; import "./reflection-CKXyOCM_.js" ; /*! *****************************************************************************
2026-05-29 18:16:34 +08:00
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
2026-05-29 23:53:00 +08:00
***************************************************************************** */ var yd = function ( r , e ){ return yd = Object . setPrototypeOf || { __proto__ : []} instanceof Array && function ( t , a ){ t . __proto__ = a } || function ( t , a ){ for ( var n in a ) Object . prototype . hasOwnProperty . call ( a , n ) && ( t [ n ] = a [ n ])}, yd ( r , e )}; function k ( r , e ){ if ( typeof e != "function" && e !== null ) throw new TypeError ( "Class extends value " + String ( e ) + " is not a constructor or null" ); yd ( r , e ); function t (){ this . constructor = r } r . prototype = e === null ? Object . create ( e ) : ( t . prototype = e . prototype , new t )} var kL = function (){ function r (){ this . firefox =! 1 , this . ie =! 1 , this . edge =! 1 , this . newEdge =! 1 , this . weChat =! 1 } return r }(), OL = function (){ function r (){ this . browser = new kL , this . node =! 1 , this . wxa =! 1 , this . worker =! 1 , this . svgSupported =! 1 , this . touchEventsSupported =! 1 , this . pointerEventsSupported =! 1 , this . domSupported =! 1 , this . transformSupported =! 1 , this . transform3dSupported =! 1 , this . hasGlobalWindow = typeof window < "u" } return r }(), xt = new OL ; typeof wx == "object" && typeof wx . getSystemInfoSync == "function" ? ( xt . wxa =! 0 , xt . touchEventsSupported =! 0 ) : typeof document > "u" && typeof self < "u" ? xt . worker =! 0 :! xt . hasGlobalWindow || "Deno" in window ? ( xt . node =! 0 , xt . svgSupported =! 0 ) : NL ( navigator . userAgent , xt ); function NL ( r , e ){ var t = e . browser , a = r . match ( /Firefox\/([\d.]+)/ ), n = r . match ( /MSIE\s([\d.]+)/ ) || r . match ( /Trident\/.+?rv:(([\d.]+))/ ), i = r . match ( /Edge?\/([\d.]+)/ ), o = /micromessenger/i . test ( r ); a && ( t . firefox =! 0 , t . version = a [ 1 ]), n && ( t . ie =! 0 , t . version = n [ 1 ]), i && ( t . edge =! 0 , t . version = i [ 1 ], t . newEdge =+ i [ 1 ]. split ( "." )[ 0 ] > 18 ), o && ( t . weChat =! 0 ), e . svgSupported = typeof SVGRect < "u" , e . touchEventsSupported = "ontouchstart" in window &&! t . ie &&! t . edge , e . pointerEventsSupported = "onpointerdown" in window && ( t . edge || t . ie &&+ t . version >= 11 ), e . domSupported = typeof document < "u" ; var s = document . documentElement . style ; e . transform3dSupported = ( t . ie && "transition" in s || t . edge || "WebKitCSSMatrix" in window && "m11" in new WebKitCSSMatrix || "MozPerspective" in s ) &&! ( "OTransition" in s ), e . transformSupported = e . transform3dSupported || t . ie &&+ t . version >= 9 } var og = 12 , Tw = "sans-serif" , rn = og + "px " + Tw , BL = 20 , VL = 100 , zL = "007LLmW'55;N0500LLLLLLLLLL00NNNLzWW\\\\WQb\\0FWLg\\bWb\\WQ\\WrWWQ000CL5LLFLL0LL**F*gLLLL5F0LF\\FFF5.5N" ; function GL ( r ){ var e = {}; if ( typeof JSON > "u" ) return e ; for ( var t = 0 ; t < r . length ; t ++ ){ var a = String . fromCharCode ( t + 32 ), n = ( r . charCodeAt ( t ) - BL ) / VL ; e [ a ] = n } return e } var FL = GL ( zL ), an = { createCanvas : function (){ return typeof document < "u" && document . createElement ( "canvas" )}, measureText : function (){ var r , e ; return function ( t , a ){ if ( ! r ){ var n = an . createCanvas (); r = n && n . getContext ( "2d" )} if ( r ) return e !== a && ( e = r . font = a || rn ), r . measureText ( t ); t = t || "" , a = a || rn ; var i = /((?:\d+)?\.?\d*)px/ . exec ( a ), o = i &&+ i [ 1 ] || og , s = 0 ; if ( a . indexOf ( "mono" ) >= 0 ) s = o * t . length ; else for ( var l = 0 ; l < t . length ; l ++ ){ var u = FL [ t [ l ]]; s += u == null ? o : u * o } return { width : s }}}(), loadImage : function ( r , e , t ){ var a = new Image ; return a . onload = e , a . onerror = t , a . src = r , a }}, Aw = qr ([ "Function" , "RegExp" , "Date" , "Error" , "CanvasGradient" , "CanvasPattern" , "Image" , "Canvas" ], function ( r , e ){ return r [ "[object " + e + "]" ] =! 0 , r },{}), Cw = qr ([ "Int8" , "Uint8" , "Uint8Clamped" , "Int16" , "Uint16" , "Int32" , "Uint32" , "Float32" , "Float64" ], function ( r , e ){ return r [ "[object " + e + "Array]" ] =! 0 , r },{}), bo = Object . prototype . toString , ah = Array . prototype , HL = ah . forEach , WL = ah . filter , sg = ah . slice , UL = ah . map , _m = function (){}. constructor , zl = _m ? _m . prototype : null , lg = "__proto__" , YL = 2311 ; function Dw (){ return YL ++ } function ug (){ for ( var r = [], e = 0 ; e < arguments . length ; e ++ ) r [ e ] = arguments [ e ]; typeof console < "u" && console . error . apply ( console , r )} function lt ( r ){ if ( r == null || typeof r != "object" ) return r ; var e = r , t = bo . call ( r ); if ( t === "[object Array]" ){ if ( ! As ( r )){ e = []; for ( var a = 0 , n = r . length ; a < n ; a ++ ) e [ a ] = lt ( r [ a ])}} else if ( Cw [ t ]){ if ( ! As ( r )){ var i = r . constructor ; if ( i . from ) e = i . from ( r ); else { e = new i ( r . length ); for ( var a = 0 , n = r . length ; a < n ; a ++ ) e [ a ] = r [ a ]}}} else if ( ! Aw [ t ] &&! As ( r ) &&! fo ( r )){ e = {}; for ( var o in r ) r . hasOwnProperty ( o ) && o !== lg && ( e [ o ] = lt ( r [ o ]))} return e } function dt ( r , e , t ){ if ( ! st ( e ) ||! st ( r )) return t ? lt ( e ) : r ; for ( var a in e ) if ( e . hasOwnProperty ( a ) && a !== lg ){ var n = r [ a ], i = e [ a ]; st ( i ) && st ( n ) &&! z ( i ) &&! z ( n ) &&! fo ( i ) &&! fo ( n ) &&! Sm ( i ) &&! Sm ( n ) &&! As ( i ) &&! As ( n ) ? dt ( n , i , t ) : ( t ||! ( a in r )) &&
`),i=n.length;if(i===1)return $m(n[0],e,t,a);for(var o=new gt(0,0,0,0),s=0;s<n.length;s++){var l=$m(n[s],e,t,a);s===0?o.copy(l):o.union(l)}return o}function ps(r,e,t){return t==="right"?r-=e:t==="center"&&(r-=e/2),r}function Ki(r,e,t){return t==="middle"?r-=e/2:t==="bottom"&&(r-=e),r}function lh(r){return Qe("国",r)}function Lr(r,e){return typeof r=="string"?r.lastIndexOf("%")>=0?parseFloat(r)/100*e:parseFloat(r):r}function yf(r,e,t){var a=e.position||"inside",n=e.distance!=null?e.distance:5,i=t.height,o=t.width,s=i/2,l=t.x,u=t.y,f="left",h="top";if(a instanceof Array)l+=Lr(a[0],t.width),u+=Lr(a[1],t.height),f=null,h=null;else switch(a){case"left":l-=n,u+=s,f="right",h="middle";break;case"right":l+=n+o,u+=s,h="middle";break;case"top":l+=o/2,u-=n,f="center",h="bottom";break;case"bottom":l+=o/2,u+=i+n,f="center";break;case"inside":l+=o/2,u+=s,f="center",h="middle";break;case"insideLeft":l+=n,u+=s,h="middle";break;case"insideRight":l+=o-n,u+=s,f="right",h="middle";break;case"insideTop":l+=o/2,u+=n,f="center";break;case"insideBottom":l+=o/2,u+=i-n,f="center",h="bottom";break;case"insideTopLeft":l+=n,u+=n;break;case"insideTopRight":l+=o-n,u+=n,f="right";break;case"insideBottomLeft":l+=n,u+=i-n,h="bottom";break;case"insideBottomRight":l+=o-n,u+=i-n,f="right",h="bottom";break}return r=r||{},r.x=l,r.y=u,r.align=f,r.verticalAlign=h,r}var hv="__zr_normal__",vv=Qr.concat(["ignore"]),rP=qr(Qr,function(r,e){return r[e]=!0,r},{ignore:!1}),Ii={},aP=new gt(0,0,0,0),uh=function(){function r(e){this.id=Dw(),this.animators=[],this.currentStates=[],this.states={},this._init(e)}return r.prototype._init=function(e){this.attr(e)},r.prototype.drift=function(e,t,a){switch(this.draggable){case"horizontal":t=0;break;case"vertical":e=0;break}var n=this.transform;n||(n=this.transform=[1,0,0,1,0,0]),n[4]+=e,n[5]+=t,this.decomposeTransform(),this.markRedraw()},r.prototype.beforeUpdate=function(){},r.prototype.afterUpdate=function(){},r.prototype.update=function(){this.updateTransform(),this.__dirty&&this.updateInnerText()},r.prototype.updateInnerText=function(e){var t=this._textContent;if(t&&(!t.ignore||e)){this.textConfig||(this.textConfig={});var a=this.textConfig,n=a.local,i=t.innerTransformable,o=void 0,s=void 0,l=!1;i.parent=n?this:null;var u=!1;if(i.copyTransform(t),a.position!=null){var f=aP;a.layoutRect?f.copy(a.layoutRect):f.copy(this.getBoundingRect()),n||f.applyTransform(this.transform),this.calculateTextPosition?this.calculateTextPosition(Ii,a,f):yf(Ii,a,f),i.x=Ii.x,i.y=Ii.y,o=Ii.align,s=Ii.verticalAlign;var h=a.origin;if(h&&a.rotation!=null){var v=void 0,c=void 0;h==="center"?(v=f.width*.5,c=f.height*.5):(v=Lr(h[0],f.width),c=Lr(h[1],f.height)),u=!0,i.originX=-i.x+v+(n?0:f.x),i.originY=-i.y+c+(n?0:f.y)}}a.rotation!=null&&(i.rotation=a.rotation);var d=a.offset;d&&(i.x+=d[0],i.y+=d[1],u||(i.originX=-d[0],i.originY=-d[1]));var p=a.inside==null?typeof a.position=="string"&&a.position.indexOf("inside")>=0:a.inside,g=this._innerTextDefaultStyle||(this._innerTextDefaultStyle={}),y=void 0,m=void 0,_=void 0;p&&this.canBeInsideText()?(y=a.insideFill,m=a.insideStroke,(y==null||y==="auto")&&(y=this.getInsideTextFill()),(m==null||m==="auto")&&(m=this.getInsideTextStroke(y),_=!0)):(y=a.outsideFill,m=a.outsideStroke,(y==null||y==="auto")&&(y=this.getOutsideFill()),(m==null||m==="auto")&&(m=this.getOutsideStroke(y),_=!0)),y=y||"#000",(y!==g.fill||m!==g.stroke||_!==g.autoStroke||o!==g.align||s!==g.verticalAlign)&&(l=!0,g.fill=y,g.stroke=m,g.autoStroke=_,g.align=o,g.verticalAlign=s,t.setDefaultTextStyle(g)),t.__dirty|=Ze,l&&t.dirtyStyle(!0)}},r.prototype.canBeInsideText=function(){return!0},r.prototype.getInsideTextFill=function(){return"#fff"},r.prototype.getInsideTextStroke=function(e){return"#000"},r.prototype.getOutsideFill=function(){return this.__zr&&this.__zr.isDarkMode()?zd:Vd},r.prototype.getOutsideStroke=function(e){var t=this.__zr&&this.__zr.getBackgroundColor(),a=typeof t=="string"&&Ke(t);a||(a=[255,255,255,1]);for(var n=a[3],i=this.__zr.isDarkMode(),o=0;o<3;o++)a[o]=a[o]*n+(i?0:255)*(1-n);return a[3]=1,va(a,"rgba")},r.prototype.traverse=func
2026-05-29 18:16:34 +08:00
* ZRender, a high performance 2d drawing library.
*
* Copyright (c) 2013, Baidu Inc.
* All rights reserved.
*
* LICENSE
* https://github.com/ecomfe/zrender/blob/master/LICENSE.txt
2026-05-29 23:53:00 +08:00
*/var Xu={},eT={};function lP(r){delete eT[r]}function uP(r){if(!r)return!1;if(typeof r=="string")return df(r,1)<Bd;if(r.colorStops){for(var e=r.colorStops,t=0,a=e.length,n=0;n<a;n++)t+=df(e[n].color,1);return t/=a,t<Bd}return!1}var fP=function(){function r(e,t,a){var n=this;this._sleepAfterStill=10,this._stillFrameAccum=0,this._needsRefresh=!0,this._needsRefreshHover=!0,this._darkMode=!1,a=a||{},this.dom=t,this.id=e;var i=new AI,o=a.renderer||"canvas";Xu[o]||(o=wt(Xu)[0]),a.useDirtyRect=a.useDirtyRect==null?!1:a.useDirtyRect;var s=new Xu[o](t,i,a,e),l=a.ssr||s.ssrOnly;this.storage=i,this.painter=s;var u=!xt.node&&!xt.worker&&!l?new tP(s.getViewportRoot(),s.root):null,f=a.useCoarsePointer,h=f==null||f==="auto"?xt.touchEventsSupported:!!f,v=44,c;h&&(c=vt(a.pointerSize,v)),this.handler=new Ew(i,s,u,s.root,c),this.animation=new ZI({stage:{update:l?null:function(){return n._flush(!0)}}}),l||this.animation.start()}return r.prototype.add=function(e){this._disposed||!e||(this.storage.addRoot(e),e.addSelfToZr(this),this.refresh())},r.prototype.remove=function(e){this._disposed||!e||(this.storage.delRoot(e),e.removeSelfFromZr(this),this.refresh())},r.prototype.configLayer=function(e,t){this._disposed||(this.painter.configLayer&&this.painter.configLayer(e,t),this.refresh())},r.prototype.setBackgroundColor=function(e){this._disposed||(this.painter.setBackgroundColor&&this.painter.setBackgroundColor(e),this.refresh(),this._backgroundColor=e,this._darkMode=uP(e))},r.prototype.getBackgroundColor=function(){return this._backgroundColor},r.prototype.setDarkMode=function(e){this._darkMode=e},r.prototype.isDarkMode=function(){return this._darkMode},r.prototype.refreshImmediately=function(e){this._disposed||(e||this.animation.update(!0),this._needsRefresh=!1,this.painter.refresh(),this._needsRefresh=!1)},r.prototype.refresh=function(){this._disposed||(this._needsRefresh=!0,this.animation.start())},r.prototype.flush=function(){this._disposed||this._flush(!1)},r.prototype._flush=function(e){var t,a=to();this._needsRefresh&&(t=!0,this.refreshImmediately(e)),this._needsRefreshHover&&(t=!0,this.refreshHoverImmediately());var n=to();t?(this._stillFrameAccum=0,this.trigger("rendered",{elapsedTime:n-a})):this._sleepAfterStill>0&&(this._stillFrameAccum++,this._stillFrameAccum>this._sleepAfterStill&&this.animation.stop())},r.prototype.setSleepAfterStill=function(e){this._sleepAfterStill=e},r.prototype.wakeUp=function(){this._disposed||(this.animation.start(),this._stillFrameAccum=0)},r.prototype.refreshHover=function(){this._needsRefreshHover=!0},r.prototype.refreshHoverImmediately=function(){this._disposed||(this._needsRefreshHover=!1,this.painter.refreshHover&&this.painter.getType()==="canvas"&&this.painter.refreshHover())},r.prototype.resize=function(e){this._disposed||(e=e||{},this.painter.resize(e.width,e.height),this.handler.resize())},r.prototype.clearAnimation=function(){this._disposed||this.animation.clear()},r.prototype.getWidth=function(){if(!this._disposed)return this.painter.getWidth()},r.prototype.getHeight=function(){if(!this._disposed)return this.painter.getHeight()},r.prototype.setCursorStyle=function(e){this._disposed||this.handler.setCursorStyle(e)},r.prototype.findHover=function(e,t){if(!this._disposed)return this.handler.findHover(e,t)},r.prototype.on=function(e,t,a){return this._disposed||this.handler.on(e,t,a),this},r.prototype.off=function(e,t){this._disposed||this.handler.off(e,t)},r.prototype.trigger=function(e,t){this._disposed||this.handler.trigger(e,t)},r.prototype.clear=function(){if(!this._disposed){for(var e=this.storage.getRoots(),t=0;t<e.length;t++)e[t]instanceof ut&&e[t].removeSelfFromZr(this);this.storage.delAllRoots(),this.painter.clear()}},r.prototype.dispose=function(){this._disposed||(this.animation.stop(),this.clear(),this.storage.dispose(),this.painter.dispose(),this.handler.dispose(),this.animation=this.storage=this.painter=this.handler=null,this._disposed=!0,lP(this.id))},r}();function Zm(r,e){var t=new fP(Dw(),r,e);return eT[t.id]=t,t}function hP(r,e){Xu[r]=e}var Gd;function vP(r){if(typeof Gd=="function
2026-05-29 18:16:34 +08:00
` ); i = yT ( t , a , n , i ); for ( var s =! 1 , l = {}, u = 0 , f = o . length ; u < f ; u ++ ) mT ( l , o [ u ], i ), o [ u ] = l . textLine , s = s || l . isTruncated ; r . text = o . join ( `
2026-05-29 23:53:00 +08:00
` ), r . isTruncated = s } function yT ( r , e , t , a ){ a = a || {}; var n = V ({}, a ); n . font = e , t = vt ( t , "..." ), n . maxIterations = vt ( a . maxIterations , 2 ); var i = n . minChar = vt ( a . minChar , 0 ); n . cnCharWidth = Qe ( "国" , e ); var o = n . ascCharWidth = Qe ( "a" , e ); n . placeholder = vt ( a . placeholder , "" ); for ( var s = r = Math . max ( 0 , r - 1 ), l = 0 ; l < i && s >= o ; l ++ ) s -= o ; var u = Qe ( t , e ); return u > s && ( t = "" , u = 0 ), s = r - u , n . ellipsis = t , n . ellipsisWidth = u , n . contentWidth = s , n . containerWidth = r , n } function mT ( r , e , t ){ var a = t . containerWidth , n = t . font , i = t . contentWidth ; if ( ! a ){ r . textLine = "" , r . isTruncated =! 1 ; return } var o = Qe ( e , n ); if ( o <= a ){ r . textLine = e , r . isTruncated =! 1 ; return } for ( var s = 0 ;; s ++ ){ if ( o <= i || s >= t . maxIterations ){ e += t . ellipsis ; break } var l = s === 0 ? XP ( e , i , t . ascCharWidth , t . cnCharWidth ) : o > 0 ? Math . floor ( e . length * i / o ) : 0 ; e = e . substr ( 0 , l ), o = Qe ( e , n )} e === "" && ( e = t . placeholder ), r . textLine = e , r . isTruncated =! 0 } function XP ( r , e , t , a ){ for ( var n = 0 , i = 0 , o = r . length ; i < o && n < e ; i ++ ){ var s = r . charCodeAt ( i ); n += 0 <= s && s <= 127 ? t : a } return i } function qP ( r , e ){ r != null && ( r += "" ); var t = e . overflow , a = e . padding , n = e . font , i = t === "truncate" , o = lh ( n ), s = vt ( e . lineHeight , o ), l =!! e . backgroundColor , u = e . lineOverflow === "truncate" , f =! 1 , h = e . width , v ; h != null && ( t === "break" || t === "breakAll" ) ? v = r ? _T ( r , e . font , h , t === "breakAll" , 0 ). lines : [] : v = r ? r . split ( `
` ) : []; var c = v . length * s , d = vt ( e . height , c ); if ( c > d && u ){ var p = Math . floor ( d / s ); f = f || v . length > p , v = v . slice ( 0 , p )} if ( r && i && h != null ) for ( var g = yT ( h , n , e . ellipsis ,{ minChar : e . truncateMinChar , placeholder : e . placeholder }), y = {}, m = 0 ; m < v . length ; m ++ ) mT ( y , v [ m ], g ), v [ m ] = y . textLine , f = f || y . isTruncated ; for ( var _ = d , S = 0 , m = 0 ; m < v . length ; m ++ ) S = Math . max ( Qe ( v [ m ], n ), S ); h == null && ( h = S ); var b = S ; return a && ( _ += a [ 0 ] + a [ 2 ], b += a [ 1 ] + a [ 3 ], h += a [ 1 ] + a [ 3 ]), l && ( b = h ),{ lines : v , height : d , outerWidth : b , outerHeight : _ , lineHeight : s , calculatedLineHeight : o , contentWidth : S , contentHeight : c , width : h , isTruncated : f }} var KP = function (){ function r (){} return r }(), e0 = function (){ function r ( e ){ this . tokens = [], e && ( this . tokens = e )} return r }(), QP = function (){ function r (){ this . width = 0 , this . height = 0 , this . contentWidth = 0 , this . contentHeight = 0 , this . outerWidth = 0 , this . outerHeight = 0 , this . lines = [], this . isTruncated =! 1 } return r }(); function JP ( r , e ){ var t = new QP ; if ( r != null && ( r += "" ), ! r ) return t ; for ( var a = e . width , n = e . height , i = e . overflow , o = ( i === "break" || i === "breakAll" ) && a != null ? { width : a , accumWidth : 0 , breakAll : i === "breakAll" } : null , s = gv . lastIndex = 0 , l ;( l = gv . exec ( r )) != null ;){ var u = l . index ; u > s && yv ( t , r . substring ( s , u ), e , o ), yv ( t , l [ 2 ], e , o , l [ 1 ]), s = gv . lastIndex } s < r . length && yv ( t , r . substring ( s , r . length ), e , o ); var f = [], h = 0 , v = 0 , c = e . padding , d = i === "truncate" , p = e . lineOverflow === "truncate" , g = {}; function y ( G , U , Z ){ G . width = U , G . lineHeight = Z , h += Z , v = Math . max ( v , U )} t : for ( var m = 0 ; m < t . lines . length ; m ++ ){ for ( var _ = t . lines [ m ], S = 0 , b = 0 , x = 0 ; x < _ . tokens . length ; x ++ ){ var w = _ . tokens [ x ], T = w . styleName && e . rich [ w . styleName ] || {}, A = w . textPadding = T . padding , C = A ? A [ 1 ] + A [ 3 ] : 0 , M = w . font = T . font || e . font ; w . contentHeight = lh ( M ); var L = vt ( T . height , w . contentHeight ); if ( w . innerHeight = L , A && ( L += A [ 0 ] + A [ 2 ]), w . height = L , w . lineHeight = Zr ( T . lineHeight , e . lineHeight , L ), w . align = T && T . align || e . align , w . verticalAlign = T && T . verticalAlign || "middle" , p && n != null && h + w . lineHeight > n ){ var I = t . lines . length ; x > 0 ? ( _ . tokens = _ . tokens . slice ( 0 , x ), y ( _ , b , S ), t . lines = t . lines . slice ( 0 , m + 1 )) : t . lines = t . lines . slice ( 0 , m ), t . isTruncated = t . isTruncated || t . lines . length < I ; break t } var P = T . width , R = P == null || P === "auto" ; if ( typeof P == "string" && P . charAt ( P . length - 1 ) === "%" ) w . percentWidth = P , f . push ( w ), w . contentWidth = Qe ( w . text , M ); else { if ( R ){ var E = T . backgroundColor , N = E && E . image ; N && ( N = $P ( N ), hh ( N ) && ( w . width = Math . max ( w . width , N . width * L / N . height )))} var O = d && a != null ? a - b : null ; O != null && O < w . width ?! R || O < C ? ( w . text = "" , w . width = w . contentWidth = 0 ) : ( ZP ( g , w . text , O - C , M , e . ellipsis ,{ minChar : e . truncateMinChar }), w . text = g . text , t . isTruncated = t . isTruncated || g . isTruncated , w . width = w . contentWidth = Qe ( w . text , M )) : w . contentWidth = Qe ( w . text , M )} w . width += C , b += w . width , T && ( S = Math . max ( S , w . lineHeight ))} y ( _ , b , S )} t . outerWidth = t . width = vt ( a , v ), t . outerHeight = t . height = vt ( n , h ), t . contentHeight = h , t . contentWidth = v , c && ( t . outerWidth += c [ 1 ] + c [ 3 ], t . outerHeight += c [ 0 ] + c [ 2 ]); for ( var m = 0 ; m < f . length ; m ++ ){ var w = f [ m ], B = w . percentWidth ; w . width = parseInt ( B , 10 ) / 100 * t . width } return t } function yv ( r , e , t , a , n ){ var i = e === "" , o = n && t . rich [ n ] || {}, s = r . lines , l = o . font || t . font , u =! 1 , f , h ; if ( a ){ var v = o . padding , c = v ? v [ 1 ] + v [ 3 ] : 0 ; if ( o . width != null && o . width !== "auto" ){ var d = Lr ( o . width , a . width ) + c ; s . length > 0 && d + a . accumWidth > a . width && ( f = e . split ( `
2026-05-29 18:16:34 +08:00
` ), u =! 0 ), a . accumWidth = d } else { var p = _T ( e , l , a . width , a . breakAll , a . accumWidth ); a . accumWidth = p . accumWidth + c , h = p . linesWidths , f = p . lines }} else f = e . split ( `
2026-05-29 23:53:00 +08:00
` ); for ( var g = 0 ; g < f . length ; g ++ ){ var y = f [ g ], m = new KP ; if ( m . styleName = n , m . text = y , m . isLineHolder =! y &&! i , typeof o . width == "number" ? m . width = o . width : m . width = h ? h [ g ] : Qe ( y , l ), ! g &&! u ){ var _ = ( s [ s . length - 1 ] || ( s [ 0 ] = new e0 )). tokens , S = _ . length ; S === 1 && _ [ 0 ]. isLineHolder ? _ [ 0 ] = m : ( y ||! S || i ) && _ . push ( m )} else s . push ( new e0 ([ m ]))}} function jP ( r ){ var e = r . charCodeAt ( 0 ); return e >= 32 && e <= 591 || e >= 880 && e <= 4351 || e >= 4608 && e <= 5119 || e >= 7680 && e <= 8303 } var tR = qr ( ",&?/;] " . split ( "" ), function ( r , e ){ return r [ e ] =! 0 , r },{}); function eR ( r ){ return jP ( r ) ?!! tR [ r ] :! 0 } function _T ( r , e , t , a , n ){ for ( var i = [], o = [], s = "" , l = "" , u = 0 , f = 0 , h = 0 ; h < r . length ; h ++ ){ var v = r . charAt ( h ); if ( v === `
` ){ l && ( s += l , f += u ), i . push ( s ), o . push ( f ), s = "" , l = "" , u = 0 , f = 0 ; continue } var c = Qe ( v , e ), d = a ?! 1 :! eR ( v ); if ( i . length ? f + c > t : n + f + c > t ){ f ? ( s || l ) && ( d ? ( s || ( s = l , l = "" , u = 0 , f = u ), i . push ( s ), o . push ( f - u ), l += v , u += c , s = "" , f = u ) : ( l && ( s += l , l = "" , u = 0 ), i . push ( s ), o . push ( f ), s = v , f = c )) : d ? ( i . push ( l ), o . push ( u ), l = v , u = c ) : ( i . push ( v ), o . push ( c )); continue } f += c , d ? ( l += v , u += c ) : ( l && ( s += l , l = "" , u = 0 ), s += v )} return ! i . length &&! s && ( s = r , l = "" , u = 0 ), l && ( s += l ), s && ( i . push ( s ), o . push ( f )), i . length === 1 && ( f += n ),{ accumWidth : f , lines : i , linesWidths : o }} var Wd = "__zr_style_" + Math . round ( Math . random () * 10 ), ni = { shadowBlur : 0 , shadowOffsetX : 0 , shadowOffsetY : 0 , shadowColor : "#000" , opacity : 1 , blend : "source-over" }, vh = { style : { shadowBlur :! 0 , shadowOffsetX :! 0 , shadowOffsetY :! 0 , shadowColor :! 0 , opacity :! 0 }}; ni [ Wd ] =! 0 ; var r0 = [ "z" , "z2" , "invisible" ], rR = [ "invisible" ], cr = function ( r ){ k ( e , r ); function e ( t ){ return r . call ( this , t ) || this } return e . prototype . _init = function ( t ){ for ( var a = wt ( t ), n = 0 ; n < a . length ; n ++ ){ var i = a [ n ]; i === "style" ? this . useStyle ( t [ i ]) : r . prototype . attrKV . call ( this , i , t [ i ])} this . style || this . useStyle ({})}, e . prototype . beforeBrush = function (){}, e . prototype . afterBrush = function (){}, e . prototype . innerBeforeBrush = function (){}, e . prototype . innerAfterBrush = function (){}, e . prototype . shouldBePainted = function ( t , a , n , i ){ var o = this . transform ; if ( this . ignore || this . invisible || this . style . opacity === 0 || this . culling && aR ( this , t , a ) || o &&! o [ 0 ] &&! o [ 3 ]) return ! 1 ; if ( n && this . __clipPaths ){ for ( var s = 0 ; s < this . __clipPaths . length ; ++ s ) if ( this . __clipPaths [ s ]. isZeroArea ()) return ! 1 } if ( i && this . parent ) for ( var l = this . parent ; l ;){ if ( l . ignore ) return ! 1 ; l = l . parent } return ! 0 }, e . prototype . contain = function ( t , a ){ return this . rectContain ( t , a )}, e . prototype . traverse = function ( t , a ){ t . call ( a , this )}, e . prototype . rectContain = function ( t , a ){ var n = this . transformCoordToLocal ( t , a ), i = this . getBoundingRect (); return i . contain ( n [ 0 ], n [ 1 ])}, e . prototype . getPaintRect = function (){ var t = this . _paintRect ; if ( ! this . _paintRect || this . __dirty ){ var a = this . transform , n = this . getBoundingRect (), i = this . style , o = i . shadowBlur || 0 , s = i . shadowOffsetX || 0 , l = i . shadowOffsetY || 0 ; t = this . _paintRect || ( this . _paintRect = new gt ( 0 , 0 , 0 , 0 )), a ? gt . applyTransform ( t , n , a ) : t . copy ( n ),( o || s || l ) && ( t . width += o * 2 + Math . abs ( s ), t . height += o * 2 + Math . abs ( l ), t . x = Math . min ( t . x , t . x + s - o ), t . y = Math . min ( t . y , t . y + l - o )); var u = this . dirtyRectTolerance ; t . isZero () || ( t . x = Math . floor ( t . x - u ), t . y = Math . floor ( t . y - u ), t . width = Math . ceil ( t . width + 1 + u * 2 ), t . height = Math . ceil ( t . height + 1 + u * 2 ))} return t }, e . prototype . setPrevPaintRect = function ( t ){ t ? ( this . _prevPaintRect = this . _prevPaintRect || new gt ( 0 , 0 , 0 , 0 ), this . _prevPaintRect . copy ( t )) : this . _prevPaintRect = null }, e . prototype . getPrevPaintRect = function (){ return this . _prevPaintRect }, e . prototype . animateStyle = function ( t ){ return this . animate ( "style" , t )}, e . prototype . updateDuringAnimation = function ( t ){ t === "style" ? this . dirtyStyle () : this . markRedraw ()}, e . prototype . attrKV = function ( t , a ){ t !== "style" ? r . prototype . attrKV . call ( this , t , a ) : this . style ? this . setStyle ( a ) : this . useStyle ( a )}, e . prototype . setStyle = function ( t , a ){ return typeof t == "string" ? this . style [ t ] = a : V ( this . style , t ), this . dirtyStyle (), this }, e . prototype . dirtyStyle = function ( t ){ t || this . markRedraw (), this . __dirty |= cs , this . _rect && ( this . _rect = null )}, e . prototype . dirty = function (){ this . dirtyStyle ()}, e . prototype . styleChanged = function (){ return !! ( this . __dirty & cs )}, e . prototype . styleUpdated = function (){ this . __dirty &=~ cs }, e . prototype . createStyle = function ( t ){ return ih ( ni , t )}, e . prototype . useStyle = function ( t ){ t [ Wd ] || ( t = this . createStyle ( t )), this . __inHover ? this . __hoverStyle = t : this . style = t , this . dirtyStyle ()}, e . prototype . isStyleObject = function ( t ){ return t [ Wd ]}, e . prototype . _innerSaveToNormal = function ( t ){ r . prototype . _innerSaveToNormal . call ( this , t ); var a = this . _normalState ; t . style &&! a . style && ( a . style = this . _mergeStyle ( this . createStyle (), this . style )), this . _savePrimaryToNormal ( t , a , r0 )}, e . prototype . _applyStateObj = function ( t , a , n , i , o , s ){ r . prototype . _applyStateObj . call ( this , t , a , n , i , o , s ); var l =! ( a && i ), u ; if ( a && a . style ? o ? i ? u = a . style : ( u = this . _mergeStyle ( this . createStyle (), n . style ), this . _mergeStyle ( u , a . style )) : ( u = this . _mergeStyle ( this . createStyle (), i ? this . style : n . style ), this . _mergeStyle ( u , a . style )) : l && ( u = n . style ), u ) if ( o ){ var f = this . style ; if
2026-05-29 18:16:34 +08:00
`,`
`,`
2026-05-29 23:53:00 +08:00
`];function ue(r,e){return e.type=r,e}function ip(r){return r.type==="section"}function HA(r){return ip(r)?qk:Kk}function WA(r){if(ip(r)){var e=0,t=r.blocks.length,a=t>1||t>0&&!r.noHeader;return D(r.blocks,function(n){var i=WA(n);i>=e&&(e=i+ +(a&&(!i||ip(n)&&!n.noHeader)))}),e}return 0}function qk(r,e,t,a){var n=e.noHeader,i=Qk(WA(e)),o=[],s=e.blocks||[];Ee(!s||z(s)),s=s||[];var l=r.orderMode;if(e.sortBlocks&&l){s=s.slice();var u={valueAsc:"asc",valueDesc:"desc"};if(j(u,l)){var f=new OA(u[l],null);s.sort(function(p,g){return f.evaluate(p.sortParam,g.sortParam)})}else l==="seriesDesc"&&s.reverse()}D(s,function(p,g){var y=e.valueFormatter,m=HA(p)(y?V(V({},r),{valueFormatter:y}):r,p,g>0?i.html:0,a);m!=null&&o.push(m)});var h=r.renderMode==="richText"?o.join(i.richText):op(a,o.join(""),n?t:i.html);if(n)return h;var v=tp(e.header,"ordinal",r.useUTC),c=FA(a,r.renderMode).nameStyle,d=GA(a);return r.renderMode==="richText"?UA(r,v,c)+i.richText+h:op(a,'<div style="'+c+";"+d+';">'+Ie(v)+"</div>"+h,t)}function Kk(r,e,t,a){var n=r.renderMode,i=e.noName,o=e.noValue,s=!e.markerType,l=e.name,u=r.useUTC,f=e.valueFormatter||r.valueFormatter||function(S){return S=z(S)?S:[S],H(S,function(b,x){return tp(b,z(c)?c[x]:c,u)})};if(!(i&&o)){var h=s?"":r.markupStyleCreator.makeTooltipMarker(e.markerType,e.markerColor||"#333",n),v=i?"":tp(l,"ordinal",u),c=e.valueType,d=o?[]:f(e.value,e.dataIndex),p=!s||!i,g=!s&&i,y=FA(a,n),m=y.nameStyle,_=y.valueStyle;return n==="richText"?(s?"":h)+(i?"":UA(r,v,m))+(o?"":tO(r,d,p,g,_)):op(a,(s?"":h)+(i?"":Jk(v,!s,m))+(o?"":jk(d,p,g,_)),t)}}function f_(r,e,t,a,n,i){if(r){var o=HA(r),s={useUTC:n,renderMode:t,orderMode:a,markupStyleCreator:e,valueFormatter:r.valueFormatter};return o(s,r,0,i)}}function Qk(r){return{html:Zk[r],richText:Xk[r]}}function op(r,e,t){var a='<div style="clear:both"></div>',n="margin: "+t+"px 0 0",i=GA(r);return'<div style="'+n+";"+i+';">'+e+a+"</div>"}function Jk(r,e,t){var a=e?"margin-left:2px":"";return'<span style="'+t+";"+a+'">'+Ie(r)+"</span>"}function jk(r,e,t,a){var n=t?"10px":"20px",i=e?"float:right;margin-left:"+n:"";return r=z(r)?r:[r],'<span style="'+i+";"+a+'">'+H(r,function(o){return Ie(o)}).join(" ")+"</span>"}function UA(r,e,t){return r.markupStyleCreator.wrapRichTextStyle(e,t)}function tO(r,e,t,a,n){var i=[n],o=a?10:20;return t&&i.push({padding:[0,0,0,o],align:"right"}),r.markupStyleCreator.wrapRichTextStyle(z(e)?e.join(" "):e,i)}function YA(r,e){var t=r.getData().getItemVisual(e,"style"),a=t[r.visualDrawType];return pi(a)}function $A(r,e){var t=r.get("padding");return t??(e==="richText"?[8,10]:10)}var Fv=function(){function r(){this.richTextStyles={},this._nextStyleNameId=sT()}return r.prototype._generateStyleName=function(){return"__EC_aUTo_"+this._nextStyleNameId++},r.prototype.makeTooltipMarker=function(e,t,a){var n=a==="richText"?this._generateStyleName():null,i=UE({color:t,type:e,renderMode:a,markerId:n});return K(i)?i:(this.richTextStyles[n]=i.style,i.content)},r.prototype.wrapRichTextStyle=function(e,t){var a={};z(t)?D(t,function(i){return V(a,i)}):V(a,t);var n=this._generateStyleName();return this.richTextStyles[n]=a,"{"+n+"|"+e+"}"},r}();function ZA(r){var e=r.series,t=r.dataIndex,a=r.multipleSeries,n=e.getData(),i=n.mapDimensionsAll("defaultedTooltip"),o=i.length,s=e.getRawValue(t),l=z(s),u=YA(e,t),f,h,v,c;if(o>1||l&&!o){var d=eO(s,e,t,i,u);f=d.inlineValues,h=d.inlineValueTypes,v=d.blocks,c=d.inlineValues[0]}else if(o){var p=n.getDimensionInfo(i[0]);c=f=co(n,t,i[0]),h=p.type}else c=f=l?s[0]:s;var g=Sg(e),y=g&&e.name||"",m=n.getName(t),_=a?y:m;return ue("section",{header:y,noHeader:a||!g,sortParam:c,blocks:[ue("nameValue",{markerType:"item",markerColor:u,name:_,noName:!Ar(_),value:f,valueType:h,dataIndex:t})].concat(v||[])})}function eO(r,e,t,a,n){var i=e.getData(),o=qr(r,function(h,v,c){var d=i.getDimensionInfo(c);return h=h||d&&d.tooltip!==!1&&d.displayName!=null},!1),s=[],l=[],u=[];a.length?D(a,function(h){f(co(i,t,h),h)}):D(r,f);function f(h,v){var c=i.getDimensionInfo(v);!c||c.otherDims.tooltip===!1||(o?u.push(ue("nameValue",{markerType:"subItem",mar
2026-05-29 18:16:34 +08:00
` : "" ; function a ( n ){ var i = n . children , o = n . tag , s = n . attrs , l = n . text ; return oB ( o , s ) + ( o !== "style" ? Ie ( l ) : l || "" ) + ( i ? "" + t + H ( i , function ( u ){ return a ( u )}). join ( t ) + t : "" ) + sB ( o )} return a ( r )} function lB ( r , e , t ){ t = t || {}; var a = t . newline ? `
2026-05-29 23:53:00 +08:00
` : "" , n = " {" + a , i = a + "}" , o = H ( wt ( r ), function ( l ){ return l + n + H ( wt ( r [ l ]), function ( u ){ return u + ":" + r [ l ][ u ] + ";" }). join ( a ) + i }). join ( a ), s = H ( wt ( e ), function ( l ){ return "@keyframes " + l + n + H ( wt ( e [ l ]), function ( u ){ return u + n + H ( wt ( e [ l ][ u ]), function ( f ){ var h = e [ l ][ u ][ f ]; return f === "d" && ( h = 'path("' + h + '")' ), f + ":" + h + ";" }). join ( a ) + i }). join ( a ) + i }). join ( a ); return ! o &&! s ? "" : [ "<![CDATA[" , o , s , "]]>" ]. join ( a )} function mp ( r ){ return { zrId : r , shadowCache : {}, patternCache : {}, gradientCache : {}, clipPathCache : {}, defs : {}, cssNodes : {}, cssAnims : {}, cssStyleCache : {}, cssAnimIdx : 0 , shadowIdx : 0 , gradientIdx : 0 , patternIdx : 0 , clipPathIdx : 0 }} function s1 ( r , e , t , a ){ return oe ( "svg" , "root" ,{ width : r , height : e , xmlns : fD , "xmlns:xlink" : hD , version : "1.1" , baseProfile : "full" , viewBox : a ? "0 0 " + r + " " + e :! 1 }, t )} var uB = 0 ; function cD (){ return uB ++ } var l1 = { cubicIn : "0.32,0,0.67,0" , cubicOut : "0.33,1,0.68,1" , cubicInOut : "0.65,0,0.35,1" , quadraticIn : "0.11,0,0.5,0" , quadraticOut : "0.5,1,0.89,1" , quadraticInOut : "0.45,0,0.55,1" , quarticIn : "0.5,0,0.75,0" , quarticOut : "0.25,1,0.5,1" , quarticInOut : "0.76,0,0.24,1" , quinticIn : "0.64,0,0.78,0" , quinticOut : "0.22,1,0.36,1" , quinticInOut : "0.83,0,0.17,1" , sinusoidalIn : "0.12,0,0.39,0" , sinusoidalOut : "0.61,1,0.88,1" , sinusoidalInOut : "0.37,0,0.63,1" , exponentialIn : "0.7,0,0.84,0" , exponentialOut : "0.16,1,0.3,1" , exponentialInOut : "0.87,0,0.13,1" , circularIn : "0.55,0,1,0.45" , circularOut : "0,0.55,0.45,1" , circularInOut : "0.85,0,0.15,1" }, Vn = "transform-origin" ; function fB ( r , e , t ){ var a = V ({}, r . shape ); V ( a , e ), r . buildPath ( t , a ); var n = new uD ; return n . reset ( Xw ( r )), t . rebuildPath ( n , 1 ), n . generateStr (), n . getStr ()} function hB ( r , e ){ var t = e . originX , a = e . originY ;( t || a ) && ( r [ Vn ] = t + "px " + a + "px" )} var vB = { fill : "fill" , opacity : "opacity" , lineWidth : "stroke-width" , lineDashOffset : "stroke-dashoffset" }; function dD ( r , e ){ var t = e . zrId + "-ani-" + e . cssAnimIdx ++ ; return e . cssAnims [ t ] = r , t } function cB ( r , e , t ){ var a = r . shape . paths , n = {}, i , o ; if ( D ( a , function ( l ){ var u = mp ( t . zrId ); u . animation =! 0 , Nh ( l ,{}, u , ! 0 ); var f = u . cssAnims , h = u . cssNodes , v = wt ( f ), c = v . length ; if ( c ){ o = v [ c - 1 ]; var d = f [ o ]; for ( var p in d ){ var g = d [ p ]; n [ p ] = n [ p ] || { d : "" }, n [ p ]. d += g . d || "" } for ( var y in h ){ var m = h [ y ]. animation ; m . indexOf ( o ) >= 0 && ( i = m )}}}), !! i ){ e . d =! 1 ; var s = dD ( n , t ); return i . replace ( o , s )}} function u1 ( r ){ return K ( r ) ? l1 [ r ] ? "cubic-bezier(" + l1 [ r ] + ")" : gg ( r ) ? r : "" : "" } function Nh ( r , e , t , a ){ var n = r . animators , i = n . length , o = []; if ( r instanceof Pg ){ var s = cB ( r , e , t ); if ( s ) o . push ( s ); else if ( ! i ) return } else if ( ! i ) return ; for ( var l = {}, u = 0 ; u < i ; u ++ ){ var f = n [ u ], h = [ f . getMaxTime () / 1e3 + "s" ], v = u1 ( f . getClip (). easing ), c = f . getDelay (); v ? h . push ( v ) : h . push ( "linear" ), c && h . push ( c / 1e3 + "s" ), f . getLoop () && h . push ( "infinite" ); var d = h . join ( " " ); l [ d ] = l [ d ] || [ d ,[]], l [ d ][ 1 ]. push ( f )} function p ( m ){ var _ = m [ 1 ], S = _ . length , b = {}, x = {}, w = {}, T = "animation-timing-function" ; function A ( tt , q , it ){ for ( var J = tt . getTracks (), F = tt . getMaxTime (), Lt = 0 ; Lt < J . length ; Lt ++ ){ var _t = J [ Lt ]; if ( _t . needsAnimate ()){ var kt = _t . keyframes , Ht = _t . propName ; if ( it && ( Ht = it ( Ht )), Ht ) for ( var ae = 0 ; ae < kt . length ; ae ++ ){ var Ye = kt [ ae ], Ve = Math . round ( Ye . time / F * 100 ) + "%" , cn = u1 ( Ye . easing ), Ca = Ye . rawValue ;( K ( Ca ) || Dt ( Ca )) && ( q [ Ve ] = q [ Ve ] || {}, q [ Ve ][ Ht ] = Ye . rawValue , cn && ( q [ Ve ][ T ] = cn ))}}}} for ( var C = 0 ; C < S ; C ++ ){ var M = _ [ C ], L = M . targetName ; L ? L === "shape" && A ( M , x ) :! a && A ( M , b )} for ( var I in b ){ var P = {}; jw ( P , r ), V ( P , b [ I ]); var R = qw ( P ), E = b [ I ][ T ]; w [ I ] = R ? { transform : R } : {}, hB ( w [ I ], P ), E && ( w [ I ][ T ] = E )} var N , O =! 0 ; for ( var I in x ){ w [ I ] = w [ I ] || {}; var B =! N , E = x [ I ][ T ]; B && ( N = new jr ); var G = N . len (); N . reset (), w [ I ]. d = fB ( r , x [ I ], N ); var U = N . len (); if ( ! B && G !== U ){ O =! 1 ; break } E && ( w [ I ][ T ] = E )} if ( ! O ) for ( var I in w ) delete w [ I ]. d ; if ( ! a ) for ( var C = 0 ; C < S ; C ++ ){ var M = _ [ C ], L = M . targetName ; L === "style" && A ( M , w , function ( J ){ return vB [ J ]})} for ( var Z = wt ( w ), rt =! 0 , at , C = 1 ; C < Z . length ; C ++ ){ var W = Z [ C - 1 ], Y = Z [ C ]; if ( w [ W ][ Vn ] !== w [ Y ][ Vn ]){ rt =! 1 ; break } at = w [ W ][ Vn ]} if ( rt && at ){ for ( var I in w ) w [ I ][ Vn ] && delete w [ I ][ Vn ]; e [ Vn ] = at } if ( Pt ( Z , function ( tt ){ return wt ( w [ tt ]). length > 0 }). length ){ var ft = dD ( w , t ); return ft + " " + m [ 0 ] + " both" }} for ( var g in l ){ var s = p ( l [ g ]); s && o . push ( s )} if ( o . length ){ var y = t . zrId + "-cls-" + cD (); t . cssNodes [ "." + y ] = { animation : o . join ( "," )}, e . class = y }} function dB ( r , e , t ){ if ( ! r . ignore ) if ( r . isSilent ()){ var a = { "pointer-events" : "none" }; f1 ( a , e , t )} else { var n = r . states . emphasis && r . sta
`+g.message)}var n=new ut;n.add(a),n.isGeoSVGGraphicRoot=!0;var i=t.width,o=t.height,s=t.viewBoxRect,l=this._boundingRect;if(!l){var u=void 0,f=void 0,h=void 0,v=void 0;if(i!=null?(u=0,h=i):s&&(u=s.x,h=s.width),o!=null?(f=0,v=o):s&&(f=s.y,v=s.height),u==null||f==null){var c=a.getBoundingRect();u==null&&(u=c.x,h=c.width),f==null&&(f=c.y,v=c.height)}l=this._boundingRect=new gt(u,f,h,v)}if(s){var d=QD(s,l);a.scaleX=a.scaleY=d.scale,a.x=d.x,a.y=d.y}n.setClipPath(new Tt({shape:l.plain()}));var p=[];return D(t.named,function(g){Iz.get(g.svgNodeTagLower)!=null&&(p.push(g),Rz(g.el))}),{root:n,boundingRect:l,named:p}},r.prototype.useGraphic=function(e){var t=this._usedGraphicMap,a=t.get(e);return a||(a=this._freedGraphics.pop()||this._buildGraphic(this._parsedXML),t.set(e,a),a)},r.prototype.freeGraphic=function(e){var t=this._usedGraphicMap,a=t.get(e);a&&(t.removeKey(e),this._freedGraphics.push(a))},r}();function Rz(r){r.silent=!1,r.isGroup&&r.traverse(function(e){e.silent=!1})}function Ez(r){var e=[],t=et();return D(r,function(a){if(a.namedFrom==null){var n=new D5(a.name,a.el);e.push(n),t.set(a.name,n)}}),{regions:e,regionsMap:t}}var Cp=[126,25],uS="南海诸岛",zn=[[[0,3.5],[7,11.2],[15,11.9],[30,7],[42,.7],[52,.7],[56,7.7],[59,.7],[64,.7],[64,0],[5,0],[0,3.5]],[[13,16.1],[19,14.7],[16,21.7],[11,23.1],[13,16.1]],[[12,32.2],[14,38.5],[15,38.5],[13,32.2],[12,32.2]],[[16,47.6],[12,53.2],[13,53.2],[18,47.6],[16,47.6]],[[6,64.4],[8,70],[9,70],[8,64.4],[6,64.4]],[[23,82.6],[29,79.8],[30,79.8],[25,82.6],[23,82.6]],[[37,70.7],[43,62.3],[44,62.3],[39,70.7],[37,70.7]],[[48,51.1],[51,45.5],[53,45.5],[50,51.1],[48,51.1]],[[51,35],[51,28.7],[53,28.7],[53,35],[51,35]],[[52,22.4],[55,17.5],[56,17.5],[53,22.4],[52,22.4]],[[58,12.6],[62,7],[63,7],[60,12.6],[58,12.6]],[[0,3.5],[0,93.1],[64,93.1],[64,0],[63,0],[63,92.4],[1,92.4],[1,3.5],[0,3.5]]];for(var Bn=0;Bn<zn.length;Bn++)for(var Gi=0;Gi<zn[Bn].length;Gi++)zn[Bn][Gi][0]/=10.5,zn[Bn][Gi][1]/=-10.5/.75,zn[Bn][Gi][0]+=Cp[0],zn[Bn][Gi][1]+=Cp[1];function kz(r,e){if(r==="china"){for(var t=0;t<e.length;t++)if(e[t].name===uS)return;e.push(new ZC(uS,H(zn,function(a){return{type:"polygon",exterior:a}}),Cp))}}var Oz={南海诸岛:[32,80],广东:[0,-10],香港:[10,5],澳门:[-10,10],天津:[5,5]};function Nz(r,e){if(r==="china"){var t=Oz[e.name];if(t){var a=e.getCenter();a[0]+=t[0]/10.5,a[1]+=-t[1]/(10.5/.75),e.setCenter(a)}}}var Bz=[[[123.45165252685547,25.73527164402261],[123.49731445312499,25.73527164402261],[123.49731445312499,25.750734064600884],[123.45165252685547,25.750734064600884],[123.45165252685547,25.73527164402261]]];function Vz(r,e){r==="china"&&e.name==="台湾"&&e.geometries.push({type:"polygon",exterior:Bz[0]})}var zz="name",Gz=function(){function r(e,t,a){this.type="geoJSON",this._parsedMap=et(),this._mapName=e,this._specialAreas=a,this._geoJSON=Hz(t)}return r.prototype.load=function(e,t){t=t||zz;var a=this._parsedMap.get(t);if(!a){var n=this._parseToRegions(t);a=this._parsedMap.set(t,{regions:n,boundingRect:Fz(n)})}var i=et(),o=[];return D(a.regions,function(s){var l=s.name;e&&j(e,l)&&(s=s.cloneShallow(l=e[l])),o.push(s),i.set(l,s)}),{regions:o,boundingRect:a.boundingRect||new gt(0,0,0,0),regionsMap:i}},r.prototype._parseToRegions=function(e){var t=this._mapName,a=this._geoJSON,n;try{n=a?L5(a,e):[]}catch(i){throw new Error(` Invalid geoJson format
`+i.message)}return kz(t,n),D(n,function(i){var o=i.name;Nz(t,i),Vz(t,i);var s=this._specialAreas&&this._specialAreas[o];s&&i.transformTo(s.left,s.top,s.width,s.height)},this),n},r.prototype.getMapForUser=function(){return{geoJson:this._geoJSON,geoJSON:this._geoJSON,specialAreas:this._specialAreas}},r}();function Fz(r){for(var e,t=0;t<r.length;t++){var a=r[t].getBoundingRect();e=e||a.clone(),e.union(a)}return e}function Hz(r){return K(r)?typeof JSON<"u"&&JSON.parse?JSON.parse(r):new Function("return ("+r+");")():r}var ns=et();const xa={registerMap:function(r,e,t){if(e.svg){var a=new Pz(r,e.svg);ns.set(r,a)}else{var n=e.geoJson||e.geoJSON;n&&!e.features?t=e.specialAreas:n=e;var a=new Gz(r,n,t);ns.set(r,a)}},getGeoResource:function(r){return ns.get(r)},getMapForUser:function(r){var e=ns.get(r);return e&&e.type==="geoJSON"&&e.getMapForUser()},load:function(r,e,t){var a=ns.get(r);if(a)return a.load(e,t)}};var xy=["rect","circle","line","ellipse","polygon","polyline","path"],Wz=et(xy),Uz=et(xy.concat(["g"])),Yz=et(xy.concat(["g"])),JD=At();function Au(r){var e=r.getItemStyle(),t=r.get("areaColor");return t!=null&&(e.fill=t),e}function fS(r){var e=r.style;e&&(e.stroke=e.stroke||e.fill,e.fill=null)}var jD=function(){function r(e){var t=new ut;this.uid=Lo("ec_map_draw"),this._controller=new Ol(e.getZr()),this._controllerHost={target:t},this.group=t,t.add(this._regionsGroup=new ut),t.add(this._svgGroup=new ut)}return r.prototype.draw=function(e,t,a,n,i){var o=e.mainType==="geo",s=e.getData&&e.getData();o&&t.eachComponent({mainType:"series",subType:"map"},function(y){!s&&y.getHostGeoModel()===e&&(s=y.getData())});var l=e.coordinateSystem,u=this._regionsGroup,f=this.group,h=l.getTransformInfo(),v=h.raw,c=h.roam,d=!u.childAt(0)||i;d?(f.x=c.x,f.y=c.y,f.scaleX=c.scaleX,f.scaleY=c.scaleY,f.dirty()):Mt(f,c,e);var p=s&&s.getVisual("visualMeta")&&s.getVisual("visualMeta").length>0,g={api:a,geo:l,mapOrGeoModel:e,data:s,isVisualEncodedByVisualMap:p,isGeo:o,transformInfoRaw:v};l.resourceType==="geoJSON"?this._buildGeoJSON(g):l.resourceType==="geoSVG"&&this._buildSVG(g),this._updateController(e,t,a),this._updateMapSelectHandler(e,u,a,n)},r.prototype._buildGeoJSON=function(e){var t=this._regionsGroupByName=et(),a=et(),n=this._regionsGroup,i=e.transformInfoRaw,o=e.mapOrGeoModel,s=e.data,l=e.geo.projection,u=l&&l.stream;function f(c,d){return d&&(c=d(c)),c&&[c[0]*i.scaleX+i.x,c[1]*i.scaleY+i.y]}function h(c){for(var d=[],p=!u&&l&&l.project,g=0;g<c.length;++g){var y=f(c[g],p);y&&d.push(y)}return d}function v(c){return{shape:{points:h(c)}}}n.removeAll(),D(e.geo.regions,function(c){var d=c.name,p=t.get(d),g=a.get(d)||{},y=g.dataIdx,m=g.regionModel;if(!p){p=t.set(d,new ut),n.add(p),y=s?s.indexOfName(d):null,m=e.isGeo?o.getRegionModel(d):s?s.getItemModel(y):null;var _=m.get("silent",!0);_!=null&&(p.silent=_),a.set(d,{dataIdx:y,regionModel:m})}var S=[],b=[];D(c.geometries,function(T){if(T.type==="polygon"){var A=[T.exterior].concat(T.interiors||[]);u&&(A=gS(A,u)),D(A,function(M){S.push(new Ne(v(M)))})}else{var C=T.points;u&&(C=gS(C,u,!0)),D(C,function(M){b.push(new Be(v(M)))})}});var x=f(c.getCenter(),l&&l.project);function w(T,A){if(T.length){var C=new Pg({culling:!0,segmentIgnoreThreshold:1,shape:{paths:T}});p.add(C),hS(e,C,y,m),vS(e,C,d,m,o,y,x),A&&(fS(C),D(C.states,fS))}}w(S),w(b,!0)}),t.each(function(c,d){var p=a.get(d),g=p.dataIdx,y=p.regionModel;cS(e,c,d,y,o,g),dS(e,c,d,y,o),pS(e,c,d,y,o)},this)},r.prototype._buildSVG=function(e){var t=e.geo.map,a=e.transformInfoRaw;this._svgGroup.x=a.x,this._svgGroup.y=a.y,this._svgGroup.scaleX=a.scaleX,this._svgGroup.scaleY=a.scaleY,this._svgResourceChanged(t)&&(this._freeSVG(),this._useSVG(t));var n=this._svgDispatcherMap=et(),i=!1;D(this._svgGraphicRecord.named,function(o){var s=o.name,l=e.mapOrGeoModel,u=e.data,f=o.svgNodeTagLower,h=o.el,v=u?u.indexOfName(s):null,c=l.getRegionModel(s);Wz.get(f)!=null&&h instanceof cr&&hS(e,h,v,c),h instanceof cr&&(h.culling=!0);var d=c.get("silent",!0);if(d!=null&&(h.silent=d),h.z2EmphasisLift=0,!o.namedFrom&&(Yz.get(f)!=null&&vS(e,h,s,c,l,v,null),cS(e,h,s,c,l,v),dS(e,h,s
2026-05-29 18:16:34 +08:00
` ))}), e . join ( `
` + Wh + `
` )} function a7 ( r ){ return H ( r , function ( e ){ var t = e . getRawData (), a = [ e . name ], n = []; return t . each ( t . dimensions , function (){ for ( var i = arguments . length , o = arguments [ i - 1 ], s = t . getName ( o ), l = 0 ; l < i - 1 ; l ++ ) n [ l ] = arguments [ l ]; a . push (( s ? s + xo : "" ) + n . join ( xo ))}), a . join ( `
` )}). join ( `
` + Wh + `
` )} function n7 ( r ){ var e = e7 ( r ); return { value : Pt ([ r7 ( e . seriesGroupByCategoryAxis ), a7 ( e . other )], function ( t ){ return !! t . replace ( /[\n\t\s]/g , "" )}). join ( `
` + Wh + `
` ), meta : e . meta }} function qf ( r ){ return r . replace ( /^\s\s*/ , "" ). replace ( /\s\s*$/ , "" )} function i7 ( r ){ var e = r . slice ( 0 , r . indexOf ( `
` )); if ( e . indexOf ( xo ) >= 0 ) return ! 0 } var Zp = new RegExp ( "[" + xo + "]+" , "g" ); function o7 ( r ){ for ( var e = r . split ( /\n+/g ), t = qf ( e . shift ()). split ( Zp ), a = [], n = H ( t , function ( l ){ return { name : l , data : []}}), i = 0 ; i < e . length ; i ++ ){ var o = qf ( e [ i ]). split ( Zp ); a . push ( o . shift ()); for ( var s = 0 ; s < o . length ; s ++ ) n [ s ] && ( n [ s ]. data [ i ] = o [ s ])} return { series : n , categories : a }} function s7 ( r ){ for ( var e = r . split ( /\n+/g ), t = qf ( e . shift ()), a = [], n = 0 ; n < e . length ; n ++ ){ var i = qf ( e [ n ]); if ( i ){ var o = i . split ( Zp ), s = "" , l = void 0 , u =! 1 ; isNaN ( o [ 0 ]) ? ( u =! 0 , s = o [ 0 ], o = o . slice ( 1 ), a [ n ] = { name : s , value : []}, l = a [ n ]. value ) : l = a [ n ] = []; for ( var f = 0 ; f < o . length ; f ++ ) l . push ( + o [ f ]); l . length === 1 && ( u ? a [ n ]. value = l [ 0 ] : a [ n ] = l [ 0 ])}} return { name : t , data : a }} function l7 ( r , e ){ var t = r . split ( new RegExp ( `
*` + Wh + `
2026-05-29 23:53:00 +08:00
*` , "g" )), a = { series : []}; return D ( t , function ( n , i ){ if ( i7 ( n )){ var o = o7 ( n ), s = e [ i ], l = s . axisDim + "Axis" ; s && ( a [ l ] = a [ l ] || [], a [ l ][ s . axisIndex ] = { data : o . categories }, a . series = a . series . concat ( o . series ))} else { var o = s7 ( n ); a . series . push ( o )}}), a } var u7 = function ( r ){ k ( e , r ); function e (){ return r !== null && r . apply ( this , arguments ) || this } return e . prototype . onclick = function ( t , a ){ setTimeout ( function (){ a . dispatchAction ({ type : "hideTip" })}); var n = a . getDom (), i = this . model ; this . _dom && n . removeChild ( this . _dom ); var o = document . createElement ( "div" ); o . style . cssText = "position:absolute;top:0;bottom:0;left:0;right:0;padding:5px" , o . style . backgroundColor = i . get ( "backgroundColor" ) || "#fff" ; var s = document . createElement ( "h4" ), l = i . get ( "lang" ) || []; s . innerHTML = l [ 0 ] || i . get ( "title" ), s . style . cssText = "margin:10px 20px" , s . style . color = i . get ( "textColor" ); var u = document . createElement ( "div" ), f = document . createElement ( "textarea" ); u . style . cssText = "overflow:auto" ; var h = i . get ( "optionToContent" ), v = i . get ( "contentToOption" ), c = n7 ( t ); if ( nt ( h )){ var d = h ( a . getOption ()); K ( d ) ? u . innerHTML = d : fo ( d ) && u . appendChild ( d )} else { f . readOnly = i . get ( "readOnly" ); var p = f . style ; p . cssText = "display:block;width:100%;height:100%;font-family:monospace;font-size:14px;line-height:1.6rem;resize:none;box-sizing:border-box;outline:none" , p . color = i . get ( "textColor" ), p . borderColor = i . get ( "textareaBorderColor" ), p . backgroundColor = i . get ( "textareaColor" ), f . value = c . value , u . appendChild ( f )} var g = c . meta , y = document . createElement ( "div" ); y . style . cssText = "position:absolute;bottom:5px;left:0;right:0" ; var m = "float:right;margin-right:20px;border:none;cursor:pointer;padding:2px 5px;font-size:12px;border-radius:3px" , _ = document . createElement ( "div" ), S = document . createElement ( "div" ); m += ";background-color:" + i . get ( "buttonColor" ), m += ";color:" + i . get ( "buttonTextColor" ); var b = this ; function x (){ n . removeChild ( o ), b . _dom = null } Ad ( _ , "click" , x ), Ad ( S , "click" , function (){ if ( v == null && h != null || v != null && h == null ){ x (); return } var w ; try { nt ( v ) ? w = v ( u , a . getOption ()) : w = l7 ( f . value , g )} catch ( T ){ throw x (), new Error ( "Data view format error " + T )} w && a . dispatchAction ({ type : "changeDataView" , newOption : w }), x ()}), _ . innerHTML = l [ 1 ], S . innerHTML = l [ 2 ], S . style . cssText = _ . style . cssText = m , ! i . get ( "readOnly" ) && y . appendChild ( S ), y . appendChild ( _ ), o . appendChild ( s ), o . appendChild ( u ), o . appendChild ( y ), u . style . height = n . clientHeight - 80 + "px" , n . appendChild ( o ), this . _dom = o }, e . prototype . remove = function ( t , a ){ this . _dom && a . getDom (). removeChild ( this . _dom )}, e . prototype . dispose = function ( t , a ){ this . remove ( t , a )}, e . getDefaultOption = function ( t ){ var a = { show :! 0 , readOnly :! 1 , optionToContent : null , contentToOption : null , icon : "M17.5,17.3H33 M17.5,17.3H33 M45.4,29.5h-28 M11.5,2v56H51V14.8L38.4,2H11.5z M38.4,2.2v12.7H51 M45.4,41.7h-28" , title : t . getLocaleModel (). get ([ "toolbox" , "dataView" , "title" ]), lang : t . getLocaleModel (). get ([ "toolbox" , "dataView" , "lang" ]), backgroundColor : "#fff" , textColor : "#000" , textareaColor : "#fff" , textareaBorderColor : "#333" , buttonColor : "#c23531" , buttonTextColor : "#fff" }; return a }, e }( lr ); function f7 ( r , e ){ return H ( r , function ( t , a ){ var n = e && e [ a ]; if ( st ( n ) &&! z ( n )){ var i = st ( t ) &&! z ( t ); i || ( t = { value : t }); var o = n . name != null && t . name == null ; return t = ot ( t , n ), o && delete t . name , t } else return t })} ea ({ type : "changeDataView" , event : "dataViewChanged" , update : "prepareAndUpdate" }, function ( r , e ){ var t = []; D ( r . newOption . series , function ( a ){ var n = e . getSeriesByName ( a . name )[ 0 ]; if ( ! n ) t . push ( V ({ type : "scatter" }, a )); else { var i = n . get ( "data" ); t . push ({ name : a . name , data : f7 ( a . data , i )})}}), e . mergeOption ( ot ({ series : t }, r . newOption ))}); var L2 = D , I2 = At (); function h7 ( r , e ){ var t = nm ( r ); L2 ( e , function ( a , n ){ for ( var i = t . length - 1 ; i >= 0 ; i -- ){ var o = t [ i ]; if ( o [ n ]) break } if ( i < 0 ){ var s = r . queryComponents ({ mainType : "dataZoom" , subType : "select" , id : n })[ 0 ]; if ( s ){ var l = s . getPercentRange (); t [ 0 ][ n ] = { dataZoomId : n , start : l [ 0 ], end : l [ 1 ]}}}}), t . push ( e )} function v7 ( r ){ var e = nm ( r ), t = e [ e . length - 1 ]; e . length > 1 && e . pop (); var a = {}; return L2 ( t , function ( n , i ){ for ( var o = e . length - 1 ; o >= 0 ; o -- ) if ( n = e [ o ][ i ], n ){ a [ i ] = n ; break }}), a } function c7 ( r ){ I2 ( r ). snapshots = null } function d7 ( r ){ return nm ( r ). length } function nm ( r ){ var e = I2 ( r ); return e . snapshots || ( e . snapshots = [{}]), e . snapshots } var p7 = function ( r ){ k ( e , r ); function e (){ retur
2026-05-29 18:16:34 +08:00
2026-05-29 23:53:00 +08:00
`:"<br/>",y=h.join(g);this._showOrMove(s,function(){this._updateContentNotChangedOnAxis(t,u)?this._updatePosition(s,c,o[0],o[1],this._tooltipContent,u):this._showTooltipContent(s,y,u,Math.random()+"",o[0],o[1],c,null,v)})},e.prototype._showSeriesItemTooltip=function(t,a,n){var i=this._ecModel,o=ht(a),s=o.seriesIndex,l=i.getSeriesByIndex(s),u=o.dataModel||l,f=o.dataIndex,h=o.dataType,v=u.getData(h),c=this._renderMode,d=t.positionDefault,p=ls([v.getItemModel(f),u,l&&(l.coordinateSystem||{}).model],this._tooltipModel,d?{position:d}:null),g=p.get("trigger");if(!(g!=null&&g!=="item")){var y=u.getDataParams(f,h),m=new Fv;y.marker=m.makeTooltipMarker("item",pi(y.color),c);var _=n_(u.formatTooltip(f,!1,h)),S=p.get("order"),b=p.get("valueFormatter"),x=_.frag,w=x?f_(b?V({valueFormatter:b},x):x,m,c,S,i.get("useUTC"),p.get("textStyle")):_.text,T="item_"+u.name+"_"+f;this._showOrMove(p,function(){this._showTooltipContent(p,w,y,T,t.offsetX,t.offsetY,t.position,t.target,m)}),n({type:"showTip",dataIndexInside:f,dataIndex:v.getRawIndex(f),seriesIndex:s,from:this.uid})}},e.prototype._showComponentItemTooltip=function(t,a,n){var i=this._renderMode==="html",o=ht(a),s=o.tooltipConfig,l=s.option||{},u=l.encodeHTMLContent;if(K(l)){var f=l;l={content:f,formatter:f},u=!0}u&&i&&l.content&&(l=lt(l),l.content=Ie(l.content));var h=[l],v=this._ecModel.getComponent(o.componentMainType,o.componentIndex);v&&h.push(v),h.push({formatter:l.content});var c=t.positionDefault,d=ls(h,this._tooltipModel,c?{position:c}:null),p=d.get("content"),g=Math.random()+"",y=new Fv;this._showOrMove(d,function(){var m=lt(d.get("formatterParams")||{});this._showTooltipContent(d,p,m,g,t.offsetX,t.offsetY,t.position,a,y)}),n({type:"showTip",from:this.uid})},e.prototype._showTooltipContent=function(t,a,n,i,o,s,l,u,f){if(this._ticket="",!(!t.get("showContent")||!t.get("show"))){var h=this._tooltipContent;h.setEnterable(t.get("enterable"));var v=t.get("formatter");l=l||t.get("position");var c=a,d=this._getNearestPoint([o,s],n,t.get("trigger"),t.get("borderColor")),p=d.color;if(v)if(K(v)){var g=t.ecModel.get("useUTC"),y=z(n)?n[0]:n,m=y&&y.axisType&&y.axisType.indexOf("time")>=0;c=v,m&&(c=xh(y.axisValue,c,g)),c=cA(c,n,!0)}else if(nt(v)){var _=Q(function(S,b){S===this._ticket&&(h.setContent(b,f,t,p,l),this._updatePosition(t,l,o,s,h,n,u))},this);this._ticket=i,c=v(n,i,_)}else c=v;h.setContent(c,f,t,p,l),h.show(t,p),this._updatePosition(t,l,o,s,h,n,u)}},e.prototype._getNearestPoint=function(t,a,n,i){if(n==="axis"||z(a))return{color:i||(this._renderMode==="html"?"#fff":"none")};if(!z(a))return{color:i||a.color||a.borderColor}},e.prototype._updatePosition=function(t,a,n,i,o,s,l){var u=this._api.getWidth(),f=this._api.getHeight();a=a||t.get("position");var h=o.getSize(),v=t.get("align"),c=t.get("verticalAlign"),d=l&&l.getBoundingRect().clone();if(l&&d.applyTransform(l.transform),nt(a)&&(a=a([n,i],s,o.el,d,{viewSize:[u,f],contentSize:h.slice()})),z(a))n=X(a[0],u),i=X(a[1],f);else if(st(a)){var p=a;p.width=h[0],p.height=h[1];var g=re(p,{width:u,height:f});n=g.x,i=g.y,v=null,c=null}else if(K(a)&&l){var y=F7(a,d,h,t.get("borderWidth"));n=y[0],i=y[1]}else{var y=z7(n,i,o,u,f,v?null:20,c?null:20);n=y[0],i=y[1]}if(v&&(n-=xb(v)?h[0]/2:v==="right"?h[0]:0),c&&(i-=xb(c)?h[1]/2:c==="bottom"?h[1]:0),P2(t)){var y=G7(n,i,o,u,f);n=y[0],i=y[1]}o.moveTo(n,i)},e.prototype._updateContentNotChangedOnAxis=function(t,a){var n=this._lastDataByCoordSys,i=this._cbParamsList,o=!!n&&n.length===t.length;return o&&D(n,function(s,l){var u=s.dataByAxis||[],f=t[l]||{},h=f.dataByAxis||[];o=o&&u.length===h.length,o&&D(u,function(v,c){var d=h[c]||{},p=v.seriesDataIndices||[],g=d.seriesDataIndices||[];o=o&&v.value===d.value&&v.axisType===d.axisType&&v.axisId===d.axisId&&p.length===g.length,o&&D(p,function(y,m){var _=g[m];o=o&&y.seriesIndex===_.seriesIndex&&y.dataIndex===_.dataIndex}),i&&D(v.seriesDataIndices,function(y){var m=y.seriesIndex,_=a[m],S=i[m];_&&S&&S.data!==_.data&&(o=!1)})})}),this._lastDataByCoordSys=t,this._cbParamsList=a,!!o},e.prototype._hide=function(t){this._lastDataByCoordSys=null,t({type:"hideTip",from:t
2026-05-29 18:16:34 +08:00
` )){ var g = new Gu ; g . newline =! 0 , u . add ( g ); return } var y = n . getSeriesByName ( p )[ 0 ]; if ( ! f . get ( p )) if ( y ){ var m = y . getData (), _ = m . getVisual ( "legendLineStyle" ) || {}, S = m . getVisual ( "legendIcon" ), b = m . getVisual ( "style" ), x = this . _createItem ( y , p , d , c , a , t , _ , b , S , h , i ); x . on ( "click" , Yi ( Gb , p , null , i , v )). on ( "mouseover" , Yi ( eg , y . name , null , i , v )). on ( "mouseout" , Yi ( rg , y . name , null , i , v )), n . ssr && x . eachChild ( function ( w ){ var T = ht ( w ); T . seriesIndex = y . seriesIndex , T . dataIndex = d , T . ssrType = "legend" }), f . set ( p , ! 0 )} else n . eachRawSeries ( function ( w ){ if ( ! f . get ( p ) && w . legendVisualProvider ){ var T = w . legendVisualProvider ; if ( ! T . containName ( p )) return ; var A = T . indexOfName ( p ), C = T . getItemVisual ( A , "style" ), M = T . getItemVisual ( A , "legendIcon" ), L = Ke ( C . fill ); L && L [ 3 ] === 0 && ( L [ 3 ] = . 2 , C = V ( V ({}, C ),{ fill : va ( L , "rgba" )})); var I = this . _createItem ( w , p , d , c , a , t ,{}, C , M , h , i ); I . on ( "click" , Yi ( Gb , null , p , i , v )). on ( "mouseover" , Yi ( eg , null , p , i , v )). on ( "mouseout" , Yi ( rg , null , p , i , v )), n . ssr && I . eachChild ( function ( P ){ var R = ht ( P ); R . seriesIndex = w . seriesIndex , R . dataIndex = d , R . ssrType = "legend" }), f . set ( p , ! 0 )}}, this )}, this ), o && this . _createSelector ( o , a , i , s , l )}, e . prototype . _createSelector = function ( t , a , n , i , o ){ var s = this . getSelectorGroup (); tg ( t , function ( u ){ var f = u . type , h = new Ct ({ style : { x : 0 , y : 0 , align : "center" , verticalAlign : "middle" }, onclick : function (){ n . dispatchAction ({ type : f === "all" ? "legendAllSelect" : "legendInverseSelect" , legendId : a . id })}}); s . add ( h ); var v = a . getModel ( "selectorLabel" ), c = a . getModel ([ "emphasis" , "selectorLabel" ]); ye ( h ,{ normal : v , emphasis : c },{ defaultText : u . title }), oi ( h )})}, e . prototype . _createItem = function ( t , a , n , i , o , s , l , u , f , h , v ){ var c = t . visualDrawType , d = o . get ( "itemWidth" ), p = o . get ( "itemHeight" ), g = o . isSelected ( a ), y = i . get ( "symbolRotate" ), m = i . get ( "symbolKeepAspect" ), _ = i . get ( "icon" ); f = _ || f || "roundRect" ; var S = G8 ( f , i , l , u , c , g , v ), b = new Gu , x = i . getModel ( "textStyle" ); if ( nt ( t . getLegendIcon ) && ( ! _ || _ === "inherit" )) b . add ( t . getLegendIcon ({ itemWidth : d , itemHeight : p , icon : f , iconRotate : y , itemStyle : S . itemStyle , lineStyle : S . lineStyle , symbolKeepAspect : m })); else { var w = _ === "inherit" && t . getData (). getVisual ( "symbol" ) ? y === "inherit" ? t . getData (). getVisual ( "symbolRotate" ) : y : 0 ; b . add ( F8 ({ itemWidth : d , itemHeight : p , icon : f , iconRotate : w , itemStyle : S . itemStyle , symbolKeepAspect : m }))} var T = s === "left" ? d + 5 :- 5 , A = s , C = o . get ( "formatter" ), M = a ; K ( C ) && C ? M = C . replace ( "{name}" , a ?? "" ) : nt ( C ) && ( M = C ( a )); var L = g ? x . getTextColor () : i . get ( "inactiveColor" ); b . add ( new Ct ({ style : zt ( x ,{ text : M , x : T , y : p / 2 , fill : L , align : A , verticalAlign : "middle" },{ inheritColor : L })})); var I = new Tt ({ shape : b . getBoundingRect (), style : { fill : "transparent" }}), P = i . getModel ( "tooltip" ); return P . get ( "show" ) && Si ({ el : I , componentModel : o , itemName : a , itemTooltipOption : P . option }), b . add ( I ), b . eachChild ( function ( R ){ R . silent =! 0 }), I . silent =! h , this . getContentGroup (). add ( b ), oi ( b ), b . __legendDataIndex = n , b }, e . prototype . layoutInner = function ( t , a , n , i , o , s ){ var l = this . getContentGroup (), u = this . getSelectorGroup (); li ( t . get ( "orient" ), l , t . get ( "itemGap" ), n . width , n . height ); var f = l . getBoundingRect (), h = [ - f . x , - f . y ]; if ( u . markRedraw (), l . markRedraw (), o ){ li ( "horizontal" , u , t . get ( "selectorItemGap" , ! 0 )); var v = u . getBoundingRect (), c = [ - v . x , - v . y ], d = t . get ( "selectorButtonGap" , ! 0 ), p = t . getOrient (). index , g = p === 0 ? "width" : "height" , y = p === 0 ? "height" : "width" , m = p === 0 ? "y" : "x" ; s === "end" ? c [ p ] += f [ g ] + d : h [ p ] += v [ g ] + d , c [ 1 - p ] += f [ y ] / 2 - v [ y ] / 2 , u . x = c [ 0 ], u . y = c [ 1 ], l . x = h [ 0 ], l . y = h [ 1 ]; var _ = { x : 0 , y : 0 }; return _ [ g ] = f [ g ] + d + v [ g ], _ [ y ] = Math . max ( f [ y ], v [ y ]), _ [ m ] = Math . min ( 0 , v [ m ] + c [ 1 - p ]), _ } else return l . x = h [ 0 ], l . y = h [ 1 ], this . group . getBoundingRect ()}, e . prototype . remove = function (){ this . getContentGroup (). removeAll (), this . _isFirstRender =! 0 }, e . type = "legend.plain" , e }( Ut ); function G8 ( r , e , t , a , n , i , o ){ function s ( g , y ){ g . lineWidth === "auto" && ( g . lineWidth = y . lineWidth > 0 ? 2 : 0 ), tg ( g , function ( m , _ ){ g [ _ ] === "inherit" && ( g [ _ ] = y [ _ ])})} var l = e . getModel ( "itemStyle" ), u = l . getItemStyle (), f = r . lastIndexOf ( "empty" , 0 ) === 0 ? "fill" : "stroke" , h = l . getShallow ( "decal" ); u . decal =! h || h === "inherit" ? a . decal : po ( h , o ), u . fill === "inherit" && ( u . fill = a [ n ]), u . stroke === "inherit" && ( u . stroke = a [ f ]), u . opacity === "inherit" && ( u . opacity = ( n === "fill" ? a : t ). opacity ), s ( u , a ); var v = e . getModel ( "lineStyle" ), c = v . getLineStyle (); if ( s ( c , t ), u . fill === "auto" && ( u . fill = a . fill ), u . stroke === "aut
2026-05-29 23:53:00 +08:00
`||n==="")){var i=r.isSelected(n);j(t,n)?t[n]=t[n]&&i:t[n]=i}}),t}function W8(r){r.registerAction(" legendToggleSelect "," legendselectchanged ",ct(fs," toggleSelected ")),r.registerAction(" legendAllSelect "," legendselectall ",ct(fs," allSelect ")),r.registerAction(" legendInverseSelect "," legendinverseselect ",ct(fs," inverseSelect ")),r.registerAction(" legendSelect "," legendselected ",ct(fs," select ")),r.registerAction(" legendUnSelect "," legendunselected ",ct(fs," unSelect "))}function H2(r){r.registerComponentModel(jp),r.registerComponentView(G2),r.registerProcessor(r.PRIORITY.PROCESSOR.SERIES_FILTER,H8),r.registerSubTypeDefaulter(" legend ",function(){return" plain "}),W8(r)}var U8=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.setScrollDataIndex=function(t){this.option.scrollDataIndex=t},e.prototype.init=function(t,a,n){var i=Po(t);r.prototype.init.call(this,t,a,n),Hb(this,t,i)},e.prototype.mergeOption=function(t,a){r.prototype.mergeOption.call(this,t,a),Hb(this,this.option,t)},e.type=" legend . scroll ",e.defaultOption=vn(jp.defaultOption,{scrollDataIndex:0,pageButtonItemGap:5,pageButtonGap:null,pageButtonPosition:" end ",pageFormatter:" { current } / { total } ",pageIcons:{horizontal:[" M0 , 0 L12 , - 10 L12 , 10 z "," M0 , 0 L - 12 , - 10 L - 12 , 10 z "],vertical:[" M0 , 0 L20 , 0 L10 , - 20 z "," M0 , 0 L20 , 0 L10 , 20 z "]},pageIconColor:" # 2 f4554 ",pageIconInactiveColor:" # aaa ",pageIconSize:15,pageTextStyle:{color:" # 333 "},animationDurationUpdate:800}),e}(jp);function Hb(r,e,t){var a=r.getOrient(),n=[1,1];n[a.index]=0,sn(e,t,{type:" box ",ignoreSize:!!n})}var Wb=ut,ld=[" width "," height "],ud=[" x "," y "],Y8=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.newlineDisabled=!0,t._currentIndex=0,t}return e.prototype.init=function(){r.prototype.init.call(this),this.group.add(this._containerGroup=new Wb),this._containerGroup.add(this.getContentGroup()),this.group.add(this._controllerGroup=new Wb)},e.prototype.resetInner=function(){r.prototype.resetInner.call(this),this._controllerGroup.removeAll(),this._containerGroup.removeClipPath(),this._containerGroup.__rectSize=null},e.prototype.renderInner=function(t,a,n,i,o,s,l){var u=this;r.prototype.renderInner.call(this,t,a,n,i,o,s,l);var f=this._controllerGroup,h=a.get(" pageIconSize ",!0),v=z(h)?h:[h,h];d(" pagePrev ",0);var c=a.getModel(" pageTextStyle ");f.add(new Ct({name:" pageText ",style:{text:" xx / xx ",fill:c.getTextColor(),font:c.getFont(),verticalAlign:" middle ",align:" center "},silent:!0})),d(" pageNext ",1);function d(p,g){var y=p+" DataIndex ",m=Tl(a.get(" pageIcons ",!0)[a.getOrient().name][g],{onclick:Q(u._pageGo,u,y,a,i)},{x:-v[0]/2,y:-v[1]/2,width:v[0],height:v[1]});m.name=p,f.add(m)}},e.prototype.layoutInner=function(t,a,n,i,o,s){var l=this.getSelectorGroup(),u=t.getOrient().index,f=ld[u],h=ud[u],v=ld[1-u],c=ud[1-u];o&&li(" horizontal ",l,t.get(" selectorItemGap ",!0));var d=t.get(" selectorButtonGap ",!0),p=l.getBoundingRect(),g=[-p.x,-p.y],y=lt(n);o&&(y[f]=n[f]-p[f]-d);var m=this._layoutContentAndController(t,i,y,u,f,v,c,h);if(o){if(s===" end ")g[u]+=m[f]+d;else{var _=p[f]+d;g[u]-=_,m[h]-=_}m[f]+=p[f]+d,g[1-u]+=m[c]+m[v]/2-p[v]/2,m[v]=Math.max(m[v],p[v]),m[c]=Math.min(m[c],p[c]+g[1-u]),l.x=g[0],l.y=g[1],l.markRedraw()}return m},e.prototype._layoutContentAndController=function(t,a,n,i,o,s,l,u){var f=this.getContentGroup(),h=this._containerGroup,v=this._controllerGroup;li(t.get(" orient "),f,t.get(" itemGap "),i?n.width:null,i?null:n.height),li(" horizontal ",v,t.get(" pageButtonItemGap ",!0));var c=f.getBoundingRect(),d=v.getBoundingRect(),p=this._showController=c[o]>n[o],g=[-c.x,-c.y];a||(g[i]=f[u]);var y=[0,0],m=[-d.x,-d.y],_=vt(t.get(" pageButtonGap ",!0),t.get(" itemGap ",!0));if(p){var S=t.get(" pageButtonPosition ",!0);S===" end " ? m [ i ] += n [ o ] - d [ o ] : y [ i ] += d [ o ] + _ } m [ 1 - i ] += c [ s ] / 2 - d [ s ] / 2 , f . setPosition ( g ), h . setPosition ( y ), v . setPosition ( m ); var b = { x : 0 , y : 0 }; if ( b [ o ] = p ? n [ o ] : c [ o ], b [ s ] = Math . max ( c [ s ], d [ s ]), b [ l ] = Math . min ( 0 , d [ l ] + m [ 1 - i ]), h . __rectSize = n [ o ], p ){ var x = { x : 0 , y : 0 }; x [ o ] = Math . max ( n [ o ] - d [ o ] - _ , 0 ), x [ s ] = b [ s ], h . setClipPath ( new Tt ({ shape : x })), h . __rectSize = x [ o ]} else v . eachChild ( fu