2022-04-07 10:21:38 +08:00
! function ( t , e ) { "object" == typeof exports && "undefined" != typeof module ? e ( exports ) : "function" == typeof define && define . amd ? define ( [ "exports" ] , e ) : e ( t . echarts = { } ) } ( this , function ( t ) { "use strict" ; function e ( t , e ) { function n ( ) { this . constructor = t } if ( "function" != typeof e && null !== e ) throw new TypeError ( "Class extends value " + String ( e ) + " is not a constructor or null" ) ; Z _ ( t , e ) , t . prototype = null === e ? Object . create ( e ) : ( n . prototype = e . prototype , new n ) } function n ( t , e ) { var n = e . browser , i = t . match ( /Firefox\/([\d.]+)/ ) , r = t . match ( /MSIE\s([\d.]+)/ ) || t . match ( /Trident\/.+?rv:(([\d.]+))/ ) , o = t . match ( /Edge?\/([\d.]+)/ ) , a = /micromessenger/i . test ( t ) ; i && ( n . firefox = ! 0 , n . version = i [ 1 ] ) , r && ( n . ie = ! 0 , n . version = r [ 1 ] ) , o && ( n . edge = ! 0 , n . version = o [ 1 ] , n . newEdge = + o [ 1 ] . split ( "." ) [ 0 ] > 18 ) , a && ( n . weChat = ! 0 ) , e . svgSupported = "undefined" != typeof SVGRect , e . touchEventsSupported = "ontouchstart" in window && ! n . ie && ! n . edge , e . pointerEventsSupported = "onpointerdown" in window && ( n . edge || n . ie && + n . version >= 11 ) , e . domSupported = "undefined" != typeof document ; var s = document . documentElement . style ; e . transform3dSupported = ( n . ie && "transition" in s || n . edge || "WebKitCSSMatrix" in window && "m11" in new WebKitCSSMatrix || "MozPerspective" in s ) && ! ( "OTransition" in s ) , e . transformSupported = e . transform3dSupported || n . ie && + n . version >= 9 } function i ( t ) { var e = { } ; if ( "undefined" == typeof JSON ) return e ; for ( var n = 0 ; n < t . length ; n ++ ) { var i = String . fromCharCode ( n + 32 ) , r = ( t . charCodeAt ( n ) - ex ) / nx ; e [ i ] = r } return e } function r ( t ) { for ( var e in ox ) t [ e ] && ( ox [ e ] = t [ e ] ) } function o ( ) { return vx ++ } function a ( ) { for ( var t = [ ] , e = 0 ; e < arguments . length ; e ++ ) t [ e ] = arguments [ e ] ; "undefined" != typeof console && console . error . apply ( console , t ) } function s ( t ) { if ( null == t || "object" != typeof t ) return t ; var e = t , n = lx . call ( t ) ; if ( "[object Array]" === n ) { if ( ! X ( t ) ) { e = [ ] ; for ( var i = 0 , r = t . length ; r > i ; i ++ ) e [ i ] = s ( t [ i ] ) } } else if ( sx [ n ] ) { if ( ! X ( t ) ) { var o = t . constructor ; if ( o . from ) e = o . from ( t ) ; else { e = new o ( t . length ) ; for ( var i = 0 , r = t . length ; r > i ; i ++ ) e [ i ] = t [ i ] } } } else if ( ! ax [ n ] && ! X ( t ) && ! P ( t ) ) { e = { } ; for ( var a in t ) t . hasOwnProperty ( a ) && a !== yx && ( e [ a ] = s ( t [ a ] ) ) } return e } function l ( t , e , n ) { if ( ! k ( e ) || ! k ( t ) ) return n ? s ( e ) : t ; for ( var i in e ) if ( e . hasOwnProperty ( i ) && i !== yx ) { var r = t [ i ] , o = e [ i ] ; ! k ( o ) || ! k ( r ) || M ( o ) || M ( r ) || P ( o ) || P ( r ) || A ( o ) || A ( r ) || X ( o ) || X ( r ) ? ! n && i in t || ( t [ i ] = s ( e [ i ] ) ) : l ( r , o , n ) } return t } function u ( t , e ) { for ( var n = t [ 0 ] , i = 1 , r = t . length ; r > i ; i ++ ) n = l ( n , t [ i ] , e ) ; return n } function h ( t , e ) { if ( Object . assign ) Object . assign ( t , e ) ; else for ( var n in e ) e . hasOwnProperty ( n ) && n !== yx && ( t [ n ] = e [ n ] ) ; return t } function c ( t , e , n ) { for ( var i = b ( e ) , r = 0 ; r < i . length ; r ++ ) { var o = i [ r ] ; ( n ? null != e [ o ] : null == t [ o ] ) && ( t [ o ] = e [ o ] ) } return t } function p ( t , e ) { if ( t ) { if ( t . indexOf ) return t . indexOf ( e ) ; for ( var n = 0 , i = t . length ; i > n ; n ++ ) if ( t [ n ] === e ) return n } return - 1 } function d ( t , e ) { function n ( ) { } var i = t . prototype ; n . prototype = e . prototype , t . prototype = new n ; for ( var r in i ) i . hasOwnProperty ( r ) && ( t . prototype [ r ] = i [ r ] ) ; t . prototype . constructor = t , t . superClass = e } function f ( t , e , n ) { if ( t = "prototype" in t ? t . prototype : t , e = "prototype" in e ? e . prototype : e , Object . getOwnPropertyNames ) for ( var i = Object . getOwnPropertyNames ( e ) , r = 0 ; r < i . length ; r ++ ) { var o = i [ r ] ; "constructor" !== o && ( n ? null != e [ o ] : null == t [ o ] ) && ( t [ o ] = e [ o ] ) } else c ( t , e , n ) } function g ( t ) { return t ? "string" == typeof t ? ! 1 : "number" == typeof t . length : ! 1 } function y ( t , e , n ) { if ( t && e ) if ( t . forEach && t . forEach === hx ) t . forEach ( e , n ) ; else if ( t . length === + t . length ) for ( var i = 0 , r = t . length ; r > i ; i ++ ) e . call ( n , t [ i ] , i , t ) ; else for ( var o in t ) t . hasOwnProperty ( o ) && e . call ( n , t [ o ] , o , t ) } function v ( t , e , n ) { if ( ! t ) return [ ] ; if ( ! e ) return V ( t ) ; if ( t . map && t . map === dx ) return t . map ( e , n ) ; for ( var i = [ ] , r = 0 , o = t . length ; o > r ; r ++ ) i . push ( e . call ( n , t [ r ] , r , t ) ) ; return i } function m ( t , e , n , i ) { if ( t && e ) { for ( var r = 0 , o = t . length ; o > r ; r ++ ) n = e . call ( i , n , t [ r ] , r , t ) ; return n } } function _ ( t , e , n ) { if ( ! t ) return [ ] ; if ( ! e ) return V ( t ) ; if ( t . filter && t . filter === cx ) return t . filter ( e , n ) ; for ( var i = [ ] , r = 0 , o = t . length ; o > r ; r ++ ) e . call ( n , t [ r ] , r , t ) && i . push ( t [ r ] ) ; return i } function x ( t , e , n ) { if ( t && e ) for ( var i = 0 , r = t . length ; r > i ; i ++ ) if ( e . call ( n , t [ i ] , i , t ) ) return t [ i ] } function b ( t ) { if ( ! t ) return [ ] ; if ( Object . keys ) return Object . keys ( t ) ; var e = [ ] ; for ( var n in t ) t . hasOwnProperty ( n ) && e . push ( n ) ; return e } function w ( t , e ) { for ( var n = [ ] , i = 2 ; i < arguments . length ; i +
} function $i ( t ) { return Math . pow ( 10 , Qi ( t ) ) } function Qi ( t ) { if ( 0 === t ) return 0 ; var e = Math . floor ( Math . log ( t ) / Math . LN10 ) ; return t / Math . pow ( 10 , e ) >= 10 && e ++ , e } function tr ( t , e ) { var n , i = Qi ( t ) , r = Math . pow ( 10 , i ) , o = t / r ; return n = e ? 1.5 > o ? 1 : 2.5 > o ? 2 : 4 > o ? 3 : 7 > o ? 5 : 10 : 1 > o ? 1 : 2 > o ? 2 : 3 > o ? 3 : 5 > o ? 5 : 10 , t = n * r , i >= - 20 ? + t . toFixed ( 0 > i ? - i : 0 ) : t } function er ( t , e ) { var n = ( t . length - 1 ) * e + 1 , i = Math . floor ( n ) , r = + t [ i - 1 ] , o = n - i ; return o ? r + o * ( t [ i ] - r ) : r } function nr ( t ) { function e ( t , n , i ) { return t . interval [ i ] < n . interval [ i ] || t . interval [ i ] === n . interval [ i ] && ( t . close [ i ] - n . close [ i ] === ( i ? - 1 : 1 ) || ! i && e ( t , n , 1 ) ) } t . sort ( function ( t , n ) { return e ( t , n , 0 ) ? - 1 : 1 } ) ; for ( var n = - 1 / 0 , i = 1 , r = 0 ; r < t . length ; ) { for ( var o = t [ r ] . interval , a = t [ r ] . close , s = 0 ; 2 > s ; s ++ ) o [ s ] <= n && ( o [ s ] = n , a [ s ] = s ? 1 : 1 - i ) , n = o [ s ] , i = a [ s ] ; o [ 0 ] === o [ 1 ] && a [ 0 ] * a [ 1 ] !== 1 ? t . splice ( r , 1 ) : r ++ } return t } function ir ( t ) { var e = parseFloat ( t ) ; return e == t && ( 0 !== e || ! I ( t ) || t . indexOf ( "x" ) <= 0 ) ? e : 0 / 0 } function rr ( t ) { return ! isNaN ( ir ( t ) ) } function or ( ) { return Math . round ( 9 * Math . random ( ) ) } function ar ( t , e ) { return 0 === e ? t : ar ( e , t % e ) } function sr ( t , e ) { return null == t ? e : null == e ? t : t * e / ar ( t , e ) } function lr ( t ) { throw new Error ( t ) } function ur ( t , e , n ) { return ( e - t ) * n + t } function hr ( t ) { return t instanceof Array ? t : null == t ? [ ] : [ t ] } function cr ( t , e , n ) { if ( t ) { t [ e ] = t [ e ] || { } , t . emphasis = t . emphasis || { } , t . emphasis [ e ] = t . emphasis [ e ] || { } ; for ( var i = 0 , r = n . length ; r > i ; i ++ ) { var o = n [ i ] ; ! t . emphasis [ e ] . hasOwnProperty ( o ) && t [ e ] . hasOwnProperty ( o ) && ( t . emphasis [ e ] [ o ] = t [ e ] [ o ] ) } } } function pr ( t ) { return ! k ( t ) || M ( t ) || t instanceof Date ? t : t . value } function dr ( t ) { return k ( t ) && ! ( t instanceof Array ) } function fr ( t , e , n ) { var i = "normalMerge" === n , r = "replaceMerge" === n , o = "replaceAll" === n ; t = t || [ ] , e = ( e || [ ] ) . slice ( ) ; var a = Y ( ) ; y ( e , function ( t , n ) { return k ( t ) ? void 0 : void ( e [ n ] = null ) } ) ; var s = gr ( t , a , n ) ; return ( i || r ) && yr ( s , t , a , e ) , i && vr ( s , e ) , i || r ? mr ( s , e , r ) : o && _r ( s , e ) , xr ( s ) , s } function gr ( t , e , n ) { var i = [ ] ; if ( "replaceAll" === n ) return i ; for ( var r = 0 ; r < t . length ; r ++ ) { var o = t [ r ] ; o && null != o . id && e . set ( o . id , r ) , i . push ( { existing : "replaceMerge" === n || Tr ( o ) ? null : o , newOption : null , keyInfo : null , brandNew : null } ) } return i } function yr ( t , e , n , i ) { y ( i , function ( r , o ) { if ( r && null != r . id ) { var a = wr ( r . id ) , s = n . get ( a ) ; if ( null != s ) { var l = t [ s ] ; H ( ! l . newOption , 'Duplicated option on id "' + a + '".' ) , l . newOption = r , l . existing = e [ s ] , i [ o ] = null } } } ) } function vr ( t , e ) { y ( e , function ( n , i ) { if ( n && null != n . name ) for ( var r = 0 ; r < t . length ; r ++ ) { var o = t [ r ] . existing ; if ( ! t [ r ] . newOption && o && ( null == o . id || null == n . id ) && ! Tr ( n ) && ! Tr ( o ) && br ( "name" , o , n ) ) return t [ r ] . newOption = n , void ( e [ i ] = null ) } } ) } function mr ( t , e , n ) { y ( e , function ( e ) { if ( e ) { for ( var i , r = 0 ; ( i = t [ r ] ) && ( i . newOption || Tr ( i . existing ) || i . existing && null != e . id && ! br ( "id" , e , i . existing ) ) ; ) r ++ ; i ? ( i . newOption = e , i . brandNew = n ) : t . push ( { newOption : e , brandNew : n , existing : null , keyInfo : null } ) , r ++ } } ) } function _r ( t , e ) { y ( e , function ( e ) { t . push ( { newOption : e , brandNew : ! 0 , existing : null , keyInfo : null } ) } ) } function xr ( t ) { var e = Y ( ) ; y ( t , function ( t ) { var n = t . existing ; n && e . set ( n . id , t ) } ) , y ( t , function ( t ) { var n = t . newOption ; H ( ! n || null == n . id || ! e . get ( n . id ) || e . get ( n . id ) === t , "id duplicates: " + ( n && n . id ) ) , n && null != n . id && e . set ( n . id , t ) , ! t . keyInfo && ( t . keyInfo = { } ) } ) , y ( t , function ( t , n ) { var i = t . existing , r = t . newOption , o = t . keyInfo ; if ( k ( r ) ) { if ( o . name = null != r . name ? wr ( r . name ) : i ? i . name : Ow + n , i ) o . id = wr ( i . id ) ; else if ( null != r . id ) o . id = wr ( r . id ) ; else { var a = 0 ; do o . id = "\x00" + o . name + "\x00" + a ++ ; while ( e . get ( o . id ) ) } e . set ( o . id , t ) } } ) } function br ( t , e , n ) { var i = Sr ( e [ t ] , null ) , r = Sr ( n [ t ] , null ) ; return null != i && null != r && i === r } function wr ( t ) { return Sr ( t , "" ) } function Sr ( t , e ) { return null == t ? e : I ( t ) ? t : D ( t ) || C ( t ) ? t + "" : e } function Mr ( t ) { var e = t . name ; return ! ( ! e || ! e . indexOf ( Ow ) ) } function Tr ( t ) { return t && null != t . id && 0 === wr ( t . id ) . indexOf ( Rw ) } function Ir ( t , e , n ) { y ( t , function ( t ) { var i = t . newOption ; k ( i ) && ( t . keyInfo . mainType = e , t . keyInfo . subType = Cr ( e , i , t . existing , n ) ) } ) } function Cr ( t , e , n , i ) { var r = e . type ? e . type : n ? n . subType : i . determineSubType ( t , e ) ; return r } function Dr ( t , e ) { return null != e . dataIndexInside ? e . dataIndexInside : null != e . dataIndex ? M ( e . dataIndex ) ? v ( e . dataIndex , function ( e ) { return t . indexOfRawIndex ( e ) } ) : t . indexOfRawIndex ( e . dataIndex ) : null != e . name ? M ( e . name ) ? v ( e . name , function ( e ) { return t . indexOfName ( e ) } ) : t . indexOfName ( e . name ) : void 0 } function kr ( ) { var t = "__ec_inner_" + Ew +
return D * D + k * k > A * A + L * L && ( M = I , T = C ) , { cx : M , cy : T , x0 : - h , y0 : - c , x1 : M * ( r / b - 1 ) , y1 : T * ( r / b - 1 ) } } function Qa ( t ) { var e ; if ( M ( t ) ) { var n = t . length ; if ( ! n ) return t ; e = 1 === n ? [ t [ 0 ] , t [ 0 ] , 0 , 0 ] : 2 === n ? [ t [ 0 ] , t [ 0 ] , t [ 1 ] , t [ 1 ] ] : 3 === n ? t . concat ( t [ 2 ] ) : t } else e = [ t , t , t , t ] ; return e } function ts ( t , e ) { var n , i = qM ( e . r , 0 ) , r = qM ( e . r0 || 0 , 0 ) , o = i > 0 , a = r > 0 ; if ( o || a ) { if ( o || ( i = r , r = 0 ) , r > i ) { var s = i ; i = r , r = s } var l = e . startAngle , u = e . endAngle ; if ( ! isNaN ( l ) && ! isNaN ( u ) ) { var h = e . cx , c = e . cy , p = ! ! e . clockwise , d = jM ( u - l ) , f = d > HM && d % HM ; if ( f > JM && ( d = f ) , i > JM ) if ( d > HM - JM ) t . moveTo ( h + i * UM ( l ) , c + i * WM ( l ) ) , t . arc ( h , c , i , l , u , ! p ) , r > JM && ( t . moveTo ( h + r * UM ( u ) , c + r * WM ( u ) ) , t . arc ( h , c , r , u , l , p ) ) ; else { var g = void 0 , y = void 0 , v = void 0 , m = void 0 , _ = void 0 , x = void 0 , b = void 0 , w = void 0 , S = void 0 , M = void 0 , T = void 0 , I = void 0 , C = void 0 , D = void 0 , k = void 0 , A = void 0 , L = i * UM ( l ) , P = i * WM ( l ) , O = r * UM ( u ) , R = r * WM ( u ) , N = d > JM ; if ( N ) { var E = e . cornerRadius ; E && ( n = Qa ( E ) , g = n [ 0 ] , y = n [ 1 ] , v = n [ 2 ] , m = n [ 3 ] ) ; var z = jM ( i - r ) / 2 ; if ( _ = KM ( z , v ) , x = KM ( z , m ) , b = KM ( z , g ) , w = KM ( z , y ) , T = S = qM ( _ , x ) , I = M = qM ( b , w ) , ( S > JM || M > JM ) && ( C = i * UM ( u ) , D = i * WM ( u ) , k = r * UM ( l ) , A = r * WM ( l ) , GM > d ) ) { var B = Ja ( L , P , k , A , C , D , O , R ) ; if ( B ) { var F = L - B [ 0 ] , V = P - B [ 1 ] , G = C - B [ 0 ] , H = D - B [ 1 ] , W = 1 / WM ( XM ( ( F * G + V * H ) / ( ZM ( F * F + V * V ) * ZM ( G * G + H * H ) ) ) / 2 ) , U = ZM ( B [ 0 ] * B [ 0 ] + B [ 1 ] * B [ 1 ] ) ; T = KM ( S , ( i - U ) / ( W + 1 ) ) , I = KM ( M , ( r - U ) / ( W - 1 ) ) } } } if ( N ) if ( T > JM ) { var X = KM ( v , T ) , Y = KM ( m , T ) , j = $a ( k , A , L , P , i , X , p ) , Z = $a ( C , D , O , R , i , Y , p ) ; t . moveTo ( h + j . cx + j . x0 , c + j . cy + j . y0 ) , S > T && X === Y ? t . arc ( h + j . cx , c + j . cy , T , YM ( j . y0 , j . x0 ) , YM ( Z . y0 , Z . x0 ) , ! p ) : ( X > 0 && t . arc ( h + j . cx , c + j . cy , X , YM ( j . y0 , j . x0 ) , YM ( j . y1 , j . x1 ) , ! p ) , t . arc ( h , c , i , YM ( j . cy + j . y1 , j . cx + j . x1 ) , YM ( Z . cy + Z . y1 , Z . cx + Z . x1 ) , ! p ) , Y > 0 && t . arc ( h + Z . cx , c + Z . cy , Y , YM ( Z . y1 , Z . x1 ) , YM ( Z . y0 , Z . x0 ) , ! p ) ) } else t . moveTo ( h + L , c + P ) , t . arc ( h , c , i , l , u , ! p ) ; else t . moveTo ( h + L , c + P ) ; if ( r > JM && N ) if ( I > JM ) { var X = KM ( g , I ) , Y = KM ( y , I ) , j = $a ( O , R , C , D , r , - Y , p ) , Z = $a ( L , P , k , A , r , - X , p ) ; t . lineTo ( h + j . cx + j . x0 , c + j . cy + j . y0 ) , M > I && X === Y ? t . arc ( h + j . cx , c + j . cy , I , YM ( j . y0 , j . x0 ) , YM ( Z . y0 , Z . x0 ) , ! p ) : ( Y > 0 && t . arc ( h + j . cx , c + j . cy , Y , YM ( j . y0 , j . x0 ) , YM ( j . y1 , j . x1 ) , ! p ) , t . arc ( h , c , r , YM ( j . cy + j . y1 , j . cx + j . x1 ) , YM ( Z . cy + Z . y1 , Z . cx + Z . x1 ) , p ) , X > 0 && t . arc ( h + Z . cx , c + Z . cy , X , YM ( Z . y1 , Z . x1 ) , YM ( Z . y0 , Z . x0 ) , ! p ) ) } else t . lineTo ( h + O , c + R ) , t . arc ( h , c , r , u , l , p ) ; else t . lineTo ( h + O , c + R ) } else t . moveTo ( h , c ) ; t . closePath ( ) } } } function es ( t , e , n , i ) { var r , o , a , s , l = [ ] , u = [ ] , h = [ ] , c = [ ] ; if ( i ) { a = [ 1 / 0 , 1 / 0 ] , s = [ - 1 / 0 , - 1 / 0 ] ; for ( var p = 0 , d = t . length ; d > p ; p ++ ) ve ( a , a , t [ p ] ) , me ( s , s , t [ p ] ) ; ve ( a , a , i [ 0 ] ) , me ( s , s , i [ 1 ] ) } for ( var p = 0 , d = t . length ; d > p ; p ++ ) { var f = t [ p ] ; if ( n ) r = t [ p ? p - 1 : d - 1 ] , o = t [ ( p + 1 ) % d ] ; else { if ( 0 === p || p === d - 1 ) { l . push ( te ( t [ p ] ) ) ; continue } r = t [ p - 1 ] , o = t [ p + 1 ] } re ( u , o , r ) , he ( u , u , e ) ; var g = pe ( f , r ) , y = pe ( f , o ) , v = g + y ; 0 !== v && ( g /= v , y /= v ) , he ( h , u , - g ) , he ( c , u , y ) ; var m = ne ( [ ] , f , h ) , _ = ne ( [ ] , f , c ) ; i && ( me ( m , m , a ) , ve ( m , m , s ) , me ( _ , _ , a ) , ve ( _ , _ , s ) ) , l . push ( m ) , l . push ( _ ) } return n && l . push ( l . shift ( ) ) , l } function ns ( t , e , n ) { var i = e . smooth , r = e . points ; if ( r && r . length >= 2 ) { if ( i ) { var o = es ( r , i , n , e . smoothConstraint ) ; t . moveTo ( r [ 0 ] [ 0 ] , r [ 0 ] [ 1 ] ) ; for ( var a = r . length , s = 0 ; ( n ? a : a - 1 ) > s ; s ++ ) { var l = o [ 2 * s ] , u = o [ 2 * s + 1 ] , h = r [ ( s + 1 ) % a ] ; t . bezierCurveTo ( l [ 0 ] , l [ 1 ] , u [ 0 ] , u [ 1 ] , h [ 0 ] , h [ 1 ] ) } } else { t . moveTo ( r [ 0 ] [ 0 ] , r [ 0 ] [ 1 ] ) ; for ( var s = 1 , c = r . length ; c > s ; s ++ ) t . lineTo ( r [ s ] [ 0 ] , r [ s ] [ 1 ] ) } n && t . closePath ( ) } } function is ( t , e , n ) { var i = t . cpx2 , r = t . cpy2 ; return null != i || null != r ? [ ( n ? Qe : $e ) ( t . x1 , t . cpx1 , t . cpx2 , t . x2 , e ) , ( n ? Qe : $e ) ( t . y1 , t . cpy1 , t . cpy2 , t . y2 , e ) ] : [ ( n ? sn : an ) ( t . x1 , t . cpx1 , t . x2 , e ) , ( n ? sn : an ) ( t . y1 , t . cpy1 , t . y2 , e ) ] } function rs ( t , e , n , i , r ) { var o ; if ( e && e . ecModel ) { var a = e . ecModel . getUpdatePayload ( ) ; o = a && a . animation } var s = e && e . isAnimationEnabled ( ) , l = "update" === t ; if ( s ) { var u = void 0 , h = void 0 , c = void 0 ; i ? ( u = B ( i . duration , 200 ) , h = B ( i . easing , "cubicOut" ) , c = 0 ) : ( u = e . getShallow ( l ? "animationDurationUpdate" : "animationDuration" ) , h = e . getShallow ( l ? "animationEasingUpdate" : "animationEasing" ) , c = e . getShallow ( l ? "animationDelayUpdate" : "animationDelay" ) ) , o && ( null != o . duration && ( u = o . duration ) , null != o . easing && ( h = o . easing ) , null != o . delay && ( c = o . delay ) ) , T ( c ) && ( c = c ( n , r ) ) , T ( u ) && ( u = u ( n ) ) ; var p = { duration : u || 0 , delay : c , easing : h } ; return p } return null } function os ( t , e , n , i , r , o , a ) { var s , l = ! 1 ; T ( r ) ? ( a = o , o = r , r = null ) : k ( r ) && ( o = r . cb , a = r . during , l = r . isFrom , s = r . removeOpt , r = r . dataIndex ) ; var u = "leave" === t ; u || e . stopAnimation ( "leave" ) ; var h = rs ( t , i , r , u ? s || { } : null , i && i . getAnimationDelayParams ? i . getAnimationDelayParams ( e , r ) : null ) ; if ( h && h . duration > 0 ) { var c = h . d
if ( ! o . stackedDimension || ! o . isStackedByIndex && ! o . stackedByDimension ) return ; i . length && r . setCalculationInfo ( "stackedOnSeries" , i [ i . length - 1 ] . seriesModel ) , i . push ( o ) } } ) , e . each ( Au ) } function Au ( t ) { y ( t , function ( e , n ) { var i = [ ] , r = [ 0 / 0 , 0 / 0 ] , o = [ e . stackResultDimension , e . stackedOverDimension ] , a = e . data , s = e . isStackedByIndex ; a . modify ( o , function ( o , l , u ) { var h = a . get ( e . stackedDimension , u ) ; if ( isNaN ( h ) ) return r ; var c , p ; s ? p = a . getRawIndex ( u ) : c = a . get ( e . stackedByDimension , u ) ; for ( var d = 0 / 0 , f = n - 1 ; f >= 0 ; f -- ) { var g = t [ f ] ; if ( s || ( p = g . data . rawIndexOf ( g . stackedByDimension , c ) ) , p >= 0 ) { var y = g . data . getByRawIndex ( g . stackResultDimension , p ) ; if ( h >= 0 && y > 0 || 0 >= h && 0 > y ) { h = Zi ( h , y ) , d = y ; break } } } return i [ 0 ] = h , i [ 1 ] = d , i } ) } ) } function Lu ( t ) { return t instanceof cC } function Pu ( t , e , n ) { n = n || Nu ( t ) ; var i = e . seriesLayoutBy , r = Eu ( t , n , i , e . sourceHeader , e . dimensions ) , o = new cC ( { data : t , sourceFormat : n , seriesLayoutBy : i , dimensionsDefine : r . dimensionsDefine , startIndex : r . startIndex , dimensionsDetectedCount : r . dimensionsDetectedCount , metaRawOption : s ( e ) } ) ; return o } function Ou ( t ) { return new cC ( { data : t , sourceFormat : L ( t ) ? NI : LI } ) } function Ru ( t ) { return new cC ( { data : t . data , sourceFormat : t . sourceFormat , seriesLayoutBy : t . seriesLayoutBy , dimensionsDefine : s ( t . dimensionsDefine ) , startIndex : t . startIndex , dimensionsDetectedCount : t . dimensionsDetectedCount } ) } function Nu ( t ) { var e = EI ; if ( L ( t ) ) e = NI ; else if ( M ( t ) ) { 0 === t . length && ( e = PI ) ; for ( var n = 0 , i = t . length ; i > n ; n ++ ) { var r = t [ n ] ; if ( null != r ) { if ( M ( r ) ) { e = PI ; break } if ( k ( r ) ) { e = OI ; break } } } } else if ( k ( t ) ) for ( var o in t ) if ( K ( t , o ) && g ( t [ o ] ) ) { e = RI ; break } return e } function Eu ( t , e , n , i , r ) { var o , a ; if ( ! t ) return { dimensionsDefine : Bu ( r ) , startIndex : a , dimensionsDetectedCount : o } ; if ( e === PI ) { var s = t ; "auto" === i || null == i ? Fu ( function ( t ) { null != t && "-" !== t && ( I ( t ) ? null == a && ( a = 1 ) : a = 0 ) } , n , s , 10 ) : a = D ( i ) ? i : i ? 1 : 0 , r || 1 !== a || ( r = [ ] , Fu ( function ( t , e ) { r [ e ] = null != t ? t + "" : "" } , n , s , 1 / 0 ) ) , o = r ? r . length : n === BI ? s . length : s [ 0 ] ? s [ 0 ] . length : null } else if ( e === OI ) r || ( r = zu ( t ) ) ; else if ( e === RI ) r || ( r = [ ] , y ( t , function ( t , e ) { r . push ( e ) } ) ) ; else if ( e === LI ) { var l = pr ( t [ 0 ] ) ; o = M ( l ) && l . length || 1 } return { startIndex : a , dimensionsDefine : Bu ( r ) , dimensionsDetectedCount : o } } function zu ( t ) { for ( var e , n = 0 ; n < t . length && ! ( e = t [ n ++ ] ) ; ) ; if ( e ) { var i = [ ] ; return y ( e , function ( t , e ) { i . push ( e ) } ) , i } } function Bu ( t ) { if ( t ) { var e = Y ( ) ; return v ( t , function ( t ) { t = k ( t ) ? t : { name : t } ; var n = { name : t . name , displayName : t . displayName , type : t . type } ; if ( null == n . name ) return n ; n . name += "" , null == n . displayName && ( n . displayName = n . name ) ; var i = e . get ( n . name ) ; return i ? n . name += "-" + i . count ++ : e . set ( n . name , { count : 1 } ) , n } ) } } function Fu ( t , e , n , i ) { if ( e === BI ) for ( var r = 0 ; r < n . length && i > r ; r ++ ) t ( n [ r ] ? n [ r ] [ 0 ] : null , r ) ; else for ( var o = n [ 0 ] || [ ] , r = 0 ; r < o . length && i > r ; r ++ ) t ( o [ r ] , r ) } function Vu ( t ) { var e = t . sourceFormat ; return e === OI || e === RI } function Gu ( t , e ) { var n = fC [ Uu ( t , e ) ] ; return n } function Hu ( t , e ) { var n = yC [ Uu ( t , e ) ] ; return n } function Wu ( t ) { var e = mC [ t ] ; return e } function Uu ( t , e ) { return t === PI ? t + "_" + e : t } function Xu ( t , e , n ) { if ( t ) { var i = t . getRawDataItem ( e ) ; if ( null != i ) { var r = t . getStore ( ) , o = r . getSource ( ) . sourceFormat ; if ( null != n ) { var a = t . getDimensionIndex ( n ) , s = r . getDimensionProperty ( a ) ; return Wu ( o ) ( i , a , s ) } var l = i ; return o === LI && ( l = pr ( i ) ) , l } } } function Yu ( t ) { var e , n ; return k ( t ) ? t . type && ( n = t ) : e = t , { text : e , frag : n } } function ju ( t ) { return new bC ( t ) } function Zu ( t , e ) { var n = e && e . type ; return "ordinal" === n ? t : ( "time" !== n || D ( t ) || null == t || "-" === t || ( t = + Ji ( t ) ) , null == t || "" === t ? 0 / 0 : + t ) } function qu ( t , e ) { var n = new TC , i = t . data , r = n . sourceFormat = t . sourceFormat , o = t . startIndex , a = "" ; t . seriesLayoutBy !== zI && lr ( a ) ; var s = [ ] , l = { } , u = t . dimensionsDefine ; if ( u ) y ( u , function ( t , e ) { var n = t . name , i = { index : e , name : n , displayName : t . displayName } ; if ( s . push ( i ) , null != n ) { var r = "" ; K ( l , n ) && lr ( r ) , l [ n ] = i } } ) ; else for ( var h = 0 ; h < t . dimensionsDetectedCount ; h ++ ) s . push ( { index : h } ) ; var c = Gu ( r , zI ) ; e . _ _isBuiltIn && ( n . getRawDataItem = function ( t ) { return c ( i , o , s , t ) } , n . getRawData = _x ( Ku , null , t ) ) , n . cloneRawData = _x ( Ju , null , t ) ; var p = Hu ( r , zI ) ; n . count = _x ( p , null , i , o , s ) ; var d = Wu ( r ) ; n . retrieveValue = function ( t , e ) { var n = c ( i , o , s , t ) ; return f ( n , e ) } ; var f = n . retrieveValueFromItem = function ( t , e ) { if ( null != t ) { var n = s [ e ] ; return n ? d ( t , e , n . name ) : void 0 } } ; return n . getDimensionInfo = _x ( $u , null , s , l ) , n . cloneAllDimensionInfo = _x ( Qu , null , s ) , n } function K
if ( 1 === r . length && ! I ( r [ 0 ] ) && r [ 0 ] < 0 ) return void v . set ( e , ! 1 ) ; var o = v . set ( e , [ ] ) ; y ( r , function ( t , r ) { var a = I ( t ) ? f . get ( t ) : t ; null != a && u > a && ( o [ r ] = a , i ( n ( a ) , e , r ) ) } ) } ) ; var x = 0 ; y ( o , function ( t ) { var e , r , o , a ; if ( I ( t ) ) e = t , a = { } ; else { a = t , e = a . name ; var s = a . ordinalMeta ; a . ordinalMeta = null , a = h ( { } , a ) , a . ordinalMeta = s , r = a . dimsDef , o = a . otherDims , a . name = a . coordDim = a . coordDimIndex = a . dimsDef = a . otherDims = null } var l = v . get ( e ) ; if ( l !== ! 1 ) { if ( l = hr ( l ) , ! l . length ) for ( var p = 0 ; p < ( r && r . length || 1 ) ; p ++ ) { for ( ; u > x && null != n ( x ) . coordDim ; ) x ++ ; u > x && l . push ( x ++ ) } y ( l , function ( t , s ) { var l = n ( t ) ; if ( d && null != a . type && ( l . type = a . type ) , i ( c ( l , a ) , e , s ) , null == l . name && r ) { var u = r [ s ] ; ! k ( u ) && ( u = { name : u } ) , l . name = l . displayName = u . name , l . defaultTooltip = u . defaultTooltip } o && c ( l . otherDims , o ) } ) } } ) ; var b = e . generateCoord , w = e . generateCoordCount , S = null != w ; w = b ? w || 1 : 0 ; var M = b || "value" ; if ( p ) y ( l , function ( t ) { r ( t ) } ) , l . sort ( function ( t , e ) { return t . storeDimIndex - e . storeDimIndex } ) ; else for ( var T = 0 ; u > T ; T ++ ) { var C = n ( T ) , D = C . coordDim ; null == D && ( C . coordDim = Bp ( M , s , S ) , C . coordDimIndex = 0 , ( ! b || 0 >= w ) && ( C . isExtraCoord = ! 0 ) , w -- ) , r ( C ) , null != C . type || Kl ( t , T ) !== FI . Must && ( ! C . isExtraCoord || null == C . otherDims . itemName && null == C . otherDims . seriesName ) || ( C . type = "ordinal" ) } return Ep ( l ) , new gA ( { source : t , dimensions : l , fullDimensionCount : u , dimensionOmitted : p } ) } function Ep ( t ) { for ( var e = Y ( ) , n = 0 ; n < t . length ; n ++ ) { var i = t [ n ] , r = i . name , o = e . get ( r ) || 0 ; o > 0 && ( i . name = r + ( o - 1 ) ) , o ++ , e . set ( r , o ) } } function zp ( t , e , n , i ) { var r = Math . max ( t . dimensionsDetectedCount || 1 , e . length , n . length , i || 0 ) ; return y ( e , function ( t ) { var e ; k ( t ) && ( e = t . dimsDef ) && ( r = Math . max ( r , e . length ) ) } ) , r } function Bp ( t , e , n ) { var i = e . data ; if ( n || i . hasOwnProperty ( t ) ) { for ( var r = 0 ; i . hasOwnProperty ( t + r ) ; ) r ++ ; t += r } return e . set ( t , ! 0 ) , t } function Fp ( t ) { var e = t . get ( "coordinateSystem" ) , n = new MA ( e ) , i = TA [ e ] ; return i ? ( i ( t , n , n . axisMap , n . categoryAxisMap ) , n ) : void 0 } function Vp ( t ) { return "category" === t . get ( "type" ) } function Gp ( t , e , n ) { n = n || { } ; var i , r , o , a = n . byIndex , s = n . stackedCoordDimension ; Hp ( e ) ? i = e : ( r = e . schema , i = r . dimensions , o = e . store ) ; var l , u , h , c , p = ! ( ! t || ! t . get ( "stack" ) ) ; if ( y ( i , function ( t , e ) { I ( t ) && ( i [ e ] = t = { name : t } ) , p && ! t . isExtraCoord && ( a || l || ! t . ordinalMeta || ( l = t ) , u || "ordinal" === t . type || "time" === t . type || s && s !== t . coordDim || ( u = t ) ) } ) , ! u || a || l || ( a = ! 0 ) , u ) { h = "__\x00ecstackresult_" + t . id , c = "__\x00ecstackedover_" + t . id , l && ( l . createInvertedIndices = ! 0 ) ; var d = u . coordDim , f = u . type , g = 0 ; y ( i , function ( t ) { t . coordDim === d && g ++ } ) ; var v = { name : h , coordDim : d , coordDimIndex : g , type : f , isExtraCoord : ! 0 , isCalculationCoord : ! 0 , storeDimIndex : i . length } , m = { name : c , coordDim : c , coordDimIndex : g + 1 , type : f , isExtraCoord : ! 0 , isCalculationCoord : ! 0 , storeDimIndex : i . length + 1 } ; r ? ( o && ( v . storeDimIndex = o . ensureCalculationDimension ( c , f ) , m . storeDimIndex = o . ensureCalculationDimension ( h , f ) ) , r . appendCalculationDimension ( v ) , r . appendCalculationDimension ( m ) ) : ( i . push ( v ) , i . push ( m ) ) } return { stackedDimension : u && u . name , stackedByDimension : l && l . name , isStackedByIndex : a , stackedOverDimension : c , stackResultDimension : h } } function Hp ( t ) { return ! Ap ( t . schema ) } function Wp ( t , e ) { return ! ! e && e === t . getCalculationInfo ( "stackedDimension" ) } function Up ( t , e ) { return Wp ( t , e ) ? t . getCalculationInfo ( "stackResultDimension" ) : e } function Xp ( t , e ) { var n , i = t . get ( "coordinateSystem" ) , r = nC . get ( i ) ; return e && e . coordSysDims && ( n = v ( e . coordSysDims , function ( t ) { var n = { name : t } , i = e . axisMap . get ( t ) ; if ( i ) { var r = i . get ( "type" ) ; n . type = Dp ( r ) } return n } ) ) , n || ( n = r && ( r . getDimensionsInfo ? r . getDimensionsInfo ( ) : r . dimensions . slice ( ) ) || [ "x" , "y" ] ) , n } function Yp ( t , e , n ) { var i , r ; return n && y ( t , function ( t , o ) { var a = t . coordDim , s = n . categoryAxisMap . get ( a ) ; s && ( null == i && ( i = o ) , t . ordinalMeta = s . getOrdinalMeta ( ) , e && ( t . createInvertedIndices = ! 0 ) ) , null != t . otherDims . itemName && ( r = ! 0 ) } ) , r || null == i || ( t [ i ] . otherDims . itemName = 0 ) , i } function jp ( t , e , n ) { n = n || { } ; var i , r = e . getSourceManager ( ) , o = ! 1 ; t ? ( o = ! 0 , i = Ou ( t ) ) : ( i = r . getSource ( ) , o = i . sourceFormat === LI ) ; var a = Fp ( e ) , s = Xp ( e , a ) , l = n . useEncodeDefaulter , u = T ( l ) ? l : l ? S ( Yl , s , e ) : null , h = { coordDimensions : s , generateCoord : n . generateCoord , encodeDefine : e . getEncode ( ) , encodeDefaulter : u , canOmitUnusedDimensions : ! o } , c = Np ( i , h ) , p = Yp ( c . dimensions , n . createInvertedIndices , a ) , d = o ? null : r . getSharedDataStore ( c ) , f = Gp ( e , { schema : c , store : d } ) , g = new SA ( c , e ) ; g . setCalculationInfo ( f ) ; v
o >= 0 && i . push ( e [ o ] ) } return i . join ( " " ) } function ig ( t , e ) { e = e || { } ; var n = e . isRoundCap ; return function ( e , i , r ) { var o = i . position ; if ( ! o || o instanceof Array ) return Mi ( e , i , r ) ; var a = t ( o ) , s = null != i . distance ? i . distance : 5 , l = this . shape , u = l . cx , h = l . cy , c = l . r , p = l . r0 , d = ( c + p ) / 2 , f = l . startAngle , g = l . endAngle , y = ( f + g ) / 2 , v = n ? Math . abs ( c - p ) / 2 : 0 , m = Math . cos , _ = Math . sin , x = u + c * m ( f ) , b = h + c * _ ( f ) , w = "left" , S = "top" ; switch ( a ) { case "startArc" : x = u + ( p - s ) * m ( y ) , b = h + ( p - s ) * _ ( y ) , w = "center" , S = "top" ; break ; case "insideStartArc" : x = u + ( p + s ) * m ( y ) , b = h + ( p + s ) * _ ( y ) , w = "center" , S = "bottom" ; break ; case "startAngle" : x = u + d * m ( f ) + og ( f , s + v , ! 1 ) , b = h + d * _ ( f ) + ag ( f , s + v , ! 1 ) , w = "right" , S = "middle" ; break ; case "insideStartAngle" : x = u + d * m ( f ) + og ( f , - s + v , ! 1 ) , b = h + d * _ ( f ) + ag ( f , - s + v , ! 1 ) , w = "left" , S = "middle" ; break ; case "middle" : x = u + d * m ( y ) , b = h + d * _ ( y ) , w = "center" , S = "middle" ; break ; case "endArc" : x = u + ( c + s ) * m ( y ) , b = h + ( c + s ) * _ ( y ) , w = "center" , S = "bottom" ; break ; case "insideEndArc" : x = u + ( c - s ) * m ( y ) , b = h + ( c - s ) * _ ( y ) , w = "center" , S = "top" ; break ; case "endAngle" : x = u + d * m ( g ) + og ( g , s + v , ! 0 ) , b = h + d * _ ( g ) + ag ( g , s + v , ! 0 ) , w = "left" , S = "middle" ; break ; case "insideEndAngle" : x = u + d * m ( g ) + og ( g , - s + v , ! 0 ) , b = h + d * _ ( g ) + ag ( g , - s + v , ! 0 ) , w = "right" , S = "middle" ; break ; default : return Mi ( e , i , r ) } return e = e || { } , e . x = x , e . y = b , e . align = w , e . verticalAlign = S , e } } function rg ( t , e , n , i ) { if ( D ( i ) ) return void t . setTextConfig ( { rotation : i } ) ; if ( M ( e ) ) return void t . setTextConfig ( { rotation : 0 } ) ; var r , o = t . shape , a = o . clockwise ? o . startAngle : o . endAngle , s = o . clockwise ? o . endAngle : o . startAngle , l = ( a + s ) / 2 , u = n ( e ) ; switch ( u ) { case "startArc" : case "insideStartArc" : case "middle" : case "insideEndArc" : case "endArc" : r = l ; break ; case "startAngle" : case "insideStartAngle" : r = a ; break ; case "endAngle" : case "insideEndAngle" : r = s ; break ; default : return void t . setTextConfig ( { rotation : 0 } ) } var h = 1.5 * Math . PI - r ; "middle" === u && h > Math . PI / 2 && h < 1.5 * Math . PI && ( h -= Math . PI ) , t . setTextConfig ( { rotation : h } ) } function og ( t , e , n ) { return e * Math . sin ( t ) * ( n ? - 1 : 1 ) } function ag ( t , e , n ) { return e * Math . cos ( t ) * ( n ? 1 : - 1 ) } function sg ( t , e ) { var n = t . getArea && t . getArea ( ) ; if ( tg ( t , "cartesian2d" ) ) { var i = t . getBaseAxis ( ) ; if ( "category" !== i . type || ! i . onBand ) { var r = e . getLayout ( "bandWidth" ) ; i . isHorizontal ( ) ? ( n . x -= r , n . width += 2 * r ) : ( n . y -= r , n . height += 2 * r ) } } return n } function lg ( t , e ) { var n = t . get ( "realtimeSort" , ! 0 ) , i = e . getBaseAxis ( ) ; return n && "category" === i . type && "cartesian2d" === e . type ? { baseAxis : i , otherAxis : e . getOtherAxis ( i ) } : void 0 } function ug ( t , e , n , i , r , o , a , s ) { var l , u ; o ? ( u = { x : i . x , width : i . width } , l = { y : i . y , height : i . height } ) : ( u = { y : i . y , height : i . height } , l = { x : i . x , width : i . width } ) , s || ( a ? as : ss ) ( n , { shape : l } , e , r , null ) ; var h = e ? t . baseAxis . model : null ; ( a ? as : ss ) ( n , { shape : u } , h , r ) } function hg ( t , e ) { for ( var n = 0 ; n < e . length ; n ++ ) if ( ! isFinite ( t [ e [ n ] ] ) ) return ! 0 ; return ! 1 } function cg ( t ) { return null != t . startAngle && null != t . endAngle && t . startAngle === t . endAngle } function pg ( t ) { return function ( t ) { var e = t ? "Arc" : "Angle" ; return function ( t ) { switch ( t ) { case "start" : case "insideStart" : case "end" : case "insideEnd" : return t + e ; default : return t } } } ( t ) } function dg ( t , e , n , i , r , o , a , s ) { var l = e . getItemVisual ( n , "style" ) ; s || t . setShape ( "r" , i . get ( [ "itemStyle" , "borderRadius" ] ) || 0 ) , t . useStyle ( l ) ; var u = i . getShallow ( "cursor" ) ; u && t . attr ( "cursor" , u ) ; var h = s ? a ? r . r >= r . r0 ? "endArc" : "startArc" : r . endAngle >= r . startAngle ? "endAngle" : "startAngle" : a ? r . height >= 0 ? "bottom" : "top" : r . width >= 0 ? "right" : "left" , c = Hs ( i ) ; Gs ( t , c , { labelFetcher : o , labelDataIndex : n , defaultText : eg ( o . getData ( ) , n ) , inheritColor : l . fill , defaultOpacity : l . opacity , defaultOutsidePosition : h } ) ; var p = t . getTextContent ( ) ; if ( s && p ) { var d = i . get ( [ "label" , "position" ] ) ; t . textConfig . inside = "middle" === d ? ! 0 : null , rg ( t , "outside" === d ? h : d , pg ( a ) , i . get ( [ "label" , "rotate" ] ) ) } qs ( p , c , o . getRawValue ( n ) , function ( t ) { return ng ( e , t ) } ) ; var f = i . getModel ( [ "emphasis" ] ) ; Aa ( t , f . get ( "focus" ) , f . get ( "blurScope" ) , f . get ( "disabled" ) ) , Pa ( t , i ) , cg ( r ) && ( t . style . fill = "none" , t . style . stroke = "none" , y ( t . states , function ( t ) { t . style && ( t . style . fill = t . style . stroke = "none" ) } ) ) } function fg ( t , e ) { var n = t . get ( [ "itemStyle" , "borderColor" ] ) ; if ( ! n || "none" === n ) return 0 ; var i = t . get ( [ "itemStyle" , "borderWidth" ] ) || 0 , r = isNaN ( e . width ) ? Number . MAX _VALUE : Math . abs ( e . width ) , o = isNaN ( e . height ) ? Number . MAX _VALUE : Math . abs ( e . height ) ; return Math . min ( i , r , o ) } function gg ( t , e , n , i ) { var r = t . getData ( ) , o = r . getLayout ( " va
} function qy ( t ) { t . silent = ! 1 , t . isGroup && t . traverse ( function ( t ) { t . silent = ! 1 } ) } function Ky ( t ) { var e = [ ] , n = Y ( ) ; return y ( t , function ( t ) { if ( null == t . namedFrom ) { var i = new sL ( t . name , t . el ) ; e . push ( i ) , n . set ( t . name , i ) } } ) , { regions : e , regionsMap : n } } function Jy ( t , e ) { if ( "china" === t ) { for ( var n = 0 ; n < e . length ; n ++ ) if ( e [ n ] . name === oO ) return ; e . push ( new aL ( oO , v ( aO , function ( t ) { return { type : "polygon" , exterior : t } } ) , rO ) ) } } function $y ( t , e ) { if ( "china" === t ) { var n = uO [ e . name ] ; if ( n ) { var i = e . getCenter ( ) ; i [ 0 ] += n [ 0 ] / 10.5 , i [ 1 ] += - n [ 1 ] / 14 , e . setCenter ( i ) } } } function Qy ( t , e ) { "china" === t && "台湾" === e . name && e . geometries . push ( { type : "polygon" , exterior : hO [ 0 ] } ) } function tv ( t ) { for ( var e , n = 0 ; n < t . length ; n ++ ) { var i = t [ n ] . getBoundingRect ( ) ; e = e || i . clone ( ) , e . union ( i ) } return e } function ev ( t ) { return I ( t ) ? "undefined" != typeof JSON && JSON . parse ? JSON . parse ( t ) : new Function ( "return (" + t + ");" ) ( ) : t } function nv ( t ) { var e = t . getItemStyle ( ) , n = t . get ( "areaColor" ) ; return null != n && ( e . fill = n ) , e } function iv ( t ) { var e = t . style ; e && ( e . stroke = e . stroke || e . fill , e . fill = null ) } function rv ( t , e , n , i ) { var r = i . getModel ( "itemStyle" ) , o = i . getModel ( [ "emphasis" , "itemStyle" ] ) , a = i . getModel ( [ "blur" , "itemStyle" ] ) , s = i . getModel ( [ "select" , "itemStyle" ] ) , l = nv ( r ) , u = nv ( o ) , h = nv ( s ) , c = nv ( a ) , p = t . data ; if ( p ) { var d = p . getItemVisual ( n , "style" ) , f = p . getItemVisual ( n , "decal" ) ; t . isVisualEncodedByVisualMap && d . fill && ( l . fill = d . fill ) , f && ( l . decal = Uc ( f , t . api ) ) } e . setStyle ( l ) , e . style . strokeNoScale = ! 0 , e . ensureState ( "emphasis" ) . style = u , e . ensureState ( "select" ) . style = h , e . ensureState ( "blur" ) . style = c , la ( e ) } function ov ( t , e , n , i , r , o , a ) { var s = t . data , l = t . isGeo , u = s && isNaN ( s . get ( s . mapDimension ( "value" ) , o ) ) , h = s && s . getItemLayout ( o ) ; if ( l || u || h && h . showLabel ) { var c = l ? n : o , p = void 0 ; ( ! s || o >= 0 ) && ( p = r ) ; var d = a ? { normal : { align : "center" , verticalAlign : "middle" } } : null ; Gs ( e , Hs ( i ) , { labelFetcher : p , labelDataIndex : c , defaultText : n } , d ) ; var f = e . getTextContent ( ) ; if ( f && ( _O ( f ) . ignore = f . ignore , e . textConfig && a ) ) { var g = e . getBoundingRect ( ) . clone ( ) ; e . textConfig . layoutRect = g , e . textConfig . position = [ ( a [ 0 ] - g . x ) / g . width * 100 + "%" , ( a [ 1 ] - g . y ) / g . height * 100 + "%" ] } e . disableLabelAnimation = ! 0 } else e . removeTextContent ( ) , e . removeTextConfig ( ) , e . disableLabelAnimation = null } function av ( t , e , n , i , r , o ) { t . data ? t . data . setItemGraphicEl ( o , e ) : oM ( e ) . eventData = { componentType : "geo" , componentIndex : r . componentIndex , geoIndex : r . componentIndex , name : n , region : i && i . option || { } } } function sv ( t , e , n , i , r ) { t . data || Es ( { el : e , componentModel : r , itemName : n , itemTooltipOption : i . get ( "tooltip" ) } ) } function lv ( t , e , n , i , r ) { e . highDownSilentOnTouch = ! ! r . get ( "selectedMode" ) ; var o = i . getModel ( "emphasis" ) , a = o . get ( "focus" ) ; return Aa ( e , a , o . get ( "blurScope" ) , o . get ( "disabled" ) ) , t . isGeo && Na ( e , r , n ) , a } function uv ( t , e , n ) { function i ( ) { o = [ ] } function r ( ) { o . length && ( a . push ( o ) , o = [ ] ) } var o , a = [ ] , s = e ( { polygonStart : i , polygonEnd : r , lineStart : i , lineEnd : r , point : function ( t , e ) { isFinite ( t ) && isFinite ( e ) && o . push ( [ t , e ] ) } , sphere : function ( ) { } } ) ; return ! n && s . polygonStart ( ) , y ( t , function ( t ) { s . lineStart ( ) ; for ( var e = 0 ; e < t . length ; e ++ ) s . point ( t [ e ] [ 0 ] , t [ e ] [ 1 ] ) ; s . lineEnd ( ) } ) , ! n && s . polygonEnd ( ) , a } function hv ( t , e ) { var n = { } ; return y ( t , function ( t ) { t . each ( t . mapDimension ( "value" ) , function ( e , i ) { var r = "ec-" + t . getName ( i ) ; n [ r ] = n [ r ] || [ ] , isNaN ( e ) || n [ r ] . push ( e ) } ) } ) , t [ 0 ] . map ( t [ 0 ] . mapDimension ( "value" ) , function ( i , r ) { for ( var o = "ec-" + t [ 0 ] . getName ( r ) , a = 0 , s = 1 / 0 , l = - 1 / 0 , u = n [ o ] . length , h = 0 ; u > h ; h ++ ) s = Math . min ( s , n [ o ] [ h ] ) , l = Math . max ( l , n [ o ] [ h ] ) , a += n [ o ] [ h ] ; var c ; return c = "min" === e ? s : "max" === e ? l : "average" === e ? a / u : a , 0 === u ? 0 / 0 : c } ) } function cv ( t ) { var e = { } ; t . eachSeriesByType ( "map" , function ( t ) { var n = t . getHostGeoModel ( ) , i = n ? "o" + n . id : "i" + t . getMapType ( ) ; ( e [ i ] = e [ i ] || [ ] ) . push ( t ) } ) , y ( e , function ( t ) { for ( var e = hv ( v ( t , function ( t ) { return t . getData ( ) } ) , t [ 0 ] . get ( "mapValueCalculation" ) ) , n = 0 ; n < t . length ; n ++ ) t [ n ] . originalData = t [ n ] . getData ( ) ; for ( var n = 0 ; n < t . length ; n ++ ) t [ n ] . seriesGroup = t , t [ n ] . needsDrawMap = 0 === n && ! t [ n ] . getHostGeoModel ( ) , t [ n ] . setData ( e . cloneShallow ( ) ) , t [ n ] . mainSeries = t [ 0 ] } ) } function pv ( t ) { var e = { } ; t . eachSeriesByType ( "map" , function ( n ) { var i = n . getMapType ( ) ; if ( ! n . getHostGeoModel ( ) && ! e [ i ] ) { var r = { } ; y ( n . seriesGroup , function ( e ) { var n = e . coordinateSystem , i = e . originalData ; e . get ( "showLegendSymbol" ) && t . getComponent ( "legend" ) && i . each ( i . mapDimension ( " valu
var c = e . get ( i , h ) , p = Ui ( e . get ( i , h ) ) ; return p = Math . min ( p , 20 ) , p >= 0 && ( a [ o ] = + a [ o ] . toFixed ( p ) ) , [ a , c ] } function m _ ( t , e ) { var n = t . getData ( ) , i = t . coordinateSystem ; if ( e && ! y _ ( e ) && ! M ( e . coord ) && i ) { var r = i . dimensions , o = _ _ ( e , n , i , t ) ; if ( e = s ( e ) , e . type && BR [ e . type ] && o . baseAxis && o . valueAxis ) { var a = p ( r , o . baseAxis . dim ) , l = p ( r , o . valueAxis . dim ) , u = BR [ e . type ] ( n , o . baseDataDim , o . valueDataDim , a , l ) ; e . coord = u [ 0 ] , e . value = u [ 1 ] } else { for ( var h = [ null != e . xAxis ? e . xAxis : e . radiusAxis , null != e . yAxis ? e . yAxis : e . angleAxis ] , c = 0 ; 2 > c ; c ++ ) BR [ h [ c ] ] && ( h [ c ] = S _ ( n , n . mapDimension ( r [ c ] ) , h [ c ] ) ) ; e . coord = h } } return e } function _ _ ( t , e , n , i ) { var r = { } ; return null != t . valueIndex || null != t . valueDim ? ( r . valueDataDim = null != t . valueIndex ? e . getDimension ( t . valueIndex ) : t . valueDim , r . valueAxis = n . getAxis ( x _ ( i , r . valueDataDim ) ) , r . baseAxis = n . getOtherAxis ( r . valueAxis ) , r . baseDataDim = e . mapDimension ( r . baseAxis . dim ) ) : ( r . baseAxis = i . getBaseAxis ( ) , r . valueAxis = n . getOtherAxis ( r . baseAxis ) , r . baseDataDim = e . mapDimension ( r . baseAxis . dim ) , r . valueDataDim = e . mapDimension ( r . valueAxis . dim ) ) , r } function x _ ( t , e ) { var n = t . getData ( ) . getDimensionInfo ( e ) ; return n && n . coordDim } function b _ ( t , e ) { return t && t . containData && e . coord && ! g _ ( e ) ? t . containData ( e . coord ) : ! 0 } function w _ ( t , e ) { return t ? function ( t , n , i , r ) { var o = 2 > r ? t . coord && t . coord [ r ] : t . value ; return Zu ( o , e [ r ] ) } : function ( t , n , i , r ) { return Zu ( t . value , e [ r ] ) } } function S _ ( t , e , n ) { if ( "average" === n ) { var i = 0 , r = 0 ; return t . each ( e , function ( t ) { isNaN ( t ) || ( i += t , r ++ ) } ) , i / r } return "median" === n ? t . getMedian ( e ) : t . getDataExtent ( e ) [ "max" === n ? 1 : 0 ] } function M _ ( t , e , n ) { var i = e . coordinateSystem ; t . each ( function ( r ) { var o , a = t . getItemModel ( r ) , s = Gi ( a . get ( "x" ) , n . getWidth ( ) ) , l = Gi ( a . get ( "y" ) , n . getHeight ( ) ) ; if ( isNaN ( s ) || isNaN ( l ) ) { if ( e . getMarkerPosition ) o = e . getMarkerPosition ( t . getValues ( t . dimensions , r ) ) ; else if ( i ) { var u = t . get ( i . dimensions [ 0 ] , r ) , h = t . get ( i . dimensions [ 1 ] , r ) ; o = i . dataToPoint ( [ u , h ] ) } } else o = [ s , l ] ; isNaN ( s ) || ( o [ 0 ] = s ) , isNaN ( l ) || ( o [ 1 ] = l ) , t . setItemLayout ( r , o ) } ) } function T _ ( t , e , n ) { var i ; i = t ? v ( t && t . dimensions , function ( t ) { var n = e . getData ( ) . getDimensionInfo ( e . getData ( ) . mapDimension ( t ) ) || { } ; return h ( h ( { } , n ) , { name : t , ordinalMeta : null } ) } ) : [ { name : "value" , type : "float" } ] ; var r = new SA ( i , n ) , o = v ( n . get ( "data" ) , S ( m _ , e ) ) ; t && ( o = _ ( o , S ( b _ , t ) ) ) ; var a = w _ ( ! ! t , i ) ; return r . initData ( o , null , a ) , r } function I _ ( t ) { t . registerComponentModel ( zR ) , t . registerComponentView ( GR ) , t . registerPreprocessor ( function ( t ) { d _ ( t . series , "markPoint" ) && ( t . markPoint = t . markPoint || { } ) } ) } function C _ ( t ) { return isNaN ( + t . cpx1 ) || isNaN ( + t . cpy1 ) } function D _ ( t ) { return "_" + t + "Type" } function k _ ( t , e , n ) { var i = e . getItemVisual ( n , t ) ; if ( i && "none" !== i ) { var r = e . getItemVisual ( n , t + "Size" ) , o = e . getItemVisual ( n , t + "Rotate" ) , a = e . getItemVisual ( n , t + "Offset" ) , s = e . getItemVisual ( n , t + "KeepAspect" ) , l = dc ( r ) , u = fc ( a || 0 , l ) , h = pc ( i , - l [ 0 ] / 2 + u [ 0 ] , - l [ 1 ] / 2 + u [ 1 ] , l [ 0 ] , l [ 1 ] , null , s ) ; return h . _ _specifiedRotation = null == o || isNaN ( o ) ? void 0 : + o * Math . PI / 180 || 0 , h . name = t , h } } function A _ ( t ) { var e = new YR ( { name : "line" , subPixelOptimize : ! 0 } ) ; return L _ ( e . shape , t ) , e } function L _ ( t , e ) { t . x1 = e [ 0 ] [ 0 ] , t . y1 = e [ 0 ] [ 1 ] , t . x2 = e [ 1 ] [ 0 ] , t . y2 = e [ 1 ] [ 1 ] , t . percent = 1 ; var n = e [ 2 ] ; n ? ( t . cpx1 = n [ 0 ] , t . cpy1 = n [ 1 ] ) : ( t . cpx1 = 0 / 0 , t . cpy1 = 0 / 0 ) } function P _ ( t ) { return t . animators && t . animators . length > 0 } function O _ ( t ) { var e = t . hostModel , n = e . getModel ( "emphasis" ) ; return { lineStyle : e . getModel ( "lineStyle" ) . getLineStyle ( ) , emphasisLineStyle : n . getModel ( [ "lineStyle" ] ) . getLineStyle ( ) , blurLineStyle : e . getModel ( [ "blur" , "lineStyle" ] ) . getLineStyle ( ) , selectLineStyle : e . getModel ( [ "select" , "lineStyle" ] ) . getLineStyle ( ) , emphasisDisabled : n . get ( "disabled" ) , blurScope : n . get ( "blurScope" ) , focus : n . get ( "focus" ) , labelStatesModels : Hs ( e ) } } function R _ ( t ) { return isNaN ( t [ 0 ] ) || isNaN ( t [ 1 ] ) } function N _ ( t ) { return t && ! R _ ( t [ 0 ] ) && ! R _ ( t [ 1 ] ) } function E _ ( t ) { return ! isNaN ( t ) && ! isFinite ( t ) } function z _ ( t , e , n , i ) { var r = 1 - t , o = i . dimensions [ t ] ; return E _ ( e [ r ] ) && E _ ( n [ r ] ) && e [ t ] === n [ t ] && i . getAxis ( o ) . containData ( e [ t ] ) } function B _ ( t , e ) { if ( "cartesian2d" === t . type ) { var n = e [ 0 ] . coord , i = e [ 1 ] . coord ; if ( n && i && ( z _ ( 1 , n , i , t ) || z _ ( 0 , n , i , t ) ) ) return ! 0 } return b _ ( t , e [ 0 ] ) && b _ ( t , e [ 1 ] ) } function F _ ( t , e , n , i , r ) { var o , a = i . coordinateSystem , s = t . getItemModel ( e ) , l = Gi ( s . get ( "x" ) , r . getWidth ( ) ) , u = Gi ( s . get ( "y" ) , r . getHeight ( ) ) ; if ( isNaN ( l ) || isNaN ( u ) ) { if ( i . getMarkerPosition ) o = i . g
} , t . prototype . getDelay = function ( ) { return this . _delay } , t . prototype . getLoop = function ( ) { return this . _loop } , t . prototype . getTarget = function ( ) { return this . _target } , t . prototype . changeTarget = function ( t ) { this . _target = t } , t . prototype . when = function ( t , e , n ) { return this . whenWithKeys ( t , e , b ( e ) , n ) } , t . prototype . whenWithKeys = function ( t , e , n , i ) { for ( var r = this . _tracks , o = 0 ; o < n . length ; o ++ ) { var a = n [ o ] , s = r [ a ] ; if ( ! s ) { s = r [ a ] = new Pb ( a ) ; var l = void 0 , u = this . _getAdditiveTrack ( a ) ; if ( u ) { var h = u . keyframes , c = h [ h . length - 1 ] ; l = c && c . value , u . valType === Cb && l && ( l = Yn ( l ) ) } else l = this . _target [ a ] ; if ( null == l ) continue ; t > 0 && s . addKeyframe ( 0 , Xn ( l ) , i ) , this . _trackKeys . push ( a ) } s . addKeyframe ( t , Xn ( e [ a ] ) , i ) } return this . _maxTime = Math . max ( this . _maxTime , t ) , this } , t . prototype . pause = function ( ) { this . _clip . pause ( ) , this . _paused = ! 0 } , t . prototype . resume = function ( ) { this . _clip . resume ( ) , this . _paused = ! 1 } , t . prototype . isPaused = function ( ) { return ! ! this . _paused } , t . prototype . duration = function ( t ) { return this . _maxTime = t , this . _force = ! 0 , this } , t . prototype . _doneCallback = function ( ) { this . _setTracksFinished ( ) , this . _clip = null ; var t = this . _doneCbs ; if ( t ) for ( var e = t . length , n = 0 ; e > n ; n ++ ) t [ n ] . call ( this ) } , t . prototype . _abortedCallback = function ( ) { this . _setTracksFinished ( ) ; var t = this . animation , e = this . _abortedCbs ; if ( t && t . removeClip ( this . _clip ) , this . _clip = null , e ) for ( var n = 0 ; n < e . length ; n ++ ) e [ n ] . call ( this ) } , t . prototype . _setTracksFinished = function ( ) { for ( var t = this . _tracks , e = this . _trackKeys , n = 0 ; n < e . length ; n ++ ) t [ e [ n ] ] . setFinished ( ) } , t . prototype . _getAdditiveTrack = function ( t ) { var e , n = this . _additiveAnimators ; if ( n ) for ( var i = 0 ; i < n . length ; i ++ ) { var r = n [ i ] . getTrack ( t ) ; r && ( e = r ) } return e } , t . prototype . start = function ( t ) { if ( ! ( this . _started > 0 ) ) { this . _started = 1 ; for ( var e = this , n = [ ] , i = this . _maxTime || 0 , r = 0 ; r < this . _trackKeys . length ; r ++ ) { var o = this . _trackKeys [ r ] , a = this . _tracks [ o ] , s = this . _getAdditiveTrack ( o ) , l = a . keyframes , u = l . length ; if ( a . prepare ( i , s ) , a . needsAnimate ( ) ) if ( ! this . _allowDiscrete && a . discrete ) { var h = l [ u - 1 ] ; h && ( e . _target [ a . propName ] = h . rawValue ) , a . setFinished ( ) } else n . push ( a ) } if ( n . length || this . _force ) { var c = new db ( { life : i , loop : this . _loop , delay : this . _delay || 0 , onframe : function ( t ) { e . _started = 2 ; var i = e . _additiveAnimators ; if ( i ) { for ( var r = ! 1 , o = 0 ; o < i . length ; o ++ ) if ( i [ o ] . _clip ) { r = ! 0 ; break } r || ( e . _additiveAnimators = null ) } for ( var o = 0 ; o < n . length ; o ++ ) n [ o ] . step ( e . _target , t ) ; var a = e . _onframeCbs ; if ( a ) for ( var o = 0 ; o < a . length ; o ++ ) a [ o ] ( e . _target , t ) } , ondestroy : function ( ) { e . _doneCallback ( ) } } ) ; this . _clip = c , this . animation && this . animation . addClip ( c ) , t && c . setEasing ( t ) } else this . _doneCallback ( ) ; return this } } , t . prototype . stop = function ( t ) { if ( this . _clip ) { var e = this . _clip ; t && e . onframe ( 1 ) , this . _abortedCallback ( ) } } , t . prototype . delay = function ( t ) { return this . _delay = t , this } , t . prototype . during = function ( t ) { return t && ( this . _onframeCbs || ( this . _onframeCbs = [ ] ) , this . _onframeCbs . push ( t ) ) , this } , t . prototype . done = function ( t ) { return t && ( this . _doneCbs || ( this . _doneCbs = [ ] ) , this . _doneCbs . push ( t ) ) , this } , t . prototype . aborted = function ( t ) { return t && ( this . _abortedCbs || ( this . _abortedCbs = [ ] ) , this . _abortedCbs . push ( t ) ) , this } , t . prototype . getClip = function ( ) { return this . _clip } , t . prototype . getTrack = function ( t ) { return this . _tracks [ t ] } , t . prototype . getTracks = function ( ) { var t = this ; return v ( this . _trackKeys , function ( e ) { return t . _tracks [ e ] } ) } , t . prototype . stopTracks = function ( t , e ) { if ( ! t . length || ! this . _clip ) return ! 0 ; for ( var n = this . _tracks , i = this . _trackKeys , r = 0 ; r < t . length ; r ++ ) { var o = n [ t [ r ] ] ; o && ! o . isFinished ( ) && ( e ? o . step ( this . _target , 1 ) : 1 === this . _started && o . step ( this . _target , 0 ) , o . setFinished ( ) ) } for ( var a = ! 0 , r = 0 ; r < i . length ; r ++ ) if ( ! n [ i [ r ] ] . isFinished ( ) ) { a = ! 1 ; break } return a && this . _abortedCallback ( ) , a } , t . prototype . saveTo = function ( t , e , n ) { if ( t ) { e = e || this . _trackKeys ; for ( var i = 0 ; i < e . length ; i ++ ) { var r = e [ i ] , o = this . _tracks [ r ] ; if ( o && ! o . isFinished ( ) ) { var a = o . keyframes , s = a [ n ? 0 : a . length - 1 ] ; s && ( t [ r ] = Xn ( s . rawValue ) ) } } } } , t . prototype . _ _changeFinalValue = function ( t , e ) { e = e || b ( t ) ; for ( var n = 0 ; n < e . length ; n ++ ) { var i = e [ n ] , r = this . _tracks [ i ] ; if ( r ) { var o = r . keyframes ; if ( o . length > 1 ) { var a = o . pop ( ) ; r . addKeyframe ( a . time , t [ i ] ) , r . prepare ( this . _maxTime , r . getAdditiveTrack ( ) ) } } } } , t } ( ) , Rb = function ( t ) { function n ( e ) { var n = t . call ( this ) || this ; return n . _running =
var i = Kn ( ) ; e ? ( this . _stillFrameAccum = 0 , this . trigger ( "rendered" , { elapsedTime : i - n } ) ) : this . _sleepAfterStill > 0 && ( this . _stillFrameAccum ++ , this . _stillFrameAccum > this . _sleepAfterStill && this . animation . stop ( ) ) } , t . prototype . setSleepAfterStill = function ( t ) { this . _sleepAfterStill = t } , t . prototype . wakeUp = function ( ) { this . animation . start ( ) , this . _stillFrameAccum = 0 } , t . prototype . refreshHover = function ( ) { this . _needsRefreshHover = ! 0 } , t . prototype . refreshHoverImmediately = function ( ) { this . _needsRefreshHover = ! 1 , this . painter . refreshHover && "canvas" === this . painter . getType ( ) && this . painter . refreshHover ( ) } , t . prototype . resize = function ( t ) { t = t || { } , this . painter . resize ( t . width , t . height ) , this . handler . resize ( ) } , t . prototype . clearAnimation = function ( ) { this . animation . clear ( ) } , t . prototype . getWidth = function ( ) { return this . painter . getWidth ( ) } , t . prototype . getHeight = function ( ) { return this . painter . getHeight ( ) } , t . prototype . setCursorStyle = function ( t ) { this . handler . setCursorStyle ( t ) } , t . prototype . findHover = function ( t , e ) { return this . handler . findHover ( t , e ) } , t . prototype . on = function ( t , e , n ) { return this . handler . on ( t , e , n ) , this } , t . prototype . off = function ( t , e ) { this . handler . off ( t , e ) } , t . prototype . trigger = function ( t , e ) { this . handler . trigger ( t , e ) } , t . prototype . clear = function ( ) { for ( var t = this . storage . getRoots ( ) , e = 0 ; e < t . length ; e ++ ) t [ e ] instanceof Sw && t [ e ] . removeSelfFromZr ( this ) ; this . storage . delAllRoots ( ) , this . painter . clear ( ) } , t . prototype . dispose = function ( ) { this . animation . stop ( ) , this . clear ( ) , this . storage . dispose ( ) , this . painter . dispose ( ) , this . handler . dispose ( ) , this . animation = this . storage = this . painter = this . handler = null , Pi ( this . id ) } , t } ( ) , Cw = "5.3.0" , Dw = ( Object . freeze || Object ) ( { init : Ri , dispose : Ni , disposeAll : Ei , getInstance : zi , registerPainter : Bi , version : Cw } ) , kw = 1e-4 , Aw = 20 , Lw = 9007199254740991 , Pw = /^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d{1,2})(?::(\d{1,2})(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/ , Ow = ( "undefined" != typeof console && console . warn && console . log , "series\x00" ) , Rw = "\x00_ec_\x00" , Nw = [ "fontStyle" , "fontWeight" , "fontSize" , "fontFamily" , "rich" , "tag" , "color" , "textBorderColor" , "textBorderWidth" , "width" , "height" , "lineHeight" , "align" , "verticalAlign" , "baseline" , "shadowColor" , "shadowBlur" , "shadowOffsetX" , "shadowOffsetY" , "textShadowColor" , "textShadowBlur" , "textShadowOffsetX" , "textShadowOffsetY" , "backgroundColor" , "borderColor" , "borderWidth" , "borderRadius" , "padding" ] , Ew = or ( ) , zw = { useDefault : ! 0 , enableAll : ! 1 , enableNone : ! 1 } , Bw = "." , Fw = "___EC__COMPONENT__CONTAINER___" , Vw = "___EC__EXTENDED_CLASS___" , Gw = Math . round ( 10 * Math . random ( ) ) , Hw = [ [ "fill" , "color" ] , [ "shadowBlur" ] , [ "shadowOffsetX" ] , [ "shadowOffsetY" ] , [ "opacity" ] , [ "shadowColor" ] ] , Ww = jr ( Hw ) , Uw = function ( ) { function t ( ) { } return t . prototype . getAreaStyle = function ( t , e ) { return Ww ( this , t , e ) } , t } ( ) , Xw = new yb ( 50 ) , Yw = /\{([a-zA-Z0-9_]+)\|([^}]*)\}/g , jw = function ( ) { function t ( ) { } return t } ( ) , Zw = function ( ) { function t ( t ) { this . tokens = [ ] , t && ( this . tokens = t ) } return t } ( ) , qw = function ( ) { function t ( ) { this . width = 0 , this . height = 0 , this . contentWidth = 0 , this . contentHeight = 0 , this . outerWidth = 0 , this . outerHeight = 0 , this . lines = [ ] } return t } ( ) , Kw = m ( ",&?/;] " . split ( "" ) , function ( t , e ) { return t [ e ] = ! 0 , t } , { } ) , Jw = "__zr_style_" + Math . round ( 10 * Math . random ( ) ) , $w = { shadowBlur : 0 , shadowOffsetX : 0 , shadowOffsetY : 0 , shadowColor : "#000" , opacity : 1 , blend : "source-over" } , Qw = { style : { shadowBlur : ! 0 , shadowOffsetX : ! 0 , shadowOffsetY : ! 0 , shadowColor : ! 0 , opacity : ! 0 } } ; $w [ Jw ] = ! 0 ; var tS = [ "z" , "z2" , "invisible" ] , eS = [ "invisible" ] , nS = function ( t ) { function n ( e ) { return t . call ( this , e ) || this } return e ( n , t ) , n . prototype . _init = function ( e ) { for ( var n = b ( e ) , i = 0 ; i < n . length ; i ++ ) { var r = n [ i ] ; "style" === r ? this . useStyle ( e [ r ] ) : t . prototype . attrKV . call ( this , r , e [ r ] ) } this . style || this . useStyle ( { } ) } , n . prototype . beforeBrush = function ( ) { } , n . prototype . afterBrush = function ( ) { } , n . prototype . innerBeforeBrush = function ( ) { } , n . prototype . innerAfterBrush = function ( ) { } , n . prototype . shouldBePainted = function ( t , e , n , i ) { var r = this . transform ; if ( this . ignore || this . invisible || 0 === this . style . opacity || this . culling && lo ( this , t , e ) || r && ! r [ 0 ] && ! r [ 3 ] ) return ! 1 ; if ( n && this . _ _clipPaths ) for ( var o = 0 ; o < this . _ _clipPaths . length ; ++ o ) if ( this . _ _clipPaths [ o ] . isZeroArea ( ) ) return ! 1 ; if ( i && this . parent
} , n . prototype . buildPath = function ( t , e ) { var n = . 5522848 , i = e . cx , r = e . cy , o = e . rx , a = e . ry , s = o * n , l = a * n ; t . moveTo ( i - o , r ) , t . bezierCurveTo ( i - o , r - l , i - s , r - a , i , r - a ) , t . bezierCurveTo ( i + s , r - a , i + o , r - l , i + o , r ) , t . bezierCurveTo ( i + o , r + l , i + s , r + a , i , r + a ) , t . bezierCurveTo ( i - s , r + a , i - o , r + l , i - o , r ) , t . closePath ( ) } , n } ( HS ) ; VM . prototype . type = "ellipse" ; var GM = Math . PI , HM = 2 * GM , WM = Math . sin , UM = Math . cos , XM = Math . acos , YM = Math . atan2 , jM = Math . abs , ZM = Math . sqrt , qM = Math . max , KM = Math . min , JM = 1e-4 , $M = function ( ) { function t ( ) { this . cx = 0 , this . cy = 0 , this . r0 = 0 , this . r = 0 , this . startAngle = 0 , this . endAngle = 2 * Math . PI , this . clockwise = ! 0 , this . cornerRadius = 0 } return t } ( ) , QM = function ( t ) { function n ( e ) { return t . call ( this , e ) || this } return e ( n , t ) , n . prototype . getDefaultShape = function ( ) { return new $M } , n . prototype . buildPath = function ( t , e ) { ts ( t , e ) } , n . prototype . isZeroArea = function ( ) { return this . shape . startAngle === this . shape . endAngle || this . shape . r === this . shape . r0 } , n } ( HS ) ; QM . prototype . type = "sector" ; var tT = function ( ) { function t ( ) { this . cx = 0 , this . cy = 0 , this . r = 0 , this . r0 = 0 } return t } ( ) , eT = function ( t ) { function n ( e ) { return t . call ( this , e ) || this } return e ( n , t ) , n . prototype . getDefaultShape = function ( ) { return new tT } , n . prototype . buildPath = function ( t , e ) { var n = e . cx , i = e . cy , r = 2 * Math . PI ; t . moveTo ( n + e . r , i ) , t . arc ( n , i , e . r , 0 , r , ! 1 ) , t . moveTo ( n + e . r0 , i ) , t . arc ( n , i , e . r0 , 0 , r , ! 0 ) } , n } ( HS ) ; eT . prototype . type = "ring" ; var nT = function ( ) { function t ( ) { this . points = null , this . smooth = 0 , this . smoothConstraint = null } return t } ( ) , iT = function ( t ) { function n ( e ) { return t . call ( this , e ) || this } return e ( n , t ) , n . prototype . getDefaultShape = function ( ) { return new nT } , n . prototype . buildPath = function ( t , e ) { ns ( t , e , ! 0 ) } , n } ( HS ) ; iT . prototype . type = "polygon" ; var rT = function ( ) { function t ( ) { this . points = null , this . percent = 1 , this . smooth = 0 , this . smoothConstraint = null } return t } ( ) , oT = function ( t ) { function n ( e ) { return t . call ( this , e ) || this } return e ( n , t ) , n . prototype . getDefaultStyle = function ( ) { return { stroke : "#000" , fill : null } } , n . prototype . getDefaultShape = function ( ) { return new rT } , n . prototype . buildPath = function ( t , e ) { ns ( t , e , ! 1 ) } , n } ( HS ) ; oT . prototype . type = "polyline" ; var aT = { } , sT = function ( ) { function t ( ) { this . x1 = 0 , this . y1 = 0 , this . x2 = 0 , this . y2 = 0 , this . percent = 1 } return t } ( ) , lT = function ( t ) { function n ( e ) { return t . call ( this , e ) || this } return e ( n , t ) , n . prototype . getDefaultStyle = function ( ) { return { stroke : "#000" , fill : null } } , n . prototype . getDefaultShape = function ( ) { return new sT } , n . prototype . buildPath = function ( t , e ) { var n , i , r , o ; if ( this . subPixelOptimize ) { var a = Po ( aT , e , this . style ) ; n = a . x1 , i = a . y1 , r = a . x2 , o = a . y2 } else n = e . x1 , i = e . y1 , r = e . x2 , o = e . y2 ; var s = e . percent ; 0 !== s && ( t . moveTo ( n , i ) , 1 > s && ( r = n * ( 1 - s ) + r * s , o = i * ( 1 - s ) + o * s ) , t . lineTo ( r , o ) ) } , n . prototype . pointAt = function ( t ) { var e = this . shape ; return [ e . x1 * ( 1 - t ) + e . x2 * t , e . y1 * ( 1 - t ) + e . y2 * t ] } , n } ( HS ) ; lT . prototype . type = "line" ; var uT = [ ] , hT = function ( ) { function t ( ) { this . x1 = 0 , this . y1 = 0 , this . x2 = 0 , this . y2 = 0 , this . cpx1 = 0 , this . cpy1 = 0 , this . percent = 1 } return t } ( ) , cT = function ( t ) { function n ( e ) { return t . call ( this , e ) || this } return e ( n , t ) , n . prototype . getDefaultStyle = function ( ) { return { stroke : "#000" , fill : null } } , n . prototype . getDefaultShape = function ( ) { return new hT } , n . prototype . buildPath = function ( t , e ) { var n = e . x1 , i = e . y1 , r = e . x2 , o = e . y2 , a = e . cpx1 , s = e . cpy1 , l = e . cpx2 , u = e . cpy2 , h = e . percent ; 0 !== h && ( t . moveTo ( n , i ) , null == l || null == u ? ( 1 > h && ( hn ( n , a , r , h , uT ) , a = uT [ 1 ] , r = uT [ 2 ] , hn ( i , s , o , h , uT ) , s = uT [ 1 ] , o = uT [ 2 ] ) , t . quadraticCurveTo ( a , s , r , o ) ) : ( 1 > h && ( nn ( n , a , l , r , h , uT ) , a = uT [ 1 ] , l = uT [ 2 ] , r = uT [ 3 ] , nn ( i , s , u , o , h , uT ) , s = uT [ 1 ] , u = uT [ 2 ] , o = uT [ 3 ] ) , t . bezierCurveTo ( a , s , l , u , r , o ) ) ) } , n . prototype . pointAt = function ( t ) { return is ( this . shape , t , ! 1 ) } , n . prototype . tangentAt = function ( t ) { var e = is ( this . shape , t , ! 0 ) ; return ce ( e , e ) } , n } ( HS ) ; cT . prototype . type = "bezier-curve" ; var pT = function ( ) { function t ( ) { this . cx = 0 , this . cy = 0 , this . r = 0 , this . startAngle = 0 , this . endAngle = 2 * Math . PI , this . clockwise = ! 0 } return t } ( ) , dT = function ( t ) { function n ( e ) { return t . call ( this , e ) || this } return e ( n , t ) , n . prototype . getDefaultStyle = function ( ) { return { stroke : "#000" , fill : null } } , n . prototype . getDefaultShape = function ( ) { return new pT } , n . prototype . buildPath = function ( t , e ) { var n = e . cx , i = e . cy , r = Math . max ( e . r , 0 ) , o = e . startAngle , a = e . endAngle , s = e . clockwise , l = Math . cos ( o ) , u = Math . sin ( o ) ; t . moveTo ( l * r + n , u * r + i ) , t . arc ( n , i , r , o , a , ! s ) } , n } ( HS ) ; dT
} , ZI [ PI + "_" + BI ] = function ( t , e ) { var n = t [ 0 ] ; return n ? Math . max ( 0 , n . length - e ) : 0 } , ZI [ OI ] = gC , ZI [ RI ] = function ( t , e , n ) { var i = n [ 0 ] . name , r = t [ i ] ; return r ? r . length : 0 } , ZI [ LI ] = gC , ZI ) , vC = function ( t , e ) { return t [ e ] } , mC = ( qI = { } , qI [ PI ] = vC , qI [ OI ] = function ( t , e , n ) { return t [ n ] } , qI [ RI ] = vC , qI [ LI ] = function ( t , e ) { var n = pr ( t ) ; return n instanceof Array ? n [ e ] : n } , qI [ NI ] = vC , qI ) , _C = /\{@(.+?)\}/g , xC = function ( ) { function t ( ) { } return t . prototype . getDataParams = function ( t , e ) { var n = this . getData ( e ) , i = this . getRawValue ( t , e ) , r = n . getRawIndex ( t ) , o = n . getName ( t ) , a = n . getRawDataItem ( t ) , s = n . getItemVisual ( t , "style" ) , l = s && s [ n . getItemVisual ( t , "drawType" ) || "fill" ] , u = s && s . stroke , h = this . mainType , c = "series" === h , p = n . userOutput && n . userOutput . get ( ) ; return { componentType : h , componentSubType : this . subType , componentIndex : this . componentIndex , seriesType : c ? this . subType : null , seriesIndex : this . seriesIndex , seriesId : c ? this . id : null , seriesName : c ? this . name : null , name : o , dataIndex : r , data : a , dataType : e , value : i , color : l , borderColor : u , dimensionNames : p ? p . fullDimensions : null , encode : p ? p . encode : null , $vars : [ "seriesName" , "name" , "value" ] } } , t . prototype . getFormattedLabel = function ( t , e , n , i , r , o ) { e = e || "normal" ; var a = this . getData ( n ) , s = this . getDataParams ( t , n ) ; if ( o && ( s . value = o . interpolatedValue ) , null != i && M ( s . value ) && ( s . value = s . value [ i ] ) , ! r ) { var l = a . getItemModel ( t ) ; r = l . get ( "normal" === e ? [ "label" , "formatter" ] : [ e , "label" , "formatter" ] ) } if ( T ( r ) ) return s . status = e , s . dimensionIndex = i , r ( s ) ; if ( I ( r ) ) { var u = Pl ( r , s ) ; return u . replace ( _C , function ( e , n ) { var i = n . length , r = n ; "[" === r . charAt ( 0 ) && "]" === r . charAt ( i - 1 ) && ( r = + r . slice ( 1 , i - 1 ) ) ; var s = Xu ( a , t , r ) ; if ( o && M ( o . interpolatedValue ) ) { var l = a . getDimensionIndex ( r ) ; l >= 0 && ( s = o . interpolatedValue [ l ] ) } return null != s ? s + "" : "" } ) } } , t . prototype . getRawValue = function ( t , e ) { return Xu ( this . getData ( e ) , t ) } , t . prototype . formatTooltip = function ( ) { } , t } ( ) , bC = function ( ) { function t ( t ) { t = t || { } , this . _reset = t . reset , this . _plan = t . plan , this . _count = t . count , this . _onDirty = t . onDirty , this . _dirty = ! 0 } return t . prototype . perform = function ( t ) { function e ( t ) { return ! ( t >= 1 ) && ( t = 1 ) , t } var n = this . _upstream , i = t && t . skip ; if ( this . _dirty && n ) { var r = this . context ; r . data = r . outputData = n . context . outputData } this . _ _pipeline && ( this . _ _pipeline . currentTask = this ) ; var o ; this . _plan && ! i && ( o = this . _plan ( this . context ) ) ; var a = e ( this . _modBy ) , s = this . _modDataCount || 0 , l = e ( t && t . modBy ) , u = t && t . modDataCount || 0 ; ( a !== l || s !== u ) && ( o = "reset" ) ; var h ; ( this . _dirty || "reset" === o ) && ( this . _dirty = ! 1 , h = this . _doReset ( i ) ) , this . _modBy = l , this . _modDataCount = u ; var c = t && t . step ; if ( this . _dueEnd = n ? n . _outputDueEnd : this . _count ? this . _count ( this . context ) : 1 / 0 , this . _progress ) { var p = this . _dueIndex , d = Math . min ( null != c ? this . _dueIndex + c : 1 / 0 , this . _dueEnd ) ; if ( ! i && ( h || d > p ) ) { var f = this . _progress ; if ( M ( f ) ) for ( var g = 0 ; g < f . length ; g ++ ) this . _doProgress ( f [ g ] , p , d , l , u ) ; else this . _doProgress ( f , p , d , l , u ) } this . _dueIndex = d ; var y = null != this . _settedOutputEnd ? this . _settedOutputEnd : d ; this . _outputDueEnd = y } else this . _dueIndex = this . _outputDueEnd = null != this . _settedOutputEnd ? this . _settedOutputEnd : this . _dueEnd ; return this . unfinished ( ) } , t . prototype . dirty = function ( ) { this . _dirty = ! 0 , this . _onDirty && this . _onDirty ( this . context ) } , t . prototype . _doProgress = function ( t , e , n , i , r ) { wC . reset ( e , n , i , r ) , this . _callingProgress = t , this . _callingProgress ( { start : e , end : n , count : n - e , next : wC . next } , this . context ) } , t . prototype . _doReset = function ( t ) { this . _dueIndex = this . _outputDueEnd = this . _dueEnd = 0 , this . _settedOutputEnd = null ; var e , n ; ! t && this . _reset && ( e = this . _reset ( this . context ) , e && e . progress && ( n = e . forceFirstProgress , e = e . progress ) , M ( e ) && ! e . length && ( e = null ) ) , this . _progress = e , this . _modBy = this . _modDataCount = null ; var i = this . _downstream ; return i && i . dirty ( ) , n } , t . prototype . unfinished = function ( ) { return this . _progress && this . _dueIndex < this . _dueEnd } , t . prototype . pipe = function ( t ) { ( this . _downstream !== t || this . _dirty ) && ( this . _downstream = t , t . _upstream = this , t . dirty ( ) ) } , t . prototype . dispose = function ( ) { this . _disposed || ( this . _upstream && ( this . _upstream . _downstream = null ) , this . _downstream && ( this . _downstream . _upstream = null ) , this . _dirty = ! 1 , this . _disposed = ! 0 ) } , t . prototype . getUpstream = function ( ) { return this . _upstream } , t . prototype . getDownstream = function ( ) { return this . _downstream } , t . prototype . setOutputEnd = functi
} var o = this , a = e . overallTask = e . overallTask || ju ( { reset : qh } ) ; a . context = { ecModel : n , api : i , overallReset : t . overallReset , scheduler : o } ; var s = a . agentStubMap , l = a . agentStubMap = Y ( ) , u = t . seriesType , h = t . getTargetSeries , c = ! 0 , p = ! 1 , d = "" ; H ( ! t . createOnAllSeries , d ) , u ? n . eachRawSeriesByType ( u , r ) : h ? h ( n , i ) . each ( r ) : ( c = ! 1 , y ( n . getSeries ( ) , r ) ) , p && a . dirty ( ) } , t . prototype . _pipe = function ( t , e ) { var n = t . uid , i = this . _pipelineMap . get ( n ) ; ! i . head && ( i . head = e ) , i . tail && i . tail . pipe ( e ) , i . tail = e , e . _ _idxInPipeline = i . count ++ , e . _ _pipeline = i } , t . wrapStageHandler = function ( t , e ) { return T ( t ) && ( t = { overallReset : t , seriesType : ic ( t ) } ) , t . uid = Js ( "stageHandler" ) , e && ( t . visualType = e ) , t } , t } ( ) , aD = ec ( 0 ) , sD = { } , lD = { } ; rc ( sD , YI ) , rc ( lD , tC ) , sD . eachSeriesByType = sD . eachRawSeriesByType = function ( t ) { YC = t } , sD . eachComponent = function ( t ) { "series" === t . mainType && t . subType && ( YC = t . subType ) } ; var uD = [ "#37A2DA" , "#32C5E9" , "#67E0E3" , "#9FE6B8" , "#FFDB5C" , "#ff9f7f" , "#fb7293" , "#E062AE" , "#E690D1" , "#e7bcf3" , "#9d96f5" , "#8378EA" , "#96BFFF" ] , hD = { color : uD , colorLayer : [ [ "#37A2DA" , "#ffd85c" , "#fd7b5f" ] , [ "#37A2DA" , "#67E0E3" , "#FFDB5C" , "#ff9f7f" , "#E062AE" , "#9d96f5" ] , [ "#37A2DA" , "#32C5E9" , "#9FE6B8" , "#FFDB5C" , "#ff9f7f" , "#fb7293" , "#e7bcf3" , "#8378EA" , "#96BFFF" ] , uD ] } , cD = "#B9B8CE" , pD = "#100C2A" , dD = function ( ) { return { axisLine : { lineStyle : { color : cD } } , splitLine : { lineStyle : { color : "#484753" } } , splitArea : { areaStyle : { color : [ "rgba(255,255,255,0.02)" , "rgba(255,255,255,0.05)" ] } } , minorSplitLine : { lineStyle : { color : "#20203B" } } } } , fD = [ "#4992ff" , "#7cffb2" , "#fddd60" , "#ff6e76" , "#58d9f9" , "#05c091" , "#ff8a45" , "#8d48e3" , "#dd79ff" ] , gD = { darkMode : ! 0 , color : fD , backgroundColor : pD , axisPointer : { lineStyle : { color : "#817f91" } , crossStyle : { color : "#817f91" } , label : { color : "#fff" } } , legend : { textStyle : { color : cD } } , textStyle : { color : cD } , title : { textStyle : { color : "#EEF1FA" } , subtextStyle : { color : "#B9B8CE" } } , toolbox : { iconStyle : { borderColor : cD } } , dataZoom : { borderColor : "#71708A" , textStyle : { color : cD } , brushStyle : { color : "rgba(135,163,206,0.3)" } , handleStyle : { color : "#353450" , borderColor : "#C5CBE3" } , moveHandleStyle : { color : "#B0B6C3" , opacity : . 3 } , fillerColor : "rgba(135,163,206,0.2)" , emphasis : { handleStyle : { borderColor : "#91B7F2" , color : "#4D587D" } , moveHandleStyle : { color : "#636D9A" , opacity : . 7 } } , dataBackground : { lineStyle : { color : "#71708A" , width : 1 } , areaStyle : { color : "#71708A" } } , selectedDataBackground : { lineStyle : { color : "#87A3CE" } , areaStyle : { color : "#87A3CE" } } } , visualMap : { textStyle : { color : cD } } , timeline : { lineStyle : { color : cD } , label : { color : cD } , controlStyle : { color : cD , borderColor : cD } } , calendar : { itemStyle : { color : pD } , dayLabel : { color : cD } , monthLabel : { color : cD } , yearLabel : { color : cD } } , timeAxis : dD ( ) , logAxis : dD ( ) , valueAxis : dD ( ) , categoryAxis : dD ( ) , line : { symbol : "circle" } , graph : { color : fD } , gauge : { title : { color : cD } , axisLine : { lineStyle : { color : [ [ 1 , "rgba(207,212,219,0.2)" ] ] } } , axisLabel : { color : cD } , detail : { color : "#EEF1FA" } } , candlestick : { itemStyle : { color : "#f64e56" , color0 : "#54ea92" , borderColor : "#f64e56" , borderColor0 : "#54ea92" } } } ; gD . categoryAxis . splitLine . show = ! 1 ; var yD = function ( ) { function t ( ) { } return t . prototype . normalizeQuery = function ( t ) { var e = { } , n = { } , i = { } ; if ( I ( t ) ) { var r = zr ( t ) ; e . mainType = r . main || null , e . subType = r . sub || null } else { var o = [ "Index" , "Name" , "Id" ] , a = { name : 1 , dataIndex : 1 , dataType : 1 } ; y ( t , function ( t , r ) { for ( var s = ! 1 , l = 0 ; l < o . length ; l ++ ) { var u = o [ l ] , h = r . lastIndexOf ( u ) ; if ( h > 0 && h === r . length - u . length ) { var c = r . slice ( 0 , h ) ; "data" !== c && ( e . mainType = c , e [ u . toLowerCase ( ) ] = t , s = ! 0 ) } } a . hasOwnProperty ( r ) && ( n [ r ] = t , s = ! 0 ) , s || ( i [ r ] = t ) } ) } return { cptQuery : e , dataQuery : n , otherQuery : i } } , t . prototype . filter = function ( t , e ) { function n ( t , e , n , i ) { return null == t [ n ] || e [ i || n ] === t [ n ] } var i = this . eventInfo ; if ( ! i ) return ! 0 ; var r = i . targetEl , o = i . packedEvent , a = i . model , s = i . view ; if ( ! a || ! s ) return ! 0 ; var l = e . cptQuery , u = e . dataQuery ; return n ( l , a , "mainType" ) && n ( l , a , "subType" ) && n ( l , a , "index" , "componentIndex" ) && n ( l , a , "name" ) && n ( l , a , "id" ) && n ( u , o , "name" ) && n ( u , o , "dataIndex" ) && n ( u , o , "dataType" ) && ( ! s . filterForExposedEvent || s . filterForExposedEvent ( t , e . otherQuery , r , o ) ) } , t . prototype . afterTrigger = function ( ) { this . eventInfo = null } , t } ( ) , vD = [ "symbol" , "symbolSize" , "symbolRotate" , "symbolOffset" ] , mD = vD . concat ( [ "symbolKeepAspect" ] ) , _D = { createOnAllSeries : ! 0 , performRawSeries : ! 0 , reset : function ( t , e ) { function n ( e , n ) { for (
} , t . prototype . getSourceDimensionIndex = function ( t ) { return B ( this . _dimNameMap . get ( t ) , - 1 ) } , t . prototype . getSourceDimension = function ( t ) { var e = this . source . dimensionsDefine ; return e ? e [ t ] : void 0 } , t . prototype . makeStoreSchema = function ( ) { for ( var t = this . _fullDimCount , e = Vu ( this . source ) , n = ! Op ( t ) , i = "" , r = [ ] , o = 0 , a = 0 ; t > o ; o ++ ) { var s = void 0 , l = void 0 , u = void 0 , h = this . dimensions [ a ] ; if ( h && h . storeDimIndex === o ) s = e ? h . name : null , l = h . type , u = h . ordinalMeta , a ++ ; else { var c = this . getSourceDimension ( o ) ; c && ( s = e ? c . name : null , l = c . type ) } r . push ( { property : s , type : l , ordinalMeta : u } ) , ! e || null == s || h && h . isCalculationCoord || ( i += n ? s . replace ( /\`/g , "`1" ) . replace ( /\$/g , "`2" ) : s ) , i += "$" , i += fA [ l ] || "f" , u && ( i += u . uid ) , i += "$" } var p = this . source , d = [ p . seriesLayoutBy , p . startIndex , i ] . join ( "$$" ) ; return { dimensions : r , hash : d } } , t . prototype . makeOutputDimensionNames = function ( ) { for ( var t = [ ] , e = 0 , n = 0 ; e < this . _fullDimCount ; e ++ ) { var i = void 0 , r = this . dimensions [ n ] ; if ( r && r . storeDimIndex === e ) r . isCalculationCoord || ( i = r . name ) , n ++ ; else { var o = this . getSourceDimension ( e ) ; o && ( i = o . name ) } t . push ( i ) } return t } , t . prototype . appendCalculationDimension = function ( t ) { this . dimensions . push ( t ) , t . isCalculationCoord = ! 0 , this . _fullDimCount ++ , this . _updateDimOmitted ( ! 0 ) } , t } ( ) , yA = k , vA = v , mA = "undefined" == typeof Int32Array ? Array : Int32Array , _A = "e\x00\x00" , xA = - 1 , bA = [ "hasItemOption" , "_nameList" , "_idList" , "_invertedIndicesMap" , "_dimSummary" , "userOutput" , "_rawData" , "_dimValueGetter" , "_nameDimIdx" , "_idDimIdx" , "_nameRepeatCount" ] , wA = [ "_approximateExtent" ] , SA = function ( ) { function t ( t , e ) { this . type = "list" , this . _dimOmitted = ! 1 , this . _nameList = [ ] , this . _idList = [ ] , this . _visual = { } , this . _layout = { } , this . _itemVisuals = [ ] , this . _itemLayouts = [ ] , this . _graphicEls = [ ] , this . _approximateExtent = { } , this . _calculationInfo = { } , this . hasItemOption = ! 1 , this . TRANSFERABLE _METHODS = [ "cloneShallow" , "downSample" , "lttbDownSample" , "map" ] , this . CHANGABLE _METHODS = [ "filterSelf" , "selectRange" ] , this . DOWNSAMPLE _METHODS = [ "downSample" , "lttbDownSample" ] ; var n , i = ! 1 ; Ap ( t ) ? ( n = t . dimensions , this . _dimOmitted = t . isDimensionOmitted ( ) , this . _schema = t ) : ( i = ! 0 , n = t ) , n = n || [ "x" , "y" ] ; for ( var r = { } , o = [ ] , a = { } , s = ! 1 , l = { } , u = 0 ; u < n . length ; u ++ ) { var h = n [ u ] , c = I ( h ) ? new pA ( { name : h } ) : h instanceof pA ? h : new pA ( h ) , p = c . name ; c . type = c . type || "float" , c . coordDim || ( c . coordDim = p , c . coordDimIndex = 0 ) ; var d = c . otherDims = c . otherDims || { } ; o . push ( p ) , r [ p ] = c , null != l [ p ] && ( s = ! 0 ) , c . createInvertedIndices && ( a [ p ] = [ ] ) , 0 === d . itemName && ( this . _nameDimIdx = u ) , 0 === d . itemId && ( this . _idDimIdx = u ) , i && ( c . storeDimIndex = u ) } if ( this . dimensions = o , this . _dimInfos = r , this . _initGetDimensionInfo ( s ) , this . hostModel = e , this . _invertedIndicesMap = a , this . _dimOmitted ) { var f = this . _dimIdxToName = Y ( ) ; y ( o , function ( t ) { f . set ( r [ t ] . storeDimIndex , t ) } ) } } return t . prototype . getDimension = function ( t ) { var e = this . _recognizeDimIndex ( t ) ; if ( null == e ) return t ; if ( e = t , ! this . _dimOmitted ) return this . dimensions [ e ] ; var n = this . _dimIdxToName . get ( e ) ; if ( null != n ) return n ; var i = this . _schema . getSourceDimension ( e ) ; return i ? i . name : void 0 } , t . prototype . getDimensionIndex = function ( t ) { var e = this . _recognizeDimIndex ( t ) ; if ( null != e ) return e ; if ( null == t ) return - 1 ; var n = this . _getDimInfo ( t ) ; return n ? n . storeDimIndex : this . _dimOmitted ? this . _schema . getSourceDimensionIndex ( t ) : - 1 } , t . prototype . _recognizeDimIndex = function ( t ) { return D ( t ) || null != t && ! isNaN ( t ) && ! this . _getDimInfo ( t ) && ( ! this . _dimOmitted || this . _schema . getSourceDimensionIndex ( t ) < 0 ) ? + t : void 0 } , t . prototype . _getStoreDimIndex = function ( t ) { var e = this . getDimensionIndex ( t ) ; return e } , t . prototype . getDimensionInfo = function ( t ) { return this . _getDimInfo ( this . getDimension ( t ) ) } , t . prototype . _initGetDimensionInfo = function ( t ) { var e = this . _dimInfos ; this . _getDimInfo = t ? function ( t ) { return e . hasOwnProperty ( t ) ? e [ t ] : void 0 } : function ( t ) { return e [ t ] } } , t . prototype . getDimensionsOnCoord = function ( ) { return this . _dimSummary . dataDimsOnCoord . slice ( ) } , t . prototype . mapDimension = function ( t , e ) { var n = this . _dimSummary ; if ( null == e ) return n . encodeFirstDimNotExtra [ t ] ; var i = n . encode [ t ] ; return i ? i [ e ] : null } , t . prototype . mapDimensionsAll = function ( t ) { var e = this . _dimSummary , n = e . encode [ t ] ; return ( n || [ ] ) . slice ( ) } , t . prototype . getStore = function ( ) { return this . _store } , t . prototype . initData = function ( t , e , n ) { var i , r = this ; if ( t instanceof OC && ( i = t ) ,
} , t . prototype . _addLabel = function ( t , e , n , i , r ) { var o = i . style , a = i . _ _hostTarget , s = a . textConfig || { } , l = i . getComputedTransform ( ) , u = i . getBoundingRect ( ) . plain ( ) ; gw . applyTransform ( u , u , l ) , l ? DL . setLocalTransform ( l ) : ( DL . x = DL . y = DL . rotation = DL . originX = DL . originY = 0 , DL . scaleX = DL . scaleY = 1 ) ; var h , c = i . _ _hostTarget ; if ( c ) { h = c . getBoundingRect ( ) . plain ( ) ; var p = c . getComputedTransform ( ) ; gw . applyTransform ( h , h , p ) } var d = h && c . getTextGuideLine ( ) ; this . _labelList . push ( { label : i , labelLine : d , seriesModel : n , dataIndex : t , dataType : e , layoutOption : r , computedLayoutOption : null , rect : u , hostRect : h , priority : h ? h . width * h . height : 0 , defaultAttr : { ignore : i . ignore , labelGuideIgnore : d && d . ignore , x : DL . x , y : DL . y , scaleX : DL . scaleX , scaleY : DL . scaleY , rotation : DL . rotation , style : { x : o . x , y : o . y , align : o . align , verticalAlign : o . verticalAlign , width : o . width , height : o . height , fontSize : o . fontSize } , cursor : i . cursor , attachedPos : s . position , attachedRot : s . rotation } } ) } , t . prototype . addLabelsOfSeries = function ( t ) { var e = this ; this . _chartViewList . push ( t ) ; var n = t . _ _model , i = n . get ( "labelLayout" ) ; ( T ( i ) || b ( i ) . length ) && t . group . traverse ( function ( t ) { if ( t . ignore ) return ! 0 ; var r = t . getTextContent ( ) , o = oM ( t ) ; r && ! r . disableLabelLayout && e . _addLabel ( o . dataIndex , o . dataType , n , r , i ) } ) } , t . prototype . updateLayoutConfig = function ( t ) { function e ( t , e ) { return function ( ) { kf ( t , e ) } } for ( var n = t . getWidth ( ) , i = t . getHeight ( ) , r = 0 ; r < this . _labelList . length ; r ++ ) { var o = this . _labelList [ r ] , a = o . label , s = a . _ _hostTarget , l = o . defaultAttr , u = void 0 ; u = T ( o . layoutOption ) ? o . layoutOption ( Hf ( o , s ) ) : o . layoutOption , u = u || { } , o . computedLayoutOption = u ; var h = Math . PI / 180 ; s && s . setTextConfig ( { local : ! 1 , position : null != u . x || null != u . y ? null : l . attachedPos , rotation : null != u . rotate ? u . rotate * h : l . attachedRot , offset : [ u . dx || 0 , u . dy || 0 ] } ) ; var c = ! 1 ; if ( null != u . x ? ( a . x = Gi ( u . x , n ) , a . setStyle ( "x" , 0 ) , c = ! 0 ) : ( a . x = l . x , a . setStyle ( "x" , l . style . x ) ) , null != u . y ? ( a . y = Gi ( u . y , i ) , a . setStyle ( "y" , 0 ) , c = ! 0 ) : ( a . y = l . y , a . setStyle ( "y" , l . style . y ) ) , u . labelLinePoints ) { var p = s . getTextGuideLine ( ) ; p && ( p . setShape ( { points : u . labelLinePoints } ) , c = ! 1 ) } var d = kL ( a ) ; d . needsUpdateLabelLine = c , a . rotation = null != u . rotate ? u . rotate * h : l . rotation , a . scaleX = l . scaleX , a . scaleY = l . scaleY ; for ( var f = 0 ; f < CL . length ; f ++ ) { var g = CL [ f ] ; a . setStyle ( g , null != u [ g ] ? u [ g ] : l . style [ g ] ) } if ( u . draggable ) { if ( a . draggable = ! 0 , a . cursor = "move" , s ) { var y = o . seriesModel ; if ( null != o . dataIndex ) { var v = o . seriesModel . getData ( o . dataType ) ; y = v . getItemModel ( o . dataIndex ) } a . on ( "drag" , e ( s , y . getModel ( "labelLine" ) ) ) } } else a . off ( "drag" ) , a . cursor = l . cursor } } , t . prototype . layout = function ( t ) { var e = t . getWidth ( ) , n = t . getHeight ( ) , i = Ef ( this . _labelList ) , r = _ ( i , function ( t ) { return "shiftX" === t . layoutOption . moveOverlap } ) , o = _ ( i , function ( t ) { return "shiftY" === t . layoutOption . moveOverlap } ) ; Bf ( r , 0 , e ) , Ff ( o , 0 , n ) ; var a = _ ( i , function ( t ) { return t . layoutOption . hideOverlap } ) ; Vf ( a ) } , t . prototype . processLabelsOverall = function ( ) { var t = this ; y ( this . _chartViewList , function ( e ) { var n = e . _ _model , i = e . ignoreLabelLineUpdate , r = n . isAnimationEnabled ( ) ; e . group . traverse ( function ( e ) { if ( e . ignore && ! e . forceLabelAnimation ) return ! 0 ; var o = ! i , a = e . getTextContent ( ) ; ! o && a && ( o = kL ( a ) . needsUpdateLabelLine ) , o && t . _updateLabelLine ( e , n ) , r && t . _animateLabels ( e , n ) } ) } ) } , t . prototype . _updateLabelLine = function ( t , e ) { var n = t . getTextContent ( ) , i = oM ( t ) , r = i . dataIndex ; if ( n && null != r ) { var o = e . getData ( i . dataType ) , a = o . getItemModel ( r ) , s = { } , l = o . getItemVisual ( r , "style" ) , u = o . getVisual ( "drawType" ) ; s . stroke = l [ u ] ; var h = a . getModel ( "labelLine" ) ; Rf ( t , Nf ( a ) , s ) , kf ( t , h ) } } , t . prototype . _animateLabels = function ( t , e ) { var n = t . getTextContent ( ) , i = t . getTextGuideLine ( ) ; if ( n && ( t . forceLabelAnimation || ! n . ignore && ! n . invisible && ! t . disableLabelAnimation && ! ls ( t ) ) ) { var r = kL ( n ) , o = r . oldLayout , a = oM ( t ) , s = a . dataIndex , l = { x : n . x , y : n . y , rotation : n . rotation } , u = e . getData ( a . dataType ) ; if ( o ) { n . attr ( o ) ; var h = t . prevStates ; h && ( p ( h , "select" ) >= 0 && n . attr ( r . oldLayoutSelect ) , p ( h , "emphasis" ) >= 0 && n . attr ( r . oldLayoutEmphasis ) ) , as ( n , l , e , s ) } else if ( n . attr ( l ) , ! zT ( n ) . valueAnimation ) { var c = B ( n . style . opacity , 1 ) ; n . style . opacity = 0 , ss ( n , { style : { opacity : c } } , e , s ) } if ( r . oldLayout = l , n . states . select ) { var d = r . oldLayoutSelect = { } ; Wf ( d , l , LL ) , Wf ( d , n . states . select , LL ) } if ( n . states . emphasis ) { var f = r . oldLayoutEmphasis = { } ; Wf ( f , l , LL ) , Wf ( f , n . states . emphasis , LL ) } Ks ( n , s , u , e ,
a && us ( a , { style : { opacity : 0 } } , e , { dataIndex : r , removeOpt : o , cb : function ( ) { i . removeTextContent ( ) } } ) } else i . removeTextContent ( ) ; us ( i , { style : { opacity : 0 } , scaleX : 0 , scaleY : 0 } , e , { dataIndex : r , cb : t , removeOpt : o } ) } , n . getSymbolSize = function ( t , e ) { return dc ( t . getItemVisual ( e , "symbolSize" ) ) } , n } ( Sw ) , lP = function ( ) { function t ( t ) { this . group = new Sw , this . _SymbolCtor = t || sP } return t . prototype . updateData = function ( t , e ) { this . _progressiveEls = null , e = wg ( e ) ; var n = this . group , i = t . hostModel , r = this . _data , o = this . _SymbolCtor , a = e . disableAnimation , s = Sg ( t ) , l = { disableAnimation : a } , u = e . getSymbolPoint || function ( e ) { return t . getItemLayout ( e ) } ; r || n . removeAll ( ) , t . diff ( r ) . add ( function ( i ) { var r = u ( i ) ; if ( bg ( t , r , i , e ) ) { var a = new o ( t , i , s , l ) ; a . setPosition ( r ) , t . setItemGraphicEl ( i , a ) , n . add ( a ) } } ) . update ( function ( h , c ) { var p = r . getItemGraphicEl ( c ) , d = u ( h ) ; if ( ! bg ( t , d , h , e ) ) return void n . remove ( p ) ; var f = t . getItemVisual ( h , "symbol" ) || "circle" , g = p && p . getSymbolType && p . getSymbolType ( ) ; if ( ! p || g && g !== f ) n . remove ( p ) , p = new o ( t , h , s , l ) , p . setPosition ( d ) ; else { p . updateData ( t , h , s , l ) ; var y = { x : d [ 0 ] , y : d [ 1 ] } ; a ? p . attr ( y ) : as ( p , y , i ) } n . add ( p ) , t . setItemGraphicEl ( h , p ) } ) . remove ( function ( t ) { var e = r . getItemGraphicEl ( t ) ; e && e . fadeOut ( function ( ) { n . remove ( e ) } , i ) } ) . execute ( ) , this . _getSymbolPoint = u , this . _data = t } , t . prototype . updateLayout = function ( ) { var t = this , e = this . _data ; e && e . eachItemGraphicEl ( function ( e , n ) { var i = t . _getSymbolPoint ( n ) ; e . setPosition ( i ) , e . markRedraw ( ) } ) } , t . prototype . incrementalPrepareUpdate = function ( t ) { this . _seriesScope = Sg ( t ) , this . _data = null , this . group . removeAll ( ) } , t . prototype . incrementalUpdate = function ( t , e , n ) { function i ( t ) { t . isGroup || ( t . incremental = ! 0 , t . ensureState ( "emphasis" ) . hoverLayer = ! 0 ) } this . _progressiveEls = [ ] , n = wg ( n ) ; for ( var r = t . start ; r < t . end ; r ++ ) { var o = e . getItemLayout ( r ) ; if ( bg ( e , o , r , n ) ) { var a = new this . _SymbolCtor ( e , r , this . _seriesScope ) ; a . traverse ( i ) , a . setPosition ( o ) , this . group . add ( a ) , e . setItemGraphicEl ( r , a ) , this . _progressiveEls . push ( a ) } } } , t . prototype . eachRendered = function ( t ) { Bs ( this . _progressiveEls || this . group , t ) } , t . prototype . remove = function ( t ) { var e = this . group , n = this . _data ; n && t ? n . eachItemGraphicEl ( function ( t ) { t . fadeOut ( function ( ) { e . remove ( t ) } , n . hostModel ) } ) : e . removeAll ( ) } , t } ( ) , uP = Math . min , hP = Math . max , cP = function ( ) { function t ( ) { this . smooth = 0 , this . smoothConstraint = ! 0 } return t } ( ) , pP = function ( t ) { function n ( e ) { var n = t . call ( this , e ) || this ; return n . type = "ec-polyline" , n } return e ( n , t ) , n . prototype . getDefaultStyle = function ( ) { return { stroke : "#000" , fill : null } } , n . prototype . getDefaultShape = function ( ) { return new cP } , n . prototype . buildPath = function ( t , e ) { var n = e . points , i = 0 , r = n . length / 2 ; if ( e . connectNulls ) { for ( ; r > 0 && kg ( n [ 2 * r - 2 ] , n [ 2 * r - 1 ] ) ; r -- ) ; for ( ; r > i && kg ( n [ 2 * i ] , n [ 2 * i + 1 ] ) ; i ++ ) ; } for ( ; r > i ; ) i += Ag ( t , n , i , r , r , 1 , e . smooth , e . smoothMonotone , e . connectNulls ) + 1 } , n . prototype . getPointOn = function ( t , e ) { this . path || ( this . createPathProxy ( ) , this . buildPath ( this . path , this . shape ) ) ; for ( var n , i , r = this . path , o = r . data , a = LS . CMD , s = "x" === e , l = [ ] , u = 0 ; u < o . length ; ) { var h = o [ u ++ ] , c = void 0 , p = void 0 , d = void 0 , f = void 0 , g = void 0 , y = void 0 , v = void 0 ; switch ( h ) { case a . M : n = o [ u ++ ] , i = o [ u ++ ] ; break ; case a . L : if ( c = o [ u ++ ] , p = o [ u ++ ] , v = s ? ( t - n ) / ( c - n ) : ( t - i ) / ( p - i ) , 1 >= v && v >= 0 ) { var m = s ? ( p - i ) * v + i : ( c - n ) * v + n ; return s ? [ t , m ] : [ m , t ] } n = c , i = p ; break ; case a . C : c = o [ u ++ ] , p = o [ u ++ ] , d = o [ u ++ ] , f = o [ u ++ ] , g = o [ u ++ ] , y = o [ u ++ ] ; var _ = s ? tn ( n , c , d , g , t , l ) : tn ( i , p , f , y , t , l ) ; if ( _ > 0 ) for ( var x = 0 ; _ > x ; x ++ ) { var b = l [ x ] ; if ( 1 >= b && b >= 0 ) { var m = s ? $e ( i , p , f , y , b ) : $e ( n , c , d , g , b ) ; return s ? [ t , m ] : [ m , t ] } } n = g , i = y } } } , n } ( HS ) , dP = function ( t ) { function n ( ) { return null !== t && t . apply ( this , arguments ) || this } return e ( n , t ) , n } ( cP ) , fP = function ( t ) { function n ( e ) { var n = t . call ( this , e ) || this ; return n . type = "ec-polygon" , n } return e ( n , t ) , n . prototype . getDefaultShape = function ( ) { return new dP } , n . prototype . buildPath = function ( t , e ) { var n = e . points , i = e . stackedOnPoints , r = 0 , o = n . length / 2 , a = e . smoothMonotone ; if ( e . connectNulls ) { for ( ; o > 0 && kg ( n [ 2 * o - 2 ] , n [ 2 * o - 1 ] ) ; o -- ) ; for ( ; o > r && kg ( n [ 2 * r ] , n [ 2 * r + 1 ] ) ; r ++ ) ; } for ( ; o > r ; ) { var s = Ag ( t , n , r , o , o , 1 , e . smooth , a , e . connectNulls ) ; Ag ( t , i , r + s - 1 , s , o , - 1 , e . stackedOnSmooth , a , e . connectNulls ) , r += s + 1 , t . closePath ( ) } } , n } ( HS ) , gP = function ( t ) { function n ( ) { return null !== t && t . apply ( this , arguments ) || this } return e ( n , t ) , n . prototype . init = function ( ) { var t = new Sw , e = new lP
} , t . create = function ( e , n ) { var i = [ ] ; return e . eachComponent ( "radar" , function ( r ) { var o = new t ( r , e , n ) ; i . push ( o ) , r . coordinateSystem = o } ) , e . eachSeriesByType ( "radar" , function ( t ) { "radar" === t . get ( "coordinateSystem" ) && ( t . coordinateSystem = i [ t . get ( "radarIndex" ) || 0 ] ) } ) , i } , t . dimensions = [ ] , t } ( ) ; Yd ( Ty ) ; var GP = "\x00_ec_interaction_mutex" ; fp ( { type : "takeGlobalCursor" , event : "globalCursorTaken" , update : "update" } , J ) ; for ( var HP , WP = function ( t ) { function n ( e ) { var n = t . call ( this ) || this ; n . _zr = e ; var i = _x ( n . _mousedownHandler , n ) , r = _x ( n . _mousemoveHandler , n ) , o = _x ( n . _mouseupHandler , n ) , a = _x ( n . _mousewheelHandler , n ) , l = _x ( n . _pinchHandler , n ) ; return n . enable = function ( t , n ) { this . disable ( ) , this . _opt = c ( s ( n ) || { } , { zoomOnMouseWheel : ! 0 , moveOnMouseMove : ! 0 , moveOnMouseWheel : ! 1 , preventDefaultMouseMove : ! 0 } ) , null == t && ( t = ! 0 ) , ( t === ! 0 || "move" === t || "pan" === t ) && ( e . on ( "mousedown" , i ) , e . on ( "mousemove" , r ) , e . on ( "mouseup" , o ) ) , ( t === ! 0 || "scale" === t || "zoom" === t ) && ( e . on ( "mousewheel" , a ) , e . on ( "pinch" , l ) ) } , n . disable = function ( ) { e . off ( "mousedown" , i ) , e . off ( "mousemove" , r ) , e . off ( "mouseup" , o ) , e . off ( "mousewheel" , a ) , e . off ( "pinch" , l ) } , n } return e ( n , t ) , n . prototype . isDragging = function ( ) { return this . _dragging } , n . prototype . isPinching = function ( ) { return this . _pinching } , n . prototype . setPointerChecker = function ( t ) { this . pointerChecker = t } , n . prototype . dispose = function ( ) { this . disable ( ) } , n . prototype . _mousedownHandler = function ( t ) { if ( ! ( Oe ( t ) || t . target && t . target . draggable ) ) { var e = t . offsetX , n = t . offsetY ; this . pointerChecker && this . pointerChecker ( t , e , n ) && ( this . _x = e , this . _y = n , this . _dragging = ! 0 ) } } , n . prototype . _mousemoveHandler = function ( t ) { if ( this . _dragging && Ay ( "moveOnMouseMove" , t , this . _opt ) && "pinch" !== t . gestureEvent && ! Iy ( this . _zr , "globalPan" ) ) { var e = t . offsetX , n = t . offsetY , i = this . _x , r = this . _y , o = e - i , a = n - r ; this . _x = e , this . _y = n , this . _opt . preventDefaultMouseMove && Fx ( t . event ) , ky ( this , "pan" , "moveOnMouseMove" , t , { dx : o , dy : a , oldX : i , oldY : r , newX : e , newY : n , isAvailableBehavior : null } ) } } , n . prototype . _mouseupHandler = function ( t ) { Oe ( t ) || ( this . _dragging = ! 1 ) } , n . prototype . _mousewheelHandler = function ( t ) { var e = Ay ( "zoomOnMouseWheel" , t , this . _opt ) , n = Ay ( "moveOnMouseWheel" , t , this . _opt ) , i = t . wheelDelta , r = Math . abs ( i ) , o = t . offsetX , a = t . offsetY ; if ( 0 !== i && ( e || n ) ) { if ( e ) { var s = r > 3 ? 1.4 : r > 1 ? 1.2 : 1.1 , l = i > 0 ? s : 1 / s ; Dy ( this , "zoom" , "zoomOnMouseWheel" , t , { scale : l , originX : o , originY : a , isAvailableBehavior : null } ) } if ( n ) { var u = Math . abs ( i ) , h = ( i > 0 ? 1 : - 1 ) * ( u > 3 ? . 4 : u > 1 ? . 15 : . 05 ) ; Dy ( this , "scrollMove" , "moveOnMouseWheel" , t , { scrollDelta : h , originX : o , originY : a , isAvailableBehavior : null } ) } } } , n . prototype . _pinchHandler = function ( t ) { if ( ! Iy ( this . _zr , "globalPan" ) ) { var e = t . pinchScale > 1 ? 1.1 : 1 / 1.1 ; Dy ( this , "zoom" , null , t , { scale : e , originX : t . pinchX , originY : t . pinchY , isAvailableBehavior : null } ) } } , n } ( Px ) , UP = { axisPointer : 1 , tooltip : 1 , brush : 1 } , XP = { fill : "fill" , stroke : "stroke" , "stroke-width" : "lineWidth" , opacity : "opacity" , "fill-opacity" : "fillOpacity" , "stroke-opacity" : "strokeOpacity" , "stroke-dasharray" : "lineDash" , "stroke-dashoffset" : "lineDashOffset" , "stroke-linecap" : "lineCap" , "stroke-linejoin" : "lineJoin" , "stroke-miterlimit" : "miterLimit" , "font-family" : "fontFamily" , "font-size" : "fontSize" , "font-style" : "fontStyle" , "font-weight" : "fontWeight" , "text-anchor" : "textAlign" , visibility : "visibility" , display : "display" } , YP = b ( XP ) , jP = { "alignment-baseline" : "textBaseline" , "stop-color" : "stopColor" } , ZP = b ( jP ) , qP = function ( ) { function t ( ) { this . _defs = { } , this . _root = null } return t . prototype . parse = function ( t , e ) { e = e || { } ; var n = Ry ( t ) ; this . _defsUsePending = [ ] ; var i = new Sw ; this . _root = i ; var r = [ ] , o = n . getAttribute ( "viewBox" ) || "" , a = parseFloat ( n . getAttribute ( "width" ) || e . width ) , s = parseFloat ( n . getAttribute ( "height" ) || e . height ) ; isNaN ( a ) && ( a = null ) , isNaN ( s ) && ( s = null ) , Fy ( n , i , null , ! 0 , ! 1 ) ; for ( var l = n . firstChild ; l ; ) this . _parseNode ( l , i , r , null , ! 1 , ! 1 ) , l = l . nextSibling ; Hy ( this . _defs , this . _defsUsePending ) , this . _defsUsePending = [ ] ; var u , h ; if ( o ) { var c = Wy ( o ) ; c . length >= 4 && ( u = { x : parseFloat ( c [ 0 ] || 0 ) , y : parseFloat ( c [ 1 ] || 0 ) , width : parseFloat ( c [ 2 ] ) , height : parseFloat ( c [ 3 ] ) } ) } if ( u && null != a && null != s && ( h = jy ( u , { x : 0 , y : 0 , width : a , height : s } ) , ! e . ignoreViewBox ) ) { var p = i ; i = new Sw , i . add ( p ) , p . scaleX = p . scaleY = h . scale , p . x = h . x , p . y = h . y } return e . ignoreRootClip || null == a || null == s || i . setClipPath ( new JS ( { shape : { x : 0 , y
} , n . prototype . dispose = function ( ) { } , n . prototype . _renderMain = function ( t , e , n , i , r ) { var o = this . group , a = t . get ( "clockwise" ) , s = - t . get ( "startAngle" ) / 180 * Math . PI , l = - t . get ( "endAngle" ) / 180 * Math . PI , u = t . getModel ( "axisLine" ) , h = u . get ( "roundCap" ) , c = h ? jL : QM , p = u . get ( "show" ) , d = u . getModel ( "lineStyle" ) , f = d . get ( "width" ) , g = [ s , l ] ; go ( g , ! a ) , s = g [ 0 ] , l = g [ 1 ] ; for ( var y = l - s , v = s , m = 0 ; p && m < i . length ; m ++ ) { var _ = Math . min ( Math . max ( i [ m ] [ 0 ] , 0 ) , 1 ) ; l = s + y * _ ; var x = new c ( { shape : { startAngle : v , endAngle : l , cx : r . cx , cy : r . cy , clockwise : a , r0 : r . r - f , r : r . r } , silent : ! 0 } ) ; x . setStyle ( { fill : i [ m ] [ 1 ] } ) , x . setStyle ( d . getLineStyle ( [ "color" , "width" ] ) ) , o . add ( x ) , v = l } var b = function ( t ) { if ( 0 >= t ) return i [ 0 ] [ 1 ] ; var e ; for ( e = 0 ; e < i . length ; e ++ ) if ( i [ e ] [ 0 ] >= t && ( 0 === e ? 0 : i [ e - 1 ] [ 0 ] ) < t ) return i [ e ] [ 1 ] ; return i [ e - 1 ] [ 1 ] } ; this . _renderTicks ( t , e , n , b , r , s , l , a , f ) , this . _renderTitleAndDetail ( t , e , n , b , r ) , this . _renderAnchor ( t , r ) , this . _renderPointer ( t , e , n , b , r , s , l , a , f ) } , n . prototype . _renderTicks = function ( t , e , n , i , r , o , a , s , l ) { for ( var u , h , c = this . group , p = r . cx , d = r . cy , f = r . r , g = + t . get ( "min" ) , y = + t . get ( "max" ) , v = t . getModel ( "splitLine" ) , m = t . getModel ( "axisTick" ) , _ = t . getModel ( "axisLabel" ) , x = t . get ( "splitNumber" ) , b = m . get ( "splitNumber" ) , w = Gi ( v . get ( "length" ) , f ) , S = Gi ( m . get ( "length" ) , f ) , M = o , T = ( a - o ) / x , I = T / b , C = v . getModel ( "lineStyle" ) . getLineStyle ( ) , D = m . getModel ( "lineStyle" ) . getLineStyle ( ) , k = v . get ( "distance" ) , A = 0 ; x >= A ; A ++ ) { if ( u = Math . cos ( M ) , h = Math . sin ( M ) , v . get ( "show" ) ) { var L = k ? k + l : l , P = new lT ( { shape : { x1 : u * ( f - L ) + p , y1 : h * ( f - L ) + d , x2 : u * ( f - w - L ) + p , y2 : h * ( f - w - L ) + d } , style : C , silent : ! 0 } ) ; "auto" === C . stroke && P . setStyle ( { stroke : i ( A / x ) } ) , c . add ( P ) } if ( _ . get ( "show" ) ) { var L = _ . get ( "distance" ) + k , O = Sv ( Hi ( A / x * ( y - g ) + g ) , _ . get ( "formatter" ) ) , R = i ( A / x ) ; c . add ( new eM ( { style : Ws ( _ , { text : O , x : u * ( f - w - L ) + p , y : h * ( f - w - L ) + d , verticalAlign : - . 8 > h ? "top" : h > . 8 ? "bottom" : "middle" , align : - . 4 > u ? "left" : u > . 4 ? "right" : "center" } , { inheritColor : R } ) , silent : ! 0 } ) ) } if ( m . get ( "show" ) && A !== x ) { var L = m . get ( "distance" ) ; L = L ? L + l : l ; for ( var N = 0 ; b >= N ; N ++ ) { u = Math . cos ( M ) , h = Math . sin ( M ) ; var E = new lT ( { shape : { x1 : u * ( f - L ) + p , y1 : h * ( f - L ) + d , x2 : u * ( f - S - L ) + p , y2 : h * ( f - S - L ) + d } , silent : ! 0 , style : D } ) ; "auto" === D . stroke && E . setStyle ( { stroke : i ( ( A + N / b ) / x ) } ) , c . add ( E ) , M += I } M -= I } else M += T } } , n . prototype . _renderPointer = function ( t , e , n , i , r , o , a , s , l ) { function u ( e , n ) { var i , o = _ . getItemModel ( e ) , a = o . getModel ( "pointer" ) , s = Gi ( a . get ( "width" ) , r . r ) , l = Gi ( a . get ( "length" ) , r . r ) , u = t . get ( [ "pointer" , "icon" ] ) , h = a . get ( "offsetCenter" ) , c = Gi ( h [ 0 ] , r . r ) , p = Gi ( h [ 1 ] , r . r ) , d = a . get ( "keepAspect" ) ; return i = u ? pc ( u , c - s / 2 , p - l , s , l , null , d ) : new OO ( { shape : { angle : - Math . PI / 2 , width : s , r : l , x : c , y : p } } ) , i . rotation = - ( n + Math . PI / 2 ) , i . x = r . cx , i . y = r . cy , i } function c ( t , e ) { var n = v . get ( "roundCap" ) , i = n ? jL : QM , a = v . get ( "overlap" ) , u = a ? v . get ( "width" ) : l / _ . count ( ) , h = a ? r . r - u : r . r - ( t + 1 ) * u , c = a ? r . r : r . r - t * u , p = new i ( { shape : { startAngle : o , endAngle : e , cx : r . cx , cy : r . cy , clockwise : s , r0 : h , r : c } } ) ; return a && ( p . z2 = w - _ . get ( x , t ) % w ) , p } var p = this . group , d = this . _data , f = this . _progressEls , g = [ ] , y = t . get ( [ "pointer" , "show" ] ) , v = t . getModel ( "progress" ) , m = v . get ( "show" ) , _ = t . getData ( ) , x = _ . mapDimension ( "value" ) , b = + t . get ( "min" ) , w = + t . get ( "max" ) , S = [ b , w ] , M = [ o , a ] ; ( m || y ) && ( _ . diff ( d ) . add ( function ( e ) { var n = _ . get ( x , e ) ; if ( y ) { var i = u ( e , o ) ; ss ( i , { rotation : - ( ( isNaN ( + n ) ? M [ 0 ] : Vi ( n , S , M , ! 0 ) ) + Math . PI / 2 ) } , t ) , p . add ( i ) , _ . setItemGraphicEl ( e , i ) } if ( m ) { var r = c ( e , o ) , a = v . get ( "clip" ) ; ss ( r , { shape : { endAngle : Vi ( n , S , M , a ) } } , t ) , p . add ( r ) , aM ( t . seriesIndex , _ . dataType , e , r ) , g [ e ] = r } } ) . update ( function ( e , n ) { var i = _ . get ( x , e ) ; if ( y ) { var r = d . getItemGraphicEl ( n ) , a = r ? r . rotation : o , s = u ( e , a ) ; s . rotation = a , as ( s , { rotation : - ( ( isNaN ( + i ) ? M [ 0 ] : Vi ( i , S , M , ! 0 ) ) + Math . PI / 2 ) } , t ) , p . add ( s ) , _ . setItemGraphicEl ( e , s ) } if ( m ) { var l = f [ n ] , h = l ? l . shape . endAngle : o , b = c ( e , h ) , w = v . get ( "clip" ) ; as ( b , { shape : { endAngle : Vi ( i , S , M , w ) } } , t ) , p . add ( b ) , aM ( t . seriesIndex , _ . dataType , e , b ) , g [ e ] = b } } ) . execute ( ) , _ . each ( function ( t ) { var e = _ . getItemModel ( t ) , n = e . getModel ( "emphasis" ) , r = n . get ( "focus" ) , o = n . get ( "blurScope" ) , a = n . get ( "disabled" ) ; if ( y ) { var s = _ . getItemGraphicEl ( t ) , l = _ . getItemVisual ( t , "style" ) , u = l . fill ; if ( s instanceof jS ) { var c = s . style ; s . useStyle ( h ( { image : c . image , x : c . x , y : c . y , width : c . width , height : c . height } , l ) ) } else s . useStyle ( l ) , "pointer" !== s . type && s . setColor ( u ) ; s . setStyle ( e . getModel ( [ "pointer" , "itemStyle" ] ) . getItemStyle ( ) ) , "auto" === s . style . fill && s . setStyl
l ( "pagePrev" , 0 ) ; var d = n . getModel ( "pageTextStyle" ) ; h . add ( new eM ( { name : "pageText" , style : { text : "xx/xx" , fill : d . getTextColor ( ) , font : d . getFont ( ) , verticalAlign : "middle" , align : "center" } , silent : ! 0 } ) ) , l ( "pageNext" , 1 ) } , n . prototype . layoutInner = function ( t , e , n , i , r , o ) { var a = this . getSelectorGroup ( ) , l = t . getOrient ( ) . index , u = cR [ l ] , h = pR [ l ] , c = cR [ 1 - l ] , p = pR [ 1 - l ] ; r && wI ( "horizontal" , a , t . get ( "selectorItemGap" , ! 0 ) ) ; var d = t . get ( "selectorButtonGap" , ! 0 ) , f = a . getBoundingRect ( ) , g = [ - f . x , - f . y ] , y = s ( n ) ; r && ( y [ u ] = n [ u ] - f [ u ] - d ) ; var v = this . _layoutContentAndController ( t , i , y , l , u , c , p , h ) ; if ( r ) { if ( "end" === o ) g [ l ] += v [ u ] + d ; else { var m = f [ u ] + d ; g [ l ] -= m , v [ h ] -= m } v [ u ] += f [ u ] + d , g [ 1 - l ] += v [ p ] + v [ c ] / 2 - f [ c ] / 2 , v [ c ] = Math . max ( v [ c ] , f [ c ] ) , v [ p ] = Math . min ( v [ p ] , f [ p ] + g [ 1 - l ] ) , a . x = g [ 0 ] , a . y = g [ 1 ] , a . markRedraw ( ) } return v } , n . prototype . _layoutContentAndController = function ( t , e , n , i , r , o , a , s ) { var l = this . getContentGroup ( ) , u = this . _containerGroup , h = this . _controllerGroup ; wI ( t . get ( "orient" ) , l , t . get ( "itemGap" ) , i ? n . width : null , i ? null : n . height ) , wI ( "horizontal" , h , t . get ( "pageButtonItemGap" , ! 0 ) ) ; var c = l . getBoundingRect ( ) , p = h . getBoundingRect ( ) , d = this . _showController = c [ r ] > n [ r ] , f = [ - c . x , - c . y ] ; e || ( f [ i ] = l [ s ] ) ; var g = [ 0 , 0 ] , y = [ - p . x , - p . y ] , v = B ( t . get ( "pageButtonGap" , ! 0 ) , t . get ( "itemGap" , ! 0 ) ) ; if ( d ) { var m = t . get ( "pageButtonPosition" , ! 0 ) ; "end" === m ? y [ i ] += n [ r ] - p [ r ] : g [ i ] += p [ r ] + v } y [ 1 - i ] += c [ o ] / 2 - p [ o ] / 2 , l . setPosition ( f ) , u . setPosition ( g ) , h . setPosition ( y ) ; var _ = { x : 0 , y : 0 } ; if ( _ [ r ] = d ? n [ r ] : c [ r ] , _ [ o ] = Math . max ( c [ o ] , p [ o ] ) , _ [ a ] = Math . min ( 0 , p [ a ] + y [ 1 - i ] ) , u . _ _rectSize = n [ r ] , d ) { var x = { x : 0 , y : 0 } ; x [ r ] = Math . max ( n [ r ] - p [ r ] - v , 0 ) , x [ o ] = _ [ o ] , u . setClipPath ( new JS ( { shape : x } ) ) , u . _ _rectSize = x [ r ] } else h . eachChild ( function ( t ) { t . attr ( { invisible : ! 0 , silent : ! 0 } ) } ) ; var b = this . _getPageInfo ( t ) ; return null != b . pageIndex && as ( l , { x : b . contentPosition [ 0 ] , y : b . contentPosition [ 1 ] } , d ? t : null ) , this . _updatePageInfoView ( t , b ) , _ } , n . prototype . _pageGo = function ( t , e , n ) { var i = this . _getPageInfo ( e ) [ t ] ; null != i && n . dispatchAction ( { type : "legendScroll" , scrollDataIndex : i , legendId : e . id } ) } , n . prototype . _updatePageInfoView = function ( t , e ) { var n = this . _controllerGroup ; y ( [ "pagePrev" , "pageNext" ] , function ( i ) { var r = i + "DataIndex" , o = null != e [ r ] , a = n . childOfName ( i ) ; a && ( a . setStyle ( "fill" , o ? t . get ( "pageIconColor" , ! 0 ) : t . get ( "pageIconInactiveColor" , ! 0 ) ) , a . cursor = o ? "pointer" : "default" ) } ) ; var i = n . childOfName ( "pageText" ) , r = t . get ( "pageFormatter" ) , o = e . pageIndex , a = null != o ? o + 1 : 0 , s = e . pageCount ; i && r && i . setStyle ( "text" , I ( r ) ? r . replace ( "{current}" , null == a ? "" : a + "" ) . replace ( "{total}" , null == s ? "" : s + "" ) : r ( { current : a , total : s } ) ) } , n . prototype . _getPageInfo = function ( t ) { function e ( t ) { if ( t ) { var e = t . getBoundingRect ( ) , n = e [ l ] + t [ l ] ; return { s : n , e : n + e [ s ] , i : t . _ _legendDataIndex } } } function n ( t , e ) { return t . e >= e && t . s <= e + o } var i = t . get ( "scrollDataIndex" , ! 0 ) , r = this . getContentGroup ( ) , o = this . _containerGroup . _ _rectSize , a = t . getOrient ( ) . index , s = cR [ a ] , l = pR [ a ] , u = this . _findTargetItemIndex ( i ) , h = r . children ( ) , c = h [ u ] , p = h . length , d = p ? 1 : 0 , f = { contentPosition : [ r . x , r . y ] , pageCount : d , pageIndex : d - 1 , pagePrevDataIndex : null , pageNextDataIndex : null } ; if ( ! c ) return f ; var g = e ( c ) ; f . contentPosition [ a ] = - g . s ; for ( var y = u + 1 , v = g , m = g , _ = null ; p >= y ; ++ y ) _ = e ( h [ y ] ) , ( ! _ && m . e > v . s + o || _ && ! n ( _ , v . s ) ) && ( v = m . i > v . i ? m : _ , v && ( null == f . pageNextDataIndex && ( f . pageNextDataIndex = v . i ) , ++ f . pageCount ) ) , m = _ ; for ( var y = u - 1 , v = g , m = g , _ = null ; y >= - 1 ; -- y ) _ = e ( h [ y ] ) , _ && n ( m , _ . s ) || ! ( v . i < m . i ) || ( m = v , null == f . pagePrevDataIndex && ( f . pagePrevDataIndex = v . i ) , ++ f . pageCount , ++ f . pageIndex ) , v = _ ; return f } , n . prototype . _findTargetItemIndex = function ( t ) { if ( ! this . _showController ) return 0 ; var e , n , i = this . getContentGroup ( ) ; return i . eachChild ( function ( i , r ) { var o = i . _ _legendDataIndex ; null == n && null != o && ( n = r ) , o === t && ( e = r ) } ) , null != e ? e : n } , n . type = "legend.scroll" , n } ( lR ) ; Yd ( um ) ; var fR = kr ( ) , gR = s , yR = _x , vR = function ( ) { function t ( ) { this . _dragging = ! 1 , this . animationThreshold = 15 } return t . prototype . render = function ( t , e , n , i ) { var r = e . get ( "value" ) , o = e . get ( "status" ) ; if ( this . _axisModel = t , this . _axisPointerModel = e , this . _api = n , i || this . _lastValue !== r || this . _lastStatus !== o ) { this . _lastValue = r , this . _lastStatus = o ; var a = this . _group , s = this . _handle ; if ( ! o || "hide" === o ) return a && a . hide ( ) , void ( s && s . hide ( ) ) ; a && a . show ( ) , s && s . show ( ) ; var l = { } ; this . makeElOption ( l , r , t , e , n ) ; var u = l . graphicKey ; u !== this . _lastGra
if ( o ) { var a = o . style || { } , s = e . ensureState ( i ) , l = s . style || ( s . style = { } ) ; null != a . stroke && ( l [ e . _ _isEmptyBrush ? "stroke" : "fill" ] = a . stroke ) , null != a . opacity && ( l . opacity = a . opacity ) } } e . markRedraw ( ) } } , this ) ; var v = i . getRawValue ( e ) ; Gs ( this , l , { labelDataIndex : e , labelFetcher : { getFormattedLabel : function ( e , n ) { return i . getFormattedLabel ( e , n , t . dataType ) } } , inheritColor : g || "#000" , defaultOpacity : f . opacity , defaultText : ( null == v ? t . getName ( e ) : isFinite ( v ) ? Hi ( v ) : v ) + "" } ) ; var m = this . getTextContent ( ) ; if ( m ) { var _ = l . normal ; m . _ _align = m . style . align , m . _ _verticalAlign = m . style . verticalAlign , m . _ _position = _ . get ( "position" ) || "middle" ; var x = _ . get ( "distance" ) ; M ( x ) || ( x = [ x , x ] ) , m . _ _labelDistance = x } this . setTextConfig ( { position : null , local : ! 0 , inside : ! 1 } ) , Aa ( this , h , c , u ) } , n . prototype . highlight = function ( ) { ca ( this ) } , n . prototype . downplay = function ( ) { pa ( this ) } , n . prototype . updateLayout = function ( t , e ) { this . setLinePoints ( t . getItemLayout ( e ) ) } , n . prototype . setLinePoints = function ( t ) { var e = this . childOfName ( "line" ) ; L _ ( e . shape , t ) , e . dirty ( ) } , n . prototype . beforeUpdate = function ( ) { function t ( t , e ) { var n = t . _ _specifiedRotation ; if ( null == n ) { var i = s . tangentAt ( e ) ; t . attr ( "rotation" , ( 1 === e ? - 1 : 1 ) * Math . PI / 2 - Math . atan2 ( i [ 1 ] , i [ 0 ] ) ) } else t . attr ( "rotation" , n ) } var e = this , n = e . childOfName ( "fromSymbol" ) , i = e . childOfName ( "toSymbol" ) , r = e . getTextContent ( ) ; if ( n || i || r && ! r . ignore ) { for ( var o = 1 , a = this . parent ; a ; ) a . scaleX && ( o /= a . scaleX ) , a = a . parent ; var s = e . childOfName ( "line" ) ; if ( this . _ _dirty || s . _ _dirty ) { var l = s . shape . percent , u = s . pointAt ( 0 ) , h = s . pointAt ( l ) , c = re ( [ ] , h , u ) ; if ( ce ( c , c ) , n && ( n . setPosition ( u ) , t ( n , 0 ) , n . scaleX = n . scaleY = o * l , n . markRedraw ( ) ) , i && ( i . setPosition ( h ) , t ( i , 1 ) , i . scaleX = i . scaleY = o * l , i . markRedraw ( ) ) , r && ! r . ignore ) { r . x = r . y = 0 , r . originX = r . originY = 0 ; var p = void 0 , d = void 0 , f = r . _ _labelDistance , g = f [ 0 ] * o , y = f [ 1 ] * o , v = l / 2 , m = s . tangentAt ( v ) , _ = [ m [ 1 ] , - m [ 0 ] ] , x = s . pointAt ( v ) ; _ [ 1 ] > 0 && ( _ [ 0 ] = - _ [ 0 ] , _ [ 1 ] = - _ [ 1 ] ) ; var b = m [ 0 ] < 0 ? - 1 : 1 ; if ( "start" !== r . _ _position && "end" !== r . _ _position ) { var w = - Math . atan2 ( m [ 1 ] , m [ 0 ] ) ; h [ 0 ] < u [ 0 ] && ( w = Math . PI + w ) , r . rotation = w } var S = void 0 ; switch ( r . _ _position ) { case "insideStartTop" : case "insideMiddleTop" : case "insideEndTop" : case "middle" : S = - y , d = "bottom" ; break ; case "insideStartBottom" : case "insideMiddleBottom" : case "insideEndBottom" : S = y , d = "top" ; break ; default : S = 0 , d = "middle" } switch ( r . _ _position ) { case "end" : r . x = c [ 0 ] * g + h [ 0 ] , r . y = c [ 1 ] * y + h [ 1 ] , p = c [ 0 ] > . 8 ? "left" : c [ 0 ] < - . 8 ? "right" : "center" , d = c [ 1 ] > . 8 ? "top" : c [ 1 ] < - . 8 ? "bottom" : "middle" ; break ; case "start" : r . x = - c [ 0 ] * g + u [ 0 ] , r . y = - c [ 1 ] * y + u [ 1 ] , p = c [ 0 ] > . 8 ? "right" : c [ 0 ] < - . 8 ? "left" : "center" , d = c [ 1 ] > . 8 ? "bottom" : c [ 1 ] < - . 8 ? "top" : "middle" ; break ; case "insideStartTop" : case "insideStart" : case "insideStartBottom" : r . x = g * b + u [ 0 ] , r . y = u [ 1 ] + S , p = m [ 0 ] < 0 ? "right" : "left" , r . originX = - g * b , r . originY = - S ; break ; case "insideMiddleTop" : case "insideMiddle" : case "insideMiddleBottom" : case "middle" : r . x = x [ 0 ] , r . y = x [ 1 ] + S , p = "center" , r . originY = - S ; break ; case "insideEndTop" : case "insideEnd" : case "insideEndBottom" : r . x = - g * b + h [ 0 ] , r . y = h [ 1 ] + S , p = m [ 0 ] >= 0 ? "right" : "left" , r . originX = g * b , r . originY = - S } r . scaleX = r . scaleY = o , r . setStyle ( { verticalAlign : r . _ _verticalAlign || d , align : r . _ _align || p } ) } } } } , n } ( Sw ) , qR = function ( ) { function t ( t ) { this . group = new Sw , this . _LineCtor = t || ZR } return t . prototype . updateData = function ( t ) { var e = this ; this . _progressiveEls = null ; var n = this , i = n . group , r = n . _lineData ; n . _lineData = t , r || i . removeAll ( ) ; var o = O _ ( t ) ; t . diff ( r ) . add ( function ( n ) { e . _doAdd ( t , n , o ) } ) . update ( function ( n , i ) { e . _doUpdate ( r , t , i , n , o ) } ) . remove ( function ( t ) { i . remove ( r . getItemGraphicEl ( t ) ) } ) . execute ( ) } , t . prototype . updateLayout = function ( ) { var t = this . _lineData ; t && t . eachItemGraphicEl ( function ( e , n ) { e . updateLayout ( t , n ) } , this ) } , t . prototype . incrementalPrepareUpdate = function ( t ) { this . _seriesScope = O _ ( t ) , this . _lineData = null , this . group . removeAll ( ) } , t . prototype . incrementalUpdate = function ( t , e ) { function n ( t ) { t . isGroup || P _ ( t ) || ( t . incremental = ! 0 , t . ensureState ( "emphasis" ) . hoverLayer = ! 0 ) } this . _progressiveEls = [ ] ; for ( var i = t . start ; i < t . end ; i ++ ) { var r = e . getItemLayout ( i ) ; if ( N _ ( r ) ) { var o = new this . _LineCtor ( e , i , this . _seriesScope ) ; o . traverse ( n ) , this . group . add ( o ) , e . setItemGraphicEl ( i , o ) , this . _progressiveEls . push ( o ) } } } , t . prototype . remove = function ( ) { this . group . removeAll ( ) } , t . prototype . eachRendered = function ( t ) { Bs ( this . _progressiveEls || thi